| 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` |