Skip to content

Commit f37b292

Browse files
committed
docs: Update CHANGELOG.md with comprehensive v2.2.0 release notes
1 parent 5ae683a commit f37b292

1 file changed

Lines changed: 164 additions & 23 deletions

File tree

CHANGELOG.md

Lines changed: 164 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,171 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [2.2.0] - 2026-02-01
9-
10-
### Added
11-
- **High-Performance Worker Daemon**: Introduced with an idle worker pool to provide near-zero latency for isolated process execution.
12-
- **Hardware Atomics C Extension**: Added an optional C extension () for HFT-grade atomic operations (CAS, load, store), with a pure Python fallback.
13-
- **Fully Automated Conda-Forge CI/CD**: New GitHub Actions workflow that automatically creates and merges PRs to the conda-forge feedstock upon a new release.
14-
- **New Demo Documentation**: Added to document the concurrent testing capabilities.
15-
16-
### Changed
17-
- **Architecture**: Replaced the legacy and with the new centralized daemon logic.
18-
- **Internationalization (i18n)**: Massively expanded translatable strings across the entire codebase, including core, CLI, and utilities.
19-
- **Resource Monitor**: is now daemon-aware and queries the API for a reliable PID-to-package mapping.
20-
- **Setup**: has been enhanced to handle the optional compilation of the C extension.
21-
- **Bubble Verification**: now intelligently includes dependency bubbles during import tests (e.g., providing to ).
22-
- **Web UI**: Removed telemetry and proxy logic from for a simpler, direct-to-localhost connection model.
23-
24-
### Fixed
25-
- **Dev Tools**: The script was fixed to handle multiple placeholders on a single line and preserve contextual commands.
26-
- **Flask Tests**: Corrected a variable shadowing bug where a throwaway variable overwrote the translation function.
27-
28-
### Removed
29-
- **Obsolete Modules**: Deleted , , and as their functionality is replaced or integrated elsewhere.
30-
- **Obsolete Tests**: Removed numerous old test files that are no longer relevant to the new architecture, including , , , and others.
8+
## [2.2.0] - 2026-02-09
9+
10+
### 🔥 BREAKING CHANGES
11+
12+
**Global Interpreter State Removed - Per-Process Isolation Architecture**
13+
14+
This is the most fundamental architectural change in omnipkg history. The entire global state mutation system (symlinks + single config) has been replaced with per-process isolation via shims.
15+
16+
**What Changed:**
17+
- **OLD:** `omnipkg swap python 3.10` modified global symlinks, affecting ALL terminal sessions
18+
- **NEW:** `omnipkg swap python 3.10` spawns an isolated subshell with shims, affecting ONLY that shell/process
19+
- **Migration Required:** Update workflows to use `omnipkg swap python <version>` for interactive shells or version aliases (`8pkg311`, `8pkg310`) for one-shot commands
20+
21+
### 🚀 Major Features
22+
23+
#### Per-Process Python Isolation
24+
Complete architectural redesign eliminating global state pollution:
25+
- **Version-Aware Dispatcher:** CLI now uses `omnipkg.dispatcher:main` for intelligent routing
26+
- **Per-Interpreter Configs:** Each Python stores its own `.omnipkg_config.json` in its bin/ directory
27+
- **Shim-Based Routing:** Shims intercept python calls, read `OMNIPKG_PYTHON` env var, route to correct interpreter
28+
- **Isolated Subshells:** `omnipkg swap python` spawns isolated subshell with shim PATH prefix
29+
- **Version Aliases:** New `8pkg311`, `8pkg310`, etc. commands inject `--python` flag for one-shot operations
30+
- **Smart Cleanup:** Logic ignores leaked `OMNIPKG_PYTHON` when shell/conda env changes
31+
32+
**Shell Isolation Example:**
33+
```bash
34+
$ python --version → 3.11
35+
$ 8pkg swap python 3.10 → new shell
36+
$ python --version → 3.10
37+
$ exit
38+
$ python --version → 3.11
39+
$ 8pkg311 info python → one-shot in 3.11
40+
```
41+
42+
#### Quantum Healing - Finally Fixed!
43+
The quantum healing system now actually works:
44+
- **Proper Activation:** Now triggers during install validation on incompatible Python versions
45+
- **Auto-Swap Example:** Installing TF 2.20 on Python 3.11 → auto-swap to 3.13 → install → swap back
46+
- **Healing Flag:** Uses `_OMNIPKG_QUANTUM_HEALING` to distinguish automated vs user-initiated swaps
47+
- **Context Preservation:** Shell context fully preserved — returns to original Python after healing
48+
49+
#### High-Performance Worker Daemon
50+
Replaced on-demand workers with persistent `WorkerPoolDaemon`:
51+
- **Sub-millisecond Latency:** Eliminates cold-start overhead for package execution
52+
- **Per-Python Pools:** Daemon idle pools now per-python version → prevents version mismatch races
53+
- **Environment Isolation:** `PersistentWorker` scrubs `LD_LIBRARY_PATH`/`PYTHONPATH` → fixes torch import contamination
54+
- **Improved Lifecycle:** Better process isolation and resource management
55+
56+
#### Hardware-Accelerated Atomic Operations
57+
Optional C extension (`omnipkg_atomic`) for HFT-grade concurrency:
58+
- **Native CPU Atomics:** Compare-and-swap (CAS) operations using native CPU atomic instructions
59+
- **Lock-Free Data Structures:** Zero-overhead abstraction
60+
- **Graceful Degradation:** Automatic fallback to pure-Python implementation when compilation unavailable
61+
62+
#### Fully Automated Conda-Forge Pipeline
63+
End-to-end automation for conda-forge distribution:
64+
1. Monitors PyPI publication
65+
2. Computes package SHA256 checksums
66+
3. Generates conda-forge feedstock pull requests
67+
4. Validates CI/CD test results
68+
5. Auto-merges upon successful validation
69+
6. Manages multi-platform build orchestration
70+
71+
### ✨ Key Improvements
72+
73+
#### System Compatibility & Stability
74+
- **Non-Interactive Detection:** Auto-detects TTY/CI/Docker/first-setup → no subshell in pipelines
75+
- **ABI Fixes:** Dependency constraints, numpy dtype size errors resolved
76+
- **Python 3.15 Support:** Full Python 3.15.0a5 support + safety skipping on 3.15+
77+
- **Dependency Constraints:** New `dependency_constraints.py` module for ABI compatibility
78+
79+
#### Testing & Quality Assurance
80+
- **Modernized Test Suite:** DaemonProxy everywhere, warmup phase, tensor math in circular switching
81+
- **Production Benchmarks:** Focused on real-world performance validation
82+
- **Refactored Architecture:** Aligned with new daemon architecture
83+
- **Removed Obsolete Tests:** Cleaned up `quantum_chaos.py`, `test_multiverse_analysis.py`, `test_native_ipc_proper.py`, and 6 other deprecated test files
84+
85+
#### Internationalization (i18n)
86+
- **Massive Translation Expansion:** ~2k Arabic/Amharic strings via AI consensus chain
87+
- **26 Languages Updated:** All locale files regenerated with new strings
88+
- **Binary Size Reduction:** .mo files optimized (e.g., zh_CN: 21KB → 15KB)
89+
90+
#### CI/CD Enhancements
91+
- **Windows Daemon Hardening:** Polling fixes, deadlock resolution
92+
- **New Workflows:** `no-paid-scanners.yml`, `windows_daemon_debug.yml` (269 lines)
93+
- **Cross-Interpreter Testing:** Enhanced validation across Python versions
94+
95+
#### Intelligent Resource Monitoring
96+
- **Daemon-Aware Monitoring:** `omnipkg daemon monitor` queries API for real-time worker pool status
97+
- **Accurate Process Tracking:** Reliable PID-to-package mapping
98+
99+
#### Dependency-Aware Verification
100+
- **Transitive Dependency Support:** Verification includes dependency bubbles (e.g., providing TensorFlow when verifying Keras)
101+
- **Smarter Import Tests:** `verification_strategy.py` enhanced with 294 line changes
102+
103+
#### Integrated Historical Package Support
104+
- **Consolidated Time-Machine:** Functionality integrated directly into core installation logic
105+
- **Removed Separate Module:** Deleted `deptimemachine.py` (346 lines)
106+
107+
### 🗑️ Code Quality & Cleanup
108+
109+
#### Architectural Simplification
110+
- **Removed Deprecated Modules:**
111+
- `worker_controller.py` (340 lines) → Replaced by centralized daemon
112+
- `deptimemachine.py` (346 lines) → Integrated into core
113+
- `lockmanager.py` (49 lines) → Replaced by atomic operations
114+
- **Consolidated Logic:** Daemon logic centralized in `worker_daemon.py`
115+
- **Removed Obsolete Tests:** 9 test files deleted (1,167 lines total)
116+
117+
#### Statistics (v2.1.2 → v2.2.0)
118+
**Excluding locale files:**
119+
- Files changed: 75
120+
- Insertions: +7,255
121+
- Deletions: -5,145
122+
- **Net: +2,110 lines of production code**
123+
124+
**Including locale files:**
125+
- Files changed: 125
126+
- Insertions: +184,067
127+
- Deletions: -85,770
128+
- **Net: +98,297 lines total** (~96k from i18n updates across 26 languages)
129+
130+
### 🐛 Bug Fixes & Resolved Issues
131+
132+
**Closes:**
133+
- Global state pollution across terminal sessions
134+
- Quantum healing activation failures
135+
- ABI/worker contamination issues
136+
- CI deadlocks on Windows
137+
- Interactive CI hangs in non-TTY environments
138+
- Version mismatch races in daemon pools
139+
- Torch import contamination from environment variables
140+
141+
### 📝 Upgrade Instructions
142+
```bash
143+
# Standard upgrade
144+
pip install --upgrade omnipkg
145+
# or
146+
conda install -c conda-forge omnipkg
147+
148+
# Restart daemon (recommended for daemon users)
149+
omnipkg daemon stop && omnipkg daemon start
150+
```
151+
152+
**Migration Notes:**
153+
1. **Global Switching Removed:** If you relied on global Python switching, update to use:
154+
- `omnipkg swap python <version>` for interactive shells
155+
- Version aliases (`8pkg311`, `8pkg310`) for scripts/one-shot commands
156+
2. **Subshell Behavior:** `swap` now spawns isolated subshells; use `exit` to return to original context
157+
3. **Config Location:** Configs now per-interpreter in `<python>/bin/.omnipkg_config.json`
158+
159+
### 🎯 What's Next
160+
161+
The per-process isolation architecture is the foundation for:
162+
- **True Process Sandboxing:** Each package runs in completely isolated context
163+
- **Parallel Multi-Version:** Run Python 3.8, 3.11, 3.13 simultaneously without interference
164+
- **Enhanced Security:** No global state = no cross-contamination
165+
166+
### 🙏 Acknowledgments
167+
168+
This release represents months of architectural redesign and over 75 files touched. Special thanks to the CI infrastructure for catching edge cases across 70+ platform builds.
169+
170+
**All CI green ✅**
31171

172+
---
32173
## [2.1.1] - 2026-01-07
33174

34175
### 🔥 Critical Fix

0 commit comments

Comments
 (0)