Skip to content

Release 0.4.0 - #8

Merged
Miguel249 merged 2 commits into
mainfrom
release/0.4.0
Aug 10, 2026
Merged

Release 0.4.0#8
Miguel249 merged 2 commits into
mainfrom
release/0.4.0

Conversation

@Miguel249

Copy link
Copy Markdown
Owner

Two commits, in the order they have to happen.

Say what the iOS check proves now. The [Unreleased] block described the
iOS verification as checking "for evidence that the package handed Box3D's
archive to the linker", which was the honest ceiling when it was written and
stopped being so two commits later. [Unreleased] is what becomes the release
notes, so publishing it unchanged would have shipped a claim weaker than what
CI does. The run on main reports 65267 defined symbols in the simulator
executable, 415 of them Box3D's own _b3 names — the executable is not
stripped and the symbol check runs. The README's "attempted and normally cannot
run" paragraph is replaced for the same reason, and both now record why only
_b3 names count.

Release 0.4.0. Minor rather than patch: the packages reach Android and iOS
and nothing in the library changed. PackageValidationBaselineVersion moves to
0.3.0 in the same commit — it was left at 0.2.0 while 0.3.0 shipped, which is
the gap Directory.Build.targets already describes having made once with
0.1.0. The CHANGELOG's link references were two releases behind: [Unreleased]
still compared against v0.2.0 and [0.3.0] had no reference at all.

Packing locally against the new baseline reports no difference, which is the
claim the 0.4.0 entry makes.

🤖 Generated with Claude Code

Miguel249 and others added 2 commits August 10, 2026 06:52
The description of the mobile verification was written when the linker's own
evidence was the ceiling: the executable was expected to be stripped, and the
symbol half of the check was documented as attempted and normally unable to
run. That stopped being true two commits later. The release simulator build
keeps its symbol table - 65267 defined symbols - and the check now reads
Box3D's own native ones out of it, 415 of them in the run on main.

The CHANGELOG matters more than the README here, because [Unreleased] is what
becomes the release notes, and shipping it unchanged would have published a
claim weaker than what CI actually does.

Both now also record why only _b3 names count. An AOT method carries its
parameter types in its mangled name, so a plain search for b3 matches managed
symbols that are in the binary whether or not the archive survived the link.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Minor rather than patch: the packages reach Android and iOS, and a platform is
a capability. Nothing in the library changed - package validation against 0.3.0
reports no difference in any target framework - so there is no fix to record
and no break to warn about.

The baseline moves to 0.3.0 in the same commit. It was left at 0.2.0 while
0.3.0 shipped, which is the gap Directory.Build.targets already describes
having made once with 0.1.0, so the comment now says when to move it rather
than only that it should be moved.

The CHANGELOG's link references were two releases behind: [Unreleased] still
compared against v0.2.0 and 0.3.0 had no reference at all, so its heading
rendered as plain text.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Miguel249
Miguel249 merged commit de9d1e0 into main Aug 10, 2026
23 checks passed
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