Subscriptions Program v0.4.0
Second audited release of the Subscriptions program, tagged program-v0.4.0. Reviewed by Cantina in a second security review — no critical or high findings; all findings addressed and re-verified. SDKs published at 0.4.0: subscriptions (crates.io) and @solana/subscriptions (npm).
Highlights
- New instructions:
RevokeSubscriptionAuthority,RevokeAbandonedDelegation,RevokeAbandonedSubscription. - Token-2022 Transfer Hook support for fixed, recurring, and subscription transfers.
CreateRecurringDelegationacceptsstart_ts = 0(start on landing; requires non-zeroexpiry_ts).- All events registered in the IDL, plus a new
PlanUpdatedEvent. - Optional sponsor
payer/receivermodeled in the IDL and clients.
Breaking
- Event wire format: transfer events add
receiver_token_account;SubscriptionCreatedEventaddspayer;SubscriptionTransferEventaddspuller— update decoders. UpdatePlanrequiresevent_authority+self_programaccounts.resume_subscriptionrequires the subscriber'sSubscriptionAuthority(rejects stale/re-initialized).expiry_tsis a hard stop (120s spend-time drift grace removed).
Security
- All Cantina findings (medium or lower) remediated, including #163 account/state validation tightening.
Links
- Full changelog: CHANGELOG.md
- Audit status & verification: audits/AUDIT_STATUS.md
- Program ID:
De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44 - Release commit:
64dc085b888f10765519cad812eb770e02f229f5