Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V0.10.1 #63

Merged
merged 26 commits into from
Sep 21, 2024
Merged

V0.10.1 #63

merged 26 commits into from
Sep 21, 2024

Conversation

00JCIV00
Copy link
Owner

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

This version is primarily enhancements and fixes to features from v0.10.0.

v0.10.1 (Supports Zig v0.13)

Features

  • Zig v0.13 support.
  • Improved the Documentation, Examples, & Build Process.
  • Added the "cova" Log Scope.
  • Added a reset() method f/ Commands similar to the one for std.ArrayList.
  • Exposed indent_fmt f/ Values.
  • Added getAllAs() to Values to help w/ multi-value analysis.
  • Created the UsageHelpConfig f/ Initialization. (This will be reworked into DefaultArgConfig in v0.11)
  • Added excluded_short_opts to the FromConfig f/ Commands to allow for more granular conversion control with Default Arguments.

Fixes

  • Fixed Enum handling f/ Values.
  • Fixed Boolean parsing issue f/ Values.

00JCIV00 and others added 26 commits May 21, 2024 11:59
- Fixed the `ofType()` function of `Value.Custom` to properly handle Enums by assigning a parsing function.
- Created the new `asEnumTag()` Parsing Function Builder for Values.
- Created the `log_enum.zig` example.
- Changed `ComptimeStringMap` to `StaticStringMap` where needed.
- Added a Release Safe as the preferred release option.
- Updated the project to v0.10.1.
- Updated all (most?) comments to have Zig Types in title case where applicable.
- Implemented `reset()` to allow a Root Command to be reused after it's already been parsed.
- Ensured that `indent_fmt` is properly exposed in `Value.Custom` for library users.
- Ensured that `indent_fmt` is properly exposed in `Value.Custom` for library users.
- Removed the `preferred_release_option` from `build.zig` since it's transitive to other projects. This option is better reserved for library users.
- Added the "cova" Log Scope to distinguish Cova messages for library users.
- Removed the Value Name from Option Usage Messages by default.
- Updated Basic App Example f/ Cova v0.10.0 and Zig v0.13.0 changes.
- Updated Tests f/ Cova v0.10.0 changes.
- Thank you @PalanixYT for pointing these out! #58
- Fixed a parsing bug for Boolean Options if `bool` is aliased to something else.
- Created the new `childTypeName()` method for `Value.Custom` to be a companion for `childType()`. The former will provide an aliased name if available.
- Added the `getAllAs()` method for `Value.Custom` to easily get multi-Values (and Options) during analysis.
- Added the `getAllAlloc()` method for `Value.Typed` to support easier function wrapping with the original `getAll()`.
- Updated Badges to reflect new versions.
…zation. (BREAKING)

- Added the `help_config` field, a UsageHelpConfig, to the InitConfig. This is a simple, but breaking change.
- Implemented `*_val_name` and `*_desc_fmt` fields in UsageHelpConfig to give library users more control of the generated Usage/Help messages.
- Closes #60.
- Changed the function signature for all custom Argument Usage/Help Functions to have a nullable Allocator (`?mem.Allocator`). This pushes the onus for dealing w/ comptime calls to the library user and allows these functions to still be called by the Meta Doc Generators as needed.
- Updated examples w/ this change.
- Fixed aliased Usage/Help functions in `Options.zig`.
- Changed aliased names for Enum Types in `Value.zig`.
- Fixed Meta Doc Generators so they use a Value's Child Type Alias where appropriate.
- Added `help_category_order` to `Command.Config` to allow library users to change the order in which help message categories are written.
- Added the `HelpCategory` enum to support the `help_category_order`.
- Fixed small comptime error f/ Usage/Help functions in Options.
- Fixed a few styling differences and re-arranged a few methods in Command.zig
- Unified the Exe and Doc Gen step creation for all examples.
- Renamed `log_enum.zig`.
- Add Doc Gen for `log-enum.zig`.
- Added `addCovaDocGenStepOrError()` to `build.zig` which will return an error in cases of Target mismatches f/ CI cross-compilation pipelines.
Updated main.yaml to use Zig v0.13.0 (fixed)
- Added the `excluded_short_opts` field to Command's `FromConfig` to make it easier for library users to exclude certain Short Options when parsing converting from Zig Types.
- Added a Quick Example up front.
- Added a few new Feature notes.
- Reworded a few bullets.
@00JCIV00 00JCIV00 merged commit d09e855 into main Sep 21, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant