chore: Release cull-gmail v0.0.7

This commit is contained in:
Jerus Bot
2025-10-12 07:19:53 +00:00
parent a3ef97aef2
commit c76cd42c1d
6 changed files with 78 additions and 23 deletions

View File

@@ -5,35 +5,89 @@ 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). 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).
## [0.0.6] - 2025-10-09 ## [0.0.7] - 2025-10-12
Summary: Added[23], Changed[26], Chore[11], Fixed[7] Summary: Added[23], Build[1], Changed[8], Chore[4], Documentation[3], Fixed[10]
### Added ### Added
- ✨ feat(processor): introduce processor builder
- ✨ feat(cli): add execute option to processor
- ✨ feat(processor): add execute flag for dry run
- ✨ feat(cli): add execute flag to run action
- ✨ feat(message_list): increase default max results
- ✨ feat(core): introduce message processor module
- ✨ feat(cli): add chrono crate as a dependency
- ✨ feat(config): add eol query function
- ✨ feat(processor): implement message deletion functionality
- ✨ feat(cli): implement trash and delete actions
- ✨ feat(processor): add trash and delete message functionality
- ✨ feat(processor): add label existence check before processing
- ✨ feat(config): add retention period to eol rule
- ✨ feat(config): add date calculation for EOL queries
- ✨ feat(cli): add option to skip trash actions
- ✨ feat(cli): add skip-delete flag to cli
- ✨ feat(cli): add skip action flags to cli
- ✨ feat(cli): add run command to execute rules
- ✨ feat(cli): add run cli command
- ✨ feat(cli): implement rule execution logic
- ✨ feat(eol_action): add parse method to EolAction
- ✨ feat(eol_rule): add describe function for eol rule
- ✨ feat(processor): implement rule processor
### Fixed
- 🐛 fix(utils): correct string elision boundary calculation
- 🐛 fix(utils): correct string elision boundary calculation
- 🐛 fix(error): add specific error for missing label in mailbox - add `LableNotFoundInMailbox` error to handle cases where a label is not found in the mailbox
- 🐛 fix(error): add error type for no query string calculated
- 🐛 fix(processor): handle None query in eol_query
- 🐛 fix(cli): correct count type in add_cli
- 🐛 fix(message_age): correct data type for message age count
- 🐛 fix(processor): execute delete messages
- 🐛 fix(processor): correct typo in error message
- 🐛 fix(error): correct spelling error in error message
### Changed
- ♻️ refactor(utils): remove unused `get_start_boundary` function
- ♻️ refactor(config): make EolRule public
- ♻️ refactor(trash): separate trash preparation and execution
- ♻️ refactor(trash): refactor trash command
- ♻️ refactor(eol_rule): simplify eol_rule tests
- ♻️ refactor(config): extract common logic to reduce duplication
- ♻️ refactor(cli): extract action execution to separate function
- ♻️ refactor(cli): inject config into run command
## [0.0.6] - 2025-10-09
Summary: Added[23], Changed[26], Chore[12], Fixed[7]
### Added
- ✨ feat(cli): add delete subcommand
- ✨ feat(cli): add delete subcommand
- ✨ feat(gh-release): add delete module - ✨ feat(gh-release): add delete module
- ✨ feat(delete): implement batch delete functionality - ✨ feat(delete): implement batch delete functionality
- ✨ feat(cli): add delete subcommand - ✨ feat(message_list): add label support
- ✨ feat(cli): add delete subcommand - ✨ feat(message): add label support to message listing
- ✨ feat(rules_cli): implement add command for managing retention rules - ✨ feat(rules_cli): implement add command for managing retention rules
- ✨ feat(cli): add remove label subcommand - ✨ feat(cli): add remove label subcommand
- ✨ feat(cli): add list labels subcommand - ✨ feat(cli): add list labels subcommand
- ✨ feat(label): implement add label command - ✨ feat(label): implement add label command
- ✨ feat(message_list): add label support
- ✨ feat(message): add label support to message listing
- ✨ feat(config): add functionality to set action on rule - ✨ feat(config): add functionality to set action on rule
- ✨ feat(config_cli): implement action subcommand
- ✨ feat(cli): add action subcommand - ✨ feat(cli): add action subcommand
- ✨ feat(config_cli): implement action subcommand
- ✨ feat(config): add remove label from rule - ✨ feat(config): add remove label from rule
- ✨ feat(config): add label functionality to rules - ✨ feat(config): add label functionality to rules
- ✨ feat(error): add RuleNotFound error - ✨ feat(error): add RuleNotFound error
- ✨ feat(config): add get_rule function to retrieve existing rules - ✨ feat(config): add get_rule function to retrieve existing rules
- ✨ feat(cli): implement commands dispatching - ✨ feat(cli): implement commands dispatching
- ✨ feat(label_cli): implement remove label subcommand
- ✨ feat(label_cli): implement label listing subcommand - ✨ feat(label_cli): implement label listing subcommand
- ✨ feat(label): implement add label subcommand
- ✨ feat(cli): implement label subcommand - ✨ feat(cli): implement label subcommand
- ✨ feat(config): add cli config - introduce cli config with clap - add subcommand rules and label - ✨ feat(config): add cli config - introduce cli config with clap - add subcommand rules and label
- ✨ feat(label): implement add label subcommand
- ✨ feat(label_cli): implement remove label subcommand
### Fixed ### Fixed
@@ -41,26 +95,26 @@ Summary: Added[23], Changed[26], Chore[11], Fixed[7]
- 🐛 fix(eol_rule): correct grammar in rule descriptions - 🐛 fix(eol_rule): correct grammar in rule descriptions
- 🐛 fix(config): correct grammar in EolRule display - 🐛 fix(config): correct grammar in EolRule display
- 🐛 fix(remove_cli): handle rule not found when removing label - 🐛 fix(remove_cli): handle rule not found when removing label
- 🐛 fix(cli): correct output format for label list
- 🐛 fix(label_cli): fix add label logic - 🐛 fix(label_cli): fix add label logic
- 🐛 fix(cli): correct output format for label list
- 🐛 fix(label_cli): display labels by rule id - 🐛 fix(label_cli): display labels by rule id
### Changed ### Changed
- ♻️ refactor(trash): encapsulate message list operations - ♻️ refactor(trash): encapsulate message list operations
- ♻️ refactor(cli): improve delete command structure - ♻️ refactor(cli): improve delete command structure
- ♻️ refactor(delete): rename struct and methods for deleting messages
- ♻️ refactor(trash): encapsulate message list - ♻️ refactor(trash): encapsulate message list
- ♻️ refactor(cli): move rm_cli to new directory - ♻️ refactor(delete): rename struct and methods for deleting messages
- ♻️ refactor(trash): streamline label handling in trash listing - ♻️ refactor(trash): streamline label handling in trash listing
- ♻️ refactor(utils): improve config directory handling - ♻️ refactor(utils): improve config directory handling
- ♻️ refactor(cli): move rules_cli to config_cli
- ♻️ refactor(labels): simplify error handling in labels module - ♻️ refactor(labels): simplify error handling in labels module
- ♻️ refactor(trash): simplify error handling and label management
- ♻️ refactor(cli): move rm_cli to new directory
- ♻️ refactor(cli): move rules_cli to config_cli
- ♻️ refactor(cli): rename label_cli module - ♻️ refactor(cli): rename label_cli module
- ♻️ refactor(cli): rename action_cli module - ♻️ refactor(cli): rename action_cli module
- ♻️ refactor(cli): rename trash_cli to cli - ♻️ refactor(cli): rename trash_cli to cli
- ♻️ refactor(cli): rename message_cli to cli - ♻️ refactor(cli): rename message_cli to cli
- ♻️ refactor(trash): simplify error handling and label management
- ♻️ refactor(cli): move label_cli to cli directory - ♻️ refactor(cli): move label_cli to cli directory
- ♻️ refactor(cli): move config_cli to cli directory - ♻️ refactor(cli): move config_cli to cli directory
- ♻️ refactor(cli): move main.rs to cli folder - move main.rs to cli folder for better structure - ♻️ refactor(cli): move main.rs to cli folder - move main.rs to cli folder for better structure
@@ -69,10 +123,10 @@ Summary: Added[23], Changed[26], Chore[11], Fixed[7]
- ♻️ refactor(core): rename eol_cmd module to eol_action - ♻️ refactor(core): rename eol_cmd module to eol_action
- ♻️ refactor(core): rename eol_cmd to eol_action - clarifies the file's purpose as defining actions related to EOL handling rather than just commands - ♻️ refactor(core): rename eol_cmd to eol_action - clarifies the file's purpose as defining actions related to EOL handling rather than just commands
- ♻️ refactor(config): make EolRule fields public - ♻️ refactor(config): make EolRule fields public
- ♻️ refactor(cli): consolidate rules and labels under config subcommand - ♻️ refactor(cli): restructure rules CLI
- ♻️ refactor(cli): rename add_cli to rules_cli - ♻️ refactor(cli): rename add_cli to rules_cli
- ♻️ refactor(cli): rename rm_cli to rules_cli - ♻️ refactor(cli): rename rm_cli to rules_cli
- ♻️ refactor(cli): restructure rules CLI - ♻️ refactor(cli): consolidate rules and labels under config subcommand
## [0.0.5] - 2025-10-08 ## [0.0.5] - 2025-10-08
@@ -247,7 +301,8 @@ Summary: Added[4], Build[3], Chore[21], Continuous Integration[4], Documentation
- ✨ feat(vscode): add custom dictionary entry for ltex - ✨ feat(vscode): add custom dictionary entry for ltex
- ✨ feat(project): add initial Cargo.toml for cull-gmail tool - ✨ feat(project): add initial Cargo.toml for cull-gmail tool
[Unreleased]: https://github.com/jerus-org/cull-gmail/compare/v0.0.5...HEAD [Unreleased]: https://github.com/jerus-org/cull-gmail/compare/v0.0.6...HEAD
[0.0.6]: https://github.com/jerus-org/cull-gmail/compare/v0.0.5...v0.0.6
[0.0.5]: https://github.com/jerus-org/cull-gmail/compare/v0.0.4...v0.0.5 [0.0.5]: https://github.com/jerus-org/cull-gmail/compare/v0.0.4...v0.0.5
[0.0.4]: https://github.com/jerus-org/cull-gmail/compare/v0.0.3...v0.0.4 [0.0.4]: https://github.com/jerus-org/cull-gmail/compare/v0.0.3...v0.0.4
[0.0.3]: https://github.com/jerus-org/cull-gmail/compare/v0.0.2...v0.0.3 [0.0.3]: https://github.com/jerus-org/cull-gmail/compare/v0.0.2...v0.0.3

