Home

>

Tools

>

Ghost

>

Releases

>

5.25.4

Ghost Release: 5.25.4

Tag Name: v5.25.4

Release Date: 12/13/2022

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.25.4 addresses a critical stability issue by reverting Sentry to v7.11.1, fixing unhandled promise rejection crashes that were causing unexpected server shutdowns. This patch ensures Ghost instances remain stable and operational, particularly important for production environments.

Highlight of the Release

    • Fixed critical stability issue causing Ghost to crash unexpectedly
    • Reverted Sentry from v7.12+ to v7.11.1 to resolve unhandled promise rejection handling
    • Improved error handling in Express middleware

Migration Guide

No migration steps are required for this release. The Sentry version downgrade is handled automatically during the update process.

If you have custom code that specifically depends on Sentry v7.12+, you may need to adjust your implementation to be compatible with v7.11.1.

Upgrade Recommendations

Priority: High

This update is highly recommended for all Ghost installations, especially those in production environments, as it addresses a critical stability issue that can cause unexpected server crashes.

The update process is straightforward with no breaking changes or migration steps required. Simply follow the standard Ghost update procedure for your installation method:

  • For Ghost(Pro) users: Updates will be automatically applied
  • For self-hosted installations: Use the Ghost-CLI to update your installation
ghost update

Bug Fixes

Fixed Unhandled Promise Rejection Crashes

This release addresses a critical bug where unhandled promise rejections were causing Ghost to crash unexpectedly. The issue was traced to a compatibility problem between newer versions of @sentry/node (particularly its Express middlewares and usage of deprecated Domain API) and Node.js v16+.

In these scenarios, unhandled promise rejections were being incorrectly transformed into uncaught exceptions, causing the Ghost server to terminate unexpectedly.

By reverting Sentry to v7.11.1, errors are now properly caught in the Express middleware, preventing these crashes and improving overall system stability.

Reference: Team Issue #2370

New Features

No new features were introduced in this release. This is a targeted bugfix release focused on stability improvements.

Security Updates

No security fixes were included in this release.

Performance Improvements

Improved System Stability

While not a direct performance enhancement, this release significantly improves Ghost's operational stability by preventing unexpected crashes due to unhandled promise rejections. This results in:

  • Fewer server restarts required
  • More consistent uptime for Ghost instances
  • Reduced interruptions to both administrative and end-user experiences
  • More reliable error reporting through Sentry

Impact Summary

This release has a significant positive impact on Ghost's stability by fixing unexpected crashes caused by unhandled promise rejections. By reverting to Sentry v7.11.1, the system now properly handles these errors through the Express middleware rather than allowing them to crash the server.

While this is a temporary solution (downgrading a dependency rather than fixing the root cause), it effectively resolves the immediate stability issues. The Ghost team has identified the problem as potentially residing in either @sentry/node or its interaction with Node.js v16+, particularly around the usage of the deprecated Domain API.

This fix is especially important for production environments where unexpected crashes can lead to downtime, data loss, and poor user experience. The change is transparent to end users but provides significant benefits in terms of system reliability.

Full Release Notes

Statistics:

File Changed4
Line Additions45
Line Deletions11
Line Changes56
Total Commits2

User Affected:

  • Improved system stability with fewer unexpected crashes
  • Reduced need for manual server restarts
  • Better error handling for unhandled promise rejections

Contributors:

SimonBackxgithub-actions[bot]