inline_forms 8.0.0 → 8.0.3

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: 3ea07954ec1488d0c6725c59dee45ff2097dd3fef1e4b773e41bd2e6079e74fd
4
- data.tar.gz: b88f0f36bb6191e07728fec634e944f64f4927587f8de1a83f75bd3795dfcaf1
3
+ metadata.gz: dbf71e495b41149f884052c32a5cfb1a0d01148c2cc957373e63803ac4bc7c00
4
+ data.tar.gz: 108b9f3bdd412bbff043bea5808a5920172a7c33f3ff126afa209684af33fb3e
5
5
  SHA512:
6
- metadata.gz: 67e67550e60306c6ee8d7d975baaf3ea130d2030bfde1c9619b38cac77074b85c967bd2fe48c7660d54b0369b1832433aed7c015bb3a9ef22482def8306a8f00
7
- data.tar.gz: a8edc90f99ea39ac1c350816d1a81bc3587ae2eb2afb155d98578f3239057884118553fbb0b0167a3a2f209bf1a53edc80a43f0a16cd14cf17db6a5b62ec218d
6
+ metadata.gz: c10d87d29d229849facdb2b06e0403de7ad6cb0442eb3f10126dc723894b2c28a0cd1e0e76a3c4acad9a7e4efa3fd292bc53604293eb124cd99b0de1d76d45a8
7
+ data.tar.gz: 202650e4e15e768e585110e94f8901498f6ae718f35c47c2f81c9f18e94d38350fb1a4a3fbf8cc33b2f8976d90bd9db0daca322fdb901e1873afc13b6b3ca950
data/CHANGELOG.md CHANGED
@@ -4,6 +4,33 @@ All notable changes to this project are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [8.0.3] - 2026-05-22
8
+
9
+ ### Changed
10
+
11
+ - **Rails 8 (Phase 4):** framework-defaults audit documented in [`docs/rails-8-phase4-audit.md`](docs/rails-8-phase4-audit.md); generated apps stay on `load_defaults 8.0` only (no `new_framework_defaults_8_0.rb`, matching `rails new` 8.0.5).
12
+ - **Unicorn template:** `before_fork` uses `ActiveRecord::Base.connection_pool.disconnect!` (Rails 8–compatible).
13
+ - **README.rdoc:** requirements table for Ruby 4 / Rails 8 / validation_hints 8; remove stale “broken after 6.2.14” notice; `rails-i18n ~> 8.0` narrative.
14
+
15
+ ## [8.0.2] - 2026-05-22
16
+
17
+ ### Changed
18
+
19
+ - **Rails 8 (installer):** `inline_forms create` prefers **`rails` 8.0.x** for `rails new`; generated Gemfile pins **`rails ~> 8.0`**, **`rails-i18n ~> 8.0`**, **`config.load_defaults 8.0`**; installer migrations **`[8.0]`**; dev/test **`sqlite3 >= 2.1`** (Phase 3).
20
+ - **Pre-release gem install:** before `bundle install`, installs built **`*.gem`** files from **`INLINE_FORMS_RELEASE_ROOT`** / **`VALIDATION_HINTS_ROOT`** (auto-discovered from `~/code/inline_forms` and `~/code/validation_hints` when present) into the app RVM gemset so unreleased 8.x gems resolve without Gemfile path pins.
21
+ - **`InlineForms::VERSION`** and **`InlineFormsInstaller::VERSION`** → **8.0.2** (lockstep with **validation_hints**).
22
+
23
+ ## [8.0.1] - 2026-05-22
24
+
25
+ ### Changed
26
+
27
+ - **Rails 8 (engine):** `inline_forms` gemspec requires **`rails >= 8.0`, `< 8.1`**, **`rails-i18n >= 8.0`, `< 9.0`**, **`validation_hints >= 8.0.1`, `< 9.0`** (Phase 2). Generator migrations emit **`ActiveRecord::Migration[8.0]`**.
28
+ - **`InlineForms::VERSION`** and **`InlineFormsInstaller::VERSION`** → **8.0.1** (lockstep with **validation_hints**).
29
+
30
+ ### Note
31
+
32
+ - **`inline_forms_installer` / `--example` app** still pins **Rails 7.2** in the template until Phase 3.
33
+
7
34
  ## [8.0.0] - 2026-05-22
8
35
 
9
36
  ### Added
data/README.rdoc CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Inline Forms is almost a complete admin application. You can try it out easily.
4
4
 
5
- = Release status notice
5
+ = Requirements
6
6
 
