github.com/dominikbraun/graph
v0.23.0
#934 most downloaded on Go modules
dominikbraun/graph
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 13 months
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
83 releases · first in 2022
0 releases in the last 12 months
see the full history below
Release timeline
83 releases · Jun 2022 to Dec 2024Releases
latest 60 of 83-
v0.23.1-0.20241211135624-b8919a8021b111 Dec 2024 pre-releaseNothing published for this version
-
v0.23.1-0.20231126091321-a999520a23a826 Nov 2023 pre-releaseNothing published for this version
-
v0.23.1-0.20231118064607-ecafd7eafec218 Nov 2023 pre-releaseNothing published for this version
-
v0.23.1-0.20230711140342-8757b27e91ac11 Jul 2023 pre-releaseNothing published for this version
-
v0.23.005 Jul 2023Release notes
Open source →Are you using graph? Check out the graph user survey
Added
- Added the
AllPathsBetweenfunction for computing all paths between two vertices.
Release notes
Open source →Are you using graph? Check out the graph user survey
Added
- Added the
AllPathsBetweenfunction for computing all paths between two vertices.
- Added the
-
v0.22.4-0.20230704133954-92fa587e5c0504 Jul 2023 pre-releaseNothing published for this version
-
v0.22.4-0.20230616081522-9b48205123ee16 Jun 2023 pre-releaseNothing published for this version
-
v0.22.314 Jun 2023Release notes
Open source →Changed
- Changed
StableTopologicalSortto invoke thelessfunction as few as possible, reducing comparisons. - Changed
CreatesCycleto use an optimized path if the default in-memory store is being used. - Changed map allocations to use pre-defined memory sizes.
Release notes
Open source →Changed
- Changed
StableTopologicalSortto invoke thelessfunction as few as possible, reducing comparisons. - Changed
CreatesCycleto use an optimized path if the default in-memory store is being used. - Changed map allocations to use pre-defined memory sizes.
- Changed
-
v0.22.3-0.20230609075221-c6cb265d89e909 Jun 2023 pre-releaseNothing published for this version
-
v0.22.206 Jun 2023 -
v0.22.2-0.20230606095446-8da02003fb8f06 Jun 2023 pre-releaseNothing published for this version
-
v0.22.2-0.20230606093412-daffba1d855406 Jun 2023 pre-releaseNothing published for this version
-
v0.22.105 Jun 2023 -
v0.22.024 May 2023Release notes
Open source →Added
- Added the
StableTopologicalSortfunction for deterministic topological orderings. - Added the
VertexAttributesfunctional option for setting an entire vertex attributes map.
Release notes
Open source →Added
- Added the
StableTopologicalSortfunction for deterministic topological orderings. - Added the
VertexAttributesfunctional option for setting an entire vertex attributes map.
- Added the
-
v0.21.1-0.20230524054213-6a038f32ff0e24 May 2023 pre-releaseNothing published for this version
-
v0.21.018 May 2023Release notes
Open source →Added
- Added the
BFSWithDepthfunction for performing a BFS with depth information.
Fixed
- Fixed false positives of
ErrVertexHasEdgeswhen removing a vertex.
Release notes
Open source →Added
- Added the
BFSWithDepthfunction for performing a BFS with depth information.
Fixed
- Fixed false positives of
ErrVertexHasEdgeswhen removing a vertex.
- Added the
-
v0.20.1-0.20230517104310-1404d21547d317 May 2023 pre-releaseNothing published for this version
-
v0.20.1-0.20230509053102-5ad3689fd8a509 May 2023 pre-releaseNothing published for this version
-
v0.20.001 May 2023Release notes
Open source →Release post: graph Version 0.20 Is Out
Added
- Added the
Graph.AddVerticesFrommethod for adding all vertices from another graph. - Added the
Graph.AddEdgesFrommethod for adding all edges from another graph. - Added the
Graph.Edgesmethod for obtaining all edges as a slice. - Added the
Graph.UpdateEdgemethod for updating the properties of an edge. - Added the
Store.UpdateEdgemethod for updating the properties of an edge. - Added the
NewLikefunction for creating a new graph that is "like" the given graph. - Added the
EdgeAttributesfunctional option for setting an entire edge attributes map.
Changed
- Changed
Graph.Cloneto use the built-in in-memory store for storing vertices and edges for cloned graphs.
Release notes
Open source →Release post: graph Version 0.20 Is Out
Added
- Added the
Graph.AddVerticesFrommethod for adding all vertices from another graph. - Added the
Graph.AddEdgesFrommethod for adding all edges from another graph. - Added the
Graph.Edgesmethod for obtaining all edges as a slice. - Added the
Graph.UpdateEdgemethod for updating the properties of an edge. - Added the
Store.UpdateEdgemethod for updating the properties of an edge. - Added the
NewLikefunction for creating a new graph that is "like" the given graph. - Added the
EdgeAttributesfunctional option for setting an entire edge attributes map.
Changed
- Changed
Graph.Cloneto use the built-in in-memory store for storing vertices and edges for cloned graphs.
- Added the
-
v0.19.1-0.20230429194236-ab004609e30129 Apr 2023 pre-releaseNothing published for this version
-
v0.19.1-0.20230428065747-4daeb9429a0328 Apr 2023 pre-releaseNothing published for this version
-
v0.19.1-0.20230427061032-109e7fce141d27 Apr 2023 pre-releaseNothing published for this version
-
v0.19.1-0.20230425131811-f4b80805a2f325 Apr 2023 pre-releaseNothing published for this version
-
v0.19.1-0.20230424200912-17c7e8bf247224 Apr 2023 pre-releaseNothing published for this version
-
v0.19.023 Apr 2023Release notes
Open source →Added
- Added the
MinimumSpanningTreefunction for finding a minimum spanning tree. - Added the
MaximumSpanningTreefunction for finding a maximum spanning tree.
Release notes
Open source →Added
- Added the
MinimumSpanningTreefunction for finding a minimum spanning tree. - Added the
MaximumSpanningTreefunction for finding a maximum spanning tree.
- Added the
-
v0.18.1-0.20230422181724-52d9fc6500f422 Apr 2023 pre-releaseNothing published for this version
-
v0.18.015 Apr 2023Release notes
Open source →Added
- Added the
Graph.RemoveVertexmethod for removing a vertex. - Added the
Store.RemoveVertexmethod for removing a vertex. - Added the
ErrVertexHasEdgeserror instance. - Added the
Unionfunction for combining two graphs into one.
Release notes
Open source →Added
- Added the
Graph.RemoveVertexmethod for removing a vertex. - Added the
Store.RemoveVertexmethod for removing a vertex. - Added the
ErrVertexHasEdgeserror instance. - Added the
Unionfunction for combining two graphs into one.
- Added the
-
v0.17.1-0.20230415085029-b5a223acb01015 Apr 2023 pre-releaseNothing published for this version
-
v0.17.1-0.20230413194408-dadf507e2b0313 Apr 2023 pre-releaseNothing published for this version
-
v0.17.012 Apr 2023Release notes
Open source →Added
- Added the
draw.GraphAttributesfunctional option fordraw.DOTfor rendering graph attributes.
Changed
- Changed the library's GoDoc documentation.
Release notes
Open source →Added
- Added the
draw.GraphAttributesfunctional option fordraw.DOTfor rendering graph attributes.
Changed
- Changed the library's GoDoc documentation.
- Added the
-
v0.17.0-rc4.0.20230410154140-f5e1473e074910 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc4.0.20230410153725-998c414912c510 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc410 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc3.0.20230410135435-fa4ebbb08f3d10 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc310 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc2.0.20230410072519-907f3804cadb10 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc209 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc1.0.20230409071241-3e17758282ea09 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc107 Apr 2023 pre-releaseNothing published for this version
-
v0.17.0-rc-510 Apr 2023 pre-releaseNothing published for this version
-
v0.16.3-0.20230407184848-b07a657bd5cc07 Apr 2023 pre-releaseNothing published for this version
-
v0.16.3-0.20230402092236-138f2f8373bc02 Apr 2023 pre-releaseNothing published for this version
-
v0.16.227 Mar 2023 -
v0.16.2-0.20230327072315-cb5d729eed7f27 Mar 2023 pre-releaseNothing published for this version
-
v0.16.2-0.20230312084356-ae245494f87912 Mar 2023 pre-releaseNothing published for this version
-
v0.16.2-0.20230311083428-a917490e5fa111 Mar 2023 pre-releaseNothing published for this version
-
v0.16.2-0.20230306122411-8531334d270e06 Mar 2023 pre-releaseNothing published for this version
-
v0.16.106 Mar 2023 -
v0.16.001 Mar 2023Release notes
Open source →This release contains breaking changes of the public API (see "Changed").
Added
- Added the
Storeinterface, introducing support for custom storage implementations. - Added the
NewWithStorefunction for explicitly initializing a graph with aStoreinstance. - Added the
EdgeDatafunctional option that can be used withAddEdge, introducing support for arbitrary data. - Added the
Datafield toEdgePropertiesfor retrieving data added usingEdgeData.
Changed
- Changed
Orderto additionally return an error instance (breaking change). - Changed
Sizeto additionally return an error instance (breaking change).
- Added the
-
v0.15.2-0.20230228214152-2b524955cc7b28 Feb 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230228160248-d86b17d19f2a28 Feb 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230227154326-7eeba2119f3e27 Feb 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230224101930-9673497f508324 Feb 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230217120332-75c2712230fd17 Feb 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230126113956-a3569cc28fc726 Jan 2023 pre-releaseNothing published for this version
-
v0.15.2-0.20230125094606-645ae2476c7e25 Jan 2023 pre-releaseNothing published for this version
-
v0.15.118 Jan 2023Release notes
Open source →Changed
- Changed
ShortestPathto returnErrTargetNotReachableif the target vertex is not reachable.
Fixed
- Fixed
ShortestPathto return correct results for large unweighted graphs.
- Changed
-
v0.15.025 Nov 2022Release notes
Open source →Added
- Added the
ErrVertexAlreadyExistserror instance. Useerrors.Isto check for this instance. - Added the
ErrEdgeAlreadyExistserror instance. Useerrors.Isto check for this instance. - Added the
ErrEdgeCreatesCycleerror instance. Useerrors.Isto check for this instance.
Changed
- Changed
AddVertexto returnErrVertexAlreadyExistsif the vertex already exists. - Changed
VertexWithPropertiesto returnErrVertexNotFoundif the vertex doesn't exist. - Changed
AddEdgeto returnErrVertexNotFoundif either vertex doesn't exist. - Changed
AddEdgeto returnErrEdgeAlreadyExistsif the edge already exists. - Changed
AddEdgeto returnErrEdgeCreatesCycleif cycle prevention is active and the edge would create a cycle. - Changed
Edgeto returnErrEdgeNotFoundif the edge doesn't exist. - Changed
RemoveEdgeto return the error instances returned byEdge.
- Added the
-
v0.14.001 Nov 2022Release notes
Open source →Added
- Added the
ErrVertexNotFounderror instance.
Changed
- Changed
TopologicalSortto fail at runtime when a cycle is detected. - Changed
TransitiveReductionto return the transitive reduction as a new graph and fail at runtime when a cycle is detected. - Changed
Vertexto returnErrVertexNotFoundif the desired vertex couldn't be found.
- Added the
-
v0.13.1-0.20221022134036-f45f4200086322 Oct 2022 pre-releaseNothing published for this version