CHANGELOG

Changelog for package rclpy

3.3.13 (2024-05-15)

  • update RCL_RET_TIMEOUT error handling with action service response. (#1258) (#1276)

  • Contributors: mergify[bot]

3.3.12 (2024-02-16)

  • Don’t crash the action server if the client goes away. (#1114) (#1218)

  • Contributors: mergify[bot]

3.3.11 (2023-11-13)

  • Use timeout object to avoid callback losing in wait_for_ready_callbacks (backport #1165) (#1185)

  • unregister_sigterm_signal_handler should be called. (#1170) (#1176)

  • Contributors: mergify[bot]

3.3.10 (2023-09-19)

  • Avoid generating the exception when rcl_send_response times out. (#1136) (#1152)

  • Contributors: mergify[bot]

3.3.9 (2023-07-18)

  • ServerGoalHandle should be destroyed before removing. (#1113) (#1120)

  • Contributors: mergify[bot]

3.3.8 (2023-04-25)

  • Deal with ParameterUninitializedException for parameter service (backport #1033) (#1041)

  • Fix #983 by saving future and checking for + raising any exceptions (#1073) (#1088)

  • Contributors: Tomoya Fujita, mergify[bot]

3.3.7 (2023-01-13)

  • Fix test_publisher linter for pydocstyle 6.2.2 (backport #1063) (#1066)

  • Contributors: mergify[bot]

3.3.6 (2023-01-10)

  • decorator should not be callable. (#1050) (#1051)

  • Add parallel callback test (#1044) (#1052)

  • Contributors: mergify[bot]

3.3.5 (2022-11-07)

  • Waitable should check callback_group if it can be executed. (#1001) (#1013)

  • Revert “Raise user handler exception in MultiThreadedExecutor. (#984)” (#1017) (#1023)

  • support wildcard matching for params file (#987) (#1002)

  • Raise user handler exception in MultiThreadedExecutor. (#984) (#990)

  • fix gcc 7.5 build errors (#977) (#980)

  • Contributors: mergify[bot]

3.3.4 (2022-05-17)

  • check if the context is already shutdown. (#939) (#943)

  • Contributors: mergify[bot]

3.3.3 (2022-05-10)

  • remove feedback callback when the goal has been completed. (#927) (#931)

  • Contributors: mergify[bot]

3.3.2 (2022-04-08)

  • Make rclpy dependencies explicit (#906)

  • Contributors: Chris Lalancette

3.3.1 (2022-03-24)

  • Avoid exception in Node constructor when use override for ‘use_sim_time’ (#896)

  • time_until_next_call returns max if timer is canceled. (#910)

  • Contributors: Artem Shumov, Ivan Santiago Paunovic, Tomoya Fujita

3.3.0 (2022-03-01)

  • Properly implement action server/client handle cleanup. (#905)

  • Make sure to take out contexts on Action{Client,Server}. (#904)

  • Make sure to free the goal_status_array when done using it. (#902)

  • Bugfix to Node.destroy_rate() result (#901)

  • Remove fastrtps customization on tests (#895)

  • fix typo (#890)

  • Document that Future.result() may return None (#884)

  • update doc release number (#885)

  • Contributors: Anthony, Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Miguel Company

3.2.1 (2022-01-14)

  • Fix multi-threaded race condition in client.call_async (#871)

  • Fix include order for cpplint (#877)

  • Bugfix/duration to msg precision (#876)

  • Update to pybind11 2.7.1 (#874)

  • QoS history depth is only available with KEEP_LAST (#869)

  • Contributors: Auguste Lalande, Chris Lalancette, Erki Suurjaak, Jacob Perron, Tomoya Fujita

3.2.0 (2021-12-23)

  • Implement managed nodes. (#865)

  • Make rclpy.try_shutdown() behavior to follow rclpy.shutdown() more closely. (#868)

  • Update TopicEndpointTypeEnum.__str__() method to include history kind and history depth. (#849)

  • Add Clock.sleep_for() using Clock.sleep_until(). (#864)

  • Add Clock.sleep_until() (#858)

  • Add __enter__ and __exit__ to JumpHandle. (#862)

  • Don’t override rclpy._rclpy_pybind11 docs. (#863)

  • Improve JumpThreshold documentation and forbid zero durations. (#861)

  • Fix time.py and clock.py circular import. (#860)

  • Make context.on_shutdown() allow free functions. (#859)

  • Fix automatically declared parameters descriptor type. (#853)

  • Shutdown asynchronously when sigint is received. (#844)

  • Update maintainers. (#845)

  • Add entities to callback group before making them available to the executor to avoid a race condition. (#839)

  • Avoid race condition in client.call(). (#838)

  • Contributors: Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Tomoya Fujita

3.1.0 (2021-10-22)

  • Handle sigterm. (#830)

  • Use pybind11 for signal handling, and delete now unused rclpy_common, pycapsule, and handle code. (#814)

  • Fix memory leak in Service::take_request() and Client::take_response(). (#828)

  • Add Publisher.wait_for_all_acked(). (#793)

  • Only add one done callback to a future in Executor. (#816)

  • Add convert function from ParameterValue to Python builtin. (#819)

  • Call Context._logging_fini() in Context.try_shutdown(). (#800)

  • Lift LoggingSeverity enum as common dependency to logging and rcutils_logger modules (#785)

  • Set Context.__context to None in __init__(). (#812)

  • Remove unused function make_mock_subscription. (#809)

  • Contributors: Barry Xu, Chris Lalancette, Ivan Santiago Paunovic, Jacob Perron, Lei Liu, Louise Poubel, Shane Loretz, ksuszka

3.0.1 (2021-06-11)

  • Removed common.c/h (#789)

  • Contributors: Alejandro Hernández Cordero

3.0.0 (2021-05-19)

  • Allow declaring uninitialized parameters (#798)

  • Reject cancel request if failed to transit to CANCEL_GOAL state (#791)

  • Deleted handle as it should no longer be used (#786)

  • Removed some functions in common.c and replaced them in utils.cpp (#787)

  • Moved exception.cpp/hpp to the _rclpy_pybind11 module (#788)

  • Contributors: Alejandro Hernández Cordero, Jacob Perron, Tomoya Fujita

2.0.0 (2021-05-10)

  • Print ‘Infinite’ for infinite durations in topic endpoint info (#722)

  • Break log function execution ASAP if configured severity is too high (#776)

  • Convert Node and Context to use C++ Classes (#771)

  • Misc action server improvements (#774)

  • Misc action goal handle improvements (#767)

  • Convert Guardcondition to use C++ classes (#772)

  • Removed unused structs rclpy_client_t and rclpy_service_t (#770)

  • Convert WaitSet to use C++ Classes (#769)

  • Convert ActionServer to use C++ Classes (#766)

  • Convert ActionClient to use C++ classes (#759)

  • Use py::class_ for rcl_action_goal_handle_t (#751)

  • Convert Publisher and Subscription to use C++ Classes (#756)

  • Contributors: Alejandro Hernández Cordero, Emerson Knapp, Greg Balke, Shane Loretz, ksuszka

1.8.1 (2021-04-12)

  • typo fix. (#768)

  • Restore exceptions for Connext and message timestamps on Windows (#765)

  • Use correct type when creating test publisher (#764)

  • Add a test for destroy_node while spinning (#663)

  • Add __enter__ and __exit__ to Waitable (#761)

  • Check if shutdown callback weak method is valid before calling it (#754)

  • Contributors: Andrea Sorbini, Ivan Santiago Paunovic, Scott K Logan, Shane Loretz, Tomoya Fujita

1.8.0 (2021-04-06)

  • Change index.ros.org -> docs.ros.org. (#755)

  • Use py::class_ for rcl_event_t (#750)

  • Convert Clock to use a C++ Class (#749)

  • Convert Service to use C++ Class (#747)

  • Fix windows warning by using consistent types (#753)

  • Use py::class_ for rmw_service_info_t and rmw_request_id_t (#748)

  • Convert Timer to use a C++ Class (#745)

  • Add PythonAllocator (#746)

  • Use py::class_ for rmw_qos_profile_t (#741)

  • Combine pybind11 modules into one (#743)

  • Use py::class_ for rcl_duration_t (#744)

  • Fix bug in unique_ptr type argument (#742)

  • Convert Client to use C++ Class (#739)

  • Converting last of _rclpy.c to pybind11 (#738)

  • Make sure only non-empty std::vector of arguments are indexed (#740)

  • Use py::class_ for rcl_time_point_t (#737)

  • Convert logging mutex functions to pybind11 (#735)

  • Document misuse of of parameter callbacks (#734)

  • Convert QoS APIs to pybind11 (#736)

  • Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Chris Lalancette, Greg Balke, Jacob Perron, Michel Hidalgo, Shane Loretz

1.7.0 (2021-03-25)

  • Add API for checking QoS profile compatibility (#708)

  • Replace rmw_connext_cpp with rmw_connextdds (#698)

  • Convert last of pub/sub getters to pybind11 (#733)

  • Pybind 11: count_subscribers and count_publishers (#732)

  • Convert more node accessors to pybind11 (#730)

  • Pybind11-ify rclpy_get_node_parameters (#718)

  • Modify parameter service behavior when allow_undeclared_parameters is false and the requested parameter doesn’t exist (#661)

  • Include pybind11 first to fix windows debug warning (#731)

  • Convert init/shutdown to pybind11 (#715)

  • Convert take API to pybind11 (#721)

  • Migrate qos event APIs to pybind11 (#723)

  • Remove pybind11 from rclpy common (#727)

  • Look up pybind11 package once (#726)

  • typo fix. (#729)

  • [pybind11] Node Accessors (#719)

  • Contributors: Alejandro Hernández Cordero, Andrea Sorbini, Audrow Nash, Greg Balke, Michel Hidalgo, Shane Loretz, Tomoya Fujita

1.6.0 (2021-03-18)

  • Convert serialize/deserialize to pybind11 (#712)

  • Convert names_and_types graph APIs to pybind11 (#717)

  • Use Pybind11 for name functions (#709)

  • Better checks for valid msg and srv types (#714)

  • Convert duration to pybind11 (#716)

  • Convert wait_set functions to pybind11 (#706)

  • Explicitly populate tuple with None (#711)

  • Change the time jump time type to just rcl_time_jump_t. (#707)

  • Convert rclpy service functions to pybind11 (#703)

  • Bump the cppcheck timeout by 2 minutes (#705)

  • Convert subscription functions to pybind11 (#696)

  • Convert rclpy client functions to pybind11 (#701)

  • Fix static typing when allow undeclared (#702)

  • Convert publisher functions to pybind11 (#695)

  • Convert clock and time functions to pybind11 (#699)

  • Set destructor on QoS Profile struct (#700)

  • Convert timer functions to pybind11 (#693)

  • Convert guard conditions functions to pybind11 (#692)

  • Convert service info functions to pybind11 (#694)

  • Enforce static parameter types when dynamic typing is not specified (#683)

  • rclpy_ok and rclpy_create_context to pybind11 (#691)

  • Include Pybind11 before Python.h (#690)

  • Clean up exceptions in _rclpy_action (#685)

  • Clean windows flags on _rclpy_pybind11 and _rclpy_action (#688)

  • Use pybind11 for _rclpy_handle (#668)

  • Split rclpy module for easier porting to pybind11 (#675)

  • Use Pybind11 to generate _rclpy_logging (#659)

  • Copy windows debug fixes for pybind11 (#681)

  • Use pybind11 for _rclpy_action (#678)

  • Update just pycapsule lib to use pybind11 (#652)

  • remove maintainer (#682)

  • Use Pybind11’s CMake code (#667)

  • Don’t call destroy_node while spinning (#674)

  • Check the rcl_action return value on cleanup. (#672)

  • Fix the NULL check for destroy_ros_message. (#677)

  • Use Py_XDECREF for pynode_names_and_namespaces (#673)

  • Use Py_XDECREF for pyresult_list. (#670)

  • Contributors: Chris Lalancette, Claire Wang, Ivan Santiago Paunovic, Michel Hidalgo, Scott K Logan, Shane Loretz

1.5.0 (2021-01-25)

  • Fix dead stores. (#669)

  • Fix two clang static analysis warnings. (#664)

  • Add method to get the current logging directory (#657)

  • Fix docstring indent error in create_node (#655)

  • use only True to avoid confusion in autodoc config

  • document QoS profile constants

  • Merge pull request #649 from ros2/clalancette/dont-except-while-sleep

  • Fixes from review/CI.

  • Make sure to catch the ROSInterruptException when calling rate.sleep.

  • memory leak (#643) (#645)

  • Don’t throw an exception if timer canceled while sleeping.

  • Wake executor in Node.create_subscription() (#647)

  • Contributors: Chris Lalancette, Gökçe Aydos, Ivan Santiago Paunovic, Jacob Perron, Tully Foote, ssumoo, tomoya

1.4.0 (2020-12-08)

  • Fix Enum not being comparable with ints in get_parameter_types service

  • Qos configurability (#635)

  • Use Py_XDECREF for pytopic_names_and_types. (#638)

  • Contributors: Chris Lalancette, Ivan Santiago Paunovic, tomoya

1.3.0 (2020-11-02)

  • qos_policy_name_from_kind() should accept either a QoSPolicyKind or an int (#637)

  • Add method in Node to resolve a topic or service name (#636)

  • Contributors: Ivan Santiago Paunovic

1.2.1 (2020-10-28)

  • Deprecate verbose qos policy value names (#634)

  • Remove deprecated set_parameters_callback (#633)

  • Make sure to use Py_XDECREF in rclpy_get_service_names_and_types (#632)

  • Contributors: Chris Lalancette, Ivan Santiago Paunovic

1.2.0 (2020-10-19)

  • Update maintainers (#627)

  • Add in semicolon on RCUTILS_LOGGING_AUTOINIT. (#624)

  • Add in the topic name when QoS events are fired. (#621)

  • Use best effort, keep last, history depth 1 QoS Profile for ‘/clock’ subscriptions (#619)

  • PARAM_REL_TOL documentation fix (#559)

  • Node get fully qualified name (#598)

  • MultiThreadedExecutor spin_until_future complete should not continue waiting when the future is done (#605)

  • skip test relying on source timestamps with Connext (#615)

  • Use the rpyutils shared import_c_library function. (#610)

  • Add ability to configure domain ID (#596)

  • Use absolute parameter events topic name (#612)

  • Destroy event handlers owned by publishers/subscriptions when calling publisher.destroy()/subscription.destroy() (#603)

  • Default incompatible qos callback should be set when there’s no user specified callback (#601)

  • relax rate jitter test for individual periods (#602)

  • add QoSProfile.__str__ (#593)

  • Add useful debug info when trying to publish the wrong type (#581)

  • Pass rcutils_include_dirs to cppcheck (#577)

  • wrap lines to shorten line length (#586)

  • fix moved troubleshooting url (#579)

  • improve error message if rclpy C extensions are not found (#580)

  • Contributors: Barry Xu, Chris Lalancette, Claire Wang, Dereck Wonnacott, Dirk Thomas, Emerson Knapp, Ivan Santiago Paunovic, Loy, Zhen Ju

1.1.0 (2020-06-18)

  • Add message lost subscription event (#572)

  • Fix executor behavior on shutdown (#574)

  • Add missing rcutils/macros.h header (#573)

  • Add topic_name property to Subscription (#571)

  • Add topic_name property to publisher (#568)

  • Fix and document rclpy_handle_get_pointer_from_capsule() (#569)

  • Fix docstrings (#566)

  • Contributors: Audrow, Audrow Nash, Claire Wang, Ivan Santiago Paunovic, Jacob Perron, Shane Loretz, Zhen Ju

1.0.2 (2020-06-01)

  • Protect access to global logging calls with a mutex (#562)

  • Ensure executors’ spinning API handles shutdown properly (#563)

  • Contributors: Michel Hidalgo, William Woodall

1.0.1 (2020-05-18)

  • Explicitly add DLL directories for Windows before importing (#558)

  • Contributors: Jacob Perron

1.0.0 (2020-05-12)

  • Remove MANUAL_BY_NODE liveliness API (#556)

  • Fix bug that not to get expected data because use less timeout (#548)

  • Contributors: Barry Xu, Ivan Santiago Paunovic

0.9.1 (2020-05-08)

  • Fix bad rmw_time_t to nanoseconds conversion. (#555)

  • Skip flaky timer test on windows (#554)

  • Cleanup rmw publisher/subscription on exception (#553)

  • Contributors: Ivan Santiago Paunovic, Miaofei Mei, Michel Hidalgo

0.9.0 (2020-04-29)

  • Fix flaky test expecting wrong return type of rclpy_take (#552)

  • Fix warning about pytaken_msg maybe being uninitialized (#551)

  • Handle a failed rcl_take() call in rclpy_take() (#550)

  • Enforce a precedence for wildcard matching in parameter overrides (#547)

  • Feature/services timestamps (#545)

  • Add method to take with message_info (#542)

  • Ensure logging is initialized only once (#518)

  • Update includes to use non-entry point headers from detail subdir (#541)

  • Create a default warning for qos incompatibility (#536)

  • Add enclaves introspection method in Node (#538)

  • Rename rosidl_generator_c namespace to rosidl_runtime_c (#540)

  • Use f-string to fix flake8 warning (#539)

  • Don’t persist node and context between tests (#526)

  • Avoid unsigned/signed comparison (#535)

  • Support for ON_REQUESTED_INCOMPATIBLE_QOS and ON_OFFERED_INCOMPATIBLE_QOS events (#459)

  • Switch to slightly more generic isinstance

  • Add capability to publish serialized messages (#509)

  • Set context when creating Timer (#525)

  • Don’t check lifespan on subscriber QoS (#523)

  • Deprecate set_parameters_callback API (#504)

  • Add env var to filter available RMW implementations (#522)

  • Fix object destruction order (#497)

  • Fixed flake8 rclpy test utilities (#519)

  • Fixes max_jitter calculation (#512)

  • Included get_available_rmw_implementations (#517)

  • Embolden warning about Client.call() potentially deadlocking (#516)

  • Enable test_get_publishers_subscriptions_info_by_topic() unit test for more rmw_implementations (#511)

  • Change sizes to Py_ssize_t (#514)

  • Rename rmw_topic_endpoint_info_array count to size (#510)

  • Implement functions to get publisher and subcription informations like QoS policies from topic name (#454)

  • Call init and shutdown thread safely (#508)

  • Support multiple “on parameter set” callbacks (#457)

  • Code style only: wrap after open parenthesis if not in one line (#500)

  • Add wrappers for RMW serialize and deserialize functions (#495)

  • Move logic for getting type support into a common function (#492)

  • Find test dependency rosidl_generator_py (#493)

  • Avoid reference cycle between Node and ParameterService (#490)

  • Avoid a reference cycle between Node and TimeSource (#488)

  • Fix typo (#489)

  • Handle unknown global ROS arguments (#485)

  • Fix the type annotation on get_parameters_by_prefix (#482)

  • Replace RuntimeError with new custom exception RCLError (#478)

  • Update constructor docstrings to use imperative mood (#480)

  • Use absolute topic name for rosout (#479)

  • Guard against unexpected action responses (#474)

  • Fix test_action_client.py failures (#471)

  • Enable/disable rosout logging in each node individually (#469)

  • Make use of rcutils log severity defined enum instead of duplicating code (#468)

  • Provide logging severity for string (#458)

  • Send feedback callbacks properly in send_goal() of action client (#451)

  • Contributors: Abhinav Singh, Alejandro Hernández Cordero, Barry Xu, Brian Marchi, Chris Lalancette, Dan Rose, Dirk Thomas, Donghee Ye, Emerson Knapp, Felix Divo, Ingo Lütkebohle, Ivan Santiago Paunovic, Jacob Perron, Jaison Titus, Miaofei Mei, Michel Hidalgo, Shane Loretz, Stephen Brawner, Steven! Ragnarök, Suyash Behera, Tully Foote, Werner Neubauer

0.8.3 (2019-11-18)

  • Future invokes done callbacks when done (#461)

  • Make short key of a QoS policy accessible (#463)

  • Fix new linter warnings as of flake8-comprehensions 3.1.0 (#462)

  • Contributors: Dirk Thomas, Shane Loretz

0.8.2 (2019-11-13)

  • Explicitly destroy a node’s objects before the node. (#456)

  • Get proper parameters with prefixes without dot separator. (#455)

  • Fix import to use builtin_interfaces.msg (#453)

  • Add missing exec depend on rcl_interfaces (#452)

  • Contributors: Brian Marchi, Dirk Thomas, Steven! Ragnarök

0.8.1 (2019-10-23)

  • Fix the unicode test string for opensplice rmw implementation (#447)

  • Expand test timeout to deflake rmw_connext (#449)

  • Support array parameter types (#444)

  • Make use of Clock class for throttling logs (#441)

  • Drop rclpy test_remove_ros_args_empty test case. (#445)

  • Add Rate (#443)

  • Action server: catch exception from user execute callback (#437)

  • Make cppcheck happy (#438)

  • Contributors: Brian Marchi, Jacob Perron, Michael Carroll, Michel Hidalgo, Shane Loretz

0.8.0 (2019-09-26)

  • Take parameter overrides provided through the CLI. (#434)

  • Changelog version to master (#410)

  • Remove deprecated QoS functionality (#431)

  • Remove comment (#432)

  • Provide subscription count from Publisher #418 (#429)

  • Raise custom error when node name is not found (#413)

  • Timer uses ROS time by default (#419)

  • Fix _rclpy.c formatting. (#421)

  • Fail on invalid and unknown ROS specific arguments (#415)

  • Force explicit –ros-args in cli args. (#416)

  • Make Future result() and __await__ raise exceptions (#412)

  • Use of -r/–remap flags where appropriate. (#411)

  • Awake waitables on shutdown, check if context is valid (#403)

  • Accept tuples as parameter arrays (#389)

  • Adapt to ‘–ros-args … [–]’-based ROS args extraction (#405)

  • Replace ‘NULL == ‘ with ! (#404)

  • Declaring ‘use_sim_time’ when attaching node to time source. (#396)

  • Adding ignore_override parameter to declare_parameter(s). (#392)

  • fix missing ‘raise’

  • Adding get_parameters_by_prefix method to Node. (#386)

  • remove whitespace (#385)

  • Added clients by node implementation from rcl (#383)

  • Allowing parameter declaration without a given value. (#382)

  • Make flake8 happy on windows (#381)

  • Rename QoS*Policy enum’s to *Policy (#379)

  • Fixing namespace expansion for declare_parameters. (#377)

  • Use params from node ‘/**’ from parameter YAML file (#370)

  • [executors] don’t convert a timeout_sec to nsecs (#372)

  • Fix API documentation related to ROS graph methods (#366)

  • Treat warnings as test failures and fix warnings (#365)

  • Refactored _rclpy.rclpy_get_rmw_qos_profile to return dictionary instead of QoSProfile (#364)

  • Contributors: Brian Marchi, Christian Rauch, Daniel Stonier, Daniel Wang, Geno117, Jacob Perron, Juan Ignacio Ubeira, Michel Hidalgo, Scott K Logan, Shane Loretz, Siddharth Kucheria, Vinnam Kim, William Woodall, ivanpauno, suab321321

0.7.6 (2019-08-28)

  • Fix missing raise (#390)

  • Fix time conversion for big nanoseconds value (#384)

  • Contributors: Daniel Wang, Vinnam Kim

0.7.5 (2019-08-01)

  • Updated to use params from node ‘/**’ from parameter YAML file. (#399)

  • Updated to declare ‘use_sim_time’ when attaching node to time source. (#401)

  • Fixed an errant conversion to nsecs in executors timeout.` (#397)

  • Fixed parameter handling issues. (#394) * Fixing namespace expansion for declare_parameters. (#377) * Allowing parameter declaration without a given value. (#382)

  • Contributors: Juan Ignacio Ubeira, Scott K Logan

0.7.4 (2019-06-12)

  • Fix API documentation related to ROS graph methods (#366)

  • Contributors: Jacob Perron

0.7.3 (2019-05-29)

  • Rename parameter options (#363) * rename the initial_parameters option to parameter_overrides * rename automatically_declare_initial_parameters to automatically_declare_parameters_from_overrides * update allow_undeclared_parameters docs

  • Consolidate create_publisher arguments (#362)

  • Enforcing parameter ranges. (#357)

  • Initialize QoSProfile with values from rmw_qos_profile_default (#356)

  • Contributors: Dirk Thomas, Emerson Knapp, Juan Ignacio Ubeira, William Woodall

0.7.2 (2019-05-20)

  • Add convenience name translations for use by commandline utilities etc. (#352)

  • Wait for nodes to discover each other in test_action_graph.py (#354)

  • Destroy publishers after test is done (#355)

  • Create RLock() early to avoid exception at shutdown (#351)

  • Fix qos event argument being wrapped in list. It shouldn’t have been (#349)

  • Parameter flexibility enhancements (#347)

  • Update troubleshooting reference to index.ros.org (#348)

  • Update test since unicode characters are allowed now (#346)

  • Parameter handling improvements. (#345)

  • Encourage users to always provide a QoS history depth (#344)

  • QoS - API and implementation for Liveliness and Deadline event callbacks (#316)

  • Ignore flake8 error ‘imported but unused’ (#343)

  • Contributors: Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz

0.7.1 (2019-05-08)

  • Update tests to include namespace in ROS types (#294)

  • Capsule available at self.handle (#340)

  • Wake executor when entities created or destroyed (#336)

  • Setting automatic declaration for initial parameters to False. (#339)

  • Improve signal handling (#338)

  • Parameter API enhancements (#325)

  • QoS - Expose the assert_liveliness API for Publishers and Nodes (#313)

  • Minimal change to build against new rcl API (#305)

  • Remove extra references to node handle (#335)

  • API updates for RMW preallocation work. (#337)

  • Make pub/sub/cli/srv/etc lists use @property on node (#333)

  • Ignore ValueError in SignalHandlerGuardCondition.__del__ (#334)

  • Use new test interface definitions (#332)

  • Thread safe node.destroy_* (#319)

  • Make destroy_node thread safe (#330)

  • Remove most of the timing checks in test_executor (#329)

  • Prevent rcutils_log from accessing invalid memory (#326)

  • Wait set uses pointers to rcl types not rcl->impl types (#324)

  • QoS - Expose Lifespan, Deadline, and Liveliness policy settings (#312)

  • Remove __eq__ and __hash__ from Subscription (#323)

  • Fix subscription pycapsule not being destroyed (#320)

  • Make destroy_subscription thread safe (#318)

  • enforce correct message type is passed to various API (#317)

  • Every executor gets its own SIGINT guard condition (#308)

  • add missing error handling and cleanup (#315)

  • Rename action state transitions (#300)

  • Contributors: Chris Lalancette, Dirk Thomas, Emerson Knapp, Jacob Perron, Juan Ignacio Ubeira, Michael Carroll, Michel Hidalgo, Shane Loretz, Thomas Moulard

0.7.0 (2019-04-14)

  • Added action graph API. (#306)

  • Added timeout to executor_spin_until_future_complete. (#301)

  • Refactored QoS Python-C conversion into less error-prone pattern (pre-QoS, standalone). (#307)

  • Set QoS profile to default values to future-proof against uninitialized data if new fields are added

  • Fixed executor bug by refreshing nodes when executor is woken. (#310)

  • Updated so executor exits immediately when shut down. (#309)

  • Updated to use rosgraph_msgs.msg.Clock for TimeSource. (#304)

  • Added param callback to time_source. (#297)

  • Updated tests to pass with numpy arrays. (#292)

  • Improved error handling to avoid memory leaks in C extension. (#278)

  • Fixed sigint guard condition’s lifecycle bug. (#288) Updated to use ament_target_dependencies where possible. (#286)

  • Improved documentation. (#277) * Document node.py. * Fix C extension documentation. * Document init, shutdown, and spinning. * Document Publisher and Subscription. * Document Client and Service. * Add warnings to constructors of client and service. * Document executors and callback groups. * Use typing,TYPE_CHECKING variable for condition imports used by annotations. * Add instructions for building docs to README. * Clarify doc briefs for graph discovery functions.

  • Added RcutilsLogger.warning. (#284)

  • Changed logger.warn (deprecated) to logger.warning. (#283)

  • Updated to use separated action types. (#274)

  • Updated to guard against failed take when taking action messages. (#281)

  • Enabled test using MultiThreadedExecutor. (#280)

  • Added ActionServer. (#270)

  • Changed error raised by executor dict interface to KeyError. (#276)

  • Abstracted type conversions into functions (#269)

  • Fixed Node’s reference to executor. (#275)

  • Updated to enforce UTF8 argv on rclpy.init(). (#273)

  • Fixed Executor not executing tasks if there are no ready entities in the wait set. (#272)

  • Replaced PyUnicode_1BYTE_DATA() with PyUnicode_AsUTF8(). (#271)

  • Added Action Client. (#262)

  • Updated to pass context to wait set. (#258)

  • Added Waitable to callback group. (#265)

  • Fixed flake8 error. (#263)

  • Added HIDDEN_NODE_PREFIX definition to node.py. (#259)

  • Added rclpy raw subscriptions. (#242)

  • Added a test for invalid string checks on publishing. (#256)

  • Contributors: AAlon, Dirk Thomas, Emerson Knapp, Jacob Perron, Joseph Duchesne, Michel Hidalgo, Shane Loretz, Vinnam Kim, Wei Liu, William Woodall, ivanpauno

0.6.1 (2018-12-07)

  • Added node graph functions (#247)

  • Filled ParameterEvent.msg with timestamp and node path name (#252)

  • Fixed spelling in documentation (#251)

  • Added Waitaible and wait set APIs (#250)

  • Updated rcl_wait_set_add_* calls (#248)

  • Contributors: Brian, Dirk Thomas, Jacob Perron, Ross Desmond, Shane Loretz, Tully Foote, William Woodall

0.6.0 (2018-11-19)

  • Updated to use new error handling API from rcutils (#245)

  • Added library path hook for platforms other than Windows. (#243)

  • Avoided use of MethodType when monkey patching for tests (#239)

  • Fixed repeated fini-ing on failure to parse yaml params (#238)

  • Added methods on Mock class for Python 3.5 compatibility (#237)

  • Added getter for tuple with seconds and nanoseconds (#235)

  • Added new method to get node names and namespaces (#233)

  • Fixed warning when parameter value is uninitialized. (#234)

  • Added initial node parameters from a parameters yaml files and constructor arguments. (#225)

  • Added callbacks when time jumps (#222)

  • Updated to use consolidated rcl_wait_set_clear() (#230)

  • Added parameter events publishing (#226)

  • Added Node API method for setting the parameters_callback. (#228)

  • Added test for when sim time is active but unset (#229)

  • Added node parameters and parameter services (#214)

  • Disabled 1kHz test on all platforms (#223)

  • Updated to allow duration to be initialized with negative nanoseconds (#221)

  • Updated to allow Duration to be negative (#220)

  • Added a reference to its executor on Node (#218)

  • Fixed executor.remove_node() (#217)

  • Fixed bool return value for executor.add_node() (#216)

  • Added TimeSource and support for ROS time (#210)

  • Added Time, Duration, Clock wrapping rcl (#209)

  • Contributors: Dirk Thomas, Michael Carroll, Mikael Arguedas, Shane Loretz, Steven! Ragnarök, William Woodall, dhood

0.5.3 (2018-07-17)

  • use test_msgs instead of std_msgs (#204)

  • Fixes memory leaks for nested fields (#203) This separates memory allocation out from convert_from_py function. Now it uses separate create_message function to allocate message, making it explicit gives better control where and how memory is allocated and freed.

  • Contributors: Martins Mozeiko, Mikael Arguedas

0.5.1 (2018-06-27)

  • Changed the maintainer to be William Woodall. (#196)

  • Contributors: William Woodall

0.5.0 (2018-06-25)

  • Changed the rclpy signal handler so that it is registered in rclpy_init() rather than in each wait. (#194)

  • Changed the signal handler in rclpy to call the original signal handler when receiving SIGINT during a wait on a wait set. (#191)

  • Added API for counting the number of publishers and subscribers on a topic. (#183)

  • Updated Node interface so it can use the command line arguments and can optionally ignore global arguments. (#185)

  • Changed the rclpy.spin*() functions to use a persistent executor. (#176)

  • Fixed a bug related to zero-initialization. (#182)

  • Added code to handle node names which are nullptr. (#177)

  • Refactored client class so that it can handle multiple requests. (#170)

  • Fixed rclpy_init() so that it actually passes command line arguments to rcl_init() (#179)

  • Changed logging to get the node’s logger name from rcl. (#174)

  • Fixed a bug where rclpy_take_response() was ignoring the sequence number. (#171)

  • Added support for Futures and coroutines in the executor. (#166)

  • Updated code to match API change needed to avoid accidental nullptr dereference. (#157) * Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>

  • Added a sleep to workaround race condition in MultiThreadedExecutor test. (#168)

  • Disable 1kHz timer tests on the ARM architectures. (#169) * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name. * Publish parameter events. Adds a parameter event publisher to rclpy nodes. * Increase base number of publishers for testing. Because every node has a parameter events publisher bump the number of expected publishers in a couple of cases. * Remove comment now that parameter services are implemented. * Delete NOT_SET parameters if present regardless of prior type. * Use ParameterMsg rather than RCLParameter for msg type name.

  • Contributors: Dirk Thomas, Ethan Gao, Michael Carroll, Mikael Arguedas, Nick Medveditskov, Shane Loretz, Tully Foote, William Woodall, dhood