# Change Log

All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).

# v7.0.2
## (2026-07-01)

* Update typescript to v6 [joshbwlng]

# v7.0.1
## (2026-06-27)

* Pin dependencies [balena-renovate[bot]]

# v7.0.0
## (2026-06-26)

* Remove express dependency [joshbwlng]

# v6.1.4
## (2026-06-23)

* Update lint-staged to v17 [joshbwlng]
* Rename .lintstagedrc to .lintstagedrc.json [joshbwlng]

# v6.1.3
## (2026-06-22)

* Add id-token: write permission for NPM OIDC publishing [joshbwlng]
* Fix express typing extensions [joshbwlng]

# v6.1.2
## (2025-11-27)

* Include comments in the generated output to keep jsdoc intact [Pagan Gazzard]
* Switch tsconfig module to node18 [Pagan Gazzard]

# v6.1.1
## (2025-10-17)

* Avoid closure for onFinish handlers [Pagan Gazzard]

# v6.1.0
## (2025-10-16)

* Update to prom-client 15.x [Pagan Gazzard]

# v6.0.5
## (2025-10-16)

* Simplify check for the `_total` suffix [Pagan Gazzard]

# v6.0.4
## (2025-10-16)

* Update dev dependencies [Pagan Gazzard]

# v6.0.3
## (2022-04-07)

* Add an `aggregateRequestWorker` that must be called on cluster workers [Pagan Gazzard]

# v6.0.2
## (2022-04-07)

* Use async/await for aggregateRequestHandler [Pagan Gazzard]

# v6.0.1
## (2022-04-06)

* Add missing await [Josh Bowling]

# v6.0.0
## (2022-04-05)

* Update prom-client to 14.x [Pagan Gazzard]

# v5.7.6
## (2022-04-05)

* Update dependencies [Pagan Gazzard]

# v5.7.5
## (2021-07-05)

* Improve typings [Pagan Gazzard]
* Respect the expected kind when checking for existence in `ensureExists` [Pagan Gazzard]

# v5.7.4
## (2021-07-05)

* Enable strict tsconfig options by default [Pagan Gazzard]
* Update dependencies [Pagan Gazzard]

# v5.7.3
## (2020-07-22)

* Fix missing types reference in package.json [Roman Mazur]

# v5.7.2
## (2020-07-02)

* revert 5.7.1 - should have been semver major [dt-rush]

# v5.7.1
## (2020-06-30)

* api latency in seconds [dt-rush]

# v5.7.0
## (2020-05-22)

* export constructor for non-process-global usage [dt-rush]
* process.hrtime [0] returns *seconds*, not ms, so patch to timing logic [dt-rush]

# v5.6.0
## (2020-04-23)

* comprehensive refactor / cleanup of API metrics gathering [dt-rush]

# v5.5.0
## (2020-04-23)

* exportOn() to have default path /metrics, requiring only port [dt-rush]

# v5.4.0
## (2020-04-10)

* expose underlying client so underlying original functions are still available if our semantics are different [dt-rush]

# v5.3.0
## (2020-04-10)

* add simpler export method exportOn() [dt-rush]

# v5.2.1
## (2020-04-07)

* add behaviour to auto-detect a counter based on _total suffix [dt-rush]

# v5.2.0
## (2020-04-07)

* use declaration files in testing / building [dt-rush]
* measure generic, useful express API metrics by a method [dt-rush]

## 5.1.0 - 2020-02-24

* CollectDefaultMetrics passthrough method [dt-rush]

## 5.0.0 - 2020-02-24

* Update prom-client to 12.x [Pagan Gazzard]

## 4.0.2 - 2020-02-24

* Update dependencies and use standard linting [Pagan Gazzard]

## 4.0.1 - 2019-10-10

* Avoid unnecessarily serialising the stack trace [Pagan Gazzard]

## 4.0.0 - 2019-10-08

* Explicit typing of metrics at describe time, simplified metrics metadata handling, improve single-line summary/histogram [dt-rush]

## 3.0.2 - 2019-09-18

* Add diagram to README [dt-rush]

## 3.0.1 - 2019-09-13

* Error-protect all class methods [dt-rush]

## 3.0.0 - 2019-05-28

* Lazily generate `labelNames` [Pagan Gazzard]

## 2.4.1 - 2019-05-28

* Fix build output [Pagan Gazzard]

## 2.4.0 - 2019-05-13

* Add linting/prettifier/husky [dt-rush]
* Refactor import / module structure, add AggregatorStrategy enum [dt-rush]
* Support user specification of alternate aggregation strategies for clustered metrics [dt-rush]

## 2.3.1 - 2019-04-15

* Added warning to README about metrics.describe() in cluster master [dt-rush]

## 2.3.0 - 2019-04-11

* Fix gauge metrics, add clear() method, add inc(), dec() methods [dt-rush]

## 2.2.1 - 2019-03-27

* Removed package-lock.json, out/ directory, added "prepare" in package.json, some minor bugfixes in index.ts, labeled dev dependencies in package.json [dt-rush]

## 2.2.0 - 2019-03-25

* Added aggregate request handler using prom-client's AggregatorRegistry [dt-rush]

## 2.1.1 - 2019-03-20

* Build output (really should be automated) [dt-rush]

## 2.1.0 - 2019-03-20

* Added histogramSummary convenience method [dt-rush]

## 2.0.0 - 2019-03-18

* Renamed percentile to summary (to match prometheus, why differ from it?), also improved README [dt-rush]

## 1.1.1 - 2019-03-14

* Versionbot: Add CHANGELOG.yml (for nested changelogs) [Will Boyce]

## 1.1.0 - 2019-02-12

* Added single-line syntax (no description, or default description) [dt-rush]

## 1.0.6 - 2019-02-06

* Fix sending 403 on not-authed [dt-rush]

## 1.0.5 - 2019-01-24

* Restore changelog and deleted circle.yml [Giovanni Garufi]
* Re-added circle.yml to test build pipeline [dt-rush]
* Remove circle.yml (unused) [dt-rush]

## 1.0.4 - 2019-01-24

* Fixed support for labels [dt-rush]

## 1.0.3 - 2019-01-23

* Add CHANGELOG.md [Giovanni Garufi]

## 1.0.2 - 2019-01-23

* Made module properly importable [dt-rush]
* Created README, added circle.yml to publish to npm [dt-rush]
* Minor refactor to separate files, added some comments [dt-rush]
* Renamed dist/ to out/ [dt-rush]
* Basic functionality [dt-rush]
