Skip to content

Releases: codehaus-plexus/plexus-archiver

Plexus Archiver 4.2.0

04 Oct 20:58
Compare
Choose a tag to compare

πŸš€ 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 for Archiver. 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 and plexus-utils to 3.3.0.

Plexus Archiver 4.1.0

04 Oct 20:58
Compare
Choose a tag to compare

πŸš€ New features and improvements

  • #110 - Add option to omit "Created-By" manifest entry.

Plexus Archiver 4.0.0

04 Oct 20:58
Compare
Choose a tag to compare

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

  • #108, #109 - Updated dependencies: plexus-io to 3.1.1 and plexus-utils to 3.1.1.

Plexus Archiver 3.7.0

04 Oct 20:58
Compare
Choose a tag to compare

Plexus Archiver 3.7.0 requires Java 7.

πŸš€ New features and improvements

  • #92 - BaseFileSet now accepts an array of FileMapper 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 of FileMapper 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 manifest Main-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

  • #103, #104 - Updated dependencies: commons-compress to 1.18 and plexus-io to 3.1.0.

Plexus Archiver 3.4.1

04 Oct 20:58
Compare
Choose a tag to compare

πŸš€ New features and improvements

Plexus Archiver 3.6.0

04 Oct 20:58
5dcbd6b
Compare
Choose a tag to compare

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 uses java.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 by JarArchiver - 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) to AbstractArchiver 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 and PlexusIoZipFileResourceCollection leak file descriptors

🧰 Maintenance

  • #77 - Fixed the way unit tests modify the timestamp of a file

πŸ“¦ Dependency updates

  • #71, #72, #76, #78, #85, #86 - Updated dependencies: commons-compress to 1.16.1, plexus-utils to 3.1.0, org.tukaani:xz to 1.8 and plexus-io to 3.0.1

Plexus Archiver 3.5

04 Oct 20:58
Compare
Choose a tag to compare

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 generic ArchiverException was thrown.

πŸ› Bug Fixes

  • #47 - Archiver follows symlinks on Windows
  • #53 - AbstractZipArchiver no longer respects recompressAddedZips
  • #58 - Creates corrupt JARs

πŸ“¦ Dependency updates

  • #56 - Upgrade the minimum required Java version to 7 and Plexus IO to 3.0.0
  • #60 - Upgrade dependencies. plexus-container-default to 1.0-alpha-30, commons-compress to 1.14, org.tukaani.xz to 1.6 and com.google.code.findbugs.jsr305 to 3.0.2

Plexus Archiver 3.4

04 Oct 20:58
Compare
Choose a tag to compare

πŸ› Bug Fixes

  • #45 - Default ArchiveManager does not support tar.xz and tar.snappy file extensions
  • #46 - JarSecurityFileSelector needs to support signature files ending in .EC or .ec

Plexus Archiver 3.3

04 Oct 20:58
Compare
Choose a tag to compare

πŸš€ 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 to Writer in Manifest
  • #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

Plexus Archiver 3.2

04 Oct 20:58
Compare
Choose a tag to compare

πŸš€ New features and improvements

  • #27 - Added xz compression support
  • #33 - Exceptions are suppressed incorrectly

πŸ“¦ Dependency updates

  • #31 - Upgrade of plexus-utils to 3.0.23
  • #32 - Upgrade of commons-io to 2.5