New features
- Arguments passed to factories are longer required to be assignable types, as long as they're movable (e.g.
std::unique_ptr<T>
can now be used as a factory parameter). - Improved the bazel configuration for Fruit. Now it detects compiler features automatically (as Fruit already did when built with CMake) instead of using a hardcoded configuration. This allows using Fruit with bazel in different environments (e.g. on Windows where MSVC needs a different config).
Bug fixes
- Fix or silence new clang-tidy warnings to make Fruit compile without warnings with '-W -Wextra' with recent versions of Clang (up to Clang 15)
- Fruit is now compatible with Windows headers that define
max()
as a macro (#127)
Documentation
- Added documentation on how to depend on Fruit for projects using bazel.
Internal changes
- Fruit now uses Github actions for continuous integration, instead of Travis CI and Appveyor.
- Updated the CI configuration to test with the latest versions of compilers and operating systems (up to GCC 12, Clang 15, MSVC 2022, Ubuntu 22.10, Windows Server 2022, MacOS 12).
Installation
As usual, see the installation instructions here for how to compile from source and for links to pre-built binary packages for various Linux distributions.