Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 6 additions & 17 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,12 @@ jobs:
fail-fast: true
matrix:
ruby-version:
- 2.6
- 2.7
- 3.0
- 3.1
- 3.2
- 3.3
- 3.4
gemfile:
- rails_60.gemfile
- rails_61.gemfile
- rails_70.gemfile
exclude:
- ruby-version: 3.0
gemfile: rails_60.gemfile
- ruby-version: 3.1
gemfile: rails_60.gemfile
- ruby-version: 2.6
gemfile: rails_70.gemfile
- ruby-version: 2.7
gemfile: rails_70.gemfile
- rails_7.gemfile
- rails_8.gemfile
steps:
- name: Install packages required for `curb` gem
run: |
Expand Down Expand Up @@ -61,7 +50,7 @@ jobs:
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
ruby-version: 3.3
bundler-cache: true

- name: Install required gems
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ inherit_from: .rubocop_todo.yml

AllCops:
NewCops: enable
TargetRubyVersion: 2.6
TargetRubyVersion: 3.2

Metrics/AbcSize:
Max: 28
Expand Down
20 changes: 7 additions & 13 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
appraise 'rails-60' do
gem 'actionpack', '~> 6.0'
gem 'activeresource', '~> 5.1'
gem 'activesupport', '~> 6.0'
end

appraise 'rails-61' do
gem 'actionpack', '~> 6.1'
gem 'activeresource', '~> 5.1'
gem 'activesupport', '~> 6.1'
appraise 'rails-7' do
gem 'actionpack', '~> 7.2'
gem 'activeresource', '~> 6.0'
gem 'activesupport', '~> 7.2'
end

appraise 'rails-70' do
gem 'actionpack', '~> 7.0'
appraise 'rails-8' do
gem 'actionpack', '~> 8.0'
gem 'activeresource', '~> 6.0'
gem 'activesupport', '~> 7.0'
gem 'activesupport', '~> 8.0'
end
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# 3.0.0 (Unreleased)

## Breaking Changes
- **Drop support for Ruby < 3.2** - Now requires Ruby 3.2, 3.3, or 3.4+
- **Drop support for Rails 6.x** - Now requires Rails 7.2+ or 8.0+
- **Remove deprecated Ruby 2.x compatibility code**

## Improvements
- Update minimum Ruby version to 3.2
- Update minimum Rails version to 7.2
- Support Rails 8.0
- Remove explicit drb dependency (now provided by Rails 7.2+)
- Update development dependencies to latest versions:
- Faraday ~> 2.0
- HTTP ~> 5.0
- HTTPi ~> 4.0
- RSpec ~> 3.13
- Rake ~> 13.0
- Rest-Client ~> 2.1

# 2.6.0 (2025-01-18)
- Add Faraday middleware support (#1322051 Frédéric Mangano)
- Add MD5 compatibility option in authentic? method (#a618e15 Samir ALI CHERIF)
Expand Down
22 changes: 10 additions & 12 deletions api_auth.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,24 @@ Gem::Specification.new do |s|
'rubygems_mfa_required' => 'true'
}

s.required_ruby_version = '>= 2.6.0'
s.required_ruby_version = '>= 3.2.0'

s.add_development_dependency 'actionpack', '>= 6.0'
s.add_development_dependency 'activeresource', '>= 4.0'
s.add_development_dependency 'activesupport', '>= 6.0'
s.add_development_dependency 'actionpack', '>= 7.2'
s.add_development_dependency 'activeresource', '>= 6.0'
s.add_development_dependency 'activesupport', '>= 7.2'
s.add_development_dependency 'amatch'
s.add_development_dependency 'appraisal'
s.add_development_dependency 'curb', '~> 1.0'
# DRb is required for Ruby 3.4+ but must avoid 2.0.6 which breaks Ruby 2.6
s.add_development_dependency 'drb', '>= 2.0.4', '< 2.0.6'
s.add_development_dependency 'faraday', '>= 1.1.0'
s.add_development_dependency 'faraday', '~> 2.0'
s.add_development_dependency 'grape', '~> 2.0'
s.add_development_dependency 'http'
s.add_development_dependency 'httpi'
s.add_development_dependency 'http', '~> 5.0'
s.add_development_dependency 'httpi', '~> 4.0'
s.add_development_dependency 'multipart-post', '~> 2.0'
s.add_development_dependency 'pry'
s.add_development_dependency 'rake'
s.add_development_dependency 'rest-client', '~> 2.0'
s.add_development_dependency 'rake', '~> 13.0'
s.add_development_dependency 'rest-client', '~> 2.1'
s.add_development_dependency 'rexml'
s.add_development_dependency 'rspec', '~> 3.4'
s.add_development_dependency 'rspec', '~> 3.13'
s.add_development_dependency 'rubocop', '~> 1.50'

s.files = `git ls-files`.split("\n")
Expand Down
9 changes: 0 additions & 9 deletions gemfiles/rails_61.gemfile

This file was deleted.

4 changes: 2 additions & 2 deletions gemfiles/rails_70.gemfile → gemfiles/rails_7.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

source "https://rubygems.org"

gem "actionpack", "~> 7.0"
gem "actionpack", "~> 7.2"
gem "activeresource", "~> 6.0"
gem "activesupport", "~> 7.0"
gem "activesupport", "~> 7.2"

gemspec path: "../"
6 changes: 3 additions & 3 deletions gemfiles/rails_60.gemfile → gemfiles/rails_8.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

source "https://rubygems.org"

gem "actionpack", "~> 6.0"
gem "activeresource", "~> 5.1"
gem "activesupport", "~> 6.0"
gem "actionpack", "~> 8.0"
gem "activeresource", "~> 6.0"
gem "activesupport", "~> 8.0"

gemspec path: "../"
2 changes: 1 addition & 1 deletion lib/api_auth/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ def generate_secret_key

private

AUTH_HEADER_PATTERN = /APIAuth(?:-HMAC-(MD5|SHA(?:1|224|256|384|512)?))? ([^:]+):(.+)$/.freeze
AUTH_HEADER_PATTERN = /APIAuth(?:-HMAC-(MD5|SHA(?:1|224|256|384|512)?))? ([^:]+):(.+)$/

def request_within_time_window?(headers, clock_skew)
Time.httpdate(headers.timestamp).utc > (Time.now.utc - clock_skew) &&
Expand Down
6 changes: 1 addition & 5 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
$LOAD_PATH.unshift(File.dirname(__FILE__))
require 'rspec'

# Fix for Rails 6.1 compatibility issue
# ActiveSupport 6.1 expects Logger to be available in the global namespace
require 'logger'

require 'active_support'
require 'active_support/core_ext/numeric/time'
require 'action_controller'
Expand All @@ -25,4 +21,4 @@

# Requires supporting files with custom matchers and macros, etc,
# in ./support/ and its subdirectories.
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }