Skip to content
This repository was archived by the owner on May 27, 2026. It is now read-only.

Commit f15011e

Browse files
committed
chore: release extension 0.11.2 (#886)
1 parent 92b8084 commit f15011e

17 files changed

Lines changed: 46651 additions & 3 deletions

projects/extension/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ RUN set -e; \
2121
git \
2222
curl \
2323
vim \
24+
build-essential \
2425
&& curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin/
2526

2627
# install timescaledb

projects/extension/RELEASE_NOTES.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Pgai extension release notes
22

3+
## 0.11.2 (2025-10-14)
4+
5+
### Fixes
6+
7+
Use lockfile when installing prior versions when running the install-all
8+
command.
9+
310
## 0.11.1 (2025-08-06)
411

512
### Fixes

projects/extension/ai/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.11.2-dev"
1+
__version__ = "0.11.2"

projects/extension/build.py

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,20 @@ def install_prior_py() -> None:
144144
)
145145
tmp_src_dir = tmp_dir.joinpath("projects", "extension").resolve()
146146
requirements_lock = tmp_src_dir.joinpath("requirements-lock.txt")
147+
requirements_txt = tmp_src_dir.joinpath("requirements.txt")
148+
149+
# If requirements.txt exists, add pydantic constraints to avoid broken versions
150+
if requirements_txt.exists():
151+
content = requirements_txt.read_text()
152+
additions = []
153+
if "pydantic==" not in content.lower():
154+
additions.append("pydantic==2.10.5")
155+
if "pydantic-core==" not in content.lower():
156+
additions.append("pydantic-core==2.27.2")
157+
if additions:
158+
requirements_txt.write_text(
159+
content + "\n" + "\n".join(additions) + "\n"
160+
)
147161

148162
# Generate requirements-lock.txt if it doesn't exist
149163
if not requirements_lock.exists():
@@ -168,6 +182,15 @@ def install_prior_py() -> None:
168182
env=os.environ,
169183
cwd=str(tmp_src_dir),
170184
)
185+
186+
cmd = f'{bin} install -v --compile --target "{version_target_dir}" "{tmp_src_dir}"'
187+
subprocess.run(
188+
cmd,
189+
check=True,
190+
shell=True,
191+
env=os.environ,
192+
cwd=str(tmp_src_dir),
193+
)
171194
finally:
172195
shutil.rmtree(tmp_dir)
173196

@@ -199,7 +222,16 @@ def install_py() -> None:
199222
)
200223
else:
201224
version_target_dir.mkdir(exist_ok=True)
225+
requirements_lock = ext_dir().joinpath("requirements-lock.txt")
202226
bin = "pip3" if shutil.which("uv") is None else "uv pip"
227+
cmd = f'{bin} install -v --compile --target "{version_target_dir}" -r "{requirements_lock}"'
228+
subprocess.run(
229+
cmd,
230+
check=True,
231+
shell=True,
232+
env=os.environ,
233+
cwd=str(ext_dir()),
234+
)
203235
cmd = f'{bin} install -v --compile --target "{version_target_dir}" "{ext_dir()}"'
204236
subprocess.run(
205237
cmd,
@@ -544,7 +576,7 @@ def run() -> None:
544576
def versions() -> list[str]:
545577
# ADD NEW VERSIONS TO THE FRONT OF THIS LIST! STAY SORTED PLEASE
546578
return [
547-
"0.11.2-dev",
579+
"0.11.2", # released
548580
"0.11.1", # released
549581
"0.11.0", # released
550582
"0.10.1", # released

0 commit comments

Comments
 (0)