winston
3.19.0 · 7 Dec 2025MIT36.6M / weekRepositoryHomepagenpmAtom feed
106 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 3.x · latest line
3.17.0
10 Nov 2024Try winston-transport 4.9.0 3e87128
Revert "Try bumping winston-transport to 4.8.0" 69625fc
Revert "Try bumping winston-transport to 4.8.0" 876ef7a
Try winston-transport 4.9.0 3e87128
Revert "Try bumping winston-transport to 4.8.0" 69625fc
Revert "Try bumping winston-transport to 4.8.0" 876ef7a
Try bumping winston-transport to 4.8.0 7ef2c1d
Try bumping winston-transport to 4.8.0 fe4b64e
Bump logform c9fd9a4
Revert "Update logform and winston-transport" 14fef0f
Merge branch 'master' of github.com:winstonjs/winston 545b683
Update logform and winston-transport cceb265
3.15.0
5 Oct 2024Note: we removed LogCallback from the TS definitions because the underlying library didn't actually support these. If this causes issues in your apps, we recommend you remove references to LogCallbacks, since such code was not being executed anyways. See #2513 and the issue linked therein.
3.13.1
10 Jul 20243.12.0
4 Mar 2024- removed
Remove nonexistent Logger methods from types c3c3911
Missing timestamp format in ready-to-use-pattern example (#2421) 9e5b407
Add winston-transport-vscode to transports docs (#2411) 8fb5b41
Add winston-newrelic-agent-transport to transport documentation (#2382) cc731ef
Bump the npm_and_yarn group group with 1 update (#2391) 8260866
Fix all rimraf usages to the best of my ability; glob is not true by default in rimraf; file archive test only passed every other time using async rimraf, could use further investigation c3f3b5b
Fix rimraf usage in new test 8f3c653
Fix rimraf import in test (why didn't this break in PR CI?) f3836aa
Added functionality to long broken zippedArchive option (#2337) 02d4267
Bump @babel/preset-env from 7.23.2 to 7.23.7 (#2384) 79282e1
- removed
Remove nonexistent Logger methods from types c3c3911
3.10.0
10 Jul 2023Avoid potential github issues - relax engines node requirement in package.json fc9c83d
3.9.0
26 May 2023- security
GitHub Workflows security hardening in #2252; thanks to new contributor @sashashura
Functionality changes
Handle undefined errors in getAllInfo in exception-handler in #2208; thanks to new contributor @eivindrs
Properly allow passing non-array transport in #2256; thanks to new contributor @Tanuel
Fix #1732 (Http Transport uses JSON format options as request options) in #2272; thanks to new contributor @MoritzLoewenstein (minor version bump per comment on the issue)
Add guard clause to prevent FD leak in #2301; thanks to new contributor @td-tomasz-joniec
Dependency updates by @dependabot + CI autotesting
Bump eslint from 8.23.0 to 8.32.0 by @dependabot in #2209, #2236, #2258, & #2271
Bump @babel/core from 7.19.0 to 7.20.12 by @dependabot in #2206, #2234, #2259, & #2275
Bump @types/node from 18.0.0 to 18.11.18 by @dependabot in #2215, #2235, & #2264
Bump @babel/preset-env from 7.19.0 to 7.20.2 by @dependabot in #2218 & #2244
Bump safe-stable-stringify from 2.3.1 to 2.4.3 by @dependabot in #2217 & #2292
Build Infrastructure changes
- security
GitHub Workflows security hardening in #2252; thanks to new contributor @sashashura
3.8.2
7 Sep 2022Small grammatical fixes in README.md in #2183; thanks to new contributor @mikebarr24
Move colors to non-dev dependencies
Patch-level changes
Add
.jsto main entry point in package.json in #2177; thanks to new contributor @rumanbslSmall grammatical fixes in README.md in #2183; thanks to new contributor @mikebarr24
Move colors to non-dev dependencies
3.8.1
30 Jun 2022Update types to match in-code definitions in #2157; thanks to new contributor @flappyBug
Patch-level changes
Update types to match in-code definitions in #2157; thanks to new contributor @flappyBug
3.8.0
23 Jun 2022Add the stringify replacer option to the HTTP transport
Explicitly note that the Contirbuting.md file is out of date
Add instructions for publishing updated version by @wbt (docs/publishing.md)
Added functionality
Add the stringify replacer option to the HTTP transport
Updates facilitating repo maintenance & enhancing documentation
Explicitly note that the Contirbuting.md file is out of date
Add instructions for publishing updated version by @wbt (docs/publishing.md)
Prettier Config File
Readme update to explain origin of errors for handling
Update documentation for #2114
Enhance message for logs with no transports #2114
Added a new Community Transport option to the list: Worker Thread based async Console Transport
3.7.1
4 Apr 2022This change includes some minor updates to package-lock.json resolving npm audit failures: one in ansi-regex and another in minimist.
3.5.0
27 Jan 2022- security
Add a channel for reporting security vulnerabilities (#2024, thanks @JamieSlome!)
Bump dependency versions (thanks @dependabot & @DABH!)
This release includes the following, in sequence by first merge in group:
Feature updates:
Patch-level updates:
Bump dependency versions (thanks @dependabot & @DABH!)
Bump @types/node from 16.11.12 to 17.0.8 (PR #2009)
Bump @babel/preset-env from 7.16.7 to 7.16.8
Bump @types/node from 17.0.8 to 17.0.9
Bump @babel/cli from 7.16.7 to 7.16.8
Bump @types/node from 17.0.9 to 17.0.10
Bump @babel/core from 7.16.7 to 7.16.12
Bump @babel/preset-env from 7.16.8 to 7.16.11
Fixing documentation syntax errors in transports code examples (#1916; thanks @romanzaycev!)
Fix missing type declarations, especially for
.rejections(#1842, #1929, #2021; thanks @vanflux, @svaj, @glensc, & others!)More narrowly typing the “level” string (#1896, thanks @yonas-g!)
Using a safer
stringify, e.g. to avoid issues from circular structures, in the http transport (#2043, thanks @karlwir!)
Updates to the repo & project which don’t actually affect the running code:
- security
Add a channel for reporting security vulnerabilities (#2024, thanks @JamieSlome!)
Add coverage tracking in CI & documentation (#2025 and #2028, thanks @fearphage!)
Update issue templates (#2030 and #2031, thanks @Maverick1872!)
Thanks also to maintainers @DABH, @fearphage, @Maverick1872, and @wbt for issue/PR shepherding and help across multiple parts of the release!
If somebody got missed in the list of thanks, please forgive the accidental oversight and/or feel free to open a PR on the changelog.
3.4.0
10 Jan 2022Adds a missing http property in NpmConfigSetColors [#2004] (thanks @SimDaSong)
Fixes a minor issue in the build/release process [#2014]
v3.4.0 / 2022-01-10
Yesterday's release was done with a higher sense of urgency than usual due to vandalism in the
colorspackage. This release:Adds a missing http property in NpmConfigSetColors [#2004] (thanks @SimDaSong)
Fixes a minor issue in the build/release process [#2014]
Pins the version of the testing framework to avoid an issue with a test incorrectly failing [#2017]
The biggest change in this release, motivating the feature-level update, is [#2006] Make winston more ESM friendly, thanks to @miguelcobain.
Thanks also to @DABH, @wbt, and @fearphage for contributions and reviews!
3.3.4
10 Jan 2022Added documentation for how to use a new externally maintained Seq transport.
Add default metadata when calling log with string level and message.
Unbind event listeners on close
Compared to v3.3.3, this version fixes some issues and includes some updates to project infrastructure,
such as replacing Travis with Github CI and dependabot configuration.
There have also been several relatively minor improvements to documentation, and incorporation of some updated dependencies.
Dependency updates include a critical bug fix [#2008] in response to self-vandalism by the author of a dependency.Added documentation for how to use a new externally maintained Seq transport.
Add default metadata when calling log with string level and message.
Unbind event listeners on close
Handle undefined rejections
Correct boolean evaluation of empty-string value for eol option
Improved consistency of object parameters for better test reliability
3.3.2
22 Jun 2020Use fork of diagnostics on NPM to avoid making Docker images require git 0752614
3.3.1
22 Jun 2020Prep for 3.3.1 faac066
Prep for 3.3.1 faac066
Add space between
info.messageandmeta.message(#1740) 227ca0aFix typing for Profile.start (was Date, should be Number) (#1803) 0e1c812
Merge branch 'master' of github.com:winstonjs/winston 9e7bd71
Use fork of diagnostics, avoiding indirect storage-engine dependency 67cd9b5
Remove emitErrs note from README (its no longer supported) (#1810) 6545a7e
3.3.0
21 Jun 2020Prepare for v3.3.0 b6bc918
Fix removes a logger when pass undefined transport (#1785) 75f7edf
This adds Node.js 14 and removes Node.js 8 as: (#1793) 4b571ba
Fix Issue where winston removes transport on error (#1364) (#1714) 1679c49
Node 12 is LTS now 85a250a
Update index.d.ts (#1729) 8944598
Add PostgresQL transport to list of community transports (#1697) 4f44acb
transports: Add integrateion with winston-bigquery (#1700) 22801e1
Add bearer auth capabilities to http transport; (#1662) a07bc17
Remove no-op aed30ab
Upgrade all dependencies, test/build/lint results match master (#1686) 11f5ea2
Fix logs files names (#1651) daeefbf
Update CI to remove Node 6 and support Node 12 (#1647) 05bed4d
Add typings for the isLevelEnabled(string) and isXXXEnabled() functions (#1622) 1a75544
Update hero title. 85f2471
3.2.1
29 Jan 2019#[1579], (@indexzero) Fallback to the "root" instance always created by
createLoggerfor level convenience methods (e.g..info(),.silly()). (Fixes [#1577]).[#1539], (@indexzero) Assume message is the empty string when level-helper methods are invoked with no arguments (Fixed [#1501]).
[#1583], (@kibertoad) Add typings for defaultMeta (Fixes [#1582])
v3.2.1 / 2019-01-29
Unbound prototype ad infinitum edition
#[1579], (@indexzero) Fallback to the "root" instance always created by
createLoggerfor level convenience methods (e.g..info(),.silly()). (Fixes [#1577]).[#1539], (@indexzero) Assume message is the empty string when level-helper methods are invoked with no arguments (Fixed [#1501]).
[#1583], (@kibertoad) Add typings for defaultMeta (Fixes [#1582])
[#1586], (@kibertoad) Update dependencies.
3.2.0
26 Jan 2019[#1471], (@kibertoad) Implement child loggers.
v3.2.0 / 2019-01-26
Sorry it too so long edition
NOTE: this was our first release using Github Projects. See the 3.2.0 Release Project.
New Features!
[#1471], (@kibertoad) Implement child loggers.
[#1418], (@mfrisbey) Precompile ES6 syntax before publishing to npm.
[#1533], (@kibertoad) Update to Babel 7.
[#1562], (@indexzero) [fix] Better handling of
new Error(string)throughout the pipeline(s). (Fixes [#1338], [#1486]).
Bug Fixes
[#1355], (@DABH) Fix issues with ExceptionHandler (Fixes [#1289]).
[#1463], (@SerayaEryn) Bubble transport
warnevents up to logger in addition toerrors.[#1480], [#1503], (@SerayaEryn) File tailrolling fix.
[#1483], (@soldair) Assign log levels to un-bound functions.
[#1513], (@TilaTheHun0) Set maxListeners for Console transport.
[#1521], (@jamesbechet) Fix Transform from
readable-streamusing CRA.[#1434], (@Kouzukii) Fixes logger.query function (regression from
3.0.0)[#1526], (@pixtron) Log file without .gz for tailable (Fixes [#1525]).
[#1556], (@adoyle-h) Support to create log directory if it doesn't exist for FileTransport.
New
splatbehavior[#1552], (@indexzero) Consistent handling of meta with (and without) interpolation in
winstonandlogform.[#1499], (@DABH) Provide all of
SPLATto formats (Fixes [#1485]).[#1485], (@mpabst) Fixing off-by-one when using both meta and splat.
Previously
splatwould have added ametaproperty for any additionalinfo[SPLAT]beyond the expected number of tokens.As of
logform@2.0.0,format.splatassumes additional splat paramters (aka "metas") are objects and merges enumerable properties into theinfo. e.g. BE ADVISED previous "metas" that were not objects will very likely lead to odd behavior. e.g.const { createLogger, format, transports } = require('winston'); const { splat } = format; const { MESSAGE, LEVEL, SPLAT } = require('triple-beam'); const logger = createLogger({ format: format.combine( format.splat(), format.json() ), transports: [new transports.Console()] }); // Expects two tokens, but four splat parameters provided. logger.info( 'Let us %s for %j', // message 'objects', // used for %s { label: 'sure' }, // used for %j 'lol', ['ok', 'why'] // Multiple additional meta values ); // winston < 3.2.0 && logform@1.x behavior: // Added "meta" property. // // { level: 'info', // message: 'Let us objects for {"label":"sure"}', // meta: ['lol', ['ok', 'why']], // [Symbol(level)]: 'info', // [Symbol(message)]: 'Let us %s for %j', // [Symbol(splat)]: [ 'objects', { label: 'sure' } ] } // winston >= 3.2.0 && logform@2.x behavior: Enumerable properties // assigned into `info`. Since **strings and Arrays only have NUMERIC // enumerable properties we get this behavior!** // // { '0': 'ok', // '1': 'why', // '2': 'l', // level: 'info', // message: 'Let us objects for {"label":"sure"}', // [Symbol(level)]: 'info', // [Symbol(message)]: 'Let us %s for %j', // [Symbol(splat)]: [ 'objects', { label: 'sure' } ] }3.1.0
4 Sep 2018v3.1.0 / 2018-08-22
Releases on a plane edition
[#1373], (@revik): Add
consoleWarnLevelsproperty to console transport options forconsole.warnbrowser support.[#1447], (@dboshardy): Support transport name option to override default names for built-in transports.
[#1420], (@ledbit): Fix file rotation with
tailing: true(Fixes [#1450], [#1194]).[#1352], (@lutovich): Add
isLevelEnabled(string)&isXXXEnabled()toLoggerclass.Dependency management
Regenerate
package-lock.json.Upgrade to
colors@^1.3.2(Fixes [#1439]).Upgrade to
logform@^1.9.1.Upgrade to
diagnostics@^1.1.1.Upgrade to
@types/node@^10.9.3.Upgrade to
assume@^2.1.0.Upgrade to
hock@^1.3.3.Upgrade to
mocha@^5.2.0.Upgrade to
nyc@^13.0.1.Upgrade to
split2@^3.0.0.
3.0.1
4 Sep 20183.0.0
12 Jun 2018[#1328], (@ChrisAlderson): Logger level doesn't update transports level (Fixes [#1191]).
[#1356], (@indexzero) Move splat functionality into logform. (Fixes [#1298]).
v3.0.0 / 2018-06-12
Get in the choppa edition
[#1332], (@DABH): logger.debug is sent to stderr (Fixed [#1024])
[#1328], (@ChrisAlderson): Logger level doesn't update transports level (Fixes [#1191]).
[#1356], (@indexzero) Move splat functionality into logform. (Fixes [#1298]).
[#1340], (@indexzero): Check log.length when evaluating "legacyness" of transports (Fixes [#1280]).
[#1346], (@indexzero): Implement
_finalfrom Node.js streams. (Related to winston-transport#24, Fixes [#1250]).[#1347], (@indexzero): Wrap calls to
format.transformwith try / catch (Fixes [#1261]).[#1357], (@indexzero): Remove paddings as we have no use for it in the current API.
TODO: REMAINS OPEN, NO PR (Fixes [#1289])
Documentation
[#1301], (@westonpace) Cleaned up some of the documentation on
colorizeto address concerns in [#1095].First pass at a heavy refactor of
docs/transports.md.
Dependency management
Regenerate
package-lock.json.Upgrade to
logform@^1.9.0.
- 2.x
2.4.7
15 Nov 2022Utilizing async 2.6.4 for node 4 compatibility
Update lodash to fix audit failures
2.4.6
28 Apr 2022This updates a dependency to address security.snyk.io/vuln/SNYK-JS-ASYNC-2441827. See #2112 by @bacali95.
2.4.0
2 Oct 2017Container.add() 'filters' and 'rewriters' option passing to logger.
Fixed working of "humanReadableUnhandledException" parameter when additional data is added in meta.
Added filtering by log level
v2.4.0 / 2017-10-01
Zomfg winston@3.0.0-rc0 edition
Container.add() 'filters' and 'rewriters' option passing to logger.
Fixed working of "humanReadableUnhandledException" parameter when additional data is added in meta.
Added filtering by log level
Fix regressions brought by
2.3.1.Fix regression on array printing.
Fix regression on falsy value.
Always decycle objects before cloning.
Missing context in
.lazyDrainofFiletransport.Suppress excessive Node warning from
fs.unlink.Add
labeloption toFiletransport docs., [24300e2] Added more info about undocumented
winston.startTimer()method.[#1076], [#1082], [#1029], [#989], [e1e7188] Minor grammatical & style updates to
README.md.
2.3.0
2 Nov 2016Full
CHANGELOG.mdentry forthcoming. See thegitdiff for2.3.0for now.
2.2.0
25 Feb 2016Full
CHANGELOG.mdentry forthcoming. See thegitdiff for2.2.0for now.