Home

>

Tools

>

Ghost

>

Releases

>

4.10.2

Ghost Release: 4.10.2

Tag Name: v4.10.2

Release Date: 7/26/2021

Ghost LogoGhost

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

TL;DR

Ghost v4.10.2 fixes a critical bug where unsubscribed members were incorrectly receiving emails when posts were sent to all members. This patch ensures that the subscription filter is properly applied across all member segments, maintaining user communication preferences and improving email delivery reliability.

Highlight of the Release

    • Fixed critical bug where unsubscribed members were receiving emails when posts were sent to all members
    • Improved filter logic for email targeting with proper operator precedence
    • Enhanced reliability of the subscription filter across all member segments

Migration Guide

No migration steps are required for this patch release. The update can be applied without any additional configuration changes.

Upgrade Recommendations

This release fixes a critical bug affecting email delivery to unsubscribed members. Immediate upgrade is recommended for all Ghost installations, especially for sites that:

  • Send regular newsletter emails
  • Have a mix of free and paid members
  • Use the "all members" option when sending posts via email

The fix ensures proper respect for member subscription preferences and prevents sending unwanted emails to unsubscribed members.

Bug Fixes

Email Subscription Filter Fix

This release addresses a critical bug where unsubscribed members were incorrectly receiving emails when posts were sent to "all members".

The issue stemmed from incorrect operator precedence in the filter logic when transforming it to enforce subscribed:true before sending emails:

  • When sending to free members only (subscribed:true+status:free) - worked correctly
  • When sending to paid members only (subscribed:true+status:-free) - worked correctly
  • When sending to all members (subscribed:true+status:-free,status:free) - the ,status:free part was treated as a separate OR statement, meaning the subscribed:true filter wasn't applied to free members

The fix includes:

  • Extracting the filter transform into a separate function for better testability
  • Updating the transform to use parentheses for proper operator precedence: subscribed:true+(status:-free,status:free)
  • Implementing the transform function in both addEmail() and getEmailMemberRows() methods
  • Fixing a sent/send typo in an error message

New Features

No new features were introduced in this patch release.

Security Updates

No security fixes were included in this release.

Performance Improvements

No specific performance improvements were included in this release.

Impact Summary

This patch release addresses an important bug in Ghost's email delivery system that could result in unsubscribed members receiving unwanted emails when posts were sent to all members. The fix improves the reliability of Ghost's subscription filter by correcting operator precedence in the filter logic.

The impact is particularly significant for publications with both free and paid members who regularly send newsletters. By ensuring that the subscribed:true filter is properly applied across all member segments, this update helps maintain trust with your audience by respecting their communication preferences.

This fix also helps prevent potential deliverability issues that could arise from sending emails to users who have explicitly unsubscribed, which could otherwise lead to increased spam complaints and negative sender reputation.

Full Release Notes

Statistics:

File Changed4
Line Additions54
Line Deletions54
Line Changes108
Total Commits3

User Affected:

  • Email campaigns now correctly respect member subscription status
  • More reliable email sending with proper filter application
  • Reduced risk of sending unwanted emails to unsubscribed members

Contributors:

kevinansfielddaniellockyer