[0.7.5]
** Bug fixes
HPPCRT-49: Heaps wrongly use Comparable/Comparator for contains(), removeAll(), equals()

[0.7.4]
** Bug fixes
HPPCRT-48: Templates are mistakingly included in final Jar

[0.7.3]
** Other changes
PR #5: OSGi descriptors in JAR manifests, bundle packaging, by Guillaume Delafosse. (Copied from HPPC)

HPPCRT-47: Modernize the build by using Retrolambda (https://github.com/orfjackal/retrolambda) to generate a unique retro-compatible Jar.
This is fine since the API was the same between the 1.6 and 1.5 jars previously.
As a contrast, building the HPPC-RT project now REQUIRES Java 8 due to Retrolambda.
  

[0.7.2]
** API-breaking changes
HPPCRT-46: Remove CurstomHash and replace by equals/hashCode overrides in normal hash containers.

[0.7.1]
** Bug fixes
HPPCRT-45: API with intervals arguments is inconsistent with JDK conventions.

[0.7.0]
This release fix important bugs, and align on some refactorings or changes of HPPC v0.7.1, hence the version number.

** API-breaking changes / New features

HPPCRT-36: Simplify specific IdentityHash impl by deriving a specific CustomHash
HPPCRT-40: Remove DoubleLinkedIntSet and BitSet
HPPCRT-41: Remove senseless key types for CustomHash containers. Now CustomHash are only generated for int, long, Object keys.  
HPPCRT-42: Remove all Boolean containers versions. Usage for them is either uncommon, or can be easily emulated with the other containers.  
HPPCRT-43: Remove Stacks. Replaced by adding a few stack-emulating methods to KTypeArrayList.
HPPCRT-44: Simplify LinkedList iteration. Removed isFirst(), isLast(), isHead(), isTail() iterator methods and replace them by hasAfter()/ hashBefore().
HPPC-140: On maps, values() and keys() returns a full-fledged Collection. Indeed, keys() and values() already returned Collection from a long time in HPPC-RT. 
Still, rename the retuned types from KeysContainer/ValuesContainer into KeysCollection/ValuesCollection to stress on that fact.


HPPCRT-37: API changes and internal code refactorings from HPPC v0.7.0:

- HPPC-104 + HPPC-116: Ability to create a read-only view of a map. For that, lset/lget/lslot..., all l* methods from hash containers are removed.
- HPPC-105: renamed hppcrt-core to hppcrt, and hppcrt-templateprocessor into hppcrt-template-processor
- HPPC-109: Moved @author tags to NOTICE.txt.
- HPPC-114: Buffer resizing and allocation should be throwing non-assertion mode exceptions.
- HPPC-117: Static factory methods newInstanceXXX() renamed into newInstance() everywhere with proper overrides.
- HPPC-118: Buffer arrays for generic types should be declared as Object[] to avoid compiler-injected automatic casts. 
- HPPC-121: Renamed methods:
          T.removeFirstOccurrences -> T.removeFirst
          T.removeLastOccurrences  -> T.removeLast
          T.removeAllOccurrences   -> T.removeAll(type)

- HPPC-125: equals should not compare with subclasses of itself.

- HPPC-133: KTypeContainer.toArray(Class<T>) now accepts any array
          component type; runtime checks will throw ArrayStoreException if not
          compatible. 
          
- HPPC-141: Dropped mutable type wrappers (*Holder classes)
- HPPC-145: Removed any "Open" infix from all Hash container classes:
		  KTypeOpenHashSet -> KTypeHashSet
          KTypeVTypeOpenHashMap -> KTypeVTypeHashMap
- HPPC-149: Recognize tests.seed as the initialization seed for perturbation key mixing for hash containers. 
- HPPC-152: Add a faster RPRG, XorShift128P as a replacement of XorShiftRandom.


** Internal changes, cleanups, optimizations...etc.

HPPCRT-36: Simplify specific IdentityHash impl by deriving a specific CustomHash
HPPC-110: putOrAdd and other primitive-only methods should be template-compilable.
HPPC-120: Rework entry shifting routine to be less hairy
HPPC-134: Set and Map's removeAll() should pick the best removal strategy.


** Bug fixes

HPPCRT-35: Hash to hash batch copying hangs, regression from the working perturbation policy

HPPC-130: removeAll(KTypeLookupContainer) had an incorrect 
          generic signature of:
            public int removeAll(final KTypeLookupContainer<? extends KType> c)
          now corrected to:
            public int removeAll(final KTypeLookupContainer<? super KType> c)
          (for primitive types this does not apply).

HPPC-131: retainAll(KTypeLookupContainer) had an incorrect 
          generic signature of:
            public int retainAll(final KTypeLookupContainer<? extends KType> c)
          now corrected to:
            public int retainAll(final KTypeLookupContainer<? super KType> c)
          (for primitive types this does not apply). 

HPPC-135: KTypeVTypeAssociativeContainer#removeAll had an incorrect 
          generic signature of:
            public int removeAll(KTypeContainer<? extends KType> container)
          now corrected to:
            public int removeAll(KTypeContainer<? super KType> container)
			
[0.6.8]
** API-breaking changes

HPPCRT-34: Relax signature of sort() methods to match JDK ones.(stay compatible as before)

** Bug fixes

HPPCRT-32: CustomHashSet wrongly uses equals()/hashCode() instead of strategies

** New features

HPPC-101: Drop JUB, switch to JMH for benchmarks

Issue #27: Caliper benchmark framework looks abandoned, migrate the benchmarks to JMH

HPPCRT-33: Adopt perfomance enhancements found in fastutil 6.6x and Koloboke

[0.6.7]
** Bug fixes

HPPCRT-29 : Regression: setDefaultValue() method absent from v0.66 IndexedHeaps

HPPCRT-30: Object[VType]OpenHashMap.putOrAdd() wrong in Robin-Hood version

** New features

HPPCRT-31: Hash containers, merge allocated array and keys for performance

[0.6.6]
** API-breaking changes

HPPCRT-23: Make KTtypeIndexedPriorityQueue a IntKTypeMap, plus API additions

HPPCRT-27: Removed Guava adapter classes, which had very little value anyway

** Bug fixes

HPPC-92 : ObjectOpenHashSet/Generics -ClassCastException when accesing to keys[] array

HPPCRT-22 : Follow-up of HPPCRT-18 for more Perturbation-free fixes in Hashs containers

HPPCRT-24: Bug in Heaps with contains()/removeAllOccurences() not using Comparable/Comparator

HPPCRT-25: KTypeLinkedList.descendingForEach(Predicate) is not working.

** New features

HPPCRT-23: Make KTtypeIndexedPriorityQueue a IntKTypeMap, plus API additions

HPPCRT-26: Add specialized IdentityHash containers

HPPCRT-28: Sort improvements : generic KTypeIndexedContainer sort methods

[0.6.5]
** API-breaking changes

HPPCRT-20: Repackaging into com.carootsearch.hppcrt.lists|sets|maps|heaps

HPPCRT-18: Remove Perturbation methods in Hashs and replace with reverse iterationPerturbation vs. Non-perturbations Hash methods are removed, no longer needed.

** Bug fixes

HPPCRT-13 : Heaps equals() errors and various other equals() inconsistencies bug enhancement medium prio
  
HPPCRT-11 : Iterators states are inconsistent 

HPPCRT-10: Heaps removeAll(Predicate) is not exception - safe

HPPCRT-6: Stack use ArrayList.sort() method for sorting, which leads to counterintuitive sort 

HPPCRT-1 : initial constructor sizes of some containers do not garantee zero reallocations

** New features

HPPCRT-17: Robin Hood Hashing for Object and CustomHash containers

HPPCRT-14: Add a forEach(KTypeVTypePredicate) for the KTypeVTypeAssociativeContainer

HPPCRT-12 : Make ArrayDeque a KTypeIndexedContainer

** Changes in functionality

HPPCRT-8 : consistently Implement trim/trim-to-size methods using c = c.clone() idiom

HPPCRT-19: Drop hash startegies from OpenHash implementations, and replace it with dedicated CustomHash classes

[0.6.0]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=11820

** API-breaking changes

HPPC-82: Expose resizeAt and lastSlot to subclasses (sets, maps).

** Bug fixes

HPPC-80: Practical deadlock on populating a set/ map with an iterator 
         over another map (storage-size dependent rehash).

HPPC-81: Improvements to near-the-limit collection sizes and resize strategies.

** New features

** Changes in functionality

** Other changes

HPPC-79: javadocs generated with 1.7 (and 1.8) look crappy.


[0.5.3]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=11833

** Other changes
** API-breaking changes
** Bug fixes


[0.5.2]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=11832

** Bug fixes

HPPC-84: hashCode calculated incorrectly for sets/ maps


[0.5.1]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=11828

** API-breaking changes

HPPC-82: Expose resizeAt and lastSlot to subclasses (sets, maps).

** Bug fixes

HPPC-80: Practical deadlock on populating a set/ map with an iterator 
         over another map (storage-size dependent rehash).

HPPC-81: Improvements to near-the-limit collection sizes and resize strategies.

** New features

** Changes in functionality

** Other changes

HPPC-79: javadocs generated with 1.7 (and 1.8) look crappy.


[0.5.0]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=10321

** API-breaking changes:

HPPC-66: allow retrieving key instances by key-equality from Object*Map versions of 
         hash maps. Renamed lget in KTypeOpenHashSet to lkey for consistency. 
         So, the methods accessing last found key in sets and maps are: 
         lget (maps, accesses last value), lset (maps, accesses last value), 
         lkey (maps, sets, accesses last key), lslot (both, slot index).

HPPC-68: Lifted final markers on public methods

** New features

HPPC-63: a jdk15-compatible artifact is being published to Maven Central now.

HPPC-66: allow retrieving key instances by key-equality from Object*Map versions of 
         hash maps and hash sets.

HPPC-69: added toString to cursors.

HPPC-77: BitSet should use hotspot intrinsics (popcnt mostly)

** Bug fixes

HPPC-65: putOrAdd uses == for comparing object keys instead of equality

HPPC-72: XorShiftRandom always returns a zero. [Sergey Peretyatko] 
         This class was used only in benchmarks and tests so unless
         you're using it directly you're not affected.
         
HPPC-73: get, contains and any other method may block indefinitely with 
         high load factors and full storage array capacity

HPPC-74: Load factor is not used in KTypeOpenHashSet

HPPC-75: put or add may leave the internal state of the hash containers 
         inconsistent on OOM conditions

** Other

Added newInstance() to BitSet and IntDoubleLinkedSet for consistency.


[0.4.1]
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=10322

** New features

HPPC-63: a jdk15-compatible artifact is being published to Maven Central now.

** Bug fixes

HPPC-65: putOrAdd uses == for comparing object keys instead of equality


[0.4.0] 
http://issues.carrot2.org/secure/ReleaseNote.jspa?projectId=10070&version=10210

** API-breaking changes:

HPPC-60: Cleaned up the code of all iterators (including some name/scope changes
         of iterator classes, so if you relied on these, things may break).

HPPC-59: keySet() renamed to keys() on associative containers. 

HPPC-46: toArray() on object types must return actual T[], not Object[]

HPPC-52: Dropped custom hash functions and comparators from associative containers
         for speed reasons.

** New features

HPPC-61: Cleaned up Maven structure: parent aggregator and submodules.

HPPC-57: Added a view of values to associative containers (values() method).

HPPC-49: Added support for XorShift random.

HPPC-34: Added support for Cloneable.

HPPC-51: Replace double hashing in open hash map/set to linear probing and a good 
         hashing function to ensure random distribution of elements

HPPC-47: Changed the implementation of MurmurHash to MurmurHash3, impl.
         borrowed from Sebastiano Vigna's fastutil library. [ASL]

** Bug fixes

HPPC-46: toArray() on object types must return actual T[], not Object[]

** Other

HPPC-58: Better integration with Eclipse, new template->code generation.
