Important additions/changes/removals will appear here.
Nothing.
- If you
touch
a mailing it'll check if it needs to#end_if_no_mailings
properly #36
Caffeinate.dripper_collection.clear_cache!
to resolve joshmn#39
- RSpec matchers #30
- Ability to use normal Ruby classes, not just ActionMailer, using
Caffeinate::ActionProxy
#24 - Periodical drip rework #26
- now support
every
,if
, andstart
option
- now support
- Ability to automatically call all drippers with
Caffeinate.perform!
#28
- A
Drip
now accepts anaction_class
option, in addition to the previous options #24 - Periodical drips are now defined with
periodical
#26 - Calling
subscribe!
will now onlyfind_or_create
for active subscriptions (usingend!
will cause a subsequent.subscribe
to yield a new/fresh subscription) #31 - If you destroy a
CampaignSubscription
it will no longer hit theon_complete
callbacks #34
- Calling
end!
in a callback won't end up in an infinite loop. #35
It didn't exist, sorry.
- Documentation about
rescue_from
in aDripper
-
Ability to add new mailings to a campaign using
CampaignSubscription#refuel!
- Someone had mentioned that:
[Caffeinate] appear to allow you to edit Campaigns for people currently subscribed (e.g. adding more emails to an onboarding campaign)
Now ya can! Just call
refuel!
on an instance of aCampaignSubscription
and it will only create new mailings.
- Ruby 3 bug
-
Support for rescuing from an error during delivery:
class MyDripper < Caffeinate::Dripper::Base rescue_from Postmark::SomeError do |exception| caffeinate_campaign_subscription.end! end end
- Unsubscribe/resubscribe links on views of the
CampaignSubscriptionsController
CampaignSubscription
now creates the relevant mailings usingafter_create
instead ofafter_commit
- The original logic was flawed: the
on_complete
callback for aDripper
would be invoked due to how aCampaignSubscription
is considered complete:mailings.unsent.count.zero?
.after_create
creates the mailings in the same transaction as theCampaignSubscription
, not outside of it.
- The original logic was flawed: the
- Duplicate
#resubscribe!
method onCampaignSubscription
- Change
delegate_missing_to
to normalrespond_to_missing?
andmethod_missing
Caffeinate::Mailing#send_at
column must isnot null
Caffeinate::Mailing.unsent
reflectsCaffeinate::Mailing
records whereCaffeinate::CampaignSubscription
is activeCaffeinate::Campaign
now has anactive
scope
- Improved documentation.
- Auto-subscribe functionality
- This wasn't used (and this gem isn't even released); it was from the original implementation and carried over because I thought it was a good idea. It wasn't.
- This changelog
- Add Rails migration version when installing Caffeinate
- Ability to bail on a mailing in a
before_drip
callback (3643dd)
- Drip doesn't get evaluated if
before_drip
returns false