1.0.17 (2021-02-10)
* Update chefstyle requirement from 1.2.1 to 1.3.2 #35
(dependabot-preview[bot])
* Update chefstyle requirement from 1.3.2 to 1.4.0 #36
(dependabot-preview[bot])
* Update chefstyle requirement from 1.4.0 to 1.4.2 #37
(dependabot-preview[bot])
* Update chefstyle requirement from 1.4.2 to 1.4.3 #38
(dependabot-preview[bot])
* Update chefstyle requirement from 1.4.3 to 1.4.4 #39
(dependabot-preview[bot])
* Update chefstyle requirement from 1.4.4 to 1.4.5 #40
(dependabot-preview[bot])
* Update chefstyle requirement from 1.4.5 to 1.5.0 #41
(dependabot-preview[bot])
* Update chefstyle requirement from 1.5.0 to 1.5.8 #46
(dependabot-preview[bot])
* Update chefstyle requirement from 1.5.8 to 1.5.9 #47
(dependabot-preview[bot])
* Update chefstyle requirement from 1.5.9 to 1.6.1 #48
(dependabot-preview[bot])
* Test on Ruby 3.0 #49 (tas50)
* Update chefstyle requirement from 1.6.1 to 1.6.2 #50
(dependabot-preview[bot])
* Extend the reader API to extract to destination #51 (lamont-granquist)
Changes in version 1.10:
A portability issue with Solaris 10 has been fixed.
It has been documented in the manual that 'zgrep -L' fails with GNU grep
versions 3.2 to 3.4 inclusive because of a wrong change reverted in GNU grep
3.5.
'make check' now tests empty input files with all tools except zupdate.
-Handle newlines and text tabs in item names as far as possible.
-Natural sorting of items by treating dot as a separator.
-Set the window title to the archive name.
-Added context menu to the archive path bar for copying path and opening
containing folder.
-Use 7z for uncompressed disk images and bsdtar for compressed ones.
-Added fallback icons for files and folders.
-Fixed emblemized icons with device pixel ratio.
2021-01-02 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.22 released.
* New options '-e, --reproduce', '--lzip-level', '--lzip-name',
'--reference-file', and '-E, --debug-reproduce'.
* Remove '--dump-tdata', '--remove-tdata', and '--strip-tdata'.
* main.cc (main): Report an error if a file name is empty.
Make '-o' behave like '-c', but writing to file.
Make '-c' and '-o' check whether the output is a terminal only once.
Do not open output if input is a terminal.
* main.cc (decompress): With '-i', ignore data errors, keep files.
* range_dec.cc: '-i -D' now decompresses a truncated last member.
* '-i -D' now returns 0 if only ignored errors are found.
* '-i' now considers any block > 36 with header a member, not a gap.
* Replace 'decompressed', 'compressed' with 'out', 'in' in output.
* Fix several compiler warnings. (Reported by Nissanka Gooneratne).
* lzip_index.cc: Improve messages for corruption in last header.
* New debug options '-M, --md5sum' and '-U, --unzcrash'.
* main.cc: Set a valid invocation_name even if argc == 0.
* Document extraction from tar.lz in manual, '--help', and man page.
* New files lunzcrash.cc, md5.h, md5.cc, nrep_stats.cc, reproduce.cc.
* lziprecover.texi: New chapter 'Reproducing one sector'.
New sections 'Merging with a backup' and 'Reproducing a mailbox'.
Document the debug options for experts.
* check.sh: Lzip 1.16 or newer is required to run the tests.
* testsuite: Add 9 new test files.
v3.1.3:
This release adds support for publishing wheels to PyPi for Python 3.9. Wheel building is currently broken for Python 3.9 on Arm/Aarch64.
This release also drops building of wheels for Python 3.5.
libzzip.dylib. Pass -f along with ln -s in the APPLE cases, too, so none
of the bash install scripts exit early due to ln giving "File exists".
Bump PKGREVISION.
Changes in version 1.22:
Lzip now reports an error if a file name is empty (lzip -t "").
Option '-o, --output' now behaves like '-c, --stdout', but sending the
output unconditionally to a file instead of to standard output. See the new
description of '-o' in the manual. This change is backwards compatible only
when (de)compressing from standard input alone. Therefore commands like:
lzip -o foo.lz - bar < foo
must now be split into:
lzip -o foo.lz - < foo
lzip bar
or rewritten as:
lzip - bar < foo > foo.lz
When using '-c' or '-o', lzip now checks whether the output is a terminal
only once.
Lzip now does not even open the output file if the input file is a terminal.
Lzip can now be built, tested, and installed on systems lacking a 'make'
program. (Feature suggested by Mohammad Akhlaghi).
The words 'decompressed' and 'compressed' have been replaced with the
shorter 'out' and 'in' in the verbose output when decompressing or testing.
Option '--list' now reports corruption or truncation of the last header in a
multimenber file specifically instead of showing the generic message "Last
member in input file is truncated or corrupt."
The commands needed to extract files from a tar.lz archive have been
documented in the manual, in the output of '--help', and in the man page.
Plzip and tarlz are mentioned in the manual as alternatives for
multiprocessors.
Several fixes and improvements have been made to the manual.
9 new test files have been added to the testsuite.
Changelog:
version 1.33 - Sergey Poznyakoff, 2021-01-07
* POSIX extended format headers do not include PID by default
The intent is to make binary-equivalent PAX archives easy to create. If
POSIXLY_CORRECT is set, the POSIX standard default is used, which embeds
the pid.
* --delay-directory-restore works for archives with reversed member ordering
* Fix extraction of a symbolic link hardlinked to another symbolic link
* Wildcards in exclude-vcs-ignore mode don't match slash
* Fix the --no-overwrite-dir option
Given this option, previous versions of tar failed to preserve
permissions of empty directories and to create files under directories
owned by the current user that did not have the S_IWUSR bit set.
* Fix handling of chained renames in incremental backups
* Link counting works for file names supplied with -T
* Accept only position-sensitive (file-selection) options in file list files.
Using such options as -f, -z, etc. is senseless in a file list file and
bypasses option consistency checks in decode_options. Therefore,
only options related to file selection (a.k.a position-sensitive options)
are allowed in file list files.
This now uses cmake to build.
2021-01-04 gdraheim@github
* The testbuilds were fixed to make cmake install and automake install the same
* The cmake install did need patches for man3 installation on Unix
* The cmake install did need patches for dll installation on Windows
* The cmake install did need patches for dylib installation on MacOS
* The cmake install did need patches for pkgconfig generation
* Bump testbuilds to modern distro versions (ubuntu 20.04 centos 7.9 / 8.3)
* Takeover docker_mirror.py for air-gap testings (for testbuilds.py)
* handle UNZZIP-NOTFOUND in cmake and mark Ubuntu 'unzip' to be broken
* merge patches for zzip_pread feature from Max Kellermann
* merge patches for some bugs being found and reported via GitHub issues
* run azure-pipelines with -DZZIP_TESTCVE=OFF to skip CVE *.zip downloads
* use zziptests.py --downloadonly to get the CVE zip files for local storage
* The ninja builds for cmake were run regularly as it seems to be widely used.
* AND ... rename configure.ac to old.configure.ac to break outdated packaging scripts
* ....... see testbuilds/*-am-*.dockerfile that it still works to rename them back
* release 0.13.72
0.15.1:
Bug Fixes
setup.py no longer attempts to build the C backend on PyPy.
<sys/types.h> is now included before <sys/sysctl.h>. This was
the case in releases prior to 0.15.0 and the include order was reversed
as part of running clang-format. The old/working order has been
restored.
Include some private zstd C headers so we can build the C extension against
a system library. The previous behavior of referencing these headers is
restored. That behave is rather questionable and undermines the desire to
use the system zstd.
0.15.0:
Backwards Compatibility Notes
Support for Python 2.7 has been dropped. Python 3.5 is now the
minimum required Python version.
train_dictionary() now uses the fastcover training mechanism
(as opposed to cover). Some parameter values that worked with the old
mechanism may not work with the new one. e.g. d must be 6 or 8
if it is defined.
train_dictionary() now always calls
ZDICT_optimizeTrainFromBuffer_fastCover() instead of different APIs
depending on which arguments were passed.
The names of various Python modules have been changed. The C extension
is now built as zstandard.backend_c instead of zstd. The
CFFI extension module is now built as zstandard._cffi instead of
_zstd_cffi. The CFFI backend is now zstandard.backend_cffi instead
of zstandard.cffi.
ZstdDecompressionReader.seekable() now returns False instead of
True because not all seek operations are supported and some Python
code in the wild keys off this value to determine if seek() can be
called for all scenarios.
ZstdDecompressionReader.seek() now raises OSError instead of
ValueError when the seek cannot be fulfilled.
ZstdDecompressionReader.readline() and
ZstdDecompressionReader.readlines() now accept an integer argument.
This makes them conform with the IO interface. The methods still raise
io.UnsupportedOperation.
ZstdCompressionReader.__enter__ and ZstdDecompressionReader.__enter__
now raise ValueError if the instance was already closed.
The deprecated overlap_size_log attribute on ZstdCompressionParameters
instances has been removed. The overlap_log attribute should be used
instead.
The deprecated overlap_size_log argument to ZstdCompressionParameters
has been removed. The overlap_log argument should be used instead.
The deprecated ldm_hash_every_log attribute on
ZstdCompressionParameters instances has been removed. The
ldm_hash_rate_log attribute should be used instead.
The deprecated ldm_hash_every_log argument to
ZstdCompressionParameters has been removed. The ldm_hash_rate_log
argument should be used instead.
The deprecated CompressionParameters type alias to
ZstdCompressionParamaters has been removed. Use
ZstdCompressionParameters.
The deprecated aliases ZstdCompressor.read_from() and
ZstdDecompressor.read_from() have been removed. Use the corresponding
read_to_iter() methods instead.
The deprecated aliases ZstdCompressor.write_to() and
ZstdDecompressor.write_to() have been removed. Use the corresponding
stream_writer() methods instead.
ZstdCompressor.copy_stream(), ZstdCompressorIterator.__next__(),
and ZstdDecompressor.copy_stream() now raise the original exception
on error calling the source stream's read() instead of raising
ZstdError. This only affects the C backend.
ZstdDecompressionObj.flush() now returns bytes instead of
None. This makes it behave more similarly to flush() methods
for similar types in the Python standard library.
ZstdCompressionWriter.__exit__() now always calls close().
Previously, close() would not be called if the context manager
raised an exception. The old behavior was inconsistent with other
stream types in this package and with the behavior of Python's
standard library IO types.
Distribution metadata no longer lists cffi as an install_requires
except when running on PyPy. Instead, cffi is listed as an
extras_require.
ZstdCompressor.stream_reader() and ZstdDecompressor.stream_reader()
now default to closing the source stream when the instance is itself
closed. To change this behavior, pass closefd=False.
The CFFI backend now defines
ZstdCompressor.multi_compress_to_buffer() and
ZstdDecompressor.multi_decompress_to_buffer(). However, they
raise NotImplementedError, as they are not yet implemented.
The CFFI backend now exposes the types ZstdCompressionChunker,
ZstdCompressionObj, ZstdCompressionReader,
ZstdCompressionWriter, ZstdDecompressionObj,
ZstdDecompressionReader, and ZstdDecompressionWriter as
symbols on the zstandard module.
The CFFI backend now exposes the types BufferSegment,
BufferSegments, BufferWithSegments, and
BufferWithSegmentsCollection. However, they are not implemented.
ZstdCompressionWriter.flush() now calls flush() on the inner stream
if such a method exists. However, when close() itself calls
self.flush(), flush() is not called on the inner stream.
ZstdDecompressionWriter.close() no longer calls flush() on
the inner stream. However, ZstdDecompressionWriter.flush() still
calls flush() on the inner stream.
ZstdCompressor.stream_writer() and ZstdDecompressor.stream_writer()
now have their write_return_read argument default to True.
This brings the behavior of write() in compliance with the
io.RawIOBase interface by default. The argument may be removed
in a future release.
ZstdCompressionParameters no longer exposes a compression_strategy
property. Its constructor no longer accepts a compression_strategy
argument. Use the strategy property/argument instead.
Bug Fixes
Fix a memory leak in stream_reader decompressor when reader is closed
before reading everything. (Patch by Pierre Fersing.)
The C backend now properly checks for errors after calling IO methods
on inner streams in various methods. ZstdCompressionWriter.write()
now catches exceptions when calling the inner stream's write().
ZstdCompressionWriter.flush() on inner stream's write().
ZstdCompressor.copy_stream() on dest stream's write().
ZstdDecompressionWriter.write() on inner stream's write().
ZstdDecompressor.copy_stream() on dest stream's write().
Changes
Bundled zstandard library upgraded from 1.4.5 to 1.4.8.
The bundled zstandard library is now using the single C source file
distribution. The 2 main header files are still present, as these are
needed by CFFI to generate the CFFI bindings.
PyBuffer instances are no longer checked to be C contiguous and
have a single dimension. The former was redundant with what
PyArg_ParseTuple() already did and the latter is not necessary
in practice because very few extension modules create buffers with
more than 1 dimension.
Added Python typing stub file for the zstandard module.
The make_cffi.py script should now respect the CC environment
variable for locating the compiler.
CI now properly uses the cffi backend when running all tests.
train_dictionary() has been rewritten to use the fastcover APIs
and to consistently call ZDICT_optimizeTrainFromBuffer_fastCover()
instead of different C APIs depending on what arguments were passed.
The function also now accepts arguments f, split_point, and
accel, which are parameters unique to fastcover.
CI now tests and builds wheels for Python 3.9.
zstd.c file renamed to c-ext/backend_c.c.
All built/installed Python modules are now in the zstandard
package. Previously, there were modules in other packages.
C source code is now automatically formatted with clang-format.
ZstdCompressor.stream_writer(), ZstdCompressor.stream_reader(),
ZstdDecompressor.stream_writer(), and
ZstdDecompressor.stream_reader() now accept a closefd
argument to control whether the underlying stream should be closed
when the ZstdCompressionWriter, ZstdCompressReader,
ZstdDecompressionWriter, or ZstdDecompressionReader is closed.
There is now a zstandard.open() function for returning a file
object with zstd (de)compression.
The zstandard module now exposes a backend_features
attribute containing a set of strings denoting optional features
present in that backend. This can be used to sniff feature support
by performing a string lookup instead of sniffing for API presence
or behavior.
Python docstrings have been moved from the C backend to the CFFI
backend. Sphinx docs have been updated to generate API documentation
via the CFFI backend. Documentation for Python APIs is now fully
defined via Python docstrings instead of spread across Sphinx ReST
files and source code.
ZstdCompressionParameters now exposes a strategy property.
There are now compress() and decompress() convenience functions
on the zstandard module. These are simply wrappers around the
corresponding APIs on ZstdCompressor and ZstdDecompressor.
v1.4.8
hotfix: wrong alignment of an internal buffer
v1.4.7
perf: stronger --long mode at high compression levels
perf: stronger --patch-from at high compression levels, thanks to --long improvements
perf: faster dictionary compression at medium compression levels
perf: small speed & memory usage improvements for ZSTD_compress2()
perf: improved fast compression speeds with Visual Studio
cli : Set nb of threads with environment variable ZSTD_NBTHREADS
cli : accept decompressing files with *.zstd suffix
cli : provide a condensed summary by default when processing multiple files
cli : fix : stdin input no longer confused as user prompt
cli : improve accuracy of several error messages
api : new sequence ingestion API
api : shared thread pool: control total nb of threads used by multiple compression jobs
api : new ZSTD_getDictID_fromCDict()
api : zlibWrapper only uses public API, and is compatible with dynamic library
api : fix : multithreaded compression has predictable output even in special cases
api : fix : dictionary compression correctly respects dictionary compression level
build: fix cmake script when using path with spaces
build: improved compile-time detection of aarch64/neon platforms
build: Fix building on AIX 5.1
build: compile paramgrill with cmake on Windows, requested by @mirh
doc : clarify repcode updates in format specification
v1.4.6
fix : Always return dstSize_tooSmall when that is the case
fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
perf: Improve small block decompression speed by 20%+
perf: Reduce compression stack usage by 1 KB
perf: Improve decompression speed by improving ZSTD_wildcopy
perf: Improve histogram construction
cli : Add --output-dir-mirror option
cli : Warn when (de)compressing multiple files into a single output
cli : Improved progress bar and status summary when (de)compressing multiple files
cli : Call stat less often
cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX
cli : Allow --patch-from to compress stdin with --stream-size
api : Do not install zbuff.h, since it has long been deprecated
api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level
api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX
build: Install pkg-config file with CMake and MinGW
build: Install DLL with CMake on Windows
build: Fix DLL install location with CMake
build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC
build: Fix -Wcomma warnings
build: Remove distutils requirement for meson build
build: Fix cli compilation with uclibc
build: Fix cli compilation without st_mtime
build: Fix shadowing warnings in library
build: Fix single file library compilation with Enscripten
misc: Improve single file library and include dictBuilder
misc: Allow compression dictionaries with missing symbols
misc: Add freestanding translation script in contrib/freestanding_lib
misc: Collect all of zstd's libc dependencies into zstd_deps.h
doc : Add ZSTD_versionString() to manual
doc : Fix documentation for ZSTD_CCtxParams_setParameter()
pkgsrc update: Switch to use PHP_VERSIONS_INCOMPATIBLE.
1.19.2 (2020-11-23)
- only display libzip both headers/library versions if they differ
- report about ZSTD compression availability
- Raise E_WARNING on PHP related errors (PHP 8)
# 2.1.1
This version has no user visible changes.
# 2.1.0
* `unzip_process()` now does not fail randomly on Windows (#60).
* Now all functions handle Unicode paths correctly, on Windows
as well (#42, #53).
* `unzip_process()` now works when R library is on different drive
than `exdir` on Windows (#45)
* zip functions now have a `mode` argument to choose how files and
directories are assembled into the archive. See the docs for
details.
* zip functions now have a `root` argument, zip changes the working
directory to this before creating the archive, so all files are
relative to `root`.
* `zip()` and `zip_append()` are not deprecated any more, as it was
hard to achieve the same functionality with the other zip functions.
Documentation is mostly in Japanese (which I don't read) so no changelog
is available.
- Previous patches have ~all been integrated
- Configuration with autotools
- Is still maintained from time to time
-Avoid memory leak in "java-utils.c".
-Fixed comparison of integer expressions of different signedness.
-Removed "g_ptr_array_free_full" from "glib-utils.c" and used GLib's
"g_ptr_array_free" instead.
-Use bsdtar to handle RPM packages.
Changelog from AN-2020-11-04:
- Makefile system: include/schily/nlsdefs.h no longer by default defines
the macro __() because this is in conflict with definitions that are
present in the system include files from newer HP-UX versions.
Thanks to Rudi Blom for reporting.
- star: The ACL support code and the Linux xattr code had a typo related
to very long path names. As a result, ACLs and Linux xattrs did not work
if the path name to a file was longer than PATH_MAX.
Changelog from AN-2020-11-25:
- Makefile System: Added support for MacOS on arm64
Thanks to a hint from Ryan Schmidt from macports
Note that due to outstanding replies to recent changes in configure,
it could up to now not be verified that all configure tests now work in
a way that results in correct overall results. See below for an in
depth report on the changes.
- Makefile System: autoconf (config.guess & config.sub) now supports
the new arm64 Apple systems.
Thanks to Ryan Schmidt from macports for provinding the needed uname(1)
output.
- Makefile System: Added a new shell script "autoconf/uname" that helps
to create shell scrips that allow to emulate an alien host system in
order to test the correct behavior of configure.guess and configure.sub
on the main development platform.
This helps to adapt configure.guess and configure.sub to new platforms
in the future.
- Makefile System: The new clang compiler as published with the upcomming
ARM macs has been preconfigured with
-Werror -Wimplicit-function-declaration
as the default behavior and thus is in conflict with the existing base
assumption of the autoconf system that minimalistic C-code used for
compile/link allows to check for the existence of a specific function
in libc without a need to know which system #include file is used to
define a prototype for that function.
This clang version, as a result of this default, behaves like a C++
compiler and aborts if a function is used with no previous function
prototype. This caused most of the existing autoconf test to fail with
error messages about missing prototypes.
We implemented a workaround using these methods for the identified
problems:
- Most of the exit() calls in the various main() functions have
been replaced by return() to avoid a need to
#include <stdlib.h> in special since these test may be the
case for layered tests that #include files from the higher
level parts.
- Many autoconf tests programs now #include more system include
files, e.g. stdlib.h and unistd.h to avoid missing prototype
errors. This cannot reliably be done in tests that are used as
a base for higher level tests where the high level test
#includes own system include files, since older platforms do
not support to #include the same file twice.
So this is tricky...
- A test for a Linux glibc bug caused by incorect #pragma weak
usage inside glibc that prevents one or more functions from
ecvt()/fcvt()/gcvt() from being usable outside glibc now uses
hand-written prototypes for some of the libc interface
functions in order to avoid using the system includes. If we
did not do that, we could not use ecvt()/fcvt()/gcvt() on
MacOS anymore.
Thanks to Ryan Schmidt from macports for reporting and for the given
help that was needed for remote debugging.
Please send the needed feedback on whether the current state of the
configure script results on correct autoconf results on the M1 Macs.
Recreate patch-ba as patch-configure and add comment.
2020-04-14 gdraheim@github
* The testbuilds allow to compile and test for different os via docker
* The testbuilds allow to compare new cmake to automake install results
* Found fixes to bring base, sdl, manpages and site docs to same level
* release 0.13.71
2020-04-14 gdraheim@github
* there have been tons of bugfixes over the last two years ...
* Thanks go to Patrick Steinhardt (then at Aservo) for python3 updates
* Thanks go to Josef Moellers (working at SUSE Labs) for many CVE fixes
* and of course all the other patches that came in via github issues.
* I have cleaned up sources to only uses Python3 (as needed by 2020).
* !!! The old automake/autconf/libtool system will be dumped soon!!!
* The build system was ported to 'cmake' .. (last tested cmake 3.10.2)
* release 0.13.70
LZ4 v1.9.3 is a maintenance release, offering more than 200+ commits to fix multiple corner cases and build scenarios. Update is recommended. Existing liblz4 API is not modified, so it should be a drop-in replacement.
Changes list
Here is a more detailed list of updates introduced in v1.9.3 :
perf: highly improved speed in kernel space, by @terrelln
perf: faster speed with Visual Studio, thanks to @wolfpld and @remittor
perf: improved dictionary compression speed, by @felixhandte
perf: fixed LZ4_compress_HC_destSize() ratio, detected by @hsiangkao
perf: reduced stack usage in high compression mode, by @Yanpas
api : LZ4_decompress_safe_partial() supports unknown compressed size, requested by @jfkthame
api : improved LZ4F_compressBound() with automatic flushing, by Christopher Harvie
api : can (de)compress to/from NULL without UBs
api : fix alignment test on 32-bit systems (state initialization)
api : fix LZ4_saveDictHC() in corner case scenario, detected by @IgorKorkin
cli : compress multiple files using the legacy format, by Filipe Calasans
cli : benchmark mode supports dictionary, by @rkoradi
cli : fix --fast with large argument, detected by @picoHz
build: link to user-defined memory functions with LZ4_USER_MEMORY_FUNCTIONS
build: contrib/cmake_unofficial/ moved to build/cmake/
build: visual/* moved to build/
build: updated meson script, by @neheb
build: tinycc support, by Anton Kochkov
install: Haiku support, by Jerome Duval
doc : updated LZ4 frame format, clarify EndMark
File Roller is an archive manager for the GNOME environment. This means
that you can create and modify archives; view the content of an archive;
view and modify a file contained in the archive; extract files from the
archive.
Gnome-autoar provides functions, widgets, and gschemas for GNOME applications
which want to use archives as a convient method to tranfer directories over
the internet.
New features with AN-2020-09-04:
- autoconf: congig.guess: FreeBSD on 64 bit ARM returns arm64 from
uname -m; this was previously not supported and rejected by config.sub.
We now convert "arm64" into "aarch64" in config.guess to get the usual
expected results.
- Makefile system: RULES/rules.env The environment variables FIGNORE,
LD_LIBRARY_PATH LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 are now
unexported from the enviroment.
In special FIGNORE is dangerous, as it is frequently used by bash
users but tells ksh93 to modify it's behavior with "echo *" and
this may cause strange things with our makefiles in case that
/bin/sh is ksh92. This applies e.g. to Oracle Solaris 11 and
OpenSolaris.
New features with AN-2020-10-09:
- autoconf: Added support for newer HP-UX versions on Itanium.
Thanks to Rudi Blom for reporting and making a change proposal.
v3.3.0
``Path`` objects now expose a ``.filename`` attribute
and rely on that to resolve ``.name`` and ``.parent`` when
the ``Path`` object is at the root of the zipfile.
GNU make 4.3 no longer uses \ to escape # found inside function
invocations, so the \ gets passed through to the printf commands,
causing library detection to fail.
lib/Makefile is patched on pkgsrc by copying detection logic from
programs/Makefile, which has since been updated[0] to support make
4.3 using the compatibility trick suggested in the GNU make changelog.
In particular, since we modify programs/Makefile to link the zstd
binary with the libzstd shared library, failure to detect pthread
in lib/Makefile results in a zstd built with ZSTD_MULTITHREAD to
be linked against a libzstd built without it. This causes "Unsupported
parameter" errors when it is used (except with --single-thread).
So, apply the fix for programs/Makefile to lib/Makefile as well.
[0] 06a57cf57e
v3.2.0
Mutate the passed ZipFile object
type instead of making a copy. Prevents issues when
both the local copy and the caller's copy attempt to
close the same file handle.
``Path._next`` now honors subclasses.
``Path.is_file()`` now returns False for non-existent names.
1.68 Thr 12 Mar 2020
- Switched to GitHub as issue tracker
- Replaced references to Test::MockModule in
t/23_closed_handle.t with code from PR #32, RT #110087
- Unixified line endings in t/23_closed_handle.t
- Added documentation for Archive::Zip::Member::isSymbolicLink,
RT #130524
- Implemented other, unrelated doc fixes
- Fixed examples/zipcheck.pl to skip symbolic links, RT #130525
- Described version 1.59, RT #117371 (tagged important!)
- Completely re-did test suite:
. Created new test APIs in t/common.pm and documented them in
t/README.md
. Changed tests to be less dependent on OS-specific quirks of "unzip -t"
. Changed tests to write more diagnostic information if executed in
automated test environments
. Normalized access to test data and to temporary results. Removed
references to obsolete temporary results (for example, those to
directory "extracted").
. Normalized test headers and brushed up tests in general
1.67 Sun 06 Oct 2019
- Fixed compatibility issues with zip64 format (defined-or, pack)
- Fixed hard-coded version fields introduced in version 1.66
- Fixed merge glitch with tests 26 and 27
- Fixed merge glitch with bzip passthrough
- Updated bzip test file to avoid zip bomb detection
1.66 Mon 16 Sep 2019
- Refactored low-level methods for reading and writing zip files
in zip64 format. Added new parameters and return values to
most of these. Extended constants in Archive::Zip to cover
zip64 formats and lengths.
- Added public APIs
Archive::Zip::Archive::zip64
Archive::Zip::Archive::desiredZip64Mode
Archive::Zip::Archive::versionMadeBy
Archive::Zip::Archive::versionNeededToExtract
Archive::Zip::Member::zip64
Archive::Zip::Member::desiredZip64Mode
and constants
Archive::Zip::ZIP64_AS_NEEDED
Archive::Zip::ZIP64_EOCD
Archive::Zip::ZIP64_HEADERS
plus POD on these.
- Added tests for zip64 format in t/21_zip64.t and more test zip
files below t/data. Extended tests in t/02_main.t to perform
all existing tests in all possible desired zip64 modes.
- Extended methods
Archive::Zip::Member::localExtraField
Archive::Zip::Member::cdExtraField
to perform format checks when called as setters and to reject
any zip64 extended information extra fields passed by the user.
Extended POD and tests in t/02_main.t accordingly.
- Setting {'compressedSize'} after writing central directory
header.
- Added new optional parameter $noFormatError to method
Archive::Zip::_readSignature to silence any format errros when
testing for signatures.
- Added error handling for potentially failed object conversion
after calling method Archive::Zip::Member::_become. Factored
in method Archive::Zip::Member::_becomeDirectoryIfNecessary
into caller.
- Changed methods
Archive::Zip::Archive::contents
Archive::Zip::Member::contents
(and all inheriting from these) to consistently return a pair
($contents, $status) when called in list context and a scalar
$contents when called in scalar context. Extended tests in
t/02_main.t accordingly.
- Changed method Archive::Zip::Member::extractToFileHandle to
accept a file name instead of a file handle when extracting
symbolic links. Changed lower-level and higher-level methods
to use that feature. Cleaned up code related to the handling
of symbolic links. Added creation of intermediate directories
in method Archive::Zip::Member::extractToFileNamed for symbolic
links as well. Reporting errors from symlink call as AZ-error.
Added POD and test zip file t/data/symlink.zip and tests in
t/26_symlinks.t for these changes.
- Cleaned up code and added comment related to that highly
dubious (?) {'wasWritten'} logic.
1.65 Sat 7 Sep 2019
- Fix for members using bzip compression [github/pmqs]
- NetBSD doesn't mind empty zips [github/pmqs]
- Solaris test failure, Add diag to failing test to collect data [github/pmqs]
- Test for presence of Test::MockModule [github/pmqs]
- Fix skip line for Windows [github/pmqs]
- Skip tests that assume /tmp on Windows [github/pmqs]
Version 1.0.9 contains a fix to "integer overflow" problem. This
happens when "one-shot" decoding API is used (or input chunk for
streaming API is not limited), input size (chunk size) is larger
than 2GiB, and input contains uncompressed blocks. After the overflow
happens, `memcpy` is invoked with a gigantic `num` value, that will
likely cause the crash.
innoextract 1.9 (2020-08-09)
- Added preliminary support for Inno Setup 6.1.0
- Added support for a modified Inno Setup 5.4.2 variant
- Fixed output directory being created for unsupported installers
- Fixed some safe non-ASCII characters being stripped from filenames
- Fixed handling of path separators in Japanese and Korean installers
- Fixed build with newer Boost versions
- Windows: Fixed heap corruption
- Windows: Fixed garbled output
New features with AN-2020-07-18:
- star: star could dump core if it was used as "star -t ..." or.
"star -x ..." while being in a UTF-8 based locale and trying to deal
with extremely long pathnames (more than PATH_MAX) in the archive.
This bug was caused by the dummy conversion routines _to_utf8() or
_from_utf8() that did not stop after "tolen" bytes (the current size
of the dynamically growing path structure) have been copied.
This bug has been introduced in 2018 when the dynamic path name
variables have been introduced together with support for extremely
long path names.
- star: lpath_unix.c and lhash.c renamed a local variable buflen to bflen
to avoid a gcc shadowing warning with the rest of star.
- star: star.c fixed some fallthrough warnings from lint.
- star: The FIFO code (which is 30 years old) did use an int for the size
which historically was OK, but this did limit the size of the FIFO to
2 GB. Now with modern tape drives that are really fast, a FIFO with
2 GB would only give a tape streaming reserve for approx. 8 seconds,
which is not sufficient. Approx. 30 seconds reserve are recommended.
With modern tape drives, this would need approx. 8 GB of FIFO. Be.
however careful not to use more than half of the real RAM available
in the whole system for the star FIFO.
Note that this change induced the need for a lot of derived changes
in approx. 1000 lines of code spread over the whole star project and
for this reason, it is advised to carefully test the new version and
to report if problems occur.
New features with AN-2020-08-12:
- autoconf: added a new test for the existence of <sys/auxv.h>
- autoconf: added new tests for Linux getauxval() and FreeBSD elf_aux_info()
- libschily: getexecpath.c now uses getauxval() on Linux and elf_aux_info()
on FreeBSD. This was needed since readlink("/proc/curproc/file") on
FreeBSD returns random values for hardlinked files, making it impossible
to use the result in order to find out which behavior variant of a
fat binary is requested.
- star: GNU cpio archives may contain longer path names than permitted by
the AT&T documentation. This did cause problems with our automated
recognition of swapped CPIO headers. We now use a more robust method.
- star: GNU cpio archives may contain longer path names than permitted by
the AT&T documentation. This could cause star to dump core because the
cpio module did not yet call the routine to grow our new dynamic path
store.
- star: older GNU compilers seem to decide that a division:
long long / long results in a long.
We now cast the divisor to long long to definitely get the right
result for a printf argument.
- star: changed a name in a parameter list for lreadlink() to avoid
a GCC shadow warning.
- star: The variable use_fifo is also needed if the FIFO is not
available (e.g. on DOS). The previous code did not compile on platforms
that did not support to implement the FIFO. We moved
extern BOOL use_fifo out of a #ifdef FIFO
Thanks to a hint from Albert Wik.
- star: The file README.otherbugs has been changed to match the
state of today and a geocrawler based URL now includes an
archive.org prefix as geocrawler no longer exists.
As of 1.24, MATE requires GNU-specific msgfmt features. meta-pkgs/mate/
Makefile.common r. 1.10 expressed this tool dependency using
USE_BUILTIN.gettext=no, but this exposed pkgsrc gettext-libs in the
build environment as well, which some MATE packages then linked
against, but gettext-libs didn't end up being declared as a run-time
dependency, so binary package installations were broken (with the
workaround of manually installing the undeclared gettext-libs
dependency). Express this dependency differently, so GNU msgfmt is
used as a tool without exposing pkgsrc gettext-libs.
(The pkgsrc tooling infrastruture could be altered to provide a
distinct "gmsgfmt" tool, same with "gxgettext", and perhaps others.
Here I'm just immediately concerned with fixing this packaging issue.)
Addresses PR pkg/55503 by Jay Patel.
Update ruby-ffi-libarchive to 1.0.3.
1.0.3 (2020-06-26)
* Optionally clone entries when iterating through an archive #30 (jatoben)
* Replace specific types with more generic equivalents. #32 (phiggins)
* Modern expeditor / buildkite setup #33 (tas50)
rarfile v3.3
Fixes:
Add the .sfx test files to MANIFEST.in for inclusion in pypi tarball.
Add all files in git to tarball.
rarfile v3.2
New features:
Support unar as decompression backend. It has much better support for RAR features than bsdtar.
Support SFX archives - archive header is searched in first 2MB of the file.
Add HACK_TMP_DIR option, to force temp files into specific directory.
Fixes:
Always use "/" for path separator in command-line, gives better results on Windows.
Cleanups:
Drop module-level options from docs, they create confusion.
Drop support for Python 2 and 3.5 and earlier. Python 2 is dead and requiring Python 3.6 gives blake2s, stdlib that supports pathlib, and ordered dict without compat hacks.
Replace PyCrypto with PyCryptodome in tests.
Use Github Actions for CI.
V0.6.0
--------
* Added an option to (not) stretch the first column.
* Added app icon.
* A workaround for a Qt bug that might give a too small height to rows if the horizontal scrollbar isn't at its minimum value when items are removed.
* Better names for extraction folders of archives without parent directories.
* Scroll to the current item when expanding or filtering.
* Fixed startup invisibility with some window managers.
* Updated the code for Qt 5.15.
Changelog from AN-2020-07-01:
- star: Backslashes are now honored when looking for the substitution
separators in options like -s /from/to/ or -pax-s /from/to/
Previously, -s '/xxx\/yy//' was interpreted in a way that made
the **to string** "yy" and the **from string** "xxx\" instead of
making the from string "xxx\/yy" and the to string empty.
Add github master site as fallback.
1.7.2 [2020-07-11]
==================
* Fixes for the CMake find_project() files.
* libzip moved to the CMake libzip:: NAMESPACE.
* CMake usage best practice cleanups.
Stop linking lib/libzip/include, does not exist since 1.3.1; and depend
on that version (from 2017).
Link bin/zipcmp for the cmake infrastructure (the cmake support
files are looking for zipcmp in the same place as the headers/library).
The latter fixes a build problem in mgba reported by nia.
0.14.0:
Backwards Compatibility Notes
-----------------------------
* This will likely be the final version supporting Python 2.7. Future
releases will likely only work on Python 3.5+.
* There is a significant possibility that future versions will use
Rust - instead of C - for compiled code.
Bug Fixes
---------
* Some internal fields of C structs are now explicitly initialized.
* The ``make_cffi.py`` script used to build the CFFI bindings now
calls ``distutils.sysconfig.customize_compiler()`` so compiler
customizations (such as honoring the ``CC`` environment variable)
are performed.
* The ``make_cffi.py`` script now sets ``LC_ALL=C`` when invoking
the preprocessor in an attempt to normalize output to ASCII.
Changes
-------
* Bundled zstandard library upgraded from 1.4.4 to 1.4.5.
* ``setup.py`` is now executable.
* Python code reformatted with black using 80 character line lengths.
Zstd v1.4.5 Release Notes
This is a fairly important release which includes performance improvements and new major CLI features. It also fixes a few corner cases, making it a recommended upgrade.
perf: Improved decompression speed (x64 >+5%, ARM >+15%), by @terrelln
perf: Automatically downsizes ZSTD_DCtx when too large for too long
perf: Improved fast compression speed on aarch64
perf: Small level 1 compression speed gains (depending on compiler)
fix: Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
api: ZDICT_finalizeDictionary() is promoted to stable
api: new experimental parameter ZSTD_d_stableOutBuffer
build: Generate a single-file libzstd library
build: Relative includes, no longer require -I flags for zstd lib subdirs
build: zstd now compiles cleanly under -pedantic
build: zstd now compiles with make-4.3
build: Support mingw cross-compilation from Linux, by @Ericson2314
build: Meson multi-thread build fix on windows
build: Some misc icc fixes backed by new ci test on travis
cli: New --patch-from command, create and apply patches from files, by @bimbashreshta
cli: --filelist= : Provide a list of files to operate upon from a file
cli: -b can now benchmark multiple files in decompression mode
cli: New --no-content-size command
cli: New --show-default-cparams command
misc: new diagnosis tool, checked_flipped_bits, in contrib/, by @felixhandte
misc: Extend largeNbDicts benchmark to compression
misc: experimental edit-distance match finder in contrib/
doc: Improved beginner CONTRIBUTING.md docs
doc: New issue templates for zstd
1.7.1 [2020-06-13]
==================
* Restore `LIBZIP_VERSION_{MAJOR,MINOR,MICRO}` symbols.
* Fixes warnings reported by PVS-Studio.
* Add `LIBZIP_DO_INSTALL` build setting to make it easier to use
libzip as subproject.
- Remove pkgsrc patches (merged upstream)
- Move OS specific helper code to devel/smake/Makefile.common
Changes from AN-2020-05-25:
- libmdgest: Added a "defined(_M_ARM)" check for MSVC byte order
definitions (byte_order.h).
Thanks to "Excalibur" for reporting.
- star: SmartOS supports aclutils.h as published include file (what we
intented to include in Schillix-ON as well, since it is needed for
libsec) and aclutils.h includes ctype.h. We thus need to
#include <ctype.h> before star.h in acl_unix.c
The problem occurred because we did already have a aclutils.h related
autoconf test, even though Schillix-ON does not yet ship aclutils.h
Thanks to Michael Bäuerle from pkgsrc for reporting.
- star: The subst command (since 2018) malloc()s the space for a copy
of the old string in case that the string Is too long for the static
storage. It did however still use the static buffer instead of a
pointer to the allocated space. We now use the allocated space if
needed.
- star: The subst command for pax now supports the \1, \2, ... escapes
for \(...\) selections in the from pattern, like it is used by sed(1).
Thanks to Kristyna Streitova for reminding on this.
- star: A new unit test for this new feature has been added, using the
example from the SUSE bug-report for the above substitute command.
- star: A new subst option -pax-s has been added that supports sed(1)
like substitutions. The old option -s continues to support change(1)
like substititions.
NOTE: Both pax -s and star -pax-s silently fall back to change(1)-like
substitutions in case that a target platform does not support "regex"
in libc.
A simple & lightweight Qt file archiver.
The core I/O functions are ported from Engrampa (a Gnome File Roller fork).
This is only a front-end (a graphical interface) to archiving programs
like tar and zip.
This is part of LXQt-0.15.0 desktop
QuaZIP is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package
(AKA Minizip) using Trolltech's Qt library.
If you need to write files to a ZIP archive or read files from one
using QIODevice API, QuaZIP is exactly the kind of tool you need.
Libarchive 3.4.3 is a feature and bugfix release.
New features:
support for pzstd compressed files (#1357)
support for RHT.security.selinux tar extended attribute (#1348)
Important bugfixes:
various zstd fixes and improvements (#1342#1352#1359)
child process handling fixes (#1372)
Libarchive 3.4.2 is a feature and security release.
New features:
support for atomic file extraction (bsdtar -x --safe-writes) (#1289)
support for mbed TLS (PolarSSL) (#1301)
Important bugfixes:
security fixes in RAR5 reader (#1280#1326)
compression buffer fix in XAR writer (#1317)
fix uname and gname longer than 32 characters in PAX writer (#1319)
fix segfault when archiving hard links in ISO9660 and XAR writers (#1325)
fix support for extracting 7z archive entries with Delta filter (#987)
Libarchive 3.4.1 is a feature and security release.
New features:
Unicode filename support for reading lha/lzh archives
New pax write option "xattrhdr"
Important bugfixes:
security fixes in wide string processing (#1276#1298)
security fixes in RAR5 reader (#1212#1217#1296)
security fixes and optimizations to write filter logic (#351)
security fix related to use of readlink(2) (1dae5a5)
sparse file handling fixes (#1218#1260)
Thanks to all contributors and bug reporters.
Special thanks to Christos Zoulas (@zoulasc) from NetBSD for the atomic file extraction feature.
v3.0.2:
This release removes py3c from the codebase and strips out unused Python 2 support code. No functional changes are included with this release.
v3.0.1:
This release fixes an issue that prevented the OSX wheels from being published to PyPi, and contains no functional changes.
v3.0.0:
This release:
* Drops support for Python 2 (although some dead code remains for future removal)
* Adds streams support thanks to the hard work of @tSed
* Fixes a performance bug with the frame bindings - thanks to @bjonen for the careful report and reproducer
* Adds Python 3.8 support
- Check which systems need and support processing tables with tbl
The default case matches for NetBSD (no processing)
- Man pages are installed into native OS sections
PLIST must match this logic (use variables)
These PLIST files have been autogenerated by mk/haskell.mk using
HS_UPDATE_PLIST=yes during a bulk build. They will help to track changes
to the packages. The Haskell packages didn't have PLIST files because
their paths contained package hashes. These hashes are now determined by
mk/haskell.mk, which makes it easy to generate easy to read PLIST files.
Added SPECIAL_PERMS for config file (no more "wrong permissions"
warning if installed as nonprivileged user.
Changes from AN-2020-03-11:
- configure: The autoconfiguration now has an enhanced test for waitid()
that was needed since Mac OS is still not POSIX compliant and returns 0
instead of the signal number for a process that has been killed by a
signal. MacOS did pass the POSIX certification as a result of a missing
test for that problem.
Since every vertified OS needs to run an annual refresh the
certification with recent versions of the test, I guess that
Mac OS (Catalina updates) may become more compliant witin a year.
- psmake: The portable bootstrap compile environment for smake missed
a symlink for unsetenv.c to libschily since the related code has been
moved to libschily in 2018. This prevented compilation on IRIX.
Thanks to Kazuo Kuroi for reporting
- librmt: the code has been modified to allow librmt to be finally
compiled without a need to link against libschily. This makes it
easier to link ufsdump/ufsrestore from OpenSolaris against librmt.
A call to errmsg() was replaced by a call to errmsgno() that has
a private implementation in librmt already.
- librmt: the man pages have been modified to make sure that man2html
is able to correctly create links to referenced other man pages.
- libstreamar: streamarchive.4 now mentions that the POSIX.1-2001
tar extensions are based on a Sun Microsystems proposal from 1997.
- star: the man page now mentions that it is preferred to use the
source from the schilytools instead of a star specific release.
Changes from AN-2020-03-27:
Changes from AN-2020-04-18:
- librmt: A few small enhancements have been added to the man pages.
This was a result of a code review for SchilliX-ON by
Eric Ackermann
- star: The unit tests port/lpath.sh did not work on IRIX because
the "rm" command on IRIX is buggy and does not remove long path
names (path names longer than PATH_MAX). We now use a recursive
shell function to remove the long path.
- star: The new shell function in port/lpath.sh did crash Linux in
case that /bin/sh is "dash". "dash" is not POSIX compliant and
fails to support arbitrary long working directory names. Whe therefore
try to run the long path removal with "bosh", or at least "bash".
Only if none of both is present, we fall back to the system default
shell "/bin/sh".
Changes from AN-2020-05-11:
- Makefile system: A new version of the BSD make (bmake) program fixed
a bug in pattern macro substitution, so we are now able to detect
BSD make and to read BSD make program specific rules.
This could in theory allow us to support BSD make in the future,
but...
Note that we on the other side discovered a new bug with pattern
macro substitution in bsd make: The substitution:
$(FOO:%=bar/%)
is replaced by "bar/" with an empty "FOO", but of course, with an
empty FOO, the substitution should be empty as well.
This second bug (above) was fixed on May 6th, but we do not yet have
all needed make rules and we do not know whether other bugs may still
prevent the usability of BSD make. Supporting BSD make will be hard
as BSD make does not support pattern matching default rules and this
is important for placing the .o files into a sub-directory.
Also note that the portable program source for "bmake" from "pkgsrc"
is 2 years old and thus currently cannot be supported at all. If
you like to experiment on your own, you need to get this version:
http://crufty.net/help/sjg/bmake.html
see
http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz
and replace the newer files from the netbsd.org CVS tree by hand in
order to fix the first and second mentioned pattern macro substitution
bug.
- Makefile system: RULES/MKLINKS was enhanced to create a new symlink
RULES/r-bsdmake.tag that points to RULES/r-make.tag
- Makefile system: The archive makefiles.tar.bz2 has been added to the
schilytools tree to allow easy reuse of the makefile system for own
projects.
5.2.5:
* liblzma:
- Fixed several C99/C11 conformance bugs. Now the code is clean
under gcc/clang -fsanitize=undefined. Some of these changes
might have a negative effect on performance with old GCC
versions or compilers other than GCC and Clang. The configure
option --enable-unsafe-type-punning can be used to (mostly)
restore the old behavior but it shouldn't normally be used.
- Improved API documentation of lzma_properties_decode().
- Added a very minor encoder speed optimization.
* xz:
- Fixed a crash in "xz -dcfv not_an_xz_file". All four options
were required to trigger it. The crash occurred in the
progress indicator code when xz was in passthru mode where
xz works like "cat".
- Fixed an integer overflow with 32-bit off_t. It could happen
when decompressing a file that has a long run of zero bytes
which xz would try to write as a sparse file. Since the build
system enables large file support by default, off_t is
normally 64-bit even on 32-bit systems.
- Fixes for --flush-timeout:
* Fix semi-busy-waiting.
* Avoid unneeded flushes when no new input has arrived
since the previous flush was completed.
- Added a special case for 32-bit xz: If --memlimit-compress is
used to specify a limit that exceeds 4020 MiB, the limit will
be set to 4020 MiB. The values "0" and "max" aren't affected
by this and neither is decompression. This hack can be
helpful when a 32-bit xz has access to 4 GiB address space
but the specified memlimit exceeds 4 GiB. This can happen
e.g. with some scripts.
- Capsicum sandbox is now enabled by default where available
(FreeBSD >= 10). The sandbox debug messages (xz -vv) were
removed since they seemed to be more annoying than useful.
- DOS build now requires DJGPP 2.05 instead of 2.04beta.
A workaround for a locale problem with DJGPP 2.05 was added.
* xzgrep and other scripts:
- Added a configure option --enable-path-for-scripts=PREFIX.
It is disabled by default except on Solaris where the default
is /usr/xpg4/bin. See INSTALL for details.
- Added a workaround for a POSIX shell detection problem on
Solaris.
* Build systems:
- Added preliminary build instructions for z/OS. See INSTALL
section 1.2.9.
- Experimental CMake support was added. It should work to build
static liblzma on a few operating systems. It may or may not
work to build shared liblzma. On some platforms it can build
xz and xzdec too but those are only for testing. See the
comment in the beginning of CMakeLists.txt for details.
- Visual Studio project files were updated.
WindowsTargetPlatformVersion was removed from VS2017 files
and set to "10.0" in the added VS2019 files. In the future
the VS project files will be removed when CMake support is
good enough.
- New #defines in config.h: HAVE___BUILTIN_ASSUME_ALIGNED,
HAVE___BUILTIN_BSWAPXX, and TUKLIB_USE_UNSAFE_TYPE_PUNNING.
- autogen.sh has a new optional dependency on po4a and a new
option --no-po4a to skip that step. This matters only if one
wants to remake the build files. po4a is used to update the
translated man pages but as long as the man pages haven't
been modified, there's nothing to update and one can use
--no-po4a to avoid the dependency on po4a.
* Translations:
- XZ Utils translations are now handled by the Translation
Project: https://translationproject.org/domain/xz.html
- All man pages are now included in German too.
- New xz translations: Brazilian Portuguese, Finnish,
Hungarian, Chinese (simplified), Chinese (traditional),
and Danish (partial translation)
- Updated xz translations: French, German, Italian, and Polish
- Unfortunately a few new xz translations weren't included due
to technical problems like too long lines in --help output or
misaligned column headings in tables. In the future, many of
these strings will be split and e.g. the table column
alignment will be handled in software. This should make the
strings easier to translate.
Changes from 0.4.0
- Added read-only support for Android and MS Windows packages.
- Reset the GUI if the archive's password isn't entered (correctly).
- Speed up listing by using static regexes.
- Handle relative file paths correctly.
This release contains plenty of new features, bug-fixes, and general
improvements. Some of the most important highlights include:
* We did it again, the MATE desktop environment is easier to use than before,
once the user starts the session. Do you want to hide applications startup?
Now you can set which applications to show on startup.
* Engrampa now has support for a handful of extra formats, as well as fixed
support for passwords and unicode characters in some of them.
* Eye of MATE now has support for Wayland and we’ve added support for
embedded color profiles.
* The thumbnail generation has been reworked and fixed in several places.
* Added support for webp files.
* Our window manager, marco, has gotten quite a few changes:
* We’ve brought a bunch of window decorations from the past to feed
your nostalgia.
* Finally added invisible resize borders. No more struggling to find a
border to grab with your mouse!
* All window controls (you know, the min, max, close buttons) are now
rendered in HiDPI.
* The Alt+Tab and Workspace Switcher popups have been entirely reworked.
Now they render in beautiful OSD style, are more configurable, and can
respond to keyboard arrows.
* Tiling windows with the keyboard now allows you to cycle through
different window sizes. You no longer need to feel constrained by only
half of your screen.
* The System Monitor panel applet now has support for NVMe drives.
* Calculator now supports using either “pi” or “π”.
* Scientific notation has been improved.
* Some fixes for supporting pre-defined physical constants.
* The Control Center now displays its icons correctly on HiDPI displays.
* A brand new Time And Date Manager app has been added.
* The Mouse app now supports acceleration profiles.
* The Preferred Applications app has been improved for accessibility, as well
as better support for integration with IM clients.
* The Indicator Applet has slightly better interaction with
oddly-sized icons.
* Speaking of icons, the network manager applet icons in our own themes have
been entirely redesigned and can now be enjoyed on HiDPI displays.
* If you’re the type of person that does not like to be disturbed when busy,
or giving a presentation, or watching a movie, you’ll be happy to know that
the notification daemon now supports a Do-Not-Disturb mode.
* The MATE Panel had several bugs that caused crashes in the past when
changing layouts. Those are now fixed!
* Support for Wayland compatibility has improved considerably.
* Status icons (a.k.a. notification area, or system tray) have support
for HiDPI displays.
* Wanda the Fish got a make-over and now you can enjoy her in full
HiDPI glory.
* The window list applet now supports window thumbnails on hover.
* Various accessibility improvements throughout the panel and its
core applets.
* If your system doesn’t, uh, support systemd you might be interested in
knowing that we’ve added support for elogind to both the MATE Screensaver
and the MATE Session.
* We’ve also added a brand new MATE Disk Image Mounter utility.
* Mozo, the menu editor, now supports Undo and Redo actions.
* Pluma plugins have now fully switched to Python 3.
* Pluma no longer has to envy anything from other complex editors, since it
can now show the formatting marks.
* i18n: All applications have been migrated from intltools to gettext.