From d78d25b17c985b9ada39ca973755286155cf2832 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 11:42:54 +0000 Subject: [PATCH 01/17] Don't install incompatible versions of 'mail' --- features/fixtures/mailman/app/Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/features/fixtures/mailman/app/Gemfile b/features/fixtures/mailman/app/Gemfile index 5297171f5..72ffd7f6b 100644 --- a/features/fixtures/mailman/app/Gemfile +++ b/features/fixtures/mailman/app/Gemfile @@ -6,6 +6,7 @@ gem 'hitimes', '~> 1.2.6' gem 'i18n', '~> 0.9.5' gem 'rb-inotify', '0.9.8' gem 'maildir', '~> 2.1.0' +gem 'mail', '~> 2.7.1' gem 'activesupport', '~> 3.2' gem 'rack', '~> 1.6.11' From b9c7ce53b5fab5390c0a2254af3ffbcaf97013e4 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 10:47:26 +0000 Subject: [PATCH 02/17] Use Exception#detailed_message when available This was added in Ruby 3.2 for things like 'did_you_mean' that annotate existing exception messages Currently the annotations are included in Exception#message, but when Ruby 3.2 releases they will move to Exception#detailed_message so we need to use the new method to keep the existing behaviour --- lib/bugsnag/report.rb | 22 ++++++++++- spec/report_spec.rb | 39 ++++++++++++++++++- .../exception_with_detailed_message.rb | 10 +++++ .../exception_with_detailed_message_ruby_1.rb | 11 ++++++ 4 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 spec/support/exception_with_detailed_message.rb create mode 100644 spec/support/exception_with_detailed_message_ruby_1.rb diff --git a/lib/bugsnag/report.rb b/lib/bugsnag/report.rb index ca6353950..243b1af30 100644 --- a/lib/bugsnag/report.rb +++ b/lib/bugsnag/report.rb @@ -428,9 +428,11 @@ def update_handled_counts(is_unhandled, was_unhandled) def generate_exception_list raw_exceptions.map do |exception| + class_name = error_class(exception) + { - errorClass: error_class(exception), - message: exception.message, + errorClass: class_name, + message: error_message(exception, class_name), stacktrace: Stacktrace.process(exception.backtrace, configuration) } end @@ -448,6 +450,22 @@ def error_class(exception) (exception.is_a? Class) ? exception.name : exception.class.name end + def error_message(exception, class_name) + # Ruby 3.2 added Exception#detailed_message for Gems like "Did you mean" + # to annotate an exception's message + if exception.respond_to?(:detailed_message) + # the "highlight" argument may add terminal escape codes to the output, + # which we don't want to include + # we also need to strip the class name from the output to be consistent + # with Exception#message + exception + .detailed_message(highlight: false) + .sub(" (#{class_name})", '') + else + exception.message + end + end + def generate_raw_exceptions(exception) exceptions = [] diff --git a/spec/report_spec.rb b/spec/report_spec.rb index b226dcaea..0bcd00572 100644 --- a/spec/report_spec.rb +++ b/spec/report_spec.rb @@ -28,6 +28,12 @@ def gloops end end +if RUBY_VERSION >= '2.0.0' + require_relative './support/exception_with_detailed_message' +else + require_relative './support/exception_with_detailed_message_ruby_1' +end + shared_examples "Report or Event tests" do |class_to_test| context "metadata" do include_examples( @@ -99,6 +105,17 @@ def gloops }) end + it "uses Exception#detailed_message if available" do + exception = ExceptionWithDetailedMessage.new("some message") + report_or_event = class_to_test.new(exception, Bugsnag.configuration) + + expect(report_or_event.summary).to eq({ + error_class: "ExceptionWithDetailedMessage", + message: "some message with some extra detail", + severity: "warning" + }) + end + it "handles empty exceptions" do begin 1/0 @@ -288,6 +305,17 @@ def gloops ) }) end + + it "uses Exception#detailed_message if available" do + exception = ExceptionWithDetailedMessage.new("some message") + report_or_event = class_to_test.new(exception, Bugsnag.configuration) + + expect(report_or_event.errors.length).to eq(1) + + message = report_or_event.errors.first.error_message + + expect(message).to eq("some message with some extra detail") + end end it "has a reference to the original error" do @@ -1399,7 +1427,6 @@ def gloops end it "does not unwrap more than 5 exceptions" do - first_ex = ex = NestedException.new("Deep exception") 10.times do |idx| ex = ex.original_exception = NestedException.new("Deep exception #{idx}") @@ -1432,6 +1459,16 @@ def gloops } end + it "uses Exception#detailed_message if available" do + Bugsnag.notify(ExceptionWithDetailedMessage.new("some message")) + + expect(Bugsnag).to have_sent_notification{ |payload, headers| + exception = get_exception_from_payload(payload) + expect(exception["errorClass"]).to eq("ExceptionWithDetailedMessage") + expect(exception["message"]).to eq("some message with some extra detail") + } + end + it "supports unix-style paths in backtraces" do ex = BugsnagTestException.new("It crashed") ex.set_backtrace([ diff --git a/spec/support/exception_with_detailed_message.rb b/spec/support/exception_with_detailed_message.rb new file mode 100644 index 000000000..60f07962d --- /dev/null +++ b/spec/support/exception_with_detailed_message.rb @@ -0,0 +1,10 @@ +class ExceptionWithDetailedMessage < Exception + def detailed_message(highlight: true) + # change the output to ensure we pass the right value for "highlight" + if highlight + "\e[1m!!! #{self} !!!\e[0m" + else + "#{self} with some extra detail" + end + end +end diff --git a/spec/support/exception_with_detailed_message_ruby_1.rb b/spec/support/exception_with_detailed_message_ruby_1.rb new file mode 100644 index 000000000..c610983f0 --- /dev/null +++ b/spec/support/exception_with_detailed_message_ruby_1.rb @@ -0,0 +1,11 @@ +# ExceptionWithDetailedMessage for Ruby 1.9 (no keyword argument) +class ExceptionWithDetailedMessage < Exception + def detailed_message(params) + # change the output to ensure we pass the right value for "highlight" + if params[:highlight] + "\e[1m!!! #{self} !!!\e[0m" + else + "#{self} with some extra detail" + end + end +end From 73470ef94db181796c91e9cd8be53e87995ca891 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 10:57:31 +0000 Subject: [PATCH 03/17] Support detailed_message without 'highlight' This shouldn't happen in practice but we should be safe to protect against invalid definitions of detailed_message It's also possible someone has implemented this method on Ruby versions < 3.2 where there isn't an expectation to have a highlight parameter as it wasn't a standard Exception method --- lib/bugsnag/report.rb | 26 +++++++++++++++----------- spec/report_spec.rb | 16 ++++++++++++++++ 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/lib/bugsnag/report.rb b/lib/bugsnag/report.rb index 243b1af30..c2958d390 100644 --- a/lib/bugsnag/report.rb +++ b/lib/bugsnag/report.rb @@ -453,17 +453,21 @@ def error_class(exception) def error_message(exception, class_name) # Ruby 3.2 added Exception#detailed_message for Gems like "Did you mean" # to annotate an exception's message - if exception.respond_to?(:detailed_message) - # the "highlight" argument may add terminal escape codes to the output, - # which we don't want to include - # we also need to strip the class name from the output to be consistent - # with Exception#message - exception - .detailed_message(highlight: false) - .sub(" (#{class_name})", '') - else - exception.message - end + return exception.message unless exception.respond_to?(:detailed_message) + + # the "highlight" argument may add terminal escape codes to the output, + # which we don't want to include + # it _should_ always be present but it's possible to forget to add it or + # to have implemented this method before Ruby 3.2 + message = + begin + exception.detailed_message(highlight: false) + rescue ArgumentError + exception.detailed_message + end + + # remove the class name to be consistent with Exception#message + message.sub(" (#{class_name})", '') end def generate_raw_exceptions(exception) diff --git a/spec/report_spec.rb b/spec/report_spec.rb index 0bcd00572..3756a7415 100644 --- a/spec/report_spec.rb +++ b/spec/report_spec.rb @@ -34,6 +34,12 @@ def gloops require_relative './support/exception_with_detailed_message_ruby_1' end +class ExceptionWithDetailedMessageButNoHighlight < Exception + def detailed_message + "detail about '#{self}'" + end +end + shared_examples "Report or Event tests" do |class_to_test| context "metadata" do include_examples( @@ -1469,6 +1475,16 @@ def gloops } end + it "handles implementations of Exception#detailed_message with no 'highlight' parameter" do + Bugsnag.notify(ExceptionWithDetailedMessageButNoHighlight.new("some message")) + + expect(Bugsnag).to have_sent_notification{ |payload, headers| + exception = get_exception_from_payload(payload) + expect(exception["errorClass"]).to eq("ExceptionWithDetailedMessageButNoHighlight") + expect(exception["message"]).to eq("detail about 'some message'") + } + end + it "supports unix-style paths in backtraces" do ex = BugsnagTestException.new("It crashed") ex.set_backtrace([ From 8a34d93c703ae9ecb864eb1e132d9b1498eb7191 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 11:05:53 +0000 Subject: [PATCH 04/17] Update changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27d996621..df6213885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========= +## TBD + +### Enhancements + +* Use `Exception#detailed_message` instead of `Exception#message` when available + | [#761](https://github.com/bugsnag/bugsnag-ruby/pull/761) + ## v6.26.0 (1 December 2022) ### Enhancements From 3d62f1fcd4ebc1bc2171c5e0d91a018fa0d3c38a Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 14:05:56 +0000 Subject: [PATCH 05/17] Use Event#errors in suggestion_data middleware This lets us use Exception#detailed_message, which contains the did_you_mean suggestions in Ruby 3.2+ --- lib/bugsnag/middleware/suggestion_data.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/bugsnag/middleware/suggestion_data.rb b/lib/bugsnag/middleware/suggestion_data.rb index a61d3fafe..b7c9ce83a 100644 --- a/lib/bugsnag/middleware/suggestion_data.rb +++ b/lib/bugsnag/middleware/suggestion_data.rb @@ -10,23 +10,25 @@ def initialize(bugsnag) @bugsnag = bugsnag end - def call(report) + def call(event) matches = [] - report.raw_exceptions.each do |exception| - match = CAPTURE_REGEX.match(exception.message) + + event.errors.each do |error| + match = CAPTURE_REGEX.match(error.error_message) + next unless match suggestions = match.captures[0].split(DELIMITER) - matches.concat suggestions.map{ |suggestion| suggestion.strip } + matches.concat(suggestions.map(&:strip)) end if matches.size == 1 - report.add_tab(:error, {:suggestion => matches.first}) + event.add_metadata(:error, { suggestion: matches.first }) elsif matches.size > 1 - report.add_tab(:error, {:suggestions => matches}) + event.add_metadata(:error, { suggestions: matches }) end - @bugsnag.call(report) + @bugsnag.call(event) end end end From e94216abafa19ec5909c4f1ebc5f4538342b464b Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 16:17:46 +0000 Subject: [PATCH 06/17] Fix stripping Gem paths with Regexp characters e.g. the 3.2 RC contains a '+' in the gem path (at least locally and on CI): `/../.gem/ruby/3.2.0+3` This needs escaping or it won't match any paths because it is expecting 1 or more '0' characters, rather than the literal characters '0+' --- CHANGELOG.md | 5 +++++ lib/bugsnag/stacktrace.rb | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df6213885..994e1f2dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ Changelog ## TBD +### Fixes + +* Allow Gem paths to be stripped from file names in stacktraces when they contain a Regexp special character + | [#764](https://github.com/bugsnag/bugsnag-ruby/pull/764) + ### Enhancements * Use `Exception#detailed_message` instead of `Exception#message` when available diff --git a/lib/bugsnag/stacktrace.rb b/lib/bugsnag/stacktrace.rb index 344cd0545..fd932a04e 100644 --- a/lib/bugsnag/stacktrace.rb +++ b/lib/bugsnag/stacktrace.rb @@ -48,7 +48,9 @@ def self.process(backtrace, configuration) # Strip common gem path prefixes if defined?(Gem) - file = Gem.path.inject(file) {|line, path| line.sub(/#{path}\//, "") } + Gem.path.each do |path| + file.sub!("#{path}/", "") + end end trace_hash[:file] = file From 81e3331b5ec89a74255b6c650d057da6ac777163 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 09:37:44 +0000 Subject: [PATCH 07/17] Run specs with Ruby 3.2 --- .github/workflows/test-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 252af86d8..440b8465c 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1'] + ruby-version: ['2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2'] optional-groups: ['test sidekiq'] include: - ruby-version: '1.9' From eb4177247ccc14f3f59c3fbc913f805c2ed8e48f Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 16:43:21 +0000 Subject: [PATCH 08/17] Run "plain" ruby tests with Ruby 3.2 --- .github/workflows/maze-runner.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maze-runner.yml b/.github/workflows/maze-runner.yml index 979e2d265..3faf691d0 100644 --- a/.github/workflows/maze-runner.yml +++ b/.github/workflows/maze-runner.yml @@ -141,7 +141,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1'] + ruby-version: ['1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2-rc'] uses: ./.github/workflows/run-maze-runner.yml with: From c6f20683118481045dffe5986ad968c12a19f975 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Tue, 20 Dec 2022 12:06:43 +0000 Subject: [PATCH 09/17] Bump Ruby version to 3.2-rc for tests using 3.1 --- .github/workflows/maze-runner.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maze-runner.yml b/.github/workflows/maze-runner.yml index 3faf691d0..76e6187c2 100644 --- a/.github/workflows/maze-runner.yml +++ b/.github/workflows/maze-runner.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['1.9', '3.1'] + ruby-version: ['1.9', '3.2-rc'] uses: ./.github/workflows/run-maze-runner.yml with: @@ -36,11 +36,11 @@ jobs: rack-version: '1' - ruby-version: '2.2' rack-version: '2' - - ruby-version: '3.1' + - ruby-version: '3.2-rc' rack-version: '2' - ruby-version: '2.4' rack-version: '3' - - ruby-version: '3.1' + - ruby-version: '3.2-rc' rack-version: '3' uses: ./.github/workflows/run-maze-runner.yml @@ -56,7 +56,7 @@ jobs: include: - ruby-version: '2.0' que-version: '0.14' - - ruby-version: '3.1' + - ruby-version: '3.2-rc' que-version: '0.14' - ruby-version: '2.5' que-version: '1' @@ -120,7 +120,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['2.7', '3.1'] + ruby-version: ['2.7', '3.2-rc'] rails-version: ['6', '7', '_integrations'] include: - ruby-version: '2.5' @@ -128,7 +128,7 @@ jobs: exclude: - ruby-version: '2.7' rails-version: '6' - - ruby-version: '3.1' + - ruby-version: '3.2-rc' rails-version: '_integrations' uses: ./.github/workflows/run-maze-runner.yml From edd7c93d69f91b87e7b1290b18f366addd884780 Mon Sep 17 00:00:00 2001 From: Steven Harman Date: Wed, 7 Dec 2022 20:07:17 -0500 Subject: [PATCH 10/17] Add Gem metadata for RubyGems.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will add links directly to the Changelog, Docs, etc… from the RubyGems.org UI. --- bugsnag.gemspec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bugsnag.gemspec b/bugsnag.gemspec index 3a0338738..85efa1d23 100644 --- a/bugsnag.gemspec +++ b/bugsnag.gemspec @@ -8,6 +8,11 @@ Gem::Specification.new do |s| s.description = "Ruby notifier for bugsnag.com" s.summary = "Ruby notifier for bugsnag.com" s.homepage = "https://github.com/bugsnag/bugsnag-ruby" + s.metadata = { + "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md", + "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/", + "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/" + } s.licenses = ["MIT"] s.files = `git ls-files -z lib bugsnag.gemspec VERSION .yardopts`.split("\x0") From 6f83d07a891b4b5342fd0d20348b885899201244 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Thu, 22 Dec 2022 16:06:18 +0000 Subject: [PATCH 11/17] Use "HEAD" instead of a branch name This allows the link to work if we renamed the "master" branch --- bugsnag.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bugsnag.gemspec b/bugsnag.gemspec index 85efa1d23..d5a2e5c8d 100644 --- a/bugsnag.gemspec +++ b/bugsnag.gemspec @@ -9,7 +9,7 @@ Gem::Specification.new do |s| s.summary = "Ruby notifier for bugsnag.com" s.homepage = "https://github.com/bugsnag/bugsnag-ruby" s.metadata = { - "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/master/CHANGELOG.md", + "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/HEAD/CHANGELOG.md", "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/", "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/" } From cbc34ba8269c5652abd68ee0d6a4d7f3e07ae699 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Thu, 22 Dec 2022 16:10:38 +0000 Subject: [PATCH 12/17] Opt-in to MFA requirement --- bugsnag.gemspec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bugsnag.gemspec b/bugsnag.gemspec index d5a2e5c8d..07a6163e8 100644 --- a/bugsnag.gemspec +++ b/bugsnag.gemspec @@ -11,7 +11,8 @@ Gem::Specification.new do |s| s.metadata = { "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/HEAD/CHANGELOG.md", "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/", - "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/" + "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/", + "rubygems_mfa_required" => "true" } s.licenses = ["MIT"] From 1942b6af2cb180b12d1a43bfb9a9578039210009 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Thu, 22 Dec 2022 16:31:20 +0000 Subject: [PATCH 13/17] Guard against old versions of Gem::Specification --- bugsnag.gemspec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/bugsnag.gemspec b/bugsnag.gemspec index 07a6163e8..22ae2e110 100644 --- a/bugsnag.gemspec +++ b/bugsnag.gemspec @@ -8,12 +8,6 @@ Gem::Specification.new do |s| s.description = "Ruby notifier for bugsnag.com" s.summary = "Ruby notifier for bugsnag.com" s.homepage = "https://github.com/bugsnag/bugsnag-ruby" - s.metadata = { - "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/HEAD/CHANGELOG.md", - "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/", - "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/", - "rubygems_mfa_required" => "true" - } s.licenses = ["MIT"] s.files = `git ls-files -z lib bugsnag.gemspec VERSION .yardopts`.split("\x0") @@ -33,4 +27,13 @@ Gem::Specification.new do |s| else s.add_runtime_dependency 'concurrent-ruby', '~> 1.0' end + + if s.respond_to?(:metadata=) + s.metadata = { + "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/HEAD/CHANGELOG.md", + "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/", + "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/", + "rubygems_mfa_required" => "true" + } + end end From 51e13073a2db43b3007e953b838ed2aa4a16508e Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Mon, 19 Dec 2022 12:07:16 +0000 Subject: [PATCH 14/17] Fix typo in changelog version number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 994e1f2dc..b36b55b48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ Changelog * Use `Exception#detailed_message` instead of `Exception#message` when available | [#761](https://github.com/bugsnag/bugsnag-ruby/pull/761) -## v6.26.0 (1 December 2022) +## v6.25.0 (1 December 2022) ### Enhancements From 7f6a02b47c52de9c2d771f351694b2645298b2fa Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Tue, 3 Jan 2023 10:59:42 +0000 Subject: [PATCH 15/17] Use the released Ruby 3.2 version --- .github/workflows/maze-runner.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/maze-runner.yml b/.github/workflows/maze-runner.yml index 76e6187c2..c4fd4f048 100644 --- a/.github/workflows/maze-runner.yml +++ b/.github/workflows/maze-runner.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['1.9', '3.2-rc'] + ruby-version: ['1.9', '3.2'] uses: ./.github/workflows/run-maze-runner.yml with: @@ -36,11 +36,11 @@ jobs: rack-version: '1' - ruby-version: '2.2' rack-version: '2' - - ruby-version: '3.2-rc' + - ruby-version: '3.2' rack-version: '2' - ruby-version: '2.4' rack-version: '3' - - ruby-version: '3.2-rc' + - ruby-version: '3.2' rack-version: '3' uses: ./.github/workflows/run-maze-runner.yml @@ -56,7 +56,7 @@ jobs: include: - ruby-version: '2.0' que-version: '0.14' - - ruby-version: '3.2-rc' + - ruby-version: '3.2' que-version: '0.14' - ruby-version: '2.5' que-version: '1' @@ -120,7 +120,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['2.7', '3.2-rc'] + ruby-version: ['2.7', '3.2'] rails-version: ['6', '7', '_integrations'] include: - ruby-version: '2.5' @@ -128,7 +128,7 @@ jobs: exclude: - ruby-version: '2.7' rails-version: '6' - - ruby-version: '3.2-rc' + - ruby-version: '3.2' rails-version: '_integrations' uses: ./.github/workflows/run-maze-runner.yml @@ -141,7 +141,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: ['1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2-rc'] + ruby-version: ['1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2'] uses: ./.github/workflows/run-maze-runner.yml with: From 1b7b4938b2e7fdbe46b2cb8905c811cd7807a086 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Wed, 4 Jan 2023 11:59:30 +0000 Subject: [PATCH 16/17] Bump version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 961b1c8ec..41ce415f3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.25.0 +6.25.1 From f04d71d524d9ed68cd31fda6593fb4180867a656 Mon Sep 17 00:00:00 2001 From: Joe Haines Date: Wed, 4 Jan 2023 11:59:37 +0000 Subject: [PATCH 17/17] Add version & date to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b36b55b48..65fe0fdfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ Changelog ========= -## TBD +## v6.25.1 (5 January 2023) ### Fixes