leptris 1.9.181.0 → 1.9.186.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35e0cd2470e2f0e12a01424ec1ca0fe753d5835fc07d67ec54c2fd5ba257afcc
4
- data.tar.gz: 69a9520e7bb23117005fa8695c353f75aed6da034ca0f70e79a556c47c3df78c
3
+ metadata.gz: 4c702e5d445cbabe1892ea5aa261caf972a9ada194bb5abdb0a90afe5f249fa5
4
+ data.tar.gz: c9f55612f94575433e996905aeb06c5716b6fe2c7bb2fb1acde277f7f53e7746
5
5
  SHA512:
6
- metadata.gz: 7579134233ffb721e9ef41955b47389fd71ba327ca1d00d28a34bb8e72454ce23bf823ca3572b94054edb44eef68563f67a2510f6544394f36379ecc9e2f7613
7
- data.tar.gz: d23c31c7c660c429d0d05ee158028cc72adeb7b48c2917f07387e4e1a63a608c304dea736614da99c7d906bf6091d26cbac833618a0bb47b75896729ce69cf69
6
+ metadata.gz: 44009c3f0160ec11265c21fa17e3d54dfd89f4629ef8d8bae8934c5063e08e1579a4e20f1de42dc18dc0f94ca427c30e2c6785251ccfc9f5ff88e65ef088bc4e
7
+ data.tar.gz: cfe692871915a7dd8788ec8e2762c71b025e8e88df5eadf2bbe6c5b9203b875e91e28fd0ca53acf08cf61da6c3a8de8211c185e3a6d82a297effb77079096143
data/CHANGELOG.md CHANGED
@@ -5,6 +5,31 @@ All notable changes to Leptris will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.9.186.0] - 2026-09-17
9
+
10
+ ### Changed — libleptris 1.9.181 → 1.9.186 (lockstep)
11
+
12
+ - **RNG regression fix (upstream #1137)**: documents omitting an
13
+ `<optional>` element failed validation since 1.9.179 — the #1121
14
+ name-mismatch diagnostics engaged the matcher's short-circuit
15
+ during backtracking probes. Verdict probes are side-effect-free
16
+ again; spec-pinned here (omitted + present forms, and error
17
+ accumulation still works).
18
+ - **Immutable parse buffer (upstream #1125, then the 1.9.185
19
+ scratch-copy scanner)**: `leptris_parse_string_inplace` never
20
+ writes the caller's buffer (attached-only in this binding; the
21
+ parse faces use the copying variant). Attr-heavy parse
22
+ allocations stay pool-backed — 39,684 mallocs for one 48 KB
23
+ document in the 1.9.182 log-replay design, now 8.
24
+ - **One arena per document (upstream #1127)**:
25
+ `leptris_document_create` routes through the arena-backed pool —
26
+ the same allocation path as the parser (the fresh-document
27
+ build lane); the dead `compact_allocator` is deleted.
28
+ - **Parse perf (upstream 1.9.185/1.9.186)**: scratch-copy scanner
29
+ (attr-heavy 472 → 70 µs vs pugixml) and chunked element-block
30
+ zeroing (tag-dense text parse −8%).
31
+ - No public-symbol changes: audit 322/322.
32
+
8
33
  ## [1.9.181.0] - 2026-09-16
9
34
 
10
35
  ### Changed — libleptris 1.9.178 → 1.9.181 (lockstep)
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ RSpec::Core::RakeTask.new(:spec)
8
8
  # Pin for `rake compile` and the platform-gem builds. Keep in lockstep
9
9
  # with .github/workflows/build.yml (which calls `rake compile`) and the
10
10
  # CHANGELOG when libleptris releases.
11
- LIBLEPTRIS_VERSION = "1.9.181"
11
+ LIBLEPTRIS_VERSION = "1.9.186"
12
12
  # Vendored alongside libleptris for fn:normalize-unicode (TODO
13
13
  # .restructure/20): built per platform with a RELOCATABLE @rpath
14
14
  # install name, loaded by ffi.rb before libleptris so the
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Leptris
4
- VERSION = "1.9.181.0"
4
+ VERSION = "1.9.186.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.181.0
4
+ version: 1.9.186.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.