full changelog at: https://github.com/sisong/HDiffPatch/commits
v4.4.0 - 2022-10-09
- optimize diff -m & -s speed by muti-thread parallel, requires C++11.
v4.3.0 - 2022-09-23
- recode some patch error code: decompresser errors, file error, disk space full error, jni error
v4.2.0 - 2022-05-15
- add function create_lite_diff() & hpatch_lite_open(),hpatch_lite_patch(); optimized hpatch on MCU,NB-IoT... (demo HPatchLite)
- add compress&decompress plugin tuzCompressPlugin,tuzDecompressPlugin;
v4.1.2 - 2021-12-02
- add Github Actions CI.
- remove travis-ci.org CI.
v4.1.0 - 2021-11-27
- cmdline add option "-BSD", to create diffFile compatible with bsdiff;
- add function create_bsdiff() & bspatch_with_cache().
- cmdline add option "-cache", optimize hdiffz -m speed; note:the big cache max used O(oldFileSize) memory, and build slow.
- cmdline add option "-block", optimize hdiffz -m speed;
- add function create_single_compressed_diff_block() & create_compressed_diff_block() & create_bsdiff_block().
v4.0.0 - 2021-06-14
- cmdline add option "-SD", to create single compressed diffData, for optimize decompress buffer when patch, and support step by step patching when step by step downloading; it's better for IoT! NOTE: old patcher can't work with this new format diffData.
- the added create_single_compressed_diff()&patch_single_stream() can be used;
- add create_single_compressed_diff_stream(), same as create_single_compressed_diff(), but can control memory requires and run speed by different kMatchBlockSize value;
- now, zstd plugin default added in cmdline;
- check_compressed_diff_stream() rename to check_compressed_diff();
- patch_single_stream_by() (preview func) rename to patch_single_stream();
- patch_single_stream_by_mem() (preview func) rename to patch_single_stream_mem();
v3.1.1 - 2021-04-02
- add compress&decompress plugin brotliCompressPlugin,brotliDecompressPlugin,lzhamCompressPlugin,lzhamDecompressPlugin;
- remove sais-lite("sais.hxx") from suffix string sort (still can select divsufsort or std::sort)
v3.1.0 - 2020-12-16
- add a memory cache for patch to newStream, can reduce write I/O times;
- add create_single_compressed_diff()&patch_single_compressed_diff(), for v4.0, preview;
- cmdline remove option "-o", no Original diff, you can continue to call patch()|patch_stream() by yourself;
- remove patch_decompress_repeat_out(), you need use patch_decompress*() to replace it;
v3.0.8 - 2020-01-01
- patch demo for Android, out lib file libhpatchz.so;
v3.0.7 - 2019-12-19
- fix a bug when create dir's manifest file without checksum (hdiffz -C-no -M...);
- fix a bug when create dir's manifest file on windows operating system;
v3.0.6 - 2019-09-18
- fix a patch bug when old file size >=4GB and patch with large cache memory and run as 32bit app;
v3.0.5 - 2019-09-18
- fix a directory patch bug when changed file's sumSize >=4GB and run as 32bit app;
v3.0.4 - 2019-09-06
- fix dir_patch can't remove some files bug when patch to same dir on Windows operating system;
v3.0.0 - 2019-03-01
- hdiffz,hpatchz command line support diff&patch between directories(folder);
- support checksum plugin: crc32ChecksumPlugin,adler32ChecksumPlugin,adler64ChecksumPlugin,fadler32ChecksumPlugin,fadler64ChecksumPlugin,fadler128ChecksumPlugin,md5ChecksumPlugin ;
- lzmaCompressPlugin support parallel compress;
- add parallel compress plugin: pzlibCompressPlugin,pbz2CompressPlugin,lzma2CompressPlugin
- command line support SFX(self extract archive);
v2.5.3 - 2018-12-25
- fix a bug when cancel LzmaEnc_Encode in lzmaCompressPlugin when diff;
v2.5.0 - 2018-12-01
- resave_compressed_diff(...) support resave diffFile with new compress type;
v2.4.2 - 2018-11-06
- add CI(ci.appveyor.com) for this repository;
v2.4.1 - 2018-08-14
- fix a memory bug in zlibCompressPlugin when diff;
- add CI(travis-ci.org) for this repository;
v2.4 - 2018-04-26
- improve hdiffz,hpatchz command line;
v2.3 - 2018-03-21
- hpatch_coverList_open_serializedDiff(...),hpatch_coverList_open_compressedDiff(...) support open diffFile read coverList;
v2.2.2 - 2017-09-10
- optimize patch_stream_with_cache(...) speed when patch with large cache memory;
v2.2.1 - 2017-09-06
- add compress&decompress plugin lz4hcCompressPlugin,zstdCompressPlugin,zstdDecompressPlugin;
v2.2.0 - 2017-09-02
- optimize patch_decompress_with_cache(...) speed when patch with large cache memory;
v2.1.1 - 2017-08-23
- add compress&decompress plugin lz4CompressPlugin,lz4DecompressPlugin;
v2.1.0 - 2017-08-22
- create_compressed_diff_stream(...), same as create_compressed_diff(...), but can control memory requires and run speed by different kMatchBlockSize value;
- add performance test, compare with xdelta3.1;
v2.0.3 - 2017-08-05
- patch_decompress_with_cache(...), same as patch_decompress(...), but support set cache memory size for optimize patch speed;
- patch_stream_with_cache(...), same as patch_stream(...), but support set cache memory size for optimize patch speed;
v2.0.0 - 2017-07-29
- create_compressed_diff(...) support create compressed differential;
- add compress plugin zlibCompressPlugin, bz2CompressPlugin, lzmaCompressPlugin;
- patch_decompress(...) support patch apply compressed differential;
- add decompress plugin zlibDecompressPlugin, bz2DecompressPlugin, lzmaDecompressPlugin;
v1.2.0 - 2017-07-02
- optimize diff speed;
v1.1.4 - 2017-06-10
- add MakeFile for support make; by author JayXon;
- slightly optimize diff required memory size;
v1.1.3 - 2017-01-01
- used divsufsort (still can select sais or std::sort) for suffix string sort;
v1.1.2 - 2016-09-01
- fix a bug when write out diffFile on Windows operating system; by author Wenhai Lin;
v1.1.0 - 2014-09-13
- patch_stream(...), same as patch(...) but used O(1) bytes of memory;
v1.0.6 - 2014-09-07
- Diff&Patch support big datas(>2GB, int32 to int64) on 64bit operating system;
v1.0.2 - 2013-08-03
- optimize diff speed with two unrelated data;
v1.0.1 - 2013-08-02
- fix diff fail between two equal datas;
v1.0.0 - 2013-06-06
- add Readme file;
- performance test, compare with BSDiff4.3;
Init Release - 2013-05-30
- create_diff(...) support create differential between two memory datas(src->dst bytes);
- patch(...) support apply differential for update src bytes to dst bytes;
- demo app for diff&patch between two files;