4 | | |
5 | | > * A new class TarFile provides random access to TAR archives. |
6 | | > * Commons Compress now ships with a copy of the Pack200 code of the retired Apache Harmony project. The pack200 support in Commons Compress no longer uses the implementation of the Java class library - and thus also works for Java 14 and later. |
7 | | > * Added new methods supporting java.nio.Path as an alternative to java.io.File to many classes. |
| 4 | * A new class TarFile provides random access to TAR archives. |
| 5 | * Commons Compress now ships with a copy of the Pack200 code of the retired Apache Harmony project. The pack200 support in Commons Compress no longer uses the implementation of the Java class library - and thus also works for Java 14 and later. |
| 6 | * Added new methods supporting java.nio.Path as an alternative to java.io.File to many classes. |
| 64 | == checkstyle |
| 65 | * Update [https://checkstyle.sourceforge.io/releasenotes.html checkstyle] from 8.44 to 9.1 |
| 66 | * Removal of EOF token. Testing showed that COMPILATION_UNIT had equivalent behavior for TopLevelJavadocCheck. |
| 67 | * NoWhitespaceBeforeCaseDefaultColon |
| 68 | * Various bug fixes |
| 69 | |
| 70 | == pmd |
| 71 | * Update [https://pmd.github.io/pmd-6.40.0/pmd_release_notes_old.html pmd] from 6.20 to [https://pmd.github.io/pmd-6.40.0/pmd_release_notes.html 6.40]. |
| 72 | * `ASTCommentContainer` may be able to be used in the future to replace the custom TopLevelJavadocCheck. Currently experimental, so we probably don't want to use it. |
| 73 | * Java 17 support (specifically, Sealed Classes) |
| 74 | * New rules |
| 75 | * `PrimitiveWrapperInstantiation` |
| 76 | * `SimplifiableTestAssertion` |
| 77 | * `ReturnEmptyCollectionRatherThanNull` (I've explicitly disabled this, as some parts of JOSM return `null` right now, and I'd rather make this diff as minimal as possible) |
| 78 | * `Junit5TestShouldBePackagePrivate` |
| 79 | * `CognitiveComplexity` (also disabled due to many positives in JOSM source) |
| 80 | * `MutableStaticState` (also diabled due to positives in JOSM source) |
| 81 | * `UseStandardCharsets` |
| 82 | * `UnusedAssignment` |
| 83 | * `UnnecessaryCast` (also disabled due to positives in JOSM source) |
| 84 | * `AvoidCalendarDateCreation` |
| 85 | * `UseIOStreamsWithApacheCommonsFileItem` |
| 86 | * `LiteralsFirstInComparisons` |
| 87 | * Java 16 support (pattern matching/records) |
| 88 | * Java 15 support (text blocks) |
| 89 | * Java 14 support (switch expressions) |
| 90 | * josm-ruleset.xml has been updated for PMD 6.40. Where a check is disabled, I've added a `reason` attribute, so we know why something is disabled. I've also renamed rules, where applicable. |
| 91 | |
65 | | NOTE: I'll try highlighting changes in the dependencies here |
| 100 | == errorprone |
| 101 | * Update [https://github.com/google/error-prone/releases errorprone] from 2.8.1 to 2.10.0 |
| 102 | * New checks: |
| 103 | * `AlwaysThrows` |
| 104 | * `StackTraceElementGetClass` |
| 105 | * `BareDotMetacharacter` |
| 106 | * `DistinctVarargsChecker` |
| 107 | * `MalformedInlineTag` |
| 108 | * `MemoizeConstantVisitorStateLookups` |
| 109 | * `UnicodeEscape` (note: I disabled this in a method for `DomainValidator`) |
| 110 | * `FieldMissingNullable` |
| 111 | * `Java8ApiChecker` |
| 112 | * `ParameterMissingNullable` |
| 113 | * `TooManyParameters` |
| 114 | * `TryWithResourcesVariable` |
| 115 | * `UnnecessaryFinal` |
| 116 | * `VoidMissingNullable` |
| 117 | * `DeprecatedVariable` |
| 118 | * `PublicApiNamedStreamShouldReturnStream` |