diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0455bf25..b02f6a0a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,12 @@ jobs: matrix: include: # Recent Rubies and Rails + - ruby-version: '3.1' + rails-version: '7.0' + - ruby-version: '3.0' + rails-version: '7.0' + - ruby-version: '2.7' + rails-version: '7.0' - ruby-version: '2.6' rails-version: '6.1' - ruby-version: '2.6' diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eafc33d7..532a7ca7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## 0.10.x -### [master (unreleased)](https://github.com/rails-api/active_model_serializers/compare/v0.10.12...0-10-stable) +### [master (unreleased)](https://github.com/rails-api/active_model_serializers/compare/v0.10.13...0-10-stable) Breaking changes: @@ -8,10 +8,14 @@ Features: Fixes: -- [#2399](https://github.com/rails-api/active_model_serializers/pull/2399) Handles edge case where requested current_page > total_pages (@f3z0) - Misc: +### [v0.10.13 (2022-01013)](https://github.com/rails-api/active_model_serializers/compare/v0.10.12...v0.10.13) + +Fixes: + +- [#2399](https://github.com/rails-api/active_model_serializers/pull/2399) Handles edge case where requested current_page > total_pages (@f3z0) + ### [v0.10.12 (2020-12-10)](https://github.com/rails-api/active_model_serializers/compare/v0.10.11...v0.10.12) Fixes: diff --git a/Gemfile b/Gemfile index 8a72bcae9..94c0ca40c 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ eval_gemfile local_gemfile if File.readable?(local_gemfile) # Specify your gem's dependencies in active_model_serializers.gemspec gemspec -version = ENV['RAILS_VERSION'] || '4.2' +version = ENV['RAILS_VERSION'] || '6.1' if version == 'master' gem 'rack', github: 'rack/rack' diff --git a/active_model_serializers.gemspec b/active_model_serializers.gemspec index 50cd71154..2d1855e8d 100644 --- a/active_model_serializers.gemspec +++ b/active_model_serializers.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 2.1' - rails_versions = ['>= 4.1', '< 7.0'] + rails_versions = ['>= 4.1', '< 7.1'] spec.add_runtime_dependency 'activemodel', rails_versions # 'activesupport', rails_versions # 'builder' diff --git a/lib/active_model/serializer/version.rb b/lib/active_model/serializer/version.rb index c0565cabd..96ba7a425 100644 --- a/lib/active_model/serializer/version.rb +++ b/lib/active_model/serializer/version.rb @@ -2,6 +2,6 @@ module ActiveModel class Serializer - VERSION = '0.10.12'.freeze + VERSION = '0.10.13'.freeze end end diff --git a/test/action_controller/serialization_test.rb b/test/action_controller/serialization_test.rb index 8d360b6f8..2286309b4 100644 --- a/test/action_controller/serialization_test.rb +++ b/test/action_controller/serialization_test.rb @@ -7,6 +7,7 @@ module Serialization class ImplicitSerializerTest < ActionController::TestCase class ImplicitSerializationTestController < ActionController::Base include SerializationTesting + def render_using_implicit_serializer @profile = Profile.new(name: 'Name 1', description: 'Description 1', comments: 'Comments 1') render json: @profile @@ -75,8 +76,12 @@ def render_json_array_object_without_serializer render json: [{ error: 'Result is Invalid' }] end + # HACK: to prevent the resetting of instance variables after each request in Rails 7 + # see https://github.com/rails/rails/pull/43735 + def clear_instance_variables_between_requests; end + def update_and_render_object_with_cache_enabled - @post.updated_at = Time.zone.now + @post.updated_at = Time.zone.now # requires hack above to prevent `NoMethodError: undefined method `updated_at=' for nil:NilClass` generate_cached_serializer(@post) render json: @post