CHANGELOG.md
# Changelog
## [0.6.6](https://github.com/monora/rgl/compare/v0.6.5...v0.6.6) (2023-07-10)
### Bug Fixes
* Update pairing_heap requirement from ~> 0.3 to >= 0.3, < 4.0 ([#119](https://github.com/monora/rgl/issues/119), [#122](https://github.com/monora/rgl/issues/122)) ([13e39a4](https://github.com/monora/rgl/commit/13e39a47dd166a36dadbf8e3b5fb3b2ff3941467))
* Bump GoogleCloudPlatform/release-please-action from 2 to 3 ([#120](https://github.com/monora/rgl/issues/120), [#122](https://github.com/monora/rgl/issues/122)) ([3e804d4](https://github.com/monora/rgl/commit/3e804d43de547b8c5754c9c53393973ca6882016))
### [0.6.5](https://www.github.com/monora/rgl/compare/v0.6.4...v0.6.5) (2023-06-19)
### Bug Fixes
* README links ([#114](https://www.github.com/monora/rgl/issues/114)) ([682e4e6](https://www.github.com/monora/rgl/commit/682e4e6f3786dc5419ce8d8bff92d4006e95be0d))
## [0.6.4](https://www.github.com/monora/rgl/compare/v0.6.3...v0.6.4) (2023-06-19)
### Bug Fixes
* add test case for bfs_search_tree_from (fixes [#99](https://www.github.com/monora/rgl/issues/99)) ([54f92e4](https://www.github.com/monora/rgl/commit/54f92e497c0e628c5dcdab3334ef280f6f38bfd7))
* Remove require of the file if already required ([0ef2ce5](https://www.github.com/monora/rgl/commit/0ef2ce5c43c56503268303abac40fd841c4cea43))
## Changelog from 0.5.10 to 0.6.3
See [Releaselist in GitHub](https://github.com/monora/rgl/releases). From v0.6.4
on the Changelog is updated by
[release-please](https://github.com/googleapis/release-please#release-please)
GitHub Action (Issue #101)
## Changelog prior 0.5.9
### 2022-08 Release 0.5.9
Dan Čermák
* Drop lazy priority queue (#64) (3b1db1)
### 2022-06 Release 0.5.8
Horst Duchene
* switch to github actions (56030d)
### 2020-12 Release 0.5.7
Horst Duchene
* Fully automate dev setup with Gitpod (41dd00)
* Add Dockerfile to install graphviz (2bd738)
* Examples do not call dotty (6bba96)
* Add ruby license file (a21aa5)
ujihisa <ujihisa@users.noreply.github.com>
* Test against Ruby 2.6 and 2.7 as well (50ac7c)
* Fix dead links (9184f3)
Harry Lascelles <hlascelles@users.noreply.github.com>
* Update .travis.yml (45b9a2)
* Make the links more explicit (95dc3b)
Harry Lascelles
* Add explicit license to gemspec (de3647)
### 2019-01 Release 0.5.6
Artemy Kirienko
* PR #42 Add method Graph#path?(u, v) to check if a path exists between two vertices
Horst Duchene
* Fix #47 set_to_begin for graph iterator (881aa8)
### 2019-01 Release 0.5.4
Lia Skalkos
* Enable options to be passed to #write_to_graphic_file (4ca972). For details see PR #41
Horst Duchene
* Fix travis-ci errors
* Add new ruby versions
* Fix gemspec errors
* Fix lint warnings
* Use version stream 0.5.2
### 2017-04 Release 0.5.3
Horst Duchene
* Issue #38: Add error handling or dot functions. (719e38, 5a3423)
Thomas Orozco
* Remove Enumerable Extension (fde8a5)
* Update to codeclimate-test-reporter 1.x (25fdb5)
Mario Daskalov
* Clarify that you need graphviz in the README (35a4b4)
### 2016-05 Release 0.5.2
Horst Duchene
* Issue #21: Use new method vertex_id instead of object_id to identify vertices in dot export. (fa7592)
* Integrate Code Climate's test coverage reporting (0ab722)
* Clarify traversal order of DFS search (see #20). (afa788)
Chase Gilliam
* drop 1.9.3 add newer jruby and rubinius (fad333)
Matías Battocchia
* Switched to a different heap implementation. (bd7c13)
gorn
* Adding failing test for issue #24 (1f6204)
### 2015-12 Release 0.5.1
Horst Duchene
* Changed edge sequence to match example picture (daa88e)
Chase
* updated algorithms to 6.1 and added test unit to support newer rubies (fbd874)
Louis Rose
* Fix #15. Use object IDs rather than labels to identify vertexs in DOT graph
to ensure that distinct nodes that share a label are shown. (33206f, 4fc455)
### 2014-12 Release 0.5.0
Horst Duchene
* Changed edge sequence to match example picture (daa88e)
* Fixed comment (6a6c93)
* Fixed spelling (7ca281)
Horst Duchêne
Chase
* updated algorithms to 6.1 and added test unit to support newer rubies (fbd874)
Louis Rose
* Fix #15. Use object IDs rather than labels to identify vertexs in DOT graph to ensure that distinct nodes that share a label are shown. (33206f)
* Issue #15. Fix tests. (4fc455)
### 2014-12 Release 0.5.0
Horst Duchene
* Changed edge sequence to match example picture (daa88e)
* Fixed comment (6a6c93)
* Fixed spelling (7ca281)
Chase
* updated algorithms to 6.1 and added test unit to support newer rubies (fbd874)
Louis Rose
* Fix #15. Use object IDs rather than labels to identify vertexs
in DOT graph to ensure that distinct nodes that share a label are
shown. (33206f)
* Issue #15. Fix tests. (4fc455)
### 2014-12 Release 0.5.0
This release mainly contains the contributions of Kirill, who added many algorithms to the library. Thank you Kirill!
* @matiaskorhonen: Fixes the image paths in the README (#14)
* @monora: Implicit graph example fails (#13)
* @KL-7: Implement Graph#bipartite_sets. (#12)
* @monora: syntax error in dot file for undirected graph (#11)
* @KL-7: Edmonds-Karp algorithm for maximum flow (#10)
* @KL-7: Prim's algorithm for minimum spanning tree (#9)
* @carlosantoniodasilva: Run tests on Ruby 2.0 and remove deprecation warning (#8)
* @KL-7: Bellman-Ford shortest paths algorithm (#7)
* @KL-7: Minor improvements (asserts) for Dijkstra algorithm (#6)
* @KL-7: Add Dijkstra shortest path algorithm. (#5)
* @KL-7: Indentation and whitespaces clean up of examples (#4)
* @KL-7: Travis configuration and README updates (#3)
* @KL-7: Code clean up and configuration updates (#2)
* @aschoerk: Renamed test-directory, (includes Rakefile), fixed TestComponents (#1)
### 2008-08-27 23:30 javanthropus
* lib/rgl/base.rb: Preparing for 0.4.0 release
### 2008-08-26 20:07 javanthropus
* lib/rgl/dot.rb, lib/rgl/rdot.rb, tests/TestRdot.rb: Move the DOT
module into the RGL module
* This eliminates a class conflict with the DOT module from rdoc
when building RGL's documentation * Also remove the superfluous
DOT prefixes from class names in the DOT module
### 2008-08-24 06:16 javanthropus
* Rakefile: Remove some comments I accidentally left in while
testing rdoc functionality
### 2008-08-24 06:03 javanthropus
* Rakefile, lib/rgl/transitiv_closure.rb, lib/rgl/transitivity.rb,
tests/TestTransitiveClosure.rb, tests/TestTransitivity.rb:
Feature 21641: Added transitive reduction functionality
* Updated the gem description to announce this functionality *
Moved the transitive closure functionality into the
transitivity.rb file along with the transitive reduction
funtionality * Modifed the transitiv_closure.rb file to simply
load the transitivity.rb file for backward compatibility * Moved
all transitivity tests into TestTransitivity.rb
### 2008-08-23 15:45 javanthropus
* lib/rgl/condensation.rb, lib/rgl/transitiv_closure.rb,
tests/TestTransitiveClosure.rb: Defect 21630: Fixed transitive
closure
* The fix is based on the algorithm described in the
documentation for the implementation of transitive closure in
Boost * Along with the fix, performance is improved to O(|V||E|)
* This implementation needs graph condensation, so that function
was added as well * More tests were added to cover more corner
cases
### 2008-08-23 05:40 javanthropus
* tests/TestGraph.rb: Update basic graph tests to account for
graphs with edgeless vertices Also clean up some minor formatting
and assertion issues
### 2008-08-23 05:37 javanthropus
* lib/rgl/adjacency.rb: Defect 21609: Fix the to_adjacency method
to preserve edgeless vertices
### 2008-03-18 15:03 javanthropus
* lib/rgl/rdot.rb, tests/TestRdot.rb: More reliably detect and
handle newlines embedded within IDs and labels
### 2008-03-08 10:48 monora
* ChangeLog, lib/rgl/base.rb (utags: REL_0_3_1): Prepare 0.3.1
release
### 2008-03-04 20:18 monora
* Rakefile (tags: REL_0_3_1, REL_0_3_0): pre-tag commit
### 2008-03-02 18:16 javanthropus
* lib/rgl/rdot.rb (tags: REL_0_3_0): IDs and labels must be
converted to strings before processing
### 2008-03-02 17:45 javanthropus
* lib/rgl/rdot.rb, tests/TestRdot.rb: Added documentation for
rdot.rb and full test coverage
### 2008-03-02 15:19 monora
* README: Removed dead link to rubygarden.com
### 2008-03-02 15:09 monora
* ChangeLog, README, Rakefile (utags: REL_0_3_0): Polishing before
0.3.0 release
### 2008-03-02 13:45 monora
* lib/rgl/: adjacency.rb, rdot.rb (utags: REL_0_3_0): Fixed
warnings generated by Ruby Dev Tools
### 2008-03-02 07:57 javanthropus
* Rakefile, lib/rgl/graphxml.rb (tags: REL_0_3_0),
tests/TestGraphXML.rb (tags: REL_0_3_0): Change the way GraphML
support is added to the MutableGraph module such that the
interface is cleaner and documented
### 2008-03-01 20:12 javanthropus
* lib/rgl/base.rb, tests/TestGraph.rb: Polish the documentation for
and expand the test coverage of RGL::Graph
### 2008-02-27 19:44 monora
* README: Added link to coverage page
### 2008-02-26 06:01 javanthropus
* lib/rgl/dot.rb, lib/rgl/rdot.rb, tests/TestDot.rb,
tests/TestRdot.rb: All IDs for DOT objects, including names,
options, and values, are now automatically quoted as necessary
according to the rules documented at
https://www.graphviz.org/doc/info/lang.html and
https://www.graphviz.org/Documentation/dotguide.pdf.
Labels are handled specially in order to account for \l, \r, and
\n sequences but are otherwise treated the same as other options.
New tests were added to confirm proper function.
Some changes were made in order to remove explicit quotes from
labels which are no longer necessary.
### 2008-02-17 20:15 monora
* lib/rgl/enumerable_ext.rb: Removed backwards compatability method
inject. Ruby > 1.8 supports it out of the box.
### 2008-02-17 20:07 monora
* tests/: TestEdge.rb, TestDirectedGraph.rb, TestGraph.rb: Improved
test coverage
### 2008-02-17 20:06 monora
* lib/rgl/adjacency.rb: fixed bug in edgelist_class
### 2008-02-17 17:59 monora
* Rakefile: - added coverage task - fixed BUG #2674 - added
changelog task - use jamis buck rdoc template
### 2008-02-17 17:45 monora
* lib/rgl/base.rb: Changed Version to 0.3.0
### 2008-02-17 09:09 javanthropus
* lib/rgl/rdot.rb: DOTSimpleElement provides no useful function, so
remove it
### 2008-02-17 09:08 javanthropus
* tests/TestRdot.rb: Test that setting only the name for a DOTNode
does NOT set the label
### 2008-02-17 08:58 javanthropus
* lib/rgl/rdot.rb, tests/TestRdot.rb: Add support for the Mrecord
shape to DOTNode. Rewrite DOTNode#to_s to be easier to
understand. #Rewrite DOTPort to allow for nesting ports.
### 2008-02-17 03:20 javanthropus
* lib/rgl/rdot.rb, tests/TestRdot.rb: BUG 17964: DOTElement no
longer sets the label unless the user explicitly sets one
### 2008-02-17 02:56 javanthropus
* tests/TestRdot.rb: Fix a DOTEdge test which was actually
retesting DOTNode
### 2008-02-16 19:58 javanthropus
* lib/rgl/rdot.rb, tests/TestRdot.rb: BUG #17962: Subgraphs must be
identified by a "subgraph" header rather than a "graph" header
### 2008-02-13 22:32 monora
* tests/TestRdot.rb: Fixed typo
### 2008-02-13 22:20 monora
* doc/jamis.rb: Added template from Jamis Buck for rdoc. Looks
better.
### 2008-02-12 23:37 monora
* lib/rgl/rdot.rb: BUG #17969: Applied patch from Jeremy Bopp.
Thanks.
### 2008-02-12 22:29 monora
* README: fixed require in topsort example added delicious links
### 2007-12-11 21:04 wsdng
* lib/rgl/rdot.rb, tests/TestRdot.rb: fixed [#16125] DOT::DOTNode
produces wrong DOT syntax
### 2007-12-11 00:21 wsdng
* tests/: TestDot.rb, TestRdot.rb: reproduced [#16125] DOT::DOTNode
produces wrong DOT syntax
### 2007-06-20 22:43 monora
* lib/rgl/base.rb, rakelib/dep_graph.rake: Fixed typo
### 2006-04-19 21:32 monora
* rakelib/dep_graph.rake: - Use write_to_graphic_file instead of
dotty (dotty crashes) - omit added task from vertices
### 2006-04-12 23:45 monora
* rakelib/dep_graph.rake: Initial checkin
### 2006-04-12 23:40 monora
* lib/rgl/bidirectional.rb: Moved to module RGL
### 2006-04-12 23:36 monora
* lib/rgl/base.rb: Moved BidirectionalGraph to own file.
### 2006-04-12 23:31 monora
* lib/rgl/: base.rb, edge.rb, graph.rb: - Merged changes from Shawn
- dont want to split base.rb
### 2006-04-12 23:27 monora
* tests/: TestCycles.rb, TestGraph.rb, test_helper.rb,
TestComponents.rb, TestTransitiveClosure.rb, TestTraversal.rb: -
Merged changes from Shawn - added test_helper
### 2006-04-12 23:23 monora
* lib/rgl/adjacency.rb: - Merged changes from Shawn - implemented
clone support (initialize_copy)
### 2006-04-12 23:20 monora
* lib/rgl/mutable.rb: Use clone instead of self.class.new(self)
### 2006-04-12 23:19 monora
* lib/rgl/enumerable_ext.rb: Do not extend system class Array. Only
used for testing.
### 2006-03-28 19:10 monora
* lib/rgl/dot.rb: Added links to graphviz.
### 2006-03-20 02:06 spgarbet
* lib/rgl/adjacency.rb, lib/rgl/base.rb, lib/rgl/bidirectional.rb,
lib/rgl/edge.rb, lib/rgl/enumerable_ext.rb, lib/rgl/graph.rb,
lib/rgl/mutable.rb, tests/TestComponents.rb, tests/TestCycles.rb,
tests/TestGraph.rb, tests/TestTransitiveClosure.rb,
tests/TestTraversal.rb: Added equality test for graphs, added
cycle locating. Modified initialize to allow duplicating and
merging of graphs. Split base into various subfiles. Added test
cases for changes. Fixed problem with GraphXML.
### 2006-03-09 23:25 monora
* lib/rgl/base.rb: Fixed typo Bug #2875
### 2006-03-03 22:28 monora
* .cvsignore, .project: We now use Eclipse-RDT
### 2005-09-18 14:08 monora
* tests/TestComponents.rb (tags: PRE_CHECKIN_JC): Fixed required
files.
### 2005-09-17 18:27 monora
* lib/rgl/base.rb (tags: PRE_CHECKIN_JC): Documentation corrected.
### 2005-09-17 18:25 monora
* README (tags: PRE_CHECKIN_JC): Added link to delicious.
### 2005-04-12 20:59 monora
* Rakefile (tags: PRE_CHECKIN_JC): corrected homepage link in
gemspec
### 2005-04-12 20:50 monora
* Makefile: rake is better than make
### 2005-04-12 20:35 monora
* README (tags: REL_0_2_3): updated copyright notice
### 2005-04-12 20:32 monora
* examples/examples.rb (tags: PRE_CHECKIN_JC, REL_0_2_3): Added
doc.
### 2005-04-12 18:23 monora
* README: Fixed some outdated links.
### 2005-04-05 19:54 monora
* ChangeLog (tags: PRE_CHECKIN_JC, REL_0_2_3): New entries
generated
### 2005-03-30 21:27 monora
* tests/TestDirectedGraph.rb (tags: PRE_CHECKIN_JC, REL_0_2_3):
Added test for isolated vertices in DirectedGraph#reverse.
### 2005-03-30 21:25 monora
* lib/rgl/adjacency.rb (tags: PRE_CHECKIN_JC, REL_0_2_3): Fixed bug
in DirectedGraph#reverse reported by Kaspar Schiess. Isolated
vertices were not treated correctly.
### 2005-03-26 15:06 wsdng
* lib/rgl/rdot.rb (tags: PRE_CHECKIN_JC, REL_0_2_3): added node and
edge attributes
### 2005-03-22 22:31 monora
* Rakefile (tags: REL_0_2_3): Fixed autorequire to work with gem
version 0.8.8
### 2005-02-04 22:41 monora
* README, lib/rgl/adjacency.rb, lib/rgl/base.rb (tags: REL_0_2_3),
lib/rgl/connected_components.rb (tags: PRE_CHECKIN_JC,
REL_0_2_3), lib/rgl/dot.rb (tags: PRE_CHECKIN_JC, REL_0_2_3),
lib/rgl/graphxml.rb (tags: PRE_CHECKIN_JC, REL_0_2_3),
lib/rgl/implicit.rb (tags: PRE_CHECKIN_JC, REL_0_2_3),
lib/rgl/mutable.rb (tags: PRE_CHECKIN_JC, REL_0_2_3),
lib/rgl/rdot.rb, lib/rgl/topsort.rb (tags: PRE_CHECKIN_JC,
REL_0_2_3), lib/rgl/transitiv_closure.rb (tags: PRE_CHECKIN_JC,
REL_0_2_3), lib/rgl/traversal.rb (tags: PRE_CHECKIN_JC,
REL_0_2_3): Fixed some formatting issues and smoothed
documentation. Thanks to Rich Morin.
### 2004-12-13 23:33 monora
* Makefile, README, Rakefile, lib/rgl/base.rb, lib/rgl/graphxml.rb,
lib/rgl/implicit.rb, lib/rgl/traversal.rb: Polished documentation
### 2004-12-13 21:07 monora
* lib/rgl/adjacency.rb, tests/TestDirectedGraph.rb,
tests/TestUnDirectedGraph.rb (tags: PRE_CHECKIN_JC, REL_0_2_3):
Fixed bug in Graph#reverse reported by Sascha Ebach.
### 2004-12-12 19:09 cyent
* tests/TestGraphXML.rb: Fixed bug in relative path
### 2004-12-12 19:08 cyent
* tests/TestDirectedGraph.rb: Added test_random
### 2004-12-12 19:07 cyent
* lib/rgl/: adjacency.rb, base.rb, connected_components.rb,
rdot.rb: Fixed comments, removed warnings in ruby1.9 -w by adding
attr_readers, told emacs to use tab-width 4 on these files
### 2004-12-11 23:46 monora
* README (tags: REL_0_2_2), Rakefile (tags: REL_0_2_2),
examples/examples.rb (tags: REL_0_2_2), lib/stream.rb,
lib/rgl/base.rb (tags: REL_0_2_2), lib/rgl/graphxml.rb (tags:
REL_0_2_2), lib/rgl/traversal.rb (tags: REL_0_2_2),
tests/TestGraphXML.rb (tags: PRE_CHECKIN_JC, REL_0_2_3,
REL_0_2_2), tests/_TestGraphXML.rb: Added gem packaging.
### 2004-10-08 15:15 monora
* tests/runtests.rb: In new testframework not needed.
### 2004-10-08 15:14 monora
* lib/utils.rb: Code move to base.rb
### 2004-10-06 22:11 monora
* lib/rgl/base.rb: Code from utils.rb included
### 2004-10-06 22:09 monora
* Rakefile: First start for gem preparation
### 2003-07-30 21:50 monora
* lib/utils.rb, lib/rgl/implicit.rb (tags: REL_0_2_2),
tests/TestComponents.rb (tags: REL_0_2_3, REL_0_2_2),
tests/TestDirectedGraph.rb (tags: REL_0_2_2),
tests/TestImplicit.rb (tags: PRE_CHECKIN_JC, REL_0_2_3,
REL_0_2_2), tests/TestTransitiveClosure.rb (tags: PRE_CHECKIN_JC,
REL_0_2_3, REL_0_2_2), tests/TestTraversal.rb (tags:
PRE_CHECKIN_JC, REL_0_2_3, REL_0_2_2),
tests/TestUnDirectedGraph.rb (tags: REL_0_2_2),
tests/_TestGraphXML.rb, tests/runtests.rb (utags: rforge-import):
- port to ruby 1.8 - compiler warnings removed - set_up -> setup
in testfiles
### 2002-11-13 21:53 monora
* lib/rgl/: rdot.rb, dot.rb (utags: REL_0_2_2, rforge-import):
Name-attribute of DOTNode has to be escaped by ".
### 2002-11-10 21:21 monora
* lib/: utils.rb, rgl/adjacency.rb (tags: REL_0_2_2,
rforge-import), set.rb: Use knus compatibility library for Ruby
1.8 esp. for set.rb and inject.
### 2002-09-22 15:58 monora
* lib/rgl/dot.rb: to_dot_graph now also outputs vertices.
### 2002-09-22 15:57 monora
* lib/rgl/adjacency.rb: cosmetic.
### 2002-09-17 22:58 monora
* Makefile (tags: REL_0_2_2, rforge-import): Added releasedoc
target.
### 2002-09-17 22:57 monora
* lib/rgl/: base.rb (tags: rforge-import), implicit.rb: Fixed typo.
### 2002-08-29 21:20 monora
* ChangeLog: Changed NameError to NoVertexError.
### 2002-08-29 21:17 monora
* tests/TestDirectedGraph.rb, tests/TestUnDirectedGraph.rb,
lib/rgl/adjacency.rb, lib/rgl/base.rb, ChangeLog: Changed
NameError to NoVertexError.
### 2002-08-23 22:07 monora
* Makefile (tags: V0_2_1), README (tags: rforge-import, V0_2_1),
examples/canvas.rb (tags: PRE_CHECKIN_JC, REL_0_2_3, REL_0_2_2,
rforge-import, V0_2_1), examples/north/g.12.8.graphml (tags:
PRE_CHECKIN_JC, REL_0_2_3, REL_0_2_2, rforge-import, V0_2_1),
examples/north/g.14.9.graphml (tags: PRE_CHECKIN_JC, REL_0_2_3,
REL_0_2_2, rforge-import, V0_2_1), lib/dot/dot.rb,
lib/rgl/base.rb (tags: V0_2_1), lib/rgl/dot.rb (tags: V0_2_1),
lib/rgl/rdot.rb (tags: V0_2_1): canvas.rb added. Collision with
rdoc/dot.rb removed.
### 2002-08-19 21:58 monora
* README (tags: V0_2): Added link to SF.