Repository navigation
Releases: apache/maven-shared-utils
Releases · apache/maven-shared-utils
Release list
3.5.0
Maven Shared Utils 3.5.0 is the first release since 3.4.2 (May 2023). The baseline is unchanged: Java 8 and Maven 3.
Most of the work deprecates utilities that now have JDK or Apache Commons equivalents, and fixes bugs in process handling, StringUtils, PathTool and Xpp3Dom.
Runtime dependency changes:
- commons-io 2.11.0 → 2.22.0
- jansi (optional) 2.4.0 → 2.4.3
- The provided-scope
jsr305dependency is gone. slf4j-api stays at 1.7.36.
🚨 Removed
CommandlineandShellno longer implementCloneable. Theirclone()methods always threw, so only code that references them is affected (#365) @elharo
⚠️ Deprecated
StringUtils.replaceandStringUtils.contains(#427) @slachiewicz- The
loggingpackage, in favour ofMessageBuilderFactory(#423) @slachiewicz StringUtils.concatenate, in favour ofString.join(#361) @elharoStringUtils.clean(), in favour ofStringUtils.trim()(#356) @HarshMehta112PathTool(#355) @elharoStringUtils.split(#350) @elharo- The remaining shared XML classes, including
Xpp3Dom(MSHARED-1274, #162, #171) @elharo - Add missing
@Deprecatedannotations (#163) @elharo FileUtils.forceMkdirandcontentEquals, which Commons IO provides (MSHARED-1271, #155, #156) @elharoOs, unmaintained for over a decade (MSHARED-1215, #157) @elharoFileUtils.copyFileandFilterWrapper, in favour oforg.apache.maven.shared.filtering(MSHARED-1260, #147) @elharoWriterFactory(MSHARED-1254, #146) andReaderFactory(MSHARED-1253, #145) @elharo
🐛 Bug fixes
Process handling:
- Close process streams after exit, to work around the JDK-4311711 hang (#412) @elharo
CommandLineUtils: wait on every pumper in atry/finally(#399) @elharoAbstractStreamHandler.setDone: callnotifyAllto wake waiting threads (#405) @elharoStreamPollFeeder: declaredoneandexceptionasvolatile(#387) @elharo- Pass
streamCharsetto the stdout and stderr pumpers (#432) @slachiewicz CmdShell: quote items that cmd.exe would otherwise interpret (#434) @slachiewicz
XML:
Xpp3DomBuilder.createXmlReader: stop changing system properties, which was not thread-safe (#393) @elharoXpp3Dom.removeChild(int): fixchildMapcorruption with duplicate names (#395) @elharoXpp3Dom.getValue(): honour the@NonNullcontract (#389) @elharoXpp3DomWriter: reject a null DOM with a namedNullPointerException(#426) @slachiewiczPrettyPrintXMLWriter: handle a nulllineIndentin the constructors (#382) @elharo
Strings, paths and files:
StringUtils.chompLast: fixStringIndexOutOfBoundsExceptionwhen the separator is longer than the string (#401) @elharoStringUtils.chopNewline(""): fixStringIndexOutOfBoundsException(#380) @elharoStringUtils.leftPadandrightPad: handle an empty delimiter withoutArithmeticException(#409) @elharoPathTool.getRelativeFilePath: fix the Windows drive-letter regex (#384) and return an empty string instead of null for cross-drive paths (#403) @elharoOs.getOsFamily: return an empty string instead of null (#425) @slachiewicz- Copy a symbolic link even when its target does not exist (#433) @slachiewicz
📝 Documentation
- Port the site from APT to Markdown (#420) and migrate the site descriptor to the v2 model (#430) @slachiewicz
- Rewrite the documentation in ASD-STE100 Simplified Technical English (#418) @elharo
- Correct the class names that deprecation notes point at (#428) @slachiewicz
- Stop naming individual Windows versions in the
CmdShelldocs (#435) @elharo - Fix site page issues (#417), follow Oracle Javadoc conventions (#360), and clean up Javadoc (#150, #353) @elharo
- Correct the
StringUtils.abbreviate()Javadoc (#343) @phymod0
👻 Maintenance
- Drop the nullness annotations:
jsr305was replaced by JSpecify (#364), which was then removed (#429) @slachiewicz - Remove the last dependency on Plexus, which was test-scoped (#151) @elharo
- Remove unreachable escaping logic (#369) and unused code (#159, #161) @elharo
- Clean up API docs and exceptions (MSHARED-1273, #158, #160) @elharo
- Code modernisation:
StringBuilderfor locals (#368), empty arrays intoArray(#188), cached system properties (#187), diamond operator (MNG-6847, #166 @timtebeek), stale warning suppressions (#152) @elharo
✅ Tests
- Migrate the tests to JUnit 5 (#345 @sparsick, #359 @slachiewicz)
- Fix varargs warnings in
StringUtilsTest(#437) @Luffy777-max - Use precise assertions (#192), show Unicode unescaped on failure (#185), and test exceptions properly (#149) @elharo
🔧 Build and infrastructure
- Remove plugin downgrades for bugs that have since been fixed (MSHARED-1112, #144) @elharo
- Enable GitHub Issues (#195) @Bukama
- Enable branch protection rules (#344) @sebtiem
- Add a tag template to the release-drafter configuration (#436) @slawekjaranowski
📦 Dependency updates
Runtime:
- commons-io 2.11.0 → 2.22.0 (#148, #153 @elharo; #175 MSHARED-1363, #176, #191, #342, #346, #375 @dependabot)
- jansi 2.4.0 → 2.4.3 (#167, #193, #372) @dependabot
Build and test:
- Parent
maven-shared-components39 → 49 (#168, #178, #189, #196, #357, #358, #376, #378) @dependabot - maven-assembly-plugin 3.6.0 → 3.8.0 (#174, #351) and maven-resources-plugin 3.3.1 → 3.5.0 (#352, #370) @dependabot
apache/maven-gh-actions-sharedworkflows v3 → v5 (#172, #413, #414, #415, #416) @dependabot- hamcrest 2.2 → 3.0 (#180, #181), commons-text 1.10.0 → 1.11.0 (#169), jspecify 1.0.0 → 1.0.1 (#419) @dependabot
- Fix the hamcrest dependencies (MSHARED-1255, #142, #143) @elharo
Full changelog: maven-shared-utils-3.4.2...maven-shared-utils-3.5.0
Assets 2
3.4.2
maven-shared-utils-3.4.2
slawekjaranowski
Slawomir Jaranowski
This tag was signed with the committer’s verified signature.
2dc9eb5
This commit was signed with the committer’s verified signature.
🐛 Bug Fixes
- [MSHARED-1072] - Poll data from input stream (#140) @slawekjaranowski
👻 Maintenance
- [MSHARED-1252] - Bump plexus-io to 3.4.1 for maven-assembly-plugin (#141) @slawekjaranowski
Assets 2
3.4.1
maven-shared-utils-3.4.1
slawekjaranowski
Slawomir Jaranowski
This tag was signed with the committer’s verified signature.
3896942
This commit was signed with the committer’s verified signature.
Release Notes
🚀 New features and improvements
- [MNG-7729] - deprecate questionable IsEmpty/IsNotEmpty methods (#136) @elharo
- [MSHARED-1014] - Make Commandline.addSystemEnvironment public and deprecated (#138) @slawekjaranowski
- Deprecate newXmlWriter (#131) @elharo
- [MSHARED-1172] - Deprecate redundant isEmptyString method (#123) @elharo
- [MSHARED-1169] - deprecate join methods now available in Java 8 String class (#127) @elharo
- [MSHARED-1122] - FileUtils: avoid getCanonicalPath() (#114) @jukzi
- [MSHARED-1079] - add build() method and document toString() method (#96) @kwin
- [MSHARED-1014] - Optionally inherit system environment variables by Commandline (#94) @slawekjaranowski
- [MSHARED-983] - Drop plexus container default (#87) @cstamas
🐛 Bug Fixes
- [MSHARED-953] - don't trim (#124) @elharo
- [MSHARED-1072] - fix blocking in StreamFeeder (#113) @slawekjaranowski
- [MSHARED-1109] - Ignore MessageUtilsTest methods on unsupported platforms (#106) @kwin
- [MSHARED-1107] - Make copyFile succeed with source file having (#105) @kwin
- [MSHARED-985] - XmlWriterUtil platform independent and consistent (#91) @elharo
📦 Dependency updates
- Bump maven-resources-plugin from 3.1.0 to 3.3.1 (#137) @dependabot
- [MSHARED-1196] - Bump maven-shared-components from 37 to 39 (#134) @elharo
- [MSHARED-1197] - Bump plexus-utils from 3.5.0 to 3.5.1 (#132) @dependabot
- Bump apache/maven-gh-actions-shared from 2 to 3 (#130) @dependabot
- Bump plexus-utils from 3.4.2 to 3.5.0 (#120) @dependabot
- Bump commons-text from 1.3 to 1.10.0 (#119) @dependabot
- Bump maven-shared-components from 36 to 37 (#108) @dependabot
👻 Maintenance
- suggest java.nio.Files.walkFileTree as replacement for DirectoryScanner (#133) @elharo
- [MSHARED-1243] - Refresh download page (#139) @slawekjaranowski
- Bump maven-resources-plugin from 3.1.0 to 3.3.1 (#137) @dependabot
- remove debugging output that should not appear in a passing test (#135) @elharo
- [MSHARED-1116] - Drop findbugs-maven-plugin from configuration (#112) @slawekjaranowski
- [MSHARED-1113] - Downgrade m-resource-p to 3.1.0 (#109) @slawekjaranowski
- Cleanup unneeded dependencies (#98) @slawekjaranowski
- Fix typo in DirectoryScanner.java (#97) @wilx
- (doc) Throw more descriptive NPEx (#95) @pzygielo
- fix double typo (#92) @elharo
- cleanup YAGNI code and throw accurate exceptions (#90) @elharo
- remove two unused non-public exception classes (#89) @elharo
- avoid reusing fixtures (#86) @elharo
Assets 2
3.3.4
What's Changed
- [MSHARED-826] Require Java 7 by @mthmulders in #7
- docs: grammar by @elharo in #8
- [MSHARED-803] set names on threads by @elharo in #15
- [MSHARED-685] assert some things by @elharo in #16
- docs: fix issues URL by @elharo in #14
- docs: this project does have further dependencies by @elharo in #13
- [MSHARED-861] remove unreachable package by @elharo in #17
- remove info about what's not here by @elharo in #19
- [MSHARED-860] remove unreferenced non-public class by @elharo in #18
- [MSHARED-862] system independent file separator by @elharo in #21
- [MSHARED-860] deprecated Windows 9X CommandShell by @elharo in #20
- update to parent 34 by @elharo in #23
- fix a number of small warnings and formatting issues by @elharo in #10
- docs: Java 7 is the target by @elharo in #24
- docs: we don't shade commons-io by @elharo in #22
- [MSHARED-866] don't throw a java.lang.Error when reading invalid or corrupt properties files by @elharo in #25
- docs: edit various comments for typos and Sun javadoc conventions by @elharo in #26
- [MSHARED-881] use try with resources by @elharo in #27
- [MSHARED-860] Deprecate unnecessary Java7Support by @roxspring in #30
- [MRESOURCES-236] Attempt to copy file permissions when copying files by @roxspring in #29
- [MSHARED-881] use try-with-resources in #32
- [MSHARED-891] update to commons-lang 3.8.1 by @elharo in #33
- [MSHARED-892] modernize tests by @elharo in #34
- [MSHARED-893] deprecate file methods we don't need in Java 7+ by @elharo in #35
- [MSHARED-893] deprecate more file methods we don't need in Java 7+ by @elharo in #36
- [MSHARED-894] deprecate close methods since we require Java 7+ by @elharo in #38
- [MSHARED-893] deprecate more methods and clean up api doc and tests by @elharo in #37
- [MSHARED-894] deprecate many easily replaced methods by @elharo in #39
- docs: remove unreferenced non-public class by @elharo in #43
- [MSHARED-860] deprecate constants that are now available in Java 7+ by @elharo in #42
- [MSHARED-860] deprecate PropertyUtils constructor and clean up docs by @elharo in #41
- docs: correct API docs for clean and trim by @elharo in #44
- [MSHARED-898] prefer JDK classes to DirectoryScanner by @elharo in #45
- [MSHARED-860] suppress deprecations and clean up test methods by @elharo in #46
- update to Maven core 3.1.0 by @elharo in #47
- replace deprecated method by @elharo in #48
- [MSHARED-918] deprecate equals in favor of Objects.equals() by @elharo in #50
- [MSHARED-919] deprecate defaultString since it's now in the JDK by @elharo in #51
- clean up JavaDoc for StringUtils by @elharo in #52
- fix warnings by @elharo in #49
- Restore space between referenced parameter and its description by @pzygielo in #53
- Remove useless check by @pzygielo in #56
- [MSHARED-904] update test dependencies for Maven 3.1 by @elharo in #57
- remove call to deprecated method by @elharo in #58
- [MSHARED-848] deprecate XmlStreamReader by @elharo in #59
- [MSHARED-951] fix exception handling by @elharo in #61
- [MSHARED-954] Deprecate platform dependent unifyLineSeparators method by @elharo in #63
- [MSHARED-952] make PrettyPrintXmlWriter platform independent by @elharo in #62
- [MSHARED-954] fix JavaDoc typos by @elharo in #64
- fix a few JavaDoc errors by @elharo in #65
- deps: update JUnit by @elharo in #66
- remove unreachable catch block by @elharo in #71
- clean up Javadoc by @elharo in #76
- libraries should not communicate directly with the end user by @elharo in #75
- deprecate methods that have been obsolete since Java 1.5 by @elharo in #72
- clean up comments by @elharo in #73
- move plexus-utils to scope test by @elharo in #79
- Test, fix, and deprecate buggy copyDirectory methods by @elharo in #80
- [MSHARED-969] Environment variable with null value by @slawekjaranowski in #68
- Windows 9X is long dead by @elharo in #74
- [MNG-6380] Option -Dstyle.color=always doesn't force color output by @gnodet in #67
- [MNG-6915] Add a helper method to get the terminal width by @gnodet in #70
- remove unused plexus dependency by @elharo in #78
- update to JUnit 4.13.2 by @elharo in #83
- [SUREFIRE-1556] fail fast on empty element names by @elharo in #11
New Contributors
- @mthmulders made their first contribution in #7
- @roxspring made their first contribution in #30
- @gnodet made their first contribution in #67
Full Changelog: https://github.com/apache/maven-shared-utils/commits/maven-shared-utils-3.3.4