- [#81] Memory leak fix: do not wait for
process.nextTick
to clear callbacks - [#87, #82, #67] Update dependencies, CI config, and linter config
- [#44] Add handleRejections to types.
- [#60] Exclude unnecessary files from npm package
- [#45] [#58] Update dependencies.
- [#41] Support handleRejections option.
- [#42] Expose LegacyTransportStream from the base module.
- Update dependencies.
- [#30] Precompile before publishing to
npm
. - [#32] Add new option to increase default
highWaterMark
value.
- [#26] Do not use copy-by-value for
this.level
. - [#25] Wrap calls to
format.transform
with try / catch. - [#24] Use
readable-stream
package to get the _final semantics across all versions of Node.
- [#23] Revert to prototypal-based syntax for backwards compatibility.
- BREAKING Update transports to use ES6 classes. Creation of
TransportStream
andLegacyTransportStream
now requires thenew
keyword.
No longer works
const Transport = require('winston-transport');
const transport = Transport({
log: (info, callback) => { /* log something */ }
});
Do this instead
const Transport = require('winston-transport');
const transport = new Transport({
log: (info, callback) => { /* log something */ }
});
Unpublished: overlooked that 26f816e introduced a breaking change.
- [#21] Do not log when there is no info object.
- [#20] Add silent options to typings.
- [#19] Refactor test fixtures to use es6-classes.
- [#18] Use triple-beam for info object constants.
- [#17] Add linting and Node v10 to the travis build of the project.
- [#16] Reorder in TS defs: namespace must come after class in order for delcaration merging to work as expected.
- [#13] Add silent support to LegacyTransportStream. Fixes [#8].
- [#14] Ensure that if a Transport-specific format is provided it is invoked on each chunk before passing it to
.log
. Fixes [#12]. - [#11] Revice
d.ts
- Add
.travis.yml
. - Documentation updates:
- [#5] Update deprecated link.
- [#7] Correct
this
reference inREADME.md
by using an arrow function.
- [#10] Add
silent
option toTransportStream
. Still needs to be implemented forLegacyTransportStream
. - Bump
mocha
to^5.0.5
. - Bump
nyc
to^11.6.0
.
- [#4] Use ES6-class for defining Transport in
README.md
. - [#4] Do not overwrite prototypal methods unless they are provided in the options.
- Use
Symbol.for('level')
to lookup immutablelevel
oninfo
objects.
- Properly interact with the
{ format }
, if provided.
- If a format is defined use it to mutate the info.
- #2 Final semantics for
winston-transport
base implementations:TransportStream
: the newobjectMode
Writable stream which should be the base for all future Transports afterwinston >= 3
.LegacyTransportStream
: the backwards compatible wrap to Transports written forwinston < 3
. There isn't all that much different for those implementors except thatlog(level, message, meta, callback)
is nowlog(info, callback)
whereinfo
is the object being plumbed along the objectMode pipe-chain. This was absolutely critical to not "break the ecosystem" and give the over 500 Transport package authors an upgrade path.- Along with all the code coverage &
WritableStream
goodies:- 100% code coverage for
TransportStream
- 100% code coverage for
LegacyTransportStream
- Implementation of
_writev
forTransportStream
- Implementation of
_writev
forLegacyTransportStream
- 100% code coverage for
- Pass the write stream callback so that we can communicate backpressure up the chain of streams.
- First
require
-able version.
- Initial version.