Skip to content

release: 0.2.4 - #34

Merged
elvogel merged 1 commit into
mainfrom
release/0.2.4
Sep 29, 2026
Merged

elvogel merged 1 commit into
mainfrom
release/0.2.4

Conversation

@elvogel

@elvogel elvogel commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Dependencies only. Output is byte-identical across the 13-document corpus, so nothing a
caller can observe has changed except speed.

PhoenixmlDb.Xslt 2.0.0 → 2.4.1

Taken for a measured gain rather than for currency:

2.0.0   26,609 ms
2.4.1   21,264 ms      20% faster

Min of 3, same document, rebuilt between, pin the only variable.

The release worth pausing over is the one being taken

2.4.1 is a hotfix for a native stack exhaustion, and its fix introduced a recursion-depth
ceiling that #199 — filed the same
day — says miscounts, halving effective depth for recursion that both applies a template and
constructs an element.

docmd's nested-list rebuild is exactly that shape, so it was measured:

depth  9    identical to 2.0.0
depth  50   identical to 2.0.0
depth 200   both engines stop at docmd's own serialiser guard, not the engine's

w:ilvl caps at 8, so real documents never approach the ceiling. A defect can be real, open,
and in the version you are taking without reaching your workload — and that distinction came
from testing the shape the bug describes against the constraint the inputs actually have.

Verification

Tests 361 pass, 0 failing
Output 13 of 13 corpus documents byte-identical
Locks clean under --locked-mode
Package icon, readme and documentation project URL intact

Not included

phoenixmldb-xslt#12 is fixed in this engine, so --style-map can drop its node-parameter
workaround
— behaviour-adjacent, belongs in its own release.

The one-predicate contract stays. Chained predicates remain quadratic at 21.5 s (n=1500), so
that stylesheet comment is still accurate rather than historical.

🤖 Generated with Claude Code

https://claude.ai/code/session_018wZEgtuzaZPswykiGEBxbz

Dependencies only. Output is byte-identical across the 13-document corpus, so
nothing a caller can observe has changed except speed.

PhoenixmlDb.Xslt 2.0.0 -> 2.4.1, taken for a measured gain rather than for
currency: 26,609 ms -> 21,264 ms on the same document with the pin as the only
variable, min of 3, rebuilt between.

The release worth pausing over is the one being taken. 2.4.1 is a hotfix for a
native stack exhaustion, and its fix introduced a recursion-depth ceiling that
phoenixmldb-xslt#199 - filed the same day - says miscounts, halving the
effective depth for recursion that both applies a template and constructs an
element. docmd's nested-list rebuild is exactly that shape, so it was measured:
9, 50 and 200 levels of list nesting behave identically on both engines, and at
200 both stop at docmd's own serialiser guard rather than the engine's. w:ilvl
caps at 8, so real documents never approach it.

A defect can be real, open, and in the version you are taking without reaching
your workload. That distinction came from testing the shape the bug describes
against the constraint the inputs actually have, not from reading the tracker.

  tests    361 pass, 0 failing
  output   13 of 13 corpus documents byte-identical
  locks    clean under --locked-mode
  package  icon, readme and documentation project URL intact

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018wZEgtuzaZPswykiGEBxbz
@elvogel
elvogel merged commit 57b81ad into main Sep 29, 2026
1 check 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