Skip to content

Releases: Nick-Lucas/EntryPoint

1.3.0 - Make getters for BaseOptionAttribute public

22 Jul 20:15
6a3200a
Compare
Choose a tag to compare

1.2.3 - Escape characters stripped from quotes

23 Dec 10:35
92c6860
Compare
Choose a tag to compare

A fix for the bug reported in #51

Commands like myapp.exe mycommand --myparam "my\ value" were having the escape character stripped, although this is not in line with behavior in other CLIs.

Commands like myapp.exe mycommand --myparam my\ value will continue to have the escape stripped by shells, as this is correct and protects the following space

1.2.2 - Mono 5 Bugfix

30 May 15:20
Compare
Choose a tag to compare

Should fix an issue where Mono 5 could not run EntryPoint due to an AmbiguousMatchException on the HelpAttribute

1.2.1 - Exception Messages

27 May 17:21
Compare
Choose a tag to compare

Minor changes with this release, a number of small improvements to exception messages, which are displayed to users and developers.

1.2.0 - Environment variables

25 Mar 17:15
Compare
Choose a tag to compare
  • Adds EnvironmentVariable attribute to CliArguments
  • Improves error throwing when the user provides a value un-convertable to the destination type.
  • General improvements to test coverage

1.1.0 - UserFacingException handling

12 Feb 18:42
Compare
Choose a tag to compare

There is now a built in approach to handling derivatives of UserFacingException, which until now always bubbled up into your application.

Much like the OnHelpInvoked handler there is now a virtual method and a boolean which help you handle user error.

Full documentation on this new feature is available here

0.9.8 - Api improvements

08 Jan 20:59
Compare
Choose a tag to compare
Pre-release

Two main changes with this update:

  • OnHelpInvoked now provides a default implementation, as feedbackwas that it's a bit confusing that --help does nothing without implementing the virtual method. Now we implement the virtual method to change the implementation
  • Enforce at least one name being provided by Option/OptionParameter attributes, whereas it was possible to provide neither, before.

The Api is getting close to complete now, and no more significant changes to existing functionality are proposed.

0.9.7 - Lists Support

05 Jan 22:17
Compare
Choose a tag to compare
0.9.7 - Lists Support Pre-release
Pre-release

This update brings:

  • Support for List as an OptionParameter / Operand type, parsing from item1,item2,item3
  • Improve Exceptions thrown inside of Commands to maintain a useful StackTrace
  • Executing Cli.Parse / Cli.Execute without providing a string[] args parameter will now correctly get the string[] args itself
  • A bug where --log could be interpreted as --log-level or similar
  • Other minor improvements to the codebase

0.9.6 - API overhaul, Commands support, Help improvements

01 Jan 18:45
Compare
Choose a tag to compare

This release is a pretty major change to EntryPoint so far.
All functionality is documented in depth here

All major APIs have changes, at least in name. This is based on feedback on the old interfaces.

  • EntryPointApi -> Cli
  • BaseApplicationOptions > BaseCliArguments

A Commands API has also been added, which provides the ability to route to a different logic branch based on the invoked Command, where arguments can be parsed in a domain specific manner.

Also the Help Generator has some incremental improvements, and is also supported by the Commands API.

This should be the end of major changes to existing APIs, although there are a number of small features to add in the future.

0.9.5 - Help Generator

28 Dec 20:57
Compare
Choose a tag to compare
Pre-release

This update changes the help generator so -h and --help no longer take control of and then exit the program after printing documentation.
From now on we have BaseApplicationOptions.HelpRequested. Developers using EntryPoint should check this property after parsing and use EntryPointApi.GenerateHelp<>() to get the documentation string. This puts control of the application flow entirely in your hands as a developer, which seems more appropriate. It does add a little boilerplate but was the lesser evil of other options.

A number of bugs are fixed (Including Required options throwing even when --help was invoked).

.Net Framework requirements have also been dropped to 4.5.0, although due to reflection features, it can't go any lower.