Releases: codeface-io/SwiftNodes
Releases · codeface-io/SwiftNodes
Generic Edge Weight
API Consistency
New or Changed:
- More consistent and powerful API (includes renames, removals and additions)
- Subscript access to graph values
- func to remove node
- No more node id determination closure, neither in API nor internally
- value map function that creates a new graph with a mapped value type
- edge-, value- and node filters – each as a mutating and a copying variant
- graph is conditionally
Codable
- graphs can be expressed as
Dictionary
literals and certain ones asArray
literals
Big Rework
New or Changed:
- Many API changes, including added, removed and renamed functions
- Algorithms to find and filter essential edges
Sendable
conformance is conditional- Algorithm APIs refers to nodes and edges by ID instead of full value
- Some API types are opaque
- Loads of new tests
- New initializers to create complete graphs with edges
- Graphs are conditionally
Equatable
- Nodes in graphs no longer have an order and can not be sorted anymore
- Correct counts returned by ancestor counts algorithm
- Algorithm to find transitive edges (the edges that are not in the transitive reduction)
- Four functions to filter by edges
Concurrency Safety
- Since 0.4.0, Graph is
Sendable
. Now that is documented.
Support Other Platforms
Fixes compile issues on iOS, tvOS and watchOS
Stabilize Dependency Version
Since SwiftNodes is intended as true open-source software, its dependency versions must be stable so it can itself be a stable dependency.
API Renames and Documentation
API Clean Up
Cleans up the API by renaming some stuff. Also adds 2 convenience functions.
Start Semantic Versioning
This is the beginning of a commitment to semantic versioning.
See https://github.com/codeface-io/SwiftNodes#development-status for details.