diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b91e49f382..c0d4dde5cf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,9 +41,8 @@ Contributing to Apache Commons Collections ====================== -You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to -the open source community. Before you dig right into the code there are a few guidelines that we need contributors to -follow so that we can have a chance of keeping on top of things. +Have you found a bug or have an idea for a cool new feature? Contributing code is a great way to give something back to the open-source community. +Before you dig right into the code, we need contributors to follow a few guidelines to have a chance of keeping on top of things. Getting Started --------------- @@ -62,7 +61,7 @@ Making Changes + Create a _topic branch_ for your isolated work. * Usually you should base your branch on the `master` branch. - * A good topic branch name can be the JIRA bug id plus a keyword, e.g. `COLLECTIONS-123-InputStream`. + * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `COLLECTIONS-123-InputStream`. * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests. + Make commits of logical units. * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue. @@ -72,7 +71,7 @@ Making Changes + Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first. + Check for unnecessary whitespace with `git diff` -- check before committing. + Make sure you have added the necessary tests for your changes, typically in `src/test/java`. -+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken. ++ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken. Making Trivial Changes ---------------------- diff --git a/README.md b/README.md index 4cf0a17edc..c18fe00a5a 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Apache Commons Collections [![Java CI](https://github.com/apache/commons-collections/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-collections/actions/workflows/maven.yml) [![Maven Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-collections4?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-collections4) -[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-collections4/4.5.0-M2.svg)](https://javadoc.io/doc/org.apache.commons/commons-collections4/4.5.0-M2) +[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-collections4/4.5.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-collections4/4.5.0-M3) [![CodeQL](https://github.com/apache/commons-collections/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-collections/actions/workflows/codeql-analysis.yml) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-collections/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-collections) @@ -62,20 +62,20 @@ Getting the latest release -------------------------- You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-collections/download_collections.cgi). -Alternatively, you can pull it from the central Maven repositories: +Alternatively, you can pull it from the central Maven repositories: ```xml org.apache.commons commons-collections4 - 4.5.0-M2 + 4.5.0-M3 ``` Building -------- -Building requires a Java JDK and [Apache Maven](https://maven.apache.org/). +Building requires a Java JDK and [Apache Maven](https://maven.apache.org/). The required Java version is found in the `pom.xml` as the `maven.compiler.source` property. From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks. diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 6142ca7e11..388ed07955 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,3 +1,83 @@ +Apache Commons Collections 4.5.0-M3 RELEASE NOTES +------------------------------------------------- + +The Apache Commons Collections package contains types that extend and augment the Java Collections Framework. + +This is a feature and maintenance release. Java 8 or later is required. + +Changes in this version +----------------------- + +New features +------------ + +* LayerManager.Builder implements Supplier. Thanks to Gary Gregory. +* Add CollectionUtils.duplicateList(Collection). Thanks to Gary Gregory, hemanth0525. +* Add CollectionUtils.duplicateSet(Collection). Thanks to Gary Gregory, hemanth0525. +* Add CollectionUtils.duplicateSequencedSet(Collection). Thanks to Gary Gregory, hemanth0525. +* Add HashBag.HashBag(Iterable). Thanks to Gary Gregory. +* Add TreeBag.TreeBag(Iterable). Thanks to Gary Gregory. +* COLLECTIONS-858: Add CartesianProductIterator #509. Thanks to Alexey Pelykh, Alex Herbert, Gary Gregory. +* Add missing methods in AbstractMapTests. Thanks to Gary Gregory. +* COLLECTIONS-700: Add ConcurrentReferenceHashMap. Thanks to Gary Gregory. +* Add commons.easymock.version to parameterize EasyMock version. Thanks to Gary Gregory. +* COLLECTIONS-869: Add org.apache.commons.collections4.IteratorUtils.chainedIterator(Iterator>). Thanks to Gary Gregory. +* COLLECTIONS-533: Add ArrayListValuedLinkedHashMap #560. Thanks to Peter De Maeyer. +* Add missing test AbstractIteratorTest.testForEachRemaining(). Thanks to Gary Gregory. +* Add FilterIterator.removeNext() #564. Thanks to Gary Gregory, Claude Warren. +* COLLECTIONS-870: Add ExtendedIterator and tests #564. Thanks to Claude Warren, Gary Gregory. +* Refactor ExtendedIterator and FilterIterator with a new interface IteratorOperations. Thanks to Gary Gregory. +* COLLECTIONS-871: Add LinkedHashSetValuedLinkedHashMap #565. Thanks to Peter De Maeyer. + +Fixed Bugs +---------- + +* COLLECTIONS-857: Complete bloom filter documentation #507. Thanks to Claude Warren. +* Package private AbstractEmptyIterator implements ResettableIterator so subclasses don't. Thanks to Gary Gregory. +* Deprecate AbstractEmptyIterator.add(E) without replacement. Thanks to Gary Gregory. +* Add missing Javadocs. Thanks to Gary Gregory. +* PatriciaTrie constructor reuse the stateless singleton StringKeyAnalyzer.INSTANCE. Thanks to Gary Gregory. +* Deprecate StringKeyAnalyzer.StringKeyAnalyzer() in favor of StringKeyAnalyzer.INSTANCE. Thanks to Gary Gregory. +* [Functional] FunctorUtils.validate(Closure...) is now FunctorUtils.validate(Consumer...). Thanks to Gary Gregory. +* [Functional] FunctorUtils.validate(Predicate...) is now FunctorUtils.validate(java.util.function.Predicate...). Thanks to Gary Gregory. +* [Functional] FunctorUtils.validate(Transformer...) is now FunctorUtils.validate(Function...). Thanks to Gary Gregory. +* Increase test coverage for ListUtils #517. Thanks to Dávid Szigecsán. Gary Gregory. +* Use the Junit (Jupiter) API #518. Thanks to Dávid Szigecsán. +* BloomFilterExtractor.flatten() should throw an exception instead of returning null. Thanks to Gary Gregory, Alex Herbert. +* Improve WrappedBloomFilterTest. All tests now assert copy() the same way. Thanks to Gary Gregory, Claude Warren. +* COLLECTIONS-860: Javadoc CollectionBag.add* to throw ClassCastException. Thanks to Gary Gregory, Daniele. +* Fix generics in IteratorChain.IteratorChain(Collection). Thanks to Gary Gregory. +* Fix generics in org.apache.commons.collections4.IteratorUtils.chainedIterator(Collection). Thanks to Gary Gregory. +* COLLECTIONS-856: Javadoc: Document interaction between peek and filter iterator #515. Thanks to Benjamin Confino, Gary Gregory. +* COLLECTIONS-815: Javadoc: Update ClosureUtils Javadoc to match runtime. Thanks to Elia Bertolina, Gary Gregory. +* COLLECTIONS-815: Javadoc: Update ClosureUtils Javadoc to match runtime. Thanks to Gary Gregory. +* COLLECTIONS-777: Migrate to JUnit 5. Thanks to Gary Gregory. +* Fix NullPointerException in FilterIterator.setNextObject(). Thanks to Gary Gregory. +* EqualPredicate.test(Object) should return true if the parameter is the same object as given the constructor. Thanks to Gary Gregory. + +Changes +------- + +* Bump org.apache.commons:commons-parent from 71 to 78 #534, #545, #550 #555, #566. Thanks to Gary Gregory. +* COLLECTIONS-857: Update bloom filter documentation #508. Thanks to Claude Warren. +* Bump commons-codec:commons-codec from 1.17.0 to 1.17.1 #514. Thanks to Dependabot, Gary Gregory. +* Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #516, #525, #535. Thanks to Dependabot, Gary Gregory. +* Bump org.hamcrest:hamcrest from 2.2 to 3.0 #522, #532. Thanks to Dependabot, Gary Gregory. +* Bump com.google.guava:guava-testlib from 33.2.1-jre to 33.3.1-jre #531, #549. Thanks to Dependabot, Gary Gregory. +* Bump MathJax from 2.7.2 to 2.7.9. Thanks to Gary Gregory. +* [test] Bump org.easymock:easymock from 5.3.0 to 5.5.0 #521, #576. Thanks to Dependabot, Gary Gregory. +* [test] Bump commons-io:commons-io from 2.16.1 to 2.18.0 #544, #575. Thanks to Dependabot, Gary Gregory. + + +For complete information on Apache Commons Collections, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons Collections website: + +https://commons.apache.org/proper/commons-collections/ + +Download page: https://commons.apache.org/proper/commons-collections/download_collections.cgi + +----------------------------------------------------------------------------- + Apache Commons Collections 4.5.0-M2 RELEASE NOTES ------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index be5da9e04e..756b8f4968 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -22,7 +22,7 @@ Apache Commons Collections Release Notes - + Complete bloom filter documentation #507. Package private AbstractEmptyIterator implements ResettableIterator so subclasses don't. diff --git a/src/site/xdoc/download_collections.xml b/src/site/xdoc/download_collections.xml index cdadd32f5d..35b84b6072 100644 --- a/src/site/xdoc/download_collections.xml +++ b/src/site/xdoc/download_collections.xml @@ -113,122 +113,32 @@ limitations under the License.

-
+
- - - + + + - - - + + +
commons-collections4-4.5.0-M2-bin.tar.gzsha512pgpcommons-collections4-4.5.0-M3-bin.tar.gzsha512pgp
commons-collections4-4.5.0-M2-bin.zipsha512pgpcommons-collections4-4.5.0-M3-bin.zipsha512pgp
- - - + + + - - - - -
commons-collections4-4.5.0-M2-src.tar.gzsha512pgpcommons-collections4-4.5.0-M3-src.tar.gzsha512pgp
commons-collections4-4.5.0-M2-src.zipsha512pgp
-
-
-
- - - - - - - - - - - - -
commons-collections4-4.2-bin.tar.gzsha512pgp
commons-collections4-4.2-bin.zipsha512pgp
-
- - - - - - - - - - - - -
commons-collections4-4.2-src.tar.gzsha512pgp
commons-collections4-4.2-src.zipsha512pgp
-
-
-
- - - - - - - - - - - - -
commons-collections4-4.1-bin.tar.gzsha512pgp
commons-collections4-4.1-bin.zipsha512pgp
-
- - - - - - - - - - - - -
commons-collections4-4.1-src.tar.gzsha512pgp
commons-collections4-4.1-src.zipsha512pgp
-
-
-
- - - - - - - - - - - - -
commons-collections-3.2.2-bin.tar.gzsha256pgp
commons-collections-3.2.2-bin.zipsha256pgp
-
- - - - - - - - - - - + + +
commons-collections-3.2.2-src.tar.gzsha256pgp
commons-collections-3.2.2-src.zipsha256pgpcommons-collections4-4.5.0-M3-src.zipsha512pgp