This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
ReleasePort's take
Light signalThe YantrikDB release v0.7.11 upgrades pyo3 to 0.28.3 and adds PyObject as a local type alias for Python 3.14 compatibility.
Why it matters: Patch YantrikDB projects immediately if they target Python 3.14, because the pyo3 upgrade (0.23 → 0.28.3) resolves ABI mismatches that could cause crashes in affected bindings.
Summary
AI summarypyo3 upgraded from 0.23 to 0.28.3 and PyObject reintroduced as a local type alias for Python 3.14 compatibility
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Added Programming Language :: Python :: 3.14 classifier to Trove classifiers. Added Programming Language :: Python :: 3.14 classifier to Trove classifiers. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
pyo3 version upgraded from 0.23 to 0.28.3. pyo3 version upgraded from 0.23 to 0.28.3. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Dependency | Medium |
CI wheel matrix now includes python3.14 builds. CI wheel matrix now includes python3.14 builds. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Reintroduced PyObject as local type alias in 10 binding files. Reintroduced PyObject as local type alias in 10 binding files. Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
Closes yantrikos/yantrikdb-hermes-plugin#3 — no whl for python3.14, and addresses the driver behind closed PR #11 from donbowman.
Driver
Ubuntu 26.04 defaults to python3.14. pip install yantrikdb was failing at the maturin build path because pyo3 0.23's max-supported Python was 3.13. Real driver, real workaround friction.
What's in v0.7.11
-
pyo3 0.23 → 0.28.3 (5 minor versions). Brings in Bound<'py, T> API additions, removed PyObject from prelude, deprecation warnings for FromPyObject on pyclass+Clone types.
-
PyObject reintroduced as local type alias in 10 binding files:
type PyObject = pyo3::Py<pyo3::PyAny>;pyo3 0.28 removed the top-level PyObject alias;
Py<PyAny>is the canonical equivalent. Per-file local typedef kept the migration surgical — no code-call-site changes across existingPyResult<PyObject>andPyResult<Vec<PyObject>>return types. -
CI wheel matrix adds python3.14:
args: --release --out dist -i python3.10 python3.11 python3.12 python3.13 python3.14 -
Trove classifiers add
Programming Language :: Python :: 3.14in both pyproject.toml files.
Verified locally
cargo check -p yantrikdb-python: clean (5 pyo3 deprecation warnings, all forward-looking, none actionable for this hotfix)cargo build -p yantrikdb-python: cleancargo test -p yantrikdb --lib: 1422 tests pass
What's unchanged
- Public Python API surface: NO changes.
with_default(),record_text(),recall_text(),set_embedder_named(),has_embedder()all keep their signatures. - Engine code: NO changes.
- Binding behavior: NO changes. The typedef is a name only.
Future work (v0.8.x scope)
- Migrate
#[pyclass]+Clonedeclarations to opt-in/opt-out FromPyObject (1 warning in py_triggers.rs). Backward-compatible warning, not an error in pyo3 0.28. - Migrate to
Bound<'py, T>idioms for borrowed references where applicable. Current code uses ownedPy<T>+Python<'_>which still works but is the older idiom.
Note on PR #11 by donbowman
PR #11 was closed earlier today because the 2-line version bump alone left 120 errors. The actual migration needed (PyObject typedef) is what landed here. The license syntax change in #11 wasn't adopted — current license = "AGPL-3.0-only" (SPDX expression form, PEP 639) is valid; the table-form switch in the PR was a regression to deprecated syntax.
🤖 Generated with Claude Code
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About YantrikDB
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]