ros-rolling-py-trees (2.2.1-2jammy) jammy; 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>  Sat, 28 Jan 2023 08:00:00 -0000

ros-rolling-py-trees (2.2.0-2jammy) jammy; urgency=high

  * [poetry] setuptools -> poetry, #389 <https://github.com/splintered-reality/py_trees/pull/389>
  * [common] remove viral ramifications of Any from ComparisonExpression, #386 <https://github.com/splintered-reality/py_trees/pull/386>
  * [display] bugfix off-the-grid bb nodes and render exclusive write edges, #383 <https://github.com/splintered-reality/py_trees/pull/383>
  * [tests] it's mypy now, by the time this ends, it'll be someone else's py , #380 <https://github.com/splintered-reality/py_trees/pull/380>
  * [behaviours, decorators] behaviours.Count -> behaviours.StatusQueue + decorators.Count (new), #376 <https://github.com/splintered-reality/py_trees/pull/376>
  * [behaviours, decorators, composites] abstract base classes, #375 <https://github.com/splintered-reality/py_trees/pull/375>
  * [behaviours] StatusSequence -> StatusQueue, #372 <https://github.com/splintered-reality/py_trees/pull/372>
  * [decorators] repeat and retry, #371 <https://github.com/splintered-reality/py_trees/pull/371>
  * [composites] use explicit composite arguments, #370 <https://github.com/splintered-reality/py_trees/pull/370>
  * [composites] restart the sequence, but allow children to retain their state #368 <https://github.com/splintered-reality/py_trees/pull/368>
  * [common] a practical inf, #366 <https://github.com/splintered-reality/py_trees/pull/366>
  * [composites] avoid redundant stop for non-running children #360 <https://github.com/splintered-reality/py_trees/pull/360>
  * [display] bugfix unicode use when no unicode for dot #359 <https://github.com/splintered-reality/py_trees/pull/359>
  * [tests] use tox, flake8 in prem-merge #354 <https://github.com/splintered-reality/py_trees/pull/354>
  * [tests] switch from deprecating nose to pytest, #350 <https://github.com/splintered-reality/py_trees/pull/350>

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 23 Jan 2023 08:00:00 -0000

ros-rolling-py-trees (2.1.6-2jammy) jammy; 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>  Mon, 31 May 2021 07:00:00 -0000

ros-rolling-py-trees (2.1.5-2jammy) jammy; 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>  Sun, 09 May 2021 07:00:00 -0000

ros-rolling-py-trees (2.1.4-2jammy) jammy; 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>  Wed, 24 Feb 2021 08:00:00 -0000

ros-rolling-py-trees (2.1.3-2jammy) jammy; 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>  Sun, 13 Dec 2020 08:00:00 -0000

ros-rolling-py-trees (2.1.2-2jammy) jammy; 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>  Thu, 05 Nov 2020 08:00:00 -0000

ros-rolling-py-trees (2.1.1-2jammy) jammy; 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>  Tue, 11 Aug 2020 07:00:00 -0000

ros-rolling-py-trees (2.1.0-2jammy) jammy; 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>  Mon, 20 Jul 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.16-2jammy) jammy; 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>  Tue, 11 Aug 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.15-2jammy) jammy; 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>  Thu, 14 May 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.14-2jammy) jammy; 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>  Sun, 26 Apr 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.13-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 24 Mar 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.12-2jammy) jammy; 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>  Tue, 10 Mar 2020 07:00:00 -0000

ros-rolling-py-trees (2.0.11-2jammy) jammy; 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>  Sun, 01 Mar 2020 08:00:00 -0000

ros-rolling-py-trees (2.0.10-2jammy) jammy; 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>  Thu, 27 Feb 2020 08:00:00 -0000

ros-rolling-py-trees (2.0.9-2jammy) jammy; 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>  Fri, 14 Feb 2020 08:00:00 -0000

ros-rolling-py-trees (2.0.8-2jammy) jammy; 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>  Sat, 01 Feb 2020 08:00:00 -0000

ros-rolling-py-trees (2.0.7-2jammy) jammy; 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>  Fri, 24 Jan 2020 08:00:00 -0000

