Changelog

Improving AppSignal, one deploy at a time.

May 06, 2026

Dark mode is now in beta

A dark theme for the AppSignal UI is now available as part of AppSignal Labs.

Light mode remains the default. To opt in, click your profile picture in the top-right corner and switch the Theme toggle to:

  • Light — the default
  • Dark — always-on dark mode
  • System — follows your OS preference

We're rolling this out gradually as we polish the rough edges, so expect a few screens that aren't quite there yet. Found one that doesn't look right? Tell us — that's the whole point of Labs.

Learn more about AppSignal Labs →

Apr 24, 2026

Limit collector memory usage

Fixed

  • Cap the amount of metric states stored for cumulative-to-delta conversion, preventing high-cardinality tag combinations from causing excessive memory usage.
  • Evict and block traces that accumulate large amounts of orphaned spans, preventing them from growing unboundedly in memory.

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

Apr 21, 2026

AppSignal JavaScript `urql` package v1.0.0

JavaScript@appsignal/urql@1.0.0

Added

  • Our new @appsignal/urql package allows reporting all GraphQL errors automatically through a custom urql exchange:

    JavaScript
    import { createClient, fetchExchange } from "urql"; import Appsignal from "@appsignal/javascript"; import { createAppsignalExchange } from "@appsignal/urql"; const appsignal = new Appsignal({ key: "YOUR FRONTEND API KEY", }); const client = createClient({ url: "https://api.example.com/graphql", exchanges: [createAppsignalExchange(appsignal), fetchExchange], });

View the AppSignal JavaScript urql v1.0.0 changelog for more information.

Apr 15, 2026

MCP Server: Performance, Logs, and More

AppSignal MCP graduates from beta to preview with this release.

The AppSignal MCP server now exposes 24 tools across seven areas — up from 18 — with two new capability areas and expanded write access throughout.

What's new:

  • Performance: Ask your agent which actions are slowest, pull traces for a specific action, inspect full span trees, and drill into individual spans. Works with both sample-based performance data and OpenTelemetry traces.
  • Logging: Search log lines using AppSignal's expression syntax, and set up log processing rules directly from your editor: create filters, trigger alerts, extract metrics from log lines, and control execution order.
  • Anomaly triggers: In addition to listing triggers and alerts, you can now create, update, and archive anomaly detection triggers without leaving your editor.
  • OAuth support: The MCP server now supports OAuth authentication, which unlocks GitHub Copilot CLI support.

Token permissions now include the performance and logging toolsets alongside app, exceptions, metrics, anomalies, and dashboards.

For setup instructions and the full tool reference, see the MCP documentation. Read the full blog post for the complete breakdown.

Mar 17, 2026

Update OpenTelemetry dependencies to v2

Node.js3.8.0

Changed

  • Update OpenTelemetry dependencies to v2. All bundled OpenTelemetry packages have been updated to their OpenTelemetry v2-compatible versions. This resolves compatibility issues when third-party span processors or instrumentations are used alongside AppSignal, which could cause spans to silently drop due to v1/v2 incompatibilities. The @opentelemetry/instrumentation-redis-4 package has been removed. Redis v4 instrumentation is now handled by @opentelemetry/instrumentation-redis, which supports both Redis v3 and v4.
  • Update Prisma instrumentation to v7. The @prisma/instrumentation package has been updated from v6 to v7. The middleware config option has been removed, as Prisma dropped its middleware API in Prisma v5. Prisma's native tracing is now the only supported instrumentation method.
  • Bundled certificates have been updated.
  • Update BullMQ OpenTelemetry extractor to support new messaging semantic conventions.
  • Use system-specific operation name in messaging span names.

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

Mar 16, 2026

Open backtrace lines in your local editor

Once configured, open any app code line from an exception backtrace directly in your local editor.

Backtrace lines with Open in editor button

Before setup, the option is available in the extras menu, accessible via the there dots icon.

Backtrace line menu with Open in editor option

