Releases: vsonnier/hppcrt
0.7.5-RT
0.7.4-RT
0.7.3-RT
[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-RT
0.7.1-RT
0.7.0-RT
[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) 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-RT
[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-RT
[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-RT
[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