Release v0.3.0-rc.2 - #53
Merged
Merged
Conversation
0.3.0-rc.1 shipped a writer that gave the file back and then rewrote more of an edited object than the edit asked for. This is that gap closed: the line the author put a value on, their per-field comments, the column the marker goes in, and the fields they wrote out as blanks. Plus the three accessors that make changedObjects() usable for a minimal edit rather than a whole-file diff. Three of the four defects were found by consumers reading the branch before it merged rather than by this repository's own tests, and the quadratic in the annotation walk was found by a review pass looking where the benchmarks do not. Also repairs the link definitions, which never gained a 0.3.0-rc.1 entry and left [unreleased] comparing from v0.2.0. No version bump in package.json: the git tag is the source of truth here and the manifests carry 0.0.0 placeholders the publish workflow stamps.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The changelog section for
v0.3.0-rc.2, and a repair to the link definitions.0.3.0-rc.1shipped a writer that gave the file back and then rewrote more of an edited object than the edit asked for. This release is that gap closed.What is in it
Four defects in what a rewrite preserved, three of them found by consumers reading the branch before it merged rather than by this repository's own tests:
!-one column right of where EnergyPlus puts itPlus the author's per-field comments, which a single-field edit rebuilt on every field of the object, destroying the unit and any note left there.
Three accessors that compose, because the first was published on its own and turned out to be unusable without the other two:
changedObjects()says which objects a write will rewrite,regionOf()where the old one was,renderObject()what it becomes. The test that pins them splices every changed object's render into its own range and requires the result to equal a whole write byte for byte.Reformatting is roughly eight times faster. The annotation walk seeked its token cursor from the front of the file per statement. 647 ms to 76 ms on a 6,874-statement file. Neither performance gate covers that path, because both time an unchanged preserving write.
Levels
conformance-2026.11andgovernance-2026.15, both already adopted onmain. The corpus level changes no case; its runners stopped reporting a false failure onpreserve-edit-one-field.Not in this commit
No version bump. The git tag is the source of truth here and
package.jsoncarries a0.0.0placeholder the publish workflow stamps fromGITHUB_REF_NAME.The link definitions never gained a
[0.3.0-rc.1]entry and[unreleased]still compared fromv0.2.0; both are repaired here.