Skip to content
This repository has been archived by the owner on Dec 11, 2022. It is now read-only.

Releases

Derk Norton edited this page Jun 11, 2021 · 14 revisions

Release 3.16 (June 2021)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Updated all dependencies to the latest stable versions.
  • No changes to the API or functionality of the package.

Release 3.15 (August 2016)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Updated the dependency on java-core-interfaces to 3.8.
  • Updated the dependency on java-smart-objects to 3.14.
  • Removed collection interfaces since they were redundant with the abstract classes and caused confusion.
  • Refactored Bag and Dictionary classes to extend an abstract AssociativeCollection class to eliminate implementation inheritance.
  • Significant refactoring based on changes to the java-core-interfaces.

Release 3.12 (November 2015)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Updated parent pom dependencies to version 3.17.
  • Updated to depend on version 3.12 of java-smart-objects to fix censorship bug.

Release 3.10 (September 2015)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Updated the pom.xml file to depend on the latest (3.7) version of the java-smart-objects project.
  • Simplified the verbose method and (static) function names based on feedback from users. The method names tend to be verb-noun phrases and the function names are nouns.

Release 3.9 (June 2015)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Updated pom.xml files to reference the latest (2.12) version of the parent pom files.
  • Updated the pom.xml file to depend on the latest (3.6) version of the java-smart-objects project.
  • Added a lot of comments to the private methods for RandomizedTree.
  • Added two missing recursive calls in the RandomizedTree.pushNodeDown() method.
  • Added some optimizations to the RandomizedTree implementation.
  • Added unit test to make sure that craterdog primitives are being serialized correctly by the SmartObjectMapper class.

Release 3.5 (January 2015)

Quick Links

Summary of Changes

The following summarizes the changes in this release:

  • Fixed a bug in the Collection.compareTo method that was allowing two different collections of the same length to compare as the same.
  • Changed the format of the output of the Collection.toString method to be JSON using the Jackson framework.
  • The pom.xml file was updated to use the latest (3.9) release of the parent POMs. This updates all inherited dependencies to their latest (or nearly latest) versions.

Release 3.4 (December 2014)

Quick Links

Summary of Changes

The interfaces and abstract classes were refactored to provide more consistency between the closed collections like Stack and Queue, and the rest of the open collections. The following summarizes the changes in this release:

  • The Collection abstract class was refactored to include two new subclasses:
    • ClosedCollection which is the new superclass of the Stack and Queue classes and provides some additional methods that can be used to access (but not modify) the structure of their instances.
    • OpenCollection which is the new superclass of the OrderedCollection and SortableCollection classes and provides the methods that can be used to modify the structure of their instances.
  • A shuffleElements() method was added to the SortableCollection abstract class that allows the order of its elements to be randomly shuffled.
  • The UniversalHashFunction class was moved to the java-general-utilities project.
  • The private MergeSorter and a new RandomSorter classes were moved to the craterdog.collections.primitives package.
  • The Collection abstract class now supports the java.lang.Comparable interface.

Release 3.3 (November 2014)

Quick Links

Summary of Changes

The craterdog.collections.List and craterdog.collections.Map classes used as their underlying implementation the java.util.ArrayList, java.util.LinkedList, and java.util.HashMap classes. Performance testing showed that the java.util.LinkedList class almost never outperforms the java.util.ArrayList class and that the performance of the java.util.ArrayList and java.util.HashMap could be improved by around 5% if rewritten. The following primitive collection classes were added to the existing RandomizedTree primitive collection in the craterdog.collections.primitive package:

  • DynamicArray (implements java.util.List)
  • HashTable (implements java.util.Map)
  • Link (implements a simple linked list)

The implementations have been optimized for performance and are used to implement the higher level Crater Dog collections. We will continue to optimize them over time to get even better performance out of them which should pass on the performance improvements to the higher level collections.

Release 3.0 (October 2014)

Quick Links

Summary of Changes

This is the first stable release of the java-collections-framework project.