- extend validation functions to support props (#244);
--version
takes precedence over validation of required args, now it works regardless of other arguments (#241);
- BREAKING: behavior change:
--help
now takes precedence and prints help regardless of its position in the arguments (#239); - add
exitHandler
,stdoutPrintln
andstderrPrintln
variables to ScallopConf to allow more control over Scallop behavior (#240);
- allow toggle options to be marked as "required" (#234);
- Align opt descrs with '\n' (#231 by @Kalin-Rudnicki);
- Previous:
-o, --output-dir <arg> Directory to output generated files (In same tree structure as inputDir)
- Now:
-o, --output-dir <arg> Directory to output generated files (In same tree structure as inputDir)
- add support for Scala 3 (#230 by @vhiairrassary);
- call setAccessible(true) when performing option name guessing (#226);
- fix: do not throw "excess arguments" error if there is only one multi-arg option (#224);
- upgrade Scala Native dependency to 0.4, see #225 (@vhiairrassary);
- handle single and double quoted strings when reading options from file in Scala Native;
- fix: make ScallopConf.builder accessible again;
- BREAKING:
singleArgConverter
andlistArgConverter
now include exception text if provided handler didn't catch the exception; - BREAKING:
singleArgConverter2
was removed; - BREAKING:
ArgType.V
is now sealed abstract class; - BREAKING:
ScallopHelpFormatter.getOptionLines
(and similar methods) now returnList[Either[String, CliOption]]
instead ofList[Option[CliOption]]
; - BREAKING: behavior change: Scallop now supports trailing arguments before options, thus
--opt1 optArg1 trailArg1 --opt2
will now be parsed instead of throwing an error; - BREAKING: behavior change: Scallop now handles single and double quotes in a shell-like fashion when reading options from stdin or file;
- added support for trailing arguments before (or between) options, see #147;
- added cross-compilation for Scala 3.0.0-M2, see #215 and #216 (@Sciss);
- added support for option ordering in help output via option groups, see #196;
- handle single and double quoted strings when reading options from stdin or file, allows for using arguments with spaces in such cases;
- added path list converter, see #212 (@danielyli);
- made the default value for the noshort parameter configurable, see #206 and #207 (@zawlazaw);
- added Duration converters, see #199 and #200 (@2m)
- allowed requireSubCommand() for nested subcommands, see #197;
- added support for Scala 2.13, see #190 (@Philippus);
- fixed copyArrayToImmutableIndexedSeq warning, see #191 (@Sciss);
- added cross-compilation for Scala 2.13.0-RC2, see #183, #184 and #186 (@Philippus);
- added support for negative numbers in trailing args, see #189;
- added Path validators, see #182 (@rvanheest);
- fixed isSupplied on transformed options with guessed names, see #178;
- do not print version info if option with implicit short name -v is supplied for subcommand, see #177;
- consider implicit guessed option short names when evaluating -h and -v args, see #177;
- fixed short names for toggle options, see #159 (@jairamc);
- fixed propsLong help formatting, see #172;
- fixed scala 2.13.0-M4 compilation warnings, see #166 (@xuwei-k);
- added better warning for option name guessing failures for unsupported platforms (js and native), see #141;
- now -h and -v short option names are generated automatically, if they do not conflict with other user-defined options, see #153;
- added List[File] converters & validators, see #151 (@deugeniy);
- decode non-letter characters when guessing option names, see #150;
- implemented choice options, see #145;
- added serialization helper for ScallopConf, #137;
- really fixed bug with resolving default values even when they are not used, see #143;
- fixed bug with resolving default values even when they are not used, see #143;
- names are now always generated for trailing args, see #141;
- errors are now output to stderr by default, see #142;
- BREAKING: removed old type-unsafe immutable
Scallop
builder, useScallopConf
instead; - cross-build for Scala Native, see #138 (@oker1);
- cross-build for ScalaJS, see #141;
- added help format customization, see #135;
(... to be continued - I don't have the time to go through the rest of commit&release history right now)