Changelog6 New2 Improved5 Fixed
Team plan with per-seat billing and collaborative workflows ships alongside mailing list email delivery, a credit metering system, and major MCP agent capabilities — making it easier than ever for teams to automate and distribute their release communications.
Teams can now collaborate under a shared subscription with per-seat Stripe billing, pooled generation credits (50k/seat), and email invitations — any team member can invite colleagues, and content review notifications fan out to the whole team. Project limits have been updated across all plans: Free (1 project), Solo (3 projects), and Team (unlimited).
You can now build project mailing lists and send release notes directly to your subscribers, either manually from the content tab or automatically when a scheduled release notes email publishes. Recipients can unsubscribe via a one-click link included in every email, and re-adding an opted-out address will never resubscribe them.
MCP-connected agents can now manage the complete content lifecycle — polling generation status, retrieving and editing drafts, approving content, sending release emails, and publishing — in addition to the existing generation and read capabilities. Ready-to-install agent skills (announce-release, write-blog-post, email-your-users, and more) are available from the new Agents page in your dashboard.
Generation credits are now actively metered and enforced: each content type consumes credits (long-form 100, social 25, weekly/ideas 50), and scheduled generations are skipped when your monthly allowance is exhausted. A credit meter in the sidebar and a detailed usage bar on the billing tab let you track usage and reset date at a glance, with contextual upgrade nudges as you approach your limit.
Developers can now sync mailing list recipients programmatically via the new v1 API endpoints (GET /email/lists and POST /email/lists/{id}/recipients), authenticated with an API token scoped to your project. The API preserves all existing validation, deduplication, and unsubscribe semantics.
You can now sign in to your account using GitHub OAuth in addition to email and Google, with automatic account linking based on your verified GitHub email. The option appears on all auth pages and works seamlessly alongside existing login methods.
Instead of a generic error when no repos are tracked, the content generation UI now clearly distinguishes between a missing GitHub connection, no tracked repositories, and a genuine absence of commits — and offers a direct link to the Sources page to fix it. The schedule dialog's repo picker also shows an inline setup prompt when nothing is connected.
The recipient list on the email destinations page now includes search and filtering by active or unsubscribed status, making it easier to manage large subscriber lists.
The Team plan was effectively unpurchasable due to a database constraint rejecting the plan type, a missing subscription replacement step, and a payment error page that sent everyone back to a Solo checkout. All of these issues are resolved, and the account Plan tab now shows clear upgrade buttons for users without a discoverable upgrade path.
Subscribers on pricing plans predating the current price IDs had their plan resolved as unknown, causing renewals to be skipped and cancellations to incorrectly strip access. Plan resolution now falls back to the Stripe product, so any pricing vintage on the same plan resolves correctly.
Idea descriptions in content ideas emails would render as broken text in Gmail due to unsupported HTML elements, and type icons appeared as empty tiles because Gmail strips inline SVGs. Descriptions are now truncated with a link to the full idea, and icons use text monograms that display reliably across all email clients.
Generated changelogs and other structured content types occasionally rendered as raw JSON when the output was wrapped in a markdown code fence. The fence is now stripped at save time and on the frontend, so previews always display correctly regardless of how the content was originally saved.
Unverified users attempting to log in were shown a generic 'Invalid email or password' message instead of being prompted to verify their email. Users who had already verified their account saw a generic error on the resend page instead of being directed to log in. Both error messages now display correctly.
Generated by Shipstar from 56 commits