Back to Winston

Past Release Roadmaps

docs/releases.md

3.19.03.9 KB
Original Source

Past Release Roadmaps

Below is the list of items that made up the roadmap for past releases.

Legend

  • Unstarted work.
  • Finished work.
  • [-] Partially finished or in-progress work.

Version 3.0.0

Show stoppers

High priority issues (non-blocking)

  • [#1144]: this is the purpose of winston. If we cannot log at high-volume we cannot ship out of RC. There was [test coverage for this][stress-test] that should be failing, but isnt. (Fixed by #1291).
  • Error handling within formats [#1261]
  • Update docs/transports.md.
  • Type definitions for TypeScript
    • Supporting libraries: winston-transport, logform
    • winston itself

Core logging

  • Make Logger.prototype.level and Transport.level play nice(r) together.
  • Remove new winston.Logger in favor of winston.createLogger.
  • Finish implementation for TransportStream and LegacyTransportStream.
  • Move TransportStream and LegacyTransportStream into winston-transport.
  • Move winston/config.js to winston/config/index.js
  • DEPRECATE winston.clone
  • Add convenience methods from winston-transport
  • [-] Replace all vows-based tests.
    • test/*-test.js
    • test/formats/*-test.js
    • [-] test/transports/*-test.js
  • Move winston.config into triple-beam around a base Levels class. (Fixed in [email protected])
  • Update to the latest npm levels (e.g. including http).
  • Code coverage tests above 80% for winston (currently ~72%).
  • Code coverage tests above 90% for winston-transport.
  • Code coverage tests above 90% for logform
  • [-] Core scenarios covered in abstract-winston-transport.
  • Code coverage tests above 60% for winston-compat.

Transports

  • Implement stream.Writable.writev in TransportStream.
  • Refactor all built-in transports to be TransportStream instances.
    • Console
    • File
    • Http
    • Steam

Formats

  • winston.format.colorize() format.
  • winston.format.prettyPrint() format.
  • winston.format.uncolorize() format.
  • winston.format.logstash() format.
  • winston.format.cli()
  • String interpolation (i.e. splat) via format
  • Use of different formats across multiple Transports. e.g.:
    • Colors on Console
    • Not on File
  • Mutable levels on info objects – Use triple-beam and Symbol.for('level').
    • Needed for winston.formats.colorize().
  • Quieter finalized output using Symbol.for('message')
  • Filtering messages completely in a format.
  • winston.format.padLevels() format.
  • humanReadableUnhandledException should be the default

Communications / Compatibility

  • Add friendly(ish) deprecation notices for common changes.
  • Create winston-compat to help with backwards compatibility for transport authors.
  • Update the README.md in winston.
  • README.md for winston-transport.
  • README.md for logform.
  • Migrate all examples/*.js to the new API.

Querying, Streaming, Uncaught Exceptions

  • Uncaught Exceptions

Other Miscellaneous API changes

  • Move LogStream back to Logger.
  • Add LogStream.prototype.configure from [email protected]
  • winston.Container instances no longer add any transports by default.
  • Strip wrapping ( ) from all occurances of new winston.transports.*)

Benchmarking

  • Benchmark against [email protected] in logmark.
  • Benchmark against [email protected] in logmark.
  • Benchmark JSON format against bunyan in logmark.
  • Benchmark against pino in logmark.
  • Submit PR for all pino benchmarks.