[DOCUMENTATION] Docs: Add section on Magic States to README.md for better understanding of magic class usability.
[ENHANCEMENT] Magic: Add type_of_a_file_t, expected_type_of_a_file_t, parameter_value_t typedefs with to_string functions.
[BUGFIX] Utility: Replace std::views with std::ranges::fold_left pending Clang support for std::views::join_with.
[ENHANCEMENT] Magicxx: Add is_database_loaded member function.
[ENHANCEMENT] Magicxx: Throw filesystem_error from identify_files(directory) if the underlying std::filesystem OS API fails.
[ENHANCEMENT] Magicxx: Add filesystem_error.
[QUALITY] Magicxx: Refactor identify_file(s).
[ENHANCEMENT] Magicxx: API change - Throw path_is_not_directory from identify_files(directory) on the failure.
[QUALITY] Magicxx: Add [[nodiscard]] attribute to several methods.
[ENHANCEMENT] Magicxx: API change - Make magic::compile static.
[ENHANCEMENT] Magicxx: API change - Make magic::check static.
[ENHANCEMENT] Magicxx: API change - Rename magic_load_error to magic_load_database_file_error for consistency and clarity in exception handling.
[ENHANCEMENT] Magicxx: Enhance magic class with noexcept versions of constructors and methods for improved error handling.
[DOCUMENTATION] Docs: Update pull request title template.
[DOCUMENTATION] Docs: Add downloads badge to README for better visibility of library usage statistics.
[DOCUMENTATION] Docs: Add missing documentation for magic_exception classes.
[ENHANCEMENT] Magicxx: API change - Rename magic_file_error to magic_identify_file_error for consistency and clarity in exception handling.
[ENHANCEMENT] Magicxx: API change - Rename magic_set_param_error to magic_set_parameter_error for consistency and clarity in exception handling.
[ENHANCEMENT] Magicxx: API change - Replace invalid_path exception with path_is_not_regular_file for better clarity in error handling.
[ENHANCEMENT] Magicxx: API change - Add path_does_not_exist exception and enhance error handling for file paths.
[ENHANCEMENT] Magicxx: Enhance magic class with noexcept versions of constructors and methods for improved error handling.
[QUALITY] Magicxx: Move implementation of identify_files functions from header to source file.
[ENHANCEMENT] Magicxx: API change – Add is_valid() to check if instance is valid for identification (open and database loaded); Make operator bool() a shortcut for is_valid().
[ENHANCEMENT] Tests: Update googletest version to v1.17.0.
[BUGFIX] Magicxx: Add magic_database_not_loaded exception and update identify_file functions to handle database loading state.
[DOCUMENTATION] Docs: Add C++ standard badge to README.md.
[QUALITY] Tests: Refactor magic_load_database_file_test with using test fixture.
[ENHANCEMENT] CMake: Do not build libraries when building examples.
[BUGFIX] Magicxx: Do not throw exceptions while constructing std::filesystem::recursive_directory_iterator in a noexcept function.
[DOCUMENTATION] Docs: Update CONTRIBUTING.md and README.md to include CMake options and package variables.
[ENHANCEMENT] CMake: Add options to build shared and static libraries independently.
[ENHANCEMENT] CMake: Add option to disable installation of Libmagicxx.
[v8.2.1] - 22-05-2025
[DOCUMENTATION] Update supported versions in SECURITY.md to reflect version 8.2.x.
[BUGFIX] Fix release title in workflow to use correct reference name.
[v8.2.0] - 22-05-2025
[BUGFIX] Add license directory into the CMake package.
[QUALITY] Refactor installation directory variables for consistency in CMake files.
[DOCUMENTATION] Add disclaimer section to README.md clarifying project status and affiliations.
[BUGFIX] Include all required license files in binary distributions.
[ENHANCEMENT] Remove documentation dependency from CMake package.
[ENHANCEMENT] Add version information to the issue templates.
[ENHANCEMENT] Add project name to the release title when deploying release packages.
[QUALITY] Remove unnecessary steps in Doxygen documentation deployment workflow.
[QUALITY] Refactor GitHub Actions workflows to standardize formatting.
[ENHANCEMENT] Add code quality issue template and update contributing guidelines.
[v8.1.1] - 21-05-2025
[BUGFIX] Update permissions in deployment workflow to allow write access.
[v8.1.0] - 21-05-2025
[ENHANCEMENT] Add GitHub Actions workflow for deploying release packages.
[v8.0.1] - 21-05-2025
[BUGFIX] Clean existing build files before generating source package.
[BUGFIX] Update supported versions in SECURITY.md to reflect version 8.0.x.
[v8.0.0] - 21-05-2025
[BUGFIX] Fix CMake organization.
[ENHANCEMENT] Add support for generating DEB, RPM, NSIS, ZIP and source packages for easier installation and distribution.
[ENHANCEMENT] Add support for component-based installation in CMake.
[ENHANCEMENT] Install the license file.
[ENHANCEMENT] Erase the release tag from the CMake presets.
[ENHANCEMENT] Format CMake files.
[ENHANCEMENT] Use the dir naming convention instead of path in the CMake files.
[v7.0.0] - 24-04-2025
[ENHANCEMENT] Update build system to support simultaneous compilation of shared and static libraries.
[ENHANCEMENT] Refactor CMake configuration.
[BUGFIX] Clear cache files in the workflows.
[ENHANCEMENT] Enhance workflow script to include cache clearing option and update usage instructions.
[DOCUMENTATION] Improve documentation clarity and add installation/uninstallation instructions for Libmagicxx.
[ENHANCEMENT] Add support for installing, uninstalling, and exporting magicxx.
[ENHANCEMENT] Improve project structure.
[BUGFIX] Update container images to use Fedora 41 to fix the compilation error.
[BUGFIX] Always pull the latest image when updating the development container.
[DOCUMENTATION] Update Doxygen configuration to enable index and adjust sidebar settings.
[DOCUMENTATION] Update contributing guidelines to fix rendering issues.
[DOCUMENTATION] Delete man documentation.
[v6.0.2] - 15-04-2025
[DOCUMENTATION] Fix documentation formatting in magic class description.
[v6.0.1] - 14-04-2025
[BUGFIX] Update documentation generation steps and add cleanup target to delete old documentation.
[v6.0.0] - 13-04-2025
[ENHANCEMENT] Add default database files to speed up build & Add CMake workflow preset to generate default database files.
[BUGFIX] Add missing parameter mag_warn_max & Fix parameters' default values in the documentation.
[BUGFIX] Fix file configure options to disable lrziplib.
[ENHANCEMENT] Remove 'cleanFirst' option from base-config build preset.
[DOCUMENTATION] Update CONTRIBUTING.md to correct directory structure and remove TODO.md reference
[ENHANCEMENT] Merge launch_container scripts into one Python script.
[BUGFIX] Refactor CMake dependencies and update database generation commands for the Windows build.
[BUGFIX] Generate default database files & Refactor default database file handling to pass the tests.
[ENHANCEMENT] Adapt default database file path based on the target operating system.
[BUGFIX] Add missing magic header files to Doxygen documentation generation.
[BUGFIX] Fix script execution path in Containerfile.
[BUGFIX] Export compile commands to a location easily accessible by Clangd.
[BUGFIX] Fix path syntax for launching the container in Windows.
[ENHANCEMENT] Update file version to v5.46, googletest version to v1.16.0.
[ENHANCEMENT] Add support for Windows build using MinGW64.
[ENHANCEMENT] Add libgnurx submodule for the x86_64-w64-mingw32 build.
[ENHANCEMENT] Refactor submodule paths to use 'external/' directory for better organization.
[v5.7.1] - 23-03-2025
[BUGFIX] Move the project initialization process from CMake workflow to a bash script to fix CMake initialization workflow error.
[v5.7.0] - 23-03-2025
[BUGFIX] Remove unused DOXYFILE variable from commit_release script to fix the runtime error.
[ENHANCEMENT] Enhance container launch scripts to support image updates and improve usage instructions.
[DOCUMENTATION] Update contributing guidelines and README to include project initialization step.
[BUGFIX] Add missing build dependency awk.
[BUGFIX] Fix CI workflows.
[BUGFIX] Bring back the install_dependencies.sh script.
[BUGFIX] Add missing development tools installation to Containerfile.
[ENHANCEMENT] Embed the install_dependencies.sh script to the CMake workflows && Add new CMake workflow presets install-dependencies, initialize-and-update-git-submodules and initialize.
[ENHANCEMENT] Embed the magic_header target into the configure_file target..
[DOCUMENTATION] Update CONTRIBUTING.md to clarify project structure.
[ENHANCEMENT] Replace format script with CMake workflow for source code formatting.
[ENHANCEMENT] Refactor the CMake configuration by adding custom targets for the magicxx dependencies to speed up the configuration process.
[ENHANCEMENT] Rename BUILD_MAGICXX_DOCUMENTATION_ONLY build option to BUILD_MAGICXX_DOCUMENTATION.
[ENHANCEMENT] Rename BUILD_AS_STATIC build option to BUILD_MAGICXX_AS_STATIC.
[ENHANCEMENT] Add support for building documentation from CMake and remove generate_documentation.sh script.
[v5.6.3] - 16-03-2025
[BUGFIX] Update CONTRIBUTING.md to include CMakePresets.json and clarify CMake configuration.
[v5.6.2] - 16-03-2025
[BUGFIX] Update copyright year in source files to 2022-2025.
[v5.6.1] - 16-03-2025
[BUGFIX] Update SECURITY.md to reflect support status for version 5.6.x.
[v5.6.0] - 16-03-2025
[ENHANCEMENT] Remove unused source files.
[ENHANCEMENT] Enable year 2038 support in libmagic.
[BUGFIX] Refactor build scripts and CMake configurations & Add new toolchain files for GCC and Clang.
[v5.5.1] - 06-03-2025
[BUGFIX] Update PULL_REQUEST_TEMPLATE.md to include title format guidelines.
[BUGFIX] Add issue templates for bug reports, documentation, and feature requests.
[v5.5.0] - 23-02-2025
[ENHANCEMENT] Update CONTRIBUTING.md to specify naming conventions.
[ENHANCEMENT] Add concepts for range containers and string converters to improve maintainability.
[ENHANCEMENT] Explicitly capture the required scope variables & Remove the redundant return type.
[ENHANCEMENT] Refactor magic_exception constructor to inherit from std::runtime_error.
[ENHANCEMENT] Use std::format instead of concatenating pieces manually.
[ENHANCEMENT] Update .clang-format to adjust line breaking penalties and compound requirement settings.
[ENHANCEMENT] Add SPDX license information and clang-format version to .clang-format.
[v5.4.1] - 17-02-2025
[BUGFIX] Remove container name specification in launch scripts to fix the container name is already used error.
[v5.4.0] - 17-02-2025
[ENHANCEMENT] Add container development environment setup and scripts.
[ENHANCEMENT] Improve error handling in scripts.
[v5.3.2] - 16-02-2025
[BUGFIX] Fix compilation errors.
[v5.3.1] - 15-02-2025
[BUGFIX] Set the version of File to 5.45 to fix compilation errors.