Skip to content

Commit e70597c

Browse files
committed
chore: release v3.3.0
1 parent a3cb734 commit e70597c

2 files changed

Lines changed: 65 additions & 1 deletion

File tree

CHANGELOG.md

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

88
---
99

10+
## [3.3.0] — 2026-05-04
11+
12+
State Healing, Strict ABI Protection, and High-Performance C Dispatch
13+
14+
We are proud to release **omnipkg v3.3.0**. This release represents a massive milestone in environmental determinism, memory-safe package management, and raw execution performance.
15+
16+
By pairing forensic filesystem checks with ultra-low latency C-extensions and strict process-isolated worker daemons, v3.3.0 guarantees that your Python runtimes remain perfectly clean, conflict-free, and incredibly fast.
17+
18+
---
19+
20+
Raw runs of standard package managers (`pip`, `uv`) frequently leave orphaned `.dist-info` folders behind when swapping package versions, causing Python’s metadata collectors to report multiple active versions of the same library simultaneously (environmental "schizophrenia").
21+
* **Ground-Truth Healing**: The upgraded `8pkg heal` command now performs a deep `site-packages` audit. It cross-references duplicate `.dist-info` folders by importing modules live to determine the physical code execution truth.
22+
* **Metadata Quarantine**: Orphaned metadata directories ("ghosts") are automatically swept away and cleanly registered as fallback bubbles, restoring absolute sanity to your system package registries.
23+
24+
Version-switching packages with deep C-extensions (NumPy, PyTorch, TensorFlow, SciPy) inside a single process is historically a recipe for segmentation faults, because the OS dynamic linker cannot cleanly reload a mapped `.so` library in-process.
25+
* **Contamination Tracking**: Daemon workers now strictly monitor if any sensitive binary ABI libraries have been loaded into memory during a task.
26+
* **Proactive Process Eviction**: If a worker becomes "contaminated" by loading an ABI-sensitive package, it is immediately evicted from the idle pool instead of being recycled. A fresh, clean worker is spawned for subsequent runs, entirely eliminating segfault risks and state contamination.
27+
* **BFS Dependency Slices**: Improved the metadata builder to use a BFS-walk on the exact `Requires-Dist` tree of nested packages. This ensures nested bubbles only declare and snapshot their *true* transitive closure, rather than bleeding parent packages' unrelated dependencies.
28+
29+
We re-engineered the lowest level of our invocation pipeline to minimize operating system context-switching and system call overhead.
30+
* **Buffered JSON Unescaping**: Rewrote the C-dispatcher's (`dispatcher.c`) JSON parser to decode data directly into a highly-optimized 64KB stack buffer. This avoids the hundred-plus single-character `write()` and `fputc()` syscalls previously generated per daemon packet, resulting in massive speedups in hot-path CLI routing.
31+
* **Linux Real-Time Scheduling (`SCHED_FIFO`)**: On Linux hosts, the worker daemon now attempts to elevate its execution priority to `SCHED_FIFO` (real-time FIFO scheduler with priority 10), dropping orchestration overhead and process-switching latency to near-zero.
32+
33+
* **Coordinated Package Locks (`fs_lock_queue`)**: Replaced loose filesystem moves and disparate file locks with a centralized, re-entrant, atomic locking queue. Multiple threads or processes attempting to activate or cloak different versions of the same library (such as TensorFlow 2.12 vs 2.13) are serialized gracefully to prevent filesystem race conditions.
34+
* **Nested Overlay Fast Path**: Nested `omnipkgLoader` contexts within daemon workers now execute a lightning-fast in-memory path, bypassing heavy filesystem lock routines. Nested bubble activations now cost **<1ms** (down from 100+ms).
35+
36+
* **Arch Compat Bootstrap**: When managed Python runtimes are bootstrapped on modern Linux distributions (such as Arch Linux) where legacy `libcrypt.so.1` has been removed from system libraries, `omnipkg` now automatically intercepts the dynamic link loader crash, resolves the distro-specific compatibility library (e.g., `libxcrypt-compat` via pacman), and auto-installs it non-interactively via the system package manager.
37+
* **Bubble Path Normalization**: Fixed path resolution fallback logic to correctly match and swap bubble paths on disk regardless of whether they are declared using hyphens or underscores (e.g., mapping `aiohttp-3.8.4` dynamically to `aiohttp_3.8.4` namespaces).
38+
39+
---
40+
41+
---
42+
43+
**📝 Code Changes:**
44+
- UPDATE: src/omnipkg/_vendor/uv_ffi/__init__.py (36 lines changed)
45+
- UPDATE: src/omnipkg/commands/run.py (24 lines changed)
46+
- UPDATE: src/omnipkg/core.py (342 lines changed)
47+
- UPDATE: src/omnipkg/dispatcher.c (238 lines changed)
48+
- UPDATE: src/omnipkg/installation/verification_strategy.py (2 lines changed)
49+
- UPDATE: src/omnipkg/isolation/patchers.py (4 lines changed)
50+
- UPDATE: src/omnipkg/isolation/worker_daemon.py (209 lines changed)
51+
- UPDATE: src/omnipkg/loader.py (2372 lines changed)
52+
53+
**🧪 Tests:**
54+
- UPDATE: src/tests/test_multiverse_healing.py (22 lines)
55+
- UPDATE: src/tests/test_tensorflow_switching.py (24 lines)
56+
57+
**⚙️ Configuration:**
58+
- pyproject.toml
59+
60+
**Additional Changes:**
61+
- Update configuration
62+
- fix: fix state schizophrenia by exorcising duplicate dist-info ghosts and fix strict mode sys.path
63+
- perf: optimize dispatcher latency
64+
- feat(loader, daemon): Implement strict ABI contamination tracking and worker isolation
65+
- fix: remove timeout to support long-running tasks
66+
- fix: Update 1 code files
67+
- fix(runtime): auto-install missing libcrypt compat for managed Python on Arch
68+
69+
**Bug Fixes:**
70+
- fix: nested pkg resolved_bubble_deps now BFS-walks own dep tree only
71+
72+
_15 files changed, 2748 insertions(+), 647 deletions(-)_
73+
1074
## [3.2.2] — 2026-05-04
1175

1276
State Healing, Strict ABI Protection, and High-Performance C Dispatch

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.2.1"
9+
version = "3.3.0"
1010
authors = [
1111
{ name = "1minds3t", email = "1minds3t@proton.me" },
1212
]

0 commit comments

Comments
 (0)