package decompress
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=34a04176a42955ce529a1b57e8b225e7cf63680e49dd8ad05b3fe463bc7863bd
    
    
  sha512=cfc300cbf620563453ca166e5a53fde3317c8a24ce3010a5cdee080f51cca26c67f658e57bd8feee582c7dcb459a692010b90907ae2e9ba9fe494d5da5d88c13
    
    
  doc/CHANGES.html
v1.0.0 2019-08-30 Paris (France)
** breaking changes **
decompress.1.0.0 is 3 times faster about decompression than before. A huge amount of work was done to improve performance and coverage.
The main reason to update the API is to fix a bad design decision regarding split compression and encoding. User is able to implement a new compression algorithm and use it.
Release comes with regressions:
decompressonly supportsBigarraynow, notBytes- GZIP layer does not exist anymore
 - state of RFC1951 encoder/decoder is not referentially transparent anymore
 
Of course, v1.0.0 comes with fixes and improvements:
decompressis able to compress/uncompress Calgary corpus- tests are improved and they include all coverage tests from 
zlib - compression algorithm has a fuzzer
 - encoder has a fuzzer
 - performance about decoder is 3 times better than 
decompress.v0.9.0and 3 times slower thanzlib 
decompress is split into 2 main modules:
ddwhich implements RFC1951zzwhich implements ZLIB
API of them are pretty-close to what decompress.v0.9.0 does with some advantages on dd:
- User can use their own compression algorithm instead of 
Dd.L - encoder exposes more granular control over what it emits (which block, when, where)
 - Huffman tree generation is out of 
dd 
As a response to #25, dd provides a higher level API resembling camlzip.
v0.9.0 2019-07-10 Paris (France)
- Add support of 4.07 and 4.08 in Travis (@XVilka, @dinosaure, #70, #71)
 - Use 
mmap(@XVilka, @dinosaure, @hannesm, #68, #69, #71) - Update documentation (@yurug, @dinosaure, #65, #66)
 - Micro-optimization about specialization (@dinosaure, #64)
 - Re-organize internals of 
decompress(@dinosaure, #63) - GZIP support (@clecat, review by @dinosaure, @cfcs, @hannesm, #60)
 
- fix #58 (@dinosaure)
 
v0.8.1 2018-10-16 Paris (France)
- Dunify project (@dinosaure)
 - breaking-change Unbox 
Bytes.tandBigstring.tas I/O buffer (@dinosaure) - Add foreign tests vectors (@cfcs, @dinosaure)
 - Catch invalid distance (@XVilka, @dinosaure)
 - Better check on dictionaries (@XVilka, @dinosaure)
 - breaking-change Add [wbits] argument to check Window size on RFC1951 (@XVilka, @dinosaure)
 
v0.8 2018-07-09 Paris (France)
- Implementation of RFC1951 (task from @cfcs)
 breaking change New interface of decompress
We wrap API in
Zlib_{inflate/deflate}and addRFC1951_{inflate/deflate}.- Move to 
jbuilder/dune(task from @samoht) - Better check on 
zlibheader Fixed infinite loop (task fron @cfcs)
See 2e3af68,
decompresshas an infinite loop when the inflated dictionary does not provide any bindings (and length of opcode is <= 0). In this case,decompressexpects an empty input and provide an empty output in any case.- Use re.1.7.2 on tests
 - Use camlzip.1.07 on tests
 
v0.7 2017-10-18 Paris (France)
- Fixed Inflate.write function
 - Fixed internal state to stick in a internal final state
 - Fixed compilation with js_of_ocaml (use trampoline function to avoid stack-overflow)
 - Fixed clash of name about state variable in the Inflate module
 - Add afl program
 - Export Adler-32 modules
 - Add -i and -o option in the dpipe binary to inform the size of the internal chunk
 - Change the value of -mode in the dpipe binary
 
v0.6 2017-05-11 Cao Lãnh (Vietnam)
- Fixed bug #29
 - Produce far pattern (Lz77 compression)
 - Optimize memory consumption of the Inflate module
 - Move repository from oklm-wsh to mirage
 - Learn topkg release
 
v0.5 2017-02-17 Essaouira (Maroc)
- Stabilize the interface (@dbuenzli's interface)
 - Merge optimization from @yallop
 - Add 
sync_flush,partial_flush,full_flush(experimental) - Move the build system to 
topkg