# Change Log
## [1.3.0]
### New
* Add debug and release formatters
* Documentation on configuring the tool
* Code Coverage CI
* CVE Audit CI
* EditorConfig CI
* Code Owners
* NO_COLOR, CLICOLOR, CLICOLOR_FORCE controls
* Example of inline configuration with file rotation
* Time Based Trigger
### Changed
* Update minimum supported rust to 1.69 for CVE-2020-26235
* Update `arc-swap` to `1.6`
* Update `log` to `0.4.20`
* Update `humantime` to `2.1`
* Update `serde_yaml` to `0.9`
* Update `toml` to `0.8`
* Update `derivative` to `2.2`
* Update `tempfile` to `3.8`
* Moved `level` field before `message` in json format
* Legacy test moved to examples
### Fixed
* README typo regarding building for dev on windows
* Apply editorconfig
* Swap rustfmt configuration to `imports_granularity="Crate"` over deprecated `merge_imports = true`
## [1.2.0]
### Changed
* Update minimum supported rust to 1.56 for `edition 2021`
### Fixed
* Typemap fix: [#282](https://github.com/estk/log4rs/pull/282)
## [1.1.1]
### Added
### Changed
* Removed palaver
* Update `parking_lot` to `0.11`
* Update minimum supported rust to 1.49 for `parking_lot`
### Fixed
* #253
## [1.1.0]
### Added
* Example of compile-time config
* `gettid` for `PatternEncoder`
* Better rotation benchmark statistics
* `tty_only` option to `ConsoleAppender`
### Changed
* Update `arc_swap` to `1.2`
* Update `thread_id` to `4`
* Update docs for `FixedWindow::build`
* Drop `Regex` dependency
### Fixed
* Hide {} in error message from formatting machinery
* Fix link in examples
## [1.0.0]
### Added
* Custom error handling
* Allow parsing of config from string
* Expand env vars in file path of file and RollingFile appenders PR#155
* Console appender can be configured to only write output when it's a TTY
### Changed
* Colors changed to match `env_logger`
* Drop XML config support
* Rename feature `file` to `config_parsing`
* Use `thiserror`/`anyhow` for errors
### Fixed
## [0.13.0]
### Added
### Changed
* Update `serde-xml-rs` to `0.4`
* Update `parking_lot` to `0.11`
### Fixed
* Fix bug where both `pattern_encoder` and `json_encoder` features need to be
active to use either
## [0.12.0]
### Added
* Derived `Clone` for `Handle`
### Changed
### Fixed
* Build warnings
* Docs typos
## [0.11.0]
A performance issue was discovered with gzip and rolling logs, the
`background_rotation` feature was added to mitigate this by spawning a
background thread to perform the rotation in. Shout out to @yakov-bakhmatov
for the PR!
### Added
* `background_rotation` feature which rotates and compresses log archives in a
background thread
### Changed
* Deprecate xml feature in preparation for removal
* Simplify and increase visibility of docs
* Swap some synchronization primitives to use `parking_lot` implementations
### Fixed
## [0.10.0]
This is a big release as we're moving to rust 2018 edition!
### Added
* More badges in the readme
### Changed
* Use rust 2018 edition
* Minimum rust version is 1.38.0
* Update `arcswap`, `serde-value` and `serde-xml-rs`
### Fixed
* Deprecate len method on rolling_file
* Windows build issue after 2018 edition
## [0.9.0]
### Added
* `Logger` is now public
* `PatternEncoder` now has the pid
* Many config structs are now `Clone` and `Debug` for convenience
* JSON logger example added
* File logging example added
### Fixed
* Hierarchical Changelog
* No longer looking for maintainer
## [0.8.3] - 2019-04-02
### Fixed
* Fixed Cargo.toml badge
## [0.8.2] - 2019-04-02
### Changed
* Switched from crossbeam's `ArcCell` to arc-swap's `ArcSwap` internally
* Upgraded toml to 0.5
## [0.8.1] - 2018-10-17
### Added
* Support thread IDs in both JSON and pattern encoders
### Changed
* Upgraded to serde_yaml 0.8
## [0.8.0] - 2017-12-25
### Added
* XML-formatted config files are now supported
* `Append::flush` method
### Changed
* Upgraded to log 0.4
## [0.7.0] - 2017-04-26
### Added
### Changed
* Update to serde 1.0
## [0.6.3] - 2017-04-05
### Added
### Changed
* Fix console appender to actually log to stdout when requested
## [0.6.2] - 2017-03-01
### Added
### Changed
* Fix handling of non-0 bases in rolling file appender
## [0.6.1] - 2017-02-11
### Added
* Add TOML support back in
### Changed
## [0.6.0] - 2017-02-10
### Added
* Enable most features by default. This increases compile times a bit, but is
way less confusing for people since components aren't randomly missing
* Restructure config deserialization. A log4rs config can now be embedded in
other config structures and deserialized by downstream users
### Changed
* Update to serde 0.9
* Use serde_derive instead of manual codegen
* Drop TOML support. The toml crate hasn't yet been released with support for
serde 0.9, but we'll add support back when that lands
## [0.5.2] - 2016-11-25
### Added
* Make Deserializers Clone
### Changed
## [0.5.1] - 2016-11-20
### Added
### Changed
* Update serde_yaml
* Fix file modification time checks in config reloader