Skip to content

0.2.0

Latest
Compare
Choose a tag to compare
@DoctorKrolic DoctorKrolic released this 01 Apr 15:07
· 55 commits to main since this release

This release focuses on addressing technical dept and improving developer experience. It doesn't include any additional library features besides an important breaking change.

Added:

  • 9 new diagnostics, including 2 errors for cases that were previously possible but led to incorrect/confusing behavior, 2 warnings, 3 infos and 2 unnecessary markers
  • Many diagnostics now come with corresponding code fixes, so if you see a diagnostic from the library in your code, first try to invoke the code fixes menu to see whether the library already has a good solution for you
  • Nullability warnings from the C# compiler are now suppressed for sequence options and remaining parameters inside options types
  • Code generation has been separated from code analysis, so you may expect better responsiveness in your IDE

Changed:

  • All options types must now be annotated with the [OptionsType] attribute from the ArgumentParsing namespace. If a type used in argument parsing is not annotated with this attribute, an error is reported and no code is generated. This change enables the separation of code analysis from code generation, allowing for the efficient implementation of many features. This release already includes several features that heavily rely on the [OptionsType] attribute and would probably be impossible without it. Given the numerous benefits this change brings and the fact that the library is still in early development, the breaking change is considered justified