Skip to content

v0.10.0-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@00JCIV00 00JCIV00 released this 16 May 21:21
· 34 commits to main since this release

Full Changelog: v0.9.1-beta...v0.10.0-beta

v0.10.0 (Supports Zig v0.12)

New Features

  • Meta Doc Generators for Help Docs, Tab Completion Scripts, and Argument Templates!
  • Inheritable Options that can be passed down to all Sub-Commands of a given Command (ex: cmd --opt and cmd sub-cmd --opt would refer to the same --opt).
  • New parent_cmd field for all Argument Types, allowing for easier bi-directional referencing.
  • New examples field for Commands which is used to show examples in Usage/Help messages and Help Docs.
  • New Argument Index (arg_idx) field for all Argument Types, so you can tell exactly where an Argument was provided in relation to other Arguments regardless of spacing.
  • New checkArgGroup() method for Commands to check if an Argument from the specified Argument Group was used.
  • Argument Type Configs now have an optimized() function that can slim down the Value Union and remove certain features to help reduce binary size. (These optimizations can be enabled individually as well.)

Doc Improvements

  • Updated the Docs to use the new Zig Autodocs. They're also now created through CI using a GitHub Workflow.
  • Revamped the Guides and moved them to a GitHub Wiki for the Cova repo.
  • Simplified the README to be leaner and cleaner. (Always looking for feedback on this)
  • Better basic-app and covademo examples.

Fixes & Optimizations

  • Revamped allocation model that closely resembles Zig's Managed Types.
  • Better Value parsing.
  • Improved Value Union default Types.
  • Several updates to stay in line with Zig changes (no comptime var, b.path(), etc)

Breaking

  • Several fields from the Argument Types and Configs have been renamed for better consistency.
  • Meta Doc Gen has been completely reworked from the very limited version available in v0.9.0.