Skip to content

v0.19.0

Compare
Choose a tag to compare
@github-actions github-actions released this 01 Aug 04:38
· 14 commits to master since this release
f7557d2

DataStructures v0.19.0

Diff since v0.18.22

(breaking)

Added

  • New Queue and Stack as separate types with enhanced documentation
  • Add empty! method for heaps (#932)
  • Support for recursive DefaultDict creation
  • Add find_prefixes method to Trie for finding all keys that are prefixes of a given string (#933)
  • Improved constructors for CircularBuffer allowing initialization with an iterable and capacity
  • Add resize! method for CircularBuffer
  • Enhanced documentation with doctests and improved examples throughout (#931)

Changed

  • Minimum Julia version requirement raised to 1.6 (#874)
  • DisjointSets renamed to DisjointSet (singular form) (#700)
  • IntDisjointSets renamed to IntDisjointSet (singular form) (#700)
  • PriorityQueue API updated to use standard Julia interfaces:
    • enqueue!push!
    • dequeue!popfirst!
    • dequeue_pair!popfirst!
    • peekfirst
  • Renamed methods in sorted containers:
    • startoffirstindex
    • endoflastindex
    • insert!push_return_semitoken!
  • Accumulator constructor behavior changed to properly accumulate values when initialized with pairs
  • Documentation significantly expanded and reorganized
  • Performance improvements in heaps and various other data structures (#907)

Deprecated

  • enqueue! and dequeue! methods (use push! and popfirst! instead)
  • peek for PriorityQueue (use first instead)
  • DisjointSets (use DisjointSet instead) (#700)
  • IntDisjointSets (use IntDisjointSet instead) (#700)
  • startof and endof (use firstindex and lastindex instead)

Fixed

  • Memory management improvements using Base._unsetindex! in several data structures (#884)
  • Fixed append! behavior in MutableLinkedList to properly handle multiple arguments
  • Various bug fixes and correctness improvements

Removed

  • Dependency on Compat.jl
  • Dependency on InteractiveUtils.jl
  • Support for Julia versions < 1.6 (#874)

Merged pull requests:

Closed issues:

  • Add empty! for all Heaps (#866)
  • The hash value of ordered sets is order-dependent (#934)
  • Queue - release vs master (#935)
  • Trie contradicts its documentation (#940)