munola 0.5.0 → 0.5.2

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: 3fef04df27a6176d9c98ef6a96588ab444f63e92a6ef3c3c3fd73268af931de3
4
- data.tar.gz: 8190ecb25656352775ea9ead33c18e04c7faddaac23d67644045398fea80ce26
3
+ metadata.gz: 634f7369a35be4b04097f3539bdf6c41b0419836242450170c07d0937de85c76
4
+ data.tar.gz: 916ec77f29fefc76fabb0229c10078677ba01407d02fa02e71dd6973933961a2
5
5
  SHA512:
6
- metadata.gz: 7524cf02ef40ba7136a5ff531ffda09c2e1056b9a53b73710728be0ad64a7158d3aeccf94492a7401619776d2a44a07e22bcff7511ac775083112de200df4820
7
- data.tar.gz: fcf9fc3d4ac887817ad8dab39f5c071d4569a282a12fa2720bd5f935da62a4793e6a833c45032cead51f653603baf675f78f2f064351a8bae23516f912a9e883
6
+ metadata.gz: 044d6b03723fe94d321d1024927e9691c82cdf5a763aecd9a64709b6c4e6ffab4cb92b1555a15e812e7647b496cd1852f7d5dfb7cb3e470a789a64b0851be7f5
7
+ data.tar.gz: 2dc4d4e98eb5d60d948913b0dd3c69bb93077f372e76b4eddc11e2d5f96091cf7e32c7c9ded1759c1e5b96f6d5783d11a87459bea58f95cf43d874b866b2c56d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,38 @@
1
+ ## enola 0.5.2, enola-rb 0.5.2, munola 0.5.2 and munola-rb 0.5.2 (2026-08-23)
2
+
3
+ Rubydex is off in the config these gems write, and named in a comment beside
4
+ the reason. The release each gem drives carries a walk that can fail to
5
+ return: a constant reference spanning lines could be treated as its own
6
+ predecessor, so a tree with vendored gems could snapshot for twenty-six
7
+ minutes and several gigabytes without finishing. Two of the three Rails trees
8
+ it was tried on did exactly that.
9
+
10
+ The fix exists and is not yet in a published enola, so the default cannot
11
+ depend on it. Prism is unaffected and stays on: it parses a monolith in 13.7
12
+ seconds. Uncommenting the two lines brings Rubydex back for anyone who wants
13
+ it deliberately, and the default returns the moment the binary each gem drives
14
+ carries the fix.
15
+
16
+ ## enola 0.5.1 (2026-08-23)
17
+
18
+ The resolver no longer probes its own binstub. It read a candidate's first 512
19
+ bytes looking for the marker RubyGems writes, and a real binstub carries a
20
+ `/bin/sh` + `ruby -x` preamble holding the interpreter's absolute path, which puts
21
+ that marker around byte 580 — outside the window. So the guard missed every
22
+ RubyGems-generated binstub, the wrapper ran itself, and running itself has no
23
+ bottom: `enola --version` on a cold cache spawned Ruby processes until it was
24
+ killed. The whole file is read now, capped at 64 KiB so a released binary is never
25
+ slurped only to be rejected, and `Gem.bin_path` is recognised beside
26
+ `Gem.activate_bin_path`. A probe also marks its child's environment, and a resolver
27
+ that sees the marker declines to look at PATH at all, so the recursion is bounded
28
+ by construction rather than by how well a heuristic reads a file.
29
+
30
+ The marker is written where it is spawned: every probe passes it into the child,
31
+ so a wrapper reached under another name leaves PATH alone instead of probing in
32
+ turn. That bound is what covers the wrappers the content check cannot see, a
33
+ version manager's shim among them, which carries none of the markers a binstub
34
+ does. Reported and fixed by dejo1307 in #1.
35
+
1
36
  ## munola 0.4.4.2 and munola-rb 0.4.4.2 (2026-08-23)
2
37
 
3
38
  munola follows the channel it drives. Its binary is now cut from the stable
@@ -27,7 +27,10 @@ module Munola
27
27
  else
28
28
  lines << " # prism: the enola gem on this machine carries no provider script; add one here to run it"
29
29
  end
30
- lines += [" - name: rubydex", " expected_version: \"#{RUBYDEX_VERSION}\""]
30
+ lines += [" # rubydex is off until the channel release carries the walk fix:",
31
+ " # a reference spanning lines could be its own predecessor, so a tree with",
32
+ " # vendored gems could snapshot without ever finishing. Uncomment to run it.",
33
+ " # - name: rubydex", " # expected_version: \"#{RUBYDEX_VERSION}\""]
31
34
  "#{lines.join("\n")}\n"
32
35
  end
33
36
 
@@ -5,5 +5,5 @@ module Munola
5
5
  # CHANNEL_VERSION the fork release the gem fetches.
6
6
  UPSTREAM_VERSION = "0.4.4"
7
7
  CHANNEL_VERSION = "0.4.4.2"
8
- VERSION = "0.5.0"
8
+ VERSION = "0.5.2"
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: munola
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muhamed Isabegovic
@@ -53,14 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.3.1
55
55
  description: |
56
- The same pure-Ruby wrapper as the enola gem over another channel: the
57
- builds cut from a fork of enola, each release naming what differs. This
56
+ The binary this gem fetches is not an enola-labs release. It is a build
57
+ cut from https://github.com/misabegovic/enola, a fork of enola, whose
58
+ release notes name what differs from upstream release by release; this
58
59
  gem drives channel release 0.4.4.2, built on enola
59
- 0.4.4. `munola init` writes the recipe catalogue the
60
+ 0.4.4. Everything else is the enola gem's wrapper,
61
+ unchanged: fetched on first use, verified against the checksums the
62
+ release publishes, cached per user, every command and exit code
63
+ forwarded. Use the enola gem to run stock upstream instead.
64
+
65
+ What the fork adds: `munola init` writes the recipe catalogue the
60
66
  enola-guides gem carries (Ember, data ownership, API boundaries,
61
- background work, a tenant foreign key) into the project and binds the
62
- recipes its tree justifies, and turns both Ruby providers on by default. The Rails generator lives in munola-rb. Offered
63
- upstream where it fits; no binary here, nothing compiled.
67
+ background work, a tenant foreign key) into the project, binds the
68
+ recipes its tree justifies, and turns both Ruby providers on by default.
69
+ The Rails generator lives in munola-rb. Offered upstream where it fits;
70
+ no binary here, nothing compiled.
64
71
  email:
65
72
  - m.isabegovic@hotmail.com
66
73
  executables:
@@ -104,6 +111,6 @@ requirements: []
104
111
  rubygems_version: 3.5.22
105
112
  signing_key:
106
113
  specification_version: 4
107
- summary: 'One person''s taste on top of enola: a channel of its own and a recipe catalogue
108
- bound by what the tree shows.'
114
+ summary: 'Runs a fork build of enola, not the enola-labs release: a channel of its
115
+ own and a recipe catalogue bound by what the tree shows.'
109
116
  test_files: []