Skip to content

Bump minimum Ruby to 2.7 and refresh README compatibility info#136

Merged
serradura merged 6 commits into
mainfrom
bump-ruby-minimum
May 23, 2026
Merged

Bump minimum Ruby to 2.7 and refresh README compatibility info#136
serradura merged 6 commits into
mainfrom
bump-ruby-minimum

Conversation

@serradura

@serradura serradura commented May 23, 2026

Copy link
Copy Markdown
Member

Summary

Aligns the gem's stated Ruby floor with what CI actually exercises.

  • u-case.gemspec: required_ruby_version bumped from >= 2.2.0>= 2.7.0. The CI matrix already starts at 2.7 (Rubies 2.5 and 2.6 are EOL upstream), so the old declaration was misleading users into thinking older Rubies were supported.
  • README badges (en + pt-BR): show ruby >= 2.7 / ruby 2.7+.
  • Compatibility table (en + pt-BR): refreshed the unreleased row to reflect what's on main today:
    • ruby >= 2.7
    • activemodel >= 6.0 (was >= 3.2, < 7.0 — out of date; we now test through Rails 8.1 + edge)
    • u-attributes unchanged (>= 2.7, < 3.0)
  • Bumped the next-row label 4.5.14.5.2 to match the latest published release tag, and fixed a small typo in the pt-BR header (u-attributes-u-attributes).

The 4.5.2 row keeps its original constraints (that's what shipped); only the unreleased row reflects the new floor — so this PR does not retroactively change what older Rubies can install.

Test plan

  • CI passes on the full Ruby 2.7..4.0 + head matrix
  • Rendered README badge shows ruby >= 2.7
  • Compatibility table renders correctly in both READMEs

🤖 Generated with Claude Code

serradura and others added 2 commits May 23, 2026 15:41
- gemspec: required_ruby_version >= 2.7.0 (matches the CI matrix floor
  established by the modernization PR; drops 2.2..2.6 which are EOL)
- README badges: show "ruby >= 2.7" / "ruby 2.7+"
- Compatibility table:
  - "unreleased" row reflects current main: ruby >= 2.7,
    activemodel >= 6.0 (tested through Rails 8.1 + edge)
  - 4.5.1 -> 4.5.2 to match the last published release
  - Fix small typo in pt-BR header ("u-attributes-" -> "u-attributes")

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Bump VERSION from 4.5.2 -> 5.0.0 to signal the Ruby/Rails floor change
  (Ruby >= 2.7, activemodel >= 6.0)
- Compatibility table: label the "main" row 5.0.0 instead of "unreleased"
- v4.x row: keep label as 4.5.1 and widen activemodel column to
  ">= 3.2, <= 8.1" (the actual support range for the v4.x line)
- Installation example: gem 'u-case', '~> 5.0'

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@serradura serradura self-assigned this May 23, 2026
serradura and others added 4 commits May 23, 2026 16:41
Keep the convention of an "unreleased" -> main row at the top so future
changes always have a slot, with the released 5.0.0 entry pointing to
v5.x below it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mirrors the changes shipped on u-attributes 3.0 / kind 6.0 so the three
gems stay visually and structurally consistent.

Header (both README.md and README.pt-BR.md):
- h1 wrapping the existing μ-case logo image with height="60" so it
  no longer renders at the native 3609x1488 size and dominates the
  viewport
- 3-row badge layout mirroring solid-process:
  1) Gem Version + Build Status
  2) Maintainability + Code Coverage
  3) Ruby + Rails (dark gray colorA=444 / colorB=333)

Compatibility:
- Drop the v1.x..v3.x rows; keep unreleased + 5.0.0 + 4.5.1 (which is
  still on the long-lived v4.x branch)
- Bump the u-attributes upper bound to "< 4.0" so 5.0.0 can resolve
  against the just-released u-attributes 3.0.x (matches the
  gemspec change in this same commit)
- Add the Ruby x Rails support matrix ported from solid-process

Documentation table:
- Trim to unreleased + 5.0.0 + 4.5.1 in both languages

Gemspec dependency constraints (the actual fix that unblocks 5.0.0
consumers picking up the latest kind/u-attributes):
- kind, >= 5.6, < 6.0   ->  kind, >= 5.6, < 7.0
- u-attributes, >= 2.7, < 3.0  ->  u-attributes, >= 2.7, < 4.0

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60px shrank the logo (icon + "μ-case" wordmark) to the point where
the text was hard to read.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@serradura serradura merged commit bd5eb6c into main May 23, 2026
16 checks passed
@serradura serradura deleted the bump-ruby-minimum branch May 23, 2026 23:47
@serradura serradura added the enhancement New feature or request label May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant