{
  "entries": [
    {
      "id": "2026-08-07-announcing-github-actions-notifications",
      "date": "2026-08-07",
      "title": "Announcing Pingram notifications for GitHub Actions",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-github-actions-notifications",
      "bullets": [
        "Send email and SMS from CI with [`pingram-io/github-actions-send-email`](https://github.com/pingram-io/github-actions-send-email) and [`pingram-io/github-actions-send-sms`](https://github.com/pingram-io/github-actions-send-sms)",
        "Notify on failed builds or page on-call from a workflow step; `to` accepts a comma-separated list"
      ]
    },
    {
      "id": "2026-08-06-product-changelog-at-pingram-io",
      "date": "2026-08-06",
      "title": "Product changelog at pingram.io/changelog",
      "type": "feature",
      "announcement": null,
      "bullets": [
        "Browse every ship at [/changelog](https://www.pingram.io/changelog) — grouped by month with feature, improvement, fix, and deprecation labels",
        "Machine-readable JSON feed at `/changelog.json` for integrations and tooling",
        "Historical entries backfilled from Product Update posts and 2026 releases"
      ]
    },
    {
      "id": "2026-08-04-stop-listing-templates-for-voice",
      "date": "2026-08-04",
      "title": "Stop listing templates for VOICE",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-08-03-add-get-account-invoices-and-plan-tab-invoices-modal",
      "date": "2026-08-03",
      "title": "Add GET /account/invoices and Plan tab invoices modal",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-08-02-add-official-mcp-registry-documentation-and-server-json-conf",
      "date": "2026-08-02",
      "title": "Add official MCP registry documentation and server.json configuration",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-23-announcing-pingram-mcp",
      "date": "2026-07-23",
      "title": "Announcing Pingram MCP",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-pingram-mcp",
      "bullets": [
        "Connect Claude, ChatGPT, or Cursor to your Pingram account with our hosted MCP server. Sign in once and let an AI agent send notifications and manage your account on your behalf",
        "Send email and SMS",
        "Query delivery logs by tracking ID"
      ]
    },
    {
      "id": "2026-07-23-announcing-pingram-cli",
      "date": "2026-07-23",
      "title": "Announcing the Pingram CLI",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-pingram-cli",
      "bullets": [
        "Manage domains, send messages, and inspect logs from your terminal. Install via npm, Homebrew, cURL, or PowerShell"
      ]
    },
    {
      "id": "2026-07-21-add-spam-folder-hint-to-delivered-sms-log-details",
      "date": "2026-07-21",
      "title": "Add spam folder hint to delivered SMS log details",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-17-single-corner-sign-out-on-verify-phone-page",
      "date": "2026-07-17",
      "title": "Single corner sign out on verify-phone page",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-15-add-region-display-functionality-to-environmentsscreen",
      "date": "2026-07-15",
      "title": "Add region display functionality to EnvironmentsScreen",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-14-disable-export-while-users-are-loading",
      "date": "2026-07-14",
      "title": "Disable export while users are loading",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-10-implement-user-preferences-for-email-and-sms-notifications",
      "date": "2026-07-10",
      "title": "Implement user preferences for email and SMS notifications",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-07-restructure-address-fields-and-update-api-request-formats",
      "date": "2026-07-07",
      "title": "Restructure address fields and update API request formats",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-07-03-add-displayname-field-to-openapi-and-json-schema",
      "date": "2026-07-03",
      "title": "Add displayName field to OpenAPI and JSON schema",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-26-route-interactivity-actions-to-eu-ca-regional-webhooks",
      "date": "2026-06-26",
      "title": "Route interactivity actions to EU/CA regional webhooks",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-25-add-georgia-995-to-telnyx-country-list",
      "date": "2026-06-25",
      "title": "Add Georgia (+995) to Telnyx country list",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-16-add-email-and-sms-playground-code-samples-implement-new-comp",
      "date": "2026-06-16",
      "title": "Add email and SMS playground code samples: implement new components for generating code snippets for sending emails and SMS, including support for various programming languages and improved context handling.",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-15-announcing-hermes-notification-gateway-plugin",
      "date": "2026-06-15",
      "title": "Official Hermes Notification Gateway Plugin",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-hermes-notification-gateway-plugin",
      "bullets": [
        "Hermes Agent plugin for SMS, email, and voice through Pingram. Install, run setup, done"
      ]
    },
    {
      "id": "2026-06-12-add-contact-support-note-to-spam-content-failure-message",
      "date": "2026-06-12",
      "title": "Add contact support note to spam content failure message",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-11-introduce-domain-verification-dialog-for-streamlined-domain-",
      "date": "2026-06-11",
      "title": "Introduce domain verification dialog for streamlined domain management and verification process",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-10-gate-mfa-behind-enterprise-organization-add-on",
      "date": "2026-06-10",
      "title": "Gate MFA behind enterprise organization add-on",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-06-03-add-collapsible-left-panel-for-improved-layout-and-user-expe",
      "date": "2026-06-03",
      "title": "Add collapsible left panel for improved layout and user experience",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-29-add-spf-txt-record-matching-function-and-corresponding-test",
      "date": "2026-05-29",
      "title": "Add SPF TXT record matching function and corresponding test",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-28-update-dns-record-name-generation-for-dkim",
      "date": "2026-05-28",
      "title": "Update DNS record name generation for DKIM",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-27-smtp-canada-europe",
      "date": "2026-05-27",
      "title": "SMTP Now Available in Canada and Europe",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/smtp-canada-europe",
      "bullets": [
        "SMTP relay is now available in Canada and Europe, bringing local email infrastructure to more regions",
        "**Canada**",
        "**Europe**"
      ]
    },
    {
      "id": "2026-05-27-supabase-integration-canada-europe",
      "date": "2026-05-27",
      "title": "Supabase Integration Now Available in Canada and Europe",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/supabase-integration-canada-europe",
      "bullets": [
        "Connect your Supabase project to Pingram in Canada and Europe for better deliverability and data residency compliance",
        "**Canada**",
        "**Europe**"
      ]
    },
    {
      "id": "2026-05-26-enhance-profilescreencontainer-with-email-and-phone-verifica",
      "date": "2026-05-26",
      "title": "Enhance ProfileScreenContainer with email and phone verification features",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-25-add-sms-unsubscribe-and-resubscribe-event-types-to-logs-inte",
      "date": "2026-05-25",
      "title": "Add SMS unsubscribe and resubscribe event types to logs interface and update inbound handler",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-22-implement-dns-check-cooldown-and-enhance-button-interaction",
      "date": "2026-05-22",
      "title": "Implement DNS check cooldown and enhance button interaction",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-21-add-mms-to-code-samples",
      "date": "2026-05-21",
      "title": "Add MMS to code samples",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-19-update-limit-reached-message-for-call-usage-in-channelcapusa",
      "date": "2026-05-19",
      "title": "Update limit reached message for call usage in ChannelCapUsageContent component",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-14-improve-sms-channel-verification-logic-in-sendersetupscreenc",
      "date": "2026-05-14",
      "title": "Improve sms channel verification logic in SenderSetupScreenContainer",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-13-enhance-webhook-signature-handling-with-message-id",
      "date": "2026-05-13",
      "title": "Enhance webhook signature handling with message ID",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-12-implement-webhook-secret-management-and-signing-functionalit",
      "date": "2026-05-12",
      "title": "Implement webhook secret management and signing functionality",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-11-add-disabled-state-handling-and-alerts-for-a2p-registration-",
      "date": "2026-05-11",
      "title": "Add disabled state handling and alerts for A2P registration components",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-07-add-styles-and-structure-for-smsinboundsetuprailcontent-comp",
      "date": "2026-05-07",
      "title": "Add styles and structure for SmsInboundSetupRailContent component to enhance UI",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-06-implement-a2p-registration-api-with-crud-operations-and-slac",
      "date": "2026-05-06",
      "title": "Implement A2P registration API with CRUD operations and Slack notification integration",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-05-04-announcing-pingram-notification-skills",
      "date": "2026-05-04",
      "title": "Announcing Pingram Notification Skills",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-pingram-notification-skills",
      "bullets": [
        "Agent skills for sending and receiving email, SMS, voice, and WhatsApp with Pingram. Use them from Claude, Cursor, Copilot, and other coding assistants"
      ]
    },
    {
      "id": "2026-05-03-implement-submission-handling-and-error-management-for-us-a2",
      "date": "2026-05-03",
      "title": "Implement submission handling and error management for US A2P 10DLC brand registration form",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-30-add-organizationid-to-member-models-and-responses",
      "date": "2026-04-30",
      "title": "Add organizationId to member models and responses",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-29-add-help-link-for-scenario-selection-assistance-in-us-a2p-10",
      "date": "2026-04-29",
      "title": "Add help link for scenario selection assistance in US A2P 10DLC registration components",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-28-add-user-email-handling-to-sendersetup-components-for-improv",
      "date": "2026-04-28",
      "title": "Add user email handling to SenderSetup components for improved user communication",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-27-enhance-sendersetupcompleteforproductionpanel-with-condition",
      "date": "2026-04-27",
      "title": "Enhance SenderSetupCompleteForProductionPanel with conditional rendering for US A2P 10DLC and update styles for improved layout",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-26-refine-checklist-item-selection-logic-in-sendersetupscreenco",
      "date": "2026-04-26",
      "title": "Refine checklist item selection logic in SenderSetupScreenContainer to handle loading states and visibility conditions for domain verification and US A2P 10DLC",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-24-implement-sendersetupscreencontainer-with-styled-banner-and-",
      "date": "2026-04-24",
      "title": "Implement SenderSetupScreenContainer with styled banner and close functionality",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-22-announcing-mms-sms-notifications",
      "date": "2026-04-22",
      "title": "Announcing: MMS (picture) for SMS notifications",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/announcing-mms-sms-notifications",
      "bullets": [
        "Two-way MMS on the same SMS send API, with the Pingram team helping you meet US A2P 10DLC and sender requirements alongside your sends"
      ]
    },
    {
      "id": "2026-04-21-integrate-account-status-to-conditionally-display-sms-covera",
      "date": "2026-04-21",
      "title": "Integrate account status to conditionally display SMS coverage card",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-19-enhance-smscoveragebrowsemodal-to-support-partly-enabled-sta",
      "date": "2026-04-19",
      "title": "Enhance SmsCoverageBrowseModal to support \"Partly Enabled\" status for sandbox countries; add tooltip and styling for improved user experience",
      "type": "feature",
      "announcement": null,
      "bullets": [
        "Enhance SmsCoverageBrowseModal to support \"Partly Enabled\" status for sandbox countries; add tooltip and styling for improved user experience"
      ]
    },
    {
      "id": "2026-04-17-implement-phone-verification-flow-and-guard-in-authenticatio",
      "date": "2026-04-17",
      "title": "Implement phone verification flow and guard in authentication process",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-09-implement-new-notification-types-for-email-in-app-push-slack",
      "date": "2026-04-09",
      "title": "Implement new notification types for email, in-app, push, Slack, SMS, and web push with updated file naming conventions and API stack references",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-08-enhance-notification-sending-workflows-by-adding-template-pr",
      "date": "2026-04-08",
      "title": "Enhance notification sending workflows by adding template previews and logging for email, in-app, push, Slack, SMS, and web push channels",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-04-07-add-new-endpoints-for-sending-various-notification-types-ema",
      "date": "2026-04-07",
      "title": "Add new endpoints for sending various notification types (email, in-app, push, Slack, SMS, web push) with corresponding request and response schemas",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-31-enhance-emailplaygroundpanel-with-domain-verification-status",
      "date": "2026-03-31",
      "title": "Enhance EmailPlaygroundPanel with domain verification status and improved UI interactions",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-27-announcing-sms-custom-sender-number",
      "date": "2026-03-27",
      "title": "Announcing: Multi-Number SMS Support",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/announcing-sms-custom-sender-number",
      "bullets": [
        "Send SMS notifications from multiple phone numbers. Perfect for multi-brand businesses, regional messaging, and dedicated support lines",
        "Separate communications for different brands",
        "Use regional numbers to improve delivery and trust"
      ]
    },
    {
      "id": "2026-03-25-add-sdk-notification-creation-screen-and-refactor-notificati",
      "date": "2026-03-25",
      "title": "Add SDK notification creation screen and refactor notification routing",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-24-improve-error-handling-by-displaying-specific-error-messages",
      "date": "2026-03-24",
      "title": "Improve error handling by displaying specific error messages on sign up failure",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-22-add-api-key-regeneration-functionality-and-improve-key-manag",
      "date": "2026-03-22",
      "title": "Add API key regeneration functionality and improve key management logic",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-21-enhance-newtemplatemodal-with-duplicate-id-validation-and-im",
      "date": "2026-03-21",
      "title": "Enhance NewTemplateModal with duplicate ID validation and improve error handling",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-20-add-active-filter-summary-and-clear-all-filters-functionalit",
      "date": "2026-03-20",
      "title": "Add active filter summary and clear all filters functionality in NotificationsScreenContainer",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-19-implement-new-template-management-features-including-creatio",
      "date": "2026-03-19",
      "title": "Implement new template management features including creation, duplication, and copying of templates with associated modals",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-18-update-planpage-to-conditionally-display-sms-and-voice-call-",
      "date": "2026-03-18",
      "title": "Update PlanPage to conditionally display SMS and Voice Call limits based on account type",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-17-update-event-display-to-show-sms-body-text-for-inbound-sms-e",
      "date": "2026-03-17",
      "title": "Update event display to show SMS body text for inbound SMS events",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-10-resolve-custom-domain-inbound-addresses-in-accountaddresses",
      "date": "2026-03-10",
      "title": "Resolve custom domain inbound addresses in AccountAddresses",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-06-enhance-planpage-and-plantabcontainer-with-organization-chan",
      "date": "2026-03-06",
      "title": "Enhance PlanPage and PlanTabContainer with organization channel usages and loading state",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-03-05-expose-public-organization-fields-in-api-response",
      "date": "2026-03-05",
      "title": "Expose public organization fields in API response",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-28-enhance-log-details-for-inbound-messages-in-logsstreamtable-",
      "date": "2026-02-28",
      "title": "Enhance log details for inbound messages in LogsStreamTable, OverviewDetails, and ReceivedDetails components",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-26-update-email-limit-messages-for-consistency",
      "date": "2026-02-26",
      "title": "Update email limit messages for consistency",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-25-validate-successurl-cancelurl-before-any-stripe-calls",
      "date": "2026-02-25",
      "title": "Validate successUrl/cancelUrl before any Stripe calls",
      "type": "fix",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-17-announcing-full-inbound-messaging",
      "date": "2026-02-17",
      "title": "Announcing: Full Inbound Messaging",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-full-inbound-messaging",
      "bullets": [
        "Receive any incoming email or SMS from your users with built-in inboxes, custom domains, and reply tracking",
        "Every Pingram account now gets a built-in email inbox (`yourcompany@mail.pingram.io`) ready to receive messages immediately",
        "You can also add custom domains to receive emails at addresses like `support@mail.yourcompany.com`"
      ]
    },
    {
      "id": "2026-02-16-add-pagination-indicators-to-getslackchannelsresponse",
      "date": "2026-02-16",
      "title": "Add pagination indicators to GetSlackChannelsResponse",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-10-add-acceptinviteredirect-component-and-handle-pending-invite",
      "date": "2026-02-10",
      "title": "Add AcceptInviteRedirect component and handle pending invites in App component",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2026-02-04-announcing-supabase-integration",
      "date": "2026-02-04",
      "title": "Announcing: Supabase Integration",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/announcing-supabase-integration",
      "bullets": [
        "Hitting the Supabase email rate limit? Our one-click SMTP integration lets you send emails with full tracking, analytics, and better deliverability",
        "**Bypass Supabase's email rate limits** - Send as many emails as your application needs",
        "**Improve deliverability** - Benefit from Pingram's optimized email infrastructure"
      ]
    },
    {
      "id": "2026-01-27-announcing-smtp",
      "date": "2026-01-27",
      "title": "Announcing: SMTP Relay for Pingram",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-smtp",
      "bullets": [
        "Send emails through Pingram using standard SMTP configuration, perfect for platforms that only support SMTP credentials"
      ]
    },
    {
      "id": "2026-01-21-notificationapi-is-now-pingram",
      "date": "2026-01-21",
      "title": "NotificationAPI is Now Pingram",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/notificationapi-is-now-pingram",
      "bullets": [
        "We are rebranding from NotificationAPI to Pingram. Same team, same product, same commitment to developers — just a new name that better reflects our mission",
        "Developer Experience",
        "Simplicity"
      ]
    },
    {
      "id": "2026-01-15-unlock-premium-date-ranges-and-detail-levels-for-insights-pr",
      "date": "2026-01-15",
      "title": "Unlock premium date ranges and detail levels for Insights Pro accounts",
      "type": "feature",
      "announcement": null,
      "bullets": []
    },
    {
      "id": "2025-12-16-announcing-email-inbound-webhooks",
      "date": "2025-12-16",
      "title": "Announcing: Email Inbound Webhooks",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-email-inbound-webhooks",
      "bullets": [
        "Pingram can capture replies to your email notifications and send them to your webhooks. Great for implementing automated and conversational flows",
        "**AI Powered Workflows**: Build AI powered workflows that respond to user replies or take action based on the content of the reply.",
        "**Pre-defined Auto Replies**: Automatically reply to user replies with a pre-defined message; e.g. \"We got your message!\""
      ]
    },
    {
      "id": "2025-12-16-announcing-sms-inbound-webhooks",
      "date": "2025-12-16",
      "title": "Announcing: SMS Inbound Webhooks",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-sms-inbound-webhooks",
      "bullets": [
        "Enable two-way SMS notifications with your users. Receive SMS replies via our easy-to-use webhooks and build interactive notification experiences",
        "**Appointment confirmations**: Let users reply YES or NO to confirm appointments",
        "**Customer support**: Route SMS replies to your support system"
      ]
    },
    {
      "id": "2025-10-28-new-notification-logs-v2-api-endpoints",
      "date": "2025-10-28",
      "title": "New Notification Logs v2 API Endpoints",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/new-notification-logs-v2-api-endpoints",
      "bullets": [
        "Access your notification logs programmatically with new API endpoints for tailing, searching, and bulk retrieval"
      ]
    },
    {
      "id": "2025-10-13-announcing-easy-email-attachments",
      "date": "2025-10-13",
      "title": "Send Email Attachments without Storing Files",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-easy-email-attachments",
      "bullets": [
        "Send email attachments directly via base64 content without hosting files elsewhere. Perfect for dynamic content and temporary files",
        "Send Emails → Attachments",
        "API Reference: attachments"
      ]
    },
    {
      "id": "2025-10-07-unsubscribe-webhook-events",
      "date": "2025-10-07",
      "title": "Introducing Unsubscribe Webhook Events",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/unsubscribe-webhook-events",
      "bullets": [
        "Get real-time webhook notifications when users opt out of your notifications"
      ]
    },
    {
      "id": "2025-08-29-announcing-notification-insights-v2",
      "date": "2025-08-29",
      "title": "Notification Insights V2: Unified Cross-Channel Analytics",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-notification-insights-v2",
      "bullets": [
        "Insights V2 adds time-series charts across channels and environments for improved analytics and deeper breakdowns",
        "Time-series charts for requests, sends, deliveries, opens, clicks",
        "Filters by notification type and channel"
      ]
    },
    {
      "id": "2025-07-10-suppression-list-management",
      "date": "2025-07-10",
      "title": "Announcing: Email Suppression Management",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/suppression-list-management",
      "bullets": [
        "Take full control of your email suppression lists"
      ]
    },
    {
      "id": "2025-07-07-announcing-soc2-type-ii-compliance",
      "date": "2025-07-07",
      "title": "SOC2 Type II Compliance",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/announcing-soc2-type-ii-compliance",
      "bullets": [
        "Pingram is now SOC2 Type II certified with a new Trust Center showcasing our security posture and compliance reports"
      ]
    },
    {
      "id": "2025-07-06-send-notification-content-without-templates",
      "date": "2025-07-06",
      "title": "Send Notification Content Without Templates",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/send-notification-content-without-templates",
      "bullets": [
        "You can now send notifications without designing and using templates, by directly passing content in your API calls"
      ]
    },
    {
      "id": "2025-05-03-introducing-competitive-sms-pricing",
      "date": "2025-05-03",
      "title": "Introducing Industry-Leading SMS Pricing",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/introducing-competitive-sms-pricing",
      "bullets": [
        "Pingram now offers more competitive SMS pricing than Twilio",
        "Custom sender numbers and branding",
        "Regional compliance and smart routing"
      ]
    },
    {
      "id": "2025-05-02-faster-notification-logs",
      "date": "2025-05-02",
      "title": "Improved Notification Logs V2 Interface",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/faster-notification-logs",
      "bullets": [
        "We",
        "Faster log loading",
        "Instant search results"
      ]
    },
    {
      "id": "2025-01-23-announcing-notification-logs-v2",
      "date": "2025-01-23",
      "title": "Announcing: Notification Logs v2",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-notification-logs-v2",
      "bullets": [
        "Introducing the revamped Notification Logs feature on Pingram: Better tracking, faster searches, and richer data for teams that want to debug notifications",
        "**Notification Open & Click Tracking**",
        "**Faster Search**"
      ]
    },
    {
      "id": "2025-01-23-introducing-notificationapi-s-european-data-center",
      "date": "2025-01-23",
      "title": "Introducing: Pingram",
      "type": "improvement",
      "announcement": "https://www.pingram.io/blog/introducing-notificationapi-s-european-data-center",
      "bullets": [
        "Pingram now supports an EU region, based out of Frankfurt, ensuring better performance and data residency compliance for our European customers and users",
        "**Enhanced Performance for European Customers**",
        "**GDPR Compliance**"
      ]
    },
    {
      "id": "2024-12-11-introducing-notification-events-webhook-api",
      "date": "2024-12-11",
      "title": "Introducing Notification Events Webhook API",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/introducing-notification-events-webhook-api",
      "bullets": [
        "We are excited to roll out our Notification Events Webhook. This feature calls your APIs with important notification events, such as Delivery or Click"
      ]
    },
    {
      "id": "2024-07-23-announcing-logs-api",
      "date": "2024-07-23",
      "title": "Announcing: Logs API",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-logs-api",
      "bullets": [
        "Pingram’s new Logs API grants developers full access to their notification system’s logs & data"
      ]
    },
    {
      "id": "2024-05-01-announcing-user-dashboard",
      "date": "2024-05-01",
      "title": "Announcing: User Dashboard",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-user-dashboard",
      "bullets": [
        "Pingram"
      ]
    },
    {
      "id": "2024-04-11-announcing-api-documentation",
      "date": "2024-04-11",
      "title": "Announcing: API Documentation",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-api-documentation",
      "bullets": [
        "Pingram now has REST API documentation and Administrative API features in addition to SDKs, letting you manage your Pingram account via our API"
      ]
    },
    {
      "id": "2024-03-25-announcing-server-side-c-net-sdk",
      "date": "2024-03-25",
      "title": "Announcing Server-Side C# .NET SDK",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-server-side-c-net-sdk",
      "bullets": [
        "Pingram now officially supports a C# .NET library. This library is available on NuGet and thoroughly documented on our server SDK documentation website"
      ]
    },
    {
      "id": "2024-03-10-announcing-environment-controls",
      "date": "2024-03-10",
      "title": "Announcing: Environment Controls",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-environment-controls",
      "bullets": [
        "Pingram",
        "**Migration:** When teams are moving existing notification systems to Pingram and want to perform QA in production without sending messages from production.",
        "**Spam Reduction:** Existing accounts that are happy with the state of their notifications and would rather not have their staging environments produce any messages."
      ]
    },
    {
      "id": "2024-03-10-announcing-notification-scheduling",
      "date": "2024-03-10",
      "title": "Announcing: Notification Scheduling",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-notification-scheduling",
      "bullets": [
        "Notification scheduling is built into Pingram and replaces the cron, databases or other systems you have in place to send notifications at future dates"
      ]
    },
    {
      "id": "2022-08-31-announcing-insights",
      "date": "2022-08-31",
      "title": "Announcing: Insights",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-insights",
      "bullets": [
        "With Pingram Insights, teams get high-level reports and an understanding of what notifications they are sending, where they go, and what happens to them",
        "Outgoing notifications by notification",
        "Outgoing notifications by channel"
      ]
    },
    {
      "id": "2022-06-24-announcing-no-code-unsubscribe-links",
      "date": "2022-06-24",
      "title": "Announcing: No-Code Unsubscribe Links",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-no-code-unsubscribe-links",
      "bullets": [
        "Unsubscribe Links allows you to append an unsubscribe link to any of your notifications and improve your notifications user experience without writing any code"
      ]
    },
    {
      "id": "2022-06-09-announcing-notificationapi-logs",
      "date": "2022-06-09",
      "title": "Announcing Logs: In-Depth and Searchable History of All Notifications",
      "type": "feature",
      "announcement": "https://www.pingram.io/blog/announcing-notificationapi-logs",
      "bullets": [
        "With Logs, you can search and review all your outgoing notifications in order to address customer tickets or debug software issues"
      ]
    }
  ]
}