Skip to content

Conversation

@jbat
Copy link
Member

@jbat jbat commented Jul 7, 2025

https://jobready.atlassian.net/browse/NEP-19931

Update Dependencies to Latest Compatible Versions

Summary

This PR updates all dependencies to their latest stable versions while ensuring compatibility with Ruby 3.2+ and modern Rails applications.

Changes Made

🔧 Core Dependencies Updated

  • Faraday: ~> 1.0~> 2.13 (major version upgrade)
  • OAuth2: ~> 1.0~> 2.0 (major version upgrade)
  • MIME Types: >= 1.1.6~> 3.7 (major version upgrade)
  • Multi JSON: ~> 1.3~> 1.15 (major version upgrade)
  • ActiveModel: >= 3.2>= 6.0 (major version upgrade)

�� New Dependencies Added

  • faraday-follow_redirects: ~> 0.3 (for automatic redirect handling)
  • faraday-http: ~> 2.0 (modern HTTP adapter)
  • faraday-multipart: ~> 1.1 (for file uploads in Faraday 2.x)

🗑️ Dependencies Removed

  • faraday_middleware: Removed (not compatible with Faraday 2.x)

🐛 Bug Fixes

  • Fixed Base64 constant error by adding require 'base64'
  • Fixed Faraday::UploadIO error by adding faraday-multipart gem
  • Added proper requires for new middleware gems

⚙️ Configuration Updates

  • Added required_ruby_version = '>= 3.2.0' to ensure compatibility with maintained Ruby versions
  • Updated development dependencies to modern versions

Breaking Changes

⚠️ This is a breaking change - requires Ruby 3.2+ and may require updates in applications using this gem due to:

  • Faraday 2.x API changes
  • OAuth2 2.x API changes
  • ActiveModel 6.x requirements

Testing

  • ✅ All existing tests pass
  • ✅ No regressions introduced
  • ✅ Compatible with modern Rails applications

Migration Notes

Applications using this gem should:

  1. Ensure Ruby 3.2+ is installed
  2. Update any custom Faraday middleware to use individual gems
  3. Test OAuth2 integration if applicable
  4. Verify file upload functionality still works

Benefits

  • Security: Latest versions with security patches
  • Performance: Modern HTTP client improvements
  • Maintainability: Compatible with current Ruby ecosystem
  • Future-proof: Aligned with current Rails and Ruby best practices

Closes: [Issue number if applicable]

msxavi
msxavi previously approved these changes Jul 7, 2025
@@ -1,3 +1,3 @@
module Happi
VERSION = '0.6.0'
VERSION = '1.0.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Would you be okay if we made 1.0.0-rc available now? Which platform will test this first?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msxavi .. good idea

How about the BDF service .. always a good choice for a guinea pig

@jbat jbat merged commit 7bb2390 into develop Jul 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants