leptris 1.9.46 → 1.9.48

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: 51f626f9b492eeec11d881c00f7b4ab26eef4ce07556ab2d2debb2e50467790b
4
- data.tar.gz: 1a986d10887121b2af117c9b68725242821959ce399b58d204d43a2a00048990
3
+ metadata.gz: fba4cd4124221b366914302d058d4d03137100bd1c1ba4289ef0bbce746f9737
4
+ data.tar.gz: 04f9dce5e22c4de15912461d7d8174e79f86480faec213384cc0117c64c91b94
5
5
  SHA512:
6
- metadata.gz: 3db16dcd9877a7bb6833c61e33aee5947b81c15f3f7a0aecd6ee5edc916cdfc12c82dbce56721e4affb19551532bb1ba105ee2ed96bbcc94ea35fb7d85c35083
7
- data.tar.gz: a65a3a9e7c1d28fbaa0e4e75ff4d05c5d588d661a740aad4821045c8b61bad3055c87ba7cbd553b26c7c5e02143f4df0e3674e7e2dc6bfa11c97eb397c8ab5f8
6
+ metadata.gz: d7046b68318b645c51ab954f0ea23dcc4d281bdfa16c78c4e72f18ae394066af35e94114fc51a4e7f070fd274eb904f0b4cb39058a6c0d556a1861a6f23cced4
7
+ data.tar.gz: 80988f629c886d05be404dfca1aa45535136cece81f8cc18a88c2a68c2ddc03ecd5cc6804666636386b581a3fc7bd24426f3afaa16a9ec5f2b533a533327fc27
data/CHANGELOG.md CHANGED
@@ -5,6 +5,60 @@ 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.48] - 2026-09-01
9
+
10
+ ### Changed
11
+
12
+ - **libleptris 1.9.31–1.9.32 lockstep**: two profiled XSLT pattern-
13
+ compiler releases — template matching is O(depth) instead of
14
+ O(siblings) (child-axis alternatives compile to per-step
15
+ name/kind tests up the parent chain), the per-call document
16
+ resolution collapses to an O(1) root read, and key() indexes
17
+ embed compiled patterns (one lookup dropped from 200 ms on the
18
+ 2000-book fixture). Audit 255/255, no new C surface; the suite
19
+ is unchanged.
20
+
21
+ ## [1.9.47] - 2026-09-01
22
+
23
+ ### Changed
24
+
25
+ - **libleptris 1.9.26–1.9.30 lockstep**: five upstream releases —
26
+ the XSLT 3.0 program through `xsl:accumulator` (ordered rules,
27
+ lazy per-tree folds, `accumulator-before/after`), the XPath 3.1
28
+ composition core (`let`, `!` map, `=>` arrow), and conformance
29
+ fixes (misplaced `xsl:catch` now a compile error matching
30
+ Saxon's XTSE0010, #669). Audit 255/255, no new C surface; the
31
+ suite is unchanged.
32
+
33
+ ## [1.9.46] - 2026-08-31
34
+
35
+ ### Fixed
36
+
37
+ - **Indent unit on text-bearing leaves (leptris-ruby#109 residual
38
+ 1, upstream #658)**: the serializer's fused-leaf fast path
39
+ computed `indent * indent_spaces` directly, bypassing the unit
40
+ branch — mixed-content leaves fell back to spaces. Fixed
41
+ engine-side in libleptris 1.9.25; the full #109 fixture
42
+ (`<r><a><b/></a><c>x</c></r>`) is now byte-identical to
43
+ Nokogiri's output (modulo their trailing newline). The moxml
44
+ indent_text wiring gate is complete.
45
+
46
+ ### Changed
47
+
48
+ - **libleptris 1.9.24–1.9.25 lockstep**: XSLT 3.0 increments
49
+ upstream (sequences and the 3.0 instruction set; grouping
50
+ including `group-adjacent`/`group-ending-with`, and
51
+ `xsl:analyze-string` with regex groups); teardown leak fixes.
52
+ Audit 255/255, no new C surface.
53
+
54
+ ### Meta
55
+
56
+ - Head-to-head re-measure on 1.9.25: **scalar XPath now 4.61×
57
+ faster than Nokogiri** (`string(//item[1])`: 359 → 60 ms per 50
58
+ evals — #645's scalar row collapses); the cold-walk row remains
59
+ the documented allocation floor with `Node#visit` as the
60
+ adopted-by-choice lever.
61
+
8
62
  ## [1.9.45] - 2026-08-31
9
63
 
10
64
  ### Added
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.25"
11
+ LIBLEPTRIS_VERSION = "1.9.32"
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.46"
4
+ VERSION = "1.9.48"
5
5
  end
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.46
4
+ version: 1.9.48
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-08-31 00:00:00.000000000 Z
11
+ date: 2026-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi