Commander v0.9.0 Release Notes

Release Date: 2019-06-12 // 10 months ago
  • 💥 Breaking

    • 👌 Support for Swift < 4.2 has been removed.

    ✨ Enhancements

    • ➕ Added syntax for using array as a type with Argument instead of using VariadicArgument:

      command(Argument<[String]>("names")) { names in }
      
    • ➕ Added support for optional arguments and options, for example:

      command(Argument<String?>("name")) { name in }
      command(Option<String?>("name", default: nil)) { name in }
      
    • ➕ Added support for using -- to signal that subsequent values should be treated as arguments instead of options.
      Tamas Lustyik

    • Output of --help for group commands will now sort the commands in alphabetical order.
      Cameron Mc Gorian

    🐛 Bug Fixes

    • 0️⃣ Showing default values for custom ArgumentConvertible types are now supported in the --help output of commands.

    • 🖨 Only print errors in red if the output terminal supports ANSI colour codes. #58

    • 📜 ArgumentParser.isEmpty will now return empty for empty arguments.