bugsnag 6.28.0 → 6.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 680c8188ff107f5a9b0a4b973108353d95788732d0eee3f72a065ac31fa652b8
4
- data.tar.gz: be1bc6969009dc4d3b8e9bd8a8532b6d3045cf043e56487b7c0b2aa8cb01cf84
3
+ metadata.gz: 2536331250287057ddd6ae55cd70922f9a6d53785a9d4172ed801a7c0d262437
4
+ data.tar.gz: 373d2dd942e58cc57c5fdc26f2841a05910ed06e63986e3a05681c18fd29b0a6
5
5
  SHA512:
6
- metadata.gz: 213111ba5278ad9ae1684f74bf5ed2acd5679fb03f0302f619cb8891a96acb14db62ecbd5b751dd82ece54adb8ab96affe5a8710a3dad0e69e52a68df90380f0
7
- data.tar.gz: 2252e18dc306e89498be738a06bd7c39a1f4ce6569e93896058e7e6b70079acd2e335f9deacc8cec0e36e1ffa2d7885cc6b7e3296540787ad98d78a3273826bb
6
+ metadata.gz: 3d9d3118b3ba2aa5e32d0ca738dbbb5da143f2837a54596e3b048a98cce1f6a1651254d7148afea912e5b78c674d589ddfee1321c768f3dcc0560a0127a021ef
7
+ data.tar.gz: e175d840f498cab1ecad66017d386a7d02fb9065e603945c1e3029736373ea2a0dd9e1f9f33a414bd0109d6cd6de7cbd2b3b72a1fb01051379945dfa2a137524
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## v6.29.0 (21 January 2026)
5
+
6
+ ### Enhancements
7
+
8
+ * Support for Ruby 4
9
+ | [#849](https://github.com/bugsnag/bugsnag-ruby/pull/849)
10
+
11
+ ### Fixes
12
+
13
+ * Amend secondary instance URL to bugsnag.smartbear.com
14
+ | [#845](https://github.com/bugsnag/bugsnag-ruby/pull/845)
15
+
16
+ * Guard against nil URI errors in synchronous delivery
17
+ | [#851](https://github.com/bugsnag/bugsnag-ruby/pull/851)
18
+
4
19
  ## v6.28.0 (8 July 2025)
5
20
 
6
21
  ### Enhancements
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.28.0
1
+ 6.29.0
data/bugsnag.gemspec CHANGED
@@ -28,6 +28,10 @@ Gem::Specification.new do |s|
28
28
  s.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
29
29
  end
30
30
 
31
+ if ruby_version >= Gem::Version.new('4.0.0')
32
+ s.add_runtime_dependency 'logger', '~> 1.7'
33
+ end
34
+
31
35
  if s.respond_to?(:metadata=)
32
36
  s.metadata = {
33
37
  "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/v#{File.read("VERSION").strip}/CHANGELOG.md",
@@ -199,9 +199,9 @@ module Bugsnag
199
199
 
200
200
  DEFAULT_NOTIFY_ENDPOINT = "https://notify.bugsnag.com"
201
201
  DEFAULT_SESSION_ENDPOINT = "https://sessions.bugsnag.com"
202
- HUB_NOTIFY_ENDPOINT = "https://notify.insighthub.smartbear.com"
203
- HUB_SESSION_ENDPOINT = "https://sessions.insighthub.smartbear.com"
204
- HUB_PREFIX = "00000"
202
+ SECONDARY_NOTIFY_ENDPOINT = "https://notify.bugsnag.smartbear.com"
203
+ SECONDARY_SESSION_ENDPOINT = "https://sessions.bugsnag.smartbear.com"
204
+ SECONDARY_PREFIX = "00000"
205
205
 
206
206
  DEFAULT_META_DATA_FILTERS = [
207
207
  /authorization/i,
@@ -548,8 +548,8 @@ module Bugsnag
548
548
  def set_default_endpoints
549
549
  return unless @endpoints.notify.nil? && @endpoints.sessions.nil?
550
550
 
551
- self.endpoints = if hub_api_key?
552
- EndpointConfiguration.new(HUB_NOTIFY_ENDPOINT, HUB_SESSION_ENDPOINT)
551
+ self.endpoints = if secondary_api_key?
552
+ EndpointConfiguration.new(SECONDARY_NOTIFY_ENDPOINT, SECONDARY_SESSION_ENDPOINT)
553
553
  else
554
554
  EndpointConfiguration.new(DEFAULT_NOTIFY_ENDPOINT, DEFAULT_SESSION_ENDPOINT)
555
555
  end
@@ -769,8 +769,8 @@ module Bugsnag
769
769
  ENV["DYNO"] || Socket.gethostname;
770
770
  end
771
771
 
772
- def hub_api_key?
773
- @api_key && @api_key.start_with?(HUB_PREFIX)
772
+ def secondary_api_key?
773
+ @api_key && @api_key.start_with?(SECONDARY_PREFIX)
774
774
  end
775
775
  end
776
776
  end
@@ -7,12 +7,19 @@ module Bugsnag
7
7
  ##
8
8
  # Attempts to deliver a payload to the given endpoint synchronously.
9
9
  def deliver(url, body, configuration, options={})
10
+ if url.nil?
11
+ configuration.warn("Request to deliver Bugsnag payload before configure was called. Unable to send information to Bugsnag.")
12
+ return
13
+ end
14
+
10
15
  begin
11
16
  response = request(url, body, configuration, options)
12
17
  configuration.debug("Request to #{url} completed, status: #{response.code}")
13
18
  if response.code[0] != "2"
14
19
  configuration.warn("Notifications to #{url} was reported unsuccessful with code #{response.code}")
15
20
  end
21
+ rescue URI::InvalidURIError => e
22
+ configuration.error("The configured Bugsnag endpoint URL (#{url}) is invalid, #{e.inspect}")
16
23
  rescue StandardError => e
17
24
  # KLUDGE: Since we don't re-raise http exceptions, this breaks rspec
18
25
  raise if e.class.to_s == "RSpec::Expectations::ExpectationNotMetError"
data/lib/bugsnag.rb CHANGED
@@ -526,10 +526,10 @@ module Bugsnag
526
526
  def check_endpoint_setup
527
527
  notify_set = configuration.notify_endpoint &&
528
528
  configuration.notify_endpoint != Bugsnag::Configuration::DEFAULT_NOTIFY_ENDPOINT &&
529
- configuration.notify_endpoint != Bugsnag::Configuration::HUB_NOTIFY_ENDPOINT
529
+ configuration.notify_endpoint != Bugsnag::Configuration::SECONDARY_NOTIFY_ENDPOINT
530
530
  session_set = configuration.session_endpoint &&
531
531
  configuration.session_endpoint != Bugsnag::Configuration::DEFAULT_SESSION_ENDPOINT &&
532
- configuration.session_endpoint != Bugsnag::Configuration::HUB_SESSION_ENDPOINT
532
+ configuration.session_endpoint != Bugsnag::Configuration::SECONDARY_SESSION_ENDPOINT
533
533
  if notify_set && !session_set
534
534
  configuration.warn("The session endpoint has not been set, all further session capturing will be disabled")
535
535
  configuration.disable_sessions
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.28.0
4
+ version: 6.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-08 00:00:00.000000000 Z
11
+ date: 2026-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -107,7 +107,7 @@ homepage: https://github.com/bugsnag/bugsnag-ruby
107
107
  licenses:
108
108
  - MIT
109
109
  metadata:
110
- changelog_uri: https://github.com/bugsnag/bugsnag-ruby/blob/v6.28.0/CHANGELOG.md
110
+ changelog_uri: https://github.com/bugsnag/bugsnag-ruby/blob/v6.29.0/CHANGELOG.md
111
111
  documentation_uri: https://docs.bugsnag.com/platforms/ruby/
112
112
  source_code_uri: https://github.com/bugsnag/bugsnag-ruby/
113
113
  rubygems_mfa_required: 'true'