kotlin-argparser v2.0.0 Release Notes
Release Date: 2017-04-21 // almost 7 years ago-
โ Added
๐
ArgParser.option
is now a public method, so it's possible to create many
๐ new option types that were not previously possible. The existing option types
are all written in terms ofoption
, so they can be used to get an idea of
how it works.โ More tests have been added.
Started using keepachangelog.com format for CHANGELOG.md
๐ Made minor improvements to release process
๐ Changed
๐ The
storing
,adding
andpositionalList
methods ofArgParser
have had
their parameters slightly reordered to be consistent with the other methods.
This is an incompatible change. The name(s) come first, if any, followed by
help
. Other parameters appear afterhelp
, with thetransform
function,
if any, last. It is recommended that clients either pass the transform as a
block (ie: with braces) or as a named parameter, as any future new parameters
will necessarily change its position in the list.Delegate and DelegateProvider are now abstract classes with internal
constructors. This makes it much easier for me to separate internal and
public parts of their API. This is an incompatible change, however it
shouldn't really affect you unless you were trying to implementDelegate
,
๐ which was't supported to begin with.0๏ธโฃ
default
methods on bothDelegate
andDelegateProvider
are now extension
methods. This makes it possible to generalize the type when adding a
0๏ธโฃ default. This is most noticable when using a nullable value (ornull
0๏ธโฃ itself) for the default, though may also be useful in other cases (eg: a
0๏ธโฃ "storing" that always produces aRectangle
, but you want the default to be
aCircle
. The resulting delegate will be aDelegate<Shape>
.)Registration of delegates now takes place at binding-time rather than
construction time. This should be pretty indistinguishable from the old
behavior unless you're creating delegates without binding them.Help formatting has been improved so that it's far less likely to wrap option
names in the usage table.๐ There have been numerous bugfixes, particularly around positionals