All notable changes to this project will be documented in this file.
- Refactored config precedence to keep explicit runtime mode authoritative and treat spoof mode as compatibility fallback.
- Hardened merged auth state active-account selection to avoid disabled active identity carry-over.
- Simplified request payload transform wrappers to route through one shared aggregate transform pipeline.
- Consolidated account action messaging with shared builders and tightened auth-menu wording consistency.
- Consolidated model-catalog stale-cache fallback emission flow and removed small dead helper modules.
- Added experimental Codex collaboration profile gates (
runtime.collaborationProfile,runtime.orchestratorSubagents) for plan/orchestrator parity. - Collaboration features now auto-enable by default in
runtime.mode="codex"and can be explicitly enabled/disabled in any mode. - Added managed
orchestratoragent template sync under~/.config/opencode/agents, with visibility gated by effective collaboration profile (mode-derived by default, explicitly overridable). - Synced pinned upstream Codex orchestrator + plan templates into a local prompt cache (ETag/304-aware, TTL refreshed) and used the cached plan prompt to populate plan-mode collaboration instructions.
- Added configurable
runtime.promptCacheKeyStrategy(default|project) for session-based or project-path-based prompt cache keying. - Added quota threshold warnings at
25%,20%,10%,5%,2.5%,0%and automatic cooldown/switch when5horweeklyquota is exhausted. - Added account selection tracing and per-attempt failover reason codes for snapshot/debug observability.
- Added config file validation with actionable warnings on invalid types/values.
- Added upstream drift watch (
npm run check:upstream) and native OAuth parity tests. - Refactored cache layout + IO primitives into shared helpers (lock-guarded, atomic writes; best-effort persistence on failure).
- Hardened OAuth cancel handler:
/cancelnow requires a matchingstatevalue. - Hardened local storage, snapshot logging, and trust boundaries across multiple security passes.
- Improved handling for accounts missing identity metadata: request-time auth acquisition can surface
missing_account_identity, and status UI renders an explicitidentity-missingbadge and reset fallbacks. - Replaced silent catches with explicit error handling throughout codebase.
- Reduced read contention and catalog fallback IO in storage paths.
- Fixed model catalog shaping to preserve source-faithful live catalog variants, including
gpt-5.4xhigh, instead of field-merging GitHub fallback metadata into successful live responses. - Added regression coverage for live-vs-fallback catalog variant behavior and config-variant overrides.
- Refactored
codex-nativeinto focused sub-modules: auth helpers, OAuth method flows, chat hooks, transform pipeline, state/catalog helpers, loader fetch pipeline. - Replaced
customSettingswithbehaviorSettingsconfig system (global+perModel+variants). - Added secret scanning CI workflow.
- Fixed audit findings: preserved request metadata, reduced auth lock contention.
- Aligned cache metadata refresh and instruction ordering.
- Hardened verify and runtime safeguards.
- Removed experimental
collabruntime mode; simplified tonativeandcodex. - Simplified installer surface to a single idempotent
installflow. - Updated docs, schema, and workflow configuration for current supported modes.
- Fixed compaction: codex checkpoint handoff only in
codexmode, with mode-derived defaults and explicit toggle. - Fixed codex instruction recovery from fallback caches.
- Defaulted AGENTS developer-role remap in
codexmode.
- Rewrote documentation for production-ready usage (getting-started, configuration, multi-account, compaction, privacy, troubleshooting, releasing).
- Added JSON schema files for config and accounts validation.
- Added documentation examples directory.
- Auth menu styling polish: close quota snapshot box without hanging gap.
- Auth menu styling polish: trim quota snapshot menu overhang.
- Auth menu styling polish: attach quota output to login menu chrome.
- Refactored
codex-nativeinto smaller modules. - Added lint/format tooling and cache-first outbound networking improvements.
- Fixed codex instruction overrides at send time.
- Fixed catalog instruction replacement in outbound requests.
- Aligned quota fetch behavior with codex-rs.
- Added in-vivo quota probe coverage.
- Fixed fallback behavior when model options are missing.
- Enforced codex instruction injection with in-vivo regression coverage.
- Fixed quota snapshot isolation for plus/team identities.
- Hardened session affinity persistence and snapshot security.
- Fixed OAuth callback binding to IPv4 loopback.
- Fixed session affinity persistence when prompt cache key is absent.
- Hardened OAuth callback security and release gates.
- Hardened session affinity.
- Added personality-builder skill support.
- Fixed reasoning summary defaults.
- Shipped commented default config template.
- Added persona tool and synchronized
/create-personalityinstall.
- Fixed default generated config values and installer status labels.
- Maintenance release.
- Made legacy transfer checks deterministic in CI.
- Maintenance release.
- Added CI and npm badges in docs.
- Added old-plugin style npm publish workflow.
- Initial release.
- Historical baseline entry; the first tagged release in git is
v0.1.1.