Releases: cboone/fm
Releases · cboone/fm
v0.3.0
Immutable
release. Only release title and notes can be modified.
Changelog
- e4da7b1 Merge pull request #42 from cboone/feature/expose-list-unsubscribe-header-in-read-output
- f40760f Merge pull request #44 from cboone/feature/add-unit-tests-for-searchemails-query-options
- 8f0d5b2 Merge pull request #46 from cboone/feature/docs-align-help-output-and-cli-reference-for-tag
- 4d71ff3 Merge pull request #47 from cboone/feature/test-extend-cli-drift-prevention-tests-to-all
- 3c1edb2 Merge pull request #48 from cboone/feature/add-unit-tests-for-remaining-searchemails-filter-options
- 4021025 Merge pull request #49 from cboone/feature/support-color-flags-in-flag-unflag-commands
- 5577417 Merge pull request #50 from cboone/feature/sender-aggregation-stats-command
- e238918 Merge pull request #51 from cboone/feature/support-query-based-bulk-actions
- 5ba4095 Merge pull request #52 from cboone/feature/refactor-listemails-to-accept-options-struct
- d88c293 Merge pull request #53 from cboone/docs/scaffolding
- 608dbe0 Merge pull request #54 from cboone/feature/add-triage-summary-command-for-inbox-cleanup
- 36de79b Merge pull request #55 from cboone/feature/use-terminal-cell-width-for-column-alignment
- e3a8fd5 Merge pull request #56 from cboone/feature/add-draft-creation-command
- 2b7c6fa Merge pull request #57 from cboone/feature/add-skill-md
- d59a7fc Merge pull request #58 from cboone/docs/update-readme
- 11f69f9 Merge pull request #59 from cboone/feature/support-fastmail-sieve-filtering-rule-management
- 43974f4 Merge pull request #63 from cboone/chore/migrate-to-reusable-workflows
- fa0be12 Merge pull request #65 from cboone/fix/lint-errors
- 7526349 Merge pull request #66 from cboone/fix/release-workflow
- 4c357f7 Merge pull request #67 from cboone/chore/pin-gh-actions-v1
- ec196c9 Merge pull request #68 from cboone/chore/go-ci-v2
- 7293ebd Merge pull request #74 from cboone/feature/expose-to-address
- 0090806 Merge pull request #75 from cboone/feature/add-subject-filter
- 42df901 Merge pull request #76 from cboone/feature/allow-configuring-credential-store
- b8c9cf5 Merge pull request #78 from cboone/feature/add-from-flag
- b1856b8 Merge pull request #79 from cboone/feature/add-unsubscribe-command
- 4f7a963 Merge pull request #81 from cboone/refactor/resolve-email-ids
- 5b3a002 Merge pull request #82 from cboone/chore/migrate-goreleaser-config
- 4d630e3 Merge pull request #83 from cboone/feature/add-summary-output-format
- 04da643 Merge remote-tracking branch 'origin/main' into feature/add-draft-creation-command
- 7390fb8 Merge remote-tracking branch 'origin/main' into feature/add-skill-md
- 03a3564 Merge remote-tracking branch 'origin/main' into feature/support-color-flags-in-flag-unflag-commands
- c880f23 Merge remote-tracking branch 'origin/main' into feature/support-query-based-bulk-actions
- 6d8c1f0 Merge remote-tracking branch 'origin/main' into feature/support-query-based-bulk-actions
- 4ca3fc6 feat: add --from flag to draft command
- 72f0e23 feat: add --subject filter to list and summary commands (#72)
- 27509d3 feat: add CreateDraft client method with four composition modes
- e13f4cf feat: add DraftResult type and ValidateSetForDraft safety guard
- 2133d90 feat: add JMAP identity resolution to client
- 3ab4f5f feat: add JMAP sieve protocol types and methods
- d792909 feat: add List-Unsubscribe header parsing package (#70)
- 6e49eb8 feat: add draft command with text formatter
- 7b262b2 feat: add draft composition and summary command to review-email skill
- 5ac9d0d feat: add filter flags to action commands
- 4447e41 feat: add fm summary command for inbox triage
- 9c7ca66 feat: add review-email skill for guided inbox triage
- a386e57 feat: add sender aggregation stats command
- b0730c9 feat: add sieve CLI commands
- 6db4b3b feat: add sieve client methods and templates
- 4dfc2b1 feat: add sieve result types
- 1bf4fdb feat: add sieve text output formatters
- da39c46 feat: add unsubscribe command (#70)
- 56f3615 feat: compact text output for action commands (#71)
- f50308d feat: expose List-Unsubscribe header in read output
- c20b45e feat: expose To and CC in search and list text output (#73)
- de51efa feat: replace static token with configurable credential command
- 53b1169 feat: scaffold repository boilerplate
- 9ae4d00 feat: support color flags in flag/unflag commands
- 4044610 feat: use terminal cell-width calculation for column alignment
- ede6c52 fix: address Copilot PR review feedback
- 3dc8e11 fix: address Copilot PR review feedback (#79)
- 96aeb51 fix: address Copilot PR review feedback on review-email skill docs
- d75239b fix: address Copilot review feedback
- aee61b6 fix: address Copilot review feedback
- 03e9ef6 fix: allow optional stderr in text-format credential error tests
- ab7f89b fix: clarify credential command docs and review metadata
- 8660007 fix: configure scrut build command for CLI tests
- e7d4faa fix: decouple destination check from verb string, improve test coverage
- 3cdbe09 fix: default ListEmails sort and limit when unset
- adb20ae fix: disable golangci-lint to match original go vet behavior
- 5107c8c fix: discard fmt.Fprintf return values in sieve template
- a44c336 fix: document ignored SearchOptions fields and return error on unexpected response
- cc3a7a0 fix: ignore no-op and destination filter flags
- 06d7084 fix: make live list test robust for emails without To recipients
- 69d7a0d fix: make unflag --color a boolean mode
- fce08d7 fix: parse list-unsubscribe headers case-insensitively
- 382081d fix: populate Name field in SieveDeleteResult
- dc086f0 fix: preserve newest sender display name in stats
- 61832f7 fix: reject multiple email IDs in resolveFirstEmailID
- 560d7d8 fix: reject positional arguments for summary command
- 52f6717 fix: remove undeclared GITHUB_TOKEN from release workflow
- f8f3abe fix: rename loop variable to avoid shadowing email package
- ddda1a8 fix: rename shadowed variable in flag command
- 486a24a fix: resolve golangci-lint errors and enable linter
- 9242bc2 fix: stop global flags section at next heading or rule
- 6a8ded4 fix: use nil checks in actionVerb for correct zero-success output
- 326a9c8 refactor: add QueryFirstEmailID and resolveFirstEmailID for single-email commands (#80)
- 6b11445 refactor: extract buildSearchFilter and add QueryEmailIDs
- 5fd8e22 refactor: replace ListEmails positional params with ListOptions struct
- 183a973 release: v0.3.0
- ade939f style: fix gofmt alignment in color_test.go
v0.2.0
Immutable
release. Only release title and notes can be modified.
Changelog
- f654215 Add comprehensive tests: Go unit tests and Scrut CLI tests
- 56d8724 Add implementation plan for JMAP CLI tool
- 563101f Implement jm CLI tool
- fe5d315 Initial commit
- 820467b Merge branch 'main' into dependabot/go_modules/go_modules-fecdf79ba9
- 2d568fe Merge pull request #1 from cboone/claude/plan-jmap-cli-CaEmz
- e5ec80c Merge pull request #10 from cboone/feature/make-it-work
- cb7227b Merge pull request #12 from cboone/feature/experiment
- a025fc4 Merge pull request #13 from cboone/docs/update
- 8e6e2c7 Merge pull request #14 from cboone/feature/improve-text-formatting
- 29017e6 Merge pull request #17 from cboone/claude/add-message-flag-updating-ZTMjK
- d2dbfd7 Merge pull request #18 from cboone/feature/homebrew-tap
- f35065e Merge pull request #22 from cboone/feature/flagged-filtering
- bc30405 Merge pull request #23 from cboone/chore/ensure-tests-run
- 7800fce Merge pull request #31 from cboone/fix/bulk-operations-jmap-limits
- fab6b20 Merge pull request #32 from cboone/feature/dry-run-mode
- 1bf15f3 Merge pull request #37 from cboone/feature/rename-to-fm
- 0098b3b Merge pull request #39 from cboone/feature/build-add-release-automation-and-homebrew-tap
- df9acf4 Merge pull request #40 from cboone/feature/build-add-release-automation-and-homebrew-tap
- 4a15db7 Merge pull request #5 from cboone/dependabot/go_modules/go_modules-fecdf79ba9
- 57c523c Merge pull request #6 from cboone/dependabot/go_modules/google.golang.org/protobuf-1.33.0
- dd5df1d Merge pull request #7 from cboone/chore/add-makefile
- 24d40cf Merge pull request #9 from cboone/docs/update-docs
- 396e151 Merge remote-tracking branch 'origin/main' into feature/flagged-filtering
- b7c0d28 Rename to jm, resolve open questions in plan
- d7e25f3 Update Makefile
- 1f935cd build: add release automation and Homebrew tap publishing
- d68331f build: add test-ci target and use it in CI
- eaa66a1 build: add vet and fmt checks to CI test suite
- ed1df02 chore(deps): bump google.golang.org/protobuf from 1.28.0 to 1.33.0
- 8f8d690 chore(deps): bump the go_modules group across 1 directory with 2 updates
- 4ae30c8 feat: add --dry-run (-n) flag to all mutating commands
- e0daabd feat: add --flagged and --unflagged filters to list and search
- 91f59d8 feat: add flag and unflag commands for message flag updating
- 2649236 feat: fix text search, improve date parsing/errors, add mark-read
- d2f5191 feat: improve text column formatting for mailboxes and email lists
- 0a94ac1 feat: respect JMAP server MaxObjectsInSet for bulk operations
- ccd8af5 fix: add missing glob annotation to scrut date-validation test
- 853ac7a fix: add missing test subcommand to scrut invocation in CI
- f666835 fix: address Copilot PR review feedback
- fe79c69 fix: address Copilot PR review feedback
- fd2096b fix: address Copilot PR review feedback
- 1cc1b3b fix: address Copilot PR review feedback
- cb431f6 fix: address Copilot review feedback across codebase
- 594d3d6 fix: address Copilot review feedback for docs and error handling
- 58a718b fix: check json.Marshal errors in tests and move misplaced test
- 86ffe1e fix: clarify rune count semantics in text formatter comments and test name
- 0f20966 fix: clone request bodies for safe retries
- 02aa24f fix: drain response body before close and add exitError fallback
- 363e5a0 fix: exit non-zero on partial failures in move, archive, and spam commands
- db02659 fix: fetch both body value types and validate --format flag
- 2bdacf9 fix: fix text search, harden tests, and improve search UX
- 73d215e fix: improve search error context and mark-read live validation
- 7797f2f fix: report unaccounted email IDs from JMAP Email/set responses
- 42c32ba fix: sort map-derived slices for deterministic output
- e39ad62 fix: support HTTP-date in Retry-After and add CI workflow
- 0908127 fix: surface config parsing errors
- a72d9da fix: use Thread/get for accurate thread reads
- 86c706b fix: use bash instead of sh for scrut install in CI
- 5c201d1 fix: use context-aware wait in retry transport
- b2132b9 fix: use correct GoReleaser binary version (~> v2) in release workflow
- 119c1c2 fix: use kebab-case for mark-read dry-run operation string
- f344f8a fix: use rune widths for email text alignment
- 47f3fc7 fix: use sentinel error for not-found detection in read command
- ee1be0c fix: use server-aware batch size in GetEmailSummaries
- 0d9440f fix: validate --offset and --sort field in list command
- 48a8dab fix: validate list and search flags before auth
- 769a597 refactor: rename jm to fm across entire codebase