leptris 1.9.90.0 → 1.9.92.1
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 +4 -4
- data/CHANGELOG.md +61 -21
- data/Rakefile +1 -1
- data/lib/leptris/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22a6c5c9f6c1936f8326f382bb7af70943d45573f5dd5f2dcf8f01715dda219f
|
|
4
|
+
data.tar.gz: 3027ff550a0d310c5030705447d1d6765571ee23f9a9b480cfa6e726461e629c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83515167b1d41a688a9923a2442325087b28f0aad3aa82d767e0ce100c83fbe9c6a76c59a3bc71244830b3a8247fe251dcd5169b7250954cfa8e6711caed79df
|
|
7
|
+
data.tar.gz: deacd256531c9509174349a61bf5a272061549967a94cb7cc3eaead403923f5c5e1ec4804a05082dfa1c0619bf99f0e709a5c96c819b6a2ade9016309297e21f
|
data/CHANGELOG.md
CHANGED
|
@@ -5,33 +5,73 @@ 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.92.1] - 2026-09-06
|
|
9
|
+
|
|
10
|
+
### Changed — hotfix: replaces libleptris 1.9.93
|
|
11
|
+
|
|
12
|
+
- **Re-pinned to libleptris 1.9.92** (from 1.9.93): the 1.9.93
|
|
13
|
+
predicate-pattern dispatch index silently drops templates past
|
|
14
|
+
96 distinct literal patterns (leptris/leptris#875 — wrong
|
|
15
|
+
transform output with no error). 1.9.92 predates the index and
|
|
16
|
+
dispatches correctly for any pattern count; the #875 sentinel
|
|
17
|
+
spec un-pends (97/97, 120/120 verified on this build) and stays
|
|
18
|
+
as the guard. **1.9.93.0 and 1.9.93.1 are yanked.**
|
|
19
|
+
- The honest cost: predicate-pattern dispatch returns to the
|
|
20
|
+
1.9.92 ladder (~102 ms on the 120-template fixture vs 1.9.93's
|
|
21
|
+
2.65 ms — but with correct output). Everything else from the
|
|
22
|
+
1.9.88-1.9.92 perf wave (bare-name dispatch indexes, the
|
|
23
|
+
append-tail cache — 3.6x Nokogiri on entity-laden HTML) is
|
|
24
|
+
retained.
|
|
25
|
+
- When the #875 fix releases upstream, the next `{C}.0` re-adopts
|
|
26
|
+
the index and re-runs this exact fixture as the gate.
|
|
27
|
+
|
|
28
|
+
## [1.9.93.1] - 2026-09-06
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **Lockstep with libleptris 1.9.93** — #866: predicate-pattern
|
|
33
|
+
dispatch indexes (name keys + literal @attr='value' index). The
|
|
34
|
+
reported fixture drops 82 → 2ms per transform (40x; ~28x ahead
|
|
35
|
+
of libxslt); the 2000-book scorecard is 3.93ms.
|
|
36
|
+
|
|
37
|
+
## [1.9.92.0] - 2026-09-05
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- **Lockstep with libleptris 1.9.91–1.9.92** — #659 Nokogiri
|
|
42
|
+
parity reference (372/1555 exact-match floor; WHATWG-conformance
|
|
43
|
+
direction recorded) and the append-tail cache fix: entity-laden
|
|
44
|
+
HTML 291ms → 42ms per 1.3MB page (6.8x), now at par to 1.15x
|
|
45
|
+
AHEAD of libxml2 — no sub-1x HTML parse shape remains.
|
|
46
|
+
|
|
8
47
|
## [1.9.90.0] - 2026-09-05
|
|
9
48
|
|
|
10
49
|
### Changed
|
|
11
50
|
|
|
12
|
-
- **Lockstep with libleptris 1.9.90**
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
#857): pmatch offsets are subject-relative but were applied
|
|
18
|
-
from the match start, and excess regexec slots read stale
|
|
19
|
-
stack data — single-group matches leaked the following
|
|
20
|
-
non-match into group values. Two specs pin the corrected
|
|
21
|
-
shapes (`12`, not `12cd`) and the call-order independence.
|
|
22
|
-
- 1.9.90: html5lib tree-construction corpus harness upstream
|
|
23
|
-
(193/1753 passing with a red-list snapshot; the implied-head /
|
|
24
|
-
foster-parenting bucket shapes the next HTML slices).
|
|
51
|
+
- **Lockstep with libleptris 1.9.90** — #659: the html5lib
|
|
52
|
+
tree-construction corpus harness (vendored snapshot, falsifiable
|
|
53
|
+
pass-count floor, red-list) and the empty-shape-inputs fix
|
|
54
|
+
(stray-end-only / doctype-only / empty input parse to the empty
|
|
55
|
+
document instead of failing).
|
|
25
56
|
|
|
26
|
-
|
|
57
|
+
## [1.9.89.0] - 2026-09-05
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- **Lockstep with libleptris 1.9.89** — #857: fn:analyze-string
|
|
62
|
+
group spans (subject-relative pmatch offsets + exact nmatch —
|
|
63
|
+
single-group regexes leaked the following non-match, and results
|
|
64
|
+
were call-order dependent).
|
|
65
|
+
|
|
66
|
+
## [1.9.88.0] - 2026-09-05
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
27
69
|
|
|
28
|
-
- **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
per-Name sub-bucketing; offered to re-measure any experimental
|
|
34
|
-
build.
|
|
70
|
+
- **Lockstep with libleptris 1.9.88** — #682 template dispatch
|
|
71
|
+
indexes: named-template hash, per-mode candidate buckets, and a
|
|
72
|
+
bare-Name pattern fast path. Template-heavy dispatch 10.21 →
|
|
73
|
+
5.56 ms per transform (1.83x); gap to in-process lxml/libxslt
|
|
74
|
+
narrows 3.27x → 1.78x.
|
|
35
75
|
|
|
36
76
|
## [1.9.87.0] - 2026-09-05
|
|
37
77
|
|
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.
|
|
11
|
+
LIBLEPTRIS_VERSION = "1.9.92"
|
|
12
12
|
|
|
13
13
|
CMAKE_FLAGS = %w[
|
|
14
14
|
-DCMAKE_BUILD_TYPE=Release
|
data/lib/leptris/version.rb
CHANGED
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.
|
|
4
|
+
version: 1.9.92.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ffi
|