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.3.0 - 2026-03-27
- Sieve script management: list, show, create, validate, activate, deactivate, and delete
- Draft composition with reply, reply-all, forward, and new message modes
- Unsubscribe command with List-Unsubscribe header parsing (#70)
--fromflag for draft command with JMAP identity resolution (#69)--subjectfilter for list and summary commands (#72)- To and CC fields in search and list text output (#73)
- Compact text output for action commands (#71)
- Filter flags (
--from,--to,--subject, etc.) for bulk action commands - Color flag support in flag/unflag commands
- Sender aggregation stats command
- Summary command for inbox triage
- List-Unsubscribe header in read output
- Configurable credential command, replacing static API token
- Terminal cell-width calculation for column alignment
- Review-email skill for guided inbox triage
- Migrate goreleaser config from brews to homebrew_casks (#62)
- Migrate CI workflows to reusable gh-actions workflows
- Add golangci-lint to CI pipeline
- Refactor ListEmails to use ListOptions struct
- Add gitleaks secret scanning workflow
- Parse List-Unsubscribe headers case-insensitively
- Reject multiple email IDs in single-email commands
- Handle nil checks in actionVerb for correct zero-success output
- Decouple destination check from verb string
- Preserve newest sender display name in stats
- Default ListEmails sort and limit when unset
- Reject positional arguments for summary command
- Populate Name field in SieveDeleteResult
- Stop global flags section parsing at next heading or rule
- Remove undeclared GITHUB_TOKEN from release workflow
- Configure scrut build command for CLI tests