Skip to content

Releases: ETLCPP/etl

Updated etl::array and etl::delegate

19 Oct 18:18

Choose a tag to compare

Added perfect forwarding for alternative callback for etl::delegate::call_or()

Pull Requests:
#1208 array noexcept expr
Fixed ETL_NOEXCEPT_EXPR for etl::array
Added ETL_NOEXCEPT for zero sized etl::array specialisation.

Fixes and pull requests

15 Oct 08:05

Choose a tag to compare

Updates:
Added etl::type_list_has_duplicates_of and etl::type_list_count_of

Fixes:
#1186 Fix usage of noexcept
#1203 Potential issue with forwarding in etl::delegate
Improved forwarding of arguments to bound functions.
Added compile time checks for functors and lambdas argument compatibility.

Pull Requests:
#1012 Implement Signal
A signal/slot implementation.
#1155 Added callbacks when a timer is inserted or removed
#1175 Debug assert
Added ETL_DEBUG_ASSERT macro, which is a debug only assert.
Added extra assert enable/disable macros.
#1188 etl::array checks
#1190 Enforce semicolon after ETL_ASSERT
#1191 Introduce cast to void for condition of assert
Avoids compiler warnings for unused results of ETL_ASSERT and ETL_DEBUG_ASSERT
#1192 Allow easy creation of generic exceptions with just a text
#1195 Added conditional support of noexcept to fix IAR support
#1196 Added back in support for populating non 8 bit strings with 8 bit data
#1198 Add etl::is_constant_evaluated
#1199 Added support for transitions on state enter for HFSM
#1201 etl::span checks

Reverted some noexcept changes

13 Sep 08:32

Choose a tag to compare

#1185 Remove noexcept from delegate method stubs.

Removed ETL_NOEXCEPT from delegate operator(), call_if(), and call_or()
Removed ETL_NOEXCEPT from closure

Reverted some breaking changes

11 Sep 07:47

Choose a tag to compare

Pull Requests:
#1182 Fix etl::typed_storage by supporting omitted destructors
#1183 Regression fix: Support zero arguments emplace() in etl::optional

Multiple fixes

07 Sep 10:03

Choose a tag to compare

Updates:
Added automatic use of __builtin_memcpy, __builtin_memmove, __builtin_memset, __builtin_memcmp, and __builtin_memchr for GCC and Clang, if available.
#1170 Place a typed pointer instead of a bool into etl::typed_storage
Modified the storage used by etl::typed_storage to be a union, along the lines of etl::optional.
Added etl::typed_storage_ext to wrap external storage.

Fixes:
#1171 optional of a const arary can't be emplaced with gcc-15
#1176 Fix GCC __builtin_memcpy errors when compiling with -O2 optimisation
#1180 Duplicate definition of const_reference in etl::const_set_ext
#1181 Compilation errors on basic_string

Pull Requests:
#1169 Remove Unreachable Break Statements
#1172 Make call interfaces in etl::delegate and etl::closure conditionally noexcept
#1177 Fix .clang-format
#1179 Made all 'noexcept' statements use ETL_NOEXCEPT macro

Many updates and fixes

19 Aug 18:53

Choose a tag to compare

Updates:
Added 'emplace' constructor to etl::optional
Added etl::delegate_observable
Added return_type and argument_types to etl::delegate
Added etl::nontype_t<>
Added etl::not_null<>
#1054 Using #pragma once
#1159 etl::fsm helper to check states id sequence at compile time
#1160 Feature request: rounded division (similar to scaled rounding)
#1162 etl::fsm: Allow set_state(new_id) from the outer calls

Fixes:
Fix gamma tests (removed integral tests)
#1126 to_arithmetic does not compile on C++98
#1150 Bug in the void etl::unlink(first, last) for bidirectional links.
#1151 test failure in i386 in 20.42.1: test_replace_strings in test_string_utilities.c fails
#1152 Patch: use "python3 -m cogapp" instead of "cog" in generate.bat
#1153 ROM size increase after algorithm_exception introduction
#1156 Name conflict between template parameter and status register macro on MSP430 devices
#1158 Bug: Inverted logic in ! __has_include() check causes compilation failure on compilers without header

Pull Requests:
#955 Implements deferred callback timer with optional priority
#1147 Fix compile error in closure.h by using etl::forward

Fixes and additions

20 Jul 15:14

Choose a tag to compare

Updates:
Added etl::crc8_opensafety
Added etl::crc16_opensafety_a and etl::crc16_opensafety_b
Added etl::crc64_iso
Added etl::type_lists_are_convertible
Made etl::closure constexpr for C++14
Made invocation of delegate consrexpr for C++14
#1132 Request: Make type_def Methods Noexcept

Fixes:
Fix gamma tests (removed integral tests)
#1126 to_arithmetic does not compile on C++98
#1150 Bug in the void etl::unlink(first, last) for bidirectional links.
#1151 test failure in i386 in 20.42.1: test_replace_strings in test_string_utilities.c fails

Pull Requests:
#955 Implements deferred callback timer with optional priority
#1147 Fix compile error in closure.h by using etl::forward

#1147 Fix compile error in closure.h by using etl::forward

11 Jul 14:52

Choose a tag to compare

#1147 Fix compile error in closure.h by using etl::forward

Added const maps and sets. Added etl::closure

11 Jul 10:51

Choose a tag to compare

Updates:
Removed redundant ETL_USING_WIDE_CHARACTERS
#1118 Constexpr constructible flat_map, map, and set containers.
Added etl::const_map, etl::const_map_ext,
etl::const_multimap, etl::const multimap_ext
etl::const_set, etl::const_set_ext,
etl::const_multiset, etl::const multiset_ext

Fixes:
#1126 to_arithmetic-does-not-compile-on-C++98
#1128 Request: Make Delegate Methods noexcept
#1130 Use of etl::mem_copy for overlaped areas
#1132 Make type_def Methods Noexcept
#1143 v20.41.x, risc-v (esp32-c3) "No user defined specialisation of etl::underlying_type for this type"

Pull Requests:
#1131 Fix usage of template keyword
#1136 Fix gamma.h on i386
#1137 Add etl::closure
#1138 Ignore deprecation of std::float_denorm_style
#1139 Cleanup to get more independent of std
#1140 Use std::byteswap only if available
#1141 Fix build of tuple on clang >= 19
#1142 Fix tests on big endian
#1144 Add support for CRC8-NRSC5
#1145 Workaround for link libraries call on Zephyr platform

Fixes

12 Jun 13:12

Choose a tag to compare

Fixes:
Fixed std::string_view include warning for < C++17
#1123 Bug: Possible NULL Pointer Dereference in set.h
#1124 alignment.h won't compile as C++03
#1125 For cogapp, use cog instead of python