ros-humble-py-trees (2.2.3-1bookworm) bookworm; urgency=high

  * [decorators] a passthrough for debugging and visualisation, #407 <https://github.com/splintered-reality/py_trees/pull/407>

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 07 Feb 2023 16:00:00 -0000

ros-humble-py-trees (2.2.2-1bookworm) bookworm; urgency=high

  * [docs] 2.2.x release documentation, bugfix for graphviz on read-the-docs, #400 <https://github.com/splintered-reality/py_trees/pull/400>

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 27 Jan 2023 16:00:00 -0000

ros-humble-py-trees (2.2.1-1bookworm) bookworm; urgency=high

  * [tox] format with black, usort and fix flake8 warnings, #397 <https://github.com/splintered-reality/py_trees/pull/397>
  * [docs] sphinx 1.4 -> 5.3, #391 <https://github.com/splintered-reality/py_trees/pull/391>

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 27 Jan 2023 16:00:00 -0000

ros-humble-py-trees (2.1.6-1bookworm) bookworm; urgency=high

  * [tests] mypy conformance,  #327 <https://github.com/splintered-reality/py_trees/pull/327>
  * [composites] show ghost states for sequence children,  #330 <https://github.com/splintered-reality/py_trees/pull/330> (reverts behaviour introduced in #325 <https://github.com/splintered-reality/py_trees/pull/325>)

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 30 May 2021 16:00:00 -0000

ros-humble-py-trees (2.1.5-1bookworm) bookworm; urgency=high

  * [composites] sequences w/o memory, #325 <https://github.com/splintered-reality/py_trees/pull/325>
  * [composites] selectors with memory, #324 <https://github.com/splintered-reality/py_trees/pull/324>
  * [display] unicode trees are unicode, not ascii #324 <https://github.com/splintered-reality/py_trees/pull/324>

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 08 May 2021 16:00:00 -0000

ros-humble-py-trees (2.1.4-1bookworm) bookworm; urgency=high

  * [behaviours] added BlackboardToStatus, #320 <https://github.com/splintered-reality/py_trees/pull/320>
  * [idioms] bugfix lost append in blackboard names for either_or, #319 <https://github.com/splintered-reality/py_trees/pull/319>
  * [docs] contributing guidelines added, #315 <https://github.com/splintered-reality/py_trees/pull/315>

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 23 Feb 2021 16:00:00 -0000

ros-humble-py-trees (2.1.3-1bookworm) bookworm; urgency=high

  * [blackboard] convenience absolute_name() api for blackboard clients, #306 <https://github.com/splintered-reality/py_trees/pull/306>

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 12 Dec 2020 16:00:00 -0000

ros-humble-py-trees (2.1.2-1bookworm) bookworm; urgency=high

  * [sequences] bugfix current child setting whilst moving through children, #304 <https://github.com/splintered-reality/py_trees/pull/304>

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 04 Nov 2020 16:00:00 -0000

ros-humble-py-trees (2.1.1-1bookworm) bookworm; urgency=high

  * [behaviours] generators for variable values in SetBlackboardVariable, #300 <https://github.com/splintered-reality/py_trees/pull/300>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 10 Aug 2020 16:00:00 -0000

ros-humble-py-trees (2.1.0-1bookworm) bookworm; urgency=high

  * [behaviours] CheckBlackboardVariableValue, WaitForBlackboardVariableValue use comparison expressins, #296 <https://github.com/splintered-reality/py_trees/pull/296>
  * [idioms] eternal_guard uses blackboard_names (previously blackboard_name_prefix), #295 <https://github.com/splintered-reality/py_trees/pull/295>
  * [composites] Chooser deprecated, #293 <https://github.com/splintered-reality/py_trees/pull/293>
  * [composites] chain-able add_children for all composites, #290 <https://github.com/splintered-reality/py_trees/pull/290>

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 19 Jul 2020 16:00:00 -0000

