Releases: bashandbone/submod
Releases · bashandbone/submod
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
Bug Fixes
Feat
- (testing) Add coverage macro attributes and streamline testing config for faster testing (#35)(
38da3a9)
Features
-
Add config schema, schema URL to toml(
f5f8156) -
Add schema; delete old CLAUDE.md for regeneration.(
daa193e) -
(testing) Add coverage macros across codebase where appropriate; Add/update nextest config to use test groups to prevent race conditions vice running all tests on a single thread serially.(
b6f09f2)
Fix
Miscellaneous
v0.2.1
- Added implementation and tests for shallow checkouts and the
no-initflag - Several small performance and testing improvements
v0.2.0
Changelog
v0.2.0 - 2025-06-23
Git2 Now Required
git2is now a required dependency.gix_submodule(gitoxide) lacks needed features for now, so we rely ongit2until it matures.- The implementation already depended on
git2; this formalizes that requirement. - We'll revisit
gitoxideas it adds features. - Minor version bump due to this core change and other big changes...
New Features
- Submodule CLI options for
submod addare now flattened for easier use (no more grouping undersettings). - Submodule creation now correctly applies options.
- Added
--shallowoption tosubmod addto create shallow submodules and--no-initoption to add the submodule to your submod.toml without initializing it. - Many new commands:
submod changeto update or change all options for a specific submodule.submod change-globalto update or change global defaults for all submodules in the repo.submod listto list all submodules with their current settings.submod deleteto remove a submodule from the repository and the submod.toml file, and all of its files.submod disableto set a submodule to inactive nondestructively, allowing it to be re-enabled later.submod generate-configto generate a submod.toml file from the current git submodule setup or a template.submod nuke-it-from-orbit. By default this is an extra hard reset, removing all submodules and files, deleting all references to them in git's configuration, resyncing with git, before adding them all back to the gitconfig from your submod.toml settings. You can optionally pass the--killflag to completely remove them without adding them back to the gitconfig, and deleting them from your submod.toml (this is the same assubmod deletebut for multiple submodules).submod completionsto generate shell completions for the submod CLI in bash, zsh, fish, elvish, nushell, and powershell.
- Improved the
helptext for all commands, making it more informative and user-friendly.
Backend Changes
- Added conversions between
git2submodule option types and our ownSubmoduleOptionstypes, enabling easier backend switching and serialization. - Removed nearly all use of
gitdirectly in the codebase, relying ongixandgit2for all git operations. - Much better use of
clapvalue parsing and validation.
v0.1.2 - 2025-06-22
- First Release: Initial release of the submodule management tool.
- Core Features:
- Basic submodule management using gitoxide.
- Support for TOML configuration files.
- Command-line interface with basic commands.
- Integration with git2 for fallback operations.
- Documentation:
- Initial documentation for core modules.
- Solid README with setup instructions.
- Testing:
- Good integration test coverage; all passing.
- Linting:
- Strict linting configuration with clippy.
- Hk/Mise integration for git hooks, tool management, task running
v0.1.2
Changelog
v0.1.2 - 2025-06-22
- First Release: Initial release of the submodule management tool.
- Core Features:
- Basic submodule management using gitoxide.
- Support for TOML configuration files.
- Command-line interface with basic commands.
- Integration with git2 for fallback operations.
- Documentation:
- Initial documentation for core modules.
- Solid README with setup instructions.
- Testing:
- Good integration test coverage; all passing.
- Linting:
- Strict linting configuration with clippy.
- Hk/Mise integration for git hooks, tool management, task running