Home

>

Tools

>

Ghost

>

Releases

>

5.80.3

Ghost Release: 5.80.3

Tag Name: v5.80.3

Release Date: 3/15/2024

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.80.3: Stability Improvements and Error Handling

This release focuses on fixing several HTTP 500 errors that could occur in various scenarios, improving the stability and reliability of Ghost. Key improvements include better error handling for image uploads, recommendations, oembed endpoints, and theme layouts. The update also enhances SEO by allowing /p/ redirects to be indexed by search engines and reduces unnecessary requests in the comments system. Several UI fixes for the members table, comments block, and offers section are also included.

Highlight of the Release

    • Fixed multiple HTTP 500 errors across various parts of the system
    • Improved SEO by allowing /p/ redirects to be indexed by search engines
    • Fixed scrolling issues on the members table
    • Added keyboard shortcuts for accessing settings
    • Reduced unnecessary requests and 403 responses for comments auth check
    • Fixed comments block disappearing when performing certain actions

Migration Guide

This release is primarily focused on bug fixes and stability improvements, so no specific migration steps are required. The update should be straightforward with no breaking changes.

To update to v5.80.3:

  1. Back up your Ghost installation and database before updating
  2. Follow the standard Ghost update procedure for your installation method:
    • For Docker installations: Pull the latest image and restart your containers
    • For manual installations: Use the Ghost-CLI to update your installation
    • For managed hosting: Updates will typically be handled automatically

No configuration changes or additional steps are needed after updating.

Upgrade Recommendations

Priority: Medium

This release contains important bug fixes that address several HTTP 500 errors and improves overall system stability. While there are no critical security fixes, the improvements to error handling and performance optimizations make this a recommended update for all Ghost installations.

The update is particularly important for:

  • Sites experiencing HTTP 500 errors in various scenarios
  • Sites with heavy comment usage
  • Sites that use recommendations extensively
  • Sites concerned about SEO optimization

Since this is a patch release (v5.80.2 → v5.80.3), the update should be low-risk and straightforward to apply.

Bug Fixes

  • HTTP 500 Error Fixes:

    • Fixed HTTP 500 errors when given incorrect Range header
    • Fixed HTTP 500 error when image processing fails during upload
    • Fixed HTTP 500 responses when oembed endpoint receives error
    • Fixed returning HTTP 500 response when recommendations check fails
    • Fixed 500 errors for invalid theme layouts
  • UI and Functionality Fixes:

    • Fixed scrolling issues on members table with set fixed widths for different columns
    • Fixed comments block disappearing when performing certain actions
    • Fixed Tiers API erroring when invalid filter passed
    • Fixed handling of image uploads with overly long filenames
    • Fixed adding recommendation when oembed fails
    • Fixed Portal preview flashing issue in Offers
    • Fixed empty state flashing issue on offers list
  • SEO and Performance:

    • Fixed /p/ redirects not being indexed by search engines by removing them from robots.txt
    • Added cache-control header back to /auth-frame/ response
  • Translation Updates:

    • Updated Bahasa Indonesia translations
    • Improved Slovak (sk) translation phrases

New Features

  • Settings Keyboard Shortcuts: Added keyboard shortcuts for accessing settings, providing a productivity boost for advanced users.
  • Referral Tracking: Added referral tracking to the powered-by-ghost newsletter badge with a ?via query parameter to evaluate usage.
  • Milestone Notifications Threshold: Added ability to pass minThreshold for Milestone Slack notifications, allowing site owners to set a minimum value for when notifications are sent.
  • Extracted Unsplash Selector: The Unsplash selector has been extracted as a standalone TypeScript package in the Koenig monorepo, making it reusable across different React applications.

Security Updates

  • No major security fixes were included in this release, but the overall stability improvements and error handling enhancements contribute to a more secure system by preventing potential exploits through error conditions.

  • The improved handling of invalid inputs (like incorrect Range headers, overly long filenames, and invalid filters) helps prevent potential security issues that could arise from improper error handling.

Performance Improvements

  • Reduced Requests for Comments: Optimized the comments auth check to reduce unnecessary requests and 403 responses. The /ghost/auth-frame/ endpoint now checks if the request contains an Admin session cookie and returns an empty 204 response when no cookie is present, avoiding script requests and subsequent 403-generating API requests.

  • Caching Optimizations: Improved caching for get helper queries by modifying filters to make identical queries more cacheable, which should improve performance for repeated similar queries.

  • Auth Frame Caching: Added cache-control header back to /auth-frame/ response with Cache-Control: public, max-age: 0 to ensure cache systems work efficiently.

Impact Summary

Ghost v5.80.3 is a stability-focused release that addresses multiple HTTP 500 errors and improves error handling across the platform. The most significant improvements are in how Ghost handles edge cases like invalid Range headers, image processing failures, and oembed errors.

The release also includes several UI fixes, particularly for the members table scrolling issues and comments block functionality. SEO is improved by allowing /p/ redirects to be indexed by search engines, which could positively impact site visibility.

Performance optimizations for comments authentication and query caching should result in fewer unnecessary requests and better response times. The extraction of the Unsplash Selector as a standalone package is a step toward better code reusability and maintenance.

Overall, this release enhances the reliability and user experience of Ghost without introducing breaking changes, making it a recommended update for all installations.

Full Release Notes

  • 🎨 Updated Source to v1.2.1 - Ghost CI
  • 🎨 Updated Casper to v5.7.1 - Ghost CI
  • 🎨 Reduced requests and 403 responses for comments auth check (#19840) - Kevin Ansfield
  • 🐛 Fixed 500 errors for invalid theme layouts (#19848) - Fabien 'egg' O'Carroll
  • 🐛 Fixed /p/ redirects not being indexed by search engines (#19864) - Michael Barrett
  • 🐛 Fixed adding recommendation when oembed fails (#19861) - Sag
  • 🐛 Fixed comments block disappearing when performing certain actions (#19846) - Kevin Ansfield
  • 🐛 Fixed Tiers API erroring when invalid filter passed (#19845) - Fabien 'egg' O'Carroll
  • 🐛 Fixed HTTP 500 error when image processing fails during upload - Daniel Lockyer
  • 🐛 Fixed returning HTTP 500 response when recommendations check fails - Daniel Lockyer
  • 🐛 Fixed HTTP 500 responses when oembed endpoint receives error - Daniel Lockyer
  • 🐛 Fixed handling of image uploads with overly long filenames - Daniel Lockyer
  • 🐛 Fixed HTTP 500 error when given incorrect Range header - Daniel Lockyer

View the changelog for full details: v5.80.2...v5.80.3

Statistics:

File Changed171
Line Additions4,215
Line Deletions1,922
Line Changes6,137
Total Commits50

User Affected:

  • Improved stability with fewer HTTP 500 errors in various scenarios
  • Better error handling for image uploads with long filenames
  • Fixed issues with the Tiers API when invalid filters are passed
  • Improved handling of recommendations when oembed fails

Contributors:

renovate[bot]minimaluminiumdvdwindendaniellockyerrkafptimemanagementskronaldlangeveldkevinansfieldallouispeterzimonsagzymike182ukaileengithub-actions[bot]