Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time



  • Bump agent to v-4548c88. PR #634
    • Fix issue with host metrics values being reported as "Infinity".


  • Use http proxy if configured when downloading agent. PR #606
  • Clear event details cache every 48 hours. Commit eb5e899db69fcd7cfa221567bfd6ac04f2654c9c
  • Add support for Resque ActiveJob queue time reporting. PR #616


  • Fix failed checksum error log. PR #609
  • Fix DelayedJob action name detection for objects that listen to the [] method and return a non-String value. #611
  • CI test build improvements. PR #607, #608, #614


  • Revert fix for compatibility with the http_logger gem. PR #604. For more information, see issue #603 about our reasoning and discussion.


  • Check if queued payloads are for correct app and not expired



  • Fix Appsignal::Transaction#set_http_or_background_action helper (used by Appsignal.monitor_transaction), to allow overwriting the action name of a Transaction with Appsignal.set_action. PR #594
  • Move build to Semaphore. PR #587, #590 and #592


  • Only warn about reused transactions once. Repeated occurrences are logged as debug messages. PR #585


  • Fix wait_for test suite helper. PR #581
  • Fix exception handling of config file issues. PR #582
    • The improvement introduced in #517 didn't fetch the class name correctly causing an error on most scenarios.


  • Update to more recent bundled SSL CA certificates. PR #577
  • Remove TLS version lock from transmitter used by diagnose command, preventing it from sending the report. Was locked to TLS v1, now uses the Ruby default. PR #580


  • Rescue errors while parsing appsignal.yml file. It will prints a warning instead. PR #517
  • Refactoring: Reduce class variable usage. PR #520
  • Bump log level about starting new transactions while a transaction is already active from debug to a warning. PR #525
  • Refactoring: Add internal AppSignal test helpers and other test suite refactorings. PR #536, #537, #538, #539
  • Fix internal Rakefile loading on Ruby 1.9.3. PR #541
  • Add a --no-color option to the appsignal install command. PR #550
  • Add output coloring to appsignal diagnose warnings. PR #551
  • Add validation for empty Push API key. Empty Push API key values will no longer start AppSignal. PR #569
  • Deprecate the JSExceptionCatcher middleware in favor of our new front-end JavaScript integration ( PR #572


  • Bump agent to v-c348132
    • Improve transmitter logging on timeout
    • Improve queued payloads transmitter. Should prevent payloads being sent multiple times.
    • Add transaction debug mode
    • Wrap Option in Mutex in TransactionInProgess


  • Handle missing file and load errors from application.rb in appsignal install for Rails apps. PR #568
  • Support minutely probes for Puma in clustered mode. PR #570 See the installation instructions for the Puma plugin:


  • Check set_error arguments for Exceptions. PR #565
  • Bump agent to v-1d8917f - commit 737d6b1b8fc9cd2c0564050bb04246d9267dceb7
    • Only attempt to send queued payloads if we have a successful transmission.


  • Bump agent to v-690f4b8 - commit cf4f3787395c8524079f3bed3b2c2367296482a9
    • Validate transmission_interval option.


  • Support mirrors when downloading the agent & extension. PR #558
  • Support Que's upcoming 1.0.0 release. PR #557


  • Bump agent to v-e1c9363
    • Detect revision from Heroku dynos automatically when Dyno Metadata is turned on.


  • Bump agent to v-a3e0f83 - commit 3d94dd42645922214fc2f5bc09cfa7c597323198
    • Better detect zombie/defunct processes on containers and consider the processes dead. This should improve the appsignal-agent start behavior.
  • Fix Sequel install hook version detection mismatch. PR #553
  • Improve support for older Sidekiq versions. PR #555



  • Fix Puma minutely probe start where daemonize is set to true. PR #548


  • Fix error in the ActiveSupport::Notifications integration when a transaction gets completed during event instrumentation. PR #532
  • Fix Redis constant load error. PR #543
  • Add more logging for errors in debug mode. PR #544
  • Deprecate notify_of_deploy command. PR #545
  • Always call the block given to Appsignal.monitor_transaction and log errors from the helper even when AppSignal is not active. PR #547


  • Fix Ruby 1.9 compatibility in extension installation. PR #531


  • Fix minutely probes not being loaded from Rails initializers. PR #528


  • Print link to diagnose docs on unsuccessful demo command. PR #512
  • Add support for minutely probe .dependencies_present? check. PR #523
  • Do not activate Sidekiq minutely probe on unsupported Redis gem versions. PR #523.


  • Improve logging in minutely probes. PR #508
  • Delay the first minutely probe for a bit, since it might take some time for dependencies to initialize. PR #511


  • Log error backtraces in minutely probes as debug messages. PR #495
  • Don't add cluster behavior in Puma single mode. PR #504
  • Only register ActionView event formatter in Rails. PR #503
  • Convert Sidekiq latency from seconds to ms. PR #505


  • Remove GCProbe. PR #501


  • Fix Puma.stats calls. PR #496
  • Only send Puma metrics if available. PR #497
  • Track memory metrics of the current process. PR #499


  • Fix memory leak in custom metrics key names. Commit 9064e2ccfd19ee05c333d0ecda4deafdd743629e


  • Fix installations using git source. PR #455
  • Track installation results in installation report. PR #450
  • Fix Rails 6 deprecation warnings. PR #460, PR #478, PR #483
  • Improve error handling in minutely probes mechanism. PR #467
  • Only allow one minutely probe thread to run at a time. PR #469
  • Change minutely probes register method to use a key for every probe. PR #473
  • Send Sidekiq metrics by default. PR #471
  • Send MongoDB metrics by default. PR #472
  • Fix Ruby 2.6 deprecation warnings. PR #479
  • Support blocks for Appsignal.send_error to add more metadata to the AppSignal transaction. PR #481
  • Move instrumentation & metrics helpers to modules. PR #487
  • Add Puma minutely probe. PR #488
  • Log invalid EventFormatter registrations as errors. PR #491
  • Support container CPU host metrics. Commit f2fca1ec5a850cd84fbc8cefe63af8f039ebb155
  • Support StatsD server in agent. Commit f2fca1ec5a850cd84fbc8cefe63af8f039ebb155
  • Fix samples being reported for multiple namespaces. Commit f2fca1ec5a850cd84fbc8cefe63af8f039ebb155
  • Report memory and swap usage in percent using the memory_usage and swap_usage metrics. Commit f2fca1ec5a850cd84fbc8cefe63af8f039ebb155


  • Log memory usage of agent if high. Commit 46cf3770e13eff9f5fccbf8a4525a8dbfd8eeaad
  • Fix Appsignal::Transaction.pause!. PR #482


  • Fix multi user permission issue for agent directories and files. Commit ab1b35f850777d5999b41627d75be0b3904bc0a1


  • Remove Bundler requirement from diagnose command. PR #451
  • Fix Delayed::Job action name reporting for structs. PR #463


  • Fix installation on Ruby 2.6 for libc and musl library builds. PR #453


  • Group extension and agent tests in diagnose output. PR #437
  • Add diagnose --[no-]send-report option. PR #438
  • Print deprecation warnings to STDOUT as well. PR #439
  • Diagnose command starts the AppSignal logger. PR #440
  • Send appsignal.log file contents with diagnose report. PR #442
  • Track source of config option for diagnose report. PR #444
  • Link back to AppSignal diagnose report page. Claim you reports. PR #445
  • Print only last 10 lines of files in diagnose report output. PR #442 & #447
  • Support container memory host metrics better. PR #448
  • Build dynamic musl extension library. Supports JRuby for musl builds. PR #448
  • Change files_world_accessible permissions to not make files executable. PR #448
  • Make agent debug logging for disk IO metrics more robust. PR #448

2.7.3 Beta

  • Add user and group context to diagnose report. PR #436
  • Add user and group context to agent logs. PR #436
  • Fixes for running with multiple users


  • Change the order of instructions in the install script for Rails. PR #433
  • Fix linking issues on multi-stage build setups. PR #434


  • Improve error log on unsupported architecture and build combination on install. PR #426
  • Improve performance when garbage collection profiling is disabled. PR #429


  • Detect Kubernetes containers as containers for running_in_container config option. Commit 60822aac24ccc394df073091c64f05096455942d.
  • Fix in memory logger initialization. PR #416
  • Organize classes in their own files. PR #417
  • Move tag value limit handling to extension. PR #418
  • Add working_directory_path config option. PR #421
  • Use doubles values in custom metrics functions. PR #422
  • Bump agent to e41c3c0. Commit 8056af037f82eda156c5946911012e5c742b5664


  • Remove request_headers warning and use sane default. PR #410
  • Fix metrics format for internal agent metrics. PR #411


  • Enable frozen strings by default. PR #384
  • Add revision config option. PR #388
  • Avoid generating unique action names for Padrino. PR #393
  • Add request_headers filter configuration. PR #395
  • Support tags for custom metrics. PR #398
  • Add filter_session_data config option. PR #402 & #409
  • Move default hostname behavior to extension. PR #404
  • Add request_headers config to installation step. PR #406
  • Rename ParamsSanitizer to HashSanitizer. PR #408
  • Fix empty action name issue. Commit b292c2c93c8935ab54fc4d16598fa534c9cc9c90


  • Fix Sidekiq action names containing arguments. PR #401


  • Support Sidekiq delay extension for ActiveRecord instances. If using this feature in your app, an update is strongly recommended! PR #387
  • Improve custom event formatter registration. An event formatter can now be registered in a Rails initializer after AppSignal has been loaded/started. PR #397


  • Improve internal sample storage in agent. Commit 2c8eae26685c7a1517cf2e57b44edd1557a502f2
  • No longer set _APPSIGNAL_AGENT_VERSION environment variable. PR #385


  • Fix Capistrano config overrides. PR #375
  • Add JRuby beta support. PR #376
  • Fix locking issue on diagnose mode run. Commit e6c6de811f8115a73050fc865e89dd4945ddec57
  • Increase stored length of error messages. Commit e6c6de811f8115a73050fc865e89dd4945ddec57


  • Store more details for Redis events. PR #374


  • Store agent architecture rather than platform. PR #367
  • Improve documentation for Appsignal.monitor_transaction better. Commit e53987ba36a79fc8883f2e59322946297ddee773
  • Change log level from info to debug for value comparing failures. Commit ecef28b28edaff46b95f53a916c93021dc763160
  • Collect free memory host metric. Commit ecef28b28edaff46b95f53a916c93021dc763160
  • Fix crashes when Set wasn't required before AppSignal, such as in the CLI. PR #373


  • Add Que integration. PR #361
  • Support Sidekiq delayed extension job action names better. Now action names are reported as their class and class method name (MyClass.method), rather than Sidekiq::Extensions::DelayedClass#perform for all jobs through that extension. PR #362
  • Support Sidekiq Enterprise encrypted values. PR #365
  • Use musl build for older libc systems. PR #366


  • Add separate GNU linux build. PR #351 and Commit d1763f4dcb685608468a73f3192226f60f66b217
  • Add separate FreeBSD build Commit d1763f4dcb685608468a73f3192226f60f66b217
  • Fix crashes when using a transaction from multiple processes in an unsupported way. Commit d1763f4dcb685608468a73f3192226f60f66b217
  • Auto restart agent when none is running Commit d1763f4dcb685608468a73f3192226f60f66b217
  • Add appsignal_user Capistrano config option. PR #355
  • Track Exception-level exceptions. PR #356
  • Add tags and namespace arguments to Appsignal.listen_for_error. PR #357
  • Revert Sidekiq delayed extension job action names fix. Commit 9b84a098604de5ef5e52645ba7fcb09d84f66eaa


  • Support Sidekiq delayed extension job action names better. Now action names are reported as their class and class method name (MyClass.method), rather than Sidekiq::Extensions::DelayedClass#perform for all jobs through that extension. PR #348


  • Allow configuration of permissions of working directory. PR #336
  • Fix locking bug that delayed extension shutdown. Commit 51d90bb1207affc2c88f7cff5035a2c36acf9784
  • Log extension start with app revision if present Commit 51d90bb1207affc2c88f7cff5035a2c36acf9784




  • Fix naming for ActiveJob integration with DelayedJob. PR #345


  • Accept mixed case env variable values for the true value. PR #333
  • Don't record sensitive HTTP_X_AUTH_TOKEN header. PR #334
  • Support dry run option for Capistrano 3.5.0 and higher. PR #339
  • Agent and extension update. Improve agent connection handling. Commit e75d2f9b520d46f6cd0266b484b2c26c3bdc8882


  • Improve Rake argument handling. Allow for more detailed view of which arguments a tasks receives. PR #328


  • Fix ActiveSupport::Notifications hook not supporting non-string names for events. PR #324


  • Fix Shoryuken instrumentation when body is a string. PR #266
  • Enable ActiveSupport instrumentation at all times. PR #274
  • Add parameter filtering for background jobs. Automatically uses the AppSignal parameter filtering. PR #280
  • Improve log messages for transactions. PR #293
  • Remove thread_safe dependency. PR #294
  • Add Transaction#params attribute for custom parameters. PR #295
  • Fix queue time on DelayedJob integration. PR #297
  • Add ActionCable support. PR #309
  • Finish ActiveSupport notifications events when they would encounter a raise or a throw. PR #310
  • Add ignore_namespaces option. PR #312
  • Truncate lengthy parameter values to 2000 characters. Commit 65de1382f5f453b624781cde6e0544c89fdf89ef and d3ca2a545fb22949f3369692dd57d49b4936c739.
  • Disable gracefully on Microsoft Windows. PR #313
  • Add tags and namespace arguments to Appsignal.set_error. PR #317


  • Fix support for Rails 5.1. PR #286
  • Fix instrumentation that would report a duration of 0ms for all DataMapper queries. PR #290
  • Finish events when Appsignal.instrument encounters a raise or a throw. PR #292


  • Support Ruby 2.4 better. PR #234
  • Initial setup for documenting the Ruby gem's code. PR #243
  • Move running_in_container auto detection to extension for easy reuse. PR #249
  • Allow overriding of action and namespace for a transaction. PR #254
  • Prefix all agent configuration environment variables with an underscore to separate the two usages. PR #258
  • Force agent to run in diagnostic mode even when the user config is set to active: false. PR #260
  • Stub JS error catching endpoint when not active. PR #263
  • Use better event names for Padrino integration. PR #265
  • No longer gzip payloads send by the Ruby gem transmitter. PR #269
  • Send diagnostics data report to AppSignal on request. PR #270
  • When JS exception endpoint payload is empty return 400 code. PR #271
  • Remove hardcoded DNS servers from agent and add config option. PR #278


  • Fix error with Grape request methods defined with symbols. PR #259


  • Fix DNS issue related to the musl build. Commit 732c877de8faceabe8a977bf80a82a6a89065c4d and 84e521d20d4438f7b1dda82d5e9f1f533ae27c4b
  • Update benchmark and add load test. PR #248
  • Fix configuring instrument Redis and Sequel from env. PR #257


  • Add support for musl based libc (Alpine Linux). PR #229
  • Implement Appsignal.is_ignored_error? and Appsignal.is_ignored_action? logic in the AppSignal extension. PR #224
  • Deprecate Appsignal.is_ignored_error?. PR #224
  • Deprecate Appsignal.is_ignored_action?. PR #224
  • Enforce a coding styleguide with RuboCop. PR #226
  • Remove unused Appsignal.agent attribute. PR #244
  • Deprecate unused Appsignal::AuthCheck logger argument. PR #245


  • Fix Appsignal::Transaction#record_event method call. PR #240


  • Improved logging for agent connection issues. Commit cdf9d3286d704e22473eb901c839cab4fab45a6f
  • Handle nil request/environments in transactions. PR #231


  • Use consistent log format for both file and STDOUT logs. PR #203
  • Fix log path in appsignal diagnose for Rails applications. PR #218, #222
  • Change default log path to ./log rather than project root for all non-Rails applications. PR #222
  • Load the APPSIGNAL_APP_ENV environment configuration option consistently for all integrations. PR #204
  • Support the --environment option on the appsignal diagnose command. PR #214
  • Use the real system /tmp directory, not a symlink. PR #219
  • Run the AppSignal agent in diagnose mode in the appsignal diagnose command. PR #221
  • Test for directory and file ownership and permissions in the appsignal diagnose command. PR #216
  • Test if current user is root in the appsignal diagnose command. PR #215
  • Output last couple of lines from appsignal.log on agent connection failures.
  • Agent will no longer fail to start if no writable log path is found. Commit 8920865f6158229a46ed4bd1cc98d99a849884c0, change in agent.
  • Internal refactoring of the test suite and the appsignal install command. PR #200, #205


  • Fix JavaScript exception catcher throwing an error on finishing a transaction. PR #210


  • Fix Sequel instrumentation overriding existing logic from extensions. PR #209


  • Fix configuration load order regression for the APPSIGNAL_PUSH_API_KEY environment variable's activation behavior. PR #208


  • Add Appsignal.instrument_sql convenience methods. PR #136
  • Use Appsignal.instrument internally instead of ActiveSupport instrumentation. PR #142
  • Override ActiveSupport instrument instead of subscribing. PR #150
  • Remove required dependency on ActiveSupport. Recommended you use Appsignal.instrument if you don't need ActiveSupport. PR #150 #142
  • Use have_library to link the AppSignal extension libappsignal. PR #148
  • Rename appsignal_extension.h to appsignal.h. Commit 9ed7c8d83f622d5a79c5c21d352b3360fd7e8113
  • Refactor rescuing of Exception. PR #173
  • Use GC::Profiler to track garbage collection time. PR #134
  • Detect if AppSignal is running in a container or Heroku. PR #177 #178
  • Change configuration load order to load environment settings after appsignal.yml. PR #178
  • Speed up payload generation by letting the extension handle it. PR #175
  • Improve appsignal diagnose formatting and output more data. PR #187
  • Remove outdated appsignal:diagnose rake tasks. Use appsignal diagnose instead. PR #193
  • Fix JavaScript exception without names resulting in errors themselves. PR #188
  • Support namespaces in Grape routes. PR #189
  • Change STDOUT output to always mention "AppSignal", not "Appsignal". PR #192
  • appsignal notify_of_deploy refactor. --name will override any other name config. --environment is only required if it's not set in the environment. PR #194
  • Allow logging to STDOUT. Available for the Ruby gem and C extension. The appsignal-agent process will continue log to file. PR #190
  • Remove deprecated methods. PR #191
  • Send "ruby" implementation name with version number for better identifying different language implementations. PR #198
  • Send demonstration samples to AppSignal using the appsignal install command instead of asking the user to start their app. PR #196
  • Add appsignal demo command to test the AppSignal demonstration samples instrumentation manually and not just during the installation. PR #199


  • Support blocks arguments on method instrumentation. PR #163
  • Support APPSIGNAL_APP_ENV for Sinatra. PR #164
  • Remove Sinatra install step from "appsignal install". PR #165
  • Install Capistrano integration in Capfile instead of deploy.rb. #166
  • More robust handing of non-writable log files. PR #160 #158
  • Cleaner internal exception handling. PR #169 #170 #171 #172 #173
  • Support for mixed case keywords in sql lexing. appsignal/sql_lexer#8
  • Support for inserting multiple rows in sql lexing. appsignal/sql_lexer#9
  • Add session_overview to JS transaction data. Commit af2d365bc124c01d7e9363e8d825404027835765


  • Fix SSL certificate config in appsignal-agent. PR #151
  • Remove mounted_at Sinatra middleware option. Now detected by default. PR #146
  • Sinatra applications with middleware loading before AppSignal's middleware would crash a request. Fixed in PR #156


  • Fix argument order for record_event in the AppSignal extension


  • Output AppSignal environment on appsignal diagnose
  • Prevent transaction crashes on Sinatra routes with optional parameters
  • Listen to stage option to Capistrano 2 for automatic environment detection
  • Add appsignal_env option to Capistrano 2 to set a custom environment


  • Add method to discard a transaction
  • Run spec suite with warnings, fixes for warnings


  • Bugfix for problem when requiring config from installer


  • Host metrics is now enabled by default
  • Beta of minutely probes including GC metrics
  • Refactor of param sanitization
  • Param filtering for non-Rails frameworks
  • Support for modular Sinatra applications
  • Add Sinatra middleware to Sinatra::Base by default
  • Allow a new transaction to be forced by sinatra instrumentation
  • Allow hostname to be set with environment variable
  • Helpers for easy method instrumentation
  • Appsignal.instrument helper to easily instrument blocks of code
  • record_event method to instrument events without a start hook
  • send_params is now configurable via the environment
  • Add DataMapper integration
  • Add webmachine integration
  • Allow overriding Padrino environment with APPSIGNAL_APP_ENV
  • Add mkmf.log to diagnose command
  • Allow for local install with bundler bundle exec rake install
  • Listen to stage option to Capistrano 3 for automatic environment detection
  • Add appsignal_env option to Capistrano 3 to set a custom environment


  • Bugfix in CPU utilization calculation for host metrics


  • Support for adding a namespace when mounting Sinatra apps in Rails
  • Support for negative numbers and ILIKE in the sql lexer


  • Catch nil config for installer and diag
  • Minor performance improvements
  • Support for arrays, literal value types and function arguments in sql lexer


  • Handle out of range numbers in queue lenght and metrics api


  • Use Dir.pwd in CLI install wizard
  • Support bignums when setting queue length
  • Support for Sequel 4.35
  • Add env option to skip errors in Sinatra
  • Fix for queue time calculation in Sidekiq (by lucasmazza)


  • Restart background thread when FD's are closed
  • Beta version of collecting host metrics (disabled by default)
  • Hooks for Shuryoken
  • Don't add errors from env if raise_errors is off for Sinatra


  • Fix for race condition when creating working dir exactly at the same time
  • Make diag Rake task resilient to missing config


  • Require json to fix problem with using from Capistrano


  • Make logging resilient for closing FD's (daemons gem does this)
  • Add support for using Resque through ActiveJob
  • Rescue more expections in json generation


  • Generic Rack instrumentation middleware
  • Event formatter for Faraday
  • Rescue and log errors in transaction complete and fetching params


  • Support for null in sql sanitization
  • Add require to deploy.rb if present on installation
  • Warn when overwriting already existing transaction
  • Support for x86-linux
  • Some improvements in debug logging
  • Check of log file path is writable
  • Use bundled CA certs when installing agent


  • Better debug logging for agent issues
  • Fix for exception with nil messages
  • Fix for using structs as job params in Delayed Job


  • Fix for issue where Appsignal.send_exception clears the current transaction if it is present
  • Rails 3.0 compatibility fix


  • Bug fix in notify of deploy cli
  • Better support for nil, true and false in sanitization


  • Collect global metrics for GC durations (in beta, disabled by default)
  • Collect params from Delayed Job in a reliable way
  • Collect perams for Delayed Job and Sidekiq when using ActiveJob
  • Official Grape support
  • Easier installation using bundle exec appsignal install




  • Another multibyte bugfix in sql sanizitation


  • Bugfix in sql sanitization when using multibyte utf-8 characters


  • Improved sql sanitization
  • Improved mongoid/mongodb sanitization
  • Minor performance improvements
  • Better handling for non-utf8 convertable strings
  • Make gem installable (but not functional) on JRuby


  • Make working dir configurable using APPSIGNAL_WORKING_DIR_PATH or :working_dir_path


  • Fix bug in completing JS transactions
  • Make Resque integration robust for bigger payloads
  • Message in logs if agent logging cannot initialize
  • Call to_s on DJ id to see the id when using MongoDB


  • Bug fix in format of process memory measurements
  • Event formatter for instantiation.active_record
  • Rake integration file for backwards compatibility
  • Don't instrument mongo-ruby-driver when transaction is not present
  • Accept method calls on extension if it's not loaded
  • Fix for duplicate notifications subscriptions when forking


  • Fix for bug in gem initialization when using safe_yaml gem


  • New version of event formatting and collection
  • Use native library and agent
  • Use API V2
  • Support for Mongoid 5
  • Integration into other gems with a hooks system
  • Lots of minor bug fixes and improvements


  • Improve Sinatra support


  • Support ActiveJob wrapped jobs
  • Improve proxy support
  • Improve rake support


  • Add Padrino support
  • Add Rake task monitoring
  • Add http proxy support
  • Configure Net::HTTP to only use TLS
  • Don't send queue if there is no content
  • Don't retry transmission when response code is 400 (no content)
  • Don't start Resque IPC server when AppSignal is not active
  • Display warning message when attempting to send a non-exception to send_exception
  • Fix capistrano 2 detection
  • Fix issue with Sinatra integration attempting to attach an exception to a transaction that doesn't exist.


  • Sanitizer will no longer inspect unknown objects, since implementations of inspect sometimes trigger unexpected behavior.


  • Reliably get errors in production for Sinatra


  • Fix for binding bug in exceptions in Resque
  • Handle invalidly encoded characters in payload


  • Fix for infinite attempts to transmit if there is no valid api key


  • Add frontend error catcher
  • Add background job metadata (queue, priority etc.) to transaction overview
  • Add APPSIGNAL_APP_ENV variable to Rails config, so you can override the environment
  • Handle http queue times in microseconds too


  • Add option to override Job name in Delayed Job


  • Use APPSIGNAL_APP_NAME and APPSIGNAL_ACTIVE env vars in config
  • Better Sinatra support: Use route as action and set session data for Sinatra



  • Make without_instrumentation thread safe


  • Support Ruby 1.9 and up instead of 1.9.3 and up


  • If APP_REVISION environment variable is set, send it with the log entry.


  • Allow a custom request_class and params_method on Rack instrumentation
  • Loop through env methods instead of env
  • Add HTTP_CLIENT_IP to env methods


  • Improved inter process communication
  • Retry sending data when the push api is not reachable
  • Our own event handling to allow for more flexibility and reliability when using a threaded environment
  • Resque officially supported!


  • Add config option to skip session data


  • Don't shutdown in at_exit
  • Debug log about missing name in config


  • Add REQUEST_URI and PATH_INFO to env params allowlist


  • Shut down all operations when agent is not active
  • Separately rescue OpenSSL::SSL::SSLError


  • Bugfix in event payload sanitization


  • Bugfix in event payload sanitization


  • Remove ActiveSupport dependency
  • Use vendored notifications if ActiveSupport is not present
  • Update bundled CA certificates
  • Fix issue where backtrace can be nil
  • Use Appsignal.monitor_transaction to instrument and log errors for custom actions
  • Add option to ignore a specific action


  • Convert to primitives before sending through pipe




  • Log Rails and Sinatra version
  • Resubscribe to notifications after fork


  • Log if appsignal is not active for an environment


  • Log Ruby version and platform on startup
  • Log reason of shutting down agent


  • Some debug logging tweaks


  • Add option to override Capistrano revision
  • Expanded deploy message in Capistrano
  • Refactor of usage of Thread.local
  • Net::HTTP instrumentation
  • Capistrano 3 support


  • Exception logging in agent thread


  • Few tweaks in logging
  • Clarify Appsignal::Transaction.complete! code


  • Random sleep time before first transmission of queue


  • Workaround for frozen string in Notification events
  • Require ActiveSupport::Notifications to be sure it's available


  • Skip enqueue, send_exception and add_exception if not active


  • Bugfix: Don't pause agent when it's not active




  • Explicitely require securerandom


  • Dup process action event to avoid threading issue
  • Rescue failing inspects in param sanitizer
  • Add option to pause instrumentation


  • Resque support (beta)
  • Support tags in Appsignal.send_exception
  • Alias tag_request to tag_job, for background jobs
  • Skip sanitization of env if env is nil
  • Small bugfix in forking logic
  • Don't send params if send_params is off in config
  • Remove --repository option in CLI
  • Name option in appsignal notify_of_deploy CLI
  • Don't call to_hash on ENV
  • Get error message in CLI when config is not active


  • Don't require revision in CLI notify_of_deploy


  • Skip session sanitize if not a http request
  • Use appsignal_config in Capistrano as initial config


  • Restart thread when we've been forked
  • Only notify of deploy when active in capistrano
  • Make sure env is a string in config


  • Bugfix in Delayed Job integration
  • appsignal prefix when logging to stdout
  • Log to stdout on Shelly Cloud


  • Fix in monitoring of queue times


  • Support for background processors (Delayed Job and Sidekiq)


  • Better support for forking webservers


  • Mayor refactor and cleanup
  • New easier onboarding process
  • Support for Rack apps, including experimental Sinatra integration
  • Monitor HTTP queue times
  • Always log to stdout on Heroku


  • Send HTTP_X_FORWARDED_FOR env var


  • Add Appsignal.add_exception


  • Fix bug where fast requests are tracked with wrong action


  • More comprehensive debug logging


  • Use a mutex around access to the aggregator
  • Bugfix for accessing connection config in Rails 3.0
  • Add Appsignal.tag_request
  • Only warn if there are duplicate push keys


  • Bugfix in backtrace cleaner usage for Rails 4


  • Bugfix in Capistrano integration


  • Support for Rails 4
  • Data that's posted to AppSignal is now gzipped
  • Add Appsignal.send_exception and Appsignal.listen_for_exception
  • We now us the Rails backtrace cleaner


  • Fix minor bug


  • Debug option in config to get detailed logging


  • Fix minor bug


  • General improvements to the Rails generator
  • Log to STDOUT if writing to log/appsignal.log is not possible (Heroku)
  • Handle the last transactions before the rails process shuts down
  • Require 'erb' to enable dynamic config