Closed mortenpi closed 10 months ago
Any reason not to support all three versions?
Any reason not to support all three versions?
From what I remember, 0.4 has some subtly breaking changes, so if at any point we decide to use more functionality from AbstractTrees, there is a non-zero chance that we stop being compatible with the older versions. But it's unlikely we'll realize that.. until somebody somewhere gets an inscrutable error. So while I can keep the compat with 0.2 and 0.3, I feel that it's not worth the maintenance overhead.
Note: the problem that this is trying to solve is that most packages have moved on from <= 0.3, and so we can't install this in environments that have such packages. If we run into a conflicting package that doesn't allow 0.4, we should fix that dependency.
Any reason not to support all three versions?
there is a non-zero chance that we stop being compatible with the older versions
Case in point -- our current implementation doesn't work with AbstractTrees 0.4 :smile: We are mutating the tree structure during the PreOrderDFS
iteration (by changing up the children), which breaks with 0.4 (as far as I can tell, in 0.4, it iterates over the old children, whereas 0.3 iterates over the new children).
I've pushed a fix that moves the mutation out of the iteration, but I still think that we should just drop 0.2 and 0.3.
Fix #180.