Skip to content

Commit c427536

Browse files
committed
chore: release v3.1.0
1 parent 974f417 commit c427536

2 files changed

Lines changed: 48 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [3.1.0] — 2026-04-24
11+
12+
The Unified Daemon & IPC Synchronization Release
13+
14+
**The Unified Daemon & IPC Synchronization Release**
15+
16+
This release resolves critical synchronization bugs between the master daemon and managed worker subprocesses, ensuring perfect cache coherency and file system tracking across all supported Python versions (3.7 - 3.15).
17+
18+
* **Per-Interpreter Native Extensions:** Removed the static FFI import fallback. Omnipkg now dynamically searches the running interpreter's `site-packages` and natively loads the correct `uv_ffi.abi3.so` wheel for that specific Python version. This guarantees the FFI engine operates on the correct memory space and layout for the target environment, rather than blindly defaulting to the daemon's native extension.
19+
20+
* **Unified Socket Routing:** Fixed a bug where managed worker subprocesses would attempt to compute their own isolated daemon hash (which didn't exist) instead of communicating with the master daemon. All managed workers now inherit `OMNIPKG_ENV_ID_OVERRIDE`, ensuring they route their `start_omnipkg_op` and `end_omnipkg_op` signals directly to the native master daemon.
21+
* **Microsecond Filesystem Snapshots:** Overhauled the `MtimeFallbackWatcher`. It now takes a high-precision snapshot of the environment *immediately* upon receiving the `START` signal. At the `END` signal, it diffs this baseline against the post-op state and unions the result with the official FFI changelog. This guarantees zero dropped events and completely eliminates false-positive "External Culprit" warnings during ultra-fast (<100ms) FFI installs.
22+
* **Surgical Cache Patching:** The Python wrapper now sends precise, name+version parsed deltas to the daemon for `patch_site_packages_cache`, avoiding expensive full-cache invalidations whenever possible.
23+
24+
* **Submodule Versioning:** Bumped the `uv-ffi` floor requirement to `v0.10.8.post7`. The Python wrapper has been cleaned up and strictly expects the modern 4-tuple return signature (`rc, inst, rem, err`).
25+
26+
---
27+
28+
**📝 Code Changes:**
29+
- UPDATE: src/omnipkg/_vendor/uv_ffi/__init__.py (92 lines changed)
30+
- UPDATE: src/omnipkg/core.py (134 lines changed)
31+
- UPDATE: src/omnipkg/isolation/fs_watcher.py (257 lines changed)
32+
- UPDATE: src/omnipkg/isolation/worker_daemon.py (1 lines changed)
33+
34+
**⚙️ Configuration:**
35+
- pyproject.toml (2 lines)
36+
37+
**Additional Changes:**
38+
- chore: update toml to prepare for release
39+
- feat: fix uv-ffi per-interpreter .so loading and daemon IPC for managed workers
40+
41+
**Bug Fixes:**
42+
- fix: resolve daemon interactivity and stream fileno crashes
43+
- fix: rename locale -> locales to prevent stdlib shadowing on py3.11
44+
- fix: prevent setup-miniconda from nuking host shell profiles on self-hosted runner
45+
46+
**Updates:**
47+
- Update macOS runners and Python versions in workflow
48+
- Update build requirements in meta-platforms.yaml
49+
- Update cibuildwheel version to v2.23.0
50+
- Update publish2.yml
51+
- Update GitHub Actions workflow for wheel building
52+
- Update Python versions and improve wheel build process
53+
- Update ARM32 verification workflow with permissions
54+
55+
_72 files changed, 926 insertions(+), 801 deletions(-)_
56+
1057
## [3.0.0] — 2026-04-16
1158

1259
The Reproducible State Engine & Native C-Dispatcher Update

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ backend-path = ["."]
66

77
[project]
88
name = "omnipkg"
9-
version = "3.0.0"
9+
version = "3.1.0"
1010
authors = [
1111
{ name = "1minds3t", email = "1minds3t@proton.me" },
1212
]

0 commit comments

Comments
 (0)