Skip to content

Releases: eProsima/dev-utils

v1.0.0

16 Sep 12:38
a61407d
Compare
Choose a tag to compare

This release includes the following Features:

  • Add support for Fast DDS v3.

This release includes the following features in cpp-utils project:

  • Refactor ReturnCode to prevent incompatibilities.
  • Add functions to convert QosPolicy's ids and masks to string.
  • Add function to convert a number of bytes into a formatted string.

This release includes the following features in cmake-utils project:

  • Extend compile_tool function to accept additional directories to use when compiling the tool.

This release includes the following CI improvements:

  • Upgrade to Ubuntu Noble (24.04).
  • Remove Ubuntu Focal (20.04) from the CI.
  • Update GCC version for Thread Sanitizer job.
  • Set test report names for each action.
  • Add support for builds with both Fast DDS v2 and v3.
  • Empty XTSAN tests list to run all tests with Thread Sanitizer.

This release includes the following dependencies update:

Repository Old Version New Version
Foonathan Memory Vendor eProsima/foonathan_memory_vendor v1.3.1 v1.3.1
Fast CDR eProsima/Fast-CDR v2.2.0 v2.2.4
Fast DDS eProsima/Fast-DDS v2.14.0 v3.0.1

v0.6.0

26 Mar 07:01
Compare
Choose a tag to compare

This release includes the following features in cmake-utils project:

  • Extend find_packages function to load module dependency versions.

This release includes the following features in cpp-utils project:

  • New Log Configuration class to configure the Log class.
  • Split the CustomStdLogConsumer class into a BaseLogConsumer class that filters logs based on their kind and content and a StdLogConsumer class that prints the logs through std.
  • Add function to convert a string with a floating number followed by either the letters B, KB, MB, GB, TB, PB or KiB, MiB, GiB, TiB, PiB to bytes.

This release includes the following dependencies update:

Repository Old Version New Version
Foonathan Memory Vendor eProsima/foonathan_memory_vendor v1.3.1 v1.3.1
Fast CDR eProsima/Fast-CDR v2.1.3 v2.2.0
Fast DDS eProsima/Fast-DDS v2.13.1 v2.14.0

v0.5.0

26 Jan 10:38
Compare
Choose a tag to compare

This release includes the following features in cmake-utils project:

  • Add MODULE_PUBLIC_EXTRA_HEADERS and MODULE_PRIVATE_EXTRA_HEADERS as new options to add extra includes path.
  • Introduce optional arguments in compile_library function to explicitly set source files.
  • Add optional arguments to all_library_sources and 'add_unittest_executable` functions to explicitly set source files.

This release includes the following features in cpp-utils project:

  • Add base64 string encoder and decoder.
  • Append tree leaf nodes (dependencies) before the trunk.
  • Add ROS 2 mangling methods.
  • Fix ros2_msgs_format function.
  • Add missing thread library.
  • Add function to convert FuzzyLevel to string.

This release includes the following dependencies update:

Repository Old Version New Version
Foonathan Memory Vendor eProsima/foonathan_memory_vendor v1.3.1 v1.3.1
Fast CDR eProsima/Fast-CDR v1.1.0 v2.1.3
Fast DDS eProsima/Fast-DDS v2.11.0 v2.13.1

v0.4.0

06 Jul 14:11
Compare
Choose a tag to compare

v0.3.0

05 Apr 09:44
Compare
Choose a tag to compare

This release includes the following features in cpp-utils project:

  • New event StdinEventHandler class to easily read from std::cin.
  • New event CommandReader class to easily read from std::cin commands synchronously.
  • New container SafeDatabase class to implement a thread safe map.
  • New container Tree class to implement a thread safe map.
  • Extend enumeration builder.
  • Extend iterative macros max range.
  • New Heritable class to represents an object that could be of the class T or any other child of it.

This release includes the following fixes in cpp-utils project:

  • Fix ASAN memory leak in ThreadPool.

v0.2.0

14 Dec 09:06
Compare
Choose a tag to compare

This release includes new features and updates in the following CMake projects: cmake_utils, cpp_utils, and dev-utils.

This release includes the following features in dev-utils project:

  • dev_utils package with tools for programmers to help in implementation process
  • Code auto-generator for Custom Enumerations.

This release includes the following features in cpp-utils project:

  • Logging module: simplify and fixed TSAN issues
  • Math module: new Random Manager class
  • Types module: new Singleton Auxiliary class

This release includes the following features in cmake-utils project:

  • Support minimum version requirement when finding a package.

This release includes the following Continuous-Integration features:

  • Address Sanitizer check for all tests.
  • Thread Sanitizer check for all tests.
  • -Wall warning level for CI.
  • Add Python linter check in CI.

v0.1.0

04 Oct 09:02
Compare
Choose a tag to compare

This release includes the following CMake projects: cmake_utils and cpp_utils.

This release includes the following features in cmake_utils project:

  • Compilation macros: compile_documentation, compile_library, compile_test_library, compile_test_documentation, compile_test_tool, compile_tool, and configure_test_flags.
  • C++ common macros: check_cpp, check_cpp_17, set_cmake_build_type, activate_code_coverage, configure_project_cpp, custom_cpp_flags, find_external_projects, and find_thirdparties_headeronly.
  • Packaging macros: eprosima_packaging, install_resources, and eprosima_install_resources.
  • Project specific macros: configure_project, set_installation_paths, load_project_settings, read_commit_hash, read_version, and configure_cmake_options.
  • Test specific macros and functions: test_requirements, add_test_executable, add_unittest_executable, add_blackbox_executable, all_library_sources, and all_header_sources.

This release includes the following features in cpp_utils project:

  • Event handler: interface to implement a handler of any kind of event.
  • File watcher handler: detect changes in a given file.
  • Logging event handler: implement the functionality to raise callback every time a logging message is consumed.
  • Logging severe event handler: consume the log event handler events that are above a given threshold.
  • Multiple event handler: encapsulate multiple event handlers.
  • Periodic event handler: raise an event periodically with a specific time period.
  • Signal event handler: raise a callback each time the signal specified in received.
  • Signal manager: manage a specific signal given by a template specialization.
  • Exceptions: allow to raise an exception of the following kinds: ConfigurationException, DisabledException, DNSException, IncosistencyException, InitializationException, TimeoutException, UnsupportedException, ValueAccessException, ValueNotAllowedException.
  • Create custom enumerations.
  • Math functionalities.
  • OwnerPtr and LesseePtr: smart pointer with some extra functionalities.
  • Thread pool implementation.
  • Timer utilities.
  • Atomicable and SharedAtomicable types: join any type value and mutex/shared_mutex together for commodity and readability.
  • Wait handlers: allow to make multiple threads wait until another thread awakes them. The currently available event handlers are: BooleanWaitHandler, ConsumerWaitHandler, CounterWaitHandler, DBQueueWaitHandler*, and IntWaitHandler.
  • Formatter utility: auxiliary function to concatenate inplace every kind of object << stream.
  • Logging module: Fast DDS logging module.
  • Return codes: enumeration for different method return statements.
  • Other generic cpp utils functions.

This release includes the following Continuous-Integration features:

  • GitHub actions to validate the utils implementation.