ros-humble-py-trees (2.0.16-1bookworm) bookworm; urgency=high

  * [behaviours] generators for variable values in SetBlackboardVariable, #300 <https://github.com/splintered-reality/py_trees/pull/300>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 10 Aug 2020 16:00:00 -0000

ros-humble-py-trees (2.0.15-1bookworm) bookworm; urgency=high

  * [composites] fix current_child problems on dynamic child insertion/removal, #289 <https://github.com/splintered-reality/py_trees/pull/289>

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 13 May 2020 16:00:00 -0000

ros-humble-py-trees (2.0.14-1bookworm) bookworm; urgency=high

  * [blackboard] bugfix metadata not created on static set, #286 <https://github.com/splintered-reality/py_trees/pull/286>

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 25 Apr 2020 16:00:00 -0000

ros-humble-py-trees (2.0.13-1bookworm) bookworm; urgency=high

  * [composites] parallel bugfix to invalidate correctly, #285 <https://github.com/splintered-reality/py_trees/pull/285>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 23 Mar 2020 16:00:00 -0000

ros-humble-py-trees (2.0.12-1bookworm) bookworm; urgency=high

  * [idioms] the either_or pattern, designed to replace the Chooser, #283 <https://github.com/splintered-reality/py_trees/pull/283>
  * [behaviours] TickCounter, a timer based on tree ticks, #283 <https://github.com/splintered-reality/py_trees/pull/283>
  * [behaviours] CheckBlackboardVariableValues, logical checks across multiple values, #283 <https://github.com/splintered-reality/py_trees/pull/283>
  * [common] ComparisonExpression, a more concise way of storing checkers, #283 <https://github.com/splintered-reality/py_trees/pull/283>
  * [composites] protect against adding a child to multiple parents, #281 <https://github.com/splintered-reality/py_trees/pull/281>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 09 Mar 2020 16:00:00 -0000

ros-humble-py-trees (2.0.11-1bookworm) bookworm; urgency=high

  * [display] completely remove blackboard variables from the dot layout, #280 <https://github.com/splintered-reality/py_trees/pull/280>

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 29 Feb 2020 16:00:00 -0000

ros-humble-py-trees (2.0.10-1bookworm) bookworm; urgency=high

  * [trees] setup timeout error with last behaviour name included in the error message, #279 <https://github.com/splintered-reality/py_trees/pull/279>
  * [blackboard] rooted variables in namespaced clients working as designed, fixed docs, #277 <https://github.com/splintered-reality/py_trees/pull/277>

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 26 Feb 2020 16:00:00 -0000

ros-humble-py-trees (2.0.9-1bookworm) bookworm; urgency=high

  * [demos] display modes demonstrating usage of various options, #275 <https://github.com/splintered-reality/py_trees/pull/275>
  * [display] enforce left to right ordering of children in dot graphs

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 13 Feb 2020 16:00:00 -0000

ros-humble-py-trees (2.0.8-1bookworm) bookworm; urgency=high

  * [display] bugfix and use elipsis on ascii visited only display modes, #273 <https://github.com/splintered-reality/py_trees/pull/273>

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 31 Jan 2020 16:00:00 -0000

ros-humble-py-trees (2.0.7-1bookworm) bookworm; urgency=high

  * [display] option for only visited behaviours in text tree snapshot displays, #272 <https://github.com/splintered-reality/py_trees/pull/272>

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 23 Jan 2020 16:00:00 -0000

ros-humble-py-trees (2.0.5-1bookworm) bookworm; urgency=high

  * [display] enum agnostic display for local and remote activity view displays

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 24 Dec 2019 16:00:00 -0000

ros-humble-py-trees (2.0.4-1bookworm) bookworm; urgency=high

  * [display] optional show_title in unicode_blackboard_activity_stream

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 24 Nov 2019 16:00:00 -0000

