Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@lokalise/fastify-extras

lokalise11.4kApache-2.028.0.0TypeScript support: included

Opinionated set of fastify plugins, commonly used in Lokalise

fastify, newrelic, bugsnag, request-context, request-id, split-io

readme

fastify-extras 🧩

Reusable plugins for Fastify.

Dependency Management

The following needs to be taken into consideration when adding new runtime dependency for the fastify-extras package:

  • If dependency is an implementation detail, and end consumer is not expected to import and use the dependency directly, it should be a dependency;
  • If dependency needs to be imported and used by consumer directly for it to function properly, it should be a peerDependency.

Dependencies

  • @bugsnag/js;
  • @splitsoftware/splitio;
  • fastify-metrics;
  • fastify-plugin;
  • tslib.

Peer Dependencies

  • @fastify/jwt;
  • fastify;
  • newrelic;
  • pino;
  • bullmq;

Plugins

RequestContext Provider Plugin

Plugin to:

  • extend existing FastifyRequest with request context by setting the following:
    • logger, a child logger of app.log, with prepopulated header x-request-id;
    • reqId, the request-id;

No options are required to register the plugin.

The getRequestIdFastifyAppConfig() method is exported and returns:

  • genReqId, a function for generating the request-id;
  • requestIdHeader, the header name used to set the request-id.

Which can be passed to Fastify during instantiation.

Public Healthcheck Plugin

Plugin to monitor app status through public healthcheck.

Add the plugin to your Fastify instance by registering it with the following options:

  • healthChecks, a list of promises with healthcheck in the callback;
  • responsePayload (optional), the response payload that the public healthcheck should return. If no response payload is provided, the default response is:
    { "heartbeat": "HEALTHY" }

Your Fastify app will reply with the status of the app when hitting the GET / route.

Common Healthcheck Plugin

Plugin to monitor app status through public and private healthchecks.

Add the plugin to your Fastify instance by registering it with the following options:

  • healthChecks, a list of promises with healthcheck in the callback;
  • responsePayload (optional), the response payload that the healthcheck should return. If no response payload is provided, the default response is:
    { "heartbeat": "HEALTHY", "checks": {} }

Your Fastify app will reply with the status of the app when hitting the GET / public route with aggregated heartbeat from healthchecks provided, example:

{
  "heartbeat": "HEALTHY"
}

Your Fastify app will reply with the status of the app when hitting the GET /health private route with detailed results from healthchecks provided, example:

{
  "heartbeat": "PARTIALLY_HEALTHY",
  "checks": {
    "check1": "HEALTHY",
    "check2": "HEALTHY",
    "check3": "FAIL"
  }
}

Split IO Plugin

Plugin to handle feature flags in Split IO.

Add the plugin to your Fastify instance by registering it with the following options:

  • isEnabled, if true the plugin will connect to Split IO using the provided apiKey and store data in memory with background syncing;
  • apiKey, your SDK key;
  • debugMode;
  • localhostFilePath (optional), used to utilize the SDK in localhost mode. It corresponds to the full path to a file with the mapping of feature flag name to treatment. apiKey will be automatically replaced with localhost if localhostFilePath is provided.

The plugin decorates your Fastify instance with a SplitIOFeatureManager, which you can inject and use to leverage the following methods:

  • init(), returns a promise that resolves once the SDK has finished loading. It's called automatically when registering the plugin;
  • getTreatment(), returns the proper treatment based on the feature flag name and the key in input. Expected parameters are:

    • key, the ID of the user/account/etc. you're trying to evaluate a treatment for;
    • splitName, the Split IO feature flag name;
    • attributes (optional), a set of Attributes used in evaluation to further decide whether to show the on or off treatment;

    NOTE: If isEnabled is false, getTreatement() will return control to signal disabled treatment.

  • getTreatmentWithConfig(), used to leverage dynamic configurations with your treatment. It accepts the same parameters as getTreatment(), but the response structure is as follows:

    type TreatmentResult = {
      treatment: string
      config: string | null
    }

    NOTE: If isEnabled is false, getTreatementWithConfig() will return control as treatment and null as config to signal disabled treatment.

  • track(), used to record any actions your customers perform. Returns a boolean to indicate whether or not the SDK was able to successfully queue the event. Expected parameters are:
    • key, the ID of the user/account/etc. you're trying to evaluate a treatment for;
    • trafficType, the traffic type of the key;
    • eventType, the event type that this event should correspond to;
    • value (optional), the value to be used in creating the metric;
    • properties(optional), an object of key value pairs that represent the properties to be used to filter your metrics;
  • shutdown(), gracefully shuts down the client.

