Home

>

Tools

>

Ghost

>

Releases

>

5.109.3

Ghost Release: 5.109.3

Tag Name: v5.109.3

Release Date: 2/7/2025

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.109.3 brings significant improvements to the ActivityPub integration with new repost functionality, UI enhancements for inbox posts, and performance optimizations. This release adds the ability to repost content, see repost counts, and receive notifications when your content is reposted. It also includes important performance improvements by removing stdout logging in production and moving gated content block processing behind a labs flag. Several bug fixes address issues with signup hCaptcha integration, profile navigation, and flaky tests. The release is rounded out with updated translations in multiple languages.

Highlight of the Release

    • Added ActivityPub repost functionality with UI indicators and notifications
    • Improved performance by removing stdout from default production logging options
    • Added support for showing reposted posts in inbox with enhanced UI
    • Fixed signup hCaptcha integration issue
    • Moved gated content block processing behind labs flag for performance testing
    • Added health check conditions for MySQL and Redis in Docker setup

Migration Guide

Gated Content Block Processing

If you've been using gated content blocks as part of alpha testing, please note that this functionality has been moved behind a labs flag for performance testing. If you disable this flag, any content that has already used gated blocks will become visible. To continue using gated content blocks:

  1. Navigate to Labs in your Ghost admin settings
  2. Ensure the gated content blocks flag is enabled

Docker Development Setup

If you're using Docker for local development, several script changes have been made:

  1. yarn docker:setup has been renamed to yarn setup:docker
  2. New commands are available:
    • yarn docker:build - Build the container
    • yarn docker:shell - Launch a bash shell in a disposable container
    • yarn docker:restart - Stop and restart all background services
  3. The yarn compose script for devcontainer setup has been removed

No other migration steps are required for this release.

Upgrade Recommendations

This is a minor release with important performance improvements and bug fixes. Upgrade is recommended for all users, especially for:

  1. Sites experiencing performance issues with high traffic loads
  2. Users actively using the ActivityPub integration
  3. Sites using Docker for development or deployment
  4. Sites that have been testing gated content blocks

The upgrade process should be straightforward with no breaking changes reported. As always, it's recommended to backup your database before upgrading.

Bug Fixes

Critical Fixes

  • hCaptcha Integration: Fixed issue where signup was not always called with hCaptcha
  • Profile Navigation: Fixed bug where original poster name and handle were leading to wrong profile
  • Gated Content: Moved gated content block processing behind labs flag to address potential performance issues

Test Stability Improvements

  • Scheduling Posts: Fixed flaky browser tests for scheduling posts by ensuring proper time validation
  • Publish and Email: Fixed race condition in publish and email post browser test by waiting for post to finish saving
  • Portal Tests: Fixed flaky portal browser tests by resetting language back to English after i18n tests
  • Invites Tests: Fixed leftover state in invites browser tests by properly signing out and back in as owner

Other Fixes

  • Docker Setup: Removed unused environment variable from compose.yml
  • Compose Configuration: Removed env_file from compose.yml to prevent errors when .env file doesn't exist
  • Universal Import: Reverted changes to uploaded filenames that were blocking customers migrating from other platforms

New Features

ActivityPub Enhancements

  • Repost Functionality: Added the ability to repost content with a new UI button wired to the ActivityPub endpoint
  • Repost Notifications: Users now receive notifications when someone reposts their content
  • Repost Count Display: Added UI indicators showing how many times a post has been reposted
  • Repost Animation: Implemented smooth animations for repost counters when counts change

Docker Improvements

  • Health Checks: Added service_healthy condition for MySQL and Redis to prevent Ghost from starting before database services are ready
  • Portal & Apps Support: Added support for portal and other apps in containerized Ghost via GHOST_DEV_APP_FLAGS environment variable
  • Improved Scripts: Added new Docker commands for common development workflows (docker:build, docker:shell, docker:restart)

UI Improvements

  • Accessibility: Added title tags to icon buttons to help users understand their function
  • External Media: Expanded external media inliner to handle srcset images and background image URLs in quotes

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Production Performance

  • Logging Optimization: Removed stdout from default production logging options, resulting in a 35% performance improvement in load tests by eliminating PrettyStream write performance degradation
  • Gated Content Processing: Moved gated content block processing behind labs flag to mitigate potential CPU usage issues with high traffic volumes

Code Optimizations

  • Lodash Removal: Removed Lodash from several code hotpaths, replacing with native JavaScript for better performance
  • Connection Pool: Removed unused connection pool instrumentation in favor of safer Prometheus-based methods
  • Sentry Integration: Removed unused Sentry profiling integration to reduce complexity and node_modules size
  • Code Refactoring: Refactored extra-attrs output serializer util for better readability and maintainability

Impact Summary

Ghost v5.109.3 delivers significant improvements to the ActivityPub integration with comprehensive repost functionality, including UI indicators, notifications, and animations. Performance optimizations are a key focus, with the removal of stdout logging in production environments yielding a 35% performance improvement in load tests. The release also addresses potential performance issues with gated content block processing by moving it behind a labs flag.

Docker development workflows receive substantial improvements with health checks for database services, better support for portal and other apps, and new convenience commands. Several bug fixes improve stability, particularly for the signup process, profile navigation, and browser tests.

The UI sees enhancements with better accessibility through title tags on icon buttons and improved handling of external media. International users benefit from updated translations in multiple languages.

Overall, this release balances new social features with important performance optimizations and quality-of-life improvements for developers and administrators.

Full Release Notes

  • 🔧 Removed stdout from default production logging options - Ricardo Pinto
  • 🌐 Updated Slovenian translations - martinverbic
  • 🌐 Updated Catalan transaltions - Àlex Rodríguez Bacardit
  • 🌐 Updated Brazilian Portuguese translations - Mateus Ribeiro
  • 🌐 Updated Vietnamese translations - Duy
  • 🌐 Updated Turkish translations - echobilisim3421

View the changelog for full details: v5.109.2...v5.109.3

Statistics:

File Changed81
Line Additions1,178
Line Deletions3,216
Line Changes4,394
Total Commits42

User Affected:

  • Can now repost content from other users in the ActivityPub integration
  • Will receive notifications when their content is reposted
  • Can see repost counts on their content
  • Will see improved UI for reposted content in their inbox

Contributors:

sam-lorddjordjevlaiskevinansfieldgithub-actions[bot]cmraiblerenovate[bot]sagzyechobilisim3421mastoduymatribeiro15alexrodbamartinverbicdaniellockyervershwalallouisrmgpintoPaulAdamDavis