Skip to content

Releases

4.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Nov 23:28
plexus-utils-4.2.0

plexus-utils 4.2.0 makes the file deletion helpers safe around symbolic links, lets CommandLineUtils forward the console's standard input to a child process, and fixes several FileUtils and command-line parsing edge cases. It requires Java 8 or later. The XML classes live in plexus-xml, which this release moves up to 3.1.1.

✨ Highlights

  • Deleting a tree no longer deletes outside it. FileUtils.forceDeleteOnExit followed symbolic links to directories, so a link inside the tree got every file under its target deleted when the JVM exited. deleteDirectory could empty a link's target when the link itself could not be removed. Both now remove only the link (#348, thanks @kakkar87d).
  • Child processes can read the console. When CommandLineUtils.executeCommandLine gets System.in as the process input, it now polls it instead of blocking in read(), so the call returns once the process exits rather than hanging on an idle terminal (#351, fixes #260).
  • translateCommandline splits at tabs and line breaks. Outside quotes, \t, \n and \r now separate arguments like a space does. Input that held one of these characters unquoted now yields more arguments; quoted text is unchanged (#352, fixes #329).
  • Clearer FileUtils failures. forceDelete uses Files.deleteIfExists, so it also removes dangling symbolic links and skips the Windows retry delay for files that are already gone (#350, fixes #21). copyDirectoryStructure and cleanDirectoryOnExit report an unreadable directory as an IOException naming it, instead of a NullPointerException (#349).
  • plexus-xml 3.1.1 fixes a parser buffer overrun on a supplementary character in an XML comment (#354).

The same fixes, without the standard-input change, are in 3.6.3 for the 3.x line.

🚀 New features and improvements

  • Poll System.in for stdin in CommandLineUtils.executeCommandLine (#351) @slachiewicz

🐛 Bug Fixes

  • Do not follow symlinks in forceDeleteOnExit and deleteDirectory (#348) @kakkar87d
  • Split translateCommandline at tabs and line breaks (#352) @slachiewicz
  • Use Files.deleteIfExists in FileUtils.forceDelete (#350) @slachiewicz
  • Report an unlistable directory as IOException instead of NullPointerException (#349) @slachiewicz

📝 Documentation updates

🔧 Build

📦 Dependency updates

Full changelog

3.6.4

Choose a tag to compare

@github-actions github-actions released this 14 Nov 23:42
plexus-utils-3.6.4

plexus-utils 3.6.4 fixes a crash in the XML parser bundled with the 3.x line. It requires Java 8 or later, as before.

✨ Highlights

  • XML comments with emoji no longer crash the parser. MXParser threw ArrayIndexOutOfBoundsException when a comment that needed line-ending normalisation put a surrogate pair, such as an emoji, exactly at the end of its internal buffer. This is the fix from plexus-xml 3.1.1, applied to the copy of MXParser that plexus-utils 3.x still carries. plexus-utils 4.x gets it from plexus-xml 3.1.1 (#356).

🐛 Bug Fixes

  • Fix ArrayIndexOutOfBoundsException for surrogate pair in comment at buffer boundary (#356) @slachiewicz

Full changelog

3.6.3

Choose a tag to compare

@github-actions github-actions released this 14 Nov 23:28
plexus-utils-3.6.3

plexus-utils 3.6.3 brings the bug fixes of 4.2.0 to the 3.x line (#355). It requires Java 8 or later, as before.

✨ Highlights

  • Deleting a tree no longer deletes outside it. FileUtils.forceDeleteOnExit followed symbolic links to directories, so a link inside the tree got every file under its target deleted when the JVM exited. deleteDirectory could empty a link's target when the link itself could not be removed. Both now remove only the link (#348, thanks @kakkar87d).
  • translateCommandline splits at tabs and line breaks. Outside quotes, \t, \n and \r now separate arguments like a space does. Input that held one of these characters unquoted now yields more arguments; quoted text is unchanged (#352).
  • Clearer FileUtils failures. forceDelete uses Files.deleteIfExists, so it also removes dangling symbolic links and skips the Windows retry delay for files that are already gone (#350). copyDirectoryStructure and cleanDirectoryOnExit report an unreadable directory as an IOException naming it, instead of a NullPointerException (#349).

🐛 Bug Fixes

  • Do not follow symlinks in forceDeleteOnExit and deleteDirectory (#348) @kakkar87d
  • Split translateCommandline at tabs and line breaks (#352) @slachiewicz
  • Use Files.deleteIfExists in FileUtils.forceDelete (#350) @slachiewicz
  • Report an unlistable directory as IOException instead of NullPointerException (#349) @slachiewicz

Full changelog

4.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 13:42

DirectoryScanner no longer excludes .gitignore and .cvsignore by default. Code that relied on
the old defaults has to add the two patterns explicitly. That change is what makes this a minor
release rather than 4.0.4.

💥 Breaking changes

  • Do not exclude ".gitignore" and ".cvsignore" by default (#326) @kwin

👻 Maintenance

🔧 Build

📦 Dependency updates

3.6.2

Choose a tag to compare

@github-actions github-actions released this 19 Aug 14:41

A build-metadata release on the 3.x maintenance line: the parent POM moves to plexus 27. No library
code changed since 3.6.1, so consumers that only need the classes can stay where they are.

🔧 Build

📦 Dependency updates

3.6.1

Choose a tag to compare

@github-actions github-actions released this 01 Apr 16:39

💥 Breaking changes

  • Do not exclude ".gitignore" and ".cvsignore" by default (#326) (#327) @kwin

🚀 New features and improvements

  • Do not exclude ".gitignore" and ".cvsignore" by default (#326) (#327) @kwin
  • [3.x] Add Automatic-Module-Name manifest entry (#324) @cstamas

🐛 Bug Fixes

👻 Maintenance

📦 Dependency updates

4.0.3

Choose a tag to compare

@github-actions github-actions released this 27 Mar 14:04

🚀 New features and improvements

🐛 Bug Fixes

👻 Maintenance

📦 Dependency updates

3.6.0

Choose a tag to compare

@slachiewicz slachiewicz released this 25 Dec 11:48

What's Changed

  • [3.x] Fix false difference detected with CachingOutputStream/CachingWriter when streams are flushed by @gnodet in #253
  • V3 changes to make external usage easier by @Claudenw in #277
  • Bump parent pom to 19 and reformat sources by @slachiewicz in #280
  • Convert to JUnit 5 with OpenRewrite by @slachiewicz in #281
  • sync pom changes from master branch by @slachiewicz in #282

Full Changelog: plexus-utils-3.5.1...plexus-utils-3.6.0

4.0.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 07:36

🐛 Bug Fixes

  • Specify /D for cmd.exe to bypass the Command Processor Autorun folder (#272) @sebthom

📦 Dependency updates

4.0.1

Choose a tag to compare

@github-actions github-actions released this 13 Apr 09:24
plexus-utils-4.0.1
31ef818

🚀 New features and improvements

📦 Dependency updates

👻 Maintenance