You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -5,30 +5,171 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
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
-**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
-**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.
0 commit comments