v0.16.1 — Auto-update fixes for Homebrew Python + faster update cadence
Patch release bundling four fixes that landed since 0.16.0.
Fixed
- Auto-updater now routes through the package manager that owns neo (#89). Previously it unconditionally shelled out to
pip install --upgrade --break-system-packages --ignore-installed, which on Homebrew Python wrote a duplicate copy without removing the old one —importlib.metadataresolved the stale copy on next start, producing an infinite "upgrading from X to Y ✓ Success" loop in~/.neo/auto_update.log. Detection now distinguishes pipx / pip-venv / brew-formula / external (PEP-668) installs and uses the correct upgrade command (or prints user guidance, throttled per version, when pip would do harm). - Update-check interval dropped from 24h to 1h with stale-while-revalidate (#87). Users on auto-update now receive new releases within ~1h of publication instead of up to 24h, with zero added latency on the hot path (cached answer returns instantly; refresh happens in the background).
- Disable exploration in ranking tests to eliminate the last 3% test flake (#88).
- Stabilize ReasoningBank tests across Python versions (#86).
Upgrade notes
- pipx users: auto-update keeps working as before, just faster cadence.
- pip / venv users: auto-update keeps working, just faster cadence.
- Homebrew users where the formula owns the install: auto-update will now wait for
brew upgradeinstead of fighting it. Runbrew upgrade neo-reasoner(formula may lag PyPI by 24-48h). - Pip-into-system-Python users (PEP-668 / Homebrew Python without a formula): you'll see a one-time pipx-switch notice instead of the previous broken auto-pip path. Switch to pipx for auto-updates:
pipx install neo-reasoner.