ros-humble-py-trees (2.0.3-1bookworm) bookworm; urgency=high

  * [trees] revert to using user signals if available to avoid shenanigans with SIGINT, #264 <https://github.com/splintered-reality/py_trees/pull/264>
  * [trees] play nicely, reset signal handlers after setup, #262 <https://github.com/splintered-reality/py_trees/pull/262>
  * [visitors] bugfix the snapshot visitor to look for exclusive write keys as well

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 23 Nov 2019 16:00:00 -0000

ros-humble-py-trees (2.0.1-1bookworm) bookworm; urgency=high

  * [blackboard] static methods have a namespace too (root), use absolute names, #261 <https://github.com/splintered-reality/py_trees/pull/261>
  * [blackboard] do not register keys on the client when xclusive write aborts the process, #261 <https://github.com/splintered-reality/py_trees/pull/261>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 18 Nov 2019 16:00:00 -0000

ros-humble-py-trees (1.3.3-1bookworm) bookworm; urgency=high

  * [blackboard] client ``Blackboard.unregister_key()`` method

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 14 Oct 2019 16:00:00 -0000

ros-humble-py-trees (1.3.2-1bookworm) bookworm; urgency=high

  * [blackboard] global ``Blackboard.clear()`` method

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 14 Oct 2019 16:00:00 -0000

ros-humble-py-trees (1.3.1-1bookworm) bookworm; urgency=high

  * [blackboard] don't do any copying, just pass handles around, #239 <https://github.com/splintered-reality/py_trees/pull/239>
  * [blackboard] client ``exists()`` method, #238 <https://github.com/splintered-reality/py_trees/pull/238>
  * [blackboard] global ``Blackboard.set()`` method
  * [blackboard] client ``Blackboard.unset()`` method, #239 <https://github.com/splintered-reality/py_trees/pull/239>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 14 Oct 2019 16:00:00 -0000

ros-humble-py-trees (1.2.2-1bookworm) bookworm; urgency=high

  * [trees] standalone ``setup()`` method with timer for use on unmanaged trees, #198 <https://github.com/splintered-reality/py_trees/pull/198>
  * [examples] fix api in ``skeleton_tree.py``,  #199 <https://github.com/splintered-reality/py_trees/pull/199>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 05 Aug 2019 16:00:00 -0000

ros-humble-py-trees (1.2.1-1bookworm) bookworm; urgency=high

  * [decorators] ``StatusToBlackboard`` reflects the status of it's child to the blackboard, #195 <https://github.com/splintered-reality/py_trees/pull/195>
  * [decorators] ``EternalGuard`` decorator that continuously guards a subtree (c.f. Unreal conditions), #195 <https://github.com/splintered-reality/py_trees/pull/195>
  * [idioms] ``eternal_guard`` counterpart to the decorator whose conditions are behaviours, #195 <https://github.com/splintered-reality/py_trees/pull/195>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 20 May 2019 16:00:00 -0000

ros-humble-py-trees (1.1.0-1bookworm) bookworm; urgency=high

  **Breaking API**
  * [display] print_ascii_tree -> ascii_tree, #178 <https://github.com/splintered-reality/py_trees/pull/178>.
  * [display] generate_pydot_graph -> dot_graph, #178 <https://github.com/splintered-reality/py_trees/pull/178>.
  * [trees] tick_tock(sleep_ms, ..) -> tick_tock(period_ms, ...),  #182 <https://github.com/splintered-reality/py_trees/pull/182>.
  **New Features**
  * [trees] add missing ``add_visitor()`` method
  * [trees] flexible ``setup()`` for children via kwargs
  * [trees] convenience method for ascii tree debugging
  * [display] highlight the tip in ascii tree snapshots
  **Bugfixes**
  * [trees] threaded timers for setup (avoids multiprocessing problems)
  * [behaviour|composites] bugfix tip behaviour, add tests
  * [display] correct first indent when non-zero in ascii_tree
  * [display] apply same formatting to root as children in ascii_tree

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 18 Mar 2019 16:00:00 -0000

