Skip to content

Releases: ETLCPP/etl

Fixes and features

23 Feb 13:09
Compare
Choose a tag to compare

Updates:
Added new C++17 function wrappers
Simplified definition of is_base_of
Fixed static definition for etl::string
Redefined ETL_DEPRECATED
Updated nth_type to handle a type list of zero length
Updated Github Actions to checkout@v4
Added make_delegate for C++17
Added starts_with and ends_with to basic_string
Made construction from std::basic_string_view explicit
Added contains member function to string_view
Fixed possible null dereference for etl::multi_span operator ->
Fixed shadowing warnings
Changed etl::mem_cast to support bidirectional iterators
Make 'packed' have better cross platform functionality

Fixes:
#937 ETL_USING_LEGACY_VARIANT Is always getting evaluated to 1
#940 Allow etl::observer notification without argument
#942 Warning on pragma c++20-compat
#951 Can't get call_if to work because of etl::optional
#956 Fix build error (etl::circular_buffer)
#957 Support heterogenous lookup for maps
#959 Treat bitset with size_type
#972 Template not allowed warning in parameter pack
#979 QueuedMessageRouter does not work : message are not sent to queue
#980 Documentation clarification: Add link from endianess to unaligned_type
#982 Added return to etl::optional emplace, fixed typo
#984 Update Base64 Documentation
#986 Added const iterators to span
#987 Fix test loop
#992 Return reference from emplace() in etl::queue. Added return reference from stack::emplace
#993 Need "lighter weight" ETL_ASSERT
#997 Request: operator[ ] for containers can be configured to emit an exception
#1000 Make ETL_TYPEDEF Trivially Copyable
#1017 etl::max_element has undefined behavior if the range is empty
#1016 Allow compile time CRC calculation
#1019 UB when passing a temporary lambda to a delegate
#1022 Request: Add option to disable non-lock-free atomics - Added is_always_lock_free member constant to etl::atomic
#1030 Modify etl::message_packet to not require polymorphic messages
#1031 etl::string is invalid if calling assign() with itself. Added additional checks for self assignment.
#1032 Tasking Compiler Failure For parameter_pack.h

Pull Requests:
#947 Remove unused git submodule config
#965 Fix accident creation of a delegate to an rvalue delegate when copying/assigning from delegate with mismatching signature
#985 Add uncopyable.h, class uncopyable
#986 Added const iterators to span
#989 Packed unaligned_type
#990 Add contains() method to etl::unordered_map and etl::unordered_set
#992 Return reference from emplace() in etl::queue
#999 Add at_address() to etl::unaligned_type. Added etl::unaligned_type_ext instead at_address()
#1001 Add max_item_size() to etl::ipool
#1002 Add singleton_base
#1005 Fixed memory.h: mem_copy, mem_move, mem_compare for pointers to const
#1006 Fix arm64 signed char
#1007 Fix fixed extent span empty()
#1021 Some minor cleanup changes
#1014 Added missing rational arithmetic functions from
#1027 Add etl::make_span()

Fixed issues #948 & #949

01 Sep 11:20
Compare
Choose a tag to compare

#948 Bug in queue pop can break queue.empty()
Also included etl::stack in the fix.
#949 For GCC10, we should check __cplusplus >= 201709L when determining if c++20 is supported

Fix unaligned_type for floats + various small fixes

10 Aug 13:03
Compare
Choose a tag to compare

Updates:
Removed C++11 restriction on etl::observer::notification
Removed EmbeddedTemplateLibrary-20.39.0.tar.gz from project.

Fixes:
#917 unaligned_type doesn't compile with floating point types

Pull Requests:
#946 Make include paths to private files relative

Removed EmbeddedTemplateLibrary-20.39.0.tar.gz from project.

07 Aug 11:37
Compare
Choose a tag to compare

EmbeddedTemplateLibrary-20.39.0.tar.gz included in error.

Fixes and new type traits

06 Aug 19:12
Compare
Choose a tag to compare

Fixes:
#940 Allow etl::observer notification without argument
Added a void specialisation to the < C++11 code.
#942 Warning on pragma c++20-compat

Updates:
Added etl::count_of, etl::has_duplicates, etl::has_duplicates_of

Updated IO Port API. Various features and fixes

31 Jul 16:27
Compare
Choose a tag to compare

Refactored:
Breaking change.
Modified io_port classes so that they are not derived from iterator types.
Added iterator and const_iterator types.
Added iter() and citer() member functions to get an iterator.
Added &= |= ^= <<= >>= and ~ operators (only available for io_port_rw and io_port_wos types)
Added static asserts to only allow integral types.

Fixes:
#921 unique_ptr reset
#923 Missing equality operator for class expected
#930 Unused parameter warnings
#931 Using etl::make_vector to make a vector of two pairs causes a compile error

Features:
#918 Request for additional operator support for etl::io_port_*
#919 callback_timer: expose callback_timer_data::is_active() as icallback_timer public method
#920 Define ETL_USING_LEGACY_VARIANT as a convenience macro for code that tries to support both new and legacy variants
#940 Allow etl::observer notification without argument

Pull Requests
#905 Add-support-for-type_identity
#909 fix c++20-compat false positive
#914 Fix doc comment for pool::allocate()
#924 Add an etl::nullptr_t type to <etl/nullptr.h>
#925 Add equality operators for class expected
#926 Fix issue #923 equality operator for class expected
#927 Fix missing partial specialisation equal operators
#928 Add missing swap implementations for expected
#929 Fix run-tests.sh script
#932 Fix issue #931 Using etl::make_vector to make a vector of two pairs causes a compile error
#934 Fixes compiler detection with Wundef
#935 Added 20 bit integral limits (MSP430 devices)
New configuration macro, ETL_USE_20BIT_TYPES, which controls the definition of ETL_USING_20BIT_TYPES and ETL_NOT_USING_20BIT_TYPES.
#939 Fix histogram indexing when accessed via operator[]

#895 Removed std algorithm calls from algorithm.h

05 Jun 16:54
Compare
Choose a tag to compare

Missing changes from last release

Various fixes

31 May 19:45
Compare
Choose a tag to compare

Fixes:
#889 bitset_new.h throws warnings for GHS compiler
Fixed ordering of static & ETL_CONSTEXPR14.
#895 Removed std algorithm calls from algorithm.h

Changes without a GitHub issue#:
Added extra tests for as_bytes and as_writable_bytes
Made conversion operator for C++03 etl::byte public

Removed ETL_CONSTEXPR for string and vector size()

15 May 21:33
Compare
Choose a tag to compare

#892 Compilation Error with constexpr in etl::string_base::size() on ESP-WROVER-KIT (c++11)
Removed ETL_CONSTEXPR from etl::string_base::size().
Removed ETL_CONSTEXPR from etl::vector::size().

Added GCD, LCM. Iterator specialisations for etl::rotate. Constexpr for etl::absolute

14 May 07:25
Compare
Choose a tag to compare

Features:
Added GCD and LCM algorithms. etl::gcd and etl::lcm
Added specialisations of etl::rotate for different iterator types
Added ETL_NODISCARD, ETL_CONSTEXPR14 and ETL_NOEXCEPT to etl::absolute and etl::absolute_unsigned