omnipkg v1.5.9 - Improved Preflight Install Checks & Cross-Platform Redis Logic
Pre-release
Pre-release
This is a critical update that significantly improves the intelligence, speed, and stability of the core installer. It addresses key logic bugs in the preflight satisfaction check and makes the caching mechanism far more robust, especially for cross-platform users.
✨ Key Features & Fixes
🧠 Smarter, Strategy-Aware Preflight Checks
The preflight satisfaction check is now significantly more intelligent, eliminating unnecessary installations and providing a faster, more accurate user experience.
- Fixed: The installer now correctly re-checks package satisfaction after resolving a version (e.g., when running
8pkg install pydantic). This prevents the tool from incorrectly proceeding to a full install when the resolved package is already active. - Fixed: The preflight check is now fully "strategy-aware." It correctly understands that a bubbled package is not satisfied when using the
latest-activestrategy, ensuring the main installer runs to promote the package to the active environment. - Result: A faster, more reliable, and less confusing installation process that does the right thing in all scenarios.
⚡️ Robust Caching with Redis Circuit Breaker
The connection logic for the caching backend has been completely overhauled to be faster and more resilient, eliminating frustrating delays.
- New: A "circuit breaker" pattern has been implemented for Redis connections. The tool tries to connect only once with an aggressive 0.2-second timeout. If it fails, it instantly and permanently falls back to the local SQLite cache for the remainder of the command's execution.
- Fixed: This completely solves the long (5+ second) startup delays experienced by users on Windows when a Redis server was running in WSL, as the tool no longer repeatedly tries to connect to an unreachable host.
- New: Added a
redis_enabled: falseoption to the configuration file, allowing users to explicitly disable Redis and force the use of the SQLite cache.
⚛️ Atomic Knowledge Base Updates
The end-of-install process has been reordered to be more efficient and eliminate potential race conditions, paving the way for future high-concurrency features.
- Fixed: The "redundant bubble" cleanup now runs before the consolidated Knowledge Base (KB) update.
- Result: The KB is now updated once with the final, correct state of the filesystem. This eliminates temporary inconsistencies, reduces I/O operations, and ensures atomic updates.
foundational Work
- New: Added the
deptimemachine.pymodule, laying the groundwork for a future feature to install packages with their historical dependencies. - General code cleanup and improvements to the testing suite.