Skip to content

v0.16.1 — Auto-update fixes for Homebrew Python + faster update cadence

Choose a tag to compare

@mliotta mliotta released this 04 May 12:05
· 127 commits to main since this release
ba58588

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.metadata resolved 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 upgrade instead of fighting it. Run brew 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.