2
Cargo.lock generated
View File

@@ -258,7 +258,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]] [[package]]
name = "cull-gmail" name = "cull-gmail"
version = "0.0.6" version = "0.0.7"
dependencies = [ dependencies = [
"chrono", "chrono",
"clap", "clap",

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "cull-gmail" name = "cull-gmail"
description = "Cull emails from a gmail account using the gmail API" description = "Cull emails from a gmail account using the gmail API"
version = "0.0.6" version = "0.0.7"
authors = ["Jeremiah Russell <jrussell@jerus.ie>"] authors = ["Jeremiah Russell <jrussell@jerus.ie>"]
edition = "2024" edition = "2024"
rust-version = "1.87" rust-version = "1.87"

View File

@@ -5,7 +5,7 @@ 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/) 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). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [0.0.7] - 2025-10-12
### Added ### Added
@@ -178,7 +178,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[#60]: https://github.com/jerus-org/cull-gmail/pull/60 [#60]: https://github.com/jerus-org/cull-gmail/pull/60
[#61]: https://github.com/jerus-org/cull-gmail/pull/61 [#61]: https://github.com/jerus-org/cull-gmail/pull/61
[#62]: https://github.com/jerus-org/cull-gmail/pull/62 [#62]: https://github.com/jerus-org/cull-gmail/pull/62
[Unreleased]: https://github.com/jerus-org/cull-gmail/compare/v0.0.6...HEAD [0.0.7]: https://github.com/jerus-org/cull-gmail/compare/v0.0.6...v0.0.7
[0.0.6]: https://github.com/jerus-org/cull-gmail/compare/v0.0.5...v0.0.6 [0.0.6]: https://github.com/jerus-org/cull-gmail/compare/v0.0.5...v0.0.6
[0.0.5]: https://github.com/jerus-org/cull-gmail/compare/v0.0.4...v0.0.5 [0.0.5]: https://github.com/jerus-org/cull-gmail/compare/v0.0.4...v0.0.5
[0.0.4]: https://github.com/jerus-org/cull-gmail/compare/v0.0.3...v0.0.4 [0.0.4]: https://github.com/jerus-org/cull-gmail/compare/v0.0.3...v0.0.4

View File

@@ -55,7 +55,7 @@ Or by configuring the dependencies manually in `Cargo.toml`:
```toml ```toml
[dependencies] [dependencies]
cull-gmail = "0.0.6" cull-gmail = "0.0.7"
``` ```
## cull-gmail CLI ## cull-gmail CLI

View File

@@ -18,6 +18,6 @@ Or by configuring the dependencies manually in `Cargo.toml`:
```toml ```toml
[dependencies] [dependencies]
cull-gmail = "0.0.6" cull-gmail = "0.0.7"
``` ```