github Notifuse/notifuse v9.0

latest releases: v27.4, latest, v27.3...
4 months ago

Release v9.0 - Email Attachments Support

Release Date: October 6, 2025

🎉 What's New

Email Attachments for Transactional Emails

Send files with your transactional emails! Version 9.0 introduces comprehensive email attachment support across all ESP integrations.

✨ Key Features

  • Universal Support: Works with all ESP providers (SMTP, Amazon SES, SparkPost, Postmark, Mailgun, Mailjet)
  • Smart Deduplication: Automatically detects and reuses identical files to optimize storage
  • Flexible Limits: Send up to 20 files per email (3MB per file, 10MB total)
  • Auto Content-Type Detection: Automatically identifies file types if not specified
  • Inline & Attachment: Support for both attachment and inline dispositions

📦 Common Use Cases

  • Order Confirmations: Attach invoices and receipts
  • Booking Confirmations: Attach tickets and itineraries
  • Legal Documents: Attach contracts and agreements
  • Reports: Attach analytics reports and summaries
  • Certificates: Attach completion certificates and badges

🔧 Technical Changes

Database Updates

  • New Table: message_attachments for efficient file storage with SHA256-based deduplication
  • Schema Update: Added attachments JSONB column to message_history table
  • Automatic Migration: v9 migration runs automatically on startup

API Changes

New Attachment Object

{
  "filename": "invoice.pdf",
  "content": "JVBERi0xLjQKJeLjz9MK...",
  "content_type": "application/pdf",
  "disposition": "attachment"
}

Updated Email Options

The email_options object now supports an attachments array:

{
  "workspace_id": "your_workspace",
  "notification": {
    "id": "order_confirmation",
    "contact": {
      "email": "customer@example.com"
    },
    "data": {
      "order_id": "ORD-12345"
    },
    "email_options": {
      "attachments": [
        {
          "filename": "invoice-12345.pdf",
          "content": "JVBERi0xLjQKJeLjz9MKMy4uLg==",
          "content_type": "application/pdf"
        }
      ]
    }
  }
}

📋 Attachment Specifications

Specification Limit
Max files per email 20
Max size per file 3MB
Max total size per email 10MB
Supported formats All file types
Encoding Base64

🚀 Getting Started

1. Update to v9.0

# Pull the latest version
docker pull notifuse/notifuse:v9.0

# Or update your docker-compose.yml
version: '3.8'
services:
  notifuse:
    image: notifuse/notifuse:v9.0

2. Automatic Migration

The database migration runs automatically on first startup. No manual intervention required.

3. Start Sending Attachments

Use the updated API to send emails with attachments:

curl -X POST https://your-domain.com/api/transactional.send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "your_workspace",
    "notification": {
      "id": "invoice_email",
      "contact": {
        "email": "customer@example.com"
      },
      "email_options": {
        "attachments": [
          {
            "filename": "invoice.pdf",
            "content": "JVBERi0xLjQK...",
            "content_type": "application/pdf"
          }
        ]
      }
    }
  }'

📚 Documentation

  • Transactional API Documentation
  • API Reference
  • Migration Plan

🔄 Upgrade Path

From v8.x to v9.0

  1. Backup your database (recommended)
  2. Update the Notifuse image to v9.0
  3. Restart the application - migration runs automatically
  4. Verify migration - Check logs for successful migration message

Rollback Instructions

If you need to rollback:

  1. Stop the v9.0 instance
  2. Restore your v8.x database backup
  3. Start the v8.x instance

⚠️ Breaking Changes

None. This release is fully backward compatible. Existing API calls without attachments will continue to work exactly as before.

🐛 Known Issues

None at this time.

🙏 Feedback

We'd love to hear your feedback! If you encounter any issues or have suggestions:

📝 Full Changelog

See CHANGELOG.md for complete version history.


Notifuse v9.0 - Making transactional emails more powerful, one attachment at a time! 🚀

Don't miss a new notifuse release

NewReleases is sending notifications on new releases.