1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
-*- org -*-
#+TITLE: Guile-zlib NEWS – history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2021, 2024-2025 Ludovic Courtès <ludo@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Please report bugs at <https://notabug.org/guile-zlib/guile-zlib>.
* Changes in 0.2.2 (compared to 0.2.1)
** Fix ‘uncompress’ procedure on 32-bit systems
The ‘uncompress’ procedure would reportedly cause crashes on 32-bit
PowerPC systems and could lead to buffer overflows on other 32-bit
systems.
** Adjust test for zlib-ng
The “gzip output port, error” test would fail when using zlib-ng instead
of zlib. This is now fixed.
* Changes in 0.2.1 (compared to 0.2.0)
** Fix wrong-type-argument error that could occur in ‘uncompress’
‘uncompress’ could throw to ‘wrong-type-arg’, “expecting exact integer”,
depending on the size of its input bytevector.
* Changes in 0.2.0 (compared to 0.1.0)
** Improve heuristics of bytevector size calculation in ‘uncompress’
‘uncompress’ now makes a better job at guessing the size of the
output bytevector.
** ‘make-zlib-input-port’ & co. inherit the input port’s encoding
‘make-gzip-input-port’, ‘make-gzip-output-port’,
‘make-zlib-output-port’, and ‘make-zlib-input-port’ now inherit the
encoding of their input port.
** ‘zlib-error’ exceptions from gz* procedures now include accurate info
‘zlib-error’ exceptions thrown by the gz* family of procedures now
include a correct error code and optionally an error message.
Exceptions now have one of the following forms:
(zlib-error PROC)
(zlib-error PROC CODE)
(zlib-error PROC CODE MESSAGE)
** ‘call-with-*’ procedures no longer use ‘dynamic-wind’
Previously ‘call-with-zlib-input-port’ and other similar procedures
would use ‘dynamic-wind’ to close the zlib/gzip port both for local
and non-local exits from the given procedure. Since this does not
play well with delimited continuations, notably used in Fibers, this
use of ‘dynamic-wind’ has been replaced by a ‘catch #t’ form.
* Changes in 0.1.0 (compared to 0.0.1)
** New procedures: ‘make-zlib-input-port’, ‘make-zlib-output-port’
These procedures and the companion ‘call-with-zlib-*’ procedures
provide an alternative to the ‘make-gzip-*’ and ‘call-with-gzip-*’
procedures; unlike those, they operate on all types of ports, not
just file ports.
These procedures also support multiple formats: raw “deflate”,
“zlib”, and “gzip”.
** New ‘compress’ and ‘uncompress’ procedures
These procedures support compression/decompression of individual
bytevectors.
|