|
| 1 | +# Version 1.0.0 (Mar 2024) |
| 2 | +* Initial open-source release. |
| 3 | + |
| 4 | +# Version 1.0.1 (Mar 2024) |
| 5 | +* Comment and/or doc changes. |
| 6 | +* Removed certain minor internal dead code related to macOS. |
| 7 | + |
| 8 | +# Version 1.0.2 (Mar 2024) |
| 9 | +* Comment and/or doc changes. |
| 10 | +* Style refactor (small): Encouraging `static_assert(false)` over `#error`. Encouraging `if constexpr` over SFINAE. |
| 11 | + |
| 12 | +# Version 2.0.0 (Feb 2025) |
| 13 | +* flow.log: Significantly improve performance of `Logger::should_log()`, invoked at ~every log call site. To enable, requires small code change when invoking `flow::log::Config::init_component_to_union_idx_mapping()`. |
| 14 | +* C++20 mode build and GitHub-CI-pipeline support. C++17 remains the main/minimal mode, but we now ensure user can build/use in C++20 mode also. |
| 15 | +* flow.perf: Minor perf improvements. |
| 16 | +* Dependency bump: Boost v1.84 to 1.87. Results in slight breaking API changes in flow::error. |
| 17 | +* Add a unit-test suite to Flow. (Flow now gains GTest dependency if built with test-suite enabled.) |
| 18 | +* GitHub CI pipeline: Tweak to get gcc-13 builds to work again (GitHub changed preinstalled packages). |
| 19 | +* Comment and/or doc changes. |
| 20 | + |
| 21 | +## API notes |
| 22 | +* New APIs: |
| 23 | + * `flow::log::Config::init_component_to_union_idx_mapping()` new optional arg `component_payload_type_info_ptr_is_uniq = false`; set to `true` for potentially significant performance gains within Flow and flow.log log call sites in your application. |
| 24 | + * Two optional preprocessor defines to further tweak perf-related internal behavior: `FLOW_LOG_CONFIG_COMPONENT_PAYLOAD_TYPE_DICT_BY_PTR`, `FLOW_LOG_CONFIG_COMPONENT_PAYLOAD_TYPE_DICT_BY_VAL`. |
| 25 | +* Breaking changes: |
| 26 | + * A mostly, but not fully, backward-compatible improvement in the API for macro `FLOW_ERROR_EXEC_AND_THROW_ON_ERROR()`: |
| 27 | + * Remove any `cref()` wrappers for args 3+ to this macro; this is no longer necessary and will likely not compile. |
| 28 | + * Ideally remove now-unnecessary method `Qualifiers::` in arg 2 (function name). |
| 29 | + * Removal of macro `FLOW_ERROR_EXEC_FUNC_AND_THROW_ON_ERROR()`. |
| 30 | + * If you were using this, simply change it to `FLOW_ERROR_EXEC_AND_THROW_ON_ERROR` which now supports free functions. |
0 commit comments