ChangelogPilot Changelog

2026-08-09

Published

New Features

  • Voice DNA now supports edtech industry presets, allowing you to configure the voice to expand education-specific acronyms (LMS, SIS, SCORM, LTI) for mixed audiences of teachers, administrators, and students.
  • Voice DNA now supports agtech industry presets, allowing you to configure the voice to expand precision agriculture acronyms (GPS, IoT, yield-related terms) in plain language for agricultural technology contexts.
  • Voice DNA now supports telecom industry presets, allowing you to configure the voice to retain standard carrier and network terminology (5G, VoIP, SIP, QoS, SLA) while expanding less-common telecom acronyms.

Improvements

  • The Changelog voice settings page is now discoverable from the Repository settings form, making it easier to configure the tone and style used when generating changelog drafts.

Bug Fixes

  • The billing settings page now shows a pending-cancellation state when a subscription is scheduled to cancel at the end of the current billing period, so customers receive clear acknowledgement that their subscription is winding down.
  • The ChangelogPilot brand logo in the sticky header on custom domains now correctly links to changelogpilot.com instead of the custom domain's root, preserving the acquisition loop back to the platform.

2026-08-07

Published

New Features

  • Hosted changelog pages (Pro) now support full custom branding with your own palette — choose background, text, and accent colours that match your brand identity.
  • Display your logo in the changelog header by providing a hosted logo URL.
  • Pro accounts can now hide the 'Powered by ChangelogPilot' footer badge from public changelog pages.
  • Visitors to hosted changelogs can now subscribe by email to receive notifications when new entries are published. Subscriptions use double opt-in confirmation to ensure valid email addresses.
  • Subscribers can unsubscribe from email notifications at any time, and the system automatically manages bounced emails.
  • Drafters can now select from a set of predefined voice presets to customize the tone and style of generated changelog entries, including options for persona, format, verbosity, emphasis, and industry-specific terminology.
  • Voice presets are available in multiple locales, allowing generated changelog entries to be tailored to regional preferences and language conventions.

2026-08-06

Published

New Features

  • Free tier accounts are now limited to backfill data from the last 30 days and a maximum of 10 entries per backfill, while paid Pro accounts can access unlimited historical backfill.
  • Pro plan users can now serve their changelog at a custom domain (e.g. changelog.acme.com) by adding the domain in repo settings, publishing a DNS ownership challenge, and configuring a CNAME.
  • When downgrading from Pro, custom domain service continues for 14 days to allow time for migration before traffic is redirected to the platform page.
  • Public changelog pages are now paginated with 20 entries per page, making it easier to browse through large changelog histories without loading hundreds of entries at once.

Improvements

  • Backfill depth limits are now enforced at generation and import time based on the current subscription plan, preventing jobs created on a higher tier from exceeding limits after a plan downgrade.
  • Navigation links (Older/Newer) and pagination controls on public changelog pages now correctly manage page URLs and canonical link relationships.

Bug Fixes

  • Stripe webhooks are now safely reprocessed after a crash or internal error, preventing events from being permanently lost when the service fails between acknowledging receipt and completing the transaction.
  • Session expiry checks now respect injected test clocks, fixing flaky tests that passed at authoring time but failed once real time crossed the hardcoded expiry timestamp.
  • Manual entry form now defaults the display date to your local date instead of UTC, so the pre-filled date matches your actual current date regardless of timezone.

2026-08-05

Published

New Features

  • Users can now upgrade or downgrade their subscription plan through Stripe Checkout and manage their subscription details via the Stripe customer portal.

2026-08-04

Published

New Features

  • Public hosted changelog pages now display a subtle "Powered by ChangelogPilot" footer badge that links back to the landing page, enabling measurable acquisition from hosted changelogs.
  • Hosted changelogs now publish Atom and RSS 2.0 feeds, available free on all plans at /atom.xml and /rss.xml endpoints, listing published entries in reverse chronological order with full rendered content.
  • Feed readers can now auto-discover changelog feeds through standard <link rel="alternate"> tags in the hosted page <head>.

Improvements

  • The demo section on the landing page now displays a clearer, more concise caption ("From a production changelog.") styled as secondary text, making the section's purpose immediately obvious.
  • Destructive action forms (such as "Disconnect GitHub" and "Log out everywhere") now have consistent top spacing across settings pages.
  • Changelogs with no published entries now return a valid empty feed instead of an error, allowing feed subscriptions to work correctly from day one.