7
- All gem versions after +6.2.14+ are currently broken.
8
-
9
- We will post a notice when the gem is good again.
7
+ * Ruby **>= 4.0** (generated apps pin **ruby-4.0.4**)
8
+ * Rails **8.0.x** (+rails ~> 8.0+, +config.load_defaults 8.0+)
9
+ * **validation_hints** **~> 8** (companion gem; same version line as +inline_forms+ / +inline_forms_installer+)
10
10
 
11
11
  = Usage
12
12
 
@@ -14,7 +14,7 @@ The +inline_forms create+ CLI ships in the +inline_forms_installer+ gem (not in
14
14
 
15
15
  gem install inline_forms_installer
16
16
 
17
- Generated apps pin +inline_forms+ and +validation_hints+ at +~> 7+ (Bundler picks the latest 7.x). The three gems (+inline_forms+, +inline_forms_installer+, +validation_hints+) are released together with the same version number; use a current +inline_forms_installer+ so the installer template matches current Rails pins. To add the engine to an existing Rails app without the CLI:
17
+ Generated apps pin +inline_forms+ and +validation_hints+ at +~> 8+ (Bundler picks the latest 8.x). The three gems (+inline_forms+, +inline_forms_installer+, +validation_hints+) are released together with the same version number; use a current +inline_forms_installer+ so the installer template matches current Rails pins. To add the engine to an existing Rails app without the CLI:
18
18
 
19
19
  gem install inline_forms inline_forms_installer
20
20
 
@@ -246,7 +246,7 @@ In every case the Turbo wiring is the same: +link_options: { data: { turbo_frame
246
246
 
247
247
  == Generated application +rails-i18n+
248
248
 
249
- New apps get +rails-i18n+ from RubyGems (+ '~> 7.0'+), not from the +svenfuchs/rails-i18n+ Git repository. Release line 7.0.x declares +railties+ between 6 and 8, which matches the installer template’s pinned +rails ~> 7.2.3+ (with +config.load_defaults 7.2+). The upstream repository’s default branch is aimed at newer Rails and would pull in +railties+ 8+, which cannot be resolved together with that pin.
249
+ New apps get +rails-i18n+ from RubyGems (+ '~> 8.0'+), not from the +svenfuchs/rails-i18n+ Git repository. The installer pins +rails ~> 8.0+ with +config.load_defaults 8.0+; the published +rails-i18n+ 8.x line matches that stack.
250
250
 
251
251
  == File uploads (CarrierWave)
252
252
 
@@ -0,0 +1,39 @@
1
+ # Rails 8 — Phase 4 audit (framework defaults & cleanup)
2
+
3
+ **Date:** 2026-05-22
4
+ **Scope:** Post–Phase 3 (`inline_forms` 8.0.2 installer + example app gate).
5
+
6
+ ## 4.1 Framework defaults (`rails new` 8.0.5)
7
+
8
+ Vanilla `rails _8.0.5_ new` (importmap, `--skip-bundle`):
9
+
10
+ - `config/application.rb`: `config.load_defaults 8.0`, `config.autoload_lib(ignore: %w[assets tasks])`
11
+ - Generator **removes** `config/initializers/new_framework_defaults_8_0.rb` (opt-in flags live only in the railties template until uncommented)
12
+ - Optional 8.0 toggles (all commented in upstream template): `active_support.to_time_preserves_timezone`, `action_dispatch.strict_freshness`, `Regexp.timeout`
13
+
14
+ **Installer decision:** Match vanilla Rails 8 — rely on `load_defaults 8.0` only; do **not** ship `new_framework_defaults_8_0.rb` in generated apps. Keep a belt-and-suspenders `gsub` to `load_defaults 8.0` if an older `rails new` left another minor.
15
+
16
+ ## 4.2 Rails 8 API / deprecation grep
17
+
18
+ | Area | Result |
19
+ |------|--------|
20
+ | `form_with` / `model: nil` | No engine usage; inline fields use custom helpers / Turbo, not `form_with` |
21
+ | `form_for` | Devise templates only (upstream Devise 5) |
22
+ | `ActiveRecord::Base.connection` | Unicorn `before_fork` template updated → `connection_pool.disconnect!` |
23
+ | `ActionController` deprecated flags | None in `lib/` |
24
+ | Generator migrations | `ActiveRecord::Migration[8.0]` (tests assert) |
25
+
26
+ ## 4.3 Dart Sass / SCSS
27
+
28
+ Foundation + engine SCSS still emit Dart Sass 1.x deprecation warnings during `dartsass:build`. Accepted for 8.0 ship; migrate to `@use` / `color.scale` before Dart Sass 3.0 (see `stuff/pipeline.md`).
29
+
30
+ ## 4.4 bundler-audit
31
+
32
+ | Lockfile | Result (2026-05-22) |
33
+ |----------|---------------------|
34
+ | `validation_hints/Gemfile.lock` | No vulnerabilities found |
35
+ | Example app `MyApp/Gemfile.lock` | No vulnerabilities found (`bundler-audit` on default gemset) |
36
+
37
+ ## 4.5 Example app gate (unchanged baseline)
38
+
39
+ `inline_forms create MyApp -d sqlite --example` → **88 runs, 502 assertions, 0 failures, 0 errors, 0 skips** (Phase 3, Rails 8.0.5 stack).
data/inline_forms.gemspec CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |s|
19
19
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_dependency("validation_hints", "~> 8")
23
- s.add_dependency("rails", ">= 7.2.3.1", "< 7.3")
24
- s.add_dependency("rails-i18n", ">= 7.0", "< 8.0")
22
+ s.add_dependency("validation_hints", ">= 8.0.2", "< 9.0")
23
+ s.add_dependency("rails", ">= 8.0", "< 8.1")
24
+ s.add_dependency("rails-i18n", ">= 8.0", "< 9.0")
25
25
 
26
26
  s.add_development_dependency("minitest", "~> 5.0")
27
27
  end
@@ -1,4 +1,4 @@
1
- class InlineFormsCreate<%= table_name.camelize %> < ActiveRecord::Migration[7.0]
1
+ class InlineFormsCreate<%= table_name.camelize %> < ActiveRecord::Migration[8.0]
2
2
 
3
3
  def self.up
4
4
  create_table :<%= table_name + @primary_key_option %> do |t|
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module InlineForms
3
- VERSION = "8.0.0"
3
+ VERSION = "8.0.3"
4
4
  end
@@ -50,7 +50,7 @@ class InlineFormsGeneratorTest < Minitest::Test
50
50
 
51
51
  assert_includes(application_controller, "MODEL_TABS = %w(things ")
52
52
 
53
- assert_includes(migration, "class InlineFormsCreateThings < ActiveRecord::Migration[7.0]")
53
+ assert_includes(migration, "class InlineFormsCreateThings < ActiveRecord::Migration[8.0]")
54
54
  assert_includes(migration, "create_table :things do |t|")
55
55
  assert_includes(migration, "t.string :name")
56
56
  assert_includes(migration, "t.belongs_to :category")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inline_forms
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ace Suares
@@ -15,56 +15,62 @@ dependencies:
15
15
  name: validation_hints
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 8.0.2
21
+ - - "<"
19
22
  - !ruby/object:Gem::Version
20
- version: '8'
23
+ version: '9.0'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
- - - "~>"
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 8.0.2
31
+ - - "<"
26
32
  - !ruby/object:Gem::Version
27
- version: '8'
33
+ version: '9.0'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: rails
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
32
38
  - - ">="
33
39
  - !ruby/object:Gem::Version
34
- version: 7.2.3.1
40
+ version: '8.0'
35
41
  - - "<"
36
42
  - !ruby/object:Gem::Version
37
- version: '7.3'
43
+ version: '8.1'
38
44
  type: :runtime
39
45
  prerelease: false
40
46
  version_requirements: !ruby/object:Gem::Requirement
41
47
  requirements:
42
48
  - - ">="
43
49
  - !ruby/object:Gem::Version
44
- version: 7.2.3.1
50
+ version: '8.0'
45
51
  - - "<"
46
52
  - !ruby/object:Gem::Version
47
- version: '7.3'
53
+ version: '8.1'
48
54
  - !ruby/object:Gem::Dependency
49
55
  name: rails-i18n
50
56
  requirement: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '7.0'
60
+ version: '8.0'
55
61
  - - "<"
56
62
  - !ruby/object:Gem::Version
57
- version: '8.0'
63
+ version: '9.0'
58
64
  type: :runtime
59
65
  prerelease: false
60
66
  version_requirements: !ruby/object:Gem::Requirement
61
67
  requirements:
62
68
  - - ">="
63
69
  - !ruby/object:Gem::Version
64
- version: '7.0'
70
+ version: '8.0'
65
71
  - - "<"
66
72
  - !ruby/object:Gem::Version
67
- version: '8.0'
73
+ version: '9.0'
68
74
  - !ruby/object:Gem::Dependency
69
75
  name: minitest
70
76
  requirement: !ruby/object:Gem::Requirement
@@ -490,6 +496,7 @@ files:
490
496
  - docs/jquery-widgets.md
491
497
  - docs/prompt/.gitignore
492
498
  - docs/prompt/test-the-example-app.md
499
+ - docs/rails-8-phase4-audit.md
493
500
  - docs/turbo-stream-audit.md
494
501
  - docs/ujs-to-turbo.md
495
502
  - inline_forms.gemspec