leptris 1.9.87.0-aarch64-linux → 1.9.93.0-aarch64-linux

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: 310ae341a7d956401ab9f29461008b5b6bc6ce6e99b7e7bd24b7f96d7cc5d072
4
- data.tar.gz: bbfd24bc0872fea2bed6c79c07fa0be16934b861a47c1e7e3605b675784d8685
3
+ metadata.gz: 0ebdc082d76b283134bda0418f21d6b65358f2391a585f831b3d7798883f07b5
4
+ data.tar.gz: ccfb4ffc72881b4333fc529b772554b0d9fec1698ec7072ead485726e8718762
5
5
  SHA512:
6
- metadata.gz: 2eb284540650a53b7903880dd4d929c42ae6fef2f24c153ef6c262cb6266fc37ea978270295ec93b778e18525ce472c491147fffe9bddea17af668c94fea531d
7
- data.tar.gz: e8f5f497767ec603d2504d3acc1803349831770b6209291f6793037f1ecf4f1ac07097e253d8c324a8cfd2846c20c1783e9ecedd4aede6f782c3e35e1d009365
6
+ metadata.gz: e14942acf892ed7be8e4e699556fd2f2576c275102f1c0cc6ddae2b481dc47567a3744b07446670d07965b147a216e970824f74fafe506e2dad0cc12988446ac
7
+ data.tar.gz: d37b4f9268de085bd276dc58d64530d2be975509298627bbe09dfad766c412352ff441ece4573a6068970aafb6a5a6df987dbd4039e162b3389f3e86a0c09faa
data/CHANGELOG.md CHANGED
@@ -5,6 +5,57 @@ 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.93.0] - 2026-09-06
9
+
10
+ ### Changed
11
+
12
+ - **Lockstep with libleptris 1.9.93** (1.9.91 → 1.9.93; no new C
13
+ surface — the audit holds at 261/261):
14
+ - 1.9.93 — **predicate-pattern dispatch indexes** (leptris/
15
+ leptris#866, filed from this binding last round): name keys
16
+ (a `foo` element never evaluates `item[...]` candidates) and a
17
+ literal `(name, attr, value)` bucket. Our exact fixture —
18
+ 120 `item[@k='N']` templates over 2400 elements — went
19
+ **102.4 ms / 0.6x Nokogiri → 2.65 ms / 20.3x faster**.
20
+ - 1.9.92 — **append-tail cache fix** (leptris#848 follow-up):
21
+ the 8-slot direct-mapped cache thrashed on the HTML shape
22
+ (persistent <body> alternating with fresh parents — O(n²)
23
+ over 40k nodes); 64 slots. Entity-laden HTML at scale
24
+ (1.4 MB, 120k entity refs): **12.2 ms vs Nokogiri's 44.5 ms —
25
+ 3.6x faster** (was 6x BEHIND libxml2 before the fix).
26
+ - 1.9.91 — the #659 Nokogiri-parity reference corpus (372/1555
27
+ exact tree matches, both conformance and parity floors
28
+ pinned) — test infra upstream; direction recorded: WHATWG
29
+ conformance with HTML4/HTML5 as distinct modes.
30
+
31
+ ## [1.9.90.0] - 2026-09-05
32
+
33
+ ### Changed
34
+
35
+ - **Lockstep with libleptris 1.9.90** (1.9.88 → 1.9.90; no new C
36
+ surface — the audit holds at 261/261):
37
+ - 1.9.88: template dispatch indexes (#682) — named-template
38
+ hash, per-mode candidate buckets, bare-Name fast path.
39
+ - 1.9.89: `fn:analyze-string` group spans fixed (leptris/leptris
40
+ #857): pmatch offsets are subject-relative but were applied
41
+ from the match start, and excess regexec slots read stale
42
+ stack data — single-group matches leaked the following
43
+ non-match into group values. Two specs pin the corrected
44
+ shapes (`12`, not `12cd`) and the call-order independence.
45
+ - 1.9.90: html5lib tree-construction corpus harness upstream
46
+ (193/1753 passing with a red-list snapshot; the implied-head /
47
+ foster-parenting bucket shapes the next HTML slices).
48
+
49
+ ### Fixed
50
+
51
+ - **Dispatch perf observation filed upstream (leptris/leptris
52
+ #866)**: predicate patterns (`match="item[@k='N']"` — the common
53
+ real-world shape) still pay the candidate ladder after 1.9.88;
54
+ measured 102.4 ms vs Nokogiri's 58.2 ms on a 120-template /
55
+ 2400-element fixture (bare names ride the fast path). Suggested
56
+ per-Name sub-bucketing; offered to re-measure any experimental
57
+ build.
58
+
8
59
  ## [1.9.87.0] - 2026-09-05
9
60
 
10
61
  ### Changed
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.87"
11
+ LIBLEPTRIS_VERSION = "1.9.93"
12
12
 
13
13
  CMAKE_FLAGS = %w[
14
14
  -DCMAKE_BUILD_TYPE=Release
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Leptris
4
- VERSION = "1.9.87.0"
4
+ VERSION = "1.9.93.0"
5
5
  end
data/lib/libleptris.so CHANGED
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.87.0
4
+ version: 1.9.93.0
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-05 00:00:00.000000000 Z
11
+ date: 2026-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi