# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.3.5] - 2026-01-31
- Add `get_initial_log_file_path()` function to retrieve the log file path created by the logger
- Uses `OnceLock` for zero-overhead access after initialization
- Add `RollingPeriod::None` variant to disable file rolling
## [0.3.4] - 2025-07-31
- Deafult message flush buffer size and time interval are set to zero (immediate flush
- Configuration stage is in logger launching not in the definition of logger thread
## [0.3.3] - 2025-07-22
- Replace expect with unwrap for crossbeam try_send and write_all operations to avoid overhead
- Update flush condition logic to enable immediate flushing with zero buffer size and interval
- Changed from `(buffer_size + new_msg_length > msg_buffer_size) || (current_timestamp - last_flush_time > msg_flush_interval)`
- To `(buffer_size + new_msg_length >= msg_buffer_size) || (current_timestamp >= msg_flush_interval + last_flush_time)`
- Update immediate_log example to use only flash_xxx_ct! macros
## [0.3.2] - 2025-07-07
- crossbeam version update
- replace expect with unwrap
## [0.3.1] - 2025-03-14
- performance table in doc comments
- `flash_xxx_ct!` macros uses only compile-time filter
## [0.3.0] - 2024-03-14
- in the log macro, the struct data is cloned. The cloning is done in the current thread and serialized in the logging thread.
- include_unixnano option added
- user can choose what core to choose for affinity (with_logger_core)
- compile time filter added
- timestamp is made in logger thread
## [0.2.4]
- rolling file function is added
## [0.2.3]
- once_cell dependency changed
## [0.2.2]
- minor bug fix
## [0.2.0]
- report level load optimization (todo)
- lazy string interned (todo)
- log_info, log_debug, etc, deprecated (todo)
= `topic` and `message` are base keys in Json output
## [0.1.5] - 2024-09-12
- dropping the guard also flushes
- Some minor changes in docs and README
## [0.1.3] - 2024-09-12
- hot fix: now console and file report are both an option
## [0.1.1] - 2024-08-29
### Fixed
- Corrected GitHub repository URL in project metadata
## [0.1.0] - 2024-08-29
### Added
- Initial release of the crate