Skip to content

Commit 49f5a35

Browse files
committed
release: Prepare for v1.5.8
1 parent 1cc035b commit 49f5a35

File tree

1 file changed

+174
-0
lines changed

1 file changed

+174
-0
lines changed

CHANGELOG.md

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,179 @@
11
# Changelog
22

3+
# Changelog
4+
5+
## [1.5.8] - 2025-10-26
6+
7+
### 🌟 Major New Features
8+
9+
#### 🌌 Quantum Healing for Python Versions
10+
The most groundbreaking feature in `omnipkg` history: **automatic Python version conflict resolution**. When a package is incompatible with your current Python version, `omnipkg` now:
11+
- Automatically detects the version incompatibility
12+
- Finds a compatible Python version
13+
- Adopts or downloads the required interpreter
14+
- Switches the environment context seamlessly
15+
- Retries the installation—all in a single command with **zero user intervention**
16+
17+
No more cryptic "requires Python <3.11" errors. Just install and go.
18+
19+
#### 🤖 AI Import Healer
20+
A revolutionary pre-script utility that automatically detects and removes AI-generated "hallucinated" placeholder imports like `from your_file import ...`. This prevents an entire class of frustrating runtime errors caused by AI code assistants suggesting non-existent modules.
21+
22+
#### ⚡️ Ultra-Fast Preflight Checks
23+
Installation is now **dramatically faster** for already-satisfied packages:
24+
- Sub-millisecond satisfaction checks before initializing the full dependency resolver
25+
- Runs with already-installed packages are now nearly instantaneous
26+
- Massive performance improvement for CI/CD pipelines and repeated installs
27+
28+
### ✨ New Features & Enhancements
29+
30+
- **Flask Port Finder & Auto-Healing**: New advanced demo utility that finds open ports for Flask applications and automatically heals missing dependencies during test runs
31+
- **Comprehensive `upgrade` Command**: Fully implemented `omnipkg upgrade` for both self-upgrades and upgrading any managed package
32+
- **Enhanced `run` Command**:
33+
- Added `--verbose` flag for detailed execution logging
34+
- Clearer AI-facing status messages for success, test failures, and healing attempts
35+
- Better integration with automated workflows
36+
- **Concurrency Optimization**: Test suite now runs concurrent tests in under 500ms by eliminating unnecessary subprocess calls
37+
38+
### 🐛 Bug Fixes
39+
40+
- **Critical Windows Socket Fix**: Resolved socket handling issues in the `run` command on Windows platforms
41+
- **First-Time Setup**: Fixed `AttributeError` that could occur during initial environment setup
42+
- **Uninstall Reliability**: Fixed edge cases where the `uninstall` command could fail
43+
- **Self-Upgrade Logic**: Improved to work correctly for both standard and editable developer installs
44+
- **Dependency Resolver**: Added fallbacks and better error handling for PyPI queries
45+
- **Path Integrity**: Fixed path handling to preserve native Python environment integrity during context swaps
46+
- **Loader TypeError**: Resolved loader issues and prevented recursive `omnipkg` calls within bubbles
47+
48+
### 🔧 CI/CD & Development Experience
49+
50+
#### 🚀 Massive CI Expansion
51+
Added **10+ new GitHub Actions workflows** for comprehensive automated testing:
52+
- Package upgrade testing across multiple scenarios
53+
- Cross-interpreter installation tests (Quantum Healing validation)
54+
- `omnipkg` self-upgrade verification
55+
- Flask port finder and auto-healing demos
56+
- Windows concurrency stress tests
57+
- Automatic Docker image builds and pushes to Docker Hub and GHCR on release
58+
- **Parallel Python Priming on Windows**: Environments now prime in parallel, dramatically speeding up CI runs
59+
60+
#### 🤖 Automation Improvements
61+
- **Auto-Update `requirements.txt`**: CI automatically updates `requirements.txt` via `pip-compile` when `pyproject.toml` changes
62+
- **Enhanced Test Suite**: Complete refactor for better robustness, debugging capabilities, and performance
63+
- **Better Error Reporting**: More actionable error messages and clearer failure indicators
64+
65+
### 🏗️ Architecture & Refactoring
66+
67+
- **Core Installation Overhaul**: Completely redesigned installation logic for better performance and reliability
68+
- **Unified Run/Loader Logic**: Synced and refactored from the `developer-port` branch for consistency
69+
- **Security Scanning**: Improved with `pip-audit` fallback for better vulnerability detection
70+
- **Code Organization**: Improved project structure, documentation, and file organization
71+
- **Cleaned Up Repo**: Removed obsolete files and consolidated commit identities
72+
73+
### 📊 Statistics
74+
75+
- **100+ commits** merged since v1.5.7
76+
- **28 files changed**
77+
- **5,096 insertions**, 1,340 deletions (net +3,756 lines)
78+
- **10+ new CI/CD workflows**
79+
- Test suite performance improved by **>90%** for concurrent operations
80+
81+
### 🎯 Breaking Changes
82+
83+
None! This release maintains full backward compatibility with v1.5.7.
84+
85+
### 📝 Notes
86+
87+
This is the largest single release in `omnipkg` history, representing months of development across performance, reliability, and developer experience. The Quantum Healing feature alone represents a paradigm shift in how Python package managers handle version conflicts.
88+
89+
Special thanks to everyone who tested the development branches and provided feedback on the new features.
90+
91+
---
92+
93+
## [1.3.0] - 2025-09-06
94+
95+
### Added
96+
- **`omnipkg run` Command:** A powerful new way to execute scripts. Features automatic detection of runtime `AssertionError`s for package versions and "auto-heals" the script by re-running it inside a temporary bubble.
97+
- **Automatic Python Provisioning:** Scripts can now ensure required Python interpreters are available, with `omnipkg` automatically running `python adopt` if a version is missing.
98+
- **Performance Timers:** The `multiverse_analysis` test script now instruments and reports on the speed of dimension swaps and package preparation.
99+
100+
### Changed
101+
- **Major Performance Boost:** The knowledge base sync and package satisfaction checks are now dramatically faster, using single subprocess calls to validate the entire environment, reducing checks from many seconds to milliseconds.
102+
- **Quieter Logging:** The bubble creation process is now significantly less verbose during large, multi-dependency installations, providing clean, high-level summaries instead.
103+
- **CLI Refactoring:** Command logic for `run` has been moved to the new `omnipkg/commands/` directory for better structure.
104+
105+
### Fixed
106+
- **Critical Context Bug:** The knowledge base is now always updated by the correct Python interpreter context, especially after a `swap` or during scripted installs, ensuring data for different Python versions is stored correctly.
107+
108+
## v.1.2.1
109+
110+
omnipkg v1.2.1: The Phoenix Release — True Multi-Interpreter Freedom
111+
112+
omnipkg v1.2.1: The Phoenix Release 🚀
113+
This is the release we've been fighting for.
114+
115+
In a previous version (v1.0.8), we introduced a groundbreaking but ultimately unstable feature: Python interpreter hot-swapping. The immense complexity of managing multiple live contexts led to critical bugs, forcing a difficult but necessary rollback. We promised to return to this challenge once the architecture was right.
116+
117+
Today, the architecture is right. Version 1.2.1 delivers on that promise, rising from the ashes of that challenge.
118+
119+
This release introduces a completely re-imagined and bulletproof architecture for multi-interpreter management. It solves the core problems of state, context, and user experience that make this feature so difficult. The impossible is now a stable, intuitive reality.
120+
121+
🔥 Your Environment, Your Rules. Finally.
122+
omnipkg now provides a seamless and robust experience for managing and switching between multiple Python versions within a single environment, starting from the very first command.
123+
124+
1. Zero-Friction First Run: Native Python is Now a First-Class Citizen
125+
The single biggest point of friction for new users has been eliminated. On its very first run, omnipkg now automatically adopts the user's native Python interpreter, making it a fully managed and swappable version from the moment you start.
126+
127+
Start in Python 3.12? omnipkg recognizes it, registers it, and you can always omnipkg swap python 3.12 right back to it.
128+
No more getting "stuck" after a version switch.
129+
No more being forced to re-download a Python version you already have.
130+
2. The Python 3.11 "Control Plane": A Guarantee of Stability
131+
Behind the scenes, omnipkg establishes a managed Python 3.11 environment to act as its "Control Plane." This is our guarantee of stability. All sensitive operations, especially the creation of package bubbles, are now executed within this known-good context.
132+
133+
Solves Real-World Problems: This fixes critical failures where a user on a newer Python (e.g., 3.12) couldn't create bubbles for packages that only supported older versions (e.g., tensorflow==2.13.0).
134+
Predictable & Reliable: Bubble creation is now 100% reliable, regardless of your shell's active Python version.
135+
3. Smart, Safe Architecture
136+
omnipkg runs in your active context, as you'd expect.
137+
Tools that require a specific context (like our test suite) now explicitly and safely request it, making operations transparent and reliable.
138+
What This Means
139+
The journey to this release was a battle against one of the hardest problems in environment management. By solving it, we have created a tool that is not only more powerful but fundamentally more stable and intuitive. You can now step into any Python environment and omnipkg will instantly augment it with the power of multi-version support, without ever getting in your way.
140+
141+
This is the foundation for the future. Thank you for pushing the boundaries with us.
142+
143+
Upgrade now:
144+
145+
pip install -U omnipkg
146+
147+
## v1.1.0
148+
2025-8-21
149+
Localization support for 24 additional languages.
150+
151+
## v1.0.13 - 2025-08-17
152+
### Features
153+
- **Pip in Jail Easter Egg**: Added fun status messages like "Pip is in jail, crying silently. 😭🔒" to `omnipkg status` for a delightful user experience.
154+
- **AGPL License**: Adopted GNU Affero General Public License v3 or later for full open-source compliance.
155+
- **Commercial License Option**: Added `COMMERCIAL_LICENSE.md` for proprietary use cases, with contact at omnipkg@proton.me.
156+
- **Improved License Handling**: Updated `THIRD_PARTY_NOTICES.txt` to list only direct dependencies, with license texts in `licenses/`.
157+
158+
### Bug Fixes
159+
- Reduced deduplication to properly handle binaries, as well as ensuring python modules are kept safe.
160+
161+
### Improvements
162+
- Added AGPL notice to `omnipkg/__init__.py` with dynamic version and dependency loading.
163+
- Enhanced `generate_licenses.py` to preserve existing license files and moved it to `scripts/`.
164+
- Removed `examples/testflask.py` and `requirements.txt` for a leaner package.
165+
- Updated `MANIFEST.in` to include only necessary files and exclude `examples/`, `scripts/`, and `tests/`.
166+
167+
### Notes
168+
- Direct dependencies: `redis==6.4.0`, `packaging==25.0`, `requests==2.32.4`, `python-magic==0.4.27`, `aiohttp==3.12.15`, `tqdm==4.67.1`.
169+
- Transitive dependency licenses available in `licenses/` for transparency.
170+
171+
## v1.0.9 - 2025-08-11
172+
### Notes
173+
- Restored stable foundation of v1.0.7.
174+
- Removed experimental features from v1.0.8 for maximum stability.
175+
- Recommended for production use.
176+
3177
## [1.3.0] - 2025-09-06
4178

5179
### Added

0 commit comments

Comments
 (0)