From f3028d22e4b8ae71f66e1f213e42a0d1f20cb34a Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 30 Jun 2026 11:33:30 +0100 Subject: [PATCH] Development release of 20.48.0 --- Converting header guards.txt | 2 +- arduino/library-arduino.json | 2 +- arduino/library-arduino.properties | 2 +- docs/releases/_index.md | 94 +++++++++++++++++++++++++++--- hugo/assets/version.txt | 2 +- include/etl/version.h | 4 +- library.json | 2 +- library.properties | 2 +- support/Release notes.txt | 81 +++++++++++++++++++++++++ version.txt | 2 +- 10 files changed, 177 insertions(+), 16 deletions(-) diff --git a/Converting header guards.txt b/Converting header guards.txt index ebac60b0..7fdeed04 100644 --- a/Converting header guards.txt +++ b/Converting header guards.txt @@ -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 python3 -m pip install guardonce diff --git a/arduino/library-arduino.json b/arduino/library-arduino.json index 060f3244..920e19f3 100644 --- a/arduino/library-arduino.json +++ b/arduino/library-arduino.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library ETL", - "version": "20.47.1", + "version": "20.48.0", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/arduino/library-arduino.properties b/arduino/library-arduino.properties index 0cbbe88b..b33108b3 100644 --- a/arduino/library-arduino.properties +++ b/arduino/library-arduino.properties @@ -1,5 +1,5 @@ name=Embedded Template Library ETL -version=20.47.1 +version=20.48.0 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/docs/releases/_index.md b/docs/releases/_index.md index dec2ad9d..86d793dc 100644 --- a/docs/releases/_index.md +++ b/docs/releases/_index.md @@ -5,6 +5,86 @@ weight: 2002 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 **Pull requests:** @@ -421,7 +501,7 @@ Fixes: #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 +#997 Request: operator[ ](https://github.com/ETLCPP/etl/pull/) 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 @@ -768,7 +848,7 @@ Removed default link type for etl::intrusive_list and etl::intrusive_forward_lis 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. @@ -779,12 +859,12 @@ Re-enabled memcast tests. #687 Build failure. constexpr keyword before template keyword #689 Add as_bytes and as_writable_bytes #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) #698 Behaviour of bidirectional_link nodes. Links are now cleared when unlinked #699 Optional(POD) operator bool explicit -Optimised map/flat_map/unordered_map [] operator and insert() -Removed [] operator for reference_flat_map +Optimised map/flat_map/unordered_map [](https://github.com/ETLCPP/etl/pull/) operator and insert() +Removed [](https://github.com/ETLCPP/etl/pull/) operator for reference_flat_map Unit tests compile for C++11 Fixed C++11 constexpr compatibility 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 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. 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. @@ -1627,7 +1707,7 @@ Change to array_view member variable declaration, for constructor from array. 18.18.1 -Added [] operators to etl::circular_buffer +Added [](https://github.com/ETLCPP/etl/pull/) operators to etl::circular_buffer 18.18.0 diff --git a/hugo/assets/version.txt b/hugo/assets/version.txt index 1055985e..45d90e97 100644 --- a/hugo/assets/version.txt +++ b/hugo/assets/version.txt @@ -1 +1 @@ -20.47.1 +20.48.0 diff --git a/include/etl/version.h b/include/etl/version.h index 38480305..372cc3c9 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -39,8 +39,8 @@ SOFTWARE. ///\ingroup utilities #define ETL_VERSION_MAJOR 20 -#define ETL_VERSION_MINOR 47 -#define ETL_VERSION_PATCH 1 +#define ETL_VERSION_MINOR 48 +#define ETL_VERSION_PATCH 0 #define ETL_VERSION \ ETL_STRING(ETL_VERSION_MAJOR) \ diff --git a/library.json b/library.json index 3dc67e2d..356abdc2 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library", - "version": "20.47.1", + "version": "20.48.0", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/library.properties b/library.properties index c21ef73c..a7eab13e 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Embedded Template Library -version=20.47.1 +version=20.48.0 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/support/Release notes.txt b/support/Release notes.txt index b42ba3bd..2966f0a3 100644 --- a/support/Release notes.txt +++ b/support/Release notes.txt @@ -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 #1374 Fix initializer_list use in algorithm.h and definition of data() in iterator.h diff --git a/version.txt b/version.txt index 1055985e..45d90e97 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -20.47.1 +20.48.0