Skip to content

Releases: sasozivanovic/forest

Forest v2.1.5

14 Jul 11:25
Compare
Choose a tag to compare

Changes:

  1. Minor improvements:

    • Smarter baseline default for the linguistics library.

    • Yield warning when the baseline is set to a node that is not drawn (e.g. a phantom node).

Forest v2.1.4

02 Feb 20:36
Compare
Choose a tag to compare

Changes:

  1. Performance:
    • Reimplement some internals of the packing algorithm to avoid
      consuming the string pool in documents with many trees. (We're about
      10% slower now, but (depending on the document) the memory usage
      can drop up to five times!)
  2. Bugfixes:
    • Fix aggregate function count.
    • Provide a workaround for a PGF bug: for coordinate-shaped nodes,
      \positionnodelater provides dimensions with pt in a wrong
      catcode, so max y and friends did not work for such nodes.

Forest v2.1.3

27 Jan 01:26
Compare
Choose a tag to compare

Changes:

  1. Bugfix:
    • Update nice empty nodes from linguistics library to use for current and siblings.

Forest v2.1.2

31 Dec 11:03
Compare
Choose a tag to compare

Changes:

  1. Bugfixes:
    • A level of hash doubling was unnecessarily introduced for the
      argument of all loops, and the argument of
      process keylist and process delayed. (Use compat key
      2.1.1-loops to revert to the old behaviour.)
  2. Minor improvements:
    • Implemented key also.

Forest v2.1.1

18 Dec 22:31
Compare
Choose a tag to compare

Changes:

  1. Minor improvements
    • Implemented argument processor instruction \index{processor>p}.
  2. Bugfixes
    • Argument processor instruction u introduced an extra layer of braces
      around each result item.
    • Argument processor instructions l and L did not always load the
      desided number of arguments.
    • Argument processor instructions and and or were taking the
      arguments from the start of the left side instead of its end.

Forest v2.1

08 Dec 03:30
Compare
Choose a tag to compare

Changes:

  1. Performance:
    • Substantially enhance the argument processor.
    • <forestmath> expressions: accept an argument processor expression whereever a <pgfmath> expression is allowed, simply by prefixing it with >.
    • Internally, avoid using pgfmath whereever possible.
    • Implement a fast set of macros to determine if a <pgfmath> expression is just a count or dimen expression.
    • Optimize keys split option and split register.
  2. Minor improvements:
    • Allow s in handler .option.
    • Make aggregate functions nestable and implement their pgfmath versions.
    • Implement if option/register</> for dimen and count options and registers.
    • Implement if current nodewalk empty.
    • Implement nodewalk steps leaves,-leveland-level'`.
    • Implement nodewalk operation unique.
    • Implement nodewalk key on invalid values error if real and last valid; remove value step (no compat key, as it was broken and useless).
    • Implement growth direction based anchors with the - prefix: -parent, -parent first etc.
    • Implement key save and restore register.
    • Implement handler .nodewalk style.
    • Implement pgfmath function forestloopcount.
    • Allow multiple occurrences of package option compat.
  3. Bugfixes:
    • Fix a bug in externalization: \forest@file@copy set \endlinechar to -1, which caused problems for several packages, e.g. biblatex.
    • Fix a bug in delay n: the number of cycles was reevaluated at each cycle (with compat=2.0-delayn key).
    • Fix a bug in fixed edge angles.
    • Fix compat=silent, compat=1.0-forstep and compat=1.0-stages.
    • Fix invocations of spatial propagators for nodewalk, for Nodewalk and Nodewalk.
    • Fix invocations of nodewalk steps for group, for next on tier and for previous on tier.
    • Fix behaviour of for next on tier, for previous on tier and for to tier on arrival to the invalid node.
    • Fix problems with interaction between folder and forked edges.

Forest v2.0.3

09 Apr 03:16
Compare
Choose a tag to compare

Changes:

  1. Bugfixes
    • Keys delay n and .wrap n pgfmath args don't introduce two layers of hash doubling anymore (with compat keys for the old, confusing behaviour).
    • Execute tikz code for all (including phantom) nodes. (The feature of ignoring phantom nodes was introduced in v2.0.2, but turns out it was a bad idea: for example, having a phantom root with some tikz code is not uncommon.)
    • Keys label and pin now append to option tikz, as makes sense.
    • Fix nodewalk steps filter and branch so that they can be embedded under nodewalk operations.
    • Execute before packing node even when the node has no children.
    • level<={0}{...} now works as expected.
    • Re-setting the node name to the same value doesn't yield an error anymore.
    • Don't add the separator when adding the first element to a keylist option or register.
    • Copy externalization files in TeX (don't rely on \write18).
    • Consistently store dimen options and registers with pts of catcode other.
    • Properly initialize readonly count options (n, n' n children and level).
  2. New features
    • Rework draw tree edge so that by default, an edge is drawn only it both its node and its node's parent are drawn. And yes, implement if node drawn.
    • Implement circularity detection in dynamic node operations.
    • Implement debug categories and debugging of dynamic node operations.
    • Declare some further tempdim... registers.
    • Make option id accessible via \forestoption.

Forest v2.0.2

04 Mar 02:21
Compare
Choose a tag to compare

Changes:

  1. Bugfixes
    • Respect phantom when drawing extra tikz material.
    • Silently rename the standard node when redefining it.
    • Restore original pgfpath after packing.
    • Initialize registers (to {} / 0pt / 0).
    • Dynamic key replace by now successfully replaces the root node.
  2. New features
    • Generalize (parenthesized) argument of forest environment /
      \Forest macro from temporary redefinition of stages into a
      general, key-value based configuration argument of the current
      environment / macro.
    • It is now possible to pass package options to libraries.
    • Implement draw tree node', draw tree edge' and draw tree tikz'.
    • Implement handler .nodewalk style.
    • Implement step last dynamic node and named nodewalk dynamic nodes.
  3. Documentation
    • Improve documentation of draw tree and friends.
    • Fix some typos.

Forest v2.0.1

20 Feb 17:17
Compare
Choose a tag to compare

v2.0.1

Changes:

  1. Bugfixes
    • Change the copyright year to 2016!
    • In calign=edge midpoint: s-align the midpoint between the children's
      child anchors as advertised in the documentation: to parent's parent
      anchor, not node anchor.
    • Correctly mangle option/register names to pgfmath names.
    • Accept key history in Nodewalk config.
  2. New features
    • Add * argument to \useforestlibrary.
    • Implement current and siblings (reversed).
  3. Documentation
    • Add examples of embedded nodewalks.
    • Fix the documentation of option anchor.
    • Fix documentation of calign.
    • Add a note on typos in temporal propagators.

... and some minor stuff.

Forest v2.0.0

31 Jan 05:09
Compare
Choose a tag to compare

This is the first release of Forest v2 posted on CTAN.

Major changes since v1:

  • Much improved nodewalks.
  • Added temporal propagators before packing node and after packing node.
  • Implemented looping mechanisms and more conditionals.
  • Implemented library support.
  • Introduced registers.

For the full list of changes, see the changelog in the manual (section 6).