Skip to content

Commit

Permalink
docs: Update documentation for 0.22.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
cassava committed Mar 28, 2024
1 parent 34b3b21 commit c95a26a
Show file tree
Hide file tree
Showing 6 changed files with 203 additions and 3 deletions.
2 changes: 1 addition & 1 deletion cli/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

[tool.poetry]
name = "cloe-launch"
version = "0.21.0"
version = "0.22.0"
description = "Launch cloe-engine with Conan profiles."
license = "Apache-2.0"
authors = [
Expand Down
2 changes: 1 addition & 1 deletion cli/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
setup(
long_description=readme,
name="cloe-launch",
version="0.20.0",
version="0.22.0",
description="Launch cloe-engine with Conan profiles.",
python_requires="==3.*,>=3.6.0",
author="Robert Bosch GmbH",
Expand Down
38 changes: 38 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,44 @@ readable perspective on new releases.

Note that the most recent release is at the *top* of the document.

0.22.0 (2024-03-28)
-------------------

This is the fifth public minor release of the Cloe packages.
Read all about it :doc:`here <news/release-0.22.0>`.

**Core Libraries:**

- fable: Use std::string instead of std::string&& for constructors `[2084ca03] <https://github.com/eclipse/cloe/commit/2084ca0352a96e753e0f140a2a9c7eb61f17a04f>`_
- fable: Use C++17 type traits with _t and _v suffixes `[1b659be3] <https://github.com/eclipse/cloe/commit/1b659be3c377bf013faad1d37cd1d480cdc8a181>`_
- fable: Fix excessive compilation duration `[6700c73d] <https://github.com/eclipse/cloe/commit/6700c73de9f1dbaa2452be250b8f82cf6f5862dc>`_
- fable: Add example stress test with generated code `[6113b487] <https://github.com/eclipse/cloe/commit/6113b4874cc4dfea9b570f2e1d15ceba66b4df8e>`_

- models: Add lane sensor functional `[c0f7c844] <https://github.com/eclipse/cloe/commit/c0f7c844616312b4aae3b4111ab2cbf8a5452b54>`_

- osi: Return reference to osi3::SensorData instead of shared_ptr `[a2283b9e] <https://github.com/eclipse/cloe/commit/a2283b9e12c6943037f08d72535a245bc610fe40>`_
- osi: Skip polygonal objects `[bdf616fa] <https://github.com/eclipse/cloe/commit/bdf616fac0a78b1a08ff5f4f940a206c837fd5b0>`_
- osi: Write debug files to /tmp `[a5d5f7e4] <https://github.com/eclipse/cloe/commit/a5d5f7e41ef9abb98dde0935f93c7d456a607a03>`_
- osi: Merge OsiSensor into cloe-osi `[ddff0cb2] <https://github.com/eclipse/cloe/commit/ddff0cb2a7fb6a234630f1445f70991c54394f28>`_
- osi: Fix lane boundary point order `[865668e7] <https://github.com/eclipse/cloe/commit/865668e729843bd3f90e4ba0a873f781475eaa37>`_
- osi: Renaming and cleanup `[26dde038] <https://github.com/eclipse/cloe/commit/26dde038d92bf09794a36e6e7db40433cc5f781f>`_
- osi: Initial commit of message handler and utils `[1eb0a156] <https://github.com/eclipse/cloe/commit/1eb0a156b617e46f82d505e3fd2323edb2f59e57>`_

**Plugins:**

- clothoid_fit: Add frustum culling `[957cfe74] <https://github.com/eclipse/cloe/commit/957cfe74b61f9ca22f0b09bdac61627888dd7daa>`_
- clothoid_fit: Add lane boundary clothoid fitting plugin `[c3b7e2cd] <https://github.com/eclipse/cloe/commit/c3b7e2cd3b3f28562ce45684ff39e0974dcd9fa8>`_

- esmini: Move from optional to base `[c16fab70] <https://github.com/eclipse/cloe/commit/c16fab70b11782d5a40a513a67cfa5c851f850bb>`_
- esmini: Fix received osi data `[a9412f89] <https://github.com/eclipse/cloe/commit/a9412f899d8525b3a4edbe4f7e95a14e7d08437f>`_
- esmini: Initial commit of simulator binding `[e516a72a] <https://github.com/eclipse/cloe/commit/e516a72afbf579af132ed5a72bd14bb6c2261ad1>`_

**Tooling & Dependencies:**

- tooling: Add targets to Makefile.docker for building and running dev container `[8e766a27] <https://github.com/eclipse/cloe/commit/8e766a272fc7cf1fc7cf05f1e6f9074a7ed2785c>`_
- tooling: Fail when smoketest-deps fails `[c0e9c043] <https://github.com/eclipse/cloe/commit/c0e9c0437a7e4f268ea1482051e777cf27166c9c>`_
- vendor: Add esmini/2.37.4 `[ecf30691] <https://github.com/eclipse/cloe/commit/ecf30691b63463d4901ed50ea21b713a0ff3de48>`_


0.21.0 (2024-02-02)
-------------------
Expand Down
18 changes: 18 additions & 0 deletions docs/news.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,28 @@ News
:hidden:
:maxdepth: 1

news/release-0.22.0
news/release-0.21.0
news/release-0.20.0
news/release-0.19.0

:doc:`Version 0.22.0 Release <news/release-0.22.0>`
---------------------------------------------------

This version includes the initial release of the ESMini simulator
plugin binding.

The cloe-osi library is introduced for a re-usable mechanism of
handling and converting Open Simulation Interface data.

The clothoid-fit component plugin for lane boundaries makes its
entrance.

Finally, compile-time improvements for the fable library radically
speed up the compilation of code that use the `make_schema` functions.

Read all about it :doc:`here <news/release-0.22.0>`.

:doc:`Version 0.21.0 Release <news/release-0.21.0>`
---------------------------------------------------

Expand Down
144 changes: 144 additions & 0 deletions docs/news/release-0.22.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Version 0.22.0 Release

This version comes relatively soon after the previous version,
but includes some additions that have been several months in the
making.

For the entire changelog, see the [Git commit history](https://github.com/eclipse/cloe/compare/v0.21.0...v0.22.0).

## ESMini Simulator Plugin

This release marks the initial release of the ESMini simulator
plugin binding.

You can use it by adding it to your test configuration `conanfile.py`
at the appropriate location:

```python
require("cloe-plugin-esmini/0.22.0@cloe/develop")
```

The ESMini simulator uses OpenScenario XML files as inputs, and
this needs to be configured in the stackfile in order for you
to use it:

```yaml
version: "4"
simulators:
binding: esmini
args:
headless: true
scenario: "${ESMINI_XOSC_PATH}/test-driver.xosc"
vehicles:
Ego:
closed_loop: true
filter_distance: 200.0
vehicles:
name: default
from:
simulator: esmini
index: 0
```
The `${ESMINI_XOSC_PATH}` is defined by the `esmini-data` Conan package
and made available in the environment through `cloe-launch`. (You
can of course use your own environment variables if you want,
or none at all.)

The above example code assumes it will integrate in an existing vehicle
and controller configuration and be passed to cloe-engine as JSON.

See {doc}`the reference documentation <../reference/plugins/esmini>` for more.

## Clothoid-Fit Component Plugin

The clothoid-fit component plugin for lane boundaries makes its
entrance.

You can use it by adding it to your test configuration `conanfile.py`
at the appropriate location:

```python
require("cloe-plugin-clothoid-fit/0.22.0@cloe/develop")
```

And then you need to configure your vehicle in the stackfile:

```yaml
version: "4"
vehicles:
name: default
from:
simulator: minimator
name: ego1
components:
"cloe::clothoid_fit":
binding: clothoid_fit
from: "cloe::default_lane_sensor"
args:
enable: true
estimation_distance: 40
```

The above example code assumes it will integrate in an existing vehicle
and simulator configuration and be passed to cloe-engine as JSON.

See {doc}`the reference documentation <../reference/plugins/clothoid_fit>` for more.

## Fable Library

Compile-time improvements for the Fable library radically
speed up the compilation of code that use the `make_schema` functions.

However, the following definitions were removed from the Fable
library in order to make the `make_schema()` functions consistent:

- `Struct make_schema(TPropertyList&&)`
- `Struct make_schema(std::string&&, TPropertyList&&)`
- `Struct make_schema(std::string&&, const Box&, TPropertyList&&)`
- `Struct make_schema(std::string&&, const Struct&, TPropertyList&&)`
- `Variant make_schema(std::string&&, std::initializer_list<Box>)`
- `Variant make_schema(std::string&&, std::vector<Box>&&)`
- `Variant make_schema(std::initializer_list<Box>)`
- `Variant make_schema(std::vector<Box>&&)`
- `Ignore make_schema(std::string&&, JsonType t = Jsontype::object)`

The purpose of `make_schema()` is to make it easy to derive the
correct schema for any C++ standard type you may have, even
more complex ones such as `std::vector<std::map<std::string, MyConfableClass>>`.
The removed `make_schema()` definitions do not fall into this
use-case, and were rarely if ever used.

If you want to create a struct, please use `fable::Schema` or
`fable::schema::Struct` directly:

```cpp
return fable::Schema{
{ "foo", fable::Schema {
{ "nested", make_schema(&variable, "description") },
}}
};
```

If you want to create a variant, please use `fable::schema::Variant`
directly:

```cpp
return fable::schema::Variant{
fable::Schema{ /* variant 1 * / },
/* ... */
fable::Schema{ /* variant N * / },
};
```

If you want to name a key but ignore it, please use `fable::schema::Ignore`
directly:

```cpp
return fable::Schema{
{ "field", make_schema(&value, "description") },
{ "ignore", fable::schema::Ignore("description") },
};
```

Please see the respective header files for more initialization forms.
2 changes: 1 addition & 1 deletion ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cloe-ui",
"version": "0.20.0",
"version": "0.22.0",
"cloe-compatibility": "0.16",
"license": "Apache-2.0",
"private": true,
Expand Down

0 comments on commit c95a26a

Please sign in to comment.