Releases: xvitaly/zswap-cli
Releases · xvitaly/zswap-cli
Release 1.0.0
Breaking changes
- Switched the project to C++20 standard.
- Switched the binary installation path from
sbin
tobin
. - Disabled installation of the default configuration file if the systemd integration is not enabled.
New
- Added a new
non_same_filled_pages_enabled
kernel module option support. - Added a new
exclusive_loads
kernel module option support. - Added a new
shrinker_enabled
kernel module option support. - Added kernel API version to the
--version
output. - Added an option to link against all libraries statically (no dependencies mode).
- Added an option to enable or disable link-time optimizations.
Changes
- Fixed incorrect output of the PrintDebugInfo() method.
- Changed the default compression algorithm to improve performance.
- Removed private kernel types use from the library.
- Removed most external libraries use.
- Reworked the project documentation and manpage.
- Switched from checks to the vector use for better code readability.
- Switched to regular expressions to check if the value is in [0-100] range.
Refactoring and cleanup
- Added missing includes.
- Added missing preambles to the issue templates and configs.
- Added a new function for building manpages.
- Removed separate CMakeLists.txt files.
- Removed hardcoded version checks from the most kernel module options handlers.
- Removed hardcoded systemd unit destination dir.
- Switched Boost library to config mode, available since version 1.70.
- Explicitly disabled C++ extensions for better portability.
- Explicitly enumerated all required external headers for searching.
- Switched CI to more recent OS versions.
Release 0.9.1
Changes
- Added short alias
-h
for--help
command-line option. - Added short alias
-v
for--version
command-line option. - Fixed header guards.
- Introduced a custom variable name for systemd unit.
- Added dependabot support for tracking GitHub actions.
- Performed minor refactoring.
- Updated all GitHub workflows.
Release 0.9.0
Changes
- Added
--version
command-line argument support. - Added categories to
--help
. - Removed private Linux kernel types from ksysinfo implementation.
- Performed minor headers reorganization.
- Updated documentation and manpage.
Release 0.8.0
Changes
- Added an option to link with Boost statically. Can be enabled with
-DLINK_BOOST_STATICALLY:BOOL=ON
. - Removed private Linux kernel types from the public interface.
- Added Fedora workflow (based on the latest Fedora container).
- Extracted Ubuntu workflow to a separate pipeline.
- Disabled fail-fast strategy from all workflows.
Release 0.7.0
Changes
- Fixed building with GCC versions lower than 8. Thanks to @nmmanx.
- Fixed a typo threhsold -> threshold. Fixed ability to control
accept_threshold_percent
ZSwap option. - Added checks to forbid operations with
accept_threshold_percent
ZSwap option on Linux kernel < 5.6.0. - Systemd integration is now fully optional and can be disabled on CMake configuration step.
- Restored fmtlib submodule for distributions without packaged version.
- Added a new semver submodule.
Release 0.6.0
Changes
- Reorganized includes. Should increase build speed.
- Added Codacy static analyzer support and badge.
- Added CodeQL static analyze support and badge.
- The internal library is now explicitly marked as an object.
- Removed fmtlib submodule. The packaged version of fmt 6.1.2 or above is now mandatory.
- Implemented installation of generated documentation.
- Optimized C++ build workflows.
- Optimized CMake structure.
- Switched to use CMake generator for the manpage.
- Converted GitHub issue templates to YAML.
Release 0.5.0
Breaking changes
- New configuration file format. #31
- New configuration file location (
/etc/zswap-cli/zswap-cli.conf
). #34
Bug fixes
- Fixed crash on starting application with
--stats
command-line argument. - Fixed additional crashes, related to unhandled exceptions.
Changes
- Switched to Boost::program_options for command-line arguments parsing. #32
- CMake build system improvements:
- Optimized code structure. #40
- Added a new configuration option
BUILD_DOCS
- enable or disable build documentation with Doxygen. - Added a new configuration option
BUILD_MANPAGE
- enable or disable build manpage with Pandoc.
- Switched to the new Doxygen generator.
- Optimized code.