-
9410d9ab9b
ci: run the workflows on git.aleahim.com, and point the CI links to it
main
Mihaela Mihaljevic
2026-11-04 21:16:42 +0100
-
df469fd77c
docs(changelog): note the new vendor-url of the XSLT system property
Mihaela Mihaljevic
2026-11-04 20:53:29 +0100
-
08782ce768
docs: point the links of this repository to git.aleahim.com
Mihaela Mihaljevic
2026-11-04 20:52:05 +0100
-
a078788ec9
chore(rules): refresh the vendored rules-swift to v2.14.0
Mihaela M
2026-11-02 22:11:14 +0100
-
ca65a334f7
refactor: split oversized types across companion files for lint budgets
Mihaela Mihaljevic
2026-08-31 05:00:44 +0200
-
b0c64d86b2
docs(benchmarks): remove em dashes from interning writeup
Mihaela Mihaljevic
2026-08-31 03:53:28 +0200
-
fb9dab2028
perf(serialize): scan a raw contiguous buffer for the escaping fast-paths
Mihaela Mihaljevic
2026-07-15 04:25:59 +0200
-
d359208ff6
perf(serialize): precompute the attribute quote, bulk-copy comment/PI escaping
Mihaela Mihaljevic
2026-07-15 04:05:29 +0200
-
380160cc2b
refactor(validation): decompose XSD instance validation into composable rules
Mihaela Mihaljevic
2026-07-12 14:12:17 +0200
-
36f1485f2e
docs(benchmarks): record the pass-29 dead end and the #8 weak-parent decision
Mihaela Mihaljevic
2026-07-12 14:09:37 +0200
-
2b6da0d0a0
perf(parsing): reuse one scratch set for the attribute duplicate-name check
Mihaela Mihaljevic
2026-07-12 12:56:12 +0200
-
fe0400c3df
perf(parsing): byte-path quote handling, lazy expanded-name check, byte-scan entity guard
Mihaela Mihaljevic
2026-07-12 12:27:00 +0200
-
7ffd1dd545
perf(parsing): remove redundant work in attribute-value and namespace scanning
Mihaela Mihaljevic
2026-07-12 11:40:33 +0200
-
433ccfaec5
chore(codeberg): update links for NodetteHQ
Mihaela Mihaljevic
2026-07-05 12:58:58 +0200
-
6a7bf78903
fix(schema): literal RecurseAsIfGroup for a non-repeating base choice
Mihaela Mihaljevic
2026-07-05 08:58:35 +0200
-
2e3d2e25f8
fix(schema): reject substitution-member swaps in particle restriction
Mihaela Mihaljevic
2026-07-05 08:27:55 +0200
-
f7d8fa16d1
docs(roadmap): rebuild tracker references after the GitHub loss
Mihaela Mihaljevic
2026-07-05 05:49:57 +0200
-
6c2810d71a
Merge release/0.4.8: superseded by the 0.4.8 stamp on main
Mihaela Mihaljevic
2026-07-05 05:38:16 +0200
-
-
d63218256c
chore(release): stamp 0.4.8 from main and repoint to codeberg.org/Mihaela
v0.4.8
Mihaela Mihaljevic
2026-07-05 05:31:16 +0200
-
ff0c6d4c3f
chore(rules): track shared-rules baseline v1.1.2
Mihaela Mihaljevic
2026-07-05 00:27:45 +0200
-
d57457caf4
chore(rules): track shared-rules baseline v1.1.0
Mihaela Mihaljevic
2026-07-02 21:35:32 +0200
-
5aee644bf4
chore: repoint remaining github.com/mihaelamj references to codeberg.org/Mihaela
Mihaela Mihaljevic
2026-07-02 14:08:21 +0200
-
c7ef8abfd9
chore(rules): pin rules-swift corpus, add gates and CI; drop redundant docs/rules mirror
Mihaela Mihaljevic
2026-06-30 14:01:35 +0200
-
0ab7adfd0a
chore(rules): pin rules-swift corpus, add gates and CI; drop redundant docs/rules mirror
chore/adopt-rules-swift-pin
Mihaela Mihaljevic
2026-06-30 14:01:35 +0200
-
36b2a73637
chore(concurrency): justify every @unchecked Sendable / nonisolated(unsafe) (#387)
Mihaela Mihaljevic
2026-06-29 15:12:02 +0200
-
41338c9e3f
test(schema): adjudicate the instance differential with an independent oracle, not libxml2 alone (#386)
Mihaela Mihaljevic
2026-06-29 12:32:08 +0200
-
77884f99b8
test(schema): make the libxml2 differential seed configurable via DIFF_SEED (#385)
Mihaela Mihaljevic
2026-06-29 10:44:43 +0200
-
c55522669e
test(schema): reclassify particlesZ001.i as a contested XSTS test, not a deviation (#384)
Mihaela Mihaljevic
2026-06-29 10:27:46 +0200
-
20da41995a
fix(schema): resolve an unprefixed xsi:type in the instance namespace context (#383)
Mihaela Mihaljevic
2026-06-29 10:10:04 +0200
-
0e782737a3
test(schema): reclassify mgO013.i as a contested XSTS test, not a deviation (#382)
Mihaela Mihaljevic
2026-06-29 09:36:02 +0200
-
8f2725b62a
fix(schema): reject an identity-constraint field that selects a non-simple node (#381)
Mihaela Mihaljevic
2026-06-29 09:08:25 +0200
-
7ea1a88a6c
test(schema): reclassify schA2.i/schA5.i as contested; characterize the sch* tail (#380)
Mihaela Mihaljevic
2026-06-29 07:52:13 +0200
-
35e52f26cf
test(schema): reclassify anyURI_a004_1339.i as a contested XSTS test, not a deviation (#379)
Mihaela Mihaljevic
2026-06-29 07:30:00 +0200
-
2eb9f83958
fix(schema): back XSD \i and \c with the XML 1.0 Appendix B name classes (#378)
Mihaela Mihaljevic
2026-06-29 07:05:27 +0200
-
1919b92956
fix(schema): match Ethiopic digits against \d at the pinned Unicode 3.2 repertoire (#377)
Mihaela Mihaljevic
2026-06-29 06:27:27 +0200
-
7be7fa25f3
fix(schema): match a NaN value against a NaN enumeration (value-space identity) (#376)
Mihaela Mihaljevic
2026-06-29 05:20:07 +0200
-
fd61d4466b
fix(schema): bound attribute-group reference depth so a deep chain cannot overflow the stack (#375)
Mihaela Mihaljevic
2026-06-29 03:58:18 +0200
-
8acf8ffff6
perf(schema): memoize simpleContent base resolution so a chain is linear, not cubic (#374)
Mihaela Mihaljevic
2026-06-29 03:26:07 +0200
-
4024801171
perf(schema): resolve a simple-type restriction chain in linear, not cubic, time (#373)
Mihaela Mihaljevic
2026-06-29 02:55:02 +0200
-
3e4ca0cce3
perf(schema): bound content-model expansion depth so deep chains cannot overflow the stack (#372)
Mihaela Mihaljevic
2026-06-29 01:54:21 +0200
-
1f8d99adfc
perf(schema): make the UPA determinism check depth-safe on group-reference chains (#371)
Mihaela Mihaljevic
2026-06-28 23:15:32 +0200
-
ae37f493f9
test(schema): generated-instance validation differential vs libxml2 (#370)
Mihaela Mihaljevic
2026-06-28 21:14:12 +0200
-
5bd4b77305
perf(schema): assert the GSS matcher's runtime bound by count, not wall-clock (#369)
Mihaela Mihaljevic
2026-06-28 20:36:54 +0200
-
9cce695090
fix(schema): reject a repeating sequence's trailing/leading particle overlap as a UPA violation (#368)
Mihaela Mihaljevic
2026-06-28 19:53:10 +0200
-
8fc71bfa53
test(schema): generated-schema determinism differential vs libxml2 (#367)
Mihaela Mihaljevic
2026-06-28 19:01:42 +0200
-
6957e96b3a
fix(schema): reject overlapping references to one group as a UPA violation, closing a hang (#366)
Mihaela Mihaljevic
2026-06-28 17:56:46 +0200
-
9e40278218
fix(wasm): fail check-wasm with an actionable message on a toolchain without the wasm backend (#365)
Mihaela Mihaljevic
2026-06-28 05:09:20 +0200
-
5d38f0c82f
perf(schema): graph-structured-stack content matcher, killing the last 2^K content-model hang (#364)
Mihaela Mihaljevic
2026-06-28 05:07:37 +0200
-
e81e4b4df6
feat(schema): carry a stable group-definition identity on shared expansions (#363)
Mihaela Mihaljevic
2026-06-28 01:53:58 +0200
-
116b260149
docs(design): add the code-level implementation blueprint for the GSS matcher (#362)
Mihaela Mihaljevic
2026-06-28 01:40:47 +0200
-
1057fc19d0
docs(design): derive the graph-structured-stack bound for the content matcher (#361)
Mihaela Mihaljevic
2026-06-28 01:15:51 +0200
-
b76cb5824d
test(schema): make the libxml2 differential queue unambiguous and characterised (#360)
Mihaela Mihaljevic
2026-06-28 00:35:42 +0200
-
0af92bcf8d
fix(schema): apply cos-st-derived-ok to NameAndTypeOK over a union base (#359)
Mihaela Mihaljevic
2026-06-27 23:45:40 +0200
-
fef8520d68
chore(release): stamp 0.4.8 (#316)
Mihaela Mihaljevic
2026-06-27 21:22:15 +0200
-
dc6727538d
perf(xslt): make the template evaluator iterative (#358)
Mihaela Mihaljevic
2026-06-27 19:29:51 +0200
-
7b7adef016
fix(xslt): bound template recursion so it fails gracefully, not with a crash (#357)
Mihaela Mihaljevic
2026-06-27 18:30:19 +0200
-
33160ef775
perf(canonical): make the prefix rewrite and node-subset emit depth-safe (#355)
Mihaela Mihaljevic
2026-06-27 17:08:37 +0200
-
f4982219a6
perf(xinclude): make XInclude processing depth-safe (#354)
Mihaela Mihaljevic
2026-06-27 16:55:03 +0200
-
37bf30818f
perf(html): make HTML serialization depth-safe (#353)
Mihaela Mihaljevic
2026-06-27 16:22:54 +0200
-
48c2c5c7db
fix(xpath): make string-value extraction iterative and comment-correct (#351)
Mihaela Mihaljevic
2026-06-26 20:44:49 +0200
-
00c55e642f
perf: make tree-to-tree transforms depth-safe (DTD defaults, canonicalization) (#352)
Mihaela Mihaljevic
2026-06-26 19:27:37 +0200
-
b672c49a84
perf(xpath): share value-Node projections across a result set (#349)
Mihaela Mihaljevic
2026-06-26 18:43:27 +0200
-
3e4f596b7c
perf(xpath): order results by a per-root index, linear not quadratic in depth (#347)
Mihaela Mihaljevic
2026-06-26 18:22:20 +0200
-
3405c9709d
perf(parsing): resolve namespaces in O(1), making parse linear in depth (#346)
Mihaela Mihaljevic
2026-06-26 17:44:27 +0200
-
d27e108b4d
perf(model): make the value Node tree type depth-safe (#344)
Mihaela Mihaljevic
2026-06-26 17:05:42 +0200
-
a77ffbd952
perf(model): make the TreeNode tree type depth-safe (#343)
Mihaela Mihaljevic
2026-06-26 16:39:08 +0200
-
b05b428e30
perf(parsing): linearize entity-graph checks for billion-laughs (#342)
Mihaela Mihaljevic
2026-06-26 15:30:51 +0200
-
46a5c27e8c
perf(parsing): make entity/content expansion linear, not quadratic (#338)
Mihaela Mihaljevic
2026-06-26 13:55:29 +0200
-
472b0ac16e
refactor: remove three more dead functions (#331)
Mihaela Mihaljevic
2026-06-26 12:41:34 +0200
-
af9c220272
refactor: remove three dead file-scoped functions (#330)
Mihaela Mihaljevic
2026-06-26 12:04:07 +0200
-
e096a65193
ci: run Windows only on release tags, not every PR (#329)
Mihaela Mihaljevic
2026-06-26 11:50:06 +0200
-
db880058c3
docs(xsts): record the libxml2 differential triage of the open tail (#328)
Mihaela Mihaljevic
2026-06-26 11:43:32 +0200
-
ad44fe77b9
fix(schema): reject a simpleContent restriction that relaxes a required attribute (#326)
Mihaela Mihaljevic
2026-06-26 11:35:33 +0200
-
22d86fc22d
Revert "fix(test): bound the xmllint subprocess in the XSTS differential (#325)" (#327)
Mihaela Mihaljevic
2026-06-26 11:23:08 +0200
-
e99319b02c
fix(test): bound the xmllint subprocess in the XSTS differential (#325)
Mihaela Mihaljevic
2026-06-26 10:14:23 +0200
-
775d9ec1b3
test(api): cover the streaming, SAX, and HTML public entry points (#324)
Mihaela Mihaljevic
2026-06-26 10:08:57 +0200
-
7122c2ef16
ci: run the XSTS conformance ratchet on every change (#323)
Mihaela Mihaljevic
2026-06-26 10:02:41 +0200
-
925172cd84
chore(test): vendor the XSTS archive (unmodified) under Tests/Fixtures (#322)
Mihaela Mihaljevic
2026-06-26 09:20:37 +0200
-
6b2cf2a429
chore(test): add scripts/fetch-xsts.sh to obtain the XSTS corpus (#321)
Mihaela Mihaljevic
2026-06-26 08:59:07 +0200
-
dcb9a40b18
test(parsing): cover ByteEncoder output-encoding paths (#320)
Mihaela Mihaljevic
2026-06-26 08:27:00 +0200
-
3ffbff91ed
test(xslt): cover result-tree namespace fixup generation paths (#319)
Mihaela Mihaljevic
2026-06-26 08:22:34 +0200
-
cadca9621c
refactor(xslt): remove dead namespace-fixup helpers (#318)
Mihaela Mihaljevic
2026-06-26 08:17:39 +0200
-
0e21b86781
refactor(schema): remove unused [String] consistency wrappers (#317)
Mihaela Mihaljevic
2026-06-26 08:02:09 +0200
-
-
-
2037d5baf7
chore(release): stamp 0.4.8
Mihaela Mihaljevic
2026-06-26 04:26:30 +0200
-
-
e5b5120ac2
perf(xslt): direct ID lookup in id() instead of full-index scan (#315)
Mihaela Mihaljevic
2026-06-26 04:25:58 +0200
-
904881b81c
perf(xpointer): linear-time string-range() search (#314)
Mihaela Mihaljevic
2026-06-26 04:01:41 +0200
-
fab8008b42
chore(release): stamp 0.4.7 (#313)
v0.4.7
Mihaela Mihaljevic
2026-06-26 03:09:54 +0200
-
d1a371a6a9
perf(schema): make xsd identity-constraint validation linear (#312)
Mihaela Mihaljevic
2026-06-26 02:45:17 +0200
-
e080876eac
release: PureXML 0.4.6 (#311)
v0.4.6
Mihaela Mihaljevic
2026-06-26 01:41:16 +0200
-
8f992a8897
perf(xslt): cache xsl:number level single/multiple sibling ranks (#310)
Mihaela Mihaljevic
2026-06-26 01:13:07 +0200
-
971a7e9f56
perf(xslt): make xsl:number level="any" quadratic, not cubic (#309)
Mihaela Mihaljevic
2026-06-26 00:40:16 +0200
-
9d0d92bda3
perf(xpath): make translate() and the substring search functions linear (#308)
Mihaela Mihaljevic
2026-06-26 00:11:49 +0200
-
f6802c1baf
release: PureXML 0.4.5 (#307)
v0.4.5
Mihaela Mihaljevic
2026-06-25 23:08:02 +0200
-
b104723fed
perf(xpath): cache and fuse the following-sibling/preceding-sibling axes (#306)
Mihaela Mihaljevic
2026-06-25 22:41:32 +0200
-
d86e4effbe
fix(xpath): cache the attribute index for document-order keys (#305)
Mihaela Mihaljevic
2026-06-25 22:01:13 +0200
-
2abb130757
release: PureXML 0.4.4 (#304)
v0.4.4
Mihaela Mihaljevic
2026-06-25 21:22:51 +0200
-
0405850d6b
perf(xpath): fuse the node test into the following/preceding walk (#303)
Mihaela Mihaljevic
2026-06-25 20:56:14 +0200
-
ad289b0df1
perf(xpath): cache the document node list for following/preceding axes (#302)
Mihaela Mihaljevic
2026-06-25 20:03:45 +0200
-
8abaf570bc
release: PureXML 0.4.3 (#301)
v0.4.3
Mihaela Mihaljevic
2026-06-25 19:15:10 +0200
-
4552d24067
fix(xslt): make key(), id(), and EXSLT set functions linear over wide fan-outs (#300)
Mihaela Mihaljevic
2026-06-25 18:45:08 +0200