Files
cull-gmail/CHANGELOG.md
2025-10-08 16:40:05 +00:00

7.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[0.0.5] - 2025-10-08

Summary: Added[28], Build[1], Changed[6], Chore[15], Documentation[5], Fixed[10]

Added

  • feat(cli): implement trace logging for configuration
  • feat(rules_cli): implement rm_cli subcommand
  • feat(rules_cli): add remove command to rules cli
  • feat(rules_cli): implement rule removal
  • feat(lib): introduce Result type alias for error handling
  • feat(error): add custom error types for rule selection
  • feat(config): enhance rule management and label handling
  • feat(rules_cli): add option to immediately delete rules
  • feat(config): add delete flag for retention rules
  • feat(rules_cli): add optional label for retention rules
  • feat(config): add labels method to EolRule
  • feat(config): add support for labels to retention rules
  • feat(config): add retention attribute to EolRule
  • feat(config): enhance rule management with BTreeMap
  • feat(rules_cli): implement add command
  • feat(retention): add message age enum creation
  • feat(rules): add subcommand for rule management
  • feat(config): add result type to list_rules function
  • feat(config): implement display for eolrule struct
  • feat(config): add function to list rules
  • feat(config): add EolRule struct for managing end-of-life rules
  • feat(eol_cmd): introduce EolCmd enum for message disposal
  • feat(retention): introduce message age enum
  • feat(lib): add config and retention modules
  • feat(build): add toml dependency
  • feat(cli): load configuration for message command
  • feat(retention): implement data retention policy
  • feat(config): implement configuration file management

Fixed

  • 🐛 fix(rm_cli): rule removal save
  • 🐛 fix(error): improve error message for missing labels
  • 🐛 fix(config): improve rule removal and logging
  • 🐛 fix(error): refine error message for rule selector
  • 🐛 fix(eol_rule): correct rule description in to_string method
  • 🐛 fix(rules): fix config_cli.run to return a Result
  • 🐛 fix(config): correct pluralization of time periods in EolRule display
  • 🐛 fix(message_age): correct retention label formatting
  • 🐛 fix(ui): correct grammar errors in eol command and trash messages
  • 🐛 fix(error): refine error handling with granular variants

Changed

  • ♻️ refactor(config): use string keys for rules in config
  • ♻️ refactor(config): enhance EolRule for label management
  • ♻️ refactor(config): rename EolCmd to EolAction for clarity
  • ♻️ refactor(core): rename EolCmd to EolAction
  • ♻️ refactor(cli): restructure cli commands and config handling
  • ♻️ refactor(cli): rename config_cli to rules_cli

0.0.4 - 2025-10-07

Summary: Added[9], Changed[7], Chore[8]

Added

  • feat(message_list): create message summary struct
  • feat(utils): implement string elision trait
  • feat(message_list): improve message handling and logging
  • feat(trash): implement trash functionality
  • feat(trash): add trash cli
  • feat(cli): add trash command
  • feat(message_list): enhance message list functionality and debugging
  • feat(lib): add trash module for moving messages to trash
  • feat(message_list): add message_ids to MessageList struct

Changed

  • ♻️ refactor(trash): improve trash operation logging
  • ♻️ refactor(message): rename Message to MessageList
  • ♻️ refactor(core): rename message module to message_list
  • ♻️ refactor(message): rename message to message_list
  • ♻️ refactor(labels): remove unused code
  • ♻️ refactor(labels): improve label listing and mapping
  • ♻️ refactor(message): improve subject logging with early returns

0.0.3 - 2025-10-04

Summary: Added[7], Changed[6], Chore[5], Fixed[1]

Added

  • feat(message): implement message listing functionality
  • feat(cli): add label listing subcommand
  • feat(labels): add show option to display labels
  • feat(cli): add label command-line interface
  • feat(cli): add query option to list command
  • feat(list): add query support to list messages - allow users to filter messages using a query string - implement set_query method to set the query - add query parameter to the Gmail API call
  • feat(list): add label filtering to list command

Fixed

  • 🐛 fix(list): fix label creation logic

Changed

  • ♻️ refactor(cli): rename list subcommand to message
  • ♻️ refactor(cli): rename list_cli to message_cli
  • 🔥 refactor(core): remove list module
  • ♻️ refactor(core): rename list module to message
  • ♻️ refactor(labels): simplify labels struct initialization
  • ♻️ refactor(labels): simplify and optimize label retrieval - rename function name add_label to add_labels - add the function of adding multiple labels at once - optimize code for streamlined operation

0.0.2 - 2025-10-03

Summary: Added[26], Build[6], Changed[6], Chore[17], Continuous Integration[1], Documentation[1], Fixed[3], Security[1]

Added

  • feat(list): add label filtering to list command
  • feat(list): add label filtering capability
  • feat(core): add Labels struct
  • feat(labels): create labels module to manage Gmail labels
  • feat(list): add pagination to list command
  • feat(list): add pagination support for listing messages
  • feat(error): add error type for invalid paging mode
  • feat(list): add max results option to list command
  • feat(list): export DEFAULT_MAX_RESULTS constant
  • feat(error): enhance error handling for configuration issues
  • feat(core): add utils module
  • feat(utils): create assure_config_dir_exists function
  • feat(gmail): implement list functionality for Gmail API
  • feat(lib): add error module and export it
  • feat(error): introduce custom error enum for cull-gmail
  • feat(list): implement list api to retrieve gmail messages
  • feat(list): integrate List struct for message listing
  • feat(list): export List struct in lib.rs
  • feat(cli): add list subcommand
  • feat(core): add client and credential modules
  • feat(list): add list module - creates a new list module
  • feat(credential): implement credential loading and conversion
  • feat(gmail): add gmail client
  • feat(cli): implement list subcommand
  • feat(cli): add command line interface with logging
  • feat(main): add initial main function with hello world

Fixed

  • 🐛 fix(main): exit process with error code on failure
  • 🐛 fix(list): remove debug print statement
  • 🐛 fix(credential): fix the config directory

Changed

  • ♻️ refactor(list): improve max results handling
  • ♻️ refactor(gmail): remove unused client file
  • ♻️ refactor(lib): restructure module exports and visibility
  • ♻️ refactor(list): improve error handling and config loading
  • ♻️ refactor(list): refactor list command to accept credential file
  • ♻️ refactor(main): improve error handling and logging

Security

  • 🔧 chore(deps): remove unused dependencies

0.0.1 - 2025-09-30

Summary: Added[4], Build[3], Chore[21], Continuous Integration[4], Documentation[7]

Added

  • feat(lib): add addition function with test
  • feat(assets): add new logo and splash screen
  • feat(vscode): add custom dictionary entry for ltex
  • feat(project): add initial Cargo.toml for cull-gmail tool