leptris 1.9.197.0 → 1.9.199.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: 1fe0d9ad19af1ea0312a5a04daf2f3fededf7c630490ebcf337bd231c5e86f76
4
- data.tar.gz: 69ba7d9ba6b929220068d310d98e06e42480764828f023ed981b4f6625adb193
3
+ metadata.gz: b7317a3a059f59af92c730eda04a9793104d627f4929db5298756be47f318817
4
+ data.tar.gz: 121b3049b4be8b70aa1e6244f2140f351039794ea04a0bf1f09e40a23f366453
5
5
  SHA512:
6
- metadata.gz: 4eb77398a80e630172e14fe9d4ae3cbed2dc0416d3b6f6ed5d2343b394eb24477e9b824d8cfa5d18cdcc61cc2788d812de9b9ea533bf15a34f7478c51882aee7
7
- data.tar.gz: 2a10f88e73dceb1ae6b48bb3aeacd8f5f696d54cbb5906acece5d2dac19c81925742b575f42a51a5a5eab750981fa4e9691570359cfa7dafd97c617b5adefff8
6
+ metadata.gz: a4dd3fb633b04367c5099f43c9d2b1d6531bc790bb1aa93bc0e273d6232409e780d71e458d76129992f74cb8e5522959b14636f0d74855570d242fba086c93c5
7
+ data.tar.gz: 6fdbbe9dc7e1b92c06774fd92413989574c6505f102e086d4a9919bac76cf80432b688fe94347a7404f29af26808ccd2a4f756d0afa5da3fcd165ce8294e3093
data/CHANGELOG.md CHANGED
@@ -5,6 +5,35 @@ 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.199.0] - 2026-09-19
9
+
10
+ ### Changed — libleptris 1.9.197 → 1.9.199 (lockstep; 1.9.198/199
11
+ released before this gem, entries folded)
12
+
13
+ - **The 32-bit port shipped (upstream #1174 closed)** — per-wordsize
14
+ layout pins replace the 64-bit-only ABI asserts, xsl:number values
15
+ are 64-bit end to end (ILP32 truncation fixed), and SSE2 paths
16
+ gate on `__SSE2__` rather than x86-ness. **The `arm-linux` and
17
+ `arm-linux-musl` platform gems compile for the first time** —
18
+ their release legs (experimental, with in-container install +
19
+ round-trip smoke) validate the port directly.
20
+ - **The root_doc_map TLS memo no longer resolves
21
+ namebp-carrying elements** (1.9.198, leptris/leptris#1189,
22
+ closed) — upstream adopted exactly the one-line guard filed from
23
+ our ubuntu-3.4 CI investigation: a recycled root address no
24
+ longer makes `set_root` mis-reject a same-document attach as
25
+ "cross-document". The seam_and_reads spec that exposed it runs
26
+ green across the full grid, deterministically.
27
+ - HTML: memchr prefilter in the raw-text close-tag scan; 256-entry
28
+ LUT for the attribute-name scan (#1177).
29
+ - `leptris validate --dtd` + DTD content-model fixes (cli; the
30
+ binding's DTD surface unchanged).
31
+ - Still experimental pending upstream: ppc64le (LTO export
32
+ internalization, #1196 — the no-LTO release build ships working
33
+ gems) and s390x big-endian parser (#1197/#1194, engine work
34
+ in progress upstream).
35
+ - No public-symbol changes: audit 323/323. 727/0 both modes.
36
+
8
37
  ## [1.9.197.0] - 2026-09-18
9
38
 
10
39
  ### Changed — libleptris 1.9.194 → 1.9.197 (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.197"
11
+ LIBLEPTRIS_VERSION = "1.9.199"
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
@@ -128,6 +128,12 @@ task :compile do
128
128
  # LEPTRIS_PGO=0 escapes to the single-stage build.
129
129
  pgo = ENV["LEPTRIS_PGO"] != "0" && !Gem.win_platform?
130
130
  if pgo
131
+ # The trainer is disposable infrastructure — an engine-side
132
+ # trainer break (e.g. leptris/leptris#1204: GCC LTO internalizes
133
+ # CLI-only API symbols and the CLI link dies) must degrade the
134
+ # gem to the plain build (loudly, with the issue pointer), not
135
+ # block every platform's release.
136
+ begin
131
137
  # _GNU_SOURCE for the TRAIN build only: the CLI (the trainer, not
132
138
  # built in normal gems) uses fileno, which musl hides without a
133
139
  # POSIX feature macro (glibc is lenient). Upstream fix pending in
@@ -168,6 +174,15 @@ task :compile do
168
174
  sh "cmake -B #{build}/build -S #{build} #{cmake_base} " \
169
175
  "-DLEPTRIS_BUILD_CLI=OFF -DLEPTRIS_ENABLE_PGO=USE"
170
176
  sh "cmake --build #{build}/build --config Release -j 4"
177
+ rescue => e
178
+ warn "leptris: PGO trainer failed (#{e.message.to_s[0, 160]}); " \
179
+ "shipping the single-stage build — the parse path loses the " \
180
+ "~20% PGO gain this release (leptris/leptris#1204 tracks the " \
181
+ "engine-side trainer break)"
182
+ rm_rf(File.join(build, "build"))
183
+ sh "cmake -B #{build}/build -S #{build} #{cmake_base}"
184
+ sh "cmake --build #{build}/build --config Release -j 4"
185
+ end
171
186
  else
172
187
  sh "cmake -B #{build}/build -S #{build} #{cmake_base}"
173
188
  sh "cmake --build #{build}/build --config Release -j 4"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Leptris
4
- VERSION = "1.9.197.0"
4
+ VERSION = "1.9.199.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.197.0
4
+ version: 1.9.199.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -144,6 +144,10 @@ files:
144
144
  - lib/leptris/vendor/aarch64-linux-musl/libutf8proc.so.3
145
145
  - lib/leptris/vendor/aarch64-linux/libleptris.so
146
146
  - lib/leptris/vendor/aarch64-linux/libutf8proc.so.3
147
+ - lib/leptris/vendor/arm-linux-musl/libleptris.so
148
+ - lib/leptris/vendor/arm-linux-musl/libutf8proc.so.3
149
+ - lib/leptris/vendor/arm-linux/libleptris.so
150
+ - lib/leptris/vendor/arm-linux/libutf8proc.so.3
147
151
  - lib/leptris/vendor/arm64-darwin/libleptris.dylib
148
152
  - lib/leptris/vendor/arm64-darwin/libutf8proc.3.dylib
149
153
  - lib/leptris/vendor/ppc64le-linux/libleptris.so