More info about Split IO can be checked here.

BugSnag Plugin

Plugin to report errors to BugSnag.

Add the plugin to your Fastify instance by registering it with the following options:

Once the plugin has been added to your Fastify instance and loaded, errors will be reported to BugSnag.

Metrics Plugin

Plugin to expose Prometheus metrics.

Add the plugin to your Fastify instance by registering it with the following options:

  • loggerOptions, used to configure the internal logger instance. It can be a boolean or a set of Pino options. By default it is set to false and the logger is disabled;
  • disablePrometheusRequestLogging (optional). By default Fastify will issue an info level log message when a request is received and when the response for that request has been sent. By setting this option to true, these log messages will be disabled. Defaults to true;
  • bindAddress (optional). By default, the server will listen on the address(es) resolved by localhost when no specific host is provided. See the possible values for host when targeting localhost here;
  • errorObjectResolver, a resolver method that, given an err and optionally a correlationID, it will log the error if something goes wrong.

The plugin exposes a GET /metrics route in your Fastify app to retrieve Prometheus metrics. If something goes wrong while starting the Prometheus metrics server, an Error is thrown. Otherwise, a success message is displayed when the plugin has been loaded.

PrometheusCounterTransactionManager

PrometheusCounterTransactionManager is an implementation of TransactionObservabilityManager that uses Prometheus counters to track the number of started, failed, and successful transactions. The results are automatically added to the /metrics endpoint exposed by the metrics plugin.

BullMQ Metrics Plugin

Plugin to auto-discover BullMQ queues which can regularly collect metrics for them and expose via fastify-metrics global Prometheus registry. If used together with metricsPlugin, it will show these metrics on GET /metrics route.

This plugin depends on the following peer-installed packages:

  • bullmq
  • ioredis

Add the plugin to your Fastify instance by registering it with the following possible options:

  • redisConfigs, Redis configurations used for BullMQ. Plugin uses them to discover the queues.
  • bullMqPrefix (optional, default: bull). The prefix used by BullMQ to store the queues in Redis;
  • metricsPrefix (optional, default: bullmq). The prefix for the metrics in Prometheus;
  • queueDiscoverer (optional, default: BackgroundJobsBasedQueueDiscoverer). The queue discoverer to use. The default one relies on the logic implemented by @lokalise/background-jobs-common where queue names are registered by the background job processors; If you are not using @lokalise/background-jobs-common, you can use your own queue discoverer by instantiating a RedisBasedQueueDiscoverer or implementing a QueueDiscoverer interface;
  • excludedQueues (optional, default: []). An array of queue names to exclude from metrics collection;
  • histogramBuckets (optional, default: [20, 50, 150, 400, 1000, 3000, 8000, 22000, 60000, 150000]). Buckets for the histogram metrics (such as job completion or overall processing time).
  • collectionOptions (optional, default: { type: 'interval', intervalInMs: 5000 }). Allows to configure how metrics are collected. Supports the following properties:
    • type. Can be either interval or manual.
      • With interval type, plugin automatically loops and updates metrics at the specified interval.
      • With manual type, you need to call app.bullMqMetrics.collect() to update the metrics; that allows you to build your own logic for scheduling the updates.
    • intervalInMs (only for type: 'interval'). The interval in milliseconds at which the metrics are collected;

This plugin exposes bullMqMetrics.collect() method on the Fastify instance to manually trigger the metrics collection.

If something goes wrong while starting the BullMQ metrics plugin, an Error is thrown.

NewRelic Transaction Manager Plugin

Plugin to create custom NewRelic spans for background jobs.

Add the plugin to your Fastify instance by registering it with the following options:

  • isEnabled.

