Version 0.21.0 Release¶
This version comprises various fixes and improvements but no major changes, except that C++17 is now the minimum required C++ standard and the cppnetlib dependency has been replaced with Oat++.
The next few releases will contain breaking changes, so this one acts as
a small incremental step before these are released. In particular, this release
also introduces the version.hpp header to the fable and cloe-runtime
packages, which enables developers to more easily support multiple versions at
the same time.
For the entire changelog, see the Git commit history.
Launcher¶
Changed:
Use
VirtualRunEnvConan generator, which is the current recommended approach and should be compatible with Conan 2.0.
Improved:
Provide better error messages when cloe-engine is not found.
The Python stack trace is suppressed, since it’s not useful, and instead a message is printed telling you what could be wrong:
Error: cannot locate cloe-engine exectuable!
 Note:  This problem usually stems from one of two common errors:  - The conanfile for cloe-launch does not require cloe-engine.  - The cloe-engine package or binary has not been built / is corrupted.  However, unconvential or unsupported package configuration may also trigger this.
Fixed:
Fix prompt in Zsh when in a cloe-launch shell.
Engine¶
New:
Add the
loopevent that triggers every single cycle, including in the pause state.
Improved:
Replace libcppnetlib with Oat++ as webserver backend.
This means that we are no longer limited in which Boost versions we support. (Previously, with the
serverfeature enable, the Boost version had to be between 1.65 and 1.69.)
Web UI¶
Fixed:
Fix failure uploading json.gz to the UI
Fix certain actions not applying when trying to trigger the HMI
Fable Library¶
Fixed:
Instantiate missing
Number<signed char>.It is no longer necessary to include
fable/schema/number_impl.hppwhen using this numerical type.Fix
FromConfableschemas occassionaly causing a segfault.Error can be categorized as a use-after-free.
Plugins¶
New:
Add new schema to minimator plugin to specify objects and properties.
Fixed:
Fix segfault when gndtruth-extractor plugin had an error opening the output file.
Fix use of uninitialized
mount_posevariable.
Development¶
New:
Add
version.hppheader tofablelibrary.This can be used to make compile-time decisions for greater compatibility with various versions of the library.
Add
version.hppheader tocloe-runtimelibrary.This can be used to make compile-time decisions for greater compatibility with various versions of the library.
Add Clang Tidy configuration file
Improved:
Speed up builds by changing default build type from
RelWithDebInfotoDebug.Bundle licenses of dependencies with
cloe-engineConan package.
Changed:
Change
configuretarget inMakefile.packageto linkcompile_commands.jsonautomaticallyRemove
conan-selecttarget fromMakefile.allRemove
conantarget fromMakefile.packageRequire C++17 for compiling the project.
The oldest supported version of Ubuntu has a new enough compiler to support this change, so we don’t expect anyone to have any problems with this.
Update dependencies to latest stable versions.
They are now also pinned to specific versions, since this results in a much more stable experience with Conan. This is also how it is done in the Conan-Center-Index.
Remove all ifndef-define-endif header guards. Use
#pragma onceinstead.Our dependencies already require support for
#pragma once, which is effectively universal anyway.Remove Ubuntu 18.04 from automated builds. This means it is no longer officially supported.
Improve Conan 2.0 support across the board for package recipes.
Fixed:
Fix
setup-conantarget inMakefile.setupto install Conan version 1.xFix recipes to respect Conan
--build,--test,--configure, and--installargumentsTest configurations depend on any compatible version of cloe-launch-profile
Don’t fail test when *.so glob does not match anything