CHANGELOG
Changelog for package behaviortree_cpp
3.8.7 (2024-06-26)
Backport of some build-related flatbuffers changes (#825) * From flatbuffers upstream: Fix compiler error Original author of change: avaliente-bc Backport/update from upstream flatbuffers repository. Change taken from https://github.com/google/flatbuffers/pull/7227 * From flatbuffers upstream: Fix include of string_view with C++17 abseil Original author of change: ocpalo Backport/update from upstream flatbuffers repository. Changes taken from https://github.com/google/flatbuffers/pull/7897.
Add in call to ament_export_targets. (#826) That way downstream ament packages can use this package as a CMake target.
Fixed #810 - halting of subsequent nodes in ReactiveSequence/Fallback (#817) * ReactiveSequence and ReactiveFallback will behave more similarly to 3.8 * Reactive Sequence/Fallback defaulting to allow multiple async nodes ——— Co-authored-by: Davide Faconti <davide.faconti@gmail.com> Co-authored-by: Matej Vargovcik <vargovcik@robotechvision.com>
Merge pull request #769 from bi0ha2ard/fewer_boost_dependencies depend only on libboost-coroutine(-dev) for v3.8
fix(dependency): depend only on libboost-coroutine(-dev) At least on Ubuntu, boost-all-dev depends on openmpi, which depends on a fortran compiler and gcc. This is very heavy for Docker containers where only exec dependencies are really needed.
alternative to #719
fix issue #725 : SetBlackboard can copy entries
Contributors: Chris Lalancette, Davide Faconti, Felix, Lars Toenning, afrixs
3.8.5 (2023-08-14)
3.8.4 (2023-06-28)
Update ros2.yaml
Update ros1.yaml
Issue 563 (#596) * failing test * fix issue 563 (?) * better solution
use lambda in tutorial
Merge pull request #583 from BehaviorTree/issue563 Issue563
better default port
restore type check
fix issue #563
fix test
Issue563
Merge pull request #579 from open-navigation/hi changing resetStatus to public
Update tree_node.h
changing resetStatus to public
Merge branch ‘v3.8’ of github.com:BehaviorTree/BehaviorTree.CPP into v3.8
backporting fixes from branch 4.x
Merge pull request #546 from divbyzerofordummies/fix_ROS_include Fix issue #545
Fix issue #545
bug fix: halting a Node must invoke the Loggers
unit test added
Contributors: Daniel Muschick, Davide Faconti, Steve Macenski, stevemacenski
3.8.3 (2023-03-01)
fix and warnings added
fix in SharedLibrary and cosmetic changes to the code
Contributors: Davide Faconti
3.8.2 (2023-01-05)
rebane haltChildren to resetChildren
revert #329
Contributors: Davide Faconti
3.8.1 (2022-11-27)
3.8.0 (2022-10-11)
tickRootWhileRunning method
Fix: PublisherZMQ::flush is called after the publisher has been destructed (#426) * fix: PublisherZMQ::flush is called after the publisher has been destructed * style: Adjust code formatting of ~PublisherZMQ * chore: Install zmq-dev in ubuntu pipeline and exclude gtest_logger_zmq.cpp when zmq is not found. * chore: Define WIN32_LEAN_AND_MEAN to avoid ambiguity between tinyxml and msxml
fix missing closing brace in unit test (#442)
Fix incorrect registration of behavior trees containing faulty XML (#438) * fix incorrect registration of faulty trees * format * simplify XML validation * fix possible out-of-range exception in tests * Add tests * reduce scale of diffs * fix comment * add more test cases Co-authored-by: Davide Faconti <davide.faconti@gmail.com>
Add functionality to clear registered behavior trees. (#439) Co-authored-by: Jere Liukkonen <jere@picknik.ai>
Wait for the thread to finish before deleting zmq (#440) Co-authored-by: JafarAbdi <cafer.abdi@gmail.com>
clang form at
clang format
new clang format
Moving tinyxml2 to 3rdparty
Merge branch ‘master’ of github.com:BehaviorTree/BehaviorTree.CPP
backporting changes from v4.x
Update README.md
fix warnings
Merge branch ‘master’ of github.com:BehaviorTree/BehaviorTree.CPP
fix issue #433
Added ros_environment dependency to make sure ROS_VERSION is initialized (#420)
Added XML validation for decorators without children (#424) * Added unit tests to demonstrate failure * Added validation that decorators have only one child
Update expected-lite to 0.6.2 (#418)
fix test
parallel node fix
threshold child count dynamically in parallel control node (#363)
Adding the reserved word “_description” (#394)
fix(README): change find_package() instruction for BT external usage (#401) Co-authored-by: Luca Bonamini <luca.bonamini@yapemobility.it>
Example suggests it’s not restricted to a few (#414) * Example suggests it’s not restricted to a few * Update delay_node.h Fix flow of sentence, milliseconds is already put in specification.
documentation and doc correction
Merge branch ‘master’ of github.com:BehaviorTree/BehaviorTree.CPP
improve writeTreeNodesModelXML
Shutdown zmq context after joining the server thread and flushing (#400)
Update README.md
add option to conditionally build manual selector node (#397) * add option to conditionally build manual selector node * do not fail if BUILD_MANUAL_SELECTOR is true but Curses is not found
remove variables that depend on CMAKE_BINARY_DIR being set (#398) * remove variables that depend on CMAKE_BINARY_DIR being set * Update cmake.yml
Small comments on node registration (#399)
Fix destination in CMakeLists.txt (#389)
Contributors: Adam Sasine, Alberto Soragna, AndyZe, Davide Faconti, Dennis, Gaël Écorchard, Jafar, Joseph Schornak, Luca Bonamini, Paul Bovbel, Tim Clephas, Will
3.7.0 (2022-05-23)
add netlify stuff
Event based trigger introduced Added a new mechanism to emit “state changed” events that can “wake up” a tree. In short, it just provide an interruptible “sleep” function.
Fixed bug where including relative paths would fail to find the correct file (#358) * Added unit tests to verify current behavior * Fixed bug where including relative paths would fail to find the correct file * Added gtest environment to access executable path This path lets tests access files relative to the executable for better transportability * Changed file commandto add_custom_target The file command only copies during the cmake configure step. If source files change, file is not ran again
Added pure CMake action to PR checks (#378) * Added CMake CI to PR checks * Renamed action to follow pattern
updated documentation
add the ability to register multiple BTs (#373)
Update ros1.yaml
fix #338
fix issue #330
fix issue #360
Merge branch ‘master’ of github.com:BehaviorTree/BehaviorTree.CPP
Update Tutorial 2 Docuemtation (#372)
Update tutorial_09_coroutines.md (#359) Minor fix, renamed Timepoint to TimePoint.
Export dependency on ament_index_cpp (#362) To make dependent packages try to link ament_index_cpp, export the dependency explicitly.
Change order of lock to prevent deadlock. (#368) Resolves #367.
Fix #320 : forbit refrences in Any
Update action_node.h
Contributors: Adam Sasine, Davide Faconti, Fabian Schurig, Griswald Brooks, Hyeongsik Min, Robodrome, imgbot[bot], panwauu
3.6.1 (2022-03-06)
remove windows tests
fix thread safety
fix CI
Don’t restart SequenceStar on halt (#329) * Add more SequenceStar tests * Fix typo in test name * Don’t reset SequenceStar on halt
[docs] add missing node SmashDoor (#342)
ROS2 include ros_pkg attribute support (#351) * ROS2 include pkg support * ros2 build fixed Co-authored-by: Benjamin Linne <benjamin.linne.civ@army.mil>
[ImgBot] Optimize images (#334) *Total – 90.34kb -> 61.77kb (31.63%) /docs/images/Tutorial1.svg – 10.08kb -> 6.33kb (37.19%) /docs/images/FetchBeerFails.svg – 9.00kb -> 5.93kb (34.13%) /docs/images/FetchBeer2.svg – 21.19kb -> 14.41kb (32%) /docs/images/Tutorial2.svg – 34.19kb -> 23.75kb (30.54%) /docs/images/DecoratorEnterRoom.svg – 15.88kb -> 11.35kb (28.54%) Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
[Docs] BT_basics fix typo (#343)
[docs] Clarify sentence (#344) … will sleep up to 8 hours or less, if he/she is fully rested. was not clear. It can also be understood as If he/she is fully rested, the character will sleep …
[docs] match text to graphics (#340)
Docs: BT_basics fix typo (#337)
Merge branch ‘master’ of github.com:BehaviorTree/BehaviorTree.CPP
fix svg
Fix CMake ENABLE_COROUTINES flag with Boost < 1.59 (#335) Co-authored-by: Cam Fulton <cfulton@symbotic.com>
Add ENABLE_COROUTINES CMake option (#316) * Add DISABLE_COROUTINES CMake option * Change convention of CMake coroutine flag to ENABLE Co-authored-by: Cam Fulton <cfulton@symbotic.com>
[ImgBot] Optimize images (#333) *Total – 152.97kb -> 114.57kb (25.1%) /docs/images/ReactiveSequence.svg – 7.58kb -> 4.59kb (39.47%) /docs/images/SequenceNode.svg – 11.28kb -> 7.12kb (36.87%) /docs/images/SequenceStar.svg – 11.22kb -> 7.09kb (36.8%) /docs/images/DecoratorEnterRoom.svg – 20.71kb -> 13.30kb (35.77%) /docs/images/FallbackBasic.svg – 19.09kb -> 12.64kb (33.79%) /docs/images/FetchBeer.svg – 24.30kb -> 16.36kb (32.66%) /docs/images/SequenceBasic.svg – 6.32kb -> 5.49kb (13.04%) /docs/images/Tutorial1.svg – 6.67kb -> 5.94kb (10.98%) /docs/images/FetchBeerFails.svg – 6.46kb -> 5.83kb (9.76%) /docs/images/FetchBeer2.svg – 14.99kb -> 13.76kb (8.18%) /docs/images/Tutorial2.svg – 24.35kb -> 22.44kb (7.85%) Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
doc fix
Merge branch ‘new_doc’
remove deprecated code
updated documentation
[Fix] Fix cmake version warning and -Wformat warning (#319) Co-authored-by: Homalozoa <xuhaiwang@xiaomi.com>
Update README.md
Fix Windows shared lib build (#323)
fix shadowed variable in string_view.hpp (#327)
Build Sample Nodes By Default to Fix Github Action (#332) * Fix github action * Change working directory in github action step * Build samples by default
Added BlackboardCheckBool decorator node (#326) * Added tests for BlackboardCheck decorator node * Added BlackboardCheckBool decorator node
Fixed typo “Exeption” -> “Exception” (#331)
WIP
fix #325
Contributors: Adam Sasine, Affonso, Guilherme, Alberto Soragna, Davide Faconti, Homalozoa X, Jake Keller, Philippe Couvignou, Tobias Fischer, benjinne, fultoncjb, goekce, imgbot[bot]
3.6.0 (2021-11-10)
Build samples independently of examples (#315)
Fix dependency in package.xml (#313)
Fix doc statement (#309) Fix sentence
Fix references to RetryUntilSuccesful (#308) * Fix github action * Fix references to RetryUntilSuccesful
added subclass RetryNodeTypo (#295) Co-authored-by: Subaru Arai <SubaruArai@local>
Fix github action (#302)
Minor spelling correction (#305) Corrected the_aswer to the_answer
Update FallbackNode.md (#306) typo correction.
Add signal handler for Windows (#307)
fix
file renamed and documentation fixed
Update documentation for reactive sequence (#286)
Update FallbackNode.md (#287) Fix the pseudocode in the documentation of ‘Reactive Fallback’ according to its source code.
Update fallback documentation to V3 (#288) * Update FallbackNode.md description to V3 * Fix typo
Use pedantic for non MSVC builds (#289)
Merge branch ‘master’ of https://github.com/BehaviorTree/BehaviorTree.CPP
updated to latest flatbuffers
Update README.md
Fix issue #273
remove potential crash when an unfinished tree throws an exception
remove appveyor
Merge branch ‘git_actions’
Fixes for compilation on windows. (#248) * Fix for detecting ZeroMQ on windows Naming convention is a bit different for ZeroMQ, specifically on Windows with vcpkg. While ZMQ and ZeroMQ are valid on linux, the ZMQ naming convention only works on linux. * Compilation on windows not working with /WX * Macro collision on Windows On windows, the macros defined in the abstract logger collides with other in windows.h. Made them lowercase to avoid collision
Remove native support for Conan (#280)
add github workflow
Registered missing dummy nodes for examples (#275) * Added CheckTemperature dummy node * Added SayHello dummy node
add zmq.hpp in 3rdparty dirfectory
add test
fix some warnings
Fix bug on halt of delay node (#272) - When DelayNode is halted and ticked again, it always returned FAILURE since the state of DelayNode was not properly reset. - This commit fixes unexpected behavior of DelayNode when it is halted. Co-authored-by: Jinwoo Choi <jinwoos.choi@samsung.com>
Clear all of blackboard’s content (#269)
Added printTreeRecursively overload with ostream parameter (#264) * Added overload to printTreeRecursively * Changed include to iosfwd * Added test to verify function writes to stream * Added call to overload without stream parameter * Fixed conversion error * Removed overload in favor of default argument
Fix typo (#260) Co-authored-by: Francesco Vigni <francesco.vigni@sttech.de>
Update README.md
abstract_logger.h: fixed a typo (#257)
Contributors: Adam Sasine, Affonso, Guilherme, Akash, Billy, Cong Liu, Daisuke Nishimatsu, Davide Faconti, Francesco Vigni, Heben, Jake Keller, Per-Arne Andersen, Ross Weir, Steve Macenski, SubaruArai, Taehyeon, Uilian Ries, Yadu, Yuwei Liang, matthews-jca, swarajpeppermint
3.5.6 (2021-02-03)
fix issue #227
fix issue #256
Merge branch ‘master’ of https://github.com/BehaviorTree/BehaviorTree.CPP
fix issue #250
Fixed typos on SequenceNode.md (#254)
Contributors: Davide Faconti, LucasNolasco
3.5.5 (2021-01-27)
fix issue #251
Contributors: Davide Faconti
3.5.4 (2020-12-10)
Update bt_factory.cpp (#245)
Use the latest version of zmq.hpp
Improved switching BTs with active Groot monitoring (ZMQ logger destruction) (#244) * Skip 100ms (max) wait for detached thread * add {} to single line if statements
Update retry_node.cpp
fix
fix issue #230
Contributors: Davide Faconti, Florian Gramß, amangiat88
3.5.3 (2020-09-10)
fix issue #228 . Retry and Repeat node need to halt the child
better tutorial
Contributors: Davide Faconti
3.5.2 (2020-09-02)
fix warning and follow coding standard
docs: Small changes to tutorial 02 (#225) Co-authored-by: Valerio Magnago <valerio.magnago@fraunhofer.it>
Merge branch ‘master’ of https://github.com/BehaviorTree/BehaviorTree.CPP
tutorial 1 fixed
decreasing warning level to fix issue #220
fix compilation
Allow BT factory to define clock source for TimerQueue/TimerNode (#215) * Allow BT factory to define clock source for TimerQueue/TimerNode * Fix unit tests Co-authored-by: Cam Fulton <cfulton@symbotic.com> Co-authored-by: Davide Faconti <davide.faconti@gmail.com>
Added delay node and wait for enter keypress node (#182) * Added delay node and wait for enter press node * Fixed unsigned int to int conversion bug * Added a new timer to keep a track of delay timeout and return RUNNING in the meanwhile * Removed wait for keypress node * Review changes suggested by gramss Co-authored-by: Indraneel Patil <indraneel.p@greyorange.com>
Update SequenceNode.md (#211)
add failure threshold to parallel node with tests (#216)
Update tutorial_05_subtrees.md I believe that the API has been updated. Reflecting the same in this tutorial.
Contributors: Aayush Naik, Davide Faconti, Indraneel Patil, Renan Salles, Valerio Magnago, Wuqiqi123, fultoncjb
3.5.1 (2020-06-11)
trying to fix compilation in eloquent Minor fix on line 19
Update README.md
more badges
readme updated
fix ros2 compilation?
move to github actions
replace dot by zero in boost version (#197)
Always use nonstd::string_view for binary compatibility (fix issue #200)
Adding ForceRunningNode Decorator (#192)
updated doc
Add XML parsing support for custom Control Nodes (#194)
Fix typo
[Windows] Compare std::type_info objects to check type. (#181)
Fix pseudocode for ReactiveFallback. (#191)
Contributors: Aayush Naik, Darío Hereñú, Davide Faconti, Francisco Martín Rico, G.Doisy, Sarathkrishnan Ramesh, Sean Yen, Ting Chang
3.5.0 (2020-05-14)
added IfThenElse and WhileDoElse
issue #190
unit test added
reverting to a better solution
RemappedSubTree added
Fix issue #188
added function const std::string& key (issue #183)
Contributors: Davide Faconti, daf@blue-ocean-robotics.com
added IfThenElse and WhileDoElse
issue #190
unit test added
reverting to a better solution
RemappedSubTree added
Fix issue #188
added function const std::string& key (issue #183)
Contributors: Davide Faconti, daf@blue-ocean-robotics.com
3.1.1 (2019-11-10)
fix samples compilation (hopefully)
Contributors: Davide Faconti
3.1.0 (2019-10-30)
Error message corrected
fix windows and mingw compilation (?)
Merge pull request #70 from Masadow/patch-3 Added 32bits compilation configuration for msvc
make Tree non copyable
fix #114
Merge branch ‘master’ of https://github.com/BehaviorTree/BehaviorTree.CPP
critical bug fix affecting AsyncActionNode When a Tree is copied, all the thread related to AsyncActionNode where invoked. As a consequence, they are never executed, despite the fact that the value RUNNING is returned.
Fix issue #109
fix #111
Merge pull request #108 from daniel-serrano/add-RobMoSys-acknowledgement Add robmosys acknowledgement
Add robomosys acknowledgement as requested
Add robomosys acknowledgement as requested
added more comments (issue #102)
Update README.md
Add files via upload
Merge pull request #96 from LoyVanBeek/patch-1 Fix typo
Update tutorial_04_sequence_star.md
fix compilation
removing backward_cpp Motivation: backward_cpp is SUPER useful, but it is a library to use at the application level. It makes no sense to add it at the library level.
Merge pull request #95 from LoyVanBeek/patch-1 Remove 0 in front of http://… URL to publication
Remove 0 in front of http://… URL to publication Hopefully, this makes the link correctly click-able when rendered to HTML
fix issue #84 (Directories)
add infinite loop to Repeat and Retry (issue #80)
fix unit test
issue #82
fix issue #82
Added 32bits compilation configuration for msvc
Contributors: Daniel Serrano, Davide Facont, Davide Faconti, Jimmy Delas, Loy
3.0.7 (2019-04-02)
this should fix issue with tinyXML2 once and for all (maybe…)
improvement #79
doc fix
Deprecating <remap> tag in SubTree
fix windows compilation
Update README.md
back to c++11
Contributors: Davide Faconti, Ferran Roure
3.0.4 (2019-03-19)
fix issue #72 with sibling subtrees
Update .travis.yml
Contributors: Davide Faconti
3.0.3 (2019-03-12)
moving to C++14… deal with it
updated tinyXML2. Should fix several issues too
add “d” to debug library on Windows
fixed compilation error on Windows x64 (issue #63)
Improved MSVC compilation Added _CRT_SECURE_NO_WARNINGS flag for msvc compilation
adding TreeNode::modifyPortsRemapping that might be useful in the future
Merge pull request #64 from luminize/patch-1 docs/xml_format.md
Merge pull request #65 from luminize/patch-2 docs/tutorial_01_first_tree.md: fix typo
docs/tutorial_01_first_tree.md: fix typo
fix compilation in Windows/Release
remove a warning in Windows
Update README.md
Merge branch ‘windows_compilation’
fix issue #63 : compile on windows
Update .travis.yml
Create .appveyor.yml
fix compilation on windows
fix potential issue
bug fix
Update README.md
Contributors: Bas de Bruijn, Davide Faconti, Jimmy Delas, hlzl
3.0.2 (2019-03-04)
make flatbuffers visible to other project (such as Groot)
docs fix
Contributors: Davide Faconti
3.0.0 (2019-02-27)
Merge branch ‘ver_3’. Too many changes to count…
Contributors: Davide Facont, Davide Faconti, ImgBotApp, Victor Lopez
2.5.1 (2019-01-14)
fix installation directory
#39 Fix Conan version (#42) Signed-off-by: Uilian Ries <uilianries@gmail.com>
Update .travis.yml
Conan package distribution (#39)
Non-functional refactoring of xml_parsing to clean up the code
cosmetic changes in the code of BehaviorTreeFactory
XML schema. Related to enchancement #40
call setRegistrationName() for built-in Nodes The methos is called by BehaviorTreefactory, therefore it registrationName is empty if trees are created programmatically.
Reset reference count when destroying logger (issue #38)
Contributors: Davide Facont, Davide Faconti, Uilian Ries
2.5.0 (2018-12-12)
Introducing SyncActionNode that is more self explaining and less ambiguous
fix potential problem related to ControlNode::haltChildren()
Adding example/test of navigation and recovery behavior. Related to issue #36
Contributors: Davide Faconti
2.4.4 (2018-12-12)
adding virtual TreeNode::onInit() [issue #33]
fix issue #34 : if you don’t implement convertFromString, it will compile but it may throw
Pretty demangled names and obsolate comments removed
bug fixes
more comments
[enhancement #32]: add CoroActionNode and rename ActionNode as “AsynActionNode” The name ActionNode was confusing and it has been deprecated.
Update README.md
removed old file
Fix issue #31 : convertFromString mandatory for TreeNode::getParam, not Blackboard::get
Cherry piking changes from PR #19 which solve issue #2 CONAN support
Contributors: Davide Faconti
2.4.3 (2018-12-07)
Merge branch ‘master’ into ros2
removed old file
Fix issue #31 : convertFromString mandatory for TreeNode::getParam, not Blackboard::get
2.4.3
version bump
Merge pull request #30 from nuclearsandwich/patch-1 Fix typo in package name.
Remove extra find_package(ament_cmake_gtest). This package should only be needed if BUILD_TESTING is on and is find_package’d below if ament_cmake is found and BUILD_TESTING is on.
Fix typo in package name.
added video to readme
Cherry piking changes from PR #19 which solve issue #2 CONAN support
Merge pull request #29 from nuclearsandwich/ament-gtest-dep Add test dependency on ament_cmake_gtest.
Add test dependency on ament_cmake_gtest.
fix travis removing CI
Contributors: Davide Faconti, Steven! Ragnarök
2.4.2 (2018-12-05)
support ament
change to ament
Contributors: Davide Faconti
2.4.1 (2018-12-05)
fix warnings and dependencies in ROS, mainly related to ZMQ
Contributors: Davide Faconti
2.4.0 (2018-12-05)
Merge pull request #27 from mjeronimo/bt-12-4-2018 Add support for ament/colcon build
updated documentation
Merge pull request #25 from BehaviorTree/include_xml Add the ability to include an XML from another one
<include> supports ROS package getPath (issue #17)
Trying to fix writeXML (issue #24)
New feature: include XMl from other XMLs (issue #17)
more verbose error message
adding unit tests for Repeat and Retry nodes #23
Bug fix in Retry and Repeat Decorators (needs unit test)
Throw if the parameter in blackboard can’t be read
Try to prevent error #22 in user code
changed the protocol of the XML
fixing issue #22
Contributors: Davide Faconti, Michael Jeronimo
2.3.0 (2018-11-28)
Fix: registerBuilder did not register the manifest. It was “broken” as public API method
Use the Pimpl idiom to hide zmq from the header file
move header of minitrace in the cpp file
Fixed a crash occuring when you didn’t initialized a Tree object (#20)
Fix issue #16
add ParallelNode to pre-registered entries in factory (issue #13)
removed M_PI
Update the documentation
Contributors: Davide Faconti, Jimmy Delas
2.2.0 (2018-11-20)
fix typo
method contains() added to BlackBoard
back compatible API change to improve the wrapping of legacy code (issue #15) Eventually, SimpleAction, SimpleDecorators and SimpleCondition can use blackboard and NodeParameters too.
reduce potential memory allocations using string_view
fix important issue with SubtreeNode
Read at every tick the parameter if Blackboard is used
Adding NodeParameters to ParallelNode
travis update
merge pull request #14 related to #10 (with some minor changes)
Fix issue #8 and warning reported in #4 Fixed problem of visibility with TinyXML2
Contributors: Davide Faconti, Uilian Ries
2.1.0 (2018-11-16)
version 2.1. New directory structure
Contributors: Davide Faconti