NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #798 by repository stars
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
One column per quarter.
Added the VertexProperties type for storing vertex-related properties.
VertexProperties type for storing vertex-related properties.VertexWithProperties method for retrieving a vertex and its properties.VertexWeight functional option that can be used for AddVertex.VertexAttribute functional option that can be used for AddVertex.draw.DOT.AddVertex to accept functional options.PermitCycles to PreventCycles. This seems to be the price to pay if English isn't a library author's native language.ShortestPath when the target vertex is not reachable from one of the visited vertices.Added the PermitCycles option to explicitly prevent the creation of cycles.
PermitCycles option to explicitly prevent the creation of cycles.Acyclic option to not implicitly impose cycle checks for operations like AddEdge. To prevent the creation of cycles, use PermitCycles.TopologicalSort to only work for graphs created with PermitCycles. This is temporary.TransitiveReduction to only work for graphs created with PermitCycles. This is temporary.Added the Order method for retrieving the number of vertices in the graph.
Order method for retrieving the number of vertices in the graph.Size method for retrieving the number of edges in the graph.graph logo.ShortestPath from O(n) to O(log(n)) by implementing the priority queue as a binary heap. Note that the actual complexity might still be defined by ShortestPath itself.draw.DOT to work correctly with vertices that contain special characters and whitespaces.Added the PredecessorMap method for obtaining a map with all predecessors of each vertex.
PredecessorMap method for obtaining a map with all predecessors of each vertex.RemoveEdge method for removing the edge between two vertices.Clone method for retrieving a deep copy of the graph.TopologicalSort function for obtaining the topological order of the vertices in the graph.TransitiveReduction function for transforming the graph into its transitive reduction.visit function of DFS to accept a vertex hash instead of the vertex value (i.e. K instead of T).visit function of BFS to accept a vertex hash instead of the vertex value (i.e. K instead of T).Predecessors function. Use PredecessorMap instead and look up the respective vertex.Added the Graph.AddVertex method for adding a vertex. This replaces Graph.Vertex.
Graph.AddVertex method for adding a vertex. This replaces Graph.Vertex.Graph.AddEdge method for creating an edge. This replaces Graph.Edge.Graph.Vertex method for retrieving a vertex by its hash. This is not to be confused with the old Graph.Vertex function for adding vertices that got replaced with Graph.AddVertex.Graph.Edge method for retrieving an edge. This is not to be confused with the old Graph.Edge function for creating an edge that got replaced with Graph.AddEdge.Graph.Predecessors function for retrieving a vertex' predecessors.DFS function.BFS function.CreatesCycle function.StronglyConnectedComponents function.ShortestPath function.ErrEdgeNotFound error indicating that a desired edge could not be found.Graph.EdgeByHashes method. Use Graph.AddEdge instead.Graph.GetEdgeByHashes method. Use Graph.Edge instead.Graph.DegreeByHash method. Use Graph.Degree instead.Graph.Degree method.Graph.DFS and Graph.DFSByHash methods. Use DFS instead.Graph.BFS and Graph.BFSByHash methods. Use BFS instead.Graph.CreatesCycle and Graph.CreatesCycleByHashes methods. Use CreatesCycle instead.Graph.StronglyConnectedComponents method. Use StronglyConnectedComponents instead.Graph.ShortestPath and Graph.ShortestPathByHash methods. Use ShortestPath instead.Added the EdgeWeight and EdgeAttribute functional options.
EdgeWeight and EdgeAttribute functional options.Properties field to Edge.Edge to accept a variadic options parameter.EdgeByHashes to accept a variadic options parameter.draw.Graph to draw.DOT for more clarity regarding the rendering format.WeightedEdge function. Use Edge with the EdgeWeight functional option instead.WeightedEdgeByHashes function. Use EdgeByHashes with the EdgeWeight functional option instead.draw.DOT.Nothing published for this version
Nothing published for this version
Added draw package for graph visualization using DOT-compatible renderers.
draw package for graph visualization using DOT-compatible renderers.Traits function for retrieving the graph's traits.Nothing published for this version
Added AdjacencyMap function for retrieving an adjancency map for all vertices.
AdjacencyMap function for retrieving an adjancency map for all vertices.AdjacencyList function.Added AdjacencyList function for retrieving an adjacency list for all vertices.
AdjacencyList function for retrieving an adjacency list for all vertices.Added ShortestPath function for computing shortest paths.
ShortestPath function for computing shortest paths.Added StronglyConnectedComponents function for detecting SCCs.
StronglyConnectedComponents function for detecting SCCs.Added Degree and DegreeByHash functions for determining vertex degrees.
Degree and DegreeByHash functions for determining vertex degrees.Edge functions.Added CreatesCycle and CreatesCycleByHashes functions for predicting cycles.
CreatesCycle and CreatesCycleByHashes functions for predicting cycles.Introduced dedicated types for directed and undirected graphs, making Graph[K, T] an interface.
Graph[K, T] an interface.Nothing published for this version
Introduced core types and methods.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →