Development release of 20.48.0

This commit is contained in:
John Wellbelove 2026-06-30 11:33:30 +01:00
parent 96a111ecd9
commit f3028d22e4
10 changed files with 177 additions and 16 deletions

View File

@ -1,4 +1,4 @@
How to convert the ETL header beween #include guards and #pragma once. How to convert the ETL header between #include guards and #pragma once.
Install Install
python3 -m pip install guardonce python3 -m pip install guardonce

View File

@ -1,6 +1,6 @@
{ {
"name": "Embedded Template Library ETL", "name": "Embedded Template Library ETL",
"version": "20.47.1", "version": "20.48.0",
"authors": { "authors": {
"name": "John Wellbelove", "name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com" "email": "john.wellbelove@etlcpp.com"

View File

@ -1,5 +1,5 @@
name=Embedded Template Library ETL name=Embedded Template Library ETL
version=20.47.1 version=20.48.0
author= John Wellbelove <john.wellbelove@etlcpp.com> author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com> maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT license=MIT

View File

@ -5,6 +5,86 @@ weight: 2002
Click on the links to see the original Github page. Click on the links to see the original Github page.
## 20.48.0
[#1375](https://github.com/ETLCPP/etl/pull/1375) Support for C++26
[#1376](https://github.com/ETLCPP/etl/pull/1376) Run generator_test.py in CO checks
[#1377](https://github.com/ETLCPP/etl/pull/1377) Add installed dependencies for docker, documentation
[#1378](https://github.com/ETLCPP/etl/pull/1378) Document etl::format_to and etl::print
[#1379](https://github.com/ETLCPP/etl/pull/1379) Optimize formatting in format.h for float values
[#1380](https://github.com/ETLCPP/etl/pull/1380) Extensions for testing
[#1381](https://github.com/ETLCPP/etl/pull/1381) Add missing syntax checks
[#1382](https://github.com/ETLCPP/etl/pull/1382) Make etl::vector methods noexcept
[#1383](https://github.com/ETLCPP/etl/pull/1383) Make etl::variant and etl::vector methods noexcept
[#1384](https://github.com/ETLCPP/etl/pull/1384) Fix coverage workflow for action version
[#1385](https://github.com/ETLCPP/etl/pull/1385) Fix broken syntax from clang-format reformat
[#1387](https://github.com/ETLCPP/etl/pull/1387) Rename _current to _current_it in ranges.h
[#1389](https://github.com/ETLCPP/etl/pull/1389) Suppress false positive compiler warnings when compiling with -O3
[#1392](https://github.com/ETLCPP/etl/pull/1392) Kick-off use of etl algorithms to replace the raw loops in byte_stream
[#1393](https://github.com/ETLCPP/etl/pull/1393) Add the ability to specify the callback type to etl closure
[#1394](https://github.com/ETLCPP/etl/pull/1394) Fix red unit tests on 32 bits big-endian platform
[#1395](https://github.com/ETLCPP/etl/pull/1395) Fix etl::ranges operator| conflict with std::ranges
[#1396](https://github.com/ETLCPP/etl/pull/1396) Fix chrono.h year_month_weekday_last and year_month_weekday sysdays()
[#1398](https://github.com/ETLCPP/etl/pull/1398) Actually use ETL_USE_BUILTIN_MEM_FUNCTIONS to decide about macro defi…
[#1401](https://github.com/ETLCPP/etl/pull/1401) Fix delegate not being cleared by assigning empty braces
[#1402](https://github.com/ETLCPP/etl/pull/1402) Replace deprecated builtin __is_trivially_relocatable if possible
[#1407](https://github.com/ETLCPP/etl/pull/1407) Fix missing tuple_size
[#1408](https://github.com/ETLCPP/etl/pull/1408) Move operators for etl::unique_ptr to etl namespace
[#1409](https://github.com/ETLCPP/etl/pull/1409) Add test/run-clang-tidy.sh
[#1410](https://github.com/ETLCPP/etl/pull/1410) Add begin() and end() to etl::expected
[#1411](https://github.com/ETLCPP/etl/pull/1411) Global namespace bitset free functions cleanup
[#1412](https://github.com/ETLCPP/etl/pull/1412) Add invocable and further missing concepts to concepts.h
[#1413](https://github.com/ETLCPP/etl/pull/1413) Expected actually doesn't require a monostate
[#1414](https://github.com/ETLCPP/etl/pull/1414) Swap can be part of the etl namespace and let ADL do its thing
[#1415](https://github.com/ETLCPP/etl/pull/1415) Activate -O3 in CI builds for C++23
[#1417](https://github.com/ETLCPP/etl/pull/1417) Consolidate Dockerfile non-root user to vscode
[#1418](https://github.com/ETLCPP/etl/pull/1418) Add format checks at compile time to format.h
[#1419](https://github.com/ETLCPP/etl/pull/1419) Add format checks at compile time to format.h
[#1420](https://github.com/ETLCPP/etl/pull/1420) Add bazel support
[#1421](https://github.com/ETLCPP/etl/pull/1421) Run C++26 workflows with docker
[#1422](https://github.com/ETLCPP/etl/pull/1422) Remove unused reinstall-cmake.sh
[#1425](https://github.com/ETLCPP/etl/pull/1425) Add etl::intrusive_avl_tree class
[#1426](https://github.com/ETLCPP/etl/pull/1426) Apply the rule of zero for etl::optional type
[#1427](https://github.com/ETLCPP/etl/pull/1427) Remove dead code
[#1428](https://github.com/ETLCPP/etl/pull/1428) Various bugfixes
[#1429](https://github.com/ETLCPP/etl/pull/1429) Fix sanitizer use
[#1430](https://github.com/ETLCPP/etl/pull/1430) Fix meson build
[#1431](https://github.com/ETLCPP/etl/pull/1431) Fix meson build
[#1432](https://github.com/ETLCPP/etl/pull/1432) Simplify and fix test/run-syntax-checks.sh
[#1433](https://github.com/ETLCPP/etl/pull/1433) Fix the case of using STL without pthreads but with mutexes
[#1434](https://github.com/ETLCPP/etl/pull/1434) Remove unnecessary includes
[#1437](https://github.com/ETLCPP/etl/pull/1437) ranges: Fix confict with Zephyr preprocessor definition
[#1440](https://github.com/ETLCPP/etl/pull/1440) Make etl::variant capable for ROM placement and optimize runtime size
[#1441](https://github.com/ETLCPP/etl/pull/1441) Make etl::variant capable for ROM placement and optimize runtime size
[#1442](https://github.com/ETLCPP/etl/pull/1442) Fix format: float zero-padding, nested replacement width, octal alter…
[#1445](https://github.com/ETLCPP/etl/pull/1445) added Pico and additional Teensy defines
[#1446](https://github.com/ETLCPP/etl/pull/1446) Add missing constexpr to intrusive_links.h constructors
[#1447](https://github.com/ETLCPP/etl/pull/1447) Fix iterator_traits: make SFINAE-friendly for iterators
[#1449](https://github.com/ETLCPP/etl/pull/1449) Add hugo support for documentation
[#1450](https://github.com/ETLCPP/etl/pull/1450) Add more constexpr to constructors
[#1453](https://github.com/ETLCPP/etl/pull/1453) Make Constructors of Atomics for trivial Types constexpr
[#1454](https://github.com/ETLCPP/etl/pull/1454) Fix copy and move in signal.h
[#1455](https://github.com/ETLCPP/etl/pull/1455) to_string() does not handle floating point number with integer part exceeding max uint64_t
[#1456](https://github.com/ETLCPP/etl/pull/1456) Documentation updates
[#1458](https://github.com/ETLCPP/etl/pull/1456) Add etl::infinite_loop
[#1459](https://github.com/ETLCPP/etl/pull/1459) Make ipriority_queue non-sized base class
[#1460](https://github.com/ETLCPP/etl/pull/1460) Fixes and additional metafunctions for etl::type_list
[#1462](https://github.com/ETLCPP/etl/pull/1462) Add emplace() to etl::map and further containers
[#1463](https://github.com/ETLCPP/etl/pull/1463) Fix using libc++
[#1465](https://github.com/ETLCPP/etl/pull/1465) Invalid version detected with CMake FetchContent from URL
[#1466](https://github.com/ETLCPP/etl/pull/1466) Add etl::stable partition
[#1467](https://github.com/ETLCPP/etl/pull/1467) Only enable the assign and insert member functions for class ivector<
[#1468](https://github.com/ETLCPP/etl/pull/1468) SFTP the documentation to the website on push to master
[#1469](https://github.com/ETLCPP/etl/pull/1469) Documentation updates
[#1470](https://github.com/ETLCPP/etl/pull/1470) Format user defined types in format.h
[#1471](https://github.com/ETLCPP/etl/pull/1471) Fix code examples in documentation
[#1473](https://github.com/ETLCPP/etl/pull/1473) Add constexpr support for delegate construction and assignment
[#1474](https://github.com/ETLCPP/etl/pull/1474) Remove file writing tests for etl::random
[#1475](https://github.com/ETLCPP/etl/pull/1475) Fix ranges
[#1476](https://github.com/ETLCPP/etl/pull/1476) Add constexpr support for delegate construction and assignment
[#1478](https://github.com/ETLCPP/etl/pull/1478) Drop problematic T& emplace(const optional_impl& other)
[#1482](https://github.com/ETLCPP/etl/pull/1482) Fix etl::unique_ptr::swap() for deleters
## 20.46.2 ## 20.46.2
**Pull requests:** **Pull requests:**
@ -421,7 +501,7 @@ Fixes:
#987 Fix test loop #987 Fix test loop
#992 Return reference from emplace() in etl::queue. Added return reference from stack::emplace #992 Return reference from emplace() in etl::queue. Added return reference from stack::emplace
#993 Need "lighter weight" ETL_ASSERT #993 Need "lighter weight" ETL_ASSERT
#997 Request: operator[ ] for containers can be configured to emit an exception #997 Request: operator[ ](https://github.com/ETLCPP/etl/pull/) for containers can be configured to emit an exception
#1000 Make ETL_TYPEDEF Trivially Copyable #1000 Make ETL_TYPEDEF Trivially Copyable
#1017 etl::max_element has undefined behavior if the range is empty #1017 etl::max_element has undefined behavior if the range is empty
#1016 Allow compile time CRC calculation #1016 Allow compile time CRC calculation
@ -768,7 +848,7 @@ Removed default link type for etl::intrusive_list and etl::intrusive_forward_lis
20.36.1 20.36.1
#700 Compilation error for [] map operator. Fixed map const placement new issue. #700 Compilation error for [](https://github.com/ETLCPP/etl/pull/) map operator. Fixed map const placement new issue.
Re-enabled memcast tests. Re-enabled memcast tests.
@ -779,12 +859,12 @@ Re-enabled memcast tests.
#687 Build failure. constexpr keyword before template keyword #687 Build failure. constexpr keyword before template keyword
#689 Add as_bytes and as_writable_bytes #689 Add as_bytes and as_writable_bytes
#690 Add rvalue accessors to expected and optional and update constructors #690 Add rvalue accessors to expected and optional and update constructors
#692 operator [] for flat_map always calls default constructor for mapped_type #692 operator [](https://github.com/ETLCPP/etl/pull/) for flat_map always calls default constructor for mapped_type
#695 Visiting a const variant (variadic) #695 Visiting a const variant (variadic)
#698 Behaviour of bidirectional_link nodes. Links are now cleared when unlinked #698 Behaviour of bidirectional_link nodes. Links are now cleared when unlinked
#699 Optional(POD) operator bool explicit #699 Optional(POD) operator bool explicit
Optimised map/flat_map/unordered_map [] operator and insert() Optimised map/flat_map/unordered_map [](https://github.com/ETLCPP/etl/pull/) operator and insert()
Removed [] operator for reference_flat_map Removed [](https://github.com/ETLCPP/etl/pull/) operator for reference_flat_map
Unit tests compile for C++11 Unit tests compile for C++11
Fixed C++11 constexpr compatibility Fixed C++11 constexpr compatibility
Removed redundant 'const' in template parameters Removed redundant 'const' in template parameters
@ -1348,7 +1428,7 @@ Replaced std::distance with etl::distance in erase() and erase_if() for vector.h
20.9.0 20.9.0
Fixed #362 'etl::fsm::receive() partial override'. Fixed #362 'etl::fsm::receive() partial override'.
Fixed #363 'circular_buffer operator [] takes integer rather than size_type'. Fixed #363 'circular_buffer operator [](https://github.com/ETLCPP/etl/pull/) takes integer rather than size_type'.
Fixed occasional incorrect string length for etl::make_string. Fixed occasional incorrect string length for etl::make_string.
Added macros for compilers that don't support HUGE_VAL. Added macros for compilers that don't support HUGE_VAL.
Added etl::accumulate, etl::clamp, etl::erase, etl::erase_if, etl::remove, etl::remove_if. Added etl::accumulate, etl::clamp, etl::erase, etl::erase_if, etl::remove, etl::remove_if.
@ -1627,7 +1707,7 @@ Change to array_view member variable declaration, for constructor from array.
18.18.1 18.18.1
Added [] operators to etl::circular_buffer Added [](https://github.com/ETLCPP/etl/pull/) operators to etl::circular_buffer
18.18.0 18.18.0

View File

@ -1 +1 @@
20.47.1 20.48.0

View File

@ -39,8 +39,8 @@ SOFTWARE.
///\ingroup utilities ///\ingroup utilities
#define ETL_VERSION_MAJOR 20 #define ETL_VERSION_MAJOR 20
#define ETL_VERSION_MINOR 47 #define ETL_VERSION_MINOR 48
#define ETL_VERSION_PATCH 1 #define ETL_VERSION_PATCH 0
#define ETL_VERSION \ #define ETL_VERSION \
ETL_STRING(ETL_VERSION_MAJOR) \ ETL_STRING(ETL_VERSION_MAJOR) \

View File

@ -1,6 +1,6 @@
{ {
"name": "Embedded Template Library", "name": "Embedded Template Library",
"version": "20.47.1", "version": "20.48.0",
"authors": { "authors": {
"name": "John Wellbelove", "name": "John Wellbelove",
"email": "john.wellbelove@etlcpp.com" "email": "john.wellbelove@etlcpp.com"

View File

@ -1,5 +1,5 @@
name=Embedded Template Library name=Embedded Template Library
version=20.47.1 version=20.48.0
author= John Wellbelove <john.wellbelove@etlcpp.com> author= John Wellbelove <john.wellbelove@etlcpp.com>
maintainer=John Wellbelove <john.wellbelove@etlcpp.com> maintainer=John Wellbelove <john.wellbelove@etlcpp.com>
license=MIT license=MIT

View File

@ -1,4 +1,85 @@
=============================================================================== ===============================================================================
20.48.0
#1375 Support for C++26
#1376 Run generator_test.py in CO checks
#1377 Add installed dependencies for docker, documentation
#1378 Document etl::format_to and etl::print
#1379 Optimize formatting in format.h for float values
#1380 Extensions for testing
#1381 Add missing syntax checks
#1382 Make etl::vector methods noexcept
#1383 Make etl::variant and etl::vector methods noexcept
#1384 Fix coverage workflow for action version
#1385 Fix broken syntax from clang-format reformat
#1387 Rename _current to _current_it in ranges.h
#1389 Suppress false positive compiler warnings when compiling with -O3
#1392 Kick-off use of etl algorithms to replace the raw loops in byte_stream
#1393 Add the ability to specify the callback type to etl closure
#1394 Fix red unit tests on 32 bits big-endian platform
#1395 Fix etl::ranges operator| conflict with std::ranges
#1396 Fix chrono.h year_month_weekday_last and year_month_weekday sysdays()
#1398 Actually use ETL_USE_BUILTIN_MEM_FUNCTIONS to decide about macro defi…
#1401 Fix delegate not being cleared by assigning empty braces
#1402 Replace deprecated builtin __is_trivially_relocatable if possible
#1407 Fix missing tuple_size
#1408 Move operators for etl::unique_ptr to etl namespace
#1409 Add test/run-clang-tidy.sh
#1410 Add begin() and end() to etl::expected
#1411 Global namespace bitset free functions cleanup
#1412 Add invocable and further missing concepts to concepts.h
#1413 Expected actually doesn't require a monostate
#1414 Swap can be part of the etl namespace and let ADL do its thing
#1415 Activate -O3 in CI builds for C++23
#1417 Consolidate Dockerfile non-root user to vscode
#1418 Add format checks at compile time to format.h
#1419 Add format checks at compile time to format.h
#1420 Add bazel support
#1421 Run C++26 workflows with docker
#1422 Remove unused reinstall-cmake.sh
#1425 Add etl::intrusive_avl_tree class
#1426 Apply the rule of zero for etl::optional type
#1427 Remove dead code
#1428 Various bugfixes
#1429 Fix sanitizer use
#1430 Fix meson build
#1431 Fix meson build
#1432 Simplify and fix test/run-syntax-checks.sh
#1433 Fix the case of using STL without pthreads but with mutexes
#1434 Remove unnecessary includes
#1437 ranges: Fix confict with Zephyr preprocessor definition
#1440 Make etl::variant capable for ROM placement and optimize runtime size
#1441 Make etl::variant capable for ROM placement and optimize runtime size
#1442 Fix format: float zero-padding, nested replacement width, octal alter…
#1445 added Pico and additional Teensy defines
#1446 Add missing constexpr to intrusive_links.h constructors
#1447 Fix iterator_traits: make SFINAE-friendly for iterators
#1449 Add hugo support for documentation
#1450 Add more constexpr to constructors
#1453 Make Constructors of Atomics for trivial Types constexpr
#1454 Fix copy and move in signal.h
#1455 to_string() does not handle floating point number with integer part exceeding max uint64_t
#1456 Documentation updates
#1458 Add etl::infinite_loop
#1459 Make ipriority_queue non-sized base class
#1460 Fixes and additional metafunctions for etl::type_list
#1462 Add emplace() to etl::map and further containers
#1463 Fix using libc++
#1465 Invalid version detected with CMake FetchContent from URL
#1466 Add etl::stable partition
#1467 Only enable the assign and insert member functions for class ivector<…
#1468 SFTP the documentation to the website on push to master
#1469 Documentation updates
#1470 Format user defined types in format.h
#1471 Fix code examples in documentation
#1473 Add constexpr support for delegate construction and assignment
#1474 Remove file writing tests for etl::random
#1475 Fix ranges
#1476 Add constexpr support for delegate construction and assignment
#1478 Drop problematic T& emplace(const optional_impl& other)
#1482 Fix etl::unique_ptr::swap() for deleters
===============================================================================
20.47.1 20.47.1
#1374 Fix initializer_list use in algorithm.h and definition of data() in iterator.h #1374 Fix initializer_list use in algorithm.h and definition of data() in iterator.h

View File

@ -1 +1 @@
20.47.1 20.48.0