moxml 0.5.140 → 0.5.141

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: 40599a2ac65b555f44dd70acb32404c381886b86d1385e9d4cb9c516c613e3ae
4
- data.tar.gz: 5ed6d5baf3ba27e62191b468da167f8ad1f844a961d6879fb6343308ca646b62
3
+ metadata.gz: abd0d17dd69910a5dae8f2d65355b52210ac11864e21a01c69309f7617d1d3ef
4
+ data.tar.gz: 2b593dba220399f60c9d95f043333d093bb84f43d5089cdfc39229559a43620c
5
5
  SHA512:
6
- metadata.gz: 17709b3e62f6b7c19724b8c493dd1d46f44dc7f2c980d7c39a263be46d6118cad5be71f8493b2f23ed8a4ed214ab8e8c21be5790dfddf6e127302e280593f8d1
7
- data.tar.gz: 8ff39e0c9ac39d25f9cfd931055461cc26da5852f12881a63d4bccebde698d4dacb29995c9f40b3242ca943a55a10b2a69a5ea524f88b00f0bf3f87bb9b5674d
6
+ metadata.gz: 0f3649cf4b8b95c0a3e74dc52c9f848efd9686e05e8eac7d76280ac2b1efc2c27c1cc8da1ee0c6cdaf4f53a2b5c98d8aa0703418c0aee06f1887620f8cbb89d7
7
+ data.tar.gz: 797ec99ff45da619f5c2d859d06dd23d9bd95d1d03d98b224ba9fd281112746b303d9424c4d474711e881ee002b298a494970c9fef4b690c91badf18f24cb723
data/lib/moxml/context.rb CHANGED
@@ -13,9 +13,16 @@ module Moxml
13
13
  # registries strong). Ruby 3.4 rewrote WeakMap and is safe.
14
14
  # MRI < 3.4 takes the strong identity-Hash fallback (the Opal
15
15
  # shape, with the 65,536 valve in register_wrapper).
16
+ # Ruby >= 4.0 joins the strong fallback (ruby#489 / #487 class):
17
+ # 4.0's GC rework drops the weak wrapper entries mid-hydration —
18
+ # orphaned Leptris documents, freed pools, segfaults in
19
+ # leptris_element_get_document and 'Memory allocation failed' on
20
+ # the adoption walk. The gate reads as a version ALLOWLIST of
21
+ # WeakMap semantics we have validated, not a floor.
16
22
  WEAK_WRAPPERS = !defined?(ObjectSpace::WeakMap).nil? &&
17
23
  !(RUBY_ENGINE == "ruby" &&
18
- Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.4"))
24
+ (Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.4") ||
25
+ Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("4.0")))
19
26
  attr_reader :config
20
27
 
21
28
  def initialize(adapter = nil)
data/lib/moxml/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Moxml
4
- VERSION = "0.5.140"
4
+ VERSION = "0.5.141"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.140
4
+ version: 0.5.141
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-10-16 00:00:00.000000000 Z
11
+ date: 2026-10-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  Moxml is a unified XML manipulation library that provides a common API