Skip to content

Lyra 1.7.0

Latest
Compare
Choose a tag to compare
@grafikrobot grafikrobot released this 07 Aug 15:32

It's been a rather long time since a release. But hopefully releases will be more frequent from now on because.. Instead of waiting for a "large enough" accumulation of changes in a release the plan going forward is to have at least one release a year.

In this release there are a variety of bug fixes and adjustments. Although most are small they do add up to a good chunk of new stability. There are also some enhancements as requested that make for more flexibility in output and parsing modes.

Changes:

  • New: Make printing help text configurable to make it possible to avoid using iostreams for output.
    -- René Ferdinand Rivera Morell
  • New: Implements a new brief_help mode for a command that only prints out the command name and description.
    -- René Ferdinand Rivera Morell
  • New: Adds printing default/initial value for options in help output.
    -- René Ferdinand Rivera Morell
  • New: Add relaxed parsing to support "bag of options" style command lines.
    -- René Ferdinand Rivera Morell
  • New: Add ordering/sorting of printed option details specified in the option_style::options_print_order value.
    -- René Ferdinand Rivera Morell
  • New: Improve output readability by indenting sub-commands.
    -- René Ferdinand Rivera Morell
  • New: Add lyra::arguments::require to specify limits on how many successful sub-parsers are required for parsing.
    -- René Ferdinand Rivera Morell
  • Fix operator| loosing group subtype causing invalid parsing.
    -- René Ferdinand Rivera Morell
  • Fix crash when no arguments are given to the parsing.
    -- René Ferdinand Rivera Morell
  • Fix crash when changing settings of a command and adding subsequent arguments.
    -- René Ferdinand Rivera Morell
  • Fix short option values being ignored in the case where the value separator is past the short option and in the value itself.
    -- René Ferdinand Rivera Morell
  • Fix choice limited args from erroring early.
    -- René Ferdinand Rivera Morell
  • Refactored the way help is printed to allow individual parsers to customize their output through the printer object.
    -- René Ferdinand Rivera Morell
  • Fix zero-as-null pointer conversion warnings.
    -- Hermann von Kleist
  • Fix some unclear error messages when parsing optional arguments.
    -- René Ferdinand Rivera Morell
  • Fix parsing with mix of required and optional arguments.
    -- René Ferdinand Rivera Morell
  • Fix passing move-only lambdas to opt and arg parsers.
    -- René Ferdinand Rivera Morell
  • Fix incorrect interpretation of single character literal strings to the choice(..) function.
    -- René Ferdinand Rivera Morell
  • Fix ignored short circuit error results returned from user callbacks. This now, correctly, allows for custom error messages from user callbacks when parsing or checking arguments.
    -- René Ferdinand Rivera Morell
  • Tested with Visual Studio 2022, MinGW-64 (gcc 8.1.0), Linux (clang 3.9, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21; gcc 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), Xcode (14.3.1, 15.4, 16.4), on Azure Pipelines; and with VS 2015, VS 2017, VS 2019, VS 2022, MinGW-64 (gcc 6.3, 7.3, 8.1) on AppVeyor.