Read Me
Important: removed xz lib 5.6.1 from all compressed files,
now we are using release 5.4.1 because it is stable
(CVE-2024-3094: liblzma backdoor)
Console application to compress and extract files in the .val format, when
functional it can be used to replace tar files, the advantage is that it
will handle any previous versions without problems, it is almost as fast as tar,
for the moment it can generate .val files in gzip, bzip2, bzip3, lz5,
brotli2, lzop2, Zstandard, xz and LZMA, but more compression methods will
be added like our DLL version of this console application, a lot need
to be done yet
Works on Windows 10 or above
////////////////////////////////////////////////////////////////////
Header information for Parolin:
These compressors are available in the now outdated DLL
Parolin, the console version donīt support yet all these
compressors but will do it soon
the following information can be used to detect a compressed file
Notice that some formats like bzip3 and gzip2 have more than one
header for it, and you need to handle it
{ compress, 2, "\037\235" },
{ gzip, 2, "\037\213" },
{ bzip2, 3, "BZh" },
{ lzip, 4, "LZIP" },
{ lzma, 6, "\xFFLZMA" }, (this is not correct, lzma don`t
have a pre-defined header that
can be used to detect it, brotli too)
{ lzop, 4, "\211LZO" },
{ xz, 6, "\xFD" "7zXZ" },
{ lz4, 4, "\x04\x22\x4d\x18" },
{ zstd, 4, "\x28\xB5\x2F\xFD" },
{ val, 4, "\x56\x41\x4c\x50" },
{ gzip2a, 4, "\x52\x53\x50\x47" }, (this moment this isnot
in use anymore)
{ gzip2c, 4, "\x41\x52\x5f\x5f" },
{ gzip2c, 4, "\x41\x52\x5f\x5E" },
{ bzip3, 4, "\x41\x52\x5f\x32" },
{ bzip3, 4, "\x41\x52\x5f\x5d" },
{ lzop2, 4, "\x41\x52\x5f\x53" },
{ lz5, 4, "\x41\x52\x5f\x56" },
{ brotli2, 4, "\x41\x52\x5f\x55" }, // brotli2 has a header
{ compress2, 4, "\x41\x52\x5f\x54" },
////////////////////////////////////////////////////////////////////
Changelog:
What is new in version 0.9.6 build 6888 31/dec/2024 14:39 Codename Gailly
Added documentation for doxygen to the compress method, added
documentation to bzip3 lib, minor modifications.
What is new in version 0.9.5 build 6876 31/dec/2024 11:11 Codename Self
Fixed the bug that don't compress files below 127 bytes
in the compress2 lib, minor modifications.
What is new in version 0.9.4 build 6874 31/dec/2024 10:47 Codename Felice
Fixed the return 0 when error in the call that use
zlib, the bug was not in the zlib library, it was in
the code that was calling zlib, added gzip doxygen
docs for the APIs that call zlib, minor modifications.
What is new in version 0.9.3 build 6870 31/dec/2024 09:38 Codename Kitcat
Added doxygen docs to the APIs of gzip2, minor modifications.
What is new in version 0.9.2 build 6862 31/dec/2024 07:59 Codename Nieuwenhuizen
Fixed the known bug return 0 on error in the gzip2 lib, minor
modifications.
What is new in version 0.9.1 build 6860 31/dec/2024 07:37 Codename Youngman
Added doxygen docs to lz5 lib, minor modifications.
What is new in version 0.9.0 build 6857 31/dec/2024 06:46 Codename Burley
Fixed a bug on lz5 lib that don't allow the compression of
files below 127 bytes, minor modifications.
What is new in version 0.8.9 build 6856 31/dec/2024 06:31 Codename Gutierrez
The lz5 lib also had the return 0 on error bug, already fixed now,
added lzma doxygen docs, minor modifications.
What is new in version 0.8.8 build 6850 30/dec/2024 18:57 Codename Dumitrescu
Added doxygen docs for lzop2 lib, minor modifications.
What is new in version 0.8.7 build 6847 30/dec/2024 18:00 Codename Yosiaki
Bug found when compressing files that the size is below 127 bytes
using lib lzop2, in this case it will not compress, fixed in this
version, minor modifications.
What is new in version 0.8.6 build 6845 30/dec/2024 17:34 Codename Patino
The lzop2 lib was suffering from the same bug related to
brotli2 lib talked about in version 0.8.0, it could return 0
in case of errors during compression or decompression, fixed
now, minor modifications.
What is new in version 0.8.5 build 6841 30/dec/2024 17:03 Codename Murdock
Added doxygen documentation to xz library, minor modifications.
What is new in version 0.8.4 build 6839 30/dec/2024 16:05 Codename Taylor
We detected a problem with the library xz 5.4.1 regarding multi-threads,
the sample project just slow down the compression process if
more threads than one is selected, and maybe we can help,
we will try to generate a variant of xz with up to three
threads running concurrently to speed up code execution,
the normal for a multi-thread software is to speed up
with more threads running, more about it soon, also, the
compression level in multi-thread mode is controled internally,
maybe this is the reason that it slows down the compression,
finished the docs for Zstandard.
What is new in version 0.8.3 build 6828 30/dec/2024 14:51 Codename Dunn
Fixed a bug in the Zstandard handling of the multi-thread,
it is based in the name of the console application, and it
was set to a different name not the default 'zstdmt' name,
it was found during the addition of the doxygen documentation,
important: Zstandard don't use multi-thread for decompression,
at least until we modify it to use.
What is new in version 0.8.2 build 6819 30/dec/2024 13:40 Codename Gayosso
Added documentation based in doxygen to lib brotli2 APIs,
minor modifications.
What is new in version 0.8.1 build 6815 30/dec/2024 12:21 Codename L. S. Fernandes
Fixed a bug in the use of multi-threads on brotli lib, it was not
using more than one thread, all prior versions have this same problem,
minor modifications.
What is new in version 0.8.0 build 6802 30/dec/2024 10:51 Codename Sandklef
Fixed a bug in brotli2 library that could return 0 when an
error occurred, a multi-thread problem, the function sets a
variable and only return the error later, the bug was found
during the generation of the doxygen docs, minor modifications.
What is new in version 0.7.9 build 6796 30/dec/2024 03:57 Codename Abelsson
Small minor modifications.
What is new in version 0.7.8 build 6787 29/dec/2024 22:34 Codename Henning
Added full support to Unicode to lib brotli, minor modifications.
What is new in version 0.7.7 build 6772 29/dec/2024 20:12 Codename Nienhuys
Added full support to Unicode to lib brotli2, minor modifications.
What is new in version 0.7.6 build 6766 29/dec/2024 14:53 Codename Morin
Added full support to Unicode to lib bzip3, minor modifications.
What is new in version 0.7.5 build 6758 29/dec/2024 13:29 Codename Casamento
Added full support to Unicode to lib compress, minor modifications.
What is new in version 0.7.4 build 0113 29/dec/2024 12:28 Codename Percival
Reenabled the support to lib gzip, since if correctly used
it have full support to Unicode, at least the Cygwin version,
minor modifications.
What is new in version 0.7.3 build 0112 28/dec/2024 18:11 Codename Matzigkeit
Added full support to Unicode to lib compress2, minor modifications.
What is new in version 0.7.2 build 0111 28/dec/2024 16:55 Codename Scrivano
Disabled the method standard gzip, in order to add full Unicode
support to gzip we need to add some code on the original sources,
it will be added soon, minor modifications.
What is new in version 0.7.1 build 0110 28/dec/2024 13:35 Codename Arias
Added full Unicode support to lib gzip2, minor modifications.
What is new in version 0.6.8 build 0099 28/dec/2024 03:30 Codename Pfeifer
Added full Unicode support to lib lz5, minor modifications.
What is new in version 0.6.7 build 0098 28/dec/2024 03:30 Codename Greve
Added full Unicode support to lib lzma, minor modifications.
What is new in version 0.6.6 build 0098 28/dec/2024 02:10 Codename Robinson
Added full Unicode support to lib lzop2, minor modifications.
What is new in version 0.6.6 build 0098 28/dec/2024 00:01 Codename Jones
Added full Unicode support to lib xz, minor modifications.
What is new in version 0.6.5 build 0097 27/dec/2024 18:03 Codename Lange
Initial process to add full Unicode support via utf-8, the
arguments from the console comes as Unicode but for the
moment only Zstandard has it, the other compressors will be
converted as soon as possible, notice that it works perfectly in
Cygwin minty or command.com (cmd.exe), minor modifications.
What is new in version 0.6.4 build 0097 27/dec/2024 15:24 Codename Iacomella
Full support to ANSI characters, next release will have
initial Unicode support with utf-8 encode, minor modifications.
What is new in version 0.6.3 build 0096 27/dec/2024 10:26 Codename Potortė
The code have bugs when handling the Unicode characters, the
first compressor that was fixed is the brotli lib, more
compressors will be fixed during the day, many modifications.
What is new in version 0.6.2 build 0095 27/dec/2024 05:00 Codename Rusconi
Replaced the release 5.4.0 of xz lib with version 5.4.1, Copilot
recommends it, minor modifications.
What is new in version 0.6.1 build 0094 26/dec/2024 14:05 Codename Grin
Updated the xz lib with the regression tested version 5.4.0,
people said that it is stable and this is what we will use for
the moment, all the problem occurred with release 5.6.1,
you can learn more about it on Internet, minor modifications.
What is new in version 0.6.0 build 0093 26/dec/2024 14:05 Codename Hutchins
Updated lzma lib to release 24.9 from november 2024, minor
modifications.
What is new in version 0.5.9 build 0092 26/dec/2024 14:05 Codename Blake
Updated bzip2 from 1.0.6 (2010) to 1.0.8, adjusts of
makefiles, minor modifications.
What is new in version 0.5.8 build 0091 26/dec/2024 11:19
Updated lz5 lib (that depends on lz4 lib version 1.10.0),
minor modifications.
What is new in version 0.5.6 build 0089 26/dec/2024 06:20
Removed from the package the xz lib version 5.6.1,
now we are using only version 5.6.2 and above, minor
modifications.
Updated xz library to the version 5.6.2, since the 5.6.1 was
reported with problems in the tukaani.org, minor modifications.
What is new in version 0.5.4 build 0088 28/Sep/2024 12:27
Updated xz library to the version 5.6.2, since the 5.6.1 was
reported with problems in the tukaani.org, minor modifications.
What is new in version 0.5.3 build 0087 08/Aug/2024 11:55
Recompiled with GCC 12.4.0, minor modifications.
What is new in version 0.5.2 build 0086 09/May/2023 15:37
Added more support to the console for Unicode, older versions
just fail to handle Unicode based paths, minor modifications.
What is new in version 0.5.1 build 0085 24/april/2023 10:01
Removed unnecessary files, fixed the bzip3 makefile, minor
modifications.
What is new in version 0.5.0 build 0084 24/april/2023 02:09
Updated LZMA compressor to 23.01, minor modifications.
What is new in version 0.4.4 build 0068 24/april/2023 01:20
Cleaned the gz and gzip2 folders and makefiles, removed
debug information from packages, minor modifications.
What is new in version 0.4.3 build 0067 24/april/2023 00:52
Updated Zstandard compressor to 1.5.6, minor modifications.
What is new in version 0.4.2 build 0066 24/april/2023 00:05
Updated brotli compressor to 1.1.0, minor modifications.
What is new in version 0.4.1 build 0065 23/april/2023 16:51
Updated some versions of the compressors, minor modifications.
What is new in version 0.4.0 build 0065 13/jul/2023 13:41
Now all decoders in multi-thread mode compress and uncompress
using threads, added extensive tests to the package to ensure
that basic functionality is working as expected, removed the
debug information sent to DebugView, now it donīt send anything
about debugging, many bugs fixed.
What is new in version 0.3.5 build 0057 12/jul/2023 05:11
Fixed a bug that could create a thread problem due to the same
variable being accessed at the same time without synchronisation,
minor bugs fixed.
What is new in version 0.3.4 build 0056 12/jul/2023 03:02
Fixed a bug that was allowing a file already compressed to be
handled as if correctly compressed, now the compressed file
is deleted on entering the compression to avoid it having
the wrong data on it, the compression compress demonstarated
the bug, and now the basic tests are done as soon some modification
is done in the code to donīt brake anything already working,
minor bugs fixed.
What is new in version 0.3.3 build 0055 11/jul/2023 17:07
Fixed a weird memory leak when using bzip3, fixed small
bugs, for compressors that support multi-thread uncompression
it is disabled for the moment in some due to unexpected bugs.
What is new in version 0.3.2 build 0050 11/jul/2023 12:39
Fixed a bug that would not allow the decompression of a .val
file if the entry is above 2 gb, if all your files already compressed
are below 2gb no need to worry, but if above it will be
truncated to 2 gb, fixed in this release, many bugs fixed.
What is new in version 0.3.1 build 0049 09/jul/2023 18:34
Added support to option 's' compression method, the compress2,
it is compress with multi-thread, minor modifications.
What is new in version 0.3.0 build 0048 09/jul/2023 14:57
Added support to option 'r' compression method, the Unix
compress, minor modifications.
What is new in version 0.2.9 build 0029 08/jul/2023 16:37
Added support to option 'q' compression method, the brotli
standard, minor modifications.
What is new in version 0.2.8 build 0028 02/jul/2023 16:39
Added support to option 'o' compression method, the xz, minor
modifications.
What is new in version 0.2.7 build 0027 02/jul/2023 12:58
Reenabled in the project full Unicode support and wide path,
but since it is a console application the input file for compression
and uncompression is ansi, minor modifications.
What is new in version 0.2.6 build 0026 01/jul/2023 13:40
Added support to option 'n' compression method, the Zstandard
version 1.5.2, it will be updated to version 1.5.5 in a few
hours, minor modifications.
What is new in version 0.2.5 build 0025 01/jul/2023 13:40
Added support to option 'm' compression method, the lzop2,
minor modifications.
What is new in version 0.2.2 build 0023 01/jul/2023 11:12
Added support to option 'h' compression method, the brotli2,
minor modifications.
What is new in version 0.2.1 build 0022 30/jun/2023 16:38
Added support to the 'e' compression method, the lz5, it is lz4
with multi-thread support, minor modifications.
What is new in version 0.2.0 build 0021 30/jun/2023 10:38
Added progress information and time spent of the processes, minor
modifications.
What is new in version 0.1.17 build 0020 29/jun/2023 19:14
Added option 'i' compress/uncompress with the compression method
bzip3, minor modifications.
What is new in version 0.1.16 build 0019 29/jun/2023 13:35
Added LZMA compression support
Thanks for using our software