Skip to content

5.24.0

Latest
Compare
Choose a tag to compare
@sentry-release-bot sentry-release-bot released this 15 May 10:32

Features

  • Add new sidekiq config report_only_dead_jobs (#2581)

  • Add max_nesting of 10 to breadcrumbs data serialization (#2583)

  • Add sidekiq config propagate_traces to control trace header injection (#2588)

    If you use schedulers you can get one large trace with all your jobs which is undesirable.
    We recommend using the following to propagate traces only from the Rails server and not elsewhere.

    config.sidekiq.propagate_traces = false unless Rails.const_defined?('Server')
  • Only expose active_storage keys on span data if send_default_pii is on (#2589)

  • Add new Sentry.logger for Structured Logging feature (#2620).

    To enable structured logging you need to turn on the enable_logs configuration option:

    Sentry.init do |config|
      # ... your setup ...
      config.enable_logs = true
    end

    Once you configured structured logging, you get access to a new Sentry.logger object that can be
    used as a regular logger with additional structured data support:

    Sentry.logger.info("User logged in", user_id: 123)
    
    Sentry.logger.error("Failed to process payment",
      transaction_id: "tx_123",
      error_code: "PAYMENT_FAILED"
    )

    You can also use message templates with positional or hash parameters:

    Sentry.logger.info("User %{name} logged in", name: "Jane Doe")
    
    Sentry.logger.info("User %s logged in", ["Jane Doe"])

    Any other arbitrary attributes will be sent as part of the log event payload:

    # Here `user_id` and `action` will be sent as extra attributes that Sentry Logs UI displays
    Sentry.logger.info("User %{user} logged in", user: "Jane", user_id: 123, action: "create")

    ⚠️ When enable_logs is true, previous Sentry.logger should no longer be used for internal SDK
    logging - it was replaced by Sentry.configuration.sdk_logger and should be used only by the SDK
    itself and its extensions.

  • New configuration option called active_job_report_on_retry_error which enables reporting errors on each retry error (#2617)

Bug Fixes

  • Gracefully fail on malformed utf-8 breadcrumb message (#2582)
  • Fix breadcrumb serialization error message to be an object (#2584)
  • Fix compatibility issues with sidekiq-cron 2.2.0 (#2591)
  • Update sentry-sidekiq to work correctly with Sidekiq 8.0 and its new timestamp format (#2570)
  • Ensure we capture exceptions after each job retry (#2597)

Internal

  • Remove user_segment from DSC (#2586)
  • Replace logger with sdk_logger (#2621)
  • Sentry.logger is now deprecated when enable_logs is turned off. It's original behavior was ported to Sentry.configuration.sdk_logger. Please notice that this logger is internal and should only be used for SDK-specific logging needs. (#2621)