Set your preferred editor once per app under App Settings → Editor preferences. Each developer on your team can configure their own editor independently.

Supported editors: VS Code, Cursor, Windsurf, Zed, RubyMine, and Sublime Text.

Editor preferences settings
Mar 12, 2026

Public MCP Endpoint

Connect AI agents to your AppSignal monitoring data — no Docker container required.

Our MCP server is now available as a hosted endpoint at https://appsignal.com/api/mcp. To generate a token, select your profile, go to Account Settings > MCP Tokens. Point your agent at the endpoint, and you're ready to go.

Once connected, your AI agent gets access to 18 tools across five areas:

  • Error incidents — list, search, and bulk-update exceptions; assign team members and add investigation notes.
  • Anomaly detection — browse open alerts and review trigger configurations for any metric.
  • Metrics — discover available metrics, query timeseries data, and get aggregated values with tag filtering.
  • Dashboards — create dashboards and add or update chart visuals from your editor.
  • App discovery — find apps, environments, namespaces, users, and notifiers.

Works with Claude, Cursor, Windsurf, Zed, VS Code, and any agent that supports the MCP protocol.

For setup instructions, see the MCP documentation. Read the full blog post for more details.

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.

Feb 23, 2026

More Layout Controls for Dashboards

Your dashboards now bend to your workflow — not the other way around.

  • Drag-and-drop widgets

    Reposition any widget by clicking and dragging it wherever makes sense. No grid constraints, no fixed columns — place widgets freely and build a layout that matches how you actually think about your data.

  • Resizable widgets

    Expand a chart that deserves more real estate. Shrink the ones that don't. Drag any widget edge to resize it and mix compact summaries with detailed graphs in the same view.

Click Edit dashboard to start reshaping your layout.

Feb 18, 2026

Amazon CloudWatch metrics via Amazon Data Firehose

You can now store Amazon CloudWatch metrics in AppSignal through Amazon Data Firehose.

Monitor your most critical AWS services directly from your AppSignal dashboards:

  • RDS — track database connections, read/write latency and CPU utilization
  • S3 — monitor bucket size, request counts and error rates
  • EC2 — observe instance CPU, network traffic and disk I/O
  • Lambda — keep an eye on invocations, duration and throttles
  • SQS — watch queue depth, message age and processing rates
  • And more!

When CloudWatch metrics are detected, we automatically create dashboards for your AWS services.

Setup only takes two steps: create a Firehose stream pointed at AppSignal and connect it to a CloudWatch metric stream. See our CloudWatch metrics documentation to get started.

Feb 09, 2026

Better Database and HTTP span recognition

Added

  • Use db.stored_operation.name as one of the attributes to determine if two spans are the same. When it is present, ignore db.statement and db.query.text for the same purpose.

Changed

  • Improve recognition of HTTP client spans. This will help our 'slow requests' feature recognize grouped HTTP client spans and improve our N+1 detection.

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

Feb 05, 2026

Require parent spans for database and HTTP

Node.js3.7.4

Changed

  • Require parent spans on database and outgoing HTTP instrumentations that support it. When a database query is performed using the ioredis, pg, redis or mongoose libraries, or when an outgoing HTTP request is performed using the http module, a span will only be created if a trace has already been started in the current active context, that is, if the span to be created would have a parent.

    This helps prevent database queries and outgoing HTTP requests happening in uninstrumented contexts from counting towards your requests quota.

Fixed

  • Add support for Koa v3.

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

Feb 05, 2026

Fix install on Ruby 4 and log configure

Ruby4.8.2

Added

  • Log where Appsignal.configure is called. When a warning is emitted about Appsignal.configure being called from an application where config/appsignal.yml or config/appsignal.rb exist, log the location from which Appsignal.configure was called alongside the location of the configuration file.

Fixed

  • Fix the bundle exec appsignal install CLI command on Ruby 4 by removing the dependency on the ostruct gem, which is no longer part of the standard library.

View the Ruby gem v4.8.2 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!