commons-collections/RELEASE-NOTES.html

93 lines
4.6 KiB
HTML
Raw Normal View History

<!--
Copyright 2003-2005 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<title>RELEASE NOTES: COLLECTIONS 3.2</title>
</head>
<body>
<center><h2>RELEASE NOTES: COLLECTIONS 3.2</h2></center>
<p>
Commons collections is a project to develop and maintain collection classes
based on and inspired by the JDK collection framework.
This project is JDK1.2 compatible, and does not use JDK1.5 generics.
</p>
<p>
This release adds various new classes and fixes a number of bugs.
All feedback should be directed to commons-user at jakarta.apache.org.
</p>
<hr />
<center><h3>COMPATABILITY</h3></center>
<p>
This release is fully source and binary compatible with v3.1.
(Checks performed using JDiff and Clirr, thanks).
Please check the bug fixes to ensure you weren't relying on the behaviour of a bug.
</p>
<p>
There is one new <i>deprecation</i>:<br />
BeanMap is now deprecated and will be removed in v4.0.
The class is now available in commons-beanutils (full jar version).
This change was made to ensure that all bean related collections were in one place (ie. beanutils).
If this causes major headaches to anyone please contact commons-dev at jakarta.apache.org
</p>
<center><h3>NEW CLASSES</h3></center>
<ul>
<li>MultiValueMap - Decorator implementation of MultiMap providing control over the map and collection implementations [29440]</li>
<li>DefaultedMap - Returns a default value when the key is not found, without adding the default value to the map itself [30911]</li>
<li>GrowthList - Decorator that causes set and indexed add to expand the list rather than throw IndexOutOfBoundsException [34171]</li>
<li>LoopingListIterator - When the end of the list is reached the iteration continues from the start [30166]</li>
</ul>
<center><h3>ENHANCEMENTS</h3></center>
<ul>
<li>CollectionUtils.addIgnoreNull - Adds to the collection if the value being added is not null [30020]</li>
<li>MapUtils.putAll - Puts an array of key/value pairs into a map [30882]</li>
<li>ExtendedProperties - No longer uses an exception in normal processing [30497]</li>
<li>CollectionUtils/ListUtils - retainAll/removeAll that don't change original colllection</li>
<li>BlockingBuffer - now includes stack trace if InterupttedException occurs [33700]</li>
<li>BlockingBuffer - new methods that allow get and remove with a timeout [27691]</li>
</ul>
<center><h3>BUG FIXES</h3></center>
<ul>
<li>FastArrayList - Fix iterators and views to work better in multithreaded environments</li>
<li>FastArrayList - Fix iterator remove where ConcurrentModificationException not as expected [34690]</li>
<li>SetUniqueList.set(int,Object) - Destroyed set status in certain circumstances [33294]</li>
<li>AbstractLinkedMap.init() - Now calls createEntry() to create the map entry object [33706]</li>
<li>AbstractHashedMap deserialization - Fix to prevent doubling of internal data array [34265]</li>
<li>AbstractHashedMap initialization - Fix to setup threshold correctly, improving performance [35012]</li>
<li>BeanMap.initialize() - Internal variable now correctly initialised with only write methods that actually exist [15895]</li>
<li>MultiHashMap.remove(key, item) - Was returning the item even when nothing was removed [32366]</li>
<li>MultiHashMap.putAll(multimap) - Was adding the collection as a single item rather than individually [35631]</li>
<li>Flat3Map.equals() - Fix to make flat mode comparison actually work [34917]</li>
<li>TransformedMap.putAll - Now allows putAll of an empty map [34686]</li>
<li>BoundedFifoBuffer/CircularFifoBuffer - Fix serialization to work in case where buffer serialized when full [31433]</li>
<li>BoundedFifoBuffer - Fix iterator remove bug causing ArrayIndexOutOfBounds error [33071]</li>
<li>IteratorChain.remove() - Fix to avoid IllegalStateException when one of the underlying iterators is a FilterIterator [34267]</li>
<li>ExtendedProperties.convertProperties() - Fix to handle default properties maps correctly [32204]</li>
<li>Add casts to avoid some JDK1.5 compilation warnings [35474]</li>
</ul>
<center><h3>JAVADOC</h3></center>
<ul>
<li>MapUtils.safeAddToMap - Better comment</li>
<li>ListOrderedSet.decorate(List) - Better comment [32073]</li>
</ul>
</body>
</html>