|
4 | 4 | #+LINK: Issue https://github.com/evolve75/RubyTree/issues/%s |
5 | 5 | #+LINK: Pull https://github.com/evolve75/RubyTree/pull/%s |
6 | 6 |
|
| 7 | +* Note |
| 8 | + This file is a historical archive of release-era checklists (mostly R0.x–R2.x). |
| 9 | + Current work should live in GitHub Issues/Projects and release checklists. |
| 10 | + |
| 11 | +* Current / Next |
| 12 | + - Track active work in GitHub Issues and the release checklist for the target version. |
| 13 | + - Keep this file for historical reference only. |
| 14 | + |
7 | 15 | * R0.7.0 :ARCHIVE: |
8 | 16 | *** DONE Start using signed tags from R0.7.0 :ARCHIVE: |
9 | 17 | *** DONE Add a check in the Tree::TreeNode.add method to prevent addition of nil child nodes :ARCHIVE: |
|
210 | 218 | - [X] Update the documentation to reflect the modernization changes. |
211 | 219 |
|
212 | 220 |
|
213 | | -* Unplanned / Not assigned to any release |
214 | | -*** STARTED Convert all documentation to markdown mode. |
215 | | -*** STARTED [#A] Resolve the infinite loop bug if a node is added to itself as a child :Partial: |
216 | | - [[Issue:5][Issue #5.]] |
217 | | - |
218 | | - This is a subtle problem to resolve. The specific case of a node |
219 | | - being added to itself is trivial to resolve, and the fix has been |
220 | | - put in for 0.8.3. |
221 | | - |
222 | | - However, the general problem is that in the current code, a node |
223 | | - can be added as a child to any portion of the tree down the |
224 | | - hierarchy (e.g., as a grandchild), which will need a more thorough |
225 | | - detection code in the ~TreeNode#add~ method, if it is to be done at |
226 | | - runtime. |
227 | | - |
228 | | - The issue is really to prevent the tree becoming a graph. Note |
229 | | - that the issue is with duplicate nodes, /not/ duplicated content. |
230 | | - |
231 | | - A few options exist: |
232 | | - 1. Perform a runtime check in the ~TreeNode#add~ method. This will |
233 | | - cause a performance hit as the tree becomes larger. |
234 | | - 2. Allow the additions to go through, but create a new ~validate~ |
235 | | - method that checks for such cycles. |
236 | | - 3. Create separate configuration object which can be attached to |
237 | | - the root of the tree, which allows per-tree configuration of |
238 | | - the behavior - this does allow for the user to take control, |
239 | | - but also introduces complications during tree mergers and |
240 | | - spitting subtrees. |
241 | | - 4. Create a registry (to be maintained at the root?) of all nodes, |
242 | | - and use this for validating the node additions (and preventing |
243 | | - duplicates). This needs to be a hash (to allow O(1) access), |
244 | | - and will sacrifice memory. There might be a need to |
245 | | - restructure the internals to make better use of memory. |
246 | | -*** TODO Expand the examples section, and add supporting documentation |
247 | | - |
248 | | -*** TODO Create a cycle-detection/validation mechanism to prevent cyclic graphs of nodes. |
249 | | -*** TODO Create a generic validation method to check for various issues in the created tree. |
250 | | -*** TODO Add a FAQ document to the project. |
251 | | -*** TODO The semantic of length is probably unclear. Should return the node_depth instead (or remove the method) |
252 | | - The current equivalence of length to size should also be removed. |
253 | | - |
254 | | -*** TODO Create the basic UML diagrams and upload to the Site |
255 | | - DEADLINE: <2010-01-04 Mon> |
256 | | - |
257 | | -*** TODO Add a YAML export method to the TreeNode class. |
258 | | - |
259 | | -*** TODO marshal_load method probably should be a class method. It currently clobbers self. |
260 | | -*** DONE Revert the forced install of rubygem 2.1.11 from [[file:.travis.yml][.travis.yml]] :ARCHIVE: |
261 | | - CLOSED: [2014-01-12 Sun 19:06] |
262 | | - The issue seems to have been resolved with the 2.2.1 release of Rubygems. |
263 | | -*** DONE [#A] Migrate the website and references from http://rubyforge.org/ :ARCHIVE: |
264 | | - CLOSED: [2014-07-04 Fri 22:18] |
265 | | -*** DONE Fix bug # [[http://rubyforge.org/tracker/index.php%3Ffunc%3Ddetail&aid%3D22535&group_id%3D1215&atid%3D4793][22535]]: The method Tree::TreeNode#depth is a misnomer. The current definition actually provides the height function. :ARCHIVE: |
266 | | - DEADLINE: <2010-01-09 Sat> CLOSED: [2010-01-03 Sun 22:15] |
267 | | - |
268 | | -*** DONE Get the version control moved from CVS to Subversion (request submitted to RubyForge) :ARCHIVE: |
269 | | - CLOSED: [2010-01-02 Sat 17:58] |
270 | | - |
271 | | -*** DONE Add logic in Rakefile to read the file list from Manifest.txt file. :ARCHIVE: |
272 | | - CLOSED: [2009-12-31 Thu 23:37] |
| 221 | +* Unplanned / Not assigned to any release :ARCHIVE: |
| 222 | + This section is retained for historical context. Active items should be tracked in GitHub. |
| 223 | + |
| 224 | +*** DONE Convert all documentation to markdown mode. :ARCHIVE: |
| 225 | + Followed by ongoing maintenance in README and API-CHANGES. |
| 226 | + |
| 227 | +*** DONE Resolve the infinite loop bug if a node is added to itself as a child :ARCHIVE: |
| 228 | + [[Issue:5][Issue #5.]] is now addressed by cycle detection and validation guards. |
0 commit comments