Skip to content

v0.6.5 - Cancellation Notice Periods, Search & Autopay - #134

Merged
bscott merged 11 commits into
mainfrom
v0.6.5
Aug 22, 2026
Merged

v0.6.5 - Cancellation Notice Periods, Search & Autopay#134
bscott merged 11 commits into
mainfrom
v0.6.5

Conversation

@bscott

@bscott bscott commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Per-subscription cancellation notice period (cancellation_notice_days, 0–365, default 0): renewal reminders anchor to the derived cancel-by deadline across email/Pushover/Telegram/webhook, fall back to the renewal date once a deadline passes, and surface in the list, calendar, and iCal feed. Exposed via form, REST API, MCP, and CSV; localized in en/de/es/nl.
  • Subscription search and autopay tracking (already on this branch from earlier work).
  • Includes PR feat: armv7 build #133 (armv7 Docker builds) by @DustinOnGithub, merged with commits intact.
  • Code-reviewed with all confirmed findings fixed (reminder-blackhole fallback, dedup reset on notice change, universal clamp, stable webhook event name, iCal deadline events).

Test Plan

  • go build, go vet, go test ./... all green
  • Playwright e2e (Chromium): new cancellation-notice spec + CRUD, search-autopay, duplicate, and full i18n coverage pass; remaining failures are pre-existing fixture-dependent screenshot specs that require a specific dev database
  • Manual verification of list badge, edit form, calendar chips, and CSV export against a scratch server
  • CI green on this PR
  • Docker build for the merge commit succeeds before publishing the release

Closes #132
Closes #133

bscott and others added 11 commits August 4, 2026 21:35
Pin release tags to the verified main commit, add the stale branch cleanup skill, and synchronize release tracking.
Close the review task and track the two blockers found in the multicurrency pull request.
Filter the rendered subscription list without disrupting HTMX sorting.

Track nullable automatic-payment state across forms, persistence, exports, MCP, and localized UI.
- Add cancellation_notice_days field with migration, clamped to 0-365 on all write paths
- Anchor renewal reminders to the derived cancel-by date across email, Pushover, Telegram, and webhook via a shared text builder
- Fall back to renewal-date reminders once a deadline passes so no subscription goes silent
- Reset reminder dedup state when the notice period changes mid-cycle
- Show cancel-by deadlines in the subscription list, calendar, and iCal feed
- Expose the field via form, REST API, MCP tools, and CSV export
- Localize new UI strings (en/de/es/nl); add unit, handler, migration, and Playwright coverage
Adds linux/arm/v7 to the published image platforms, with a scoped
verification workflow and README note. Contributed by @DustinOnGithub.
Matches the Chromium build available in the local browser cache so the
e2e suite runs without re-downloading browsers.
@bscott
bscott merged commit a22f3b7 into main Aug 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: per-subscription cancellation notice period ("cancel by" date)

2 participants