github Notifuse/notifuse v14.0

latest releases: v28.1, latest, v28.0...
4 months ago

Notifuse v14.0 Release Notes

Release Date: October 31, 2025

🎉 What's New

New Setup Wizard

setup

Get started faster with our improved setup wizard experience:

  • Streamlined Configuration: Many environment variables are now optional and can be configured through an intuitive setup wizard
  • Newsletter Subscription: Opt-in to stay updated with Notifuse news
  • Advanced Settings: PASETO keys configuration tucked away in a collapsible section for cleaner interface
  • Privacy Settings: Configure telemetry and update check preferences during initial setup
  • Smart Restart Handling: Setup completion screen displays immediately while the server restarts in the background
  • Key Management: Review your generated PASETO keys before proceeding to sign in

Environment variables can still be used and will always take precedence over database settings.

Internal Task Scheduler

No more external cron jobs! Notifuse now includes a built-in task scheduler that runs automatically with your application.

  • Zero Configuration: Tasks execute automatically every 20 seconds
  • Faster Processing: 20-second intervals (vs 60-second minimum with external cron)
  • Graceful Lifecycle: Starts with the app, stops cleanly on shutdown
  • Configurable: Control behavior via environment variables:
    • TASK_SCHEDULER_ENABLED - Enable/disable the scheduler
    • TASK_SCHEDULER_INTERVAL - Adjust execution interval
    • TASK_SCHEDULER_MAX_TASKS - Limit concurrent tasks

Note: The /api/cron HTTP endpoint is now deprecated but remains functional for backward compatibility.

Enhanced Message History

Email delivery options are now stored with message history for better audit trails:

  • CC Recipients: Carbon copy addresses
  • BCC Recipients: Blind carbon copy addresses
  • From Name: Sender display name overrides
  • Reply-To: Custom reply-to addresses

The message preview drawer displays these options when available.

Modernized Docker Compose

Our Docker setup now follows current best practices:

  • Renamed docker-compose.yml to compose.yaml
  • Removed deprecated version field
  • Updated to use docker compose plugin syntax
  • Improved .env file integration

✨ UI Improvements

  • Cleaner Interface: Removed cron setup instructions and status warning banner (no longer needed with internal scheduler)
  • Notification Center Preview: Test your notification center before going live with the new preview mode

🐛 Bug Fixes

  • SMTP Anonymous Connections: Now supports unauthenticated/anonymous SMTP connections (e.g., local mail relays on port 25)
  • Docker Image Stability: Built with CGO disabled to prevent SIGILL crashes on older CPUs
  • HTML Entity Decoding: URL attributes with query parameters now work correctly in MJML-compiled emails
  • Timezone Normalization: Browser timezone names are normalized to canonical IANA format
  • Broadcast Pause: Pausing a broadcast now also pauses the associated task

🗄️ Database Changes

Schema Updates

  • Added channel_options JSONB column to message_history table

Migration Notes

  • Migration v14 is idempotent and safe to run multiple times
  • Adds default telemetry and update check settings (both default to true)
  • Existing messages will have channel_options = NULL (no backfill)
  • Estimated time: < 1 second per workspace
  • Server restart: Automatically restarts after migration to reload all configuration settings

📦 Upgrade Instructions

  1. Backup your database before upgrading
  2. Pull the latest Docker image or update your binary
  3. Update your docker-compose.yml to compose.yaml (optional but recommended)
  4. Remove any external cron job configuration (optional, endpoints still work)
  5. Start Notifuse - migration runs automatically
  6. Configure privacy settings if desired (via environment variables or UI)

Environment Variables

New Optional Variables

# Privacy Settings
TELEMETRY=true                    # Send anonymous usage statistics (optional)
CHECK_FOR_UPDATES=true            # Check for new versions (optional)

# Task Scheduler
TASK_SCHEDULER_ENABLED=true       # Enable internal scheduler (optional, default: true)
TASK_SCHEDULER_INTERVAL=20s       # Task execution interval (optional, default: 20s)
TASK_SCHEDULER_MAX_TASKS=10       # Max concurrent tasks (optional, default: 10)

📝 Deprecated Features

The following features are deprecated but still functional:

  • /api/cron HTTP endpoint (use internal scheduler instead)
  • /api/cron.status HTTP endpoint (no longer advertised in UI)

🔗 Resources

💬 Feedback

We'd love to hear your thoughts on this release! Please open an issue on our GitHub repository or reach out to our support team.


Thank you for using Notifuse! 🚀

Don't miss a new notifuse release

NewReleases is sending notifications on new releases.