bugsnag 6.27.1 → 6.28.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: 7f8eb06e59bf516cfc5ca7f5539ae3b0fdbd9c4ea86a82252d6c2ea787a7c255
4
- data.tar.gz: 01be8584412260118dfb14548808e1c4c4444aadd040bbbd6c6ad5dee3da1dbc
3
+ metadata.gz: 680c8188ff107f5a9b0a4b973108353d95788732d0eee3f72a065ac31fa652b8
4
+ data.tar.gz: be1bc6969009dc4d3b8e9bd8a8532b6d3045cf043e56487b7c0b2aa8cb01cf84
5
5
  SHA512:
6
- metadata.gz: bebc3030e22bbc50423792c701185d061b0d7834c6a741c805cafa6223753e941cd893a73c65792b8726fc6adf9f9c47ea30715c14381f5a2ac87c52d345ba98
7
- data.tar.gz: 1923948f57cc1f032eaf249912d6f5e65423c853bc2cffe89b1b198aead96bc34303aa3aec95f9699911176579cbee14797e805986f24aff2834458413dc5066
6
+ metadata.gz: 213111ba5278ad9ae1684f74bf5ed2acd5679fb03f0302f619cb8891a96acb14db62ecbd5b751dd82ece54adb8ab96affe5a8710a3dad0e69e52a68df90380f0
7
+ data.tar.gz: 2252e18dc306e89498be738a06bd7c39a1f4ce6569e93896058e7e6b70079acd2e335f9deacc8cec0e36e1ffa2d7885cc6b7e3296540787ad98d78a3273826bb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## v6.28.0 (8 July 2025)
5
+
6
+ ### Enhancements
7
+
8
+ * Set default endpoints based on API key
9
+ | [#835](https://github.com/bugsnag/bugsnag-ruby/pull/835)
10
+
4
11
  ## v6.27.1 (18 June 2024)
5
12
 
6
13
  ### Fixes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.27.1
1
+ 6.28.0
@@ -199,7 +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
- DEFAULT_ENDPOINT = DEFAULT_NOTIFY_ENDPOINT
202
+ HUB_NOTIFY_ENDPOINT = "https://notify.insighthub.smartbear.com"
203
+ HUB_SESSION_ENDPOINT = "https://sessions.insighthub.smartbear.com"
204
+ HUB_PREFIX = "00000"
203
205
 
204
206
  DEFAULT_META_DATA_FILTERS = [
205
207
  /authorization/i,
@@ -249,7 +251,7 @@ module Bugsnag
249
251
  # to avoid infinite recursion when creating breadcrumb buffer
250
252
  @max_breadcrumbs = DEFAULT_MAX_BREADCRUMBS
251
253
 
252
- @endpoints = EndpointConfiguration.new(DEFAULT_NOTIFY_ENDPOINT, DEFAULT_SESSION_ENDPOINT)
254
+ @endpoints = EndpointConfiguration.new(nil, nil)
253
255
 
254
256
  @enable_events = true
255
257
  @enable_sessions = true
@@ -540,6 +542,19 @@ module Bugsnag
540
542
  set_endpoints(notify_endpoint, new_session_endpoint) # Pass the existing notify_endpoint through so it doesn't get overwritten
541
543
  end
542
544
 
545
+ ##
546
+ # Sets the notification and session endpoints to default values if neither have been set
547
+ #
548
+ def set_default_endpoints
549
+ return unless @endpoints.notify.nil? && @endpoints.sessions.nil?
550
+
551
+ self.endpoints = if hub_api_key?
552
+ EndpointConfiguration.new(HUB_NOTIFY_ENDPOINT, HUB_SESSION_ENDPOINT)
553
+ else
554
+ EndpointConfiguration.new(DEFAULT_NOTIFY_ENDPOINT, DEFAULT_SESSION_ENDPOINT)
555
+ end
556
+ end
557
+
543
558
  ##
544
559
  # Sets the notification and session endpoints
545
560
  #
@@ -753,5 +768,9 @@ module Bugsnag
753
768
  # Send the heroku dyno name instead of hostname if available
754
769
  ENV["DYNO"] || Socket.gethostname;
755
770
  end
771
+
772
+ def hub_api_key?
773
+ @api_key && @api_key.start_with?(HUB_PREFIX)
774
+ end
756
775
  end
757
776
  end
data/lib/bugsnag.rb CHANGED
@@ -54,6 +54,8 @@ module Bugsnag
54
54
  def configure(validate_api_key=true)
55
55
  yield(configuration) if block_given?
56
56
 
57
+ configuration.set_default_endpoints
58
+
57
59
  # Create the session tracker if sessions are enabled to avoid the overhead
58
60
  # of creating it on the first request. We skip this if we're not validating
59
61
  # the API key as we use this internally before the user's configure block
@@ -522,8 +524,12 @@ module Bugsnag
522
524
  # If only a notify_endpoint has been set, session tracking will be disabled
523
525
  # If only a session_endpoint has been set, and ArgumentError will be raised
524
526
  def check_endpoint_setup
525
- notify_set = configuration.notify_endpoint && configuration.notify_endpoint != Bugsnag::Configuration::DEFAULT_NOTIFY_ENDPOINT
526
- session_set = configuration.session_endpoint && configuration.session_endpoint != Bugsnag::Configuration::DEFAULT_SESSION_ENDPOINT
527
+ notify_set = configuration.notify_endpoint &&
528
+ configuration.notify_endpoint != Bugsnag::Configuration::DEFAULT_NOTIFY_ENDPOINT &&
529
+ configuration.notify_endpoint != Bugsnag::Configuration::HUB_NOTIFY_ENDPOINT
530
+ session_set = configuration.session_endpoint &&
531
+ configuration.session_endpoint != Bugsnag::Configuration::DEFAULT_SESSION_ENDPOINT &&
532
+ configuration.session_endpoint != Bugsnag::Configuration::HUB_SESSION_ENDPOINT
527
533
  if notify_set && !session_set
528
534
  configuration.warn("The session endpoint has not been set, all further session capturing will be disabled")
529
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.27.1
4
+ version: 6.28.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: 2024-06-18 00:00:00.000000000 Z
11
+ date: 2025-07-08 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.27.1/CHANGELOG.md
110
+ changelog_uri: https://github.com/bugsnag/bugsnag-ruby/blob/v6.28.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'
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
- rubygems_version: 3.4.10
129
+ rubygems_version: 3.4.19
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: Ruby notifier for bugsnag.com