From dd12ff2b36d603dbb7fa8838fe7e7176fcbd4f6f Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Sat, 16 Sep 2023 16:34:41 -0700 Subject: [PATCH] v1.19 --- NEWS.md | 21 +++++++++++++++++++++ libdeflate.h | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 54093e61..83a44bf2 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,26 @@ # libdeflate release notes +## Version 1.19 + +* Added new functions `libdeflate_alloc_compressor_ex()` and + `libdeflate_alloc_decompressor_ex()`. These functions allow specifying a + custom memory allocator on a per-compressor basis. + +* libdeflate now always generates Huffman codes with at least 2 codewords. This + fixes a compatibility issue where Windows Explorer's ZIP unpacker could not + decompress DEFLATE streams created by libdeflate. libdeflate's behavior was + allowed by the DEFLATE RFC, but not all software was okay with it. In rare + cases, compression ratios can be slightly reduced by this change. + +* Disabled the use of some compiler intrinsics on MSVC versions where they don't + work correctly. + +* libdeflate can now compress up to the exact size of the output buffer. + +* Slightly improved compression performance at levels 1-9. + +* Improved the compression ratio of very short inputs. + ## Version 1.18 * Fixed a bug where the build type didn't default to "Release" when using diff --git a/libdeflate.h b/libdeflate.h index 7071667b..0a274f0f 100644 --- a/libdeflate.h +++ b/libdeflate.h @@ -13,8 +13,8 @@ extern "C" { #endif #define LIBDEFLATE_VERSION_MAJOR 1 -#define LIBDEFLATE_VERSION_MINOR 18 -#define LIBDEFLATE_VERSION_STRING "1.18" +#define LIBDEFLATE_VERSION_MINOR 19 +#define LIBDEFLATE_VERSION_STRING "1.19" /* * Users of libdeflate.dll on Windows can define LIBDEFLATE_DLL to cause