Skip to content

Commit f23a58a

Browse files
committed
2.5.0
1 parent ac0ac8c commit f23a58a

4 files changed

Lines changed: 25 additions & 52 deletions

File tree

README.md

Lines changed: 22 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Brief feature list:
1313
* Behaviours, Decorators, Sequences, Selectors, Parallels and BehaviourTree.
1414
* Blackboards for data sharing.
1515
* A useful library of behaviours, decorators, and idioms.
16+
* A more abstract ports API and XML parser for declarative behavior definitions.
1617
* Serialise to a dot graph or render to ascii/unicode in a terminal.
1718
* Tested on Linux and Mac (YMMV with Windows).
1819

@@ -26,7 +27,7 @@ Brief feature list:
2627

2728
## Documentation
2829

29-
[![devel][docs-devel-image]][docs-devel] [![2.4.x][docs-2.4.x-image]][docs-2.4.x] [![2.3.x][docs-2.3.x-image]][docs-2.3.x] [![2.2.x][docs-2.2.x-image]][docs-2.2.x] [![2.1.x][docs-2.1.x-image]][docs-2.1.x]
30+
[![devel][docs-devel-image]][docs-devel] [![2.5.x][docs-2.5.x-image]][docs-2.5.x] [![2.4.x][docs-2.4.x-image]][docs-2.4.x] [![2.3.x][docs-2.3.x-image]][docs-2.3.x] [![2.2.x][docs-2.2.x-image]][docs-2.2.x]
3031

3132
## Getting Started
3233

