Releases: codehaus-plexus/plexus-archiver
Releases Β· codehaus-plexus/plexus-archiver
Plexus Archiver 4.2.0
π New features and improvements
- #121 - Add API to configure reproducible archives -
Archiver#configureReproducible
. - Add option to force the user and group for all archive entries.
- Add option to force the last modified date for all archive entries.
- #114 - Add option to provide
Comparator
forArchiver
. The archive entries will be added in the order specified by the provided comparator. - #117 - Add option to limit the output size for
AbstractZipUnArchiver
as a way of protection against ZIP bombs. Thanks to Sergey Patrikeev and Semyon Atamas. - Various code improvements. Thanks to Semyon Atamas and Sergey Patrikeev.
π Bug Fixes
- #94 - Fixed setting archiver destination to the working directory causes
NullPointerException
.
π¦ Dependency updates
- #119 - Updated dependencies:
commons-compress
to 1.18,plexus-io
to 3.2.0 andplexus-utils
to 3.3.0.
Plexus Archiver 4.1.0
π New features and improvements
- #110 - Add option to omit "Created-By" manifest entry.
Plexus Archiver 4.0.0
NOTE: Because 3.7.0 introduced backward incompatible changes in the API (new methods in interfaces) we bumped the Plexus Archiver version to 4.0.0.
Plexus Archiver 4.0.0 requires Java 7.
π New features and improvements
- #105 - Fixed performance regression introduced in Plexus Archiver 3.0.2. Affected are systems where the retrieval of a file's user and group attributes is costly operation.
- #106 -
PlexusIoZipFileResourceCollection
performance is improved when working with signed Jar files.
π¦ Dependency updates
Plexus Archiver 3.7.0
Plexus Archiver 3.7.0 requires Java 7.
π New features and improvements
- #92 -
BaseFileSet
now accepts an array ofFileMapper
instances, allowing the name and/or the path of entries in the archive to be modified. Thanks to Thomas Collignon. - #100 -
UnArchiver
now accepts an array ofFileMapper
instances, allowing the name and/or the path of the extracted entries to be modified. Thanks to Markus Karg. - #98 - Now
JarToolModularJarArchiver
does not copy the module descriptors (module-info.class
) to temporary location. It adds them directly to the JAR archive. - #101, #102 - Now
ModularJarArchiver
implementations will use the JAR file manifestMain-Class
attribute as module main class if one is not excellently set.
π Bug Fixes
- #95 - Fixed ZIP entries last modification time rounded down on Java 8 or later
- #97 - Fixed
module-info.class
not being added to the modular JAR index file.
π¦ Dependency updates
Plexus Archiver 3.4.1
π New features and improvements
- #87 - of Levan Giguashvili (@odinn1984) Snyk eng team to fix a possible security issue. (See https://gist.github.com/grnd/eafd7dab7c4cc6197d817a07fa46b2df)
Plexus Archiver 3.6.0
Plexus Archiver 3.6.0 requires Java 7.
π New features and improvements
- #84, #57 - Added Archiver implementation (
JarToolModularJarArchiver
) that creates modular JAR files using the JDK jar tool. The implementation usesjava.util.spi.ToolProvider
introduced in Java 9, so if it is run on Java 7 or 8 the resulting archive will be identical to a one created byJarArchiver
- the module descriptor is not going to be validated and no additional information (such as version, main class and packages) is going to be added. - #67 - Added ability to set the module version and main class of a modular JAR file
- #83 - Added new protected method (
postCreateArchive
) toAbstractArchiver
that is called after the archive is created successfully - #87 - of Levan Giguashvili (@odinn1984) Snyk eng team to fix a possible security issue. (See https://gist.github.com/grnd/eafd7dab7c4cc6197d817a07fa46b2df)
π Bug Fixes
- #73 - Symbolic links not properly encoded in ZIP archives
- #57 -
ZipArchiver
creates archives with inconsistent central directory entries - #79 -
JarArchiver
andPlexusIoZipFileResourceCollection
leak file descriptors
π§° Maintenance
- #77 - Fixed the way unit tests modify the timestamp of a file
π¦ Dependency updates
Plexus Archiver 3.5
Plexus Archiver 3.5 requires Java 7. Now Plexus Archiver uses pure Java implementations to deal with file attributes so the useJvmChmod
is no longer used and it is just ignored. Archiver#setUseJvmChmod
, Archiver#isUseJvmChmod()
, UnArchiver#setUseJvmChmod
, UnArchiver#isUseJvmChmod()
, ArchiveEntryUtils#chmod( File, int, Logger, boolean )
and ArchiveEntryUtils#chmod( File, int, Logger )
are deprecated and are subject to removal in a future version.
π New features and improvements
- #51 - More specific exception for cases when there are no files to archive. Now
EmptyArchiveException
is thrown when you try to create empty archive. Previously the more genericArchiverException
was thrown.
π Bug Fixes
- #47 - Archiver follows symlinks on Windows
- #53 -
AbstractZipArchiver
no longer respectsrecompressAddedZips
- #58 - Creates corrupt JARs
π¦ Dependency updates
Plexus Archiver 3.4
Plexus Archiver 3.3
π New features and improvements
- #42 - No need to fallback to unicode path extra field policy
NOT_ENCODEABLE
- #39 - Updated to stop falling back to the unicode path extra field policy
NOT_ENCODEABLE
. If a name is not encodeable in UTF-8, it also is not encodeable in the extra field. Updated to always add the Info-ZIP Unicode Path Extra Field when creating an archive using an encoding different from UTF-8 instead of only when a name is not encodeable. Additionally support that extra field when unarchiving. - #38 - Downgrade
PrintWriter
toWriter
inManifest
- #36 -
Created-by
entry does not reflect who created the JAR - #35 - Replace
defaultManifest.mf
with inline code - #17 - Remove unnecessary conversion in
Manifest#Attribute#write
- #16 - Manifest entry
Archiver-Version
is incomplete/wrong. Entry does not reflect the archiver version. Remove since it adds not information it pretends to add. - #5 - Added proper bound on memory usage, patch by BjΓΆrn Eickvonder
- #41 - Support the Info-ZIP Unicode Path Extra Field.
π Bug Fixes
- #43 - Updated to stop failing creating
Created-by
manifest entries, when the version of the archiver cannot be determined - #37 - Deprecate
Manifest(Reader)
and update all related Implemenation does not properly map characters to map and makes assumptions about character encoding which might lead to failures. Deprecate and rely on Java Manifest reader to do the right thing. - #20 -
Manifest#write
blindly casts bytes to chars - #18 -
Manifest#Attribute#writeLine
does not properly calculate max line length
π¦ Dependency updates
- #40 - Updated to upgrade
plexus-utils
to latest patch release