Release notes for SZIP 2.1.1
January 13, 2017
Bug fixes:
-- None.
New features:
-- Add CMake support.
Know problems:
-- On IRIX64-6.5, shared library version 3.0 is created instead of 2.0.
-- There is no support for shared library on the AIX 5.* systems.
User support:
Report all problems to help@hdfgroup.org.
For more information on SZIP, see:
http://www.hdfgroup.org/doc_resource/SZIP/
Changes in version 1.8:
A buffer overflow has been fixed in zcat which happened sometimes when
the '-v, --show-nonprinting' option was used (or indirectly enabled).
A canary byte has been added to the output buffer to prevent the buffer
overflow from happening again.
The option '-R, --dereference-recursive', which recursively follows
symbolic links, has been added to zcat, zgrep, ztest and zupdate.
The option '-r, --recursive' now skips symlinks that are encountered
recursively.
If no files are given to zcat, zgrep, ztest and zupdate, a recursive
search will now examine the current working directory.
Recursive directory loops are now detected.
zcat and zgrep now ignore directories given in the command line if
'--recursive' is not specified, instead of reporting an error.
Extra trailing slashes are now removed from directories given in the
command line before recursing into them.
zcat and zgrep now show the right error when they can't open an input
file instead of showing "No such file or directory".
Killed decompressors are now waited for, preventing failure caused by
too many open pipes.
Test and document that if a file fails to decompress, zcat, zgrep and
ztest continue processing the rest of the files.
Test and document that if an error happens while recompressing a file,
zupdate exits immediately without recompressing the rest of the files.
The configure script now accepts appending options to CXXFLAGS using the
syntax 'CXXFLAGS+=OPTIONS'.
This software has a lot of hard-coded references to external binaries,
with sometimes incorrect assumptions. Deal with these through the SUBST
framework for now. (Any mistakes here are solely mine.)
Arqiver is a simple Qt5 archive manager as a front-end for libarchive
(bsdtar), gzip and 7z.
Packaged in pkgsrc-wip by pin, as part of a broader effort toward
providing all of LXQt and associated utility applications. General
reviews, feedback, and testing of such by gdt@, ng0@, and myself.
Changes (from https://github.com/Parchive/par2cmdline/releases/tag/v0.8.1):
BlackEagle (3):
Add .DELETE_ON_ERROR to avoid corrupt files in workdir
split release scripts a bit because win stuff is not build on the same machine as *nix stuff anymore
bump 0.8.1
Ike Devolder (3):
Merge pull request #131 from mdnahas/master
Merge pull request #132 from mdnahas/library_dev
Merge pull request #134 from mdnahas/long_read_write
Michael Nahas (70):
BUG FIX: ^= operator was returning wrong value for powers of 1
.gitignore now ignores emacs backup files
FIX: typos, comments, indentation
Added unit tests for 5 classes
Changed all output to use parameters, rather than global variables.
Set chunksize to zero, in unspecified case
all commandline errors are first in par2creator::Process
moved reference to commandline to top of parXrepairer
removed largest file and total file size from commandline class
Removed ExtraFile::FileSize method --- this slows things slightly.
Convered ExtraFile to just a string.
grouped commandline options by operation
Added my name to list of authors
added the most common usage as an example
move num-of-threads setting code out of commandline
added links to websites explaining CRC operations
Moved NoiseLevel out of CommandLine
remove duplicate code in par2cmdline.cpp
Moved par1repairer into a function call
Moved par2repairer into a function call
Moved par2creator into a function call
Moved filethreads out of commandline.h/cpp
removed ExtraFile from commandline.h/cpp
removed ExtraFileIterator from commandline.h/cpp
Split up CommandLine::Parse soo I can move stuff in
Reordered checks in commandline.cpp to match order of variable declarations
Moved computation of blocksize into commandline.cpp
BUG FIX: when changed nthreads, forgot to add OPENMP #ifdef around it
Moved redundnacy calculation out of par2creator into commandline
FEATURE: On Linux, adjusts buffer sizes to half the memory of the system
commandline now treats argv aas const char * const *, for easier testing.
unit tests for CommandLine.Parse(), plus bug fixes to it.
Changed code to support a par2lib static library
DANGEROUS: Moved ifdefs from par2cmdline.h into par2lib.h
FEATURE: Created libpar2, a static library for par2.
Added unit tests for diskfile
BUG FIX: DiskFile::Delete() now sets 'exists' to false
BUG FIX: getting physical memory now works for OSX
DANGEROUS: Changed WIN32 to _WIN32 or _MSC_VER
merged code for ComputeRecoveryFileCount into libpar2
Added output to tests, to see they had done something.
BUG FIX - SQUASH - did not ifdef OPEN_MP around thread code
TEST FIX: newline were expanding into two chars on Windows
Added test for DiskFile::Create when file already exists
BUG FIX: DiskFile::Create now returns error when file already exists
BUG FIX: Should now implement Par2 standard for filenames
Test scripts now use .exe and wine, if exe exists
TEST FIX: Some tests did not return 1 on error.
DANGEROUS, BUG FIX: Fixed most things found by cppcheck
BUG FIX: fixed memory leak by FindFiles using std::unique_ptr
FEATURE: Modified test scripts to support valgrind
Changes made so that it compiles on OSX High Sierra
Uncommented line for AM_PROG_AR in configure.ac; needed for Windows
g++ is now forced to use C++ version 2011
Added ar-lib to .gitignore
Unit tests are now run in WINE and with Valgrind
BUILD FIX: Added tests/unit_tests to Makefile.am dist
Added sorting to CriticalPackets, for consistent output
Updated copyright information with my name
Added notes on Cppcheck, Valgrind, MinGW, and WINE to ROADMAP
Added information on WINEPATH variable to ROADMAP file
Made all unit tests look similar and say FAILED/SUCCESS
fixed typo in test
BUG FIX: Version was compared against opNone.
New Visual C++ project file, thanks to Anime Tosho
BUG FIX: had introduced bug handling Unicode. Reverted change.
Changed types to size_t to satisfy Microsoft compiler
Support file I/O on blocksize greater than 4GB
Merge pull request #135 from rwtodd/master
Merge pull request #136 from rwtodd/master
Richard Todd (4):
Used _stati64() for WIN32 DiskFile::FileExists()
Added par2cmdline.h to par2cmdline.cpp for DEBUG_NEW
fixed 'need signed i for openmp' errors on Windows
Renamed par2cmdline.h to libpar2internal.h.
build with qt5 5.14
All frameworks
Port from QRegExp to QRegularExpression
Port from qrand to QRandomGenerator
Fix compilation with Qt 5.15 (e.g. endl is now Qt::endl,
QHash insertMulti now requires using QMultiHash...)
Attica
Don't use a verified nullptr as a data source
Support multiple children elements in comment elements
Set a proper agent string for Attica requests
Baloo
Correctly report if baloo_file is unavailable
Check cursor_open return value
Initialise QML monitor values
Move URL parsing methods from kioslave to query object
Breeze Icons
Change XHTML icon to be a purple HTML icon
Merge headphones and zigzag in the center
Add application/x-audacity-project icon
Add 32px preferences-system
Add application/vnd.apple.pkpass icon
icon for ktimetracker using the PNG in the app repo, to be replaced
with real breeze SVG
add kipi icon, needs redone as a breeze theme svg [or just kill off kipi]
Extra CMake Modules
[android] Fix apk install target
Support PyQt5 compiled with SIP 5
Framework Integration
Remove ColorSchemeFilter from KStyle
KDE Doxygen Tools
Display fully qualified class/namespace name as page header
KCalendarCore
Improve README.md to have an Introduction section
Make incidence geographic coordinate also accessible as a property
Fix RRULE generation for timezones
KCMUtils
Deprecate KCModuleContainer
KCodecs
Fix invalid cast to enum by changing the type to int rather than enum
KCompletion
Deprecate KPixmapProvider
[KHistoryComboBox] Add method to set an icon provider
KConfig
kconfig EBN transport protocol cleanup
Expose getter to KConfigWatcher's config
Fix writeFlags with KConfigCompilerSignallingItem
Add a comment pointing to the history of Cut and Delete sharing a shortcut
KConfigWidgets
Rename "Configure Shortcuts" to "Configure Keyboard Shortcuts"
KContacts
Align ECM and Qt setup with Frameworks conventions
Specify ECM dependency version as in any other framework
KCoreAddons
Add KPluginMetaData::supportsMimeType
[KAutoSaveFile] Use QUrl::path() instead of toLocalFile()
Unbreak build w/ PROCSTAT: add missing impl. of KProcessList::processInfo
[KProcessList] Optimize KProcessList::processInfo
[KAutoSaveFile] Improve the comment in tempFileName()
Fix KAutoSaveFile broken on long path
KDeclarative
[KeySequenceHelper] Grab actual window when embedded
Add optional subtitle to grid delegate
[QImageItem/QPixmapItem] Don't lose precision during calculation
KFileMetaData
Partial fix for accentuated characters in file name on Windows
Remove unrequired private declarations for taglibextractor
Partial solution to accept accentuated characters on windows
xattr: fix crash on dangling symlinks
KIconThemes
Set breeze as default theme when reading from configuration file
Deprecate the top-level IconSize() function
Fix centering scaled icons on high dpi pixmaps
KImageFormats
pic: Fix Invalid-enum-value undefined behaviour
KIO
[KFilePlacesModel] Fix supported scheme check for devices
Embed protocol data also for Windows version of trash ioslave
Adding support for mounting KIOFuse URLs for applications that don't use KIO
Add truncation support to FileJob
Deprecate KUrlPixmapProvider
Deprecate KFileWidget::toolBar
[KUrlNavigator] Add RPM support to krarc:
KFilePlaceEditDialog: fix crash when editing the Trash place
Add button to open the folder in filelight to view more details
Show more details in warning dialog shown before starting a
privileged operation
KDirOperator: Use a fixed line height for scroll speed
Additional fields such as deletion time and original path are now
shown in the file properties dialog
KFilePlacesModel: properly parent tagsLister to avoid memleak.
HTTP ioslave: call correct base class in virtual_hook(). The
base of HTTP ioslave is TCPSlaveBase, not SlaveBase
Ftp ioslave: fix 4 character time interpreted as year
Re-add KDirOperator::keyPressEvent to preserve BC
Use QStyle for determining icon sizes
Kirigami
ActionToolBar: Only show the overflow button if there are visible
items in the menu
Don't build and install app templates on android
Don't hardcode the margin of the CardsListView
Add support for custom display components to Action
Let the other components grow if there's more things on the header
Remove dynamic item creation in DefaultListItemBackground
reintroduce the collapse button
Show application window icon on AboutPage
KItemModels
Add KColumnHeadersModel
KJS
Added tests for Math.exp()
Added tests for various assignment operators
Test special cases of multiplicate operators (*, / and %)
KNewStuff
Ensure the dialog title is correct with an uninitialised engine
Don't show the info icon on the big preview delegate
Support archive installs with adoption commands
Send along the config name with requests
KPeople
Expose enum to the metaobject compiler
KQuickCharts
Also correct the shader header files
Correct license headers for shaders
KService
Deprecate KServiceTypeProfile
KTextEditor
Add "line-count" property to the ConfigInterface
Avoid unwanted horizontal scrolling
KWayland
[plasmashell] Update docs for panelTakesFocus to make it generic
[plasmashell] Add signal for panelTakesFocus changing
KXMLGUI
KActionCollection: provide a changed() signal as a replacement for removed()
Adjust keyboard shortcut configuration window's title
NetworkManagerQt
Manager: add support for AddAndActivateConnection2
cmake: Consider NM headers as system includes
Sync Utils::securityIsValid with NetworkManager
Plasma Framework
[ToolTip] Round position
Enable wheel events on Slider {}
Sync QWindow flag WindowDoesNotAcceptFocus to wayland plasmashell interface
[calendar] Check out of bounds array access in QLocale lookup
[Plasma Dialog] Use QXcbWindowFunctions for setting window types Qt
WindowFlags doesn't know
[PC3] Complete plasma progress bar animation
[PC3] Only show progress bar indicator when the ends won't overlap
[RFC] Fix Display Configuration icon margins
[ColorScope] Work with plain QObjects again
[Breeze Desktop Theme] Add monochrome user-desktop icon
Remove default width from PlasmaComponents3.Button
[PC3 ToolButton] Have the label take into account complementary color schemes
Added background colors to active and inactive icon view
QQC2StyleBridge
[ToolTip] Round position
Update size hint when font changes
Solid
Display first / in mounted storage access description
Ensure mounted nfs filesystems matches their fstab declared counterpart
Sonnet
The signal done is deprecated in favour of spellCheckDone, now correctly emitted
Syntax Highlighting
LaTeX: fix brackets in some commands
TypeScript: add "bigint" primitive type
Python: improve numbers, add octals, binaries and "breakpoint" keyword
SELinux: add "glblub" keyword and update permissions list
Several enhancements to gitolite syntax definition
v1.1.0
======
#32: For read-only zip files, complexity of ``.exists`` and
``joinpath`` is now constant time instead of ``O(n)``, preventing
quadratic time in common use-cases and rendering large
zip files unusable for Path. Big thanks to Benjy Weinberger
for the bug report and contributed fix (#33).
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
1.6.0 [2020-01-24]
==================
* Avoid using umask() since it's not thread-safe.
* Set close-on-exec flag when opening files.
* Do not accept empty files as valid zip archives any longer.
* Add support for XZ compressed files (using liblzma).
* Add support for cancelling while closing zip archives.
* Add support for setting the time in the on-disk format.
This library is for working with ".tar" archive files. It can read and
write a range of common variations of archive format including V7,
POSIX USTAR and GNU formats.
It provides support for packing and unpacking portable archives. This
makes it suitable for distribution but not backup because details like
file ownership and exact permissions are not preserved.
It also provides features for random access to archive content using
an index.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Update ruby-mixlib-archive to 1.0.5.
1.0.5 (2019-12-30)
* Remove Travis and update Github templates #40 (tas50)
* Chefstyle fixes + test on Windows in Buildkite #43 (tas50)
* Test on Ruby 2.7rc and other testing updates #47 (tas50)
* Substitute require for require_relative #48 (tas50)
Changes from 1.0.2 to 1.0.4 are unknown.
Update ruby-ffi-libarchive to 1.0.0.
* Update HOMEPAGE and LICENSE.
* Proper COMMENT.
* No need to use gmake.
* add "USE_LANGUAGES= # none".
1.0.0 (2019-12-28)
* Chefstyle fixes to get the build green again #25 (tas50)
* Add support for custom read functions #27 (jatoben)
* Add Ruby 2.7rc testing and cache gem installs in Buildkite #28 (tas50)
The zip-archive library provides functions for creating, modifying,
and extracting files from zip archives. The zip archive format is
documented in http://www.pkware.com/documents/casestudies/APPNOTE.TXT.
Certain simplifying assumptions are made about the zip archives: in
particular, there is no support for strong encryption, zip files that
span multiple disks, ZIP64, OS-specific file attributes, or
compression methods other than Deflate. However, the library should be
able to read the most common zip archives, and the archives it
produces should be readable by all standard unzip programs.
Change log:
* Translations update
* fr-command-rpm: Use rpm2cpio binary shipped with rpm package
* add source rpm to supported mime-types
* use cpio if no binary is found
* add a configure environment variable to select the cpio path
* help: pull updated Russian translation to remove broken one
* Fix localized pause UI logic
Based on Schily Tools Release 2019-12-05.
AN-2019-11-11:
- libschily: the new functions wcastoi wcastol wcastolb that have been
added with the previous release have been forgotten in the linker map
file.
- star: When using star -copy, the default is now -no-secure-links.
This is what users like since they are copying their own data that
per definition cannot be untrusted external data.
- star: star -diff is now "more smooth" to use, when the archive type
is GNU TAR and the "atime" or "ctime" properties are not present
for a specific file. Before, Jan 1 1970 was the assumed time in
the archive.
- star: star -diff now prints a diff statistics summary.
- star: New version date
AN-2019-12-05:
- include/schily/stdio.h: We no longer define getc_unlocked() on Solaris
in case that it is defined already. This was needed since Oracle
Solaris 11.4 compiles 64 bit by default and made stdio less opaque
than before - this result in the same bahavior as for 32 bit programs.
This means, we no longer need to use tricks to get fast access to
stdio.
Thanks to Rolf Dietze for reporting.
- libschily: the function getargs() and similar (from the option parser
group) fixed a bug that prevented the usability of the official method
to include the char '+' inside option names by quoting the character
in the option name used in the format string.
This bug has been fixed in order to be able to support "star -dump+ ..."
- libshedit: because of the changes in Oracle Solaris 11.4, we need to
#undef FAST_GETC_PUTC in order to avoid to use getc_unlocked().
Thanks to Rolf Dietze for reporting.
- libfind: A new function walksname() has been added to set up the
internals in "struct WALK" for external path names. This feature is
needed to support "star -c list=names -find ...".
- libfind: The functions fetchdir()/dfetchdir(), sortdir(), cmpdir() now
use size_t instead of int for the entry number count and the allocated
size.
This breaks binary compatibility in 64 bit mode for those users only,
that use the interfaces fetchdir()/dfetchdir(), sortdir(), cmpdir().
The only application that currently uses these interfaces is "star".
Simple users of libfind and programs compiled as 32 bit programs
are not affected by the change.
Warning: packetizers need to take care of the changed name of the
shared library file for libfind.
- libfind: Because of the binary incompatible change, we incremented
the major library version number from 3 to 4.
WARNING: This affects only distros that ship 64 bit versions of star
using a shared version of libfind.
Since Solaris defaults to 32 bit programs, this is expected to only
affect Linux distros.
- libstreamar: unicode.c has been changed to make sure that is works even
in case that the "len" parameter is an unsigned.
- libstreamar: to_utf8() from unicode.c has been rewritten to use size_t.
instead of int. Several changes have been introduced in the other
code as well.
- libstreamar: from_utf8() from unicode.c has been rewritten to use size_t.
instead of int. Several changes have been introduced in the other
code as well.
- star: The new-volume-script= script is now called at the end of
_every tape_, even at the last one. This now allows to have a script
that automatically renames a standard archive name into numbered
archive names when a tree should be splitted into chunks, e.g. with
this command line:
star -c f=/tmp/v.tar tsize=1G new-volume-script='sh -c \
"mv /tmp/v.tar /tmp/v$(($1-1)).tar" nv' .
you get partial archives named /tmp/v1.tar ... /tmp/vn.tar
Note that this would not work in case that "sh" is the historical
Bourne Shell, e.g. as seen on Solaris 10. This is because
"shell arithmetics" is a feature that was not present in the historical
Bourne Shell.
- star: The man page now mentions that "star cli=tar ..." works as an
alias to "star cli=suntar ...".
- star: The man page now mentions that "star cli=gnutar ..." does not
impement the bugs from the GNU option parser.
- star: Is "star cli=xxx ..." is used, then star now calls
set_progname(xxx) and thus prints error messages labelled with the
command line interface name.
- star: In "pax" command line mode, star now uses -no-fsync as default
in order to behave the same way as the closed source Solaris pax
does.
- star: Star now allows to combine the option list=names with -find
This is useful, whenever a list of filenames is longer than ARG_MAX and
thus cannot be used in the star command line after -find.
Here is an example on how to use the new feature in a mercurial.
based development environment:
(hg status -a; hg status -m; hg status -c) | sed -e 's/^. //' > .hgfiles
star -c list=.hgfiles -find -mtime -100 > /tmp/new.tar
The first command puts all files under control of mercurial into
thw file ".hgfiles" , while omitting the compile results from the
file ".hgfiles".
The second command takes that list and puts only those files into
the archive that have been modified during the past 100 days.
- star: A new option "-dump+" allows to have the "SCHILY.volhdr.hostname"
meta data field filled out even when not making dumps with an
associated dump level. This helps to remember the origin of tar
archives.
- star: unicode.c has been changed to use the same comment as unicode.c
in libstreamar.
- star: unicode.c has been changed to make sure that is works even.
in case that the "len" parameter is an unsigned.
- star: to_utf8() from unicode.c has been rewritten to use size_t.
instead of int. Several changes have been introduced in the other
code as well.
- star: from_utf8() from unicode.c has been rewritten to use size_t.
instead of int. Several changes have been introduced in the other
code as well.
- star: due to the incompatible interface change in libfind (see
above), several changes have been introduced in order to use size_t
instead of int for fetchdir()/dfetchdir(), sortdir(), cmpdir().
This finally permits star to be able to make use of the current POSIX
maximum meta data size for so called "pax" archives (TAR archives
with POSIX.1-2001 meta data enhancements derived from the Solaris 7
concept for tar from 1997). Previous versions of star have been
limited to data no longer than 2 GB (even though the star main code
supports 8 GB file size), this version now supports 8 GB for the.
sum of all meta data for a single file in case a 64 bit binary from
star is used.
- star: the fifo now has a new variant of te function runfifo() that
is used by the new fifo(1) standalone program. See below.
- star: The README now mentions the new "star cli= ..." method and
the fact that star deals with infinite path name length.
0.6.2.1
* Add support for GHC 8.8 / base-4.13
0.6.2
* New cabal flag 'pkg-config' for discovering 'zlib` via pkg-config(1) (#16)
* Use CApiFFI where available for cross-compile friendliness (#14)
* Change the window bits range from 8..15 to 9..15 (#11)
0.6.1.2
* Fix a segfault when reading the stream multithreaded, #7
* New experimental cabal flag 'non-blocking-ffi' for 'safe' ffi calls
0.6.1.1
* Fixed building with GHC 7.0 and 7.2
0.6.0.2
* Fixed building with GHC 7.0 and 7.2
0.6.1.0
* Support for concatenated gzip files (multiple back-to-back streams)
0.6.0.1
* Fixed building with older GHC
* Fixed warnings with new GHC
* Fixed building on Windows
* Fixed testsuite
0.6.0.0
* New incremental interface for compression and decompression
* Provide access to unconsumed trailing data
* Simplified structured error type, and instance of Exception
* Updated bundled zlib C code to 1.2.8 (used on Windows)
* Fixed memory leak of zlib z_stream C structure
* More derivied instances (Eq, Show, Typeable, Generic)
0.5.4.2
* Builds with GHC 7.10
Changes 0.13.0:
* ``pytest-xdist`` ``pytest`` extension is now installed so tests can be
run in parallel.
* CI now builds ``manylinux2010`` and ``manylinux2014`` binary wheels
instead of a mix of ``manylinux2010`` and ``manylinux1``.
* Official support for Python 3.8 has been added.
* Bundled zstandard library upgraded from 1.4.3 to 1.4.4.
* Python code has been reformatted with black.
At least ZSTD_FRAMEHEADERSIZE_MIN and ZSTD_FRAMEHEADERSIZE_PREFIX
macros in 1.4.4 needs a `format' argument but py-zstandard is not
adapted to 1.4.4 yet.
PKGREVISION++
Brotli is a generic-purpose lossless compression algorithm that compresses data
using a combination of a modern variant of the LZ77 algorithm, Huffman coding
and 2nd order context modeling, with a compression ratio comparable to the best
currently available general-purpose compression methods. It is similar in speed
with deflate but offers more dense compression.
This package contains Python bindings for Brotli.
2.9:
Changes to the library:
optimized the ArchiveEntry class
added support for the zstd format
fixed the top-level __all__ list (7b97d8b)
updated the code to support Python 3.8
improved the add_file_from_memory method
lowered the level of log messages from warning to info
Tests:
dropped testing with Python 3.4, added 3.7 and 3.8
fixed unicode handling in entry tests
Upstream changes:
0.86 Thu Dec 5 20:53:07 GMT 2019
* Fix RT#131072 which was due to tar.exe and CRLF line endings
0.84 Wed Dec 4 21:20:04 GMT 2019
* Fix RT#119084 - won't compile on MSWin32 with taint
0.82 Fri Nov 22 19:09:35 GMT 2019
* Correctly compare version string for Archive::Tar (#7)
* Remove duplicate entry from the MANIFEST file. (#6)
* Treat minix the same as NetBSD
innoextract 1.8 (2019-09-15)
- Added support for Inno Setup 6.0.0 installers
- Added support for pre-release Inno Setup 5.6.2 installers used by GOG
- Added support for two modified Inno Setup 5.5.7 variants
- Added support for Inno Setup 1.3.0 to 1.3.23
- Added support for My Inno Setup Extensions installers older than 3.0.6.1
- Added support for modified Inno Setup variants using an alternative setup loader magic
- Added support for using boost_{zlib,bzip2} when statically linking Boost
- Added support for automatically reading external setup.0 files
- Encoding for non-Unicode installers is now determined from the languages supported by the installer, overridable using the --codepage option
- Implemented parsing of GOG Galaxy architecture constraints
- The architecture-specific suffixes @32bit and @64bit are now used to disambiguate colliding files
- Fixed extracting files from slices larger than 2 GiB with 32-bit builds
- Fixed output path for files with absolute paths (canonicalization now strips all unsafe characters)
- Fixed output directory being created even when not extracting files
- Fixed a hang when using the --language option
- Improved checksum verification for files reconstructed from GOG Galaxy file parts
- Changed header parsing to select the first version without warnings and failing that the first without errors
- Changed filesystem and output encoding to WTF-8 (extended UTF-8) to represent broken UTF-16 data