Skip to content

fix!: canonicalize keys, update CI, and refresh dependencies - #16

Merged
AlexRiedler merged 1 commit into
masterfrom
upgrade-gems
Jul 4, 2026
Merged

fix!: canonicalize keys, update CI, and refresh dependencies#16
AlexRiedler merged 1 commit into
masterfrom
upgrade-gems

Conversation

@AlexRiedler

Copy link
Copy Markdown
Owner

BREAKING CHANGE:

  • Symbol hash keys are now canonicalized to strings internally. This affects #to_h, #to_hash, #inspect, and unmarshalled data that was originally created with symbol keys.
  • Minimum supported Ruby version is now 3.2.
  • StrictStruct#to_h / #to_hash now return a shallow copy instead of the internal mutable hash.

Other changes:

  • Fix cache collisions in IndifferentLookup when a hash contains both symbol and string keys; cached nested structs now have stable identity.
  • Fix README typos ("ResouceStruct") and GitHub URL placeholder.
  • Remove unused bindir/executables from gemspec; add MFA metadata.
  • Update CI matrix to Ruby 3.2, 3.3, 3.4, and 4.0.5; use actions/checkout@v4.
  • Update CodeQL actions to v3.
  • Update RuboCop to ~> 1.75 and rake to ~> 13.2; enable NewCops and target Ruby 3.2.
  • Add regression tests for symbol/string key collisions and fix spec typos.

@AlexRiedler
AlexRiedler force-pushed the upgrade-gems branch 2 times, most recently from b314e80 to 7fdf9d7 Compare July 4, 2026 02:22
BREAKING CHANGE:
- Symbol hash keys are now canonicalized to strings internally. This
  affects #to_h, #to_hash, #inspect, and unmarshalled data that was
  originally created with symbol keys.
- Minimum supported Ruby version is now 3.2.
- StrictStruct#to_h / #to_hash now return a shallow copy instead of the
  internal mutable hash.

Other changes:
- Fix cache collisions in IndifferentLookup when a hash contains both
  symbol and string keys; cached nested structs now have stable identity.
- Fix README typos ("ResouceStruct") and GitHub URL placeholder.
- Remove unused bindir/executables from gemspec; add MFA metadata.
- Update CI matrix to Ruby 3.2, 3.3, 3.4, and 4.0.5; use
  actions/checkout@v4.
- Update CodeQL actions to v3.
- Update RuboCop to ~> 1.75 and rake to ~> 13.2; enable NewCops and
  target Ruby 3.2.
- Add regression tests for symbol/string key collisions and fix spec
  typos.
- GitHub Actions pull_request trigger pushes to PR branches re-run CI.
@AlexRiedler
AlexRiedler merged commit e2a6f40 into master Jul 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant