All Versions
Latest Version
Avg Release Cycle
104 days
Latest Release
1623 days ago

Changelog History
Page 1

  • v3.0.0 Changes

    April 12, 2019
    • ๐Ÿ”จ This is an API breaking refactor
    • This version requires Swift 5.0 (Xcode 10.2)
    • Graph no longer conforms to class so structs can be Graphs (@davecom)
    • Graph and Edge are now Codable meaning all implementations must be as well including all vertex types, leading to the removal of CodableUnweightedGraph and CodableWeightedGraph, which are now unnecessary (@davecom)
    • ๐Ÿ†• New file containing some history (@davecom)
    • ๐Ÿ†• New search traversal methods (@ferranpujolcamins)
    • ๐Ÿ‘Œ Improvements to UniqueElementsGraph (@ferranpujolcamins)
    • โœ… Useful constructors for testing (@ferranpujolcamins)
    • ๐Ÿ‘Œ Improvements to UniqueElementsGraph tests (@ferranpujolcamins)
    • ๐Ÿ”จ Refactor many aspects of UnweightedGraph and WeightedGraph into conditional conformance extensions to Graph and new protocols (@ferranpujolcamins)
    • โž• Add new performance tests (@ferranpujolcamins)
    • โž• Add direction back to Edge (@ferranpujolcamins)
  • v2.0.0 Changes

    September 19, 2018
    • ๐Ÿ”จ This is an API breaking refactor
    • This version requires Swift 4.2 (Xcode 10.1)
    • Graph is now a protocol instead of a class
    • ๐Ÿ†“ edgesToVertices() is now a method on Graph instead of a free function
    • The Edge protocol has been significantly simplifieid
    • UnweightedEdge and WeightedEdge are now Codable
    • ๐Ÿ‘ Subclasses of Graph CodableUnweightedGraph and CodableWeightedGraph provide serialization support to JSON and anything else Codable supports (thanks for the help, @yoiang)
    • Experimental subclass of UnweightedGraph, UniqueElementsGraph provides a union operation and guarantees no duplicate vertices & edges in a graph (thanks @ferranpujolcamins)
    • Cycle detector method that returns edges (thanks @ZevEisenberg)
  • v1.5.1 Changes

    October 12, 2017
    • ๐Ÿง Project reorganized to support testing on Linux, just run swift test
    • ๐Ÿ’… Package.swift updated for Swift 4 package management style
    • โž• Added detectCyles() which uses the Liu/Wang algorithm for detecting cycles up to any length in a graph
    • โž• Added a couple unit tests for testing detectCycles()
  • v1.5.0 Changes

    September 13, 2017
    • โฌ†๏ธ Upgraded to Swift 4
    • Project now built with Xcode 9
    • SwiftPriorityQueue replaced with newer version
  • v1.4.1 Changes

    July 09, 2017
    • ๐Ÿ›  Fixed a bug in removeAllEdges() and added a test for it
  • v1.4.0 Changes

    May 31, 2017
    • โž• Added a Minimum Spanning Tree Fuction mst() based on Jarnik's Algorithm (aka Prim's Algorithm)
    • Simplified Dijkstra's Algorithm implementation
  • v1.3.1 Changes

    May 10, 2017
    • ๐Ÿ›  Fixes a bug that could result in the wrong edges being removed when a vertex is removed (thanks @brandonroth)
    • โš  Silences some warnings about printing optionals introduced in Swift 3.1
  • v1.3.0 Changes

    February 21, 2017
    • ๐Ÿ‘ Carthage Support (via re-organizing into framework) - thanks @klundberg
    • ๐Ÿ†• New search methods added - versions of bfs() and dfs() that support custom goal functions
    • findAll() added as a version of bfs() with multiple potential outcomes
    • ๐Ÿ‘ watchOS support added to Podfile
  • v1.2.0 Changes

    October 06, 2016
    • ๐Ÿšš Moved search functions from free functions to extensions of Graph and WeightedGraph
    • Switched license to Apache 2.0 from MIT
    • โž• Added topologicalSort() and isDAG
    • ๐Ÿ”„ Changed access level for most types to open
    • โž• Added unit tests for topologicalSort and isDAG
  • v1.1.1 Changes

    September 19, 2016
    • ๐Ÿ›  Fixes for the final version of Swift 3
    • โšก๏ธ Updated version of SwiftPriorityQueue
    • โž• Added .swift-version file