v2.20.0
Immutable
release. Only release title and notes can be modified.
Published to npm as @bitkyc08/opencodex@2.20.0 with dist-tag latest.
New Features
- Lab: CL-10 public evidence operator and community integration; CL-10 public evidence trust core (#1706, #1705)
- Per-custom-model reasoning effort in the Models dashboard (#1716)
- Land six repaired cherry-picks (MiniMax, picker order, terminal guard, streamAborted, imageInput, droid docs); Land four rebuilt heavy drafts (service tiers, request pacing, native chat, empty-completion guard) (#1744, #1752)
Bug Fixes
- Merge root tool unions into one object schema (#1726)
- Lab: Isolate CL-01 harness failures from negative-control passes; Serialize CL-02 ledger mutations; Preserve CL-03 live transport failure classes; Reject CL-04 invalid management read filters; Surface CL-05 partial-read failures; Harden CL-07 outcome validation; Rebind CL-08 runtime ownership across server replacement; Align passive CL-09 production read surfaces (#1708, #1709, #1710, #1712, #1715, #1717, #1719, #1720)
- Recover static model discovery (#1714)
- Release helper rejects channel-backwards versions (#1753)
- Release: Fail closed on unparseable channel versions (#1753 follow-up); Never publish an empty changelog (commit-based fallback) (#1757, #1766)
Documentation
- Devlog: 260815 triage execution and verification record; 260815 old-draft triage plan, matrix, worker packets; Old-draft execution and release-readiness records (#1737, #1745, #1758)
Chores
- Adapters: Derive routed tool conformance from registry - Part 2; Cover buffered freeform restoration - Part 3; Centralize runtime adapter authority - Part 1 (#1722, #1723, #1721)
- Batch-land 15 reviewed PRs (lab CL-01..CL-10, adapters, providers, models) (#1736)
- Update client inventory assertions for mcode (#1744 follow-up) (#1749)
- Clean orphaned GitHub Actions workflows (#1738)
Changelog
Full Changelog: v2.19.0...v2.20.0
- #1705 feat(lab): CL-10 public evidence trust core @Wibias
- #1706 feat(lab): CL-10 public evidence operator and community integration @Wibias
- #1708 fix(lab): isolate CL-01 harness failures from negative-control passes @Wibias
- #1709 fix(lab): serialize CL-02 ledger mutations @Wibias
- #1710 fix(lab): preserve CL-03 live transport failure classes @Wibias
- #1712 fix(lab): reject CL-04 invalid management read filters @Wibias
- #1714 fix(providers): recover static model discovery @Wibias
- #1715 fix(lab): surface CL-05 partial-read failures @Wibias
- #1716 feat(models): per-custom-model reasoning effort in the Models dashboard @RobinBially
- #1717 fix(lab): harden CL-07 outcome validation @Wibias
- #1719 fix(lab): rebind CL-08 runtime ownership across server replacement @Wibias
- #1720 fix(lab): align passive CL-09 production read surfaces @Wibias
- #1721 refactor(adapters): centralize runtime adapter authority - Part 1 @Wibias
- #1722 test(adapters): derive routed tool conformance from registry - Part 2 @Wibias
- #1723 test(adapters): cover buffered freeform restoration - Part 3 @Wibias
- #1726 fix(xai): merge root tool unions into one object schema @jonathanli12
- #1736 chore(triage): batch-land 15 reviewed PRs (lab CL-01..CL-10, adapters, providers, models) @lidge-jun
- #1737 docs(devlog): 260815 triage execution and verification record @lidge-jun
- #1738 chore: clean orphaned GitHub Actions workflows @Wibias
- #1744 feat: land six repaired cherry-picks (MiniMax, picker order, terminal guard, streamAborted, imageInput, droid docs) @lidge-jun
- #1745 docs(devlog): 260815 old-draft triage plan, matrix, worker packets @lidge-jun
- #1749 test(gui): update client inventory assertions for mcode (#1744 follow-up) @lidge-jun
- #1752 feat: land four rebuilt heavy drafts (service tiers, request pacing, native chat, empty-completion guard) @lidge-jun
- #1753 fix(scripts): release helper rejects channel-backwards versions @lidge-jun
- #1757 fix(release): fail closed on unparseable channel versions (#1753 follow-up) @lidge-jun
- #1758 docs(devlog): old-draft execution and release-readiness records @lidge-jun
- #1766 fix(release): never publish an empty changelog (commit-based fallback) @lidge-jun