# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.2.2](https://github.com/benpueschel/gritty/compare/2.2.1..2.2.2) - 2025-08-25
### โ๏ธ Miscellaneous Tasks
- *(release)* Hopefully fix release artifacts
## [2.2.1](https://github.com/benpueschel/gritty/compare/2.2.0..2.2.1) - 2025-08-25
### โ๏ธ Miscellaneous Tasks
- Add aarch64 targets
- Bump sccache version and remove from release
### Build
- *(deps)* Bump tokio from 1.43.0 to 1.43.1 ([#16](https://github.com/benpueschel/gritty/pull/16))
## [2.2.0](https://github.com/benpueschel/gritty/compare/2.1.2..2.2.0) - 2025-03-08
### ๐ Features
- Add path option when cloning repo
## [2.1.2](https://github.com/benpueschel/gritty/compare/2.1.1..2.1.2) - 2025-01-14
### ๐ Documentation
- Fix readme typo
### โ๏ธ Miscellaneous Tasks
- Cargo fmt
- Upgrade octocrab
- Update gitea-sdk
- Cargo update
## [2.1.1](https://github.com/benpueschel/gritty/compare/2.1.0..2.1.1) - 2024-09-08
### ๐ Refactor
- Move gritty-clap code into gritty::args
### โ๏ธ Miscellaneous Tasks
- *(release-plz)* Use github app
- Cargo update
## [2.1.0](https://github.com/benpueschel/gritty/compare/2.0.1..2.1.0) - 2024-09-05
### ๐ Features
- Add `gritty remote add` command
### ๐ Documentation
- Add `gritty remote add` command
### โ๏ธ Miscellaneous Tasks
- Use sccache for release-plz
- Manually trigger release artifacts
- *(release-plz)* Use private access token
- *(rust)* Only run if code changed
- *(release)* Remove manual trigger
### Build
- *(deps)* Bump quinn-proto from 0.11.6 to 0.11.8
- Update gritty-clap
## [2.0.1](https://github.com/benpueschel/gritty/compare/1.0.1..2.0.1) - 2024-09-03
### ๐ Documentation
- Update readme
## [unreleased](https://github.com/benpueschel/gritty/compare/v1.0.1..HEAD)
## [2.2.3](https://github.com/benpueschel/gritty/compare/2.2.2..2.2.3) - 2025-11-22
### ๐ Bug Fixes
- *(gitlab)* Invalid_token authentication error
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v1.0.1
- Use sccache
## [v1.0.1](https://github.com/benpueschel/gritty/compare/v1.0.0..v1.0.1) - 2024-08-15
### ๐ Bug Fixes
- Correct help for repo names in `gritty help`
### ๐ Documentation
- Add issue templates
- Include build status badges
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v1.0.0
- V1.0.1
## [v1.0.0](https://github.com/benpueschel/gritty/compare/v0.8.1..v1.0.0) - 2024-08-07
### ๐ฅ BREAKING CHANGES
- due to [018f00f](https://github.com/benpueschel/gritty/commit/018f00ffbb0ad47202cb7873e46045995b1b4738) - simplify secrets config:
Old configurations will break. Users will need to
change the `secrets` section of their configuration:
```toml
[secrets]
type = "Keyring"
```
Replaces the old `secrets = "Keyring" to use the system keyring to store
secrets.
```toml
[secrets]
type = "SecretsFile"
file = "path/to/file.toml"
```
Replaces the old way to store secrets in a separate plaintext secrets
file.
```toml
[secrets]
type = "Plaintext"
[secrets.your_remote]
token = "token"
[secrets.remote]
username = "user"
password = "password"
```
Replaces the old way to store secrets inline. Instead of the old
`[secrets.Plaintext.<provider>`, the config now directly uses
`[secrets.<provider>`, with a section to denote the type to use
(`secrets.type`).
- due to [41cc53f](https://github.com/benpueschel/gritty/commit/41cc53f3fbfcfd525591ee3f9526353686f67712) - use PathBuf for config path:
The System keyring now uses a canonical path to store
credentials. This may break credential storage. If you encounter the
error message `Could not find auth for remote <remote_name>`, you will
need to call `gritty auth <remote_name>` and supply a new token.
### ๐ Features
- Add script to pull breaking changes
- Nice panic handler
- Include issue url when panicking
- *(remote)* Return full repo upon creation
- Add format option to create/list commands
- Windows support?
- [**breaking**] Use PathBuf for config path
- Print version with -V
### ๐ Bug Fixes
- *(breaking.sh)* Typo in help overview
- Error when compiling without keyring feature
- Correct pre-color loading error handling
- Correct archive file name
- Add gitlab remote on `gritty create-config`
### ๐ Refactor
- *(config)* [**breaking**] Simplify secrets config
- Use BTreeMap for config
- Allow non-trailing commas in map macro
- Remove unused import
- Move cli arguments to separate crate
- Split subcommands into separate modules
### ๐ Documentation
- Better cli help
### ๐งช Testing
- *(config)* Add basic tests
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.8.1
- Fix gritty-clap version
- V1.0.0
### Build
- Add cargo package metadata
- Generate man-pages on build
## [v0.8.1](https://github.com/benpueschel/gritty/compare/v0.8.0..v0.8.1) - 2024-07-30
### ๐ Bug Fixes
- Load default colors on create-config command
### ๐ Documentation
- Add section for install script
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.8.0
- V0.8.1
### Build
- Add install script for linux/macos
- *(install.sh)* Allow custom version tags
## [v0.8.0](https://github.com/benpueschel/gritty/compare/v0.7.0..v0.8.0) - 2024-07-27
### ๐ Features
- Add option to git init current dir
- Dynamically configurable colors :)
- Automatically pull from remote upon creation
### ๐ Refactor
- *(log)* New color api (again)
### ๐ Documentation
- Add gitlab in create-config section
- Actually add gitlab support (once more)
- Add missing subcommands
- Add color config section
- Add example images
- Makefile all the way
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.7.0
- V0.8.0
## [v0.7.0](https://github.com/benpueschel/gritty/compare/v0.6.0..v0.7.0) - 2024-07-23
### ๐ Features
- *(delete)* Add option to force-delete repo
### ๐ Bug Fixes
- *(config)* Correct error formatting
- *(config)* Actually load the specified config oops
### ๐ Refactor
- *(config)* Remove default remotes
### ๐จ Styling
- Use colors when printing error messages
- *(remote)* Uppercase WARNING on comment
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.6.0
- Bump deprecated action versions
- Update dependencies
- V0.7.0
## [v0.6.0](https://github.com/benpueschel/gritty/compare/v0.5.0..v0.6.0) - 2024-07-22
### ๐ฅ BREAKING CHANGES
- due to [95b5d41](https://github.com/benpueschel/gritty/commit/95b5d41fc0a24b2fc6fd6cb33c2609e8f7a2f0b4) - toggle listing private repos:
Private repositories are not shown by default anymore.
To list public and private repos, run `gritty list <remote> -p`.
### ๐ Features
- [**breaking**] Toggle listing private repos
- Add option to show forks
### ๐ Bug Fixes
- Remove atty, use std method to detect tty
- Correctly filter out private repos on gitlab
### ๐ Refactor
- Use println macro and custom style to log
- *(log)* Add leftpad function
- Move subcommands into more atomic units
### ๐จ Styling
- *(log)* Remove quotes on repo/remote names
- *(log)* Forgot to remove all quotes oops
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.5.0
- V0.6.0
## [v0.5.0](https://github.com/benpueschel/gritty/compare/v0.4.0..v0.5.0) - 2024-07-20
### ๐ Features
- Add global --config (-C) option
- Add option to recursively clone repos
### ๐ Bug Fixes
- Properly respect NO_COLOR env variable
- Only colorize if stdout is a tty
### ๐ Refactor
- Move subcommands into dedicated structs
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.4.0
- Fix automatic releases
- V0.5.0
## [v0.4.0](https://github.com/benpueschel/gritty/compare/v0.3.0..v0.4.0) - 2024-07-18
### ๐ Features
- Add description option when creating repo
- Add gitlab remote
### ๐ Bug Fixes
- *(create-config)* Add missing open paren
### ๐ Refactor
- Use DateTime for commit date
### ๐ Documentation
- Remove chore tasks from changelog
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.3.0
- *(release)* Only include recent changes
- *(release)* Exclude some types from changelog
- Bump dependencies
- V0.4.0
## [v0.3.0](https://github.com/benpueschel/gritty/compare/v0.2.0..v0.3.0) - 2024-07-17
### ๐ Features
- Spawn concurrent list-repo tasks
- List configured remotes
### ๐ Refactor
- *(log)* Remove unused, empty macro
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.2.0
- V0.3.0
## [v0.2.0](https://github.com/benpueschel/gritty/compare/v0.1.1..v0.2.0) - 2024-07-08
### ๐ Features
- Interactive configuration
- Clone remote repo
- *(args)* Add colors to help menu
### ๐ Bug Fixes
- *(config)* Create secrets file if it doesn't exist
### ๐ Refactor
- *(commands)* Add get_input method
- *(args)* Move from structopt to clap
### ๐จ Styling
- *(remote)* Fix top-level docs
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.1.1
- Bump dependency versions
- V0.2.0
## [v0.1.1](https://github.com/benpueschel/gritty/compare/v0.1.0..v0.1.1) - 2024-07-07
### ๐ Refactor
- *(remote)* Move clone to top-level trait
- *(remote)* Add static COMMIT_COUNT
- *(github)* Code cleanup
- Unified error type
- *(main)* Cleanup main function
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.1.0
- Bump version to 0.1.1
### Build
- Add Makefile
## [v0.1.0](https://github.com/benpueschel/gritty/compare/v0.0.1..v0.1.0) - 2024-07-06
### ๐ฅ BREAKING CHANGES
- due to [bb39c74](https://github.com/benpueschel/gritty/commit/bb39c74e715930001b594b0f51281b4343047fac) - ask for confirmation on delete:
ask for confirmation on delete
- due to [d80983a](https://github.com/benpueschel/gritty/commit/d80983aff68d077300f2154e26d02602c2efeac4) - change config path:
Old configs located at ~/.config/gitrc-rs/ will need to
be relocated to ~/.config/gritty/
- due to [50b2fb4](https://github.com/benpueschel/gritty/commit/50b2fb4a02610a5789c36664db4b841327c69f2e) - add option to clone repo on creation:
Configs now need a "clone_protocol" option for each
remote.
### ๐ Features
- Cli remote authentication
- Use keyring secret by default
- [**breaking**] Ask for confirmation on delete
- List repositories
- Color highlighting
- Make keyring an optional feature
- [**breaking**] Change config path
- Add command to create default config
- [**breaking**] Add option to clone repo on creation
- Implement repo initialization
### ๐ Bug Fixes
- *(config)* Only save when using plaintext auth
- *(github)* Handle empty repo commit infos
- *(gitea)* Handle empty repo commit infos
- Don't print full error when deleting repo
- Don't print default config on auth
- Git clone ssh url
### ๐ Documentation
- Update README.md
### โ๏ธ Miscellaneous Tasks
- *(main)* Release v0.0.1
- Cache rust binaries
- *(release)* Change name to gritty :)
### Other
- Change name to gritty :)
## [v0.0.1](https://github.com/benpueschel/gritty/compare/v0.0.0..v0.0.1) - 2024-07-06
### ๐ฅ BREAKING CHANGES
- due to [419df8e](https://github.com/benpueschel/gritty/commit/419df8e666a03e9a669b38bda70d36b726eeb714) - simplify plaintext auth config:
Old configs are not valid anymore and will not work.
### ๐ Features
- Add git remote trait
- Add github remote
- Add gitea impl
- Basic toml config
- [**breaking**] Simplify plaintext auth config
- Add secrets file config option
- Add platform-specific keyring config option
- Add config option to store secrets
- Add option to save config
- Parse args for an actual working version!
### ๐ Bug Fixes
- Remove log.txt
- Repo commit fetching
- Correct repo clone url
- Set version to 0.0.1
### ๐ Refactor
- Move map_error to remote/mod.rs
### ๐ Documentation
- Add MIT license
### โ๏ธ Miscellaneous Tasks
- Add rust workflow
- Automatic release workflow
<!-- generated by git-cliff -->