- Input type for transitive closure/reduction algorithms is more open (IEdgeListGraph rather than BidirectionalGraph).
- CryptoRandom no more use deprecate random number generator.
- Extends algorithms using CrytoRandom by default (CyclePoppingRandomTreeAlgorithm, MarkovEdgeChainBase, MinimumVertexCoverApproximationAlgorithm).
- Add cycle checking for edge set and undirected graphs (DAG - Directed Acyclic Graph check).
- Assembly is CLS compliant (Common Language Specification).
- Fix fields being written several times during GraphML serialization for types with multiple inheritance layers.
- Fix user data that may be skipped during GraphML deserialization.
- Better handle null strings being serialized through GraphML serialization.
- Deprecate binary serialization for targets lower than .NET Framework 4.6.1.
- Update package dependencies.
- Optimize generated method calls for GraphML serialization.
- Add target .NET Framework 4.6.1.
- Assembly is CLS compliant (Common Language Specification).
- Deprecate ToSvg API (underlying web service is down).
- Update package dependencies.
- Assembly is CLS compliant (Common Language Specification).
- Update package dependencies.
- Assembly is CLS compliant (Common Language Specification).
- Update package dependencies.
- Assembly is CLS compliant (Common Language Specification).
- Update package dependencies.
- Assembly is CLS compliant (Common Language Specification).
- Vertices and edges removal notifications from AdjacencyGraph, EdgeListGraph, BidirectionalGraph and UndirectedGraph are more consistent.
- Optimize vertices and/or edges removal operations on AdjacencyGraph, BidirectionalGraph, BidirectionalMatrixGraph, ClusteredAdjacencyGraph and UndirectedGraph.
- Expose a Prim relaxer.
- Improve library documentation related to raisable exceptions.
- Remove the dependency to System.Reflection.TypeExtensions for .NET Standard 1.3 target.
- GraphML deserialization extensions now work on IMutableVertexAndEdgeSet rather than IMutableVertexAndEdgeListGraph (allow deserialization on undirected graph).
- Update package dependencies.
- Add target to reduce dependencies in some cases.
- Fix the conversion to Graphviz from delegate graph implementations.
- Slight optimizations.
- Update package dependencies.
- Update package dependencies.
- Update package dependencies.
- Update package dependencies.
- Properly treat common vertex format when converting a graph to Graphviz.
- Label has priority if set over Record on GraphvizVertex.
- Add support of HTML labels.
- Fix the serialization implementation of UndirectedGraph, ArrayUndirectedGraph and UndirectedBidirectionalGraph.
- Fix A* implementation to also compute cost on tree edge.
- Remove some serializable attributes from algorithms and predicates classes (homognization).
- Remove serializable attributes from delegate graphs implementations.
- All QuikGraph exceptions can be constructed with a custom message and an eventual inner exception.
- CompressedSparseRowGraph also implements IEdgeListGraph interface.
- EquateGraphs.Equate helpers now supports a wider range of graph comparisons.
- Add the IDistancesCollection to interface the distance information retrieval from shortest path algorithms. Legacy accesses to distances are marked as obsolete.
- Remove the dependency to System.Collections.NonGeneric for .NET Standard 1.3 target.
- Update package dependencies.
- Update package dependencies.
- Make all Dot structures serializable.
- Update package dependencies.
- Update reference to AutomaticGraphLayout packages in order to fix assembly strong naming issues.
- Update package dependencies.
- Update package dependencies.
- Add the possibility to use a custom binder during binary serialization to control deserialized types.
- Undirected graphs are now serializable to XML.
- Rely on embedded GraphML xsd to validate GraphML graphs during serialization (avoid issues when GraphML website is down).
This package is the same as 2.2.0 but with the right tags and description.
- Use signing key to strong name library assemby.
- Use signing key to strong name library assemby.
- Use signing key to strong name library assemby.
- Clean the library code.
- Fully document library.
- Use JetBrains annotations all over the library as much as possible.
Migrate the library from GLEE to MSAGL (MSAGL is the successor of GLEE).
- Fix typo in populator algorithm.
- Fix a bug when converting undirected graph to MSAGL graph.
- Some public API breaks (but should remain simple to do a migration).
- Clean the library code.
- Fully document library.
- Use JetBrains annotations all over the library as much as possible.
- Fix PetriNetSimulator with possible collection modified while enumerating.
- Really make IPetriNet immutable to enforce the difference with IMutablePetriNet.
- Some public API breaks (but should remain simple to do a migration).
- Clean the library code.
- Fully document library.
- Use JetBrains annotations all over the library as much as possible.
- Add support of PenWidth property for vertex, edge and graph.
- Add support of Splines property for graph.
- Use EqualityComparer<T> instead of non-generic object.Equals.
- Cancellation of algorithm internally use exception to abort algorithm run.
- Fix a security vulnerability regarding XML serialization on target .NET Framework 3.5.
Rework the original QuickGraph.Graphviz module into QuikGraph.Graphviz. This make possible to use the QuikGraph to Dot bridge.
- Fix the floating points formatting when converted to Dot (Invariant culture).
- Fix some implementation issues accross the library.
- Fix labels, comments, tooltips, records and ports escaping.
- Fix a lot of graph to Dot conversions issues (wrong properties, invalid formatting, typo, etc).
- Add all color representations equivalent to System.Drawing.Color or System.Windows.Media.Color to GraphvizColor.
- Add conversion extensions from System.Drawing.Font to GraphvizFont (and vice versa).
- Dot escape method has been replaced by DotEscapers helpers that handle various escaping scenarios and are static.
- Some public API breaks (but should remain simple to do a migration).
- Clean the library code.
- Fully document library including convenient links to official Graphviz documentation.
- Use JetBrains annotations all over the library as much as possible.
Split QuikGraph package into 2 packages to extract serialization features:
- QuikGraph
- QuikGraph.Serialization
- Add struct based edge implementations that were in original QuickGraph (STaggedEdge, STaggedUndirectedEdge and SEquatableTaggedEdge).
- Package no more reference JetBrains.Annotations package, it rather uses some as internal implementation (same development experience for package consumer).
Serialization features extracted from core package.
- Properly deal with isolated vertices for transitive reduction algorithm.
- Properly deal with isolated vertices for transitive closure algorithm.
This release is based on YC.QuikGraph 3.7.5-deta with a lot of updates.
- Fully clean the library code.
- Extend support of the library to .NET Framework 3.5+.
- Extend support of the library to .NET Core 1.0+.
- Various fixes for graphs and algorithms implementations.
- Uniformize APIs and behaviors of graphs and algorithms implementations.
Note: Only keep the Core of QuikGraph for this package (feature split).
- Some public API breaks (but should remain simple to do a migration).
- Some edges structures are removed, the classes implementations are preferred due to C# limitations.
- Some algorithms are not usable for now (wrong implementations) and are removed from public API.
- Generate a documentation for the library via DocFX.
- Use JetBrains annotations all over the library as much as possible.