ros-humble-py-trees (1.0.6-1bookworm) bookworm; urgency=high

  * [decorators] fix missing root feedback message in ascii graphs

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 05 Mar 2019 16:00:00 -0000

ros-humble-py-trees (1.0.5-1bookworm) bookworm; urgency=high

  * [decorators] fix timeout bug that doesn't respect a child's last tick

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 27 Feb 2019 16:00:00 -0000

ros-humble-py-trees (1.0.4-1bookworm) bookworm; urgency=high

  * [display] drop spline curves, it's buggy with graphviz 2.38

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 25 Feb 2019 16:00:00 -0000

ros-humble-py-trees (1.0.3-1bookworm) bookworm; urgency=high

  * [visitors] winds of change visitor and logging demo

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 12 Feb 2019 16:00:00 -0000

ros-humble-py-trees (1.0.2-1bookworm) bookworm; urgency=high

  * [console] fallbacks for unicode chars when (UTF-8) encoding cannot support them

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 12 Feb 2019 16:00:00 -0000

ros-humble-py-trees (1.0.1-1bookworm) bookworm; urgency=high

  * [trees] don't use multiprocess on setup if not using timeouts

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 11 Feb 2018 16:00:00 -0000

ros-humble-py-trees (1.0.0-1bookworm) bookworm; urgency=high

  **Breaking API**
  * [behaviour] setup() no longer returns a boolean, catch exceptions instead, #143 <https://github.com/stonier/py_trees/issues/143>.
  * [behaviour] setup() no longer takes timeouts, responsibility moved to BehaviourTree, #148 <https://github.com/stonier/py_trees/issues/148>.
  * [decorators] new-style decorators found in py_trees.decorators
  * [decorators] new-style decorators stop their running child on completion (SUCCESS||FAILURE)
  * [decorators] old-style decorators in py_trees.meta deprecated
  **New Features**
  * [blackboard] added a method for clearing the entire blackboard (useful for tests)
  * [composites] raise TypeError when children's setup methods don't return a bool (common mistake)
  * [composites] new parallel policies, SuccessOnAll, SuccessOnSelected
  * [decorators] oneshot policies for activating on completion or *successful* completion only
  * [meta] behaviours from functions can now automagically generate names

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 17 Jan 2019 16:00:00 -0000

