<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_core/tests/test-all, branch try-new-badges</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>refactor!: replace build.rs with compile-time macro build steps</title>
<updated>2026-08-17T11:21:52+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-17T11:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=89bf57f33a9f0f5a96fc50e272c83d926fa35c4a'/>
<id>89bf57f33a9f0f5a96fc50e272c83d926fa35c4a</id>
<content type='text'>
BREAKING CHANGE: Replace the `build`/`builds` feature system with
compile-time macro-driven generation. `gen_program!()` now automatically
invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf`
features are enabled, eliminating the need for `build.rs` and
`[build-dependencies]` blocks.

This removes the `build` feature, the `mingling::build` module, and all
related build-time API functions. Completion scripts are now written to
`{target_directory}/mingling/` instead of `target/release/`. The
`mingling_cli` uses `build_comp!("mling")` for its custom binary name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGE: Replace the `build`/`builds` feature system with
compile-time macro-driven generation. `gen_program!()` now automatically
invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf`
features are enabled, eliminating the need for `build.rs` and
`[build-dependencies]` blocks.

This removes the `build` feature, the `mingling::build` module, and all
related build-time API functions. Completion scripts are now written to
`{target_directory}/mingling/` instead of `target/release/`. The
`mingling_cli` uses `build_comp!("mling")` for its custom binary name.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor!: remove legacy parser feature and migrate to picker</title>
<updated>2026-08-16T20:05:41+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-16T20:05:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=aa251efb87b561f62266628f06ad341253fbbdc5'/>
<id>aa251efb87b561f62266628f06ad341253fbbdc5</id>
<content type='text'>
The legacy `parser` feature and its module tree (`mingling::parser`,
`Argument`, `Picker`, `Pickable`, etc.) have been fully removed and
replaced by the `picker` feature powered by `arg-picker`.

BREAKING CHANGE: Remove `parser` feature and use `picker` instead.
Migration guide: Replace `features = ["parser"]` with
`features = ["picker"]` and update API usage per the provided table.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The legacy `parser` feature and its module tree (`mingling::parser`,
`Argument`, `Picker`, `Pickable`, etc.) have been fully removed and
replaced by the `picker` feature powered by `arg-picker`.

BREAKING CHANGE: Remove `parser` feature and use `picker` instead.
Migration guide: Replace `features = ["parser"]` with
`features = ["picker"]` and update API usage per the provided table.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor!: remove Node type and simplify dispatcher macro syntax</title>
<updated>2026-08-16T19:27:46+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-16T19:27:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=c23c590330af83afb6e146bcd9b0a274b3689d22'/>
<id>c23c590330af83afb6e146bcd9b0a274b3689d22</id>
<content type='text'>
The `dispatcher!` macro no longer requires a `CMD*` dispatcher type
argument; the dispatcher struct is now generated internally as
`__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and
`Dispatcher::node()` / `clone_dispatcher()` methods are removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `dispatcher!` macro no longer requires a `CMD*` dispatcher type
argument; the dispatcher struct is now generated internally as
`__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and
`Dispatcher::node()` / `clone_dispatcher()` methods are removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(release): bump version to 0.5.0</title>
<updated>2026-08-16T16:05:53+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-16T16:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=62d2f8637da3274fc22debb62b79f15e521d503e'/>
<id>62d2f8637da3274fc22debb62b79f15e521d503e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core): move config types to public config module</title>
<updated>2026-08-14T10:02:09+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-14T09:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=9c8fe13c2629a4318bd12815c07cef1371ba85a2'/>
<id>9c8fe13c2629a4318bd12815c07cef1371ba85a2</id>
<content type='text'>
Refactor program configuration types into a dedicated public `config`
module under `mingling_core`, making `StructuralRendererSetting`
accessible via `mingling_core::config` instead of the crate root.

Update all internal references and setup modules to use the new
`config::` path convention.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor program configuration types into a dedicated public `config`
module under `mingling_core`, making `StructuralRendererSetting`
accessible via `mingling_core::config` instead of the crate root.

Update all internal references and setup modules to use the new
`config::` path convention.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: update package versions to 0.4.0 in lock files</title>
<updated>2026-08-08T21:01:47+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-08T21:01:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=76e42ad0b79d012581629268879620261575d1a1'/>
<id>76e42ad0b79d012581629268879620261575d1a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor!: rename `extra_macros` feature to `extras`</title>
<updated>2026-08-01T14:42:41+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-01T14:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=0f9ca0745e3e80c751404f45cb2b97d4d14c97d3'/>
<id>0f9ca0745e3e80c751404f45cb2b97d4d14c97d3</id>
<content type='text'>
Update all references across docs, examples, and configuration files to
use the shorter `extras` feature name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update all references across docs, examples, and configuration files to
use the shorter `extras` feature name.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add `might_be_async` dependency and update lockfiles</title>
<updated>2026-07-23T16:15:40+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-23T16:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=e15f7d2d72f44009a9443a1660a8956d9330718d'/>
<id>e15f7d2d72f44009a9443a1660a8956d9330718d</id>
<content type='text'>
Introduce `might_be_async` as a workspace dependency, add it to
`mingling_core`, and regenerate all Cargo.lock files accordingly.
Multiple examples and test packages also pick up a newly transitive
`equivalent` crate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce `might_be_async` as a workspace dependency, add it to
`mingling_core`, and regenerate all Cargo.lock files accordingly.
Multiple examples and test packages also pick up a newly transitive
`equivalent` crate.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(docs): rename `builds` feature to `build` in examples</title>
<updated>2026-07-22T16:41:27+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-22T16:41:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=fc5cd8341e1dbe0c5c65a10813a9392cb1cd35b4'/>
<id>fc5cd8341e1dbe0c5c65a10813a9392cb1cd35b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core): add generic parameter `C` to `StructuralData` trait</title>
<updated>2026-07-20T21:49:00+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T21:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=700c049f64b66f424cda5da3021dfce4462655ca'/>
<id>700c049f64b66f424cda5da3021dfce4462655ca</id>
<content type='text'>
Make `StructuralData` and `StructuralDataSealed` generic over a program
collector type to bypass the orphan rule for `group_structural!`. This
enables external types to implement `StructuralData&lt;crate::ThisProgram&gt;`
without violating coherence.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make `StructuralData` and `StructuralDataSealed` generic over a program
collector type to bypass the orphan rule for `group_structural!`. This
enables external types to implement `StructuralData&lt;crate::ThisProgram&gt;`
without violating coherence.
</pre>
</div>
</content>
</entry>
</feed>
