Skip to content

feat: raise Extensions::MAX to 16 (release 0.9.1) - #55

Merged
genmon merged 1 commit into
mainfrom
extensions-16
Oct 1, 2026
Merged

genmon merged 1 commit into
mainfrom
extensions-16

Conversation

@genmon

@genmon genmon commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

A fully loaded device had filled all 12 extension slots: oracle runs nine of its own, plus kv and room appended by HawthornRoomDevice and the system button's sysbtn. Adding a module meant displacing one. A slot costs one pointer in Extensions and one in Sandbox::_lifecycle.

  • Extensions::MAX 12 → 16; api.md and the changelog follow.
  • test_oversize_list_clamps_to_max passed exactly 12 items, so at the old MAX it never overflowed. It now passes 18 and static_asserts that the list exceeds MAX.
  • Versions bumped to 0.9.1 in library.json and idf_component.yml; tools/publish-preflight.py passes locally.

Tested: unit suite 230/230 locally; hawthorn-firmware's oracle-p2 [env:dev-courier] (which compiles Resident from the submodule) builds against this branch.

🤖 Generated with Claude Code

A fully loaded device had filled all 12 slots, so adding a module meant
displacing one. A slot costs one pointer in Extensions and one in
Sandbox::_lifecycle.

test_oversize_list_clamps_to_max passed exactly 12 items, so at the old
MAX it never overflowed; it now passes 18.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@genmon
genmon merged commit 2169a48 into main Oct 1, 2026
4 checks passed
@genmon
genmon deleted the extensions-16 branch October 1, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant