Typin v3.1.0 Release Notes

    • .NET 6 support (including DateOnly and TimeOnly).
    • Added InteractiveModeOptions.Prompt, InteractiveModeOptions.SetDefaultPrompt() and InteractiveModeOptions.SetPrompt() for specifying custom prompt template. PromptForeground and ScopeForeground can still be used to configure foreground without changing prompt template.
    • Added support for custom binding converters BindingConverter<T> - see ArgumentBindingConverterTests for examples.
    • Added BindableArgument and BindableArgument.Bindable, as well as marked ArgumentSchema.Property, ArgumentSchema.IsScalar, and ArgumentSchema.GetValidValues() obsolete - will be removed in Typin 4.0.
    • BindableArgument.IsScalar and BindableArgument.GetValidValues() are now optimized with a simple cache (backing field).
    • Faster Guid binding by explicit Guid.Parse() call (added Guid to ArgumentBinder.PrimitiveConverters).
    • Changed default values format in help - now in round brackets.
    • Fixed StackTraceParser: add a filter for --- End of stack trace from previous location --- and --- End of stack trace from previous location where exception was thrown ---.
    • Fixed invalid help text: Environment variable: instead of Fallback variable:.
    • Fixed default version format (complex versions like 3.0.0-beta1 were incorrectly dispalyed as 3.0.0).
    • Fixed console not being disposed when stopping the application (for consoles that were created within CliApplicationBuilder).
    • Fixed showing choices for non-scalar nullable and non-nullable enum arguments.
    • Fixed dependency injection IDisposable anti-pattern in IConsole - IDisposable is no longer present in IConsole. If you wish to use it, implement it in IConsole implementation.
    • Removed IDisposable from CliContext.