enola-rb 0.5.0 → 0.5.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/lib/enola_rb/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29d16125df2191d08effd55d0fbac2499a593a86dc2fe4686ac3086caf8b8840
4
- data.tar.gz: b40ed2edef51dc2c28c53c69192feb7a3c1cb9ac5088e004b320fa68bbf0fc92
3
+ metadata.gz: 9fbcd837c69e2e0a6b92dfbddc30d9aaac38f54213113b8d4d6a589320e32d27
4
+ data.tar.gz: 8792cc31cdda93b7babb26d0456d32df66b216c81f12d2ae65b9a7428f7f8006
5
5
  SHA512:
6
- metadata.gz: 823742ff6c4312dad0bd245792958b641b6a4f0119b614df664bb860b97428deea65c458af875dc1fd02874ebab02b23e936a49fbf404a9ba4760a2e860670c7
7
- data.tar.gz: 46fb4ff8b9f5b261a430e6b724831259471b633e5f7300bb2dbdebbaf45f13183695afb79965b99d2f01e1ae8b385da7a83049b78795111b3aa0e41a421bc4cd
6
+ metadata.gz: c74832d5048372be8512568349382cd78ec374dd05602ad2644cbc6657b7f40cadc1c83c202165ed907ef0bd49b43535672ea31c7420bedd961aee16c58b4593
7
+ data.tar.gz: 61c82759e4766c5de2ff211db8589e22d32f154a40c66137250bc323c854a07406d53c6ca40bd153c99ba5c8801b6cf1a9f0de1654e95531f0caef913b936bde
data/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## enola 0.5.1 (2026-08-23)
2
+
3
+ The resolver no longer probes its own binstub. It read a candidate's first 512
4
+ bytes looking for the marker RubyGems writes, and a real binstub carries a
5
+ `/bin/sh` + `ruby -x` preamble holding the interpreter's absolute path, which puts
6
+ that marker around byte 580 — outside the window. So the guard missed every
7
+ RubyGems-generated binstub, the wrapper ran itself, and running itself has no
8
+ bottom: `enola --version` on a cold cache spawned Ruby processes until it was
9
+ killed. The whole file is read now, capped at 64 KiB so a released binary is never
10
+ slurped only to be rejected, and `Gem.bin_path` is recognised beside
11
+ `Gem.activate_bin_path`. A probe also marks its child's environment, and a resolver
12
+ that sees the marker declines to look at PATH at all, so the recursion is bounded
13
+ by construction rather than by how well a heuristic reads a file.
14
+
15
+ The marker is written where it is spawned: every probe passes it into the child,
16
+ so a wrapper reached under another name leaves PATH alone instead of probing in
17
+ turn. That bound is what covers the wrappers the content check cannot see, a
18
+ version manager's shim among them, which carries none of the markers a binstub
19
+ does. Reported and fixed by dejo1307 in #1.
20
+
1
21
  ## munola 0.4.4.2 and munola-rb 0.4.4.2 (2026-08-23)
2
22
 
3
23
  munola follows the channel it drives. Its binary is now cut from the stable
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EnolaRb
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enola-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muhamed Isabegovic