Home

>

Tools

>

Ghost

>

Releases

>

5.33.8

Ghost Release: 5.33.8

Tag Name: v5.33.8

Release Date: 2/9/2023

Ghost LogoGhost

Open-source publishing platform specifically designed for professional bloggers and publications. Focuses on clean, minimalist writing and publishing experience.

TL;DR

Ghost v5.33.8 brings important bug fixes and performance optimizations to the platform. This release addresses issues with email recipient selection, error handling during link redirects, and significantly improves database query performance for product/tier listings. The update also moves email event processing to the main thread for better reliability. These changes enhance the newsletter functionality and overall system performance, making it a recommended update for all Ghost users.

Highlight of the Release

    • Fixed bug where email recipients defaulted to 'everyone' instead of matching post visibility
    • Improved error handling during link redirects
    • Optimized database queries for membership tiers/products
    • Moved email event processing to main thread for better reliability

Migration Guide

No migration steps are required for this update. This is a maintenance release with bug fixes and performance improvements that can be applied without any additional configuration changes.

Upgrade Recommendations

This update is recommended for all Ghost users, especially those who:

  • Use the newsletter functionality and rely on the "Match post visibility" setting for email recipients
  • Experience high traffic on sites with link redirects
  • Have a large number of membership tiers/products
  • Process a significant volume of email events

The release contains important bug fixes and performance improvements that enhance the stability and reliability of the platform. As this is a patch release (v5.33.7 → v5.33.8), it should be safe to upgrade with minimal risk.

Bug Fixes

Email Recipient Selection Fix

Fixed an issue where the default email recipients were always being set to "everyone" rather than matching post visibility. This bug was introduced in a previous fix for incorrect recipient details when re-sending failed emails. The problem occurred because:

  • The server was always setting post.emailSegment to 'all' for new posts
  • This caused the publish flow recipient filter logic to default to 'all' instead of using the selected default recipients setting
  • For posts with failed emails, the system now properly checks the newsletter value to determine whether to use post.emailSegment or the default recipients setting

Link Redirect Error Handling

Fixed an issue where errors weren't being correctly passed to Express in the middleware during link redirects. This ensures proper error handling and prevents potential issues when redirecting users.

New Features

No new features were introduced in this release. This update focuses on bug fixes and performance improvements to existing functionality.

Security Updates

No security fixes were included in this release.

Performance Improvements

Optimized Product/Tier Queries

Significantly improved database performance when fetching membership tiers (products):

  • Reduced the number of database queries generated by productRepository.list calls
  • Removed unnecessary transaction wrapping that was no longer needed
  • Added limit: 'all' parameter to ensure all product entries are fetched while eliminating an extra aggregation query over stripe_prices join
  • Removed unnecessary 'monthlyPrice' and 'yearlyPrice' relations that weren't being used in downstream code

Email Event Processing Improvements

Moved the processing of Mailgun events to the main thread for better reliability:

  • Implemented a simple approach using event emission between worker and main threads
  • Email processor now uses email event storage directly instead of only emitting events
  • Ensures events are processed completely before moving to the next one

Impact Summary

Ghost v5.33.8 delivers important fixes and optimizations that improve the platform's reliability and performance. The fix for email recipient selection ensures newsletters are sent to the correct audience based on your visibility settings, preventing potential over-sending of content. Database query optimizations for membership tiers reduce server load and improve response times, particularly beneficial for sites with many products or high traffic. The architectural improvement of moving email event processing to the main thread enhances the reliability of email analytics and tracking. These changes collectively result in a more stable, efficient, and predictable publishing experience without introducing any breaking changes or requiring migration steps.

Full Release Notes

  • 🐛 Fixed default email recipients always being "everyone" rather than matching post visibility (#16247) - Kevin Ansfield
  • 🐛 Fixed throwing errors during link redirects - Simon Backx

View the changelog for full details: v5.33.7...v5.33.8

🪄 Love open source? We're hiring JavaScript Engineers to work on Ghost full-time

Statistics:

File Changed23
Line Additions368
Line Deletions532
Line Changes900
Total Commits5

User Affected:

  • Fixed issue where email recipients were always set to 'everyone' instead of matching post visibility
  • More reliable email event processing through improved architecture

Contributors:

nazkevinansfieldSimonBackxgithub-actions[bot]