Home

>

Tools

>

Ghost

>

Releases

>

5.80.0

Ghost Release: 5.80.0

Tag Name: v5.80.0

Release Date: 3/1/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.0 introduces significant performance improvements through lazy-loading of comments data and enhanced caching mechanisms. This release focuses on optimizing site performance, fixing UI bugs, and improving the member experience. Key updates include lazy-loading comments to reduce server load, better cache invalidation handling, and fixes for Portal newsletter subscriptions and content editing issues. These changes will particularly benefit sites with active comment sections and those concerned about performance optimization.

Highlight of the Release

    • Lazy-loading of comments data to improve performance and reduce server load
    • Fixed cache invalidation header race conditions for better site performance
    • Improved member filtering to include archived offers
    • Fixed Portal newsletter subscription sync issues
    • Enhanced content card designs for better visual consistency

Migration Guide

No migration steps are required for this release. The improvements to caching, lazy-loading of comments, and bug fixes are all handled automatically when upgrading to v5.80.0.

Upgrade Recommendations

This is a recommended upgrade for all Ghost users, especially those with:

  • Sites that have active comment sections
  • Sites concerned about performance optimization
  • Users experiencing issues with the HTML card editor
  • Sites using Portal for newsletter subscriptions

The performance improvements through lazy-loading of comments and enhanced caching mechanisms provide significant benefits with no migration effort required. The bug fixes for Portal newsletter subscriptions and content editing also address important user experience issues.

To upgrade, follow the standard Ghost update process for your installation method.

Bug Fixes

Portal and Member Experience

  • Fixed newsletter subscriptions getting out of sync in Portal
  • Synchronized member state when logged in to prevent conflicts between client data and database
  • Fixed extra whitespace in plaintext transactional member emails
  • Removed comment icon at the top of email template to fix layout issues

Content Editing

  • Fixed a bug where pasting into HTML card editor would replace the card with a paragraph
  • Fixed incorrect cache invalidation headers for slugs Admin API endpoint
  • Fixed comments MockedApi and tests to serve comments in reverse chronological order

Performance and Caching

  • Fixed cache invalidation header race conditions
  • Ensured that endpoint header config is not modified in future
  • Added support for setting headers on a per-request basis
  • Ensured comment counts route doesn't load member data, saving database queries

New Features

Lazy-loading of Comments Data

Ghost now lazy-loads comments data, significantly improving performance by:

  • Deferring API requests until the comments block is scrolled into view
  • Reducing initial page load data usage for visitors
  • Decreasing server load for page views where comments are never seen

Enhanced Comments API and Caching

  • New endpoint /members/api/comments/{post_id}/ for better cache bucketing
  • Improved cache invalidation for comments-related actions
  • Removed timestamp from initial load of comments to enable better caching
  • Default ordering for comments API requests to simplify client code

Member Filtering Improvements

  • Archived offers are now included in member filtering
  • Allows site owners to filter members who previously redeemed offers that are now archived

Development Environment Improvements

  • Added initial setup for direnv to provide a basic development environment

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Comments System Performance

  • Lazy-loading Implementation: Comments are now lazy-loaded only when scrolled into view, using the IntersectionObserver API
  • Reduced API Calls: Eliminated unnecessary API calls for comments on pages where the comments section isn't viewed
  • Improved Caching: Removed timestamp from initial comments load to enable better caching across users
  • Optimized Pagination: Improved timestamp handling for pagination requests to maintain consistency and enable caching

API and Request Optimization

  • Comment Counts Optimization: Ensured comment counts route doesn't load member data, saving database queries
  • Cache Invalidation: Fixed race conditions in cache invalidation headers
  • Per-request Headers: Added support for setting headers on a per-request basis without modifying shared config
  • Simplified Requests: Removed redundant order parameters from API requests by setting appropriate defaults

SEO and Rendering

  • Improved Paywall Links: Added hrefs to paywall links for better search engine optimization
  • Content Card Optimization: Updated various content cards to use more consistent and efficient styling

Impact Summary

Ghost v5.80.0 delivers substantial performance improvements through intelligent lazy-loading of comments and enhanced caching mechanisms. This update significantly reduces server load and improves page load times, particularly for sites with active comment sections.

The release addresses several user experience issues, including fixing Portal newsletter subscription syncing, improving content card designs, and resolving HTML editor bugs. Site owners will benefit from reduced server resource usage, while members will experience faster page loads and more consistent interactions.

The technical improvements to caching and API endpoints provide a foundation for better performance without requiring any migration effort. This update represents Ghost's continued focus on performance optimization and user experience refinement.

Full Release Notes

  • ✨ Added lazy-loading of comments data (#19778) - Kevin Ansfield
  • 🎨 Include archived offers in members filter (#19756) - Ronald Langeveld
  • 🐛 Prevented newsletter subscriptions from getting out of sync in Portal (#19768) - Steve Larson
  • 🐛 Fixed cache invalidation header race conditions - Fabien O'Carroll
  • 🐛 Fixed extra whitespace in plaintext transactional member emails (#19736) - Kevin Ansfield
  • 🐛 Fixed pasting into HTML card editor replacing the card with a paragraph (#19757) - Kevin Ansfield

View the changelog for full details: v5.79.6...v5.80.0

Statistics:

File Changed66
Line Additions1,049
Line Deletions697
Line Changes1,746
Total Commits34

User Affected:

  • Improved site performance through lazy-loading of comments and better cache handling
  • Reduced server load for pages where comments aren't viewed
  • Better SEO with improved paywall links

Contributors:

renovate[bot]kevinansfieldgithub-actions[bot]allouisdjordjevlais9larsonsronaldlangeveldsanne-sanpeterzimon