This website requires JavaScript.
Explore
Help
Sign In
starred
/
warmbly
Watch
1
Star
0
Fork
0
mirror of
https://github.com/warmbly/warmbly.git
synced
2026-09-06 16:01:28 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
Files
19f8dfbc20bee99194ea132f007b90e860b53bd0
warmbly
/
docs
/
content
/
docs
T
History
Matthew Meszaros
19f8dfbc20
feat: rebuild Billing > Overview as a real control panel with cancel and resume, live usage meters against server-enforced limits, a capability matrix, trial and past-due and pending-cancellation banners; price plan switches with a proration preview on the Plans tab; fix the cancel client that sent no body and always 400'd; stop the Payment tab claiming no card is on file
2026-09-04 04:48:59 -07:00
..
api
Merge remote-tracking branch 'origin/main' into fix/contact-timeline-opaque-cursor
2026-09-04 02:57:59 -07:00
development
Merge remote-tracking branch 'origin/main' into fix/click-without-open-tracking
2026-09-03 05:22:05 -07:00
guides
feat: rebuild Billing > Overview as a real control panel with cancel and resume, live usage meters against server-enforced limits, a capability matrix, trial and past-due and pending-cancellation banners; price plan switches with a proration preview on the Plans tab; fix the cancel client that sent no body and always 400'd; stop the Payment tab claiming no card is on file
2026-09-04 04:48:59 -07:00
learn
feat: give every campaign email a working opt-out: a reply-to-opt-out line by default or an unsubscribe link (workspace setting under Settings > Sending with a per-campaign override and a {{.UnsubscribeLink}} variable), signed per-recipient unsubscribe links served on the API origin so the List-Unsubscribe header no longer points at a dead warmbly.com page, a confirm page on GET with RFC 8058 one-click on POST and a resubscribe button, reply opt-out detection through the whole-word compliance lexicon with quoted history stripped, a first-class suppression list (Contacts tab, GET/POST/DELETE /suppressions with address and domain entries, audited removal, contact drawer action), the contact Subscribed flag enforced in campaign routing, migration 000122 with a shared recipient_suppressed() predicate, and docs for all of it
2026-09-03 01:52:40 -07:00
meta.json
Publish development docs to docs.warmbly.com
2026-06-28 13:25:08 +02:00