CLI11 v2.6.2 Release Notes
Release Date: 2026-02-26 // 4 months ago-
👍 This version adds C++20 modules support, additional controls for help output and
🛠 finer grained control for extras handling and prefix command operation. Fixes
🏁 compatibility issues with C++26 and Windows and a number of small issue with
help output and specific combinations of options and conditions.➕ Added
- ➕ Added C++20 modules support with new module files and tests. #1286
- ➕ Added configuration modes for extras handling:
AssumeMultipleArgumentsand
AssumeSingleArgument. #1270 - ➕ Added option for full install including impl headers with precompiled option.
#1252 - ➕ Added improvements to prefix commands including
PrefixCommandModeand
separator specification. #1266 - ➕ Added controls for option name formatting in help output, allowing disabling
0️⃣ of default values, flags, and type names. #1247 - ➕ Added refactor of Meson build system with updated version and new options.
#1280 - ➕ Added support for Bazel 9. #1287
- ➕ Added module testing infrastructure. #1255
🔄 Changed
- 🔄 Changed default to install impl headers even when precompiled option is
selected. #1291 - ⚡️ Updated copyright dates to 2026. #1283
- ⚡️ Updated CI pipelines including Azure Pipelines and GitHub workflows.
#1267, #1283 - 📚 Updated documentation and book chapters. #1250
🛠 Fixed
- 🛠 Fixed extra spaces in option and app descriptions. #1295
- 🛠 Fixed option searching to use fallthrough in parent apps. #1292
- 🛠 Fixed C++26 template ambiguity for
std::complex. #1278 - 🛠 Fixed UTF-8 config filenames not supported on Windows. #1273
- 🛠 Fixed enumeration stream output generating unconvertible strings if certain a
👉 user supplied stream conversion method was supplied #1261 - 🛠 Fixed code simplification issues by removing use of
static std::stringwhich
was causing some heap allocation issues when using CLI11 as part of DLL on
certain operating systems #1244 - Fixed MISRACPP2023-25_5_2-a-1 rule violation #1299
Previous changes from v2.6.1
-
🚀 Patch fixing some compile issues in specific situations in the recent release,
and a potential segmentation fault from specially crafted config files➕ Added
- ➕ Added CI tests for install and package management on macos-arm64 #1238
🛠 Fixed
- 🛠 Fixed incorrect links to validator examples. #1239
- 🛠 Fixed incorrect inclusion of definition for extra validators #1238
- 🛠 Fixed fuzz generated failure from crafted files introduced in recent release
#1238 - ✂ Removed some usage of static const std::string in inline function that had
potential memory issues when CLI11 is used with shared libraries, this likely
isn't a bug but the fix did result in smaller code size so was kept. #1244