diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bb1d9c..5cee82c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.12.0] - 2026-10-01 + ### Added - Add a full Ruby client for River with Go-compatible job insertion and execution on PostgreSQL, SQLite, and YugabyteDB through ActiveRecord or Sequel. Includes workers, retries, cancellation, periodic and resumable jobs, job-persisted logging, job administration, migration and worker CLIs, and testing helpers. Rails and Active Job integration is available through `riverqueue-rails`, with workflows, batches, sequences, concurrency controls, and other advanced features in the separately distributed `riverqueue-pro` gem. [PR #70](https://github.com/riverqueue/riverqueue-ruby/pull/70). diff --git a/Gemfile.lock b/Gemfile.lock index fc754a6..c485b74 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - riverqueue (0.11.0) + riverqueue (0.12.0) logger (> 0, < 1000) optparse (> 0, < 1000) securerandom (> 0, < 1000) @@ -10,16 +10,16 @@ PATH PATH remote: driver/riverqueue-activerecord specs: - riverqueue-activerecord (0.11.0) + riverqueue-activerecord (0.12.0) activerecord (> 0, < 1000) activesupport (> 0, < 1000) - riverqueue (= 0.11.0) + riverqueue (= 0.12.0) PATH remote: driver/riverqueue-sequel specs: - riverqueue-sequel (0.11.0) - riverqueue (= 0.11.0) + riverqueue-sequel (0.12.0) + riverqueue (= 0.12.0) sequel (> 0, < 1000) GEM diff --git a/driver/riverqueue-activerecord/Gemfile.lock b/driver/riverqueue-activerecord/Gemfile.lock index 060fcda..3d3dc24 100644 --- a/driver/riverqueue-activerecord/Gemfile.lock +++ b/driver/riverqueue-activerecord/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - riverqueue (0.11.0) + riverqueue (0.12.0) logger (> 0, < 1000) optparse (> 0, < 1000) securerandom (> 0, < 1000) @@ -10,10 +10,10 @@ PATH PATH remote: . specs: - riverqueue-activerecord (0.11.0) + riverqueue-activerecord (0.12.0) activerecord (> 0, < 1000) activesupport (> 0, < 1000) - riverqueue (= 0.11.0) + riverqueue (= 0.12.0) GEM remote: https://rubygems.org/ @@ -163,4 +163,4 @@ DEPENDENCIES standard BUNDLED WITH - 4.0.9 + 4.0.9 diff --git a/driver/riverqueue-activerecord/riverqueue-activerecord.gemspec b/driver/riverqueue-activerecord/riverqueue-activerecord.gemspec index 603fdad..9fe9f83 100644 --- a/driver/riverqueue-activerecord/riverqueue-activerecord.gemspec +++ b/driver/riverqueue-activerecord/riverqueue-activerecord.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = "riverqueue-activerecord" - s.version = "0.11.0" + s.version = "0.12.0" s.summary = "ActiveRecord PostgreSQL and SQLite driver for the River Ruby gem." s.description = "ActiveRecord PostgreSQL and SQLite driver for inserting and working River jobs in Ruby." s.authors = ["Blake Gentry", "Brandur Leach"] @@ -14,5 +14,5 @@ Gem::Specification.new do |s| # The stupid version bounds are used to silence Ruby's extremely obnoxious warnings. s.add_dependency "activerecord", "> 0", "< 1000" s.add_dependency "activesupport", "> 0", "< 1000" # required for ActiveRecord to load properly - s.add_dependency "riverqueue", "= 0.11.0" + s.add_dependency "riverqueue", "= #{s.version}" end diff --git a/driver/riverqueue-sequel/Gemfile.lock b/driver/riverqueue-sequel/Gemfile.lock index db7db9b..1bfebf2 100644 --- a/driver/riverqueue-sequel/Gemfile.lock +++ b/driver/riverqueue-sequel/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - riverqueue (0.11.0) + riverqueue (0.12.0) logger (> 0, < 1000) optparse (> 0, < 1000) securerandom (> 0, < 1000) @@ -10,8 +10,8 @@ PATH PATH remote: . specs: - riverqueue-sequel (0.11.0) - riverqueue (= 0.11.0) + riverqueue-sequel (0.12.0) + riverqueue (= 0.12.0) sequel (> 0, < 1000) GEM @@ -107,4 +107,4 @@ DEPENDENCIES standard BUNDLED WITH - 4.0.9 + 4.0.9 diff --git a/driver/riverqueue-sequel/riverqueue-sequel.gemspec b/driver/riverqueue-sequel/riverqueue-sequel.gemspec index 8891195..ff2c4c2 100644 --- a/driver/riverqueue-sequel/riverqueue-sequel.gemspec +++ b/driver/riverqueue-sequel/riverqueue-sequel.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = "riverqueue-sequel" - s.version = "0.11.0" + s.version = "0.12.0" s.summary = "Sequel PostgreSQL and SQLite driver for the River Ruby gem." s.description = "Sequel PostgreSQL and SQLite driver for inserting and working River jobs in Ruby." s.authors = ["Blake Gentry", "Brandur Leach"] @@ -13,5 +13,5 @@ Gem::Specification.new do |s| s.required_ruby_version = ">= 3.2" # The stupid version bounds are used to silence Ruby's extremely obnoxious warnings. s.add_dependency "sequel", "> 0", "< 1000" - s.add_dependency "riverqueue", "= 0.11.0" + s.add_dependency "riverqueue", "= #{s.version}" end diff --git a/rails/riverqueue-rails/Gemfile.lock b/rails/riverqueue-rails/Gemfile.lock index 6f3ffb3..bce2047 100644 --- a/rails/riverqueue-rails/Gemfile.lock +++ b/rails/riverqueue-rails/Gemfile.lock @@ -1,15 +1,15 @@ PATH remote: ../../driver/riverqueue-activerecord specs: - riverqueue-activerecord (0.11.0) + riverqueue-activerecord (0.12.0) activerecord (> 0, < 1000) activesupport (> 0, < 1000) - riverqueue (= 0.11.0) + riverqueue (= 0.12.0) PATH remote: ../.. specs: - riverqueue (0.11.0) + riverqueue (0.12.0) logger (> 0, < 1000) optparse (> 0, < 1000) securerandom (> 0, < 1000) @@ -18,10 +18,10 @@ PATH PATH remote: . specs: - riverqueue-rails (0.11.0) + riverqueue-rails (0.12.0) activejob (>= 7.2, < 8.2) railties (>= 7.2, < 8.2) - riverqueue-activerecord (= 0.11.0) + riverqueue-activerecord (= 0.12.0) GEM remote: https://rubygems.org/ @@ -273,13 +273,13 @@ DEPENDENCIES standard CHECKSUMS - actionmailer (8.1.3.1) - actionpack (8.1.3.1) - actionview (8.1.3.1) - activejob (8.1.3.1) - activemodel (8.1.3.1) - activerecord (8.1.3.1) - activesupport (8.1.3.1) + actionmailer (8.1.3.1) sha256=88ea441b28ff02a0c6c006468892642a3d9942affce9d294e81a74504aa5c43c + actionpack (8.1.3.1) sha256=974cb7154548e81f470b1b0f247b99cb38e87825899dca58610596e2817723d0 + actionview (8.1.3.1) sha256=2da68b8414c47b43bfbed1ce69c5afe1c04f78c267aacb5660a4cab5ca12cfb6 + activejob (8.1.3.1) sha256=1c8dd275df930df40deecffec63d913a550a33fd94bd298f69721dd96939954a + activemodel (8.1.3.1) sha256=99cc02ce2faec371d14440949d85787ebd23a907c9baef0a9d4bcd4d21888f88 + activerecord (8.1.3.1) sha256=0a2fb6c28f4938f6b013a3a549bec0a7e37d535f3dc8990e804bcc3258c0403b + activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376 ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd @@ -336,16 +336,16 @@ CHECKSUMS rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868 rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2 - railties (8.1.3.1) + railties (8.1.3.1) sha256=2388a232579a00cefea4487de66c8553c3408c1300abdc6cf1799d86ffb04487 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701 rbs (4.2.0) sha256=51f7b886dcc05bc09e10b901daa6a81829f6adc03101d6ca9ea4aac6103e0674 rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469 regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d - riverqueue (0.11.0) - riverqueue-activerecord (0.11.0) - riverqueue-rails (0.11.0) + riverqueue (0.12.0) + riverqueue-activerecord (0.12.0) + riverqueue-rails (0.12.0) rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c @@ -371,7 +371,7 @@ CHECKSUMS tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42 unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f - uri (1.1.1) + uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6 useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5 diff --git a/rails/riverqueue-rails/riverqueue-rails.gemspec b/rails/riverqueue-rails/riverqueue-rails.gemspec index 1b0c7d0..b550a1f 100644 --- a/rails/riverqueue-rails/riverqueue-rails.gemspec +++ b/rails/riverqueue-rails/riverqueue-rails.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = "riverqueue-rails" - s.version = "0.11.0" + s.version = "0.12.0" s.summary = "Active Job and Rails integration for River." s.authors = ["Blake Gentry", "Brandur Leach"] s.files = Dir.glob("lib/**/*") + ["README.md"] @@ -11,5 +11,5 @@ Gem::Specification.new do |s| s.required_ruby_version = ">= 3.2" s.add_dependency "activejob", ">= 7.2", "< 8.2" s.add_dependency "railties", ">= 7.2", "< 8.2" - s.add_dependency "riverqueue-activerecord", "= 0.11.0" + s.add_dependency "riverqueue-activerecord", "= #{s.version}" end diff --git a/riverqueue.gemspec b/riverqueue.gemspec index b537962..75d1ab1 100644 --- a/riverqueue.gemspec +++ b/riverqueue.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = "riverqueue" - s.version = "0.11.0" + s.version = "0.12.0" s.summary = "A fast, reliable job queue for Ruby backed by PostgreSQL or SQLite." s.description = "Insert and work River jobs in Ruby using the same schema and state machine as River's Go client. Use with riverqueue-activerecord or riverqueue-sequel." s.authors = ["Blake Gentry", "Brandur Leach"]