Skip to content

Lyra 1.6

Compare
Choose a tag to compare
@grafikrobot grafikrobot released this 10 Dec 19:32

Even though most of the changes for this release are to fix various reported
bug fixes, fixing those bugs has meant dealing with some long standing
internal parser inconsistencies. While I try to not break backwards
compatibility, I likely can't catch all of the corner cases people have
discovered.

WARNING: This release has some internal cleanup of the parser result types. It
also has an externally visible change to the parse function result type. It
renames the errorMessage() function to message(). The errorMessage()
function is marked deprecated and will be removed in a future release.

Changes:

  • New: Add lyra::option_style type to better customize the syntax of
    options allowed. This replaces the "old" lyra::parser_customization as a
    better way. The lyra::parser_customization is now deprecated, and will
    be removed at some future release.
    -- René Ferdinand Rivera Morell
  • New: Add example to show how to count flags with cardinality greater than
    one (1). Shows how to handle increasing verbosity with -vvvv.
    -- René Ferdinand Rivera Morell
  • New: Add capability to control the cardinality of argument groups.
    -- René Ferdinand Rivera Morell
  • New: Allow setting hint after construction of lyra::bound_parser.
    -- Max Ferger
  • Fix virtual overload hiding of parse method.
    -- René Ferdinand Rivera Morell
  • Fix previously removed error for when expected option specifications
    do not have the required - prefix.
    -- René Ferdinand Rivera Morell
  • Fix inconsistencies in parsing arguments in a group followed by other
    arguments. (issue #49)
    -- René Ferdinand Rivera Morell
  • Fix incorrectly accepting negative values for unsigned integer arguments.
    The argument value conversion now checks the input for acceptable digits
    in the input before attempting to parse it.
    -- René Ferdinand Rivera Morell
  • Fix sub-command arguments being ignored even when they are marked as
    required.
    -- René Ferdinand Rivera Morell
  • Fix assigned values for flag options (--flag=no) being ignore. They now
    cause an error when specified.
    -- René Ferdinand Rivera Morell
  • Fix choices being allowed for for flag options, but ignored. Specifying
    choices on flag options now signal an error.
    -- René Ferdinand Rivera Morell
  • Tested with Visual Studio 2019, VS 2022, MinGW-64 (gcc 8.1.0), Linux ( clang 3.9, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13; gcc 5, 6, 7, 8, 9, 10, 11), Xcode (11.2.1, 11.3.1, 11.4.1, 11.5, 11.6, 11.7, 12.0.1, 12.2, 12.3, 12.4, 13.0), on Azure Pipelines; and with VS 2015, VS 2017, MinGW-64 (gcc 6.3, 7.3) on AppVeyor.