Eclipse Collections 11.0.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

11.0.0

Description

This is the 11.0.0 major release. The central theme of this release is the addition of new APIs, features as requested by the community and decrease tech debt. 

New Functionality 

  • Helpful and convenient APIs -  These are API requested either by the community or by project committers.
    • Added putAllMapIterable method to Mutable Maps.
    • Added selectWithIndex and rejectWithIndex to OrderedIterable and ListIterable.
    • Added toImmutableSortedBagBy,toImmutableSortedMap, toImmutableSortedMapBy,toSortedMap, toSortedMapBy to Collectors2.
    • Fused methods - Added toImmutableMap, toImmutableBiMap,toImmutableSortedList, toImmutableSortedSet, toImmutableSortedBag, toImmutableList/Set/Bag  to RichIterable. Added toImmutableSortedBag/List/Set with Comparator and toImmutableSortedBagBy/ListBy/SetBy with Function to RichIterable.
    • Added newWithMap, newWithMapIterable to ImmutableMap and withMapIterable, putAllMapIterable to MutableMap.
    • Added toImmutableList, toImmutableSet, toImmutableBag to AbstractMultiReaderMutableCollection and AbstractSynchronizedRichIterable
    • Implemented containsAny and containsNone on primitive iterables.
    • Added toSortedList(Comparator) and toSortedListBy(Function) to primitive Iterables.
    • Implemented Bag.anySatisfyWithOccurrences(), Bag.allSatisfyWithOccurrences(), Bag.noneSatisfyWithOccurrences(), Bag.detectWithOccurrences().
    • Added union, intersect, difference, symmetric difference, cartesianProduct , isSubsetOf, isProperSubsetOf operations on primitive sets. 
  • Added Norwegian translation for the Eclipse Collections website.

Tech Debt Reduction 

  • Added test coverage to improve PIT Mutation coverage and missing tests in some cases. 
  • Deprecated  ImmutableArrayStack.
  • Removed implementations of OrderedIterable.toStack(), aggregateBy, aggregateInPlaceBy as they can use the default implementation instead.

Removed Functionality 

  • Removed Verify.assertThrows() which takes a Runnable in favor of Assert.assertThrows(). This is a breaking change.
  • Removed assertNotEquals() from Verify as Assert already has the same API.

Ongoing maintenance changes 

  • Upgrades to project dependencies - EBR plugin, actions/cache, actions/upload-artifact, antlr ST4, checkstyle, codehaus maven plugin, jacoco, jmh-core, maven-resources-plugin, JUnit, setup-java.
  • Other changes include adding badges to README.
  • Added documentation on serializing Eclipse Collections with Jackson.

 

Conforms To UI/UX Guidelines
Not verified
This release is part of Eclipse IDE 2022-06