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 +4 -4
- data/CHANGELOG.md +27 -0
- data/README.rdoc +6 -6
- data/docs/rails-8-phase4-audit.md +39 -0
- data/inline_forms.gemspec +3 -3
- data/lib/generators/templates/migration.erb +1 -1
- data/lib/inline_forms/version.rb +1 -1
- data/test/inline_forms_generator_test.rb +1 -1
- metadata +20 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dbf71e495b41149f884052c32a5cfb1a0d01148c2cc957373e63803ac4bc7c00
|
|
4
|
+
data.tar.gz: 108b9f3bdd412bbff043bea5808a5920172a7c33f3ff126afa209684af33fb3e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
=
|
|
5
|
+
= Requirements
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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 +~>
|
|
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 (+ '~>
|
|
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", "
|
|
23
|
-
s.add_dependency("rails", ">=
|
|
24
|
-
s.add_dependency("rails-i18n", ">=
|
|
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
|
data/lib/inline_forms/version.rb
CHANGED
|
@@ -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[
|
|
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.
|
|
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: '
|
|
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: '
|
|
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:
|
|
40
|
+
version: '8.0'
|
|
35
41
|
- - "<"
|
|
36
42
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: '
|
|
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:
|
|
50
|
+
version: '8.0'
|
|
45
51
|
- - "<"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
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: '
|
|
60
|
+
version: '8.0'
|
|
55
61
|
- - "<"
|
|
56
62
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '
|
|
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: '
|
|
70
|
+
version: '8.0'
|
|
65
71
|
- - "<"
|
|
66
72
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '
|
|
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
|