Changelog

Improving AppSignal, one deploy at a time.

Sep 30, 2026

Elixir package v2.18.0

Elixir2.18.0

Added

  • Automatically instrument Broadway library.

    Broadway is an Elixir library for building concurrent and multi-stage data ingestion and data processing pipelines.

    When Broadway processes one or more messages, a trace is created to represent the processing of these messages. Independent root spans encompass the call to prepare_messages/2 and handle_message/3.

    This instrumentation is enable by default and only available for Broadway versions higher than 1.0.0.

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

Sep 10, 2026

Elixir package v2.17.5

Elixir2.17.5

Changed

  • Update the agent to handle high traffic apps. On high-traffic apps that would exceed the maximum accepted internal payload size, send data to the Push API more frequently.

Fixed

  • Fix the sanitization of function arguments in SQL statements.

    Before this release, SQL sanitization of function arguments stripped out parts of the SQL statement after the function argument list.

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

Jun 04, 2026

Prevent host-metrics leaking zombie `[timeout]` processes

Elixir2.17.3

Fixed

  • Fix host-metrics leaking zombie [timeout] processes in Alpine linux containers.

    Before this release AppSignal agent relied on a proper init process that reaps child processes killed by system timeout. Now the agent terminates and reaps unresponsive child processes in host-metrics collection and a subreaper is no longer required.

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

May 26, 2026

Emit Ecto query metrics

Elixir2.17.2

Added

  • Emit distribution metrics from the Ecto integration.

    Each Ecto query telemetry event now also reports its timing values as ecto_query_time, ecto_queue_time, ecto_decode_time, ecto_idle_time and ecto_total_time distribution metrics.

    All five metrics are tagged by repo and hostname. The ecto_query_time, ecto_decode_time and ecto_total_time metrics are additionally tagged by repo and source (the Ecto table).

    This surfaces pool waits, decode time, idle connection time and per-table latency as standalone metrics in addition to the existing query span.

Fixed

  • Preserve sub-millisecond precision when reporting timing distribution metrics.

    The Ecto (ecto_query_time, ecto_queue_time, ecto_decode_time, ecto_idle_time, ecto_total_time) and Oban (oban_job_duration, oban_job_queue_time) distribution metrics now report fractional milliseconds, instead of being truncated to whole milliseconds. Sub-millisecond measurements were previously rounded down to zero.

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

May 14, 2026

Elixir package v2.17.1

Elixir2.17.1

Fixed

  • Continue reporting non-disk host metrics when a mount is frozen.
  • Fix compatibility with Finch 0.22+. This change moves SSL and proxy options to pool-level conn_opts in Finch.start_link.

Security

  • CVE-2026-32686 describes an unauthenticated remote Denial of Service vulnerability in decimal before 3.0.0. Loosen decimal requirement to allow ~> 3.0 and fix compatibility with ecto.

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

Mar 09, 2026

HTTPoison instrumentation

Elixir2.17.0

Added

  • Add HTTPoison instrumentation. HTTP requests made with HTTPoison will appear as request.httpoison events on your performance samples' event timeline.

    HTTPoison does not emit telemetry events, so the instrumentation is opt-in. Use Appsignal.HTTPoison in place of HTTPoison when making requests, or replace use HTTPoison.Base with use Appsignal.HTTPoison.Base for custom client modules. Response types (%HTTPoison.Response{}, %HTTPoison.Error{}, etc.) are unchanged.

Changed

  • Bundled certificates have been updated.

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

Nov 20, 2025

LiveComponent improvements

Elixirphoenix 2.8.0

Added

  • Report LiveComponent traces and events separately from LiveView traces and events.

    Traces in AppSignal representing updates and event handlers in components will no longer be represented as calls to the view in which the component is mounted, and their events will be part of the live_component group.

    This makes it possible to obtain performance measurements for each component individually, instead of grouped by the view that mounts the component.

  • Group samples for calls to handle_event/3 in LiveView and LiveComponent by the event that is being handled.

View the Elixir for Phoenix package v2.8.0 changelog for more information.

Jun 18, 2025

Customize namespaces through Plugs for Absinthe routes

Elixir2.15.9

Changed

  • Allow for more customization of trace namespaces during the trace's lifetime. Previously, it was not possible to customize the namespace of Absinthe traces before the Absinthe instrumentation had run. This is now possible, as the Absinthe instrumentation will only set the namespace if it has not been set already.

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

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.

$appsignal install

Make your next crash make sense.

Free for 30 days. No credit card. Two-minute install.