tag:github.com,2008:https://github.com/00JCIV00/cova/releasesRelease notes from cova2024-09-21T20:57:10Ztag:github.com,2008:Repository/635546664/v0.10.1-beta2024-09-21T20:58:10Zv0.10.1-beta<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/00JCIV00/cova/compare/v0.9.1-beta...v0.10.1-beta"><tt>v0.9.1-beta...v0.10.1-beta</tt></a></p>
<p>This version is primarily enhancements and fixes to features from v0.10.0.</p>
<h2>v0.10.1 (Supports Zig v0.13)</h2>
<h3>Features</h3>
<ul>
<li>Zig v0.13 support.</li>
<li>Improved the Documentation, Examples, & Build Process.</li>
<li>Added the "cova" Log Scope.</li>
<li>Added a <code>reset()</code> method f/ Commands similar to the one for <code>std.ArrayList</code>.</li>
<li>Exposed <code>indent_fmt</code> f/ Values.</li>
<li>Added <code>getAllAs()</code> to Values to help w/ multi-value analysis.</li>
<li>Created the <code>UsageHelpConfig</code> f/ Initialization. (This will be reworked into <code>DefaultArgConfig</code> in v0.11)</li>
<li>Added <code>excluded_short_opts</code> to the <code>FromConfig</code> f/ Commands to allow for more granular conversion control with Default Arguments.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fixed Enum handling f/ Values.</li>
<li>Fixed Boolean parsing issue f/ Values.</li>
</ul>00JCIV00tag:github.com,2008:Repository/635546664/v0.10.0-beta2024-09-21T19:36:37Zv0.10.0-beta<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/00JCIV00/cova/compare/v0.9.1-beta...v0.10.0-beta"><tt>v0.9.1-beta...v0.10.0-beta</tt></a></p>
<h2>v0.10.0 (Supports Zig v0.12)</h2>
<h3>New Features</h3>
<ul>
<li>Meta Doc Generators for Help Docs, Tab Completion Scripts, and Argument Templates!</li>
<li>Inheritable Options that can be passed down to all Sub-Commands of a given Command (ex: <code>cmd --opt</code> and <code>cmd sub-cmd --opt</code> would refer to the same <code>--opt</code>).</li>
<li>New <code>parent_cmd</code> field for all Argument Types, allowing for easier bi-directional referencing.</li>
<li>New <code>examples</code> field for Commands which is used to show examples in Usage/Help messages and Help Docs.</li>
<li>New Argument Index (<code>arg_idx</code>) field for all Argument Types, so you can tell exactly where an Argument was provided in relation to other Arguments regardless of spacing.</li>
<li>New <code>checkArgGroup()</code> method for Commands to check if an Argument from the specified Argument Group was used.</li>
<li>Argument Type Configs now have an <code>optimized()</code> 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.)</li>
</ul>
<h3>Doc Improvements</h3>
<ul>
<li>Updated the <a href="https://00jciv00.github.io/cova/" rel="nofollow">Docs</a> to use the new Zig Autodocs. They're also now created through CI using a GitHub Workflow.</li>
<li>Revamped the <a href="https://github.com/00JCIV00/cova/wiki">Guides</a> and moved them to a GitHub Wiki for the Cova repo.</li>
<li>Simplified the README to be leaner and cleaner. (Always looking for feedback on this)</li>
<li>Better <code>basic-app</code> and <code>covademo</code> examples.</li>
</ul>
<h3>Fixes & Optimizations</h3>
<ul>
<li>Revamped allocation model that closely resembles Zig's Managed Types.</li>
<li>Better Value parsing.</li>
<li>Improved Value Union default Types.</li>
<li>Several updates to stay in line with Zig changes (<code>no comptime var</code>, <code>b.path()</code>, etc)</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>Several fields from the Argument Types and Configs have been renamed for better consistency.</li>
<li>Meta Doc Gen has been completely reworked from the very limited version available in v0.9.0.</li>
</ul>00JCIV00tag:github.com,2008:Repository/635546664/v0.9.1-beta2024-09-21T19:34:25Zv0.9.1-beta<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/00JCIV00/cova/compare/v0.9.0-beta...v0.9.1-beta"><tt>v0.9.0-beta...v0.9.1-beta</tt></a></p>
<h1>v0.9.1</h1>
<ul>
<li>Revamped the Readme to be more concise and readable.</li>
<li>Updated for Zig Build API changes.</li>
</ul>00JCIV00tag:github.com,2008:Repository/635546664/v0.9.0-beta2024-09-21T19:33:05Zv0.9.0-beta<h2>What's Changed</h2>
<ul>
<li>v0.9.0-beta by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/00JCIV00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/00JCIV00">@00JCIV00</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2060827886" data-permission-text="Title is private" data-url="https://github.com/00JCIV00/cova/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/00JCIV00/cova/pull/48/hovercard" href="https://github.com/00JCIV00/cova/pull/48">#48</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/00JCIV00/cova/compare/v0.8.0-beta...v0.9.0-beta"><tt>v0.8.0-beta...v0.9.0-beta</tt></a></p>
<h2>v0.9.0</h2>
<h3>New Features</h3>
<ul>
<li>Implemented Argument Groups to help organize Arguments for Usage/Help messages and analysis.</li>
<li>Implemented Aliases for Commands & Options and Value Child Types.</li>
<li>Added more methods to make analyzing Arguments even easier.</li>
<li>Added customizable Callback Functions and new Formatting options for Usage/Help messages.</li>
<li>Implemented Mandatory Options with the new <code>mandatory</code> field.</li>
<li>Implemented Option Termination which is configurable under <code>cova.ParseConfig</code>.</li>
<li>Revamped the handling of Values with an Enum Child Type to make them seamless to work with.</li>
<li>Revamped Conversions for fields w/ default values.</li>
<li>Tested on additional platforms.</li>
<li>Updated Installation to use the new <code>zig fetch --save</code>.</li>
<li>Updated the <a href="https://00jciv00.github.io/cova/#A;cova" rel="nofollow">Docs</a> and <a href="https://00jciv00.github.io/cova/#G;" rel="nofollow">Guides</a> with more features and examples.</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>Changed the <code>get</code>, <code>check</code>, and <code>match</code> methods for analyzing Options & Values to use Argument Groups.</li>
<li>Added new <code>global_</code> and <code>child_type_</code> prefixes for certain fields.</li>
<li>Added Allocator parameter requirement for all Callback Functions.</li>
</ul>
<h3>Fixes & Optimizations</h3>
<ul>
<li>Fixed bug with Long Option parsing.</li>
<li>Fixed bug with Boolean Value parsing.</li>
<li>Fixed Alignment Issue on ARM devices.</li>
<li>Fixed bug with <code>Command.Custom.getVals()</code>.</li>
<li>Fixed bug with <code>Command.Custom.to()</code> parsing.</li>
<li>Fixed Zig removal of <code>meta.trait</code>.</li>
<li>Fixed Zig "local variable is never mutated" errors.</li>
<li>Removed several unnecessary, erroneous uses of <code>const</code> and <code>@constCast()</code>.</li>
<li>Optimized the default size of the <code>Value.Generic</code> Union and added customization options allowing for much smaller binaries.</li>
<li>Optimized parts of Argument Initialization/De-initialization.</li>
</ul>00JCIV00tag:github.com,2008:Repository/635546664/v0.8.0-beta2024-09-21T19:31:16Zv0.8.0-beta<h2>What's Changed</h2>
<ul>
<li>v0.8.0-beta by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/00JCIV00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/00JCIV00">@00JCIV00</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1905652557" data-permission-text="Title is private" data-url="https://github.com/00JCIV00/cova/issues/25" data-hovercard-type="pull_request" data-hovercard-url="/00JCIV00/cova/pull/25/hovercard" href="https://github.com/00JCIV00/cova/pull/25">#25</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/00JCIV00/cova/compare/v0.7.0-beta...v0.8.0-beta"><tt>v0.7.0-beta...v0.8.0-beta</tt></a></p>
<ul>
<li>Improved the Argument Analysis experience with the addition of the checkSubCmd() and matchSubCmd() methods in Command!</li>
<li>Implemented Command conversions from/to Unions and Functions in addition to Structs!</li>
<li>Revamped Values to be more in line with Commands and Options and also to allow for them to be based on arbitrary Types! (This is the one breaking change that will require older projects to be reworked a little.)</li>
<li>Added several new Parsing configurations for easier parse-error handling and POSIX compliance.</li>
<li>Implemented Tokenization of raw argument strings.</li>
<li>Revised the locations of several configurations to be more predictable.</li>
<li>Improved the README, <a href="https://00jciv00.github.io/cova/#A;cova" rel="nofollow">API Docs</a>, and <a href="https://00jciv00.github.io/cova/#G;" rel="nofollow">Guides</a> so they're easier to follow and navigate through.</li>
<li>Created a <a href="https://github.com/00JCIV00/cova/blob/main/examples/basic_app.zig">Basic App</a> as a well-documented example of Cova's features in action!</li>
</ul>00JCIV00tag:github.com,2008:Repository/635546664/v0.7.0-beta2023-07-09T21:05:47Zv0.7.0-beta<p>Version 0.7.0</p>
<p>Public Beta Release!</p>00JCIV00