Browse files

Merging from -r468106:814127 of collections_jdk5_branch - namely this…

… file was ported from html to txt.

git-svn-id: 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information...
Henri Yandell
Henri Yandell committed Sep 15, 2009
1 parent d16bc85 commit d8e1279d0f7ccedc9bfe4161eb5df9ff2900913a
Showing with 57 additions and 109 deletions.
  1. +0 −109 RELEASE-NOTES.html
  2. +57 −0 RELEASE-NOTES.txt
@@ -1,109 +0,0 @@
- <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<title>RELEASE NOTES: COLLECTIONS 3.3</title>
-<center><h2>RELEASE NOTES: COLLECTIONS 3.3</h2></center>
-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.
-This release adds various new classes and fixes a number of bugs.
-All feedback should be directed to commons-user at
-<hr />
-This release is fully source and binary compatible with v3.2.
-(Checks performed using JDiff and Clirr, thanks).
-Please check the bug fixes to ensure you weren't relying on the behaviour of a bug.
-One bug was that the ExtendedProperties was hiding properties with empty
-property values. It is possible you could have been depending on that feature.
-See [<a href="">COLLECTIONS-238</a>].
-There are is one new <i>deprecation</i>:<br />
-<li>ExtendedProperties.include is deprecated in favour of a getInclude()/setInclude(String) pairing</li>
-If this causes major headaches to anyone please contact dev at
-<center><h3>NEW CLASSES</h3></center>
-<li>CollatingIterator - getIteratorIndex() method added [<a href="">COLLECTIONS-289</a>]</li>
-<li>CollectionUtils - size(null) now returns 0 [<a href="">COLLECTIONS-230</a>]</li>
-<li>CollectionUtils - sizeIsEmpty(null) return true [<a href="">COLLECTIONS-298</a>]</li>
-<li>Composite classes - Now implement Serializable [<a href="">COLLECTIONS-221</a>]</li>
-<li>ExtendedProperties - load() now allows empty property values [<a href="">COLLECTIONS-238</a>]</li>
-<li>ListOrderedMap - putAll method added [<a href="">COLLECTIONS-226</a>]</li>
-<li>ListUtils - indexOf(List,Predicate) method added [<a href="">COLLECTIONS-235</a>]</li>
-<li>MapUtils - populateMap methods added [<a href="">COLLECTIONS-194</a>]</li>
-<li>MultiValueMap - Now implements Serializable [<a href="">COLLECTIONS-240</a>]</li>
-<li>PredicatedCollection - validate IllegalArgumentException text includes failing Predicate [<a href="">COLLECTIONS-280</a>]</li>
-<li>TreeBidiMap - Implements Serializable [<a href="">COLLECTIONS-285</a>]</li>
-<li>TreeBidiMap - TreeView now cached [<a href="">COLLECTIONS-255</a>]</li>
-<center><h3>BUG FIXES</h3></center>
-<li>Flat3Map - Fix setValue in MapIterator and EntrySetIterator to work correctly [<a href="">COLLECTIONS-217</a>]</li>
-<li>ExtendedProperties - Include property name had confused static/instance semantics [<a href="">COLLECTIONS-214</a>]</li>
-<li>CollectionUtils - Fix removeAll() method which was completely broken [<a href="">COLLECTIONS-219</a>]</li>
-<li>MultiValueMap - Fix put() and putAll() to return correct results [<a href="">COLLECTIONS-228</a>]</li>
-<li>SetUniqueList - addAll(int, Collection) fixed to properly insert at the specified index [<a href="">COLLECTIONS-249</a>]</li>
-<li>UnboundedFifoBuffer - Serialization/Deserialization no longer creates an unmodifiable object [<a href="">COLLECTIONS-220</a>]</li>
-<li>Transformed classes - now all have decorateTransform methods [<a href="">COLLECTIONS-256</a>]</li>
-<li>Flat3Map - remove() now returns the correct value when size <= 3 [<a href="">COLLECTIONS-261</a>]</li>
-<li>FastTreeMap - no longer loses the comparator [<a href="">COLLECTIONS-264</a>]</li>
-<li>TreeBag - no longer accepts non-Comparable classes when naturally ordered [<a href="">COLLECTIONS-265</a>]</li>
-<li>MultiKey - hashCode made transient to deal with RMI issues [<a href="">COLLECTIONS-266</a>]</li>
-<li>ExtendedProperties - combine now imports properly [<a href="">COLLECTIONS-271</a>]</li>
-<li>ExtendedProeprties - put() and putAll() now update the getKeys() map [<a href="">COLLECTIONS-278</a>]</li>
-<li>CaseInsensitiveMap - Case insensitivity approach made locale independent [<a href="">COLLECTIONS-294</a>]</li>
-<li>ExtendedProperties - convertProperties now filters out non-String values [<a href="">COLLECTIONS-299</a>]</li>
-<li>SetUniqueList - set method no longer allows duplicates [<a href="">COLLECTIONS-304</a>]</li>
-<li>SetUniqueList - subList().contains() now checks against its own values and not its parents [<a href="">COLLECTIONS-307</a>]</li>
-<li>AbstractHashedMap - Map constructor now calls a private putAll rather than a potential method in a subclass [<a href="">COLLECTIONS-317</a>]</li>
-<li>StaticBucketMap - putAll() uses more efficient entrySet() iterator [<a href="">COLLECTIONS-320</a>]</li>
-<li>IteratorChain - Clarify constructor behaviour</li>
-<li>Unmodiable collections - Improved documentation to indicate what happens when a modification attempt is made [<a href="">COLLECTIONS-303</a>]</li>
-<li>MuliKey - Spelling [<a href="">COLLECTIONS-216</a>]</li>
-<li>DefaultedMap - Clarify transformer behaviour [<a href="">COLLECTIONS-215</a>]</li>
-<li>AbstractLinkMap - firstKey() and lastKey() documentation swapped [<a href="">COLLECTIONS-262</a>]</li>
-<li>ListUtils - transformedList behaviour correctly explained [<a href="">COLLECTIONS-288</a>]</li>
-<li>LRUMap - constructor javadoc no longer implies -1 maxSize means unlimited [<a href="">COLLECTIONS-316</a>]</li>
@@ -0,0 +1,57 @@
+ Commons Collections Generics Package
+ Version X.X
+ Release Notes
+Commons collections is a project to develop and maintain collection classes
+based on and inspired by the JDK collection framework.
+This version uses the generics features of JDK1.5 and is not compatible with
+earlier JDK versions.
+The process of generifying an API is complex.
+For commons-collections, we have chosen to break the API in various ways.
+The aim behind this is to provide an API design that better suits generics.
+We have also removed all deprecated classes and fixed oddities in the previous
+API that we couldn't fix due to backwards compatability restrictions.
+As such, this release should not be considered to be a simple, drop-in, replacement
+for commons-collections. You will probably receive compile errors, and you will
+certainly have generification warnings to solve. These release notes will try
+to guide you in the process of upgrading, however you should remember that this
+is a new API based on the original, so some concepts have changed.
+Changes from commons-collections
+- Removed all deprecated classes and methods
+- Removed FastArrayList
+ - use CopyOnWriteList
+- Removed FastHashMap
+ - use ConcurrentHashMap, but beware null keys and values
+- Removed FastTreeSet
+ - no direct replacement - use ConcurrentHashMap or synchronized TreeMap
+- Removed Typed* containers such as TypedList and TypedMap
+ - use generics for type safety, or Collections.checked*()
+- Switch Abstract*Decorator classes to expose decorated() protected method
+ instead of the decorated collection directly. Each class overrides decorated()
+ to add its type covariantly, thus getList()/getSet() etc. methods are removed
+Open source works best when you give feedback:
+Please direct all bug reports to JIRA
+Or subscribe to the commons-user mailing list (prefix emails by [collections])
+The Commons-Collections-Generics Team

0 comments on commit d8e1279

Please sign in to comment.