Skip to content

Releases: xvitaly/zswap-cli

Release 1.0.0

20 Oct 10:04
v1.0.0
82ae7a4
Compare
Choose a tag to compare

Breaking changes

  • Switched the project to C++20 standard.
  • Switched the binary installation path from sbin to bin.
  • 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

02 Oct 08:32
v0.9.1
2199911
Compare
Choose a tag to compare

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

02 Mar 15:45
v0.9.0
f41da45
Compare
Choose a tag to compare

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

12 Feb 13:53
v0.8.0
d5c31a4
Compare
Choose a tag to compare

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

22 Dec 14:16
v0.7.0
ff59471
Compare
Choose a tag to compare

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

07 Dec 11:20
v0.6.0
78fb907
Compare
Choose a tag to compare

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

01 Apr 18:03
v0.5.0
d601c45
Compare
Choose a tag to compare

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.

Release 0.4.1

27 Apr 08:45
v0.4.1
9baa523
Compare
Choose a tag to compare

Changelog

  • Fixed typos in messages and documentation. Thanks to @tim77. #29
  • Added information about exceptions to inline documentation.

Release 0.4.0

26 Apr 16:49
v0.4.0
2993e2e
Compare
Choose a tag to compare

Changelog

  • Added ability to show usage statistics. #27
  • Added Doxygen support. #24 #26
  • Added inline documentation in Doxygen format. #25
  • Moved the main configuration file from /etc/default/zswap-cli to /etc/zswap-cli.conf. #28

Release 0.3.0

23 Apr 08:46
v0.3.0
1c4e3b7
Compare
Choose a tag to compare

Changelog

  • Implemented reading of ZSwap debug values.
  • Implemented --stats command-line parameter. #19
  • Moved all logic from Application to ZSwapObject class. #20
  • Updated documentation pages. #21 #22
  • Added GitHub CI support. #23