NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1310 most downloaded on npm
super fast, all natural json logger
Last release 7 months ago
09 Feb 2026
Release timing varies
gaps range from 9 days to 5 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
333 releases · first in 2016
Do not use require.resolve #216 #217 by @temsa
require.resolve #216 #217 by @temsaNothing published for this version
Use Object.create to define the Pino prototype #210 by @jsumners
Object.create to define the Pino prototype #210 by @jsumnersnew #211 by @jsumnersOne column per quarter.
bump fast-safe-stringify to handle toJSON edge case on objects (cf. #203) #204 @davidmarkclements
fast-safe-stringify to handle toJSON edge case on objects (cf. #203) #204 @davidmarkclementsinternally, the "silent" log level is now a no-op, to be more predictable to consuming libs - by @jsumners
Fix child serializers overwriting the serializers of parents @choif ( #195 #196 )
Fix typo in transports documentation @AlexTes
Add prettyPrint convenience option to constructor ( #184 #186 )
prettyPrint convenience option to constructor ( #184 #186 )fix for null proto objects by @davidmarkclements #181
Include lib/ folder in package.json
lib/ folder in package.jsonReorganize code for legibility #179 by @jsumners
Fix detection of errors vs http requests #175 #176 @nodo
Infinity #174 @itavyfix shared level state between instances #167 by @HCanber @jsumners
fix pino pretty custom levels - #173 by @itavy
Fix docs for .pretty(), as it's actually on the module, not in the instance #164 by @watson
.pretty(), as it's actually on the module, not in the instance #164 by @watsonpino@legacy in the README #166 by @watsonImprove the error serializer #146 #157 by @satazor @colmose @mcollina
Fix prettifier error when receiving null value input #154 #155 @jsumners
null value input #154 #155 @jsumnersSplit README into multiple files for better organization #152 #153 @jsumners
README into multiple files for better organization #152 #153 @jsumnersReduce the size of the package #137 #136 @osher
readme tweak fix @davidmarkclem
Condense README #143 by @davidmarkclements
added `pino-debug` to readme - #133 - @davidmarkclements
pino-debug to readme - #133 - @davidmarkclementsimproved deep object interpolation performance and fixed double escaping bug #129 by @davidmarkclements
Support custom log levels #124 #123 by @jsumners
native-assign dependency by @jsumnersThis release gets the 2.x branch up to date with the latest bug-fixes and new features from master and as such include all non-breaking commits that h
This release gets the 2.x branch up to date with the latest bug-fixes and new features from master and as such include all non-breaking commits that have been released from v3.0.0 up until v3.1.0, including:
null value input #154 #155 @jsumnersREADME into multiple files for better organization #152 #153 @jsumnerspino-debug to readme - #133 - @davidmarkclementsAdd formatter option to `pino.pretty() #121 by @msaspence
formatter option to `pino.pretty() #121 by @msaspenceminimal browser implementation that uses console in browser environments #114, by @davidmarkclements
console in browser environments #114, by @davidmarkclementsUpdated links that we're missed to the new org by @davidmarkclements
Escape all characters in messages #113 #112 by @mcollina @mstade @jsumners
expose Pino constructor #107 (see #106 for motivations) by @jsumners
Pino constructor #107 (see #106 for motivations) by @jsumnersadd missing question marks to readme
add "How do I redact sensitive information" to readme
handle undefined from toJson https://github.com/mcollina/pino/pull/98
toJson https://github.com/mcollina/pino/pull/98Pass through on non-pino lines #95 by @jsumners
Support emitting logs without a timestamp #90 #91 by @jsumners
Force update of fast-safe-stringify to v1.1.0 by @mcollina
fast-safe-stringify to v1.1.0 by @mcollinaFixed a potential data loss scenario in extreme mode when the output is not process.stdout #84 #88 by @jsumners
process.stdout #84 #88 by @jsumnersAdded support for flipping level and time in pretty #82 by @colm-mcqs
Reverting of #79 because it was slowing things down in v6 by @mcollina
Improved object logging #79 by @marcbachmann
What v2.8.0 should have been, but it wasn't by @mcollina
serializers might strip keys #77 by @davidmarkclements
Documented flush #73 by @dgonzalez
pretty print bug fix (#70, #71)
Preserve non-json output in the cli #69 by @satazor
Better docs for Elasticsearch and Logstash by @dadoonet #64
Added docs for elasticsearch transport #61 by @mcollina
5% perf improvement by caching PID and hostname, and flatstr everything #60 by @mcollina and @davidmarkclements
Updated benchmark README with new bole #59 by @rvagg
Fixed level property in child #57 by @mcollina
level property in child #57 by @mcollinaSupport 'silent' level and enabled option #53 by @mcollina
'silent' level and enabled option #53 by @mcollinaAdded LogLevel and debug to the benchmarks #51 #45 by @davidmarkclements and @mcollina
Added an example to the README on how to use pino.pretty by @mcollina
pino.pretty by @mcollinaFix pino constructor in the README.
Added pino-socket documentation in the README #48 by @jsumners
logger.LOG_VERSION and pino.LOG_VERSION #44
add logger level numbers, with logger label and value maps #39
- bug fix for cli from 2.2.2 #43
Nothing published for this version
Correct require in README #32 by @odino
Your coding agent can read these notes before it upgrades. Set up the MCP server →