Revision history for Compression-Util

0.06    2024-05-05

        [ADDITIONS]

        - Added the lzss_encode_fast() function.
        - Added the lz77_compress_symbolic() and lz77_decompress_symbolic() functions.

        [IMPROVEMENTS]

        - Much faster algorithm in lzss_encode() for large enough strings.
        - Much better compression ratios achived by `lzss_encode()`.
        - Extended lzss_compress() to accept an additional optional argument, specifying the LZSS encoding method.

        [CHANGES]

        - Removed the lzhd_compress() and lzhd_decompress() functions.
        - Renamed the mrl_compress() and mrl_decompress() to mrl_compress_symbolic() and mrl_decompress_symbolic(), respectively.
        - Simplified all functions to no longer take an optional output filehandle.

        [BUG-FIXES]

        - The output of delta_encode() is now always deterministic.

0.05    2024-04-13

        [ADDITIONS]

        - Added the mrl_compress() and mrl_decompress() functions.
        - Added the read_bit_lsb(), read_bits_lsb(), int2bits(), int2bits_lsb(), bits2int() and bits2int_lsb() functions.
        - Added the read_null_terminated() function.
        - Added the string2symbols() and symbols2string() functions.

        [IMPROVEMENTS]

        - Extended `huffman_from_*` to check the context and return only the encoding dictionary in scalar context.

        [CHANGES]

        - Simplified `lzss_encode()` for better performance, with a minimal impact on compression ratio.

        [BUG-FIXES]

        - Fixed several special cases and added more tests.

0.04    2024-04-06

        [ADDITIONS]

        - Added the deltas() and its inverse, accumulate(), functions.
        - Added the frequencies() function.
        - Added the huffman_from_symbols() function.
        - Added the huffman_from_code_lengths() function.

        [CHANGES]

        - Simplified deflate_encode() to always return a binary string (no longer writes to a file-handle).
        - Improved the delta_encode() function to also use RLE when it's beneficial.
        - Renamed huffman_tree_from_freq() to huffman_from_freq().

0.03    2024-03-22

        [ADDITIONS]

        - Added the lzhd_compress() and lzhd_decompress() functions.
        - Added the obh_encode() and obh_decode() functions.

        [CHANGES]

        - Simplified deflate_encode() to no longer require the size of the uncompressed data.

0.02    2024-03-21

        [ADDITIONS]

        - Added the run_length() function.
        - Added the binary_vrl_encode() and binary_vrl_decode() functions.
        - Added the elias_gamma_encode() and elias_gamma_decode() functions.
        - Added the adaptive_ac_encode() and adaptive_ac_decode() functions.
        - Added the create_adaptive_ac_entry() and decode_adaptive_ac_entry() functions.

        [CHANGES]

        - Renamed mtf_encode_alphabet() to encode_alphabet().
        - Renamed mtf_decode_alphabet() to decode_alphabet().

0.01    2024-03-21

        - Initial release.
