Skip to content

Commit

Permalink
Prepare for release 11.0.0
Browse files Browse the repository at this point in the history
Signed-off-by: Nikhil Nanivadekar <nikhil.nanivadekar@bnymellon.com>
  • Loading branch information
nikhilnanivadekar committed Aug 9, 2020
1 parent db5df6e commit fee39c9
Showing 1 changed file with 19 additions and 82 deletions.
101 changes: 19 additions & 82 deletions RELEASE_NOTE_DRAFT.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,25 @@
10.3.0
11.0.0
====================

This is the 10.3.0 minor release. Even though this is a minor release, by no means the release was minor. This release is feature packed with numerous contributions from many contributors.
This release is to provide new features requested by the community, various optimizations, reduce tech debt, and includes OSGi integration improvements.
This is the 11.0.0 major release.

The Eclipse Collections team gives a huge thank you to everyone who participated in this release.

# New Functionality
-----------------
* Implemented RichIterable.containsBy().
* Implemented RichIterable.flatCollectPrimitive().
* Implemented ListIterable.forEachInBoth().
* Implemented MapIterable.getOrDefault() to allow easy inter-op.
* Implemented MapIterable.aggregateBy() which can aggregate on key and value.
* Implemented MutableMap.withMap().
* Implemented primitiveIterable.toArray() which takes an array as a parameter to store the elements of the iterable.
* Implemented primitiveLists.withInitialCapacity() and primitiveSets.withInitialCapacity().
* Implemented primitiveList.wrapCopy() to create a list by first copying the array passed in.
* Implemented MutablePrimitiveList.shuffleThis().
* Implemented MutablePrimitiveList.swap().
* Implemented variant of MutablePrimitiveList.sortThis() which takes Comparator as input.
* Implemented variants of MutablePrimitiveList.sortThisBy() which takes primitiveToObjectFunction and Comparator as inputs.
* Made primitive*HashMap.keySet() serializable.
* Implemented singly-linked ImmutableStack.
* Implemented LongInterval.
* Implemented IntInterval.subList()
* Implemented Interval.fromToExclusive().
* Implemented Triples.
* Implemented Tuples.identicalTwin(), Tuples.identicalTriplet().
* Implemented missing methods in Multimap factory.
* Implemented Comparators.byFunctionNullsFirst(), Comparators.byFunctionNullsLast().
* Implemented Bags.ofOccurrences() and Bags.withOccurrences().
* Added Hindi Translation of Eclipse Collections website.
*

# Tech Debt Reduction
---------------------
* Replaced usage of org.eclipse.collections.impl.factory with org.eclipse.collections.api.factory wherever possible.
* Added default method for RichIterable.aggregateBy() that takes a target Map.
* Pulled up RichIterable.groupByUniqueKey() as default methods.
* Pulled up implementations of aggregateBy() as default methods.
* Pulled up implementations of with(), without(), withAll(), withoutAll() as default methods.
* Pulled up OrderedIterable.toStack() as a default method.
* Pulled up ListIterable.binarySearch() as default methods.
* Simplified implementation of RichIterable.containsBy().
* Added missing tests for MapIterable.getIfAbsent*().
* Added missing tests for MultimapsTest.
* Added missing tests for primitiveIterable.reduceIfEmpty().
* Optimized ImmutableListFactoryImpl.toImmutable() by not creating a redundant array copy
* Optimized Bag.aggregateBy() to use forEachWithOccurrences.
* Optimized primitiveList.toImmutable() by not creating a redundant array copy.
* Optimized collect methods for primitiveImmutableSingletonBag, primitiveImmutableSingletonSet, and primitiveImmutableSingletonList.
* Optimized BooleanArrayList.removeIf().
* Optimized IntInterval.size() and Interval.size() by caching size.
* Optimized IntInterval.sum(), IntInterval.mean(), and IntInterval.average() by using direct formulas.
* Removed duplicate code for implementations of aggregateBy().
* Removed duplicate methods in AbstractMutableBagIterable and AbstractImmutableBagIterable that have been moved up as default methods.
* Removed duplicate overrides for forEach().
* Added Javadocs for primitivePrimitiveMaps, primitiveObjectMaps, objectPrimitiveMaps, primitiveValuesMaps and their hierarchy.
* Improved documentation of Function2, Function3, and MutableCollection.injectIntoWith.
* Enabled code generation of BooleanArrayStack from the common primitive stack template.
* Added missing @Override annotations for tap().
* Added and fixed Checkstyle checks for comma-separated lists that are partially wrapped.
* Fixed Javadoc errors and warnings.
* Fixed whitespace and line-wrapping violations.
* Fixed inspections violations.
* Fixed gradle dependency settings in website.
*

# OSGi Integration Improvements
-------------------------------
* Added OSGi metadata.
* Fixed OSGi metadata to have sun.misc be an optional import package.
* Fixed project versions published to p2 repository.
*

# Build Changes
-----------------
* Migrated builds to GitHub Actions.
* Removed Travis builds.
* Added initial integration with Pitest for mutation testing.
* Upgraded Maven to 3.6.3.
* Upgraded dependencies used by tests.
* Upgraded CheckStyle to 8.34
* Upgraded Tycho plugin to 1.7.0
* Upgraded EBR plugin to 1.2.0.
* Upgraded versions of various Maven plugins.
*

# Note
-------
Expand All @@ -99,47 +36,47 @@ Acquiring Eclipse Collections
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId>
<version>10.3.0</version>
<version>11.0.0</version>
</dependency>

<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
<version>10.3.0</version>
<version>11.0.0</version>
</dependency>

<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-testutils</artifactId>
<version>10.3.0</version>
<version>11.0.0</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-forkjoin</artifactId>
<version>10.3.0</version>
<version>11.0.0</version>
</dependency>
```

### Gradle

```groovy
implementation 'org.eclipse.collections:eclipse-collections-api:10.3.0'
implementation 'org.eclipse.collections:eclipse-collections:10.3.0'
testImplementation 'org.eclipse.collections:eclipse-collections-testutils:10.3.0'
implementation 'org.eclipse.collections:eclipse-collections-forkjoin:10.3.0'
implementation 'org.eclipse.collections:eclipse-collections-api:11.0.0'
implementation 'org.eclipse.collections:eclipse-collections:11.0.0'
testImplementation 'org.eclipse.collections:eclipse-collections-testutils:11.0.0'
implementation 'org.eclipse.collections:eclipse-collections-forkjoin:11.0.0'
```

### Ivy

```xml
<dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.3.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.3.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-testutils" rev="10.3.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-forkjoin" rev="10.3.0"/>
<dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="11.0.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections" rev="11.0.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-testutils" rev="11.0.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-forkjoin" rev="11.0.0"/>
```

### OSGi Bundle

Eclipse software repository location: http://download.eclipse.org/collections/10.3.0/repository
Eclipse software repository location: http://download.eclipse.org/collections/11.0.0/repository

0 comments on commit fee39c9

Please sign in to comment.