NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3152 most downloaded on npm
JSON logger for Node.js and browser.
Last release 2 months ago
26 Jul 2026
Ships unpredictably
gaps range from 2 weeks to 1.6 years
Some releases are documented
notes for 32 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
156 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
# 7.14.0 (2022-10-18) ### Features * allow readonly array
# 7.13.0 (2022-09-29) ### Features * add once methods
## 7.12.3 (2022-08-22) ### Bug Fixes * export MessageContext type
## 7.12.2 (2022-08-17) ### Bug Fixes * force release
add typescript guard for invalid printf usage
throw error if user attempts to improperly invoke log()
# 7.11.0 (2022-03-24) ### Features * add ROARR.serializeMessage
provide fallback async local context
If you ever need to test what is getting logged, Roarr (v7.10) now has a neat trick:
If you ever need to test what is getting logged, Roarr (v7.10) now has a neat trick:
const messages = [];
log.adopt(() => {
yourApplication();
}, (message) => {
messages.push(message);
});
messages now includes anything that is/will going to be logged by yourApplication (including any of the descending async contexts).
You could even do something like this:
log.adopt(() => {
httpServer.listen(8080);
}, (message) => {
messages.push(message);
})
Now messages would get appended to every time that HTTP server handles a request which produces Roarr logs.
Example of where this is useful:
https://github.com/gajus/fastify-webpack/commit/a71a8d864f1d39e304cbfca6bd1fc57ca6db5949#diff-0fedfd7c9fb1766a8baa39c2f5350d5697dc81cf10fc2065d457242c437104a2R146-R168
handle invalid roarr invocation
avoid unnecessary stringify / parse
replace json-stringify-safe with fast-safe-stringify
describe the unexpected type if message is not a string
# 7.7.0 (2021-11-13) ### Features * allow to override context type
loosen JsonObject definition to include undefined
# 7.6.0 (2021-11-12) ### Features * add getLogLevelName (d56e023) * add getLogLevelName
restrict allowed context values to serializable object
## 7.4.2 (2021-11-09) ### Bug Fixes * correctly log sequence
restore accidentally deleted tests
# 7.4.0 (2021-11-06) ### Features * simplify LogWriter interface
# 7.3.0 (2021-11-06) ### Features * export LogWriter type
# 7.2.0 (2021-11-05) ### Features * export logLevels
# 7.1.0 (2021-10-26) ### Features * export RoarrGlobalState type
add Node version supported by semantic-release
avoid loading node.js specific dependencies (fixes #50)
match browser export with Node.js export
## 7.0.4 (2021-09-14) ### Bug Fixes * update dependencies
defer aynsc_hooks warning (fixes #50)
update path to typescript typings
handle async_hooks unavailable (fixes #45)
remove default export in favour of Roarr named export
add async sequence ID (fixes #44)
Your coding agent can read these notes before it upgrades. Set up the MCP server →