@@ -75,7 +76,7 @@ Visualisation:
7576
* [py_trees_js](https://github.com/splintered-reality/py_trees_js) - a javascript library for building your own runtime visualisation tool
7677

7778
Robotics:
78-
* [py_trees_ros](https://github.com/splintered-reality/py_trees_ros) - a tree manager and behaviours designed for use specifically with `ROS2`
79+
* [py_trees_ros](https://github.com/splintered-reality/py_trees_ros) - a tree manager and behaviours designed for use specifically with `ROS 2`
7980
* [py_trees_ros_viewer](https://github.com/splintered-reality/py_trees_ros_viewer) - a `Qt/ROS 2` implementation of `py_trees_js`
8081

8182
## Maintainers
@@ -91,6 +92,7 @@ Contributors are welcome to add themselves here in future PRs.
9192

9293
## Releases
9394

95+
* `2.5.x` - New Ports API with XML file parsing, modernized dev environment with `uv`, support Python 3.14.
9496
* `2.4.x` - New ForEach decorator, new CompareBlackboardVariables behaviour, and callables in comparison expressions.
9597
* `2.3.x` - Support for Python 3.12 was added, and Python 3.8 was dropped.
9698
* `2.2.x` - Selectors, Sequences with and without memory. Improved testing and style/type checking.
@@ -101,92 +103,63 @@ Contributors are welcome to add themselves here in future PRs.
101103
* `1.0.x` - Behaviours, Decorators, Composites, Blackboards, Tree Management and Viz tools.
102104
* `0.y.x` - First open source pre-releases.
103105

104-
| | Devel | 2.4.x | 2.3.x | 2.2.x | 2.1.x | 2.0.x |
105-
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
106-
| Sources | [![devel][sources-devel-image]][sources-devel] | [![2.4.x][sources-2.4.x-image]][sources-2.4.x] | [![2.3.x][sources-2.3.x-image]][sources-2.3.x] | [![2.2.x][sources-2.2.x-image]][sources-2.2.x] | [![2.1.x][sources-2.1.x-image]][sources-2.1.x] | [![2.0.x][sources-2.0.x-image]][sources-2.0.x] |
107-
| Compatibility | [![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.10][python310-image]][python310-docs]<br/>[![Python 3.8][python38-image]][python38-docs] | [![Python 3.6][python36-image]][python36-docs] | [![Python 3.6][python36-image]][python36-docs] | [![Python 3.6][python36-image]][python36-docs] |
108-
| CI | [![devel-Status][devel-build-status-image]][devel-build-status] | [![2.4.x-Status][2.4.x-build-status-image]][2.4.x-build-status] | [![2.3.x-Status][2.3.x-build-status-image]][2.3.x-build-status] | [![2.2.x-Status][2.2.x-build-status-image]][2.2.x-build-status] | - | - | - | - |
109-
| Documentation | [![devel-Docs][rtd-devel-image]][docs-devel] | [![2.4.x-Docs][rtd-2.4.x-image]][docs-2.4.x] | [![2.3.x-Docs][rtd-2.3.x-image]][docs-2.3.x] | [![2.2.x-Docs][rtd-2.2.x-image]][docs-2.2.x] | [![2.1.x-Docs][rtd-2.1.x-image]][docs-2.1.x] | [![2.0.x-Docs][rtd-2.0.x-image]][docs-2.0.x] |
106+
| | Devel | 2.5.x | 2.4.x | 2.3.x | 2.2.x |
107+
|:---:|:---:|:---:|:---:|:---:|:---:|
108+
| Sources | [![devel][sources-devel-image]][sources-devel] | [![2.5.x][sources-2.5.x-image]][sources-2.5.x] | [![2.4.x][sources-2.4.x-image]][sources-2.4.x] | [![2.3.x][sources-2.3.x-image]][sources-2.3.x] | [![2.2.x][sources-2.2.x-image]][sources-2.2.x] |
109+
| Compatibility | [![Python 3.14][python314-image]][python314-docs]<br/>[![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.14][python314-image]][python314-docs]<br/>[![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.12][python312-image]][python312-docs]<br/>[![Python 3.10][python310-image]][python310-docs] | [![Python 3.10][python310-image]][python310-docs]<br/>[![Python 3.8][python38-image]][python38-docs] |
110+
| CI | [![devel-Status][devel-build-status-image]][devel-build-status] | [![2.5.x-Status][2.5.x-build-status-image]][2.5.x-build-status] | [![2.4.x-Status][2.4.x-build-status-image]][2.4.x-build-status] | [![2.3.x-Status][2.3.x-build-status-image]][2.3.x-build-status] | [![2.2.x-Status][2.2.x-build-status-image]][2.2.x-build-status] |
111+
| Documentation | [![devel-Docs][rtd-devel-image]][docs-devel] | [![2.5.x-Docs][rtd-2.5.x-image]][docs-2.5.x] | [![2.4.x-Docs][rtd-2.4.x-image]][docs-2.4.x] | [![2.3.x-Docs][rtd-2.3.x-image]][docs-2.3.x] | [![2.2.x-Docs][rtd-2.2.x-image]][docs-2.2.x] |
110112

111113

112114
[license-image]: https://img.shields.io/badge/License-BSD%203--Clause-orange.svg?style=plastic
113115
[license]: LICENSE
114116

117+
[python314-image]: https://img.shields.io/badge/python-3.14-green.svg?style=plastic
118+
[python314-docs]: https://docs.python.org/3.14/
115119
[python312-image]: https://img.shields.io/badge/python-3.12-green.svg?style=plastic
116120
[python312-docs]: https://docs.python.org/3.12/
117121
[python310-image]: https://img.shields.io/badge/python-3.10-green.svg?style=plastic
118122
[python310-docs]: https://docs.python.org/3.10/
119123
[python38-image]: https://img.shields.io/badge/python-3.8-green.svg?style=plastic
120124
[python38-docs]: https://docs.python.org/3.8/
121-
[python36-image]: https://img.shields.io/badge/python-3.6-green.svg?style=plastic
122-
[python36-docs]: https://docs.python.org/3.6/
123125

124126
[devel-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg
125127
[devel-build-status]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml
126-
[2.4.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg??branch=release/2.4.x
128+
[2.5.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg?branch=release/2.5.x
129+
[2.5.x-build-status]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml
130+
[2.4.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg?branch=release/2.4.x
127131
[2.4.x-build-status]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml
128-
[2.3.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg??branch=release/2.3.x
132+
[2.3.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg?branch=release/2.3.x
129133
[2.3.x-build-status]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml
130-
[2.2.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg??branch=release/2.2.x
134+
[2.2.x-build-status-image]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml/badge.svg?branch=release/2.2.x
131135
[2.2.x-build-status]: https://github.com/splintered-reality/py_trees/actions/workflows/pre-merge.yaml
132136

133137
[docs-devel]: http://py-trees.readthedocs.io/
138+
[docs-2.5.x]: http://py-trees.readthedocs.io/en/release-2.5.x/
134139
[docs-2.4.x]: http://py-trees.readthedocs.io/en/release-2.4.x/
135140
[docs-2.3.x]: http://py-trees.readthedocs.io/en/release-2.3.x/
136141
[docs-2.2.x]: http://py-trees.readthedocs.io/en/release-2.2.x/
137-
[docs-2.1.x]: http://py-trees.readthedocs.io/en/release-2.1.x/
138-
[docs-2.0.x]: http://py-trees.readthedocs.io/en/release-2.0.x/
139-
[docs-1.3.x]: http://py-trees.readthedocs.io/en/release-1.3.x/
140-
[docs-1.2.x]: http://py-trees.readthedocs.io/en/release-1.2.x/
141-
[docs-0.7.x]: http://py-trees.readthedocs.io/en/release-0.7.x/
142-
[docs-0.6.x]: http://py-trees.readthedocs.io/en/release-0.6.x/
143-
[docs-0.5.x]: http://docs.ros.org/kinetic/api/py_trees/html/
144142

145143
[docs-devel-image]: http://img.shields.io/badge/docs-devel-brightgreen.svg?style=plastic
144+
[docs-2.5.x-image]: http://img.shields.io/badge/docs-2.5.x-brightgreen.svg?style=plastic
146145
[docs-2.4.x-image]: http://img.shields.io/badge/docs-2.4.x-brightgreen.svg?style=plastic
147146
[docs-2.3.x-image]: http://img.shields.io/badge/docs-2.3.x-brightgreen.svg?style=plastic
148147
[docs-2.2.x-image]: http://img.shields.io/badge/docs-2.2.x-brightgreen.svg?style=plastic
149-
[docs-2.1.x-image]: http://img.shields.io/badge/docs-2.1.x-brightgreen.svg?style=plastic
150-
[docs-2.0.x-image]: http://img.shields.io/badge/docs-2.0.x-brightgreen.svg?style=plastic
151-
[docs-1.3.x-image]: http://img.shields.io/badge/docs-1.3.x-brightgreen.svg?style=plastic
152-
[docs-1.2.x-image]: http://img.shields.io/badge/docs-1.2.x-brightgreen.svg?style=plastic
153-
[docs-0.7.x-image]: http://img.shields.io/badge/docs-0.7.x-brightgreen.svg?style=plastic
154-
[docs-0.6.x-image]: http://img.shields.io/badge/docs-0.6.x-brightgreen.svg?style=plastic
155-
[docs-0.5.x-image]: http://img.shields.io/badge/docs-0.5.x-brightgreen.svg?style=plastic
156148

157149
[rtd-devel-image]: https://readthedocs.org/projects/py-trees/badge/?version=devel&style=plastic
150+
[rtd-2.5.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.5.x&style=plastic
158151
[rtd-2.4.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.4.x&style=plastic
159152
[rtd-2.3.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.3.x&style=plastic
160153
[rtd-2.2.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.2.x&style=plastic
161-
[rtd-2.1.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.1.x&style=plastic
162-
[rtd-2.0.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-2.0.x&style=plastic
163-
[rtd-1.3.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-1.3.x&style=plastic
164-
[rtd-1.2.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-1.2.x&style=plastic
165-
[rtd-0.7.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-0.7.x&style=plastic
166-
[rtd-0.6.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-0.6.x&style=plastic
167-
[rtd-0.5.x-image]: https://readthedocs.org/projects/py-trees/badge/?version=release-0.5.x&style=plastic
168-
[not-available-docs-image]: http://img.shields.io/badge/docs-n/a-yellow.svg?style=plastic
169154

170155
[sources-devel]: https://github.com/splintered-reality/py_trees/tree/devel
156+
[sources-2.5.x]: https://github.com/splintered-reality/py_trees/tree/release/2.5.x
171157
[sources-2.4.x]: https://github.com/splintered-reality/py_trees/tree/release/2.4.x
172158
[sources-2.3.x]: https://github.com/splintered-reality/py_trees/tree/release/2.3.x
173159
[sources-2.2.x]: https://github.com/splintered-reality/py_trees/tree/release/2.2.x
174-
[sources-2.1.x]: https://github.com/splintered-reality/py_trees/tree/release/2.1.x
175-
[sources-2.0.x]: https://github.com/splintered-reality/py_trees/tree/release/2.0.x
176-
[sources-1.3.x]: https://github.com/splintered-reality/py_trees/tree/release/1.3.x
177-
[sources-1.2.x]: https://github.com/splintered-reality/py_trees/tree/release/1.2.x
178-
[sources-0.7.x]: https://github.com/splintered-reality/py_trees/tree/release/0.7.x
179-
[sources-0.6.x]: https://github.com/splintered-reality/py_trees/tree/release/0.6.x
180-
[sources-0.5.x]: https://github.com/splintered-reality/py_trees/tree/release/0.5.x
181160

182161
[sources-devel-image]: http://img.shields.io/badge/sources-devel-blue.svg?style=plastic
162+
[sources-2.5.x-image]: http://img.shields.io/badge/sources-2.5.x-blue.svg?style=plastic
183163
[sources-2.4.x-image]: http://img.shields.io/badge/sources-2.4.x-blue.svg?style=plastic
184164
[sources-2.3.x-image]: http://img.shields.io/badge/sources-2.3.x-blue.svg?style=plastic
185165
[sources-2.2.x-image]: http://img.shields.io/badge/sources-2.2.x-blue.svg?style=plastic
186-
[sources-2.1.x-image]: http://img.shields.io/badge/sources-2.1.x-blue.svg?style=plastic
187-
[sources-2.0.x-image]: http://img.shields.io/badge/sources-2.0.x-blue.svg?style=plastic
188-
[sources-1.3.x-image]: http://img.shields.io/badge/sources-1.3.x-blue.svg?style=plastic
189-
[sources-1.2.x-image]: http://img.shields.io/badge/sources-1.2.x-blue.svg?style=plastic
190-
[sources-0.7.x-image]: http://img.shields.io/badge/sources-0.7.x-blue.svg?style=plastic
191-
[sources-0.6.x-image]: http://img.shields.io/badge/sources-0.6.x-blue.svg?style=plastic
192-
[sources-0.5.x-image]: http://img.shields.io/badge/sources-0.5.x-blue.svg?style=plastic

py_trees/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414

1515
# When changing, Also update setup.py and package.xml
1616
# TODO: use pkg_resources to fetch the version from setup.py
17-
__version__ = "2.4.0"
17+
__version__ = "2.5.0"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "py_trees"
3-
version = "2.4.0"
3+
version = "2.5.0"
44
description = "pythonic implementation of behaviour trees"
55
authors = [
66
{ name = "Daniel Stonier" },

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)