The plugin decorates your Fastify instance with a NewRelicTransactionManager, which you can inject and use to leverage the following methods:

  • start(), which takes a jobName, and starts a background transaction with the provided name;
  • stop(), which takes a jobId, and ends the background transaction referenced by the ID;
  • addCustomAttribute(), which takes attrName and attrValue and adds the custom attribute to the current transaction. attrValue can be a string, a number, or a boolean.
  • addCustomAttributes(), which passes atts map of the custom attributes to the current transaction. _uniqueTransactionKey argument is not used (because New Relic doesn't support setting custom attributes directly on the transaction handle), any string can be passed.

Amplitude Plugin

This plugin facilitates the transmission of events to Amplitude.

To add this plugin to your Fastify instance, register it with the following configurations:

  • isEnabled: A flag utilized to activate or de-activate the plugin.
  • apiKey (optional): This refers to the Amplitude API key which can be procured from your respective Amplitude project.
  • options (optional): To configure Amplitude, please refer to this documentation.
  • apiUsageTracking (optional): You can use this callback to generate an event that will automatically be sent for tracking API usage. Non-specification of this feature will lead to disabling of API tracking.
  • plugins (optional): This feature allows you to expand the plugin's functionality, from altering event properties to relaying to third-party APIs. To learn more, visit this link.

The plugin decorates your Fastify instance with a Amplitude, which you can inject and use the track method on it to send events whenever you need

📘 To ensure optimal functionality with this plugin, you may need to incorporate Amplitude types into your development dependencies.

"@amplitude/analytics-types": "*"

Additionally, you have the option to enhance the safety and accuracy of your events and properties by wrapping your Amplitude instance with AmplitudeAdapter.

📘Check `AmplitudeAdapter.spec.ts for a practical example

Strip Trailing Slash Plugin

This plugin helps with SEO and SSR by ensuring search engines index only one version of a URL, avoiding duplicate content. It redirects URLs with a trailing slash to the version without it, making it easier for search engines to crawl your site consistently.

UnhandledException Plugin

This plugin provides a mechanism for handling uncaught exceptions within your Fastify application, ensuring that such exceptions are logged and reported. It's especially useful for capturing unforeseen exceptions and provides a controlled shutdown of the Fastify server, thereby ensuring no potential data corruption.

Setup & Configuration

To integrate this plugin into your Fastify instance, follow these steps:

  1. First, import the necessary types and the plugin:
import { FastifyInstance } from 'fastify'
import { unhandledExceptionPlugin, ErrorObjectResolver } from '@lokalise/fastify-extras'
  1. Configure the plugin:

Define your own ErrorObjectResolver to dictate how the uncaught exceptions will be structured for logging. Here's an example:

const myErrorResolver: ErrorObjectResolver = (err, correlationID) => {
  return {
    error: err,
    id: correlationID,
  }
}

You'll also need to provide an ErrorReporter instance. This instance should have a report method to handle the error reporting logic. For example:

import { ErrorReporter } from '@lokalise/node-core'

const myErrorReporter = new ErrorReporter(/* initialization params */)
  1. Register the plugin with your Fastify instance:
const fastify = Fastify()

fastify.register(unhandledExceptionPlugin, {
  errorObjectResolver: myErrorResolver,
  errorReporter: myErrorReporter,
})

Options

The plugin accepts the following options:

  • errorObjectResolver (required): This function determines the structure of the error object which will be logged in case of an uncaught exception.

  • errorReporter (required): An instance of the ErrorReporter which will handle reporting of the uncaught exceptions.

Working Principle

When an uncaught exception occurs, the plugin:

  • Logs the exception using the provided errorObjectResolver.

  • Reports the exception using the ErrorReporter.

  • Shuts down the Fastify server gracefully.

  • Exits the process with exit code 1.

Dependencies

  • @lokalise/node-core: For error reporting.

  • fastify: The framework this plugin is designed for.

🚨 It's critical to note that this plugin listens to the process's 'uncaughtException' event. Multiple listeners on this event can introduce unpredictable behavior in your application. Ensure that this is the sole listener for this event or handle interactions between multiple listeners carefully.

Utilities

route-utilities

authPreHandlers

  • createStaticTokenAuthPreHandler - creates pre handler tha expects a static token in the Authorization header. If value is different from the expected token, it will return a 401 response.

changelog

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

v28.0.0

  • Switch to zod v4 #272
  • Bump newrelic from 12.20.0 to 12.21.0 #268
  • Bump newrelic from 12.19.0 to 12.20.0 #267
  • Bump newrelic from 12.18.2 to 12.19.0 #266
  • Bump @lokalise/node-core from 13.6.0 to 14.0.1 #265

v27.4.0

8 May 2025

  • feat: monitor all bull mq job statuses #264
  • Bump @lokalise/biome-config from 1.6.1 to 2.0.0 #262
  • Bump newrelic from 12.18.0 to 12.18.2 #263
  • Bump newrelic from 12.17.0 to 12.18.0 #261
  • Bump newrelic from 12.16.0 to 12.17.0 #260
  • Bump @lokalise/backend-http-client from 4.1.1 to 5.0.0 #258

v27.3.0

29 March 2025

  • Support synchronous creation of noop newrelic manager #257
  • Bump newrelic from 12.15.0 to 12.16.0 #256

v27.2.0

20 March 2025

  • feat: Expose NR user & controller methods #255
  • Bump @lokalise/error-utils from 2.2.0 to 3.0.0 #254
  • Bump shx from 0.3.4 to 0.4.0 #252
  • Bump @lokalise/background-jobs-common from 11.0.0 to 12.0.1 #253

v27.1.0

17 March 2025

  • Failing in case newrelic is not defined #250

v27.0.3

17 March 2025

  • Using newrelic default #251

v27.0.2

17 March 2025

  • Moving new relic to local instance #249

v27.0.1

15 March 2025

  • Fixing new relic require #248

v27.0.0

13 March 2025

  • Chore/common tsconfig #247
  • Bump newrelic from 12.14.0 to 12.15.0 #244
  • Bump @lokalise/background-jobs-common from 10.4.2 to 11.0.0 #243

v26.2.0

27 February 2025

  • Making aplitude user id flexible #240
  • Bump newrelic from 12.13.0 to 12.14.0 #239

v26.1.1

21 February 2025

  • chore: improve trailing slash plugin reliability #238

v26.1.0

19 February 2025

  • feat: add stripTrailingSlashPlugin #235
  • Bump newrelic from 12.12.0 to 12.13.0 #234
  • feat: add option to disable healthcheck on root route #233
  • Bump @lokalise/background-jobs-common from 9.1.0 to 10.0.1 #231
  • Bump newrelic from 12.11.1 to 12.12.0 #229
  • Bump newrelic from 12.10.0 to 12.11.1 #228
  • Bump newrelic from 12.9.0 to 12.10.0 #227
  • Bump newrelic from 12.8.2 to 12.9.0 #226

v26.0.0

16 December 2024

  • Add support for the custom attributes #225
  • Bump newrelic from 12.8.0 to 12.8.1 #224
  • Bump @lokalise/backend-http-client from 2.4.0 to 3.0.0 #223

v25.5.0

4 December 2024

  • AP-5754 support for providing custom header name for auth prehandler #222

v25.4.1

29 November 2024

  • MET-425 Fix: Export commonHealthCheckPlugin #221

v25.4.0

29 November 2024

  • MET-425 Create a common healthcheck plugin for public and private endpoints #220
  • Bump newrelic from 12.7.0 to 12.8.0 #219

v25.3.0

25 November 2024

  • Support newer bullmq #218
  • Bump newrelic from 12.6.1 to 12.7.0 #216
  • Bump @splitsoftware/splitio from 10.28.0 to 11.0.1 #217
  • Bump newrelic from 12.6.0 to 12.6.1 #215
  • Bump pino-pretty from 11.3.0 to 13.0.0 #214
  • Bump newrelic from 12.5.2 to 12.6.0 #212

v25.2.0

7 November 2024

  • Export extra type #213

v25.1.0

29 October 2024

  • AP-5780 Accept groups in Amplitude track calls #210
  • Bump newrelic from 12.5.1 to 12.5.2 #209

v25.0.0

21 October 2024

  • Update to a newer BullMQ #208
  • Bump @lokalise/node-core from 12.5.1 to 13.0.1 #206

v24.3.1

7 October 2024

  • Add missing dependency #205

v24.3.0

30 September 2024

  • Explicit plugin types #204

v24.2.1

30 September 2024

  • Adjust FastifyInstance types #203

v24.2.0

30 September 2024

  • Use more fastify5-friendly logger definition #202

v24.1.0

30 September 2024

  • Update error handler to accomodate for changes in fastify-type-provider-zod #201

v24.0.0

28 September 2024

  • Switch to fastify 5 #200
  • Bump fastify-plugin from 4.5.1 to 5.0.1 #198
  • Bump newrelic from 12.4.0 to 12.5.0 #197
  • Bump newrelic from 12.2.0 to 12.4.0 #196
  • Bump @bugsnag/js from 7.25.0 to 8.0.0 #190

v23.2.0

12 September 2024

  • Add extra context for error reporter #194

v23.1.1

4 September 2024

  • missing export #193

v23.1.0

4 September 2024

  • AP-5078 prometheus counter transaction manager #192

v23.0.0

2 September 2024

  • AP-5015 update bullmq metrics plugin to use redis configs instead of redis instances #189

v22.0.1

26 August 2024

  • node-core must be a peer dependency #188

v22.0.0

23 August 2024

  • AP-4397 support for multiple redis clients in BullMQ metrics #186

v21.7.0

16 August 2024

  • Update dependencies #183

v21.6.0

7 August 2024

  • adjust bull mq metrics #181

v21.5.0

6 August 2024

  • AP-4667 PreHandler for static tokens. #180

v21.4.2

6 August 2024

  • Add support for newrelic 12 #179
  • Move to biome #177

v21.4.1

22 July 2024

  • Fix incorrect TS build #175

v21.4.0

22 July 2024

  • AIM-402 Add BullMQ metrics plugin #173
  • Add Redis #174
  • Bump @lokalise/node-core from 10.0.1 to 11.1.0 #170
  • Bump newrelic from 11.22.0 to 11.23.1 #169
  • Bump newrelic from 11.19.0 to 11.22.0 #167

v21.3.0

25 June 2024

  • Error utils update #166

v21.2.2

21 June 2024

  • Enhanced error reporting to include generic and other error types #165

v21.2.1

19 June 2024

  • Fix error logging #164

v21.2.0

12 June 2024

  • Support user_id "SYSTEM" #163
  • Bump @lokalise/node-core from 9.22.0 to 10.0.0 #162
  • Use backend-http-clien #160
  • Bump newrelic from 11.18.0 to 11.19.0 #161
  • Prepare to release 21.1.0 f4d8baa
  • Add dependabot ignores for ESLint 78fd9ca

v21.0.0

9 June 2024

  • Remove direct dependency on ALS #159

v20.2.2

3 June 2024

  • Forcing error-utils 1.2.2 #158

v20.2.1

3 June 2024

  • Forcing error-utils 1.2.1 #157

v20.2.0

31 May 2024

  • error utils 1.2.0 #156

v20.1.0

30 May 2024

  • Improve unhandled rejections handler #155
  • Bump newrelic from 11.16.0 to 11.17.0 #154
  • Bump newrelic from 11.15.0 to 11.16.0 #153

v20.0.0

6 May 2024

  • Switch to pino 9 to unblock updates #152

v19.1.0

6 May 2024

  • Use node-core TransactionObservabilityManager interface #151
  • Bump pino from 8.21.0 to 9.0.0 #147
  • Bump vitest and @vitest/coverage-v8 #150
  • Ignore changelog file 47cbc9a

v19.0.0

4 May 2024

  • Do not overwrite transactions with the same name #149

v18.0.0

24 April 2024

  • Switch to CommonLogger interface #144

v17.1.1

15 April 2024

  • Updating node-core #142

v17.1.0

12 April 2024

  • Bump newrelic from 11.10.1 to 11.15.0 #141
  • Bump pino-pretty from 10.3.1 to 11.0.0 #133
  • AP-3190 Reexport of addFeatureFlag. #139
  • Amplitude adapter #138

v17.0.3

29 March 2024

  • Improve error handling for the metrics plugin #136
  • Fix changelog a6bc8d0

v17.0.2

28 March 2024

  • Reexport BugSnag-related utils from error-utils package for backward compatibility #135

v17.0.0

19 March 2024

  • Upgrade OpenTelemetry to catch up with latest prisma #132

v16.6.0

27 February 2024

  • Log healthcheck errors #127

v16.5.0

27 February 2024

    • export isZodError function #126

v16.4.0

12 February 2024

  • AP-2305 add token utils #122
  • Bump newrelic from 11.9.0 to 11.10.1 #120
  • Update dependencies #118
  • Update codeowners #119
  • Bump newrelic from 11.8.0 to 11.9.0 #117

v16.3.1

7 January 2024

  • Avoid mixed style in a plugin #116
  • Bump newrelic from 11.6.1 to 11.8.0 #114

v16.3.0

6 January 2024

  • Support custom infoProviders on healthcheck #113
  • Bump @lokalise/node-core from 8.4.1 to 9.1.0 #110

v16.2.2

11 December 2023

  • Fix compatibility with prisma-instrumentation 5.7.0 #109
  • Bump newrelic from 11.6.0 to 11.6.1 #107

v16.2.1

5 December 2023

  • Fix instanceof check across libraries #106

v16.2.0

5 December 2023

  • Expose ErrorReporter wrapper for Bugsnag #104

v16.1.0

4 December 2023

  • Implement reusable error handler #103

v16.0.0

30 November 2023

  • Sync OTel versions with latest prisma #100

v15.3.0

28 November 2023

  • Automatically log request id #98

v15.2.0

27 November 2023

  • Provide readable name in stack traces #97

v15.1.0

21 November 2023

  • feat: Add unhandledExceptionPlugin #91
  • Bump newrelic from 11.4.0 to 11.5.0 #94
  • Bump @lokalise/node-core from 7.1.0 to 8.0.0 #95
  • Bump @lokalise/node-core from 6.5.0 to 7.1.0 #93
  • Bump actions/setup-node from 3 to 4 #92
  • Bump newrelic from 11.2.1 to 11.4.0 #90
  • Bump newrelic from 11.1.0 to 11.2.1 #89

v15.0.0

6 October 2023

  • Move to vitest #88
  • Try to fix releases #87
  • Bump and lock opentelemetry #86
  • Bump actions/checkout from 3 to 4 #85

v14.2.1

22 September 2023

  • Add missing export #84

v14.2.0

22 September 2023

  • Common healthcheck wrapping functions #83
  • Bump @opentelemetry/instrumentation from 0.41.2 to 0.43.0 #81

v14.1.1

20 September 2023

    • add FastifyReplyWithPayload type #82
  • Bump @opentelemetry/exporter-trace-otlp-grpc from 0.41.2 to 0.43.0 #80
  • Bump newrelic from 11.0.0 to 11.1.0 #79

v14.1.0

8 September 2023

  • Include healthchecks in response #78

v14.0.0

8 September 2023

  • [AP-372] Modify public healthcheck to use /health endpoint by default and support optional checks #77

v13.1.1

6 September 2023

  • Fix prom healthcheck return type #76

v13.1.0

6 September 2023

  • Implement Prometheus-based healthcheck #75
  • Bump eslint-config-prettier from 8.10.0 to 9.0.0 #69

v13.0.0

4 September 2023

  • Update to the next newrelic semver major and some other dependencies #74
  • Bump newrelic from 10.4.1 to 10.4.2 #66

v12.0.0

12 July 2023

  • Update dependencies #65
  • Bump @opentelemetry/exporter-trace-otlp-grpc from 0.40.0 to 0.41.0 #63
  • Bump @opentelemetry/instrumentation from 0.40.0 to 0.41.0 #62

v11.0.0

6 July 2023

  • Fastify amplitude decorator #61

v10.1.0

5 July 2023

  • Amplitude plugin #59
  • Bump newrelic from 10.2.0 to 10.4.0 #58

v10.0.0

5 July 2023

  • AUT-103 Populate README #60

v9.0.0

20 June 2023

  • Update dependencies #56

v8.0.0

18 May 2023

  • Update dependencies #50

v7.0.0

26 April 2023

  • Use specific log entry for prom server #49
  • Run CI on Node 20 #48

v6.0.1

20 April 2023

  • Include tslib #47

v6.0.0

20 April 2023

  • When healthcheck fails, it should be 500 #45

v5.5.0

17 April 2023

  • Wrap healthcheck into Either #44

v5.4.0

17 April 2023

  • Pass app to healthchecks #43

v5.3.2

17 April 2023

  • Update dependencies #39
  • Make healthcheck more useful #40

v5.3.1

17 February 2023

  • Update dependencies #25

v5.3.0

17 February 2023

  • KRNL-264_split_plugin #21
  • Install fixed version of esquery #26

v5.2.0

15 February 2023

  • Expose method for custom newrelic attributes #23

v5.1.0

31 January 2023

  • Add support for customizing healthcheck response #18
  • Implement public healthcheck plugin #17
  • Documentation for contributions #14

v5.0.1

9 January 2023

  • Cleanup dependencies #13

v5.0.0

9 January 2023

  • Minor cleanup for OTEL plugin #12

v4.3.0

9 January 2023

  • Implement plugin for prisma/OpenTracing support #11

v4.2.0

4 January 2023

  • Make it possible to augment request context with additional fields #10

v4.1.0

2 January 2023

  • Expose key for the requestId #9

v4.0.0

2 January 2023

  • Improve instantiation of bugsnag and newrelic plugins #8

v3.1.0

2 January 2023

  • Prometheus metrics plugin #7

v3.0.0

2 January 2023

  • Make bugsnag a peer dependency #6

v2.0.0

2 January 2023

  • Add documentation and metadata, necessary for publishing #4
  • Bump typescript from 4.9.3 to 4.9.4 #5
  • Automerge Dependabot PRs that pass CI #2
  • Implement fastify plugin for newrelic transaction manager #3
  • feat: Bugsnag and request-context plugins #1
  • Initial commit 156b0d7