ros-humble-py-trees (0.8.0-1bookworm) bookworm; urgency=high

  * [infra] shortcuts to types in __init__.py removed (PR117 <https://github.com/stonier/py_trees/pull/117>)
  * [bugfix] python3 rosdeps
  * [idioms] pick_up_where_you_left_off added

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 17 Oct 2018 16:00:00 -0000

ros-humble-py-trees (0.7.5-1bookworm) bookworm; urgency=high

  * [idioms] oneshot added
  * [bugfix] properly set/reset parents when replacing/removing children in composites

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 09 Oct 2018 16:00:00 -0000

ros-humble-py-trees (0.7.0-1bookworm) bookworm; urgency=high

  * [announce] python3 only support from this point forward
  * [announce] now compatible for ros2 projects

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 26 Sep 2018 16:00:00 -0000

ros-humble-py-trees (0.6.5-1bookworm) bookworm; urgency=high

  * [bugfix] pick up missing feedback messages in inverters
  * [bugfix] eliminate costly/spammy blackboard variable check feedback message

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 18 Sep 2018 16:00:00 -0000

ros-humble-py-trees (0.6.4-1bookworm) bookworm; urgency=high

  * [bugfix] replace awkward newlines with spaces in ascii trees

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 18 Sep 2018 16:00:00 -0000

ros-humble-py-trees (0.6.3-1bookworm) bookworm; urgency=high

  * [bugfix] don't send the parellel's status to running children, invalidate them instead

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 03 Sep 2018 16:00:00 -0000

ros-humble-py-trees (0.6.2-1bookworm) bookworm; urgency=high

  * [bugfix] oneshot now reacts to priority interrupts correctly

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 30 Aug 2018 16:00:00 -0000

ros-humble-py-trees (0.6.1-1bookworm) bookworm; urgency=high

  * [bugfix] oneshot no longer permanently modifies the original class

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 19 Aug 2018 16:00:00 -0000

ros-humble-py-trees (0.6.0-1bookworm) bookworm; urgency=high

  * [infra] python 2/3 compatibility

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 14 May 2018 16:00:00 -0000

ros-humble-py-trees (0.5.10-1bookworm) bookworm; urgency=high

  * [meta] add children monkeypatching for composite imposters
  * [blackboard] check for nested variables in WaitForBlackboard

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 16 Jun 2017 16:00:00 -0000

ros-humble-py-trees (0.5.9-1bookworm) bookworm; urgency=high

  * [docs] bugfix image links and rewrite the motivation

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 24 Mar 2017 16:00:00 -0000

ros-humble-py-trees (0.5.8-1bookworm) bookworm; urgency=high

  * [infra] setup.py tests_require, not test_require

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 18 Mar 2017 16:00:00 -0000

ros-humble-py-trees (0.5.7-1bookworm) bookworm; urgency=high

  * [infra] update maintainer email

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 28 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.5.5-1bookworm) bookworm; urgency=high

  * [docs] many minor doc updates
  * [meta] bugfix so that imposter now ticks over composite children
  * [trees] method for getting the tip of the tree
  * [programs] py-trees-render program added

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 28 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.5.4-1bookworm) bookworm; urgency=high

  * [infra] handle pypi/catkin conflicts with install_requires

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 21 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.5.2-1bookworm) bookworm; urgency=high

  * [docs] disable colour when building
  * [docs] sidebar headings
  * [docs] dont require project installation

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 21 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.5.1-1bookworm) bookworm; urgency=high

  * [infra] pypi package enabled

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 20 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.5.0-1bookworm) bookworm; urgency=high

  * [ros] components moved to py_trees_ros
  * [timeout] bugfix to ensure timeout decorator initialises properly
  * [docs] rolled over with napolean style
  * [docs] sphinx documentation updated
  * [imposter] make sure tip() drills down into composites
  * [demos] re-organised into modules

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 20 Feb 2017 16:00:00 -0000

ros-humble-py-trees (0.4.0-1bookworm) bookworm; urgency=high

  * [trees] add pre/post handlers after setup, just in case setup fails
  * [introspection] do parent lookups so you can crawl back up a tree
  * [blackboard] permit init of subscriber2blackboard behaviours
  * [blackboard] watchers
  * [timers] better feedback messages
  * [imposter] ensure stop() directly calls the composited behaviour

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 12 Jan 2017 16:00:00 -0000

ros-humble-py-trees (0.3.0-1bookworm) bookworm; urgency=high

  * ``failure_is_running decorator`` (meta).

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 24 Aug 2016 16:00:00 -0000

ros-humble-py-trees (0.2.0-1bookworm) bookworm; urgency=high

  * do terminate properly amongst relevant classes
  * blackboxes
  * chooser variant of selectors
  * bugfix the decorators
  * blackboard updates on change only
  * improved dot graph creation
  * many bugfixes to composites
  * subscriber behaviours
  * timer behaviours

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 31 May 2016 16:00:00 -0000

ros-humble-py-trees (0.1.2-1bookworm) bookworm; urgency=high

  * one shot sequences
  * abort() renamed more appropriately to stop()

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 15 Nov 2015 16:00:00 -0000

ros-humble-py-trees (0.1.1-1bookworm) bookworm; urgency=high

  * lots of bugfixing stabilising py_trees for the spain field test
  * complement decorator for behaviours
  * dot tree views
  * ascii tree and tick views
  * use generators and visitors to more efficiently walk/introspect trees
  * a first implementation of behaviour trees in python

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 09 Oct 2015 16:00:00 -0000