ros-rolling-py-trees (2.0.5-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 25 Dec 2019 08:00:00 -0000

ros-rolling-py-trees (2.0.4-2jammy) jammy; urgency=high

  * [display] optional show_title in unicode_blackboard_activity_stream

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

ros-rolling-py-trees (2.0.3-2jammy) jammy; 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>  Sun, 24 Nov 2019 08:00:00 -0000

ros-rolling-py-trees (2.0.1-2jammy) jammy; 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>  Tue, 19 Nov 2019 08:00:00 -0000

ros-rolling-py-trees (1.3.3-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 15 Oct 2019 07:00:00 -0000

ros-rolling-py-trees (1.3.2-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 15 Oct 2019 07:00:00 -0000

ros-rolling-py-trees (1.3.1-2jammy) jammy; 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>  Tue, 15 Oct 2019 07:00:00 -0000

ros-rolling-py-trees (1.2.2-2jammy) jammy; 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>  Tue, 06 Aug 2019 07:00:00 -0000

ros-rolling-py-trees (1.2.1-2jammy) jammy; 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>  Tue, 21 May 2019 07:00:00 -0000

ros-rolling-py-trees (1.1.0-2jammy) jammy; 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>  Tue, 19 Mar 2019 07:00:00 -0000

ros-rolling-py-trees (1.0.6-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 06 Mar 2019 08:00:00 -0000

ros-rolling-py-trees (1.0.5-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 28 Feb 2019 08:00:00 -0000

ros-rolling-py-trees (1.0.4-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (1.0.3-2jammy) jammy; urgency=high

  * [visitors] winds of change visitor and logging demo

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

ros-rolling-py-trees (1.0.2-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (1.0.1-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 12 Feb 2018 08:00:00 -0000

ros-rolling-py-trees (1.0.0-2jammy) jammy; 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>  Fri, 18 Jan 2019 08:00:00 -0000

ros-rolling-py-trees (0.8.0-2jammy) jammy; 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>  Thu, 18 Oct 2018 07:00:00 -0000

ros-rolling-py-trees (0.7.5-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (0.7.0-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 27 Sep 2018 07:00:00 -0000

ros-rolling-py-trees (0.6.5-2jammy) jammy; 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>  Wed, 19 Sep 2018 07:00:00 -0000

ros-rolling-py-trees (0.6.4-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (0.6.3-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (0.6.2-2jammy) jammy; urgency=high

  * [bugfix] oneshot now reacts to priority interrupts correctly

 -- Daniel Stonier <d.stonier@gmail.com>  Fri, 31 Aug 2018 07:00:00 -0000

ros-rolling-py-trees (0.6.1-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Mon, 20 Aug 2018 07:00:00 -0000

ros-rolling-py-trees (0.6.0-2jammy) jammy; urgency=high

  * [infra] python 2/3 compatibility

 -- Daniel Stonier <d.stonier@gmail.com>  Tue, 15 May 2018 07:00:00 -0000

ros-rolling-py-trees (0.5.10-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Sat, 17 Jun 2017 07:00:00 -0000

ros-rolling-py-trees (0.5.9-2jammy) jammy; urgency=high

  * [docs] bugfix image links and rewrite the motivation

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

ros-rolling-py-trees (0.5.8-2jammy) jammy; urgency=high

  * [infra] setup.py tests_require, not test_require

 -- Daniel Stonier <d.stonier@gmail.com>  Sun, 19 Mar 2017 07:00:00 -0000

ros-rolling-py-trees (0.5.7-2jammy) jammy; urgency=high

  * [infra] update maintainer email

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 01 Mar 2017 08:00:00 -0000

ros-rolling-py-trees (0.5.5-2jammy) jammy; 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>  Wed, 01 Mar 2017 08:00:00 -0000

ros-rolling-py-trees (0.5.4-2jammy) jammy; urgency=high

  * [infra] handle pypi/catkin conflicts with install_requires

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 22 Feb 2017 08:00:00 -0000

ros-rolling-py-trees (0.5.2-2jammy) jammy; urgency=high

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

 -- Daniel Stonier <d.stonier@gmail.com>  Wed, 22 Feb 2017 08:00:00 -0000

ros-rolling-py-trees (0.5.1-2jammy) jammy; urgency=high

  * [infra] pypi package enabled

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

ros-rolling-py-trees (0.5.0-2jammy) jammy; 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>  Tue, 21 Feb 2017 08:00:00 -0000

ros-rolling-py-trees (0.4.0-2jammy) jammy; 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>  Fri, 13 Jan 2017 08:00:00 -0000

ros-rolling-py-trees (0.3.0-2jammy) jammy; urgency=high

  * ``failure_is_running decorator`` (meta).

 -- Daniel Stonier <d.stonier@gmail.com>  Thu, 25 Aug 2016 07:00:00 -0000

ros-rolling-py-trees (0.2.0-2jammy) jammy; 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>  Wed, 01 Jun 2016 07:00:00 -0000

ros-rolling-py-trees (0.1.2-2jammy) jammy; urgency=high

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

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

ros-rolling-py-trees (0.1.1-2jammy) jammy; 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>  Sat, 10 Oct 2015 07:00:00 -0000


