Skip to content

chore: v2.11.1 - #257

Merged
angeloINTJ merged 1 commit into
mainfrom
chore/v2.11.1
Oct 5, 2026
Merged

angeloINTJ merged 1 commit into
mainfrom
chore/v2.11.1

Conversation

@angeloINTJ

Copy link
Copy Markdown
Owner

What

v2.11.1: the version, and the documents that name the current release. The maintainer chose the number on 2026-10-05: a patch release of fixes, #255 and #256.

SIMUT_VERSION 2.11.0 → 2.11.1 is the only source change. The two strings have the same length, but the login page carries the version, and its gzip came out 5 B smaller. Rebuilt from main de13562 plus this commit, the seven images measure:

  • release, test, asserts and pico2_w_release: 8 B under the record, measured and .bin;
  • alpha, air and test_https: equal to the record, because their alignment absorbs it.

nm shows the login page as the only symbol that changed. tools/flash_budget.json takes the new numbers, and §3.1 of PLANO_STABLE.md takes the four rows that changed. No budget moves.

The release notes

The v2.11.1 sections of CHANGELOG.md and CHANGELOG.pt-BR.md cover #255 and #256:

  • The panel's accounts:
    • SAIR skipped the forced PIN change (finding 9);
    • the account editor granted bits the account at it did not hold (finding 8);
    • a stricter PIN minimum locked shorter PINs out of the panel;
    • the too-short line always said 4.
  • Sensors: "Adopt the probe" read the wrong GPIO and left the sensor in quarantine (finding 1).
  • The setup access point: the one the boot gesture opens lived by leftover memory (finding 25).
  • Updates: the Files page now says why an image is refused with v=6.

Signed .bin against the published v2.11.0:

Image Size OTA headroom
release 1,032,933 → 1,033,357 B 7,027
alpha 990,621 B, unchanged 49,763
Air 1,031,485 B, unchanged 8,899
Pico 2 W 997,001 → 997,417 B, in a slot of 1,568,768 B —

Known keeps v2.11.0's open items, minus two:

It adds one: a narrower PIN alphabet, or a lower length ceiling, still strands an old PIN (#256).

Version mentions

  • The three READMEs: the current release and the manual row.
  • docs/MANUAL.md and its pt-BR twin (the header), and docs/README.md.
  • The landing page, in en, pt and es: the v2.11.1 card first and the v2.9.0 card out.
  • The product manual, regenerated:
    • chapter 1: what v2.11.1 changed;
    • chapter 3: the release's file names;
    • chapters 4, 9, 13, 14 and 28, and appendix C.

Two rows of chapter 28 were behind the code. They now say:

  • the access point opened by the boot gesture follows the 15-minute limit like the others;
  • identification at the panel takes any PIN from 4 characters.

Checked locally

  • every step of the CI gates job (38, the PlatformIO install aside), including the nine native suites (639 cases), plainly and under ASan and UBSan;
  • check_flash_budget.py on each of the seven images, and with --table;
  • build_manual.py --check;
  • scan_secrets.sh.

Next, before the tag

The release gate runs on the candidate the CI signs from main, after this merges and the maintainer approves the signing job:

  1. The Pico W, on the bench now: the gate of AGENTS.md §2, steps 1 to 4.
  2. The Pico 2 W, which the maintainer puts on the bench when asked:
    • the candidate over the air, from the bench image: it boots on trial, keeps itself, and keeps the configuration;
    • then the factory .uf2, dragged onto its BOOTSEL drive by the maintainer. The board is an RP2350 A2, and this is the erratum E10 case.

The results go in a second PR, as in v2.11.0 (#253), and its merge is the tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BniVDEDSHGQgcoqmCRn5um

SIMUT_VERSION 2.11.0 -> 2.11.1, the only source change. It has as many
characters as before, but the login page carries the version, and its
gzip came out 5 B smaller in every image. The seven images rebuilt on
main de13562 plus this commit measure 8 B under the record on release,
test, asserts and pico2_w_release, their .bin included, and equal on
alpha, air and test_https, whose alignment absorbs it (nm: the login page
is the only symbol that moved). tools/flash_budget.json takes those
numbers and PLANO_STABLE 3.1 the four rows that moved. No budget moves.

The v2.11.1 sections of both CHANGELOGs cover #255 and #256:
- the panel's forced PIN change, which SAIR skipped (finding 9);
- the panel's account editor, which granted bits the account at it did
  not hold (finding 8);
- a stricter PIN minimum, which locked shorter PINs out of the panel, and
  the too-short line, which always said 4;
- "Adopt the probe", which read the wrong GPIO (finding 1);
- the boot gesture's access point, which lived by leftover memory
  (finding 25);
- the Files page's words for a refusal with v=6.

Signed .bin sizes against the published v2.11.0, image plus the 241-byte
trailer: release 1,032,933 -> 1,033,357 B, alpha 990,621 -> 990,621, Air
1,031,485 -> 1,031,485; OTA headroom 7,027, 49,763 and 8,899. The Pico
2 W's, 997,001 -> 997,417 B in a slot of 1,568,768.

"Known" keeps v2.11.0's open items with two out:
- the Files page's silent v=6 (#255);
- a try (_nosave=1) of a stricter PIN policy not marking the PINs below
  it. It still marks no one, but since #256 a PIN shorter than the policy
  goes to the change without the mark. The fix's entry says so.
It adds the narrower PIN alphabet or lower length ceiling that still
strands an old PIN (#256).

Version mentions follow:
- the three READMEs: the current release and the manual row;
- docs/MANUAL.md and its pt-BR twin (the header), and docs/README.md;
- the landing page: the new release first and the v2.9.0 card out, in
  en, pt and es;
- the product manual, regenerated: chapters 1 (what v2.11.1 changed), 3
  (the release's file names), 4, 9, 13, 14 and 28, and appendix C.

Chapter 28 had two rows behind the code. The access point opened by the
boot gesture now follows the 15-minute limit like the others, and
identification at the panel takes any PIN from 4 characters.

Run locally:
- every step of the CI gates job (38, the PlatformIO install aside),
  the nine native suites among them (639 cases), plain and under ASan
  and UBSan;
- check_flash_budget.py on each of the seven images and with --table;
- build_manual.py --check;
- scan_secrets.sh.

Not on hardware yet. The release gate runs on the CI-signed candidate
from main once this is merged, before the tag: the Pico 2 W (an update
over the air, and the factory .uf2 dragged onto BOOTSEL on its A2), and
the Pico W.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BniVDEDSHGQgcoqmCRn5um
@github-actions github-actions Bot added documentation Improvements or additions to documentation tools Build tools, scripts, and developer tooling code Firmware source changes (src/, WebUI.h) labels Oct 5, 2026
@angeloINTJ
angeloINTJ merged commit a8b7de5 into main Oct 5, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code Firmware source changes (src/, WebUI.h) documentation Improvements or additions to documentation tools Build tools, scripts, and developer tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant