Skip to content

Version 1.2.0 - #12

Merged
rowan-claude merged 1 commit into
mainfrom
rowan/v1.2.0
Oct 16, 2026
Merged

rowan-claude merged 1 commit into
mainfrom
rowan/v1.2.0

Conversation

@rowan-claude

Copy link
Copy Markdown
Collaborator

Two sites declare the library version, and a grep over the tree before the
change found exactly those two, so nothing is bumped on assumption:

README.md:22:Version 1.1.2 (`SerializeUtil.VERSION`).
src/serialize/SerializeUtil.java:14:    public static final String VERSION = "1.1.2";

Both now read 1.2.0. There is no changelog here recording 1.1.2 as a past
version, so no history line needed leaving alone, and the one other version
number in the tree is the format version 1.1 in STANDARD.md, which names the
wire rather than a library release and does not move. The release pointer in
the README is the releases page since #8, so it cannot go stale and needs no
edit either.

The third component does not carry this. Before #10 a reader required its
backing array to be allocated with eight bytes of slack past the packet, and
calling code had to know that; the precondition is now lifted, so a buffer
sized exactly to the packet reads to its last bit. Code that could not be
written against 1.1.2 can be written against this, which makes it a new
capability rather than a fix, and the minor component is where a capability
goes. 1.1.3 would say the library does the same things it did before, and that
is not true.

So the release carries #10: BitReader and ReadStream accept any array size,
reading the final bytes through a sixteen-byte tail when the array is tight,
with one branch on the hot path and no allocation.

On tests, this bench has no pinned toolchain. The Makefile invokes
dist/jdk-21.0.12.1 by absolute path and that directory is gitignored and
absent from a fresh clone, so the suite ran against the JDK that is here,
Homebrew OpenJDK 27, passed in the same way CI passes it, through JDK_HOME.
Both shapes are green: make test reports 462 tests and 4359 checks with none
failed, and make test-release reports 461 tests and 4354 checks with none
failed. That is a newer compiler and runtime than the pinned 21, so CI on
Temurin 21 is still the result that counts, along with the interop and
spec-sync jobs, which need the network and the C++ reference and did not run
here. Nothing in the suite asserts on the VERSION constant.

No tag and no release from this branch.

@rowan-claude
rowan-claude merged commit c8b4972 into main Oct 16, 2026
4 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