Home

>

Tools

>

Ghost

>

Releases

>

5.86.0

Ghost Release: 5.86.0

Tag Name: v5.86.0

Release Date: 6/21/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.86.0: Enhanced Editor Experience with Internal Linking

Ghost v5.86.0 brings significant improvements to the editor experience with the internal linking feature now out of beta. Content creators can now easily search and link to existing posts, pages, tags, and authors directly from the editor using the "@" shortcut. The update also includes automatic slug updates for draft posts, fixes for bookmark creation and embedding issues, and improvements to the UI for various user roles.

Highlight of the Release

    • Internal linking feature moved out of beta, allowing easy searching and linking to existing content
    • New "@" shortcut for quickly adding internal links and bookmarks
    • Automatic slug updates for draft posts based on title changes
    • Fixed bookmark creation for sites that block certain user agents
    • Improved editor experience with better button URL suggestions for all user roles

Migration Guide

No specific migration steps are required for this release. The new features like internal linking and the "@" shortcut are available automatically after upgrading.

If you're a developer interested in using the OpenTelemetry instrumentation:

  1. It's enabled automatically if NODE_ENV === 'development' or can be explicitly enabled via config with opentelemetry:enabled
  2. To use the Jaeger container for viewing traces, run yarn docker:reset to pick up changes in the docker-compose file (note: this will reset your DB)
  3. Access the Jaeger UI at http://localhost:16686/search to view traces

Upgrade Recommendations

This release brings significant improvements to the editor experience and fixes several important bugs. It's recommended for all Ghost users to upgrade to v5.86.0, especially for:

  • Content creators who will benefit from the improved internal linking features
  • Sites experiencing issues with bookmark creation for certain websites
  • Administrators who need to override accent colors via code injection
  • Sites with high email traffic that may have been affected by the member timestamp race condition

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

Bug Fixes

Editor and Content Creation Fixes

  • Bookmark Creation: Fixed bookmark creation for sites that block certain user agents (like nytimes.com) by switching to a standard browser user-agent string.
  • Bluesky URL Embedding: Fixed an issue where Bluesky URLs were creating bookmarks rather than proper embeds due to validation issues with the height field.
  • Button URL Suggestions: Fixed button URL suggestions not loading for Contributors, Editors, and Authors when using cards with buttons (Button, Email CTA, Header, Product).

UI and Display Fixes

  • Accent Color Override: Fixed inability to override accent color variable via code injection by moving the output of the accent color style element before the site and post/page/tag code injection output.
  • Dashboard Display: Fixed issue where the dashboard would appear blank if members were disabled before completing onboarding.
  • "What's New" Notification: Fixed the notification for contributors that previously took up the whole width of the admin and wasn't interactive.
  • Newsletter Typography: Refined newsletter typography to better reflect content hierarchy, with adjusted spacing between titles and subtitles.
  • Comments CTA Box Borders: Updated borders in comments CTA box to make it easier for theme developers to style.

Technical Fixes

  • Node 20 Compatibility: Fixed shutdown signal compatibility issue with Node 20 by switching from string-based arguments to process.exit to an anonymous function.
  • SVG File Handling: Fixed handling of SVG files with missing tags that previously caused crashes.
  • Member Timestamp Race Condition: Fixed race condition when updating member's last_seen_at timestamp that could cause database load issues.

New Features

Internal Linking System Improvements

  • Internal Linking Out of Beta: The link toolbar and bookmark cards now let you search your existing posts, pages, tags, and authors in addition to manually entering URLs.
  • "@" Shortcut for Quick Linking:
    • Typing "@" in the editor immediately triggers an internal link search
    • Continue typing to search through your content
    • Use arrow keys or mouse to select results
    • Press Enter or click to insert the selected result's title pre-linked
    • Typing "@" on a blank paragraph provides a quick way to search and add a bookmark

Editor Improvements

  • Automatic Slug Updates: Post slugs now re-generate based on the post title for draft posts unless manually set, making it more intelligent for work-in-progress titles.
  • ActivityPub Feature (Behind Feature Flag): Added a WIP version of the Ghost-to-Ghost ActivityPub feature that shows followed sites, followers, published articles, activities, and liked articles.

Development Tools

  • OpenTelemetry Instrumentation: Added to Ghost backend for better performance monitoring in development environments, with Jaeger container support in docker-compose.

Security Updates

No significant security fixes were included in this release.

Performance Improvements

Database and Request Handling

  • Member Timestamp Updates: Fixed a race condition when updating member's last_seen_at timestamp, which significantly reduces database load by:
    • Adding a lock to the member row
    • Only updating timestamps when necessary (not already updated in the current day)
    • Avoiding unnecessary locks on the labels and newsletters tables
    • Improving Ghost's ability to handle large influxes of requests to redirect endpoints

Development Performance

  • OpenTelemetry Implementation: Added OpenTelemetry instrumentation with lazy-loading to avoid boot time regression, ensuring the packages are only loaded when instrumentation is enabled.
  • Jaeger Integration: Added Jaeger container to Ghost's docker-compose file for viewing traces locally without impacting performance.

Impact Summary

Ghost v5.86.0 significantly enhances the content creation workflow with the internal linking system now fully released from beta. The new "@" shortcut makes it much faster to connect content within your site, improving both the editor experience and the interconnectivity of your content.

The automatic slug updates for draft posts solves a common pain point where early drafts with working titles would retain those URLs unless manually updated. Now, slugs intelligently update with title changes until they're manually set or the post is published.

Several important fixes address issues with bookmark creation, embedding, and UI elements that improve the experience for all user roles. The fix for the member timestamp race condition is particularly important for larger sites with high email traffic, as it reduces database load and improves request handling during email campaigns.

For developers, the addition of OpenTelemetry instrumentation provides better visibility into Ghost's performance during development, while various dependency updates and compatibility fixes ensure smooth operation across different environments.

Full Release Notes

  • ✨ Moved internal linking feature out of beta - Kevin Ansfield
  • ✨ Added "@" shortcut to trigger internal linking search (beta) - Kevin Ansfield
  • 🎨 Improved editor behavior to automatically update slug for draft posts (#20388) - Steve Larson
  • 🐛 Fixed bookmark creation for sites that block some user agents - Kevin Ansfield
  • 🐛 Fixed Bluesky URLs creating bookmarks rather than embeds (#20435) - Kevin Ansfield
  • 🐛 Fixed inability to override accent color variable via code injection - Kevin Ansfield
  • 🐛 Fixed button URL suggestions not loading for contributors, editors and authors (#20416) - Sag
  • 🐛 Fixed dashboard appearing blank if members disabled before completing onboarding - Kevin Ansfield

View the changelog for full details: v5.85.2...v5.86.0

Statistics:

File Changed125
Line Additions10,744
Line Deletions3,634
Line Changes14,378
Total Commits47

User Affected:

  • Can now use the internal linking feature (out of beta) to easily search and link to existing content
  • Can use the "@" shortcut to quickly search and add text links or bookmarks
  • Draft post slugs now automatically update based on title changes until manually set
  • Better bookmark creation for sites that block certain user agents

Contributors:

renovate[bot]kevinansfield9larsonsdaniellockyerdvdwindenpeterzimoncmraibleronaldlangeveldallouisgithub-actions[bot]sagzy