Changelog

Improving AppSignal, one deploy at a time.

May 15, 2025

Collector v0.6.2

Added

  • When reporting a boolean resource attribute configuration option, such as send_function_parameters, send_request_payload, send_request_query_parameters and send_request_session_data, allow it to be provided as a string containing the case-insensitive values "true" or "false".

    This makes it possible to set these configuration options using the OTEL_RESOURCE_ATTRIBUTES environment variable.

Changed

  • Allow overriding automatically set namespaces. When a namespace is automatically by AppSignal, set it only if a different namespace has not been set in the trace using the appsignal.namespace attribute.
  • Improve communication from the collector's exporter server to the client by returning the expected OpenTelemetry export response messages from the collector's HTTP server. This includes updating the tracing, metrics and logs endpoints by returning their respective response messages.

Fixed

  • Truncate the keys of attributes and the overall size of the attribute list for spans, events, scopes, resources and links.

This release can be installed through our collector packages and Docker image.

May 12, 2025

Improve Oban job result reporting

Elixir2.15.7

Changed

  • Update the result attribute reported for Oban jobs. Instead of it including the job's whole return value, it only contains the Oban job control value: :ok/:error/:discard/:cancel/:snooze. The reason for a discard, cancel, error or snooze result will be stored in the new result_reason attribute. Any :ok result reasons and unexpected result values are ignored. This is to avoid storing sensitive data in the attributes and to make it easier to filter by job control value in the interface.

View the Elixir package v2.15.7 changelog for more information.

May 08, 2025

Allow overriding namespaces and other improvements

Node.js3.6.6

Changed

  • Allow overriding namespaces that are automatically set by the AppSignal agent based on the OpenTelemetry instrumentation that emitted the span, such as the graphql or background namespaces.
  • Log a debug message when the reported error is ignored by the ignore_errors config option.

Fixed

  • Update mysql2 and pg instrumentations. This fixes an issue where queries performed using promises with mysql2@3.11.5 are not instrumented, as well as an issue where pg is not instrumented under certain bundlers and runtimes.

View the Node.js package v3.6.6 changelog for more information.

May 05, 2025

Report Oban's configuration prefix and other improvements

Elixir2.15.5

Added

  • Report Oban's configuration prefix value, if present, as a tag in Oban job samples. Thanks to @tfwright for suggesting and implementing this feature.

Changed

  • Remove redundant cron check-in pairs. When more than one pair of start and finish cron check-in events is reported for the same identifier in the same period, only one of them will be reported to AppSignal.

View the Elixir package v2.15.5 changelog for more information.

May 05, 2025

Remove redundant cron check-in pairs

Ruby4.5.10

Changed

  • Remove redundant cron check-in pairs. When more than one pair of start and finish cron check-in events is reported for the same identifier in the same period, only one of them will be reported to AppSignal.

View the Ruby gem v4.5.10 changelog for more information.

May 01, 2025

Ignore errors, report Express errors and logging improvements

Added

  • Add ignore_errors option. Configure this option using the appsignal.config.ignore_errors resource attribute. The errors are matched by class/type.

    The value can be set both as an array or a comma-separated string. The following examples are equivalent:

    Shell
    appsignal.config.ignore_errors=["RuntimeError", "NoMethodError"] appsignal.config.ignore_errors="RuntimeError,NoMethodError"
  • Allow log records with non-string values as bodies.

    When a log record does not have a string as its body, but it has attributes, serialise those attributes as JSON and use that as the log message instead of the body.

    When a log record has a key-value list as its body, use those key-value pairs as attributes.

  • Extract attributes in Laravel logs, encoded into the context attribute, into separate attributes that can be explored individually in AppSignal.

Fixed

  • Support Express instrumentation version 0.200.0, by ensuring that exception events from Express request handler spans are always reported.

This release can be installed through our collector packages and Docker image.

Apr 10, 2025

Breaking change: update required, internal protocol update

Added

  • Add support for OpenTelemetry logs. Logs sent to the collector's /v1/logs endpoint in OTLP/HTTP format will be delivered to AppSignal's logging feature.
  • Enrich Sidekiq events by setting the action name. Now Sidekiq jobs are reported as <WorkerClass>#perform, e.g. MyWorker#perform.

Changed

  • BREAKING CHANGE: Use a better optimized protocol to send data to our API. This change is backwards incompatible and we recommend you upgrade to the latest version of the collector. Older versions of the collector will not be able to send data to our API. Please refer to the documentation for more information on how to upgrade your collector.

This release can be installed through our collector packages and Docker image.

Apr 04, 2025

Improvements for AppSignal shutdown behavior

Ruby4.5.8

Added

  • Add the enable_at_exit_hook option to configure if Appsignal.stop is called when the Ruby application exits. Calling Appsignal.stop will stop the application for a moment to flush all the data to our agent before shutting down.

    This option has three possible values:

    • always: Always call Appsignal.stop when the program exits. On (Docker) containers it's automatically set to this value.
    • never: Never call Appsignal.stop when the program exits. The default value when the program doesn't run on a (Docker) container.
    • on_error: Call Appsignal.stop when the program exits with an error.

Deprecated

  • Deprecate the Appsignal.monitor_and_stop helper.

    We instead recommend using the Appsignal.monitor helper and configuring the enable_at_exit_hook config option to always.

View the Ruby gem v4.5.8 changelog for more information.

Start your free trial

Don’t let the bad bugs bite. Try AppSignal for free.

AppSignal offers a 30-day free trial, no credit card is required. All features are available in all plans. Start monitoring your application in just a few clicks!