Skip to content

Releases: cicirello/core

Core v3.1.0

Choose a tag to compare

@cicirello cicirello released this 29 Jul 17:58
dfff311

[3.1.0] - 2026-07-29

Added

  • Method pollThenOffer added to the IntPriorityQueue and IntPriorityQueueDouble interfaces:
    • A composite of a poll followed by an offer,
    • Default implementations in the interfaces with the obvious implementation,
    • Implementations in both the IntBinaryHeap and IntBinaryHeapDouble classes more efficient than the default implementation provided in the interfaces.
  • Method toArray() added to the IntPriorityQueue and IntPriorityQueueDouble interfaces:
    • Implementations provided in all of the relevant classes.
    • Note: We're not considering this a breaking change despite adding a method to an interface without providing a default implementation, because there is no obvious use-case where someone would be using this interface from the library without using one of the implementations from the library as well.

Fixed

  • Fixed examples in javadocs of IntBinaryHeap, IntBinaryHeapDouble, IntFibonacciHeap, and IntFibonacciHeapDouble.
  • Fixed name of type parameter in DisjointSetForest class for naming conventions.
  • Refactored equals methods of: IntegerArray, IntegerList, DoubleArray, DoubleList, DisjointIntegerSetForest, SimpleFibonacciHeap, SimpleFibonacciHeapDouble, SimpleBinaryHeap, SimpleBinaryHeapDouble, FibonacciHeap, FibonacciHeapDouble, BinaryHeap, BinaryHeapDouble
  • Refactored hashCode methods of: IntegerList, DoubleList
  • Refactored contains and remove methods of: SimpleFibonacciHeap, SimpleFibonacciHeapDouble, SimpleBinaryHeap, SimpleBinaryHeapDouble, FibonacciHeap, FibonacciHeapDouble, BinaryHeap, BinaryHeapDouble
  • Refactored removeAll and retainAll methods of: SimpleBinaryHeap, SimpleBinaryHeapDouble, BinaryHeap, BinaryHeapDouble
  • Refactored containsAll methods of: SimpleFibonacciHeap, SimpleFibonacciHeapDouble, SimpleBinaryHeap, SimpleBinaryHeapDouble, FibonacciHeap, FibonacciHeapDouble
  • Refactored various methods to eliminate unchecked casts

Core v3.0.0

Choose a tag to compare

@cicirello cicirello released this 25 Jun 13:49

[3.0.0] - 2026-06-25

BREAKING CHANGES

Added

  • 4-element sorting network for arrays of doubles.
  • 4-element sorting network for arrays of ints.

Changed

  • Replaced PriorityQueueNode.Integer with a Java record class IntegerPriorityQueueNode for immutability and to eliminate the name clash with the Java API class Integer (BREAKING CHANGE).
  • Replaced PriorityQueueNode.Double with a Java record class DoublePriorityQueueNode for immutability and to eliminate the name clash with the Java API class Double (BREAKING CHANGE).

Removed

  • Removed PriorityQueueNode class and its nested classes (BREAKING CHANGE).

Fixed

  • Refactored Prioritizer and implementations, an internal interface and classes related to priority queue implementations.
  • Refactored IntBinaryHeap based on RefactorFirst report.
  • Refactored IntBinaryHeapDouble based on RefactorFirst report.
  • Refactored IntFibonacciHeap based on RefactorFirst report.
  • Refactored IntFibonacciHeapDouble based on RefactorFirst report.
  • Refactored SimpleFibonacciHeap based on RefactorFirst report.
  • Refactored SimpleFibonacciHeapDouble based on RefactorFirst report.

Other

  • Minimum supported Java 25 (BREAKING CHANGE).

Core v2.7.1

Choose a tag to compare

@cicirello cicirello released this 15 May 20:16
3e12da4

[2.7.1] - 2025-05-15

Other

  • Migrated deployment from the old OSSRH to the new Central.

Core v2.7.0

Choose a tag to compare

@cicirello cicirello released this 13 May 20:41
fb3c395

[2.7.0] - 2024-05-13

Added

  • SimpleSwapper: utility class for swapping elements within an array
  • ValidatedSwapper: utility class for swapping elements within an array, which verifies indexes are different before attempting swap

Core v2.6.0

Choose a tag to compare

@cicirello cicirello released this 06 Apr 18:37
4da0259

[2.6.0] - 2024-04-06

Added

  • SortingNetwork class, with the following:
    • compareExchange methods for arrays of doubles and ints
    • 3-element sorting networks

Removed

  • Removed support for importing from JitPack.

CI/CD

  • Integrated SpotBugs static analysis into build process.
  • Integrated Find Security Bugs static analysis into build process.
  • Removed JitPack related configuration and steps of workflows.

Core v2.5.0

Choose a tag to compare

@cicirello cicirello released this 21 Apr 21:26
d1d746e

[2.5.0] - 2023-04-21

Added

  • DoubleArray
  • IntegerArray

Core v2.4.6

Choose a tag to compare

@cicirello cicirello released this 28 Feb 21:10
caa0cd7

[2.4.6] - 2023-02-28

Changed

  • Minor code improvements to add and remove methods of IntegerList and DoubleList.

Core v2.4.5

Choose a tag to compare

@cicirello cicirello released this 26 Feb 21:35
d6a96b4

[2.4.5] - 2023-02-26

Changed

  • Optimized buffer reallocation and other related internal code in: IntegerList, DoubleList, BinaryHeap, BinaryHeapDouble, SimpleBinaryHeap, SimpleBinaryHeapDouble.

Core v2.4.4

Choose a tag to compare

@cicirello cicirello released this 10 Jan 19:09
3939854

[2.4.4] - 2023-01-10

Changed

  • Refactored all Fibonacci heap classes.

Core v2.4.3

Choose a tag to compare

@cicirello cicirello released this 13 Nov 20:21
d83a62c

[2.4.3] - 2022-11-13

Changed

  • Refactored all priority queue classes to optimize and make other code improvements to priority-order determination.