From 9585037c09722acbb2905bb4d27aaf2c375326f1 Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 09:31:12 +0200 Subject: [PATCH 1/8] Fix CI (#94) * Fix Docker setup for Apple M2 * Drop support for Rails 5.2 and 6.0 * Drop support for Ruby 2.7 * Lock sqlite3 version --- .github/workflows/ruby.yml | 9 --------- docker-compose.yml | 1 + gemfiles/rails5.2.gemfile | 7 ------- gemfiles/rails6.0.gemfile | 7 ------- gemfiles/rails6.1.gemfile | 2 +- gemfiles/rails7.0.gemfile | 2 +- tiddle.gemspec | 4 ++-- 7 files changed, 5 insertions(+), 27 deletions(-) delete mode 100644 gemfiles/rails5.2.gemfile delete mode 100644 gemfiles/rails6.0.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index a9259d1..702f1c1 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -12,24 +12,15 @@ jobs: fail-fast: false matrix: gemfile: - - rails5.2 - - rails6.0 - rails6.1 - rails7.0 ruby: - - "2.7" - "3.0" - "3.1" backend: - active_record - mongoid exclude: - - gemfile: rails5.2 - ruby: "3.0" - - gemfile: rails5.2 - ruby: "3.1" - - gemfile: rails6.0 - ruby: "3.1" - gemfile: rails6.1 ruby: "3.1" name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }}, ${{ matrix.backend }} diff --git a/docker-compose.yml b/docker-compose.yml index 5618dad..9d1e78e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ version: "3.9" services: library: + platform: linux/x86_64 build: context: . stdin_open: true diff --git a/gemfiles/rails5.2.gemfile b/gemfiles/rails5.2.gemfile deleted file mode 100644 index afc9897..0000000 --- a/gemfiles/rails5.2.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -gem "rails", "~> 5.2.1" -gem "mongoid", "~> 6" -gem "sqlite3", "~> 1.3.13" - -gemspec path: "../" diff --git a/gemfiles/rails6.0.gemfile b/gemfiles/rails6.0.gemfile deleted file mode 100644 index 3953917..0000000 --- a/gemfiles/rails6.0.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -gem "rails", "~> 6.0.0" -gem "mongoid", "~> 7" -gem "sqlite3" - -gemspec path: "../" diff --git a/gemfiles/rails6.1.gemfile b/gemfiles/rails6.1.gemfile index f295b95..d3848ef 100644 --- a/gemfiles/rails6.1.gemfile +++ b/gemfiles/rails6.1.gemfile @@ -2,6 +2,6 @@ source "https://rubygems.org" gem "rails", "~> 6.1.0" gem "mongoid" -gem "sqlite3" +gem "sqlite3", "~> 1.4" gemspec path: "../" diff --git a/gemfiles/rails7.0.gemfile b/gemfiles/rails7.0.gemfile index 5c669aa..dfaf754 100644 --- a/gemfiles/rails7.0.gemfile +++ b/gemfiles/rails7.0.gemfile @@ -2,6 +2,6 @@ source "https://rubygems.org" gem "rails", "~> 7.0.2" gem "mongoid" -gem "sqlite3" +gem "sqlite3", "~> 1.4" gemspec path: "../" diff --git a/tiddle.gemspec b/tiddle.gemspec index c94f1a0..cc8c5a1 100644 --- a/tiddle.gemspec +++ b/tiddle.gemspec @@ -16,10 +16,10 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] - spec.required_ruby_version = '>= 2.7.0' + spec.required_ruby_version = '>= 3.0.0' spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5" - spec.add_dependency "activerecord", ">= 5.2.0" + spec.add_dependency "activerecord", ">= 6.1.0" spec.add_development_dependency "rake" spec.add_development_dependency "rspec-rails" spec.add_development_dependency "simplecov" From 7fe42d76e1300388ddf34d9e4d840d689d3a0aed Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 09:42:03 +0200 Subject: [PATCH 2/8] Test with Rails 7.1 (#95) --- .github/workflows/ruby.yml | 1 + docker-compose.yml | 2 +- gemfiles/rails7.1.gemfile | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 gemfiles/rails7.1.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 702f1c1..a2f9710 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -14,6 +14,7 @@ jobs: gemfile: - rails6.1 - rails7.0 + - rails7.1 ruby: - "3.0" - "3.1" diff --git a/docker-compose.yml b/docker-compose.yml index 9d1e78e..60b043c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - redis environment: - REDIS_URL=redis://redis:6379/1 - - BUNDLE_GEMFILE=gemfiles/rails7.0.gemfile + - BUNDLE_GEMFILE=gemfiles/rails7.1.gemfile redis: image: "redis:6-alpine" command: redis-server diff --git a/gemfiles/rails7.1.gemfile b/gemfiles/rails7.1.gemfile new file mode 100644 index 0000000..43bfc07 --- /dev/null +++ b/gemfiles/rails7.1.gemfile @@ -0,0 +1,7 @@ +source "https://rubygems.org" + +gem "rails", "~> 7.1.3" +gem "mongoid" +gem "sqlite3", "~> 1.4" + +gemspec path: "../" From 294607fe00480b1923822737f7bbf77cfbdcbdd3 Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 09:49:05 +0200 Subject: [PATCH 3/8] Test with new Rubies (#96) --- .github/workflows/ruby.yml | 5 ++--- Dockerfile | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index a2f9710..5a81c3d 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -18,12 +18,11 @@ jobs: ruby: - "3.0" - "3.1" + - "3.2" + - "3.3" backend: - active_record - mongoid - exclude: - - gemfile: rails6.1 - ruby: "3.1" name: ${{ matrix.gemfile }}, ruby ${{ matrix.ruby }}, ${{ matrix.backend }} runs-on: ubuntu-latest env: diff --git a/Dockerfile b/Dockerfile index d523fff..31500e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1-alpine +FROM ruby:3.3-alpine RUN apk add build-base sqlite-dev tzdata git bash RUN gem update --system && gem install bundler From 45e2b040f09a922aa754bd2c48701a44678c497f Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 10:12:05 +0200 Subject: [PATCH 4/8] Enable new cops (#97) --- .rubocop.yml | 62 +--------------------------------------------------- 1 file changed, 1 insertion(+), 61 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index ea22d43..5a74561 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,6 +8,7 @@ AllCops: - 'spec/spec_helper.rb' - 'vendor/bundle/**/*' SuggestExtensions: false + NewCops: enable Style/StringLiterals: Enabled: false Style/Documentation: @@ -25,64 +26,3 @@ Metrics/BlockLength: - 'spec/**/*' Metrics/MethodLength: Max: 15 - -Gemspec/DeprecatedAttributeAssignment: - Enabled: true -Layout/SpaceBeforeBrackets: - Enabled: true -Lint/AmbiguousAssignment: - Enabled: true -Lint/DeprecatedConstants: - Enabled: true -Lint/DuplicateBranch: - Enabled: true -Lint/DuplicateRegexpCharacterClassElement: - Enabled: true -Lint/EmptyBlock: - Enabled: true -Lint/EmptyClass: - Enabled: true -Lint/LambdaWithoutLiteralBlock: - Enabled: true -Lint/NoReturnInBeginEndBlocks: - Enabled: true -Lint/NumberedParameterAssignment: - Enabled: true -Lint/OrAssignmentToConstant: - Enabled: true -Lint/RedundantDirGlobSort: - Enabled: true -Lint/SymbolConversion: - Enabled: true -Lint/ToEnumArguments: - Enabled: true -Lint/TripleQuotes: - Enabled: true -Lint/UnexpectedBlockArity: - Enabled: true -Lint/UnmodifiedReduceAccumulator: - Enabled: true -Style/ArgumentsForwarding: - Enabled: true -Style/CollectionCompact: - Enabled: true -Style/DocumentDynamicEvalDefinition: - Enabled: true -Style/EndlessMethod: - Enabled: true -Style/HashConversion: - Enabled: true -Style/HashExcept: - Enabled: true -Style/IfWithBooleanLiteralBranches: - Enabled: true -Style/NegatedIfElseCondition: - Enabled: true -Style/NilLambda: - Enabled: true -Style/RedundantArgument: - Enabled: true -Style/StringChars: - Enabled: true -Style/SwapValues: - Enabled: true From bd2fb5365b089c0c546362152e0b12784a8adc47 Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 10:23:23 +0200 Subject: [PATCH 5/8] Simplify migrations in test (#98) --- spec/support/backend.rb | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/spec/support/backend.rb b/spec/support/backend.rb index fc9070c..0397a70 100644 --- a/spec/support/backend.rb +++ b/spec/support/backend.rb @@ -23,14 +23,10 @@ def migrate! # Do initial migration path = File.expand_path("../rails_app_active_record/db/migrate/", File.dirname(__FILE__)) - if Gem::Requirement.new(">= 6.0.0") =~ Rails.gem_version - ActiveRecord::MigrationContext.new( - path, - ActiveRecord::SchemaMigration - ).migrate - else - ActiveRecord::MigrationContext.new(path).migrate - end + ActiveRecord::MigrationContext.new( + path, + ActiveRecord::SchemaMigration + ).migrate end end From 2d1293b60fcfbeea5aaed62ace22b30b747bcfae Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Fri, 14 Jun 2024 10:32:35 +0200 Subject: [PATCH 6/8] Release 1.8.1 (#99) --- CHANGELOG.md | 10 ++++++++++ lib/tiddle/version.rb | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c66a5b7..565281f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### 1.8.1 + +Remove Rails 5.2 and 6.0 support + +Remove Ruby 2.7 support + +Add Rails 7.1 support + +Add Ruby 3.2 and 3.3 support + ### 1.8.0 Support different touch interval based on expiration time (Daniel André da Silva) diff --git a/lib/tiddle/version.rb b/lib/tiddle/version.rb index d2c13a2..01a3385 100644 --- a/lib/tiddle/version.rb +++ b/lib/tiddle/version.rb @@ -1,3 +1,3 @@ module Tiddle - VERSION = "1.8.0".freeze + VERSION = "1.8.1".freeze end From 105d7ca02f7eae8711e64ad37d0310abe301b402 Mon Sep 17 00:00:00 2001 From: Mateus Bittencourt Date: Wed, 25 Mar 2026 11:37:42 -0300 Subject: [PATCH 7/8] fix(security): relax devise constraint to allow devise 5.x Relaxes the devise dependency from `< 5` to `< 6` to allow consumers to upgrade to devise 5.0.3 which fixes CVE-2026-32700 (confirmable race condition). Tiddle uses only stable Devise APIs (Devise.add_module, Devise::Strategies::Authenticatable, Devise.token_generator) that are unchanged in devise 5.x. Co-Authored-By: Claude Opus 4.6 --- tiddle.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiddle.gemspec b/tiddle.gemspec index cc8c5a1..3003c41 100644 --- a/tiddle.gemspec +++ b/tiddle.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0.0' - spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5" + spec.add_dependency "devise", ">= 4.0.0.rc1", "< 6" spec.add_dependency "activerecord", ">= 6.1.0" spec.add_development_dependency "rake" spec.add_development_dependency "rspec-rails" From bea0711e5721f5f95d66c459a4902637f1eda29b Mon Sep 17 00:00:00 2001 From: Mateus Bittencourt Date: Wed, 25 Mar 2026 12:09:21 -0300 Subject: [PATCH 8/8] chore(ci): drop Rails 6.1 from test matrix Rails 6.1 is EOL and incompatible with Ruby 3.x (LoggerThreadSafeLevel errors). All consumers use Rails 7.2+. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ruby.yml | 1 - gemfiles/rails6.1.gemfile | 7 ------- 2 files changed, 8 deletions(-) delete mode 100644 gemfiles/rails6.1.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 5a81c3d..22074af 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -12,7 +12,6 @@ jobs: fail-fast: false matrix: gemfile: - - rails6.1 - rails7.0 - rails7.1 ruby: diff --git a/gemfiles/rails6.1.gemfile b/gemfiles/rails6.1.gemfile deleted file mode 100644 index d3848ef..0000000 --- a/gemfiles/rails6.1.gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -gem "rails", "~> 6.1.0" -gem "mongoid" -gem "sqlite3", "~> 1.4" - -gemspec path: "../"