Home

>

Tools

>

Ghost

>

Releases

>

5.75.3

Ghost Release: 5.75.3

Tag Name: v5.75.3

Release Date: 1/5/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.75.3: Enhanced Performance Monitoring with Sentry

This release introduces comprehensive Sentry performance monitoring capabilities to Ghost Server, allowing for better tracking of API response times, database queries, and detailed profiling. These features are opt-in and configurable through site settings, providing valuable performance insights without impacting your site unless explicitly enabled. The update also includes environment detection improvements and dependency optimizations to enhance stability.

Highlight of the Release

    • Added Sentry performance monitoring for API requests
    • Custom Sentry integration for Knex.js to trace database queries
    • Added Sentry Profiling for detailed performance data collection
    • Improved environment detection using PRO_ENV when available
    • Optimized dependency loading for better stability

Migration Guide

No migration steps are required for this release.

If you wish to enable the new Sentry performance monitoring features, add the appropriate configuration to your Ghost config file:

{
  "sentry": {
    "tracing": {
      "enabled": true,
      "sampleRate": 0.1  // Adjust between 0 and 1 based on your needs
    },
    "profiling": {
      "enabled": true,
      "sampleRate": 0.1  // Adjust between 0 and 1 based on your needs
    }
  }
}

Note that you must first enable tracing before profiling can be enabled.

Upgrade Recommendations

This is a minor release that adds optional performance monitoring capabilities. It's recommended for:

  • Sites experiencing performance issues that need better monitoring
  • Enterprise users looking for a cost-effective alternative to NewRelic
  • Administrators who want more visibility into API and database performance

The upgrade is low-risk as all new features are opt-in and disabled by default. Standard upgrade procedures apply.

Bug Fixes

  • Environment Detection: Fixed environment identification in Sentry by using PRO_ENV when available, falling back to config env
  • Express Integration: Removed incompatible Sentry Express integration
  • Test Snapshots: Updated snapshots for the new year to fix failing tests

New Features

Sentry Performance Monitoring

Ghost now includes comprehensive Sentry performance monitoring capabilities:

  • API Request Tracing: Track response times for API requests with configurable sampling rates
  • Database Query Tracing: Custom Knex.js integration to monitor database performance
  • Detailed Profiling: Collect in-depth performance data with Sentry Profiling
  • Environment-Aware Reporting: Correctly identifies production vs staging environments

All monitoring features are disabled by default and require explicit configuration:

{
  "sentry": {
    "tracing": {
      "enabled": true,
      "sampleRate": 0.1
    },
    "profiling": {
      "enabled": true,
      "sampleRate": 0.1
    }
  }
}

This provides a more cost-effective alternative to NewRelic for performance monitoring across all Ghost sites.

Security Updates

No security fixes were included in this release.

Performance Improvements

  • Lazy Loading: Implemented lazy loading for @sentry/profiling-node dependency to reduce overhead when profiling is not enabled
  • Optimized Resource Usage: Performance monitoring features are opt-in and only consume resources when explicitly enabled
  • Configurable Sampling: Fine-grained control over sampling rates allows for balancing between data collection and performance impact
  • Targeted Monitoring: The ability to monitor specific aspects of performance (API, database) helps identify bottlenecks more efficiently

Impact Summary

This release significantly enhances Ghost's performance monitoring capabilities by integrating Sentry for tracking API response times and database queries. The implementation is thoughtfully designed to be completely opt-in, with no performance impact unless explicitly enabled through configuration.

For administrators and developers, this provides a powerful and cost-effective alternative to expensive monitoring solutions like NewRelic, making comprehensive performance tracking accessible across all Ghost sites rather than just the largest ones.

The addition of database query tracing through a custom Knex.js integration and detailed profiling capabilities gives unprecedented visibility into backend performance, helping identify bottlenecks and optimization opportunities.

Environment detection improvements ensure that monitoring data is correctly attributed to production or staging environments, making analysis more accurate and actionable.

Full Release Notes

Statistics:

File Changed13
Line Additions1,410
Line Deletions57
Line Changes1,467
Total Commits8

User Affected:

  • Gain access to new performance monitoring tools through Sentry integration
  • Can configure tracing and profiling via configuration settings
  • Better visibility into API response times and database query performance

Contributors:

cmraiblemike182ukdaniellockyergithub-actions[bot]