Usability and Documentation
- CMake build defaults were updated to make build easier and more standard for users – “Release” is set now as the default build type, test programs were removed from install target path.
- Redeveloped and improved setting C/C++ standards in the build system (C17/C++17 by default).
QPL_TREAT_WARNINGS_AS_ERRORSoption added and enabled by default.- Moved
QPL_VERSIONmacro to CMake-generated header with version component macros. - Added dataset directory existence checks with improved diagnostics.
Bug Fixes
- Added dataset directory existence checks with improved diagnostics.
- Fixed expand/extract/select fuzz tests with input validation to prevent invalid memory access.
- Increased compression buffer size in
inflate_stop_conditionstest for edge case handling. - Added missing huffman table destroy in
deflate_nodict_fuzz_testto fix memory leak. - Updated
mix_paths_comp_decomp_w_dict_example: fixed exit code for unsupported hardware (52 → 0) in; replaced manualfree()withunique_ptrsmart pointers; changed functions to returnqpl_statusfor better error propagation.
Known Limitations
-
Intel(R) QPL could be built from directly downloadable files (.tar, .tgz) without tests and benchmark frameworks, using the -
DQPL_BUILD_TESTS=OFFbuild option. This is because it requires submodules that are not included in the archives by GitHub* during release creation. -
Known test failures are listed below. Some tests fail only under certain conditions, which are noted in parentheses.
- Functional tests:
- (
software_path,auto_pathonly on platforms without IAA) ta_c_api_deflate_stateful.{dynamic/fixed/static}_default_verify - (
software_path,auto_path) ta_c_api_deflate_stateful.{dynamic/fixed/static}_high_verify
- (
- Functional tests:
-
Compression verification on the
qpl_path_softwareworks only with indexing mode and data of size smaller than 32KB in other modes. -
Inflate does not report the error code
QPL_STS_BIG_HEADER_ERRwhen a header is too big to fit in the input buffer. -
The implementation of
QPL_FLAG_CRC32Cis in progress. -
When using
qpl_path_hardware, the compression and decompression with indexing mode on IAA 2.0 are limited to data sizes smaller than 4KB. -
The Force Array Output Modification feature is enabled only for
qpl_path_hardwareand Intel IAA 2.0 (and later). In the case ofqpl_path_auto, an error codeQPL_STS_NOT_SUPPORTEDis returned as no fallback is available currently.
Thanks to the Contributors
The release includes contributions from the project team.