Primitive-Collections/Changelog.md

4.7 KiB

Changelog of versions

Version 0.4.0

  • Changed: Iterable specific helper functions were moved out of Iterators and moved into Iterables
  • Added: New Stream replacing functions: findFirst, matchesAny/All/None
  • Fixed: Compute/ComputeIfAbsent/ComputeIfPresent/Merge/BulkMerge in maps now behave like they should.
  • Added: Implementations for New Stream replacing functions.
  • Changed: Removed a lot of duplicated forEach implementations
  • Added: Flat/Mapping functions (to object) are now accessible to primitive maps.
  • Added: Filter function to Iterators/Iterables (Iterable implements it by default)
  • Changed: Cleanup of some variables/mappers
  • Added/Fixed: AVL/RBTreeMap got reworked and SubMaps work more properly now. Also forEach support got improved a lot
  • Added/Fixed: TreeSubSets (RB/AVL) got their functional implementations improved too.
  • Added: Pairs are now a thing. In Mutable/Immutable Form

Version 0.3.6

  • Fixed: addAll non Type Specific Lists was causing crashes.
  • Fixed/Changed: clearAndTrim's implementation was all over the place. In some cases causing crash scenarios.
  • Fixed: Wrappers didn't implement toString/equals/hashCode
  • Added: Tests for addAll Bug
  • Changed: Cleaned up CodeStyle as bugs were fixed.

Version 0.3.5

  • Fixed: Simple Code Generator dependency was declared wrong. Its only needed for runtime. Not for Compilation.
  • Fixed: ObjectLists Crashed when a null was provided as a Comparator. (Unless the List was Initialized with the ClassType)
  • Fixed: LinkedLists didn't implement add(Object)
  • Fixed: Object Collections did have the JavaCollections deprecated as the Constructor. This should only be deprecated for Primitives
  • Added: Tests with 5k Random names for Object sorting.
  • Changed: Object Arrays no longer require a Comparable[] it just assumes now that the elements in the Array are Comparable
  • Fixed: Dependency to SimpleCodeGenerator should be no longer a thing. Because the resulting library doesn't need it only the builder does.

Version 0.3.4

  • Fixed: ArrayLists didn't resize properly if they were empty.

Version 0.3.3

  • Added: Flat/Mapping function for Iterables/Iterators to help avoid streams for cleaner looking code
  • Fixed: AVLTrees pollFirst/Last is now keeping orders and is fixed
  • Fixed: AbstractCollection bulk adding methods now link to the specialized implementations.
  • Fixed: A bug with getElements in ArrayList.
  • Fixed: PriorityQueue remove/toArray function were renamed so they fit better with other interfaces. (remove => removeFirst and toArray uses a different genericType)
  • Added: LinkedList which is a List/PriorityDequeue/Stack which allows for more optimized use-cases and reduced boxing/unboxing.
  • Added: Tests for LinkedList

Version 0.3.2

  • Fixed: Map.put wasn't referring to primitive variants.
  • Added: ImmutableList.
  • Added: Iterator pour function into a List or Array
  • Changed: Arrays Wrap is now accessible to Objects and now is ? extends TYPE instead of TYPE.
  • Added: OpenHashSets now implement foreach and have less overhead.
  • Added: ImmutableOpenHashSet that is not editable (is linked by default for fast iteration)
  • Added: CustomOpenHashSets now implement foreach and have less overhead.
  • Added: ImmutableOpenHashMap that is not editable (is linked by default for fast iteration)
  • Added: Maps can now be created through the interface.
  • Fixed: Lists.addElements(T...elements) was adding elements at the beginning of a list instead of the end.
  • Fixed: Bugs with the AVLTreeSet. And marked bugs with AVLTreeX that are still present.

Version 0.3.1

  • Fixed: containsKey & containsValue in HashMaps were deprecated for Object Variants.
  • Fixed: HashMap wasn't deleting Keys & Values references when removing a Object
  • Fixed: AVLTreeMap didn't balance properly.
  • Changed: EnumMap no longer tries to access SharedSecrets since its gone in java11
  • Added: HashMaps now implement ITrimmable
  • Added: AVLTreeSet didn't balance properly
  • Fixed: HashMaps & LinkedMaps weren't clearing references properly.

Version 0.3.0 (Breaking 0.2.0)

  • Added: Stack.isEmpty was missing
  • Changed: remove/removeLast/enqueue/enqueueFirst no longer use Type Suffixes
  • Removed: Suffixes for unmodifiable & synchronize functions.
  • Changed: Primitive Stacks no longer depend on the base Stack class. Because seriously not needed.
  • Changed: PriorityQueues no longer extends Object Variant.
  • Changed: Maps.get function is no longer using Suffixes unless its absolutely necessary.
  • Changed: Maps.remove function is no longer using Suffixes unless its absolutely necessary.
  • Changed: ObjectList methods are no longer marked Deprecated even so it was for primitive ones.
  • Added: Shuffle & Reverse Methods.
  • Added: Concat Iterators.
  • Added: PriorityQueues