Skip to content

Commit

Permalink
Prepare for release 10.3.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 7, 2020
1 parent 39a66b0 commit 786f7d1
Show file tree
Hide file tree
Showing 11 changed files with 199 additions and 192 deletions.
119 changes: 93 additions & 26 deletions RELEASE_NOTE_DRAFT.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,94 @@
10.2.0
10.3.0
====================

This is the 10.2.0 minor release.
This release is to provide new features requested by the community, bug fix for edge case issues, and reduce tech debt.
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.

# New Functionality
-----------------
* Exposed the `allocateTable` method as `protected` in Primitive Maps and Primitive Sets.
The Eclipse Collections team gives a huge thank you to everyone who participated in this release.

# Bug Fixes
# New Functionality
-----------------
* Fixed size edge case issues in Interval and IntInterval.
* 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
---------------------
* Optimized `removeIf` on UnifiedMap.
* Implemented `removeIf` as a `default` method on MutableMapIterable.
* Replaced usages of `Comparators.nullSafeEquals()` with `Objects.equals()`.
* 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
-----------------
* Moved some maven configuration from .travis.yml to jvm.config.
* Changed Maven plugin repository to use https.
* 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
-------
_We have taken all the measures to ensure all features are captured in the release notes.
However, release notes compilation is manual, so it is possible that a commit might be missed.
For a comprehensive list of commits please go through the commit log._

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

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

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

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

### Gradle

```groovy
compile 'org.eclipse.collections:eclipse-collections-api:10.2.0'
compile 'org.eclipse.collections:eclipse-collections:10.2.0'
testCompile 'org.eclipse.collections:eclipse-collections-testutils:10.2.0'
compile 'org.eclipse.collections:eclipse-collections-forkjoin:10.2.0'
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'
```

### Ivy

```xml
<dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.2.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.2.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-testutils" rev="10.2.0" />
<dependency org="org.eclipse.collections" name="eclipse-collections-forkjoin" rev="10.2.0"/>
<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"/>
```

### OSGi Bundle

Eclipse software repository location: http://download.eclipse.org/collections/10.2.0/repository
Eclipse software repository location: http://download.eclipse.org/collections/10.3.0/repository
24 changes: 10 additions & 14 deletions site/cn/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">Javadoc<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../javadoc/10.3.0">10.3.0</a></li>
<li><a href="../javadoc/10.2.0">10.2.0</a></li>
<li><a href="../javadoc/10.1.0">10.1.0</a></li>
<li><a href="../javadoc/10.0.0">10.0.0</a></li>
Expand Down Expand Up @@ -169,29 +170,29 @@ <h2 class="section-heading">Eclipse Collections入门须知</h2>
&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
&lt;artifactId&gt;eclipse-collections-api&lt;/artifactId&gt;
&lt;version&gt;10.2.0&lt;/version&gt;
&lt;version&gt;10.3.0&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
&lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
&lt;version&gt;10.2.0&lt;/version>
&lt;version&gt;10.3.0&lt;/version>
&lt;/dependency&gt;</pre>
</div>
<div class="tab-pane fade" id="gradle">
<pre class="prettyprint">
implementation 'org.eclipse.collections:eclipse-collections-api:10.2.0'
implementation 'org.eclipse.collections:eclipse-collections:10.2.0'</pre>
implementation 'org.eclipse.collections:eclipse-collections-api:10.3.0'
implementation 'org.eclipse.collections:eclipse-collections:10.3.0'</pre>
</div>
<div class="tab-pane fade" id="ivy">
<pre class="prettyprint">
&lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.2.0" /&gt;
&lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.2.0" /&gt;</pre>
&lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.3.0" /&gt;
&lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.3.0" /&gt;</pre>
</div>
<div class="tab-pane fade" id="download">
<pre class="prettyprint">
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/10.2.0">eclipse-collections-api-10.2.0.jar</a>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.2.0">eclipse-collections-10.2.0.jar</a></pre>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/10.3.0">eclipse-collections-api-10.3.0.jar</a>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.3.0">eclipse-collections-10.3.0.jar</a></pre>
</div>

</div>
Expand Down Expand Up @@ -572,15 +573,10 @@ <h3>贡献</h3>
</div>
<div class="col-lg-4 col-sm-4">
<h3>最新消息</h3>
<p class="regular">Eclipse Collections 10.3.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.3.0">发布</a> <a class="light">(Aug 8th 2020)</a></p>
<p class="regular">Eclipse Collections 10.2.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.2.0">发布</a> <a class="light">(Feb 11th 2020)</a></p>
<p class="regular">Eclipse Collections 10.1.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.1.0">发布</a> <a class="light">(Dec 4th 2019)</a></p>
<p class="regular">Eclipse Collections 10.0.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.0.0">发布</a> <a class="light">(Jul 10th 2019)</a></p>
<p class="regular">Eclipse Collections 9.2.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.2.0">发布</a> <a class="light">(May 20th 2018)</a></p>
<p class="regular">Eclipse Collections 9.1.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">发布</a> <a class="light">(Jan 1st 2018)</a></p>
<p class="regular">Eclipse Collections 9.0.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">发布</a> <a class="light">(Sep 21nd 2017)</a></p>
<p class="regular">Eclipse Collections 8.2.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">发布</a> <a class="light">(Jun 22nd 2017)</a></p>
<p class="regular">Eclipse Collections 8.1.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">发布</a> <a class="light">(Mar 16th 2017)</a></p>
<p class="regular">Eclipse Collections 8.0.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">发布</a> <a class="light">(Sep 8th 2016)</a></p>
</div>
<div class="col-lg-4 col-sm-4">
<h3>社区链接集合</h3>
Expand Down
24 changes: 10 additions & 14 deletions site/de/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">Javadoc<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../javadoc/10.3.0">10.3.0</a></li>
<li><a href="../javadoc/10.2.0">10.2.0</a></li>
<li><a href="../javadoc/10.1.0">10.1.0</a></li>
<li><a href="../javadoc/10.0.0">10.0.0</a></li>
Expand Down Expand Up @@ -170,29 +171,29 @@ <h2 class="section-heading">Einführung in die <br>Eclipse Collections</h2>
&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
&lt;artifactId&gt;eclipse-collections-api&lt;/artifactId&gt;
&lt;version&gt;10.2.0&lt;/version&gt;
&lt;version&gt;10.3.0&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
&lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
&lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
&lt;version&gt;10.2.0&lt;/version>
&lt;version&gt;10.3.0&lt;/version>
&lt;/dependency&gt;</pre>
</div>
<div class="tab-pane fade" id="gradle">
<pre class="prettyprint">
implementation 'org.eclipse.collections:eclipse-collections-api:10.2.0'
implementation 'org.eclipse.collections:eclipse-collections:10.2.0'</pre>
implementation 'org.eclipse.collections:eclipse-collections-api:10.3.0'
implementation 'org.eclipse.collections:eclipse-collections:10.3.0'</pre>
</div>
<div class="tab-pane fade" id="ivy">
<pre class="prettyprint">
&lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.2.0" /&gt;
&lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.2.0" /&gt;</pre>
&lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.3.0" /&gt;
&lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.3.0" /&gt;</pre>
</div>
<div class="tab-pane fade" id="download">
<pre class="prettyprint">
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/10.2.0">eclipse-collections-api-10.2.0.jar</a>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.2.0">eclipse-collections-10.2.0.jar</a></pre>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/10.3.0">eclipse-collections-api-10.3.0.jar</a>
<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.3.0">eclipse-collections-10.3.0.jar</a></pre>
</div>

</div>
Expand Down Expand Up @@ -578,15 +579,10 @@ <h3>Contribute</h3>
</div>
<div class="col-lg-4 col-sm-4">
<h3>Letzte Versionen</h3>
<p class="regular">Eclipse Collections 10.3.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.3.0">released</a> <a class="light">(Aug 8th 2020)</a></p>
<p class="regular">Eclipse Collections 10.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.2.0">released</a> <a class="light">(Feb 11th 2020)</a></p>
<p class="regular">Eclipse Collections 10.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.1.0">released</a> <a class="light">(Dec 4th 2019)</a></p>
<p class="regular">Eclipse Collections 10.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.0.0">released</a> <a class="light">(Jul 10th 2019)</a></p>
<p class="regular">Eclipse Collections 9.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.2.0">released</a> <a class="light">(May 20th 2018)</a></p>
<p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">released</a> <a class="light">(Jan 1st 2018)</a></p>
<p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">released</a> <a class="light">(Sep 21nd 2017)</a></p>
<p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">released</a> <a class="light">(Jun 22nd 2017)</a></p>
<p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">released</a> <a class="light">(Mar 16th 2017)</a></p>
<p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">released</a> <a class="light">(Sep 8th 2016)</a></p>
</div>
<div class="col-lg-4 col-sm-4">
<h3>Community Links</h3>
Expand Down
Loading

0 comments on commit 786f7d1

Please sign in to comment.