Bug Fixes

  • Calendar operations across wholly-skipped days (such as Pacific/Apia's 2011-12-30 International Date Line crossing) now produce gap-free windows, preventing digest operations from inadvertently reaching back into previously-covered days.
  • CSRF protection is now enabled for GitHub account disconnection and global logout actions, preventing cross-site request forgery attacks on these sensitive operations.

2026-08-03

Published

Improvements

  • Account settings page now has consistent spacing between the description and the "Log out everywhere" form.
  • Removed placeholder text from the account details card that promised future account preferences but was not yet implemented.

Bug Fixes

  • Repository slug assignment is now protected against concurrent rename collisions, ensuring that simultaneous operations cannot cause silent reconciliation stalls.
  • Fixed calculation of local day start in timezones where the spring-forward DST transition occurs exactly at midnight, ensuring the correct local day is never crossed on these rare transition dates.

2026-08-02

Published

New Features

  • Public changelog pages now support six predefined colour themes (Daylight, Solstice, Hearth, Midnight, Aurora, and Fjord), selectable per repository to match your preferred visual style.

Improvements

  • Colour themes are applied server-side with no flash of unstyled content or JavaScript dependency, ensuring the correct theme appears immediately when the page loads.

Bug Fixes

  • Daily digest webhook now correctly includes only the PR that triggered it in the initial draft, preventing earlier PRs from the same day from being included in the changeset.
  • Fixed a bug where the daily digest auto-publish feature could include pull requests from the previous day in the generated changelog entry, causing content to diverge from the actual changes being recorded.

2026-07-29

Published

New Features

  • Users can now sign out all active sessions from the Account settings, invalidating all login tokens across devices simultaneously.
  • The public changelog page now displays entries in a timeline layout with a sticky index on the left for navigation and a vertical timeline on the right.
  • Changelog entries are now highlighted and visible in the index as you scroll, using scroll-spy behavior that works without JavaScript.

Bug Fixes

  • Backfill authorization now enforces role freshness checks and role-level permissions, preventing access for users whose GitHub write permissions have lapsed even if a cached member row exists.

2026-07-28

Published

Improvements

  • The public changelog page now displays as a timeline layout with a sticky index on the left side and a vertical timeline on the right, making it easier to navigate and visualise release history.
  • The changelog timeline index collapses to a compact horizontal strip on mobile devices, adapting the layout to smaller screens.

2026-07-27

Published

Improvements

  • Publish confirmation panels now correctly announce their purpose and content to assistive technologies, with proper ARIA labelling and a single, well-defined alertdialog role.
  • Focus is now properly managed in publish confirmation dialogs: focus moves to the confirm button when the dialog opens, and returns to the trigger element when you dismiss or cancel.
  • Publish confirmation panels that appear outside the viewport are now automatically scrolled into view when they open.
  • Publish confirmation dialogs now display the changeset identifier in their description text, making it easier to confirm you are publishing the correct changeset.

2026-07-26

Published

New Features

  • The homepage now displays a sticky navigation bar with the logomark, positioned at the top of the page for quick access back to the home page.
  • The logomark now appears in the logged-in navigation, providing consistent branding throughout the product.
  • The ChangelogPilot brand lockup (logomark and two-colour wordmark) now appears on the homepage navigation, making the brand identity consistent across all public pages.
  • A branded navigation bar is now displayed on the public changelog page, providing consistent navigation and branding across all public-facing surfaces.

Improvements

  • The landing page now features a cleaner, centered hero design that highlights the product more prominently.
  • The demo section on the landing page now shows only the most recent published changeset, making it easier to see the latest updates at a glance.
  • The navigation wordmark now displays in a distinctive two-colour treatment with "changelog" in navy and "pilot" in teal, styled in the Poppins font for a more polished brand appearance.
  • Font loading is now optimized with a self-contained embedded subset of Poppins (only the characters needed for the wordmark), eliminating external font requests and reducing overhead to ~1.5 KB.
  • Sensitive HTTP headers (cookie, set-cookie, proxy-authorization, and x-api-key) are now redacted in logs alongside authorization and x-github-token headers, protecting additional secrets from exposure.

2026-07-25

Published

New Features

  • Settings pages now use a unified two-column layout with a vertical section navigation sidebar, matching the GitHub settings interface and making it easier to navigate between different settings sections.
  • Pending draft changesets now appear as prominent cards at the top of the repository dashboard, making drafts the first thing you see when viewing a repo you intend to publish from.
  • Changeset provenance (PR numbers, tags, and commit SHAs) now render as links to GitHub, making it quick to jump to the source of each change.
  • Webhooks that are lost due to cold-start delays are now automatically recovered on startup, ensuring merge events are reliably captured even when machines are scaled to zero.

Improvements

  • The webhook status pane displays a banner when the last 5 deliveries are all hard errors or signature-rejection skips, making it immediately clear when there's a sustained webhook delivery failure.
  • Publish and Archive actions for changesets now use an inline confirmation panel instead of browser dialogs, providing a more integrated user experience.
  • Webhook status messaging now differentiates between signature mismatches and generic delivery failures, showing 'Webhook secret mismatch' only when an invalid signature error is detected in the failure streak.
  • Webhook secret re-registration is now available in the failure-streak banner without additional gates.
  • Settings navigation automatically collapses to a horizontal link row on smaller screens, ensuring the settings interface works smoothly across mobile and desktop devices.
  • The dashboard now displays published changesets as rich cards showing summary, publication date, update date (when edited after publishing), and provenance details, replacing the bare timestamp list.
  • Archive quick actions are now available directly from published changeset cards in the dashboard.
  • The dashboard 'Published entries' section now shows the 10 most recent published changesets with a link to view the complete list.
  • The changeset detail page now uses the same provenance rendering logic as the changesets index and dashboard, eliminating the risk of the two drifting out of sync.

Bug Fixes

  • Webhook registration is now idempotent and automatically cleans up duplicate webhooks pointing to our endpoint, preventing merge events from being silently dropped due to stale hooks failing HMAC verification.
  • Webhook registration now gracefully handles cases where the tracked webhook has been deleted on GitHub, creating a fresh webhook instead of failing with a 404.
  • The webhook status pane now correctly identifies invalid-signature rejections as errors instead of benign skips, so you'll see an accurate status even when recent deliveries have been failing due to a mismatched signature.
  • Date, Map, and Set values nested inside headers are now preserved correctly instead of flattening to empty objects, maintaining data fidelity in logs.
  • Repository slug conflicts during webhook-delivered renames are now resolved automatically, preventing reconciliation from silently stalling when multiple repositories are renamed simultaneously.
  • Webhook deliveries with invalid signatures no longer prevent valid copies of the same delivery from being processed, fixing silent data loss in webhook handling.
  • Publish operations that occur in the same millisecond no longer fail with an unhandled 500 error; the system now automatically retries with an incremented timestamp until the slug succeeds.
  • Email approval links no longer become unusable when multiple publishes occur simultaneously in the same millisecond.
  • Webhook provenance tracking for merged PRs is now atomic, preventing pull request numbers from being silently lost when multiple PRs are processed concurrently.
  • Navigation now correctly activates the Settings link only when the current path exactly matches the Settings route or is a direct child of it, preventing unintended activation from paths like /settings-account.
  • The Settings navigation path has been corrected to point to /settings instead of the outdated /settings/repos.
  • Long provenance lists in changeset cards now wrap correctly instead of overflowing the card bounds.
  • Concurrent webhook deliveries can no longer bypass injection-hold security controls by rewriting digest content state during injection-hold reversals.
  • Archived changelog entries now remain archived when a release or tag is retagged or regenerated, preventing accidental re-publication of user-suppressed entries.

2026-06-15

Published

New Features

  • The draft engine now abstracts the LLM provider behind a common interface, enabling support for alternative LLM providers in the future without requiring changes to core drafting logic.
  • Draft engine now supports an abstraction layer for LLM clients, starting with an Anthropic adapter that enables easier testing and future support for additional LLM providers.
  • Public changelog pages can now display a custom name instead of the repository owner/repo path, making it easier to brand or rename your changelog without changing the URL.
  • You can now write and publish free-form changelog entries directly, setting the display date yourself without needing AI assistance.
  • The "Suppress" action on changesets is now labeled "Archive" throughout the user interface, with updated confirmation dialog copy that clarifies the effect on your public changelog.

Bug Fixes

  • Re-publishing an edited changelog entry now preserves its original date instead of updating it to today, so entries remain in their original chronological position rather than jumping to the top of the changelog.
  • Published manual changelog entries now preserve the date you set when creating them, ensuring consistent ordering in the public changelog.
  • Publishing a draft changeset now updates it in place instead of creating a duplicate published row, eliminating duplicate entries in the public changelog.

2026-06-14

Published

New Features

  • The public changelog page heading and title can now display a custom name for your repository instead of the real owner/repo location, while keeping the URL and route structure unchanged.

Improvements

  • Changeset edit boxes now respect consistent horizontal width constraints across all pages.
  • Changeset UI now uses the correct design tokens for text colors, improving visual consistency with the design system.
  • Changeset card styling is now consistently applied across index, detail, and settings pages.

Bug Fixes

  • Daily digest changesets that are held from auto-publishing now trigger notification emails to owners, so teams are alerted when digest posts are held pending approval.
  • Re-publishing an edited changelog entry now preserves its original date instead of moving it to today, keeping the entry in its correct chronological position.

2026-06-14

Published

New Features

  • Digest updates now always reflect the exact set of pull requests recorded in your history, eliminating race conditions where a newly-merged PR could appear in generated content before being fully indexed.
  • Webhook deliveries that become stuck in the reclaiming state are now automatically recovered on startup, returning them to pending status so they can be processed again.
  • The backfill API now rejects concurrent runs by returning HTTP 409 when a backfill job is already running for the repository, preventing accidental duplicate operations.
  • Repositories now support backfilling their full changelog history on initial connect, with options to choose a backfill cadence (per PR, daily digest, or per tag) that matches your workflow.
  • Backfill jobs estimate costs upfront and require confirmation before running if the cost exceeds $0.50, helping you stay aware of processing expenses.
  • Large histories are processed in batches and show real-time progress, making it easy to track backfill status without waiting for the entire operation to complete.
  • Backfill jobs can be cancelled mid-run and retain all partial results, so you can stop early if needed without losing progress.
  • Backfilled changesets start as drafts, giving you a chance to review and refine them before publishing to your changelog.
  • Settings UI now displays a clear, labelled digest cadence option, letting you choose between receiving an entry for each event or accumulating them daily.
  • Digest cadence explanations are now shown based on your trigger type and chosen cadence, so you understand exactly how events will be grouped.
  • Timezone can be configured for daily digest cadence, ensuring events are grouped according to your local time zone rather than UTC.
  • Auto-triggered changelog drafts now respect label-based filters (label_skip, label_include) and bot-ignore settings across all trigger paths, ensuring consistent filtering whether drafts are created from merged PRs, daily digests, or release events.
  • Changelog range exports now include only PRs that match your configured filters, so the list of contributing PRs accurately reflects the filters you've applied.
  • Daily digest entries are now automatically finalised when a tag is pushed or release is published, ensuring your digest captures only the changes before the tag or release was created.
  • Multiple pull request merges within the same calendar day now accumulate into a single changeset draft instead of creating separate drafts, streamlining the changelog generation process for daily digest windows.
  • Webhook tag-pushed events now automatically generate changelog entries, capturing all merged commits since the previous matching tag and filtering pre-release versions when configured.
  • Webhook deliveries with a pending-handler status can now be re-delivered manually on GitHub, instead of being permanently blocked by the idempotency check.
  • The settings page now lets you configure how changelog triggers fire—choose the trigger type, set branch and tag patterns, enable or disable pre-releases, and control whether changesets auto-publish or stay in draft.
  • You can now set a debounce window for triggers, preventing rapid-fire changelog updates when multiple changes land in quick succession.
  • Daily digest mode is now configurable in settings, letting you collect changelog updates and publish them on a schedule in your preferred timezone.
  • Trigger settings now include options to filter by labels and ignore bot-authored changes, giving you finer control over which commits and pull requests appear in your changelog.
  • Webhook subscriptions now automatically match your configured triggers—enable a tag-push trigger and the webhook subscribes to push events, enable a release trigger and it subscribes to release events.
  • Webhook subscriptions update automatically when you change your trigger configuration, ensuring GitHub always receives notifications for the events you need.
  • Manual-only triggers no longer require a webhook subscription—if all your triggers are manual, the webhook is automatically deregistered to reduce unnecessary notifications.
  • Webhook triggers now support per-trigger draft mode configuration, allowing you to choose whether incoming events create draft changesets or publish immediately on a per-trigger basis.
  • Trigger behavior is now driven by a centralized configuration model instead of hardcoded logic, making it easier to manage and customize webhook behavior for different repositories and branches.
  • The public changelog now displays the complete history of all published changesets, ordered by release date with the most recent first.
  • Changelog sections can be linked directly using fragment identifiers when a release tag is set, enabling shareable anchors to specific releases.
  • Edit changesets at any point in their lifecycle—published changesets move back to draft when edited, allowing you to make corrections and re-publish.
  • Suppress changesets from the public page without deleting them, optionally recording a reason for the suppression.
  • Restore suppressed changesets back to draft state, making them editable and publishable again.
  • View all changesets—draft, published, and suppressed—in one dashboard, each with state badges and relevant action buttons.
  • Inline editing is now available directly in the changesets dashboard via expandable edit forms for draft and published entries.
  • Manual changelog generation now creates draft changesets that can be approved individually, replacing the previous draft table approach.
  • Draft changesets are automatically updated as the generation completes or fails, with status reflected in real time.
  • Changelog drafts can now be approved with a single click, and you are redirected to the repository view with confirmation of publication.
  • Draft changelogs are now created independently for each pull request merge, preventing overwritten drafts and making it easier to manage multiple concurrent changes.
  • Approve drafts with a single click from the notification email, thanks to new one-click publish links that work on individual changelogs.
  • Publish individual draft changelogs independently from your dashboard without affecting other pending drafts.
  • Dashboard now displays all draft changelogs for your repository in one place, with each draft showing its full context and status.
  • The repository dropdown on onboarding and settings pages now excludes repositories you have already connected, making it easier to find and add new repositories.
  • Draft notification emails now use sentence case in the Approve & publish button label, matching the in-app UI style.

Improvements

  • Error messages are now clearer and more specific, telling you exactly what happened and what to do next instead of generic prompts to refresh or try again.
  • GitHub connection messages now use plain language — 'We've lost the connection to your GitHub account' instead of technical jargon — making it easier to understand and fix the issue.

Bug Fixes

  • Tag-pushed and release-published triggers no longer display an outdated beta notice, as both handlers are now fully live.
  • Users who click old approval links from draft notification emails now see a helpful explanation instead of a browser error.
  • Release predecessor selection now correctly handles semver tags with double-digit version numbers (e.g., v1.10.0 is now correctly identified as coming after v1.9.0 instead of before it).
  • Tags are now sorted by commit date when determining release predecessors, ensuring the correct previous release is identified regardless of the tag naming scheme.
  • Markdown tables in long-form content now scroll horizontally on mobile devices instead of breaking the page layout.
  • Info banners and loading spinners on the admin and user dashboards now display in brand teal instead of blue, matching the design specification.

2026-06-13

Published

New Features

  • Local git hooks now enforce code quality checks before commit and push, running lint and format validation on pre-commit and type checking plus the full test suite on pre-push.
  • Authenticated pages now share a consistent navbar and layout shell, including "My repos", "Settings", and "Sign out" navigation options.

Improvements

  • Running bun install now automatically sets up local git hooks, eliminating manual setup steps for developers.
  • The changeset dashboard now displays a proper authenticated layout with the shared navbar.

Bug Fixes

  • The Publish button on the changeset dashboard now uses the correct amber button style instead of teal.

2026-06-12

Published

New Features

  • Digest updates now always reflect the exact set of pull requests recorded in your history, eliminating race conditions where a newly-merged PR could appear in generated content before being fully indexed.
  • Webhook deliveries that become stuck in the reclaiming state are now automatically recovered on startup, returning them to pending status so they can be processed again.
  • The backfill API now rejects concurrent runs, preventing accidental duplicate operations.
  • Repositories now support backfilling their full changelog history on initial connect, with options to choose a backfill cadence (per PR, daily digest, or per tag) that matches your workflow.
  • Large histories are processed in batches and show real-time progress, making it easy to track backfill status without waiting for the entire operation to complete.
  • Backfill jobs can be cancelled mid-run and retain all partial results, so you can stop early if needed without losing progress.
  • Backfilled changesets start as drafts, giving you a chance to review and refine them before publishing to your changelog.
  • Settings UI now displays a clear, labelled digest cadence option, letting you choose between receiving an entry for each event or accumulating them daily.
  • Digest cadence explanations are now shown based on your trigger type and chosen cadence, so you understand exactly how events will be grouped.
  • Timezone can be configured for daily digest cadence, ensuring events are grouped according to your local time zone rather than UTC.
  • Auto-triggered changelog drafts now respect label-based filters (label_skip, label_include) and bot-ignore settings across all trigger paths, ensuring consistent filtering whether drafts are created from merged PRs, daily digests, or release events.
  • Changelog range exports now include only PRs that match your configured filters, so the list of contributing PRs accurately reflects the filters you've applied.
  • Daily digest entries are now automatically finalised when a tag is pushed or release is published, ensuring your digest captures only the changes before the tag or release was created.
  • Multiple pull request merges within the same calendar day now accumulate into a single changeset draft instead of creating separate drafts, streamlining the changelog generation process for daily digest windows.
  • Webhook tag-pushed events now automatically generate changelog entries, capturing all merged commits since the previous matching tag and filtering pre-release versions when configured.
  • Webhook deliveries with a pending-handler status can now be re-delivered manually on GitHub, instead of being permanently blocked by the idempotency check.
  • The settings page now lets you configure how changelog triggers fire—choose the trigger type, set branch and tag patterns, enable or disable pre-releases, and control whether changesets auto-publish or stay in draft.
  • You can now set a debounce window for triggers, preventing rapid-fire changelog updates when multiple changes land in quick succession.
  • Daily digest mode is now configurable in settings, letting you collect changelog updates and publish them on a schedule in your preferred timezone.
  • Trigger settings now include options to filter by labels and ignore bot-authored changes, giving you finer control over which commits and pull requests appear in your changelog.
  • Webhook subscriptions now automatically match your configured triggers—enable a tag-push trigger and the webhook subscribes to push events, enable a release trigger and it subscribes to release events.
  • Webhook subscriptions update automatically when you change your trigger configuration, ensuring GitHub always receives notifications for the events you need.
  • Manual-only triggers no longer require a webhook subscription—if all your triggers are manual, the webhook is automatically deregistered to reduce unnecessary notifications.
  • Webhook triggers now support per-trigger draft mode configuration, allowing you to choose whether incoming events create draft changesets or publish immediately on a per-trigger basis.
  • Trigger behavior is now driven by a centralized configuration model instead of hardcoded logic, making it easier to manage and customize webhook behavior for different repositories and branches.
  • The public changelog now displays the complete history of all published changesets, ordered by release date with the most recent first.
  • Changelog sections can be linked directly using fragment identifiers when a release tag is set, enabling shareable anchors to specific releases.
  • Edit changesets at any point in their lifecycle—published changesets move back to draft when edited, allowing you to make corrections and re-publish.
  • Suppress changesets from the public page without deleting them, optionally recording a reason for the suppression.
  • Restore suppressed changesets back to draft state, making them editable and publishable again.
  • View all changesets—draft, published, and suppressed—in one dashboard, each with state badges and relevant action buttons.
  • Inline editing is now available directly in the changesets dashboard via expandable edit forms for draft and published entries.
  • Manual changelog generation now creates draft changesets that can be approved individually, replacing the previous draft table approach.
  • Draft changesets are automatically updated as the generation completes or fails, with status reflected in real time.
  • Changelog drafts can now be approved with a single click, and you are redirected to the repository view with confirmation of publication.
  • Draft changelogs are now created independently for each pull request merge, preventing overwritten drafts and making it easier to manage multiple concurrent changes.
  • Approve drafts with a single click from the notification email, thanks to new one-click publish links that work on individual changelogs.
  • Publish individual draft changelogs independently from your dashboard without affecting other pending drafts.
  • Dashboard now displays all draft changelogs for your repository in one place, with each draft showing its full context and status.
  • The repository dropdown on onboarding and settings pages now excludes repositories you have already connected, making it easier to find and add new repositories.
  • Draft notification emails now use sentence case in the Approve & publish button label, matching the in-app UI style.

Improvements

  • Error messages are now clearer and more specific, telling you exactly what happened and what to do next instead of generic prompts to refresh or try again.
  • GitHub connection messages now use plain language — 'We've lost the connection to your GitHub account' instead of technical jargon — making it easier to understand and fix the issue.

Bug Fixes

  • Tag-pushed and release-published triggers no longer display an outdated beta notice, as both handlers are now fully live.
  • Users who click old approval links from draft notification emails now see a helpful explanation instead of a browser error.
  • Release predecessor selection now correctly handles semver tags with double-digit version numbers (e.g., v1.10.0 is now correctly identified as coming after v1.9.0 instead of before it).
  • Tags are now sorted by commit date when determining release predecessors, ensuring the correct previous release is identified regardless of the tag naming scheme.
  • Markdown tables in long-form content now scroll horizontally on mobile devices instead of breaking the page layout.
  • Info banners and loading spinners on the admin and user dashboards now display in brand teal instead of blue, matching the design specification.

2026-06-12

Published

New Features

  • The landing page now displays new, benefit-focused copy with the headline "Ship a changelog without writing one." — emphasizing what users can accomplish without technical jargon.
  • Call-to-action button labels throughout the site have changed from "Get early access" to "Join the beta" to better reflect the current stage of the product.
  • The changelog generation system is now more robust and secure, and should eliminate the risk of unparseable responses from the language model being inserted into the changelog.
  • The changelog entry prompt now explicitly enforces bullet-point format, ensuring generated entries are concise, benefit-focused statements rather than prose paragraphs.

Improvements

  • The landing page now follows a standard marketing design system, with improved typography scale, spacing, and visual hierarchy.
  • Repository and connection forms in settings now use consistent card styling throughout the settings pages, improving visual hierarchy and alignment with the product design system.
  • Login and onboarding pages now follow a consistent, modern design pattern with clearer visual hierarchy and improved focus on primary actions.
  • The login and onboarding forms are now visually contained in a card layout, making the interface clearer and easier to navigate.
  • Error messages are now clearer and more helpful, replacing generic prompts with specific explanations of what went wrong and what to do next.
  • GitHub account connection errors now use plain language to explain the issue instead of technical terminology, making it easier to understand what action is needed.
  • The public changelog page now uses refined typography and spacing, with improved readability for long-form content and a cleaner visual hierarchy.
  • The landing page hero now uses a clean, modern system font stack and centered layout with a teal call-to-action button, bringing the marketing surface into line with brand guidelines.

Bug Fixes

  • Signup errors from the email service now display a friendly message on the landing page instead of a raw error response, making it clear what went wrong without exposing technical details.
  • When signup fails, your email is pre-filled in the form so you can quickly try again without retyping it.
  • LLM responses that include markdown code fences or trailing text after the JSON no longer cause parsing errors.

2026-06-06

Published

New Features

  • Digest updates now always reflect the exact set of pull requests recorded in your history, eliminating race conditions where a newly-merged PR could appear in generated content before being fully indexed.
  • Webhook deliveries that become stuck in the reclaiming state are now automatically recovered on startup, returning them to pending status so they can be processed again.
  • The backfill API now rejects concurrent runs by returning HTTP 409 when a backfill job is already running for the repository, preventing accidental duplicate operations.
  • Repositories now support backfilling their full changelog history on initial connect, with options to choose a backfill cadence (per PR, daily digest, or per tag) that matches your workflow.
  • Large histories are processed in batches and show real-time progress, making it easy to track backfill status without waiting for the entire operation to complete.
  • Backfill jobs can be cancelled mid-run and retain all partial results, so you can stop early if needed without losing progress.
  • Backfilled changesets start as drafts, giving you a chance to review and refine them before publishing to your changelog.
  • Settings UI now displays a clear, labelled digest cadence option, letting you choose between receiving an entry for each event or accumulating them daily.
  • Digest cadence explanations are now shown based on your trigger type and chosen cadence, so you understand exactly how events will be grouped.
  • Timezone can be configured for daily digest cadence, ensuring events are grouped according to your local time zone rather than UTC.
  • Auto-triggered changelog drafts now respect label-based filters (label_skip, label_include) and bot-ignore settings across all trigger paths, ensuring consistent filtering whether drafts are created from merged PRs, daily digests, or release events.
  • Changelog range exports now include only PRs that match your configured filters, so the list of contributing PRs accurately reflects the filters you've applied.
  • Daily digest entries are now automatically finalised when a tag is pushed or release is published, ensuring your digest captures only the changes before the tag or release was created.
  • Multiple pull request merges within the same calendar day now accumulate into a single changeset draft instead of creating separate drafts, streamlining the changelog generation process for daily digest windows.
  • Webhook tag-pushed events now automatically generate changelog entries, capturing all merged commits since the previous matching tag and filtering pre-release versions when configured.
  • Webhook deliveries with a pending-handler status can now be re-delivered manually on GitHub, instead of being permanently blocked by the idempotency check.
  • The settings page now lets you configure how changelog triggers fire—choose the trigger type, set branch and tag patterns, enable or disable pre-releases, and control whether changesets auto-publish or stay in draft.
  • You can now set a debounce window for triggers, preventing rapid-fire changelog updates when multiple changes land in quick succession.
  • Daily digest mode is now configurable in settings, letting you collect changelog updates and publish them on a schedule in your preferred timezone.
  • Trigger settings now include options to filter by labels and ignore bot-authored changes, giving you finer control over which commits and pull requests appear in your changelog.
  • Webhook subscriptions now automatically match your configured triggers—enable a tag-push trigger and the webhook subscribes to push events, enable a release trigger and it subscribes to release events.
  • Webhook subscriptions update automatically when you change your trigger configuration, ensuring GitHub always receives notifications for the events you need.
  • Manual-only triggers no longer require a webhook subscription—if all your triggers are manual, the webhook is automatically deregistered to reduce unnecessary notifications.
  • Webhook triggers now support per-trigger draft mode configuration, allowing you to choose whether incoming events create draft changesets or publish immediately on a per-trigger basis.
  • Trigger behavior is now driven by a centralized configuration model instead of hardcoded logic, making it easier to manage and customize webhook behavior for different repositories and branches.
  • The public changelog now displays the complete history of all published changesets, ordered by release date with the most recent first.
  • Changelog sections can be linked directly using fragment identifiers when a release tag is set, enabling shareable anchors to specific releases.
  • Edit changesets at any point in their lifecycle—published changesets move back to draft when edited, allowing you to make corrections and re-publish.
  • Suppress changesets from the public page without deleting them, optionally recording a reason for the suppression.
  • Restore suppressed changesets back to draft state, making them editable and publishable again.
  • View all changesets—draft, published, and suppressed—in one dashboard, each with state badges and relevant action buttons.
  • Inline editing is now available directly in the changesets dashboard via expandable edit forms for draft and published entries.
  • Manual changelog generation now creates draft changesets that can be approved individually, replacing the previous draft table approach.
  • Draft changesets are automatically updated as the generation completes or fails, with status reflected in real time.
  • Changelog drafts can now be approved with a single click, and you are redirected to the repository view with confirmation of publication.
  • Draft changelogs are now created independently for each pull request merge, preventing overwritten drafts and making it easier to manage multiple concurrent changes.
  • Approve drafts with a single click from the notification email, thanks to new one-click publish links that work on individual changelogs.
  • Publish individual draft changelogs independently from your dashboard without affecting other pending drafts.
  • Dashboard now displays all draft changelogs for your repository in one place, with each draft showing its full context and status.
  • The repository dropdown on onboarding and settings pages now excludes repositories you have already connected, making it easier to find and add new repositories.
  • Draft notification emails now use sentence case in the Approve & publish button label, matching the in-app UI style.

Improvements

  • Error messages are now clearer and more specific, telling you exactly what happened and what to do next instead of generic prompts to refresh or try again.
  • GitHub connection messages now use plain language — 'We've lost the connection to your GitHub account' instead of technical jargon — making it easier to understand and fix the issue.

Bug Fixes

  • Tag-pushed and release-published triggers no longer display an outdated beta notice, as both handlers are now fully live.
  • Users who click old approval links from draft notification emails now see a helpful explanation instead of a browser error.
  • Release predecessor selection now correctly handles semver tags with double-digit version numbers (e.g., v1.10.0 is now correctly identified as coming after v1.9.0 instead of before it).
  • Tags are now sorted by commit date when determining release predecessors, ensuring the correct previous release is identified regardless of the tag naming scheme.
  • Markdown tables in long-form content now scroll horizontally on mobile devices instead of breaking the page layout.
  • Info banners and loading spinners on the admin and user dashboards now display in brand teal instead of blue, matching the design specification.

2026-06-06

Published

New Features

  • Digest updates now always reflect the exact set of pull requests recorded in your history, eliminating race conditions where a newly-merged PR could appear in generated content before being fully indexed.
  • Webhook deliveries that become stuck in the reclaiming state are now automatically recovered on startup, returning them to pending status so they can be processed again.
  • Repositories now support backfilling their full changelog history on initial connect, with options to choose a backfill cadence (per PR, daily digest, or per tag) that matches your workflow.
  • Large histories are processed in batches and show real-time progress, making it easy to track backfill status without waiting for the entire operation to complete.
  • Backfill jobs can be cancelled mid-run and retain all partial results, so you can stop early if needed without losing progress.
  • Backfilled changesets start as drafts, giving you a chance to review and refine them before publishing to your changelog.
  • Settings UI now displays a clear, labelled digest cadence option, letting you choose between receiving an entry for each event or accumulating them daily.
  • Digest cadence explanations are now shown based on your trigger type and chosen cadence, so you understand exactly how events will be grouped.
  • Timezone can be configured for daily digest cadence, ensuring events are grouped according to your local time zone rather than UTC.
  • Auto-triggered changelog drafts now respect label-based filters (label_skip, label_include) and bot-ignore settings across all trigger paths, ensuring consistent filtering whether drafts are created from merged PRs, daily digests, or release events.
  • Changelog range exports now include only PRs that match your configured filters, so the list of contributing PRs accurately reflects the filters you've applied.
  • Daily digest entries are now automatically finalised when a tag is pushed or release is published, ensuring your digest captures only the changes before the tag or release was created.
  • Multiple pull request merges within the same calendar day now accumulate into a single changeset draft instead of creating separate drafts, streamlining the changelog generation process for daily digest windows.
  • Webhook tag-pushed events now automatically generate changelog entries, capturing all merged commits since the previous matching tag and filtering pre-release versions when configured.
  • Webhook deliveries with a pending-handler status can now be re-delivered manually on GitHub, instead of being permanently blocked by the idempotency check.
  • The settings page now lets you configure how changelog triggers fire—choose the trigger type, set branch and tag patterns, enable or disable pre-releases, and control whether changesets auto-publish or stay in draft.
  • You can now set a debounce window for triggers, preventing rapid-fire changelog updates when multiple changes land in quick succession.
  • Daily digest mode is now configurable in settings, letting you collect changelog updates and publish them on a schedule in your preferred timezone.
  • Trigger settings now include options to filter by labels and ignore bot-authored changes, giving you finer control over which commits and pull requests appear in your changelog.
  • Webhook subscriptions now automatically match your configured triggers—enable a tag-push trigger and the webhook subscribes to push events, enable a release trigger and it subscribes to release events.
  • Webhook subscriptions update automatically when you change your trigger configuration, ensuring GitHub always receives notifications for the events you need.
  • Manual-only triggers no longer require a webhook subscription—if all your triggers are manual, the webhook is automatically deregistered to reduce unnecessary notifications.
  • Webhook triggers now support per-trigger draft mode configuration, allowing you to choose whether incoming events create draft changesets or publish immediately on a per-trigger basis.
  • Trigger behavior is now driven by a centralized configuration model instead of hardcoded logic, making it easier to manage and customize webhook behavior for different repositories and branches.
  • The public changelog now displays the complete history of all published changesets, ordered by release date with the most recent first.
  • Changelog sections can be linked directly using fragment identifiers when a release tag is set, enabling shareable anchors to specific releases.
  • Edit changesets at any point in their lifecycle—published changesets move back to draft when edited, allowing you to make corrections and re-publish.
  • Suppress changesets from the public page without deleting them, optionally recording a reason for the suppression.
  • Restore suppressed changesets back to draft state, making them editable and publishable again.
  • View all changesets—draft, published, and suppressed—in one dashboard, each with state badges and relevant action buttons.
  • Inline editing is now available directly in the changesets dashboard via expandable edit forms for draft and published entries.
  • Manual changelog generation now creates draft changesets that can be approved individually, replacing the previous draft table approach.
  • Draft changesets are automatically updated as the generation completes or fails, with status reflected in real time.
  • Changelog drafts can now be approved with a single click, and you are redirected to the repository view with confirmation of publication.
  • Draft changelogs are now created independently for each pull request merge, preventing overwritten drafts and making it easier to manage multiple concurrent changes.
  • Approve drafts with a single click from the notification email, thanks to new one-click publish links that work on individual changelogs.
  • Publish individual draft changelogs independently from your dashboard without affecting other pending drafts.
  • Dashboard now displays all draft changelogs for your repository in one place, with each draft showing its full context and status.
  • The repository dropdown on onboarding and settings pages now excludes repositories you have already connected, making it easier to find and add new repositories.
  • Draft notification emails now use sentence case in the Approve & publish button label, matching the in-app UI style.

Improvements

  • Error messages are now clearer and more specific, telling you exactly what happened and what to do next instead of generic prompts to refresh or try again.
  • GitHub connection messages now use plain language — 'We've lost the connection to your GitHub account' instead of technical jargon — making it easier to understand and fix the issue.

Bug Fixes

  • Tag-pushed and release-published triggers no longer display an outdated beta notice, as both handlers are now fully live.
  • Users who click old approval links from draft notification emails now see a helpful explanation instead of a browser error.
  • Release predecessor selection now correctly handles semver tags with double-digit version numbers (e.g., v1.10.0 is now correctly identified as coming after v1.9.0 instead of before it).
  • Tags are now sorted by commit date when determining release predecessors, ensuring the correct previous release is identified regardless of the tag naming scheme.
  • Markdown tables in long-form content now scroll horizontally on mobile devices instead of breaking the page layout.
  • Info banners and loading spinners on the admin and user dashboards now display in brand teal instead of blue, matching the design specification.

2026-06-06

Published

New Features

  • The landing page now displays new, benefit-focused copy with the headline "Ship a changelog without writing one." — emphasizing what users can accomplish without technical jargon.
  • Call-to-action button labels throughout the site have changed from "Get early access" to "Join the beta" to better reflect the current stage of the product.
  • The changelog generation system is now more robust and secure, using Anthropic's forced tool use to eliminate the risk of unparseable responses from the language model being inserted into the changelog.
  • The changelog entry prompt now explicitly enforces bullet-point format, ensuring generated entries are concise, benefit-focused statements rather than prose paragraphs.

Improvements

  • The landing page now follows the standard Tailwind UI marketing design system, with improved typography scale, spacing, and visual hierarchy.
  • Repository and connection forms in settings now use consistent card styling throughout the settings pages, improving visual hierarchy and alignment with the product design system.
  • Login and onboarding pages now follow a consistent, modern design pattern with clearer visual hierarchy and improved focus on primary actions.
  • The login and onboarding forms are now visually contained in a card layout, making the interface clearer and easier to navigate.
  • Error messages are now clearer and more helpful, replacing generic prompts with specific explanations of what went wrong and what to do next.
  • GitHub account connection errors now use plain language to explain the issue instead of technical terminology, making it easier to understand what action is needed.
  • The public changelog page now uses refined typography and spacing, with improved readability for long-form content and a cleaner visual hierarchy.
  • The landing page hero now uses a clean, modern system font stack and centered layout with a teal call-to-action button, bringing the marketing surface into line with brand guidelines.

Bug Fixes

  • Signup errors from the email service now display a friendly message on the landing page instead of a raw error response, making it clear what went wrong without exposing technical details.
  • When signup fails, your email is pre-filled in the form so you can quickly try again without retyping it.
  • LLM responses that include markdown code fences or trailing text after the JSON no longer cause parsing errors.