regenerated documentation from source
Add a minimal quick-start example to the documentation landing page
Update TCLAP to C++11 (or later)
Update TCLAP to C++11 (or later)
Created 2 new branches, 1.6 that is API compatible with 1.4, but supports modern (C++20) C++ standard. No/minimal interface changes. Also created branch 2.0 that is a backwards incompatible version that utilizes modern feature to make the library more robust and readable. Not API compatible with 1.x.
Subcommands
Support for commands added in [217a7d33812801dfa66a05a1bb270504bce6f657]
Add hierarchical commands with scoped arguments and explicit dispatch
Show default values in help output
Drafted a possible solution in [4a4b675] on the defaults branch (2.0 based). However, I will not merge this to 2.0 (or 1.x) unless there is strong demand. It complicates things and is easily dealt with by manually including default values in the description string.
allow short argument aliases
Implemented in [61b0ad5]
Support Unicode argument aliases in specs, parsing and help
Use range iteration for alias dialect validation
Merge alias dialect validation from 1.4
Use C++20 ownership and iteration for argument aliases
Merge argument alias support from 1.4
Validate aliases against parser delimiters and complete option tokens
Support argument aliases with shared parsing state and typed help
Support unicode/wstring in TCLAP
Unicode support added in [e431eb04b32234d5a4ec3aa000eca8f6d3c3b533] and [0edcbd576eba5b6d31e0eb4ce6db49d0088a673b]
Compile Unicode fuzz tests with UTF-8 on MSVC
Support Unicode values and native wide command lines
Add ordered comparison constraints with owned bounds
Modernize ordered constraints for C++20 owned bounds
Merge ordered constraint support from 1.4
Add ordered comparison and inclusive range constraints
Add inequality and range constraints
Add inequality and range constraints
Implemented in [0fe7679]
class FunctionConstraint : public Constraint<T>
Added PredicateConstraint in [299f8b7] which solves this same problem.
Support typed and move-only predicate constraints
Modernize predicate constraints with forwarding and move-only state
Merge owning predicate constraints from 1.4
Add owning predicate and rule constraints
Update TCLAP to C++11 (or later)
Link versioned documentation only to the main 1.4 release
Link legacy documentation back to the main release page
Keep documentation CI status concise
Show all branch CI workflows on each documentation page
Release parse exceptions before exiting from custom output
Forward help and version options through the test wrapper
Include the standard stream header used by value constraints
Explain borrowed object lifetimes with a complete parser example
Show current GitHub Actions workflow status in documentation
Document supported installation routes and CMake consumers
Deliver linked example source with the manual and repair its help link
Use Python 3 for modelines and retire obsolete test conversion
Include exception declarations in standalone public headers
Correct Windows CI paths for legacy example binaries
Add GitHub Actions CI for the legacy 1.2 branch
Fix legacy release archives and C++98 test builds
Require CMake 3.13 for the optional CMake build
Correct switch value and legacy trait documentation
Clarify positional multi requirements and operand consumption
Explain end-of-options operands and ignoreable policy
Document parse failure handling and safe input reuse
Document constraints on supplied values and optional defaults
Render DocBook positional arguments as ordered operands
Escape DocBook XML data and preserve value type labels
Explain retained XOR bookkeeping when resetting legacy multi arguments
Inline the legacy Zsh completion constructor for header-only use
Document the legacy empty attached-value behavior
Make counted switches convert to bool using their count
Clear end-of-options state when resetting the parser
Document process-wide parser state restrictions in the legacy manual
Use one version source for the legacy branch at 1.2.6
Publish documentation to the matching version and clarify version choices
Design around OptionalUnlabeledTracker is incorrect
Fixed in 1.4 in [b3088b9]
Link versioned documentation only to the main 1.4 release
Link modern documentation back to the main release page
Merge documentation navigation and upload guidance from 1.4
Merge concise CI status documentation from 1.4
Merge shared CI status documentation from 1.4
Link versioned documentation only to the main 1.4 release
Link release documentation and explain versioned uploads
Keep documentation CI status concise
Show all branch CI workflows on each documentation page
Link the main release page only to 1.2 and 1.6 documentation
Link release documentation and explain versioned uploads
Keep documentation CI status concise
Show all branch CI workflows on each documentation page
Merge explicit stream dependencies and safer failure output from 1.4
Merge strict NUL parsing and compatibility override from 1.4
Use modern callbacks and iteration in fuzz checks
Merge semantic fuzz checks and regression seeds from 1.4
Merge empty usage summary fix from 1.4
Annotate registration conflict checks with modern API contracts
Merge declared registration conflict rules from 1.4
Merge C++98-compatible fuzz harness changes from 1.4
Adapt merged consumer and CI documentation to the 1.6 branch
Merge 1.4 documentation and developer cleanup into 1.6
Merge 1.4 release packaging fixes into 1.6
Merge 1.4 CMake 3.13 build simplifications into 1.6
Use initializer lists in the parse recovery example
Merge 1.4 defaults, parse lifecycle, operand, and API documentation
Modernize merged rendering helpers and counted-switch conversion
Merge 1.4 counted switches, empty values, and output corrections