studio-engine 0.10.0 → 0.11.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: 20b0e58f17421ce741452b329000bc657f0dba0304198d7dc1fb59cb448bfc6d
4
- data.tar.gz: d4446a5bad4b0b744e54ad7d4f275cf77455a68f2cf3289d6d9c472ca1f3c548
3
+ metadata.gz: 4d4a633071c04010dadfb92d3beef1a7e075a90c94e55ab5761a03a114f48f40
4
+ data.tar.gz: fc17d48b30cfcbde79e4c3bdc5bf618789a7765dbc359a134b28800cc772429e
5
5
  SHA512:
6
- metadata.gz: b15b1f884815e8afbad3d9aa181589230193942970d62457075d08c47521c967a005025560e665b436ceb8a6c78f425688430f122cad9a7f21e8a4432bd4ca22
7
- data.tar.gz: 5a6c6817018309298bb3a8eb686f61d7e93d9718d5b8ce5b5a8e642efc82f99695d6bf0c4f23b9421fa8c65481722e9164934c7cbe47f254e3abb482d7ea42ed
6
+ metadata.gz: e32e14a996202c61dd230a4084927539618341c0343bbafad1066280394da6d84976222a5621000157d6e84df83452c6a5f234f36ca11e18c408e340757a0b49
7
+ data.tar.gz: 8592453e2efdbad7c3df75bfb13274a6abfa080f9de9e6188a70d90e935d2dfa1446c788f15d55eab467207bcfa9cef129bf9b0abf3fbb001e846a11a6c31f3f
data/CHANGELOG.md CHANGED
@@ -4,6 +4,32 @@ The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This pro
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.11.0 — 2026-06-24
8
+
9
+ ### Changed
10
+ - **Rails 8.1 support** — widened the gemspec `rails` bound from
11
+ `">= 7.0", "< 8.0"` to `">= 7.2", "< 8.2"`, so consuming apps can migrate to
12
+ Rails 8.1 independently (the engine no longer pins the ecosystem to Rails 7).
13
+ This release is the gate for the McRitchie Rails 8.1 train — `mcritchie-studio`
14
+ and `turf-monster` can bundle Rails 8.1 only once this version is published.
15
+ The lower bound moves to 7.2 (the oldest Rails the apps actually run) since
16
+ Rails 8 requires Ruby >= 3.2 and the ecosystem is already on Ruby 3.3.11.
17
+
18
+ ### Added
19
+ - **`test/dummy` Rails app + `test/integration/engine_rails_8_1_boot_test.rb`** —
20
+ boots the engine inside a real Rails app and exercises its Rails-version-
21
+ sensitive surfaces (the Railtie registration, Zeitwerk autoload wiring, the
22
+ `Studio.routes` DSL, and the `ErrorLog` / `ThemeSetting` / `Sluggable`
23
+ ActiveRecord models). Re-run this against any new Rails line before widening
24
+ the bound again. The engine's full unit suite + this boot test are green
25
+ against Rails 8.1.3 (ActiveSupport/ActiveRecord 8.1, Zeitwerk 2.8, minitest 6).
26
+
27
+ ### Fixed
28
+ - `bin/release-check` now prefers the `ruby@3.3` toolchain (was pinned to the
29
+ retired `ruby@3.1`, which cannot resolve Rails 8.1) and runs the full test
30
+ list, including the new Rails 8.1 boot test and the previously-omitted
31
+ `link_token` / sticky-header / admin-models-table tests.
32
+
7
33
  ## 0.10.0 — 2026-06-24
8
34
 
9
35
  ### Added
data/Gemfile CHANGED
@@ -2,17 +2,19 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- # nokogiri 1.18.10 has 3 CVEs (1 HIGH regex-backtracking + 2 MEDIUM
6
- # in XSLT / xmlC14NExecute). Fix is `>= 1.19.3` but nokogiri 1.19.x
7
- # requires Ruby 3.2+. The ecosystem currently runs on Ruby 3.1.7;
8
- # bumping Ruby is a separate effort (across both Rails apps).
9
- #
10
- # **Important**: this gem does NOT declare nokogiri as a runtime
11
- # dependency in its gemspec — nokogiri comes into the consuming
12
- # Rails app via Rails itself. Consumers running Rails on a Ruby
13
- # version that supports nokogiri 1.19.x will resolve it. The
14
- # studio-engine gem's own Gemfile.lock (this repo's dev env) is the
15
- # only place still on 1.18.10.
16
- #
17
- # Tracked in SECURITY-AUDIT-2026-05-17.md. When the ecosystem bumps
18
- # to Ruby 3.2+, add: gem "nokogiri", ">= 1.19.3", group: :development
5
+ # nokogiri: historically pinned to 1.18.10 here while the ecosystem was on
6
+ # Ruby 3.1.7 (nokogiri >= 1.19.x requires Ruby 3.2+). The ecosystem is now on
7
+ # Ruby 3.3.11, so a plain `bundle update` resolves the patched nokogiri
8
+ # (>= 1.19.3, the line that fixed 3 CVEs: 1 HIGH regex-backtracking + 2 MEDIUM
9
+ # XSLT / xmlC14NExecute). This gem still does NOT declare nokogiri as a runtime
10
+ # dependency it arrives via Rails in the consuming app. Tracked in
11
+ # SECURITY-AUDIT-2026-05-17.md.
12
+
13
+ group :development, :test do
14
+ # SQLite drives the test/dummy Rails app's in-memory database (see
15
+ # test/integration/engine_rails_8_1_boot_test.rb), which boots the engine
16
+ # against a real Rails app so we catch Rails-version incompatibilities in the
17
+ # engine's ActiveRecord/Railtie surfaces. Not a runtime dependency — the
18
+ # consuming apps bring their own database adapter. Rails 8.1 needs sqlite3 ~> 2.1.
19
+ gem "sqlite3", ">= 2.1"
20
+ end
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.10.0"
2
+ VERSION = "0.11.0"
3
3
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.files = Dir["lib/**/*", "app/**/*", "config/**/*", "db/**/*", "tailwind/**/*", "Gemfile", "studio-engine.gemspec", "README.md", "CHANGELOG.md", "LICENSE"]
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "rails", ">= 7.0", "< 8.0"
24
+ spec.add_dependency "rails", ">= 7.2", "< 8.2"
25
25
  spec.add_dependency "tailwindcss-rails", "~> 4.5"
26
26
  spec.add_dependency "faker", ">= 2.0", "< 4.0"
27
27
  spec.add_dependency "solid_queue", ">= 1.0", "< 2.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: studio-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie
@@ -15,20 +15,20 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '7.0'
18
+ version: '7.2'
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
- version: '8.0'
21
+ version: '8.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '7.0'
28
+ version: '7.2'
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: '8.0'
31
+ version: '8.2'
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: tailwindcss-rails
34
34
  requirement: !ruby/object:Gem::Requirement