Home

>

Tools

>

Ghost

>

Releases

>

3.12.1

Ghost Release: 3.12.1

Tag Name: 3.12.1

Release Date: 3/26/2020

Ghost LogoGhost

Open-source publishing platform specifically designed for professional bloggers and publications. Focuses on clean, minimalist writing and publishing experience.

TL;DR

Ghost 3.12.1 is a maintenance release that fixes a critical bug where post menus became unresponsive. This release also includes significant internal code restructuring with multiple components extracted into separate packages, improving the modularity of the codebase. While most changes are under the hood, the fix for unresponsive post menus ensures content creators can continue managing their posts without interruption.

Highlight of the Release

    • Fixed critical bug with post menus becoming unresponsive (#11685)
    • Extracted multiple core components into separate packages for better modularity
    • Updated Casper theme to version 3.0.11
    • Added automated Sentry release notifications via GitHub Actions

Migration Guide

No migration steps are required for this release. The changes are primarily internal refactoring and a bug fix that doesn't require any action from users or developers.

For developers working directly with Ghost's codebase:

  • If you were using common.errors, you should now use the @tryghost/errors package
  • If you were using the image manipulation library directly, you'll need to update to use @tryghost/image-transform
  • If you were working with mobiledoc cards directly, you'll need to use @tryghost/kg-default-cards and @tryghost/kg-card-factory

Upgrade Recommendations

This release fixes a critical bug affecting post menu functionality, so upgrading is highly recommended for all Ghost users, especially those who actively manage content.

The upgrade process should be straightforward with no breaking changes for regular users. Most changes are internal refactoring that won't affect normal operation of your Ghost site.

For developers with custom code that interacts with Ghost's internal APIs, review the code modularization changes if you're directly using any of the affected components.

Bug Fixes

  • Fixed critical issue where post menus became unresponsive (#11685)
  • Fixed regression tests by removing .only that was accidentally committed
  • Added ghost_public_key and ghost_private_key to settings mock to ensure individual tests don't rely on other tests having been run
  • Removed typo in codebase

New Features

Code Modularization

  • Created new @tryghost/errors package to replace common.errors throughout the codebase
  • Extracted markdown HTML renderer to @tryghost/kg-markdown-html-renderer
  • Moved image manipulation code to new @tryghost/image-transform package
  • Replaced mobiledoc cards with @tryghost/kg-default-cards
  • Created @tryghost/kg-card-factory for card creation functionality

CI/CD Improvements

  • Added GitHub Action to automatically notify Sentry of releases
  • Enabled CI on Renovate branches
  • Configured Renovate to automerge patches from branch
  • Switched to native conditional for labels in PRs
  • Removed Travis maintenance option from Renovate

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

  • Improved code organization by moving apps service to frontend where it belongs
  • Cleaned up repeated module mocking utilities to reduce code duplication
  • Extracted several core components into separate packages, making the codebase more maintainable and modular
  • Removed optional sharp dependency from Ghost core, as it's now optionally required by the image-transform module

Impact Summary

Ghost 3.12.1 is primarily a maintenance release with one critical bug fix and significant internal code restructuring. The fix for unresponsive post menus ensures content creators can continue their work without interruption, which is essential for day-to-day operations.

The extensive code modularization efforts, while invisible to end users, represent an important step in Ghost's architectural evolution. By extracting core components into separate packages, the Ghost team is improving maintainability and setting the foundation for more flexible development in the future.

The updated Casper theme (3.0.11) ensures the default theme remains current, while improvements to the CI/CD pipeline with Sentry integration and Renovate configurations demonstrate the project's commitment to modern development practices.

Overall, this release balances immediate user needs (bug fix) with long-term technical improvements (code modularization) that will benefit the platform's stability and development velocity going forward.

Full Release Notes

  • 🐛 Fixed post menus becoming unresponsive (#11685)

Casper (the default theme) has been upgraded to 3.0.11.

Statistics:

File Changed56
Line Additions516
Line Deletions2,317
Line Changes2,833
Total Commits24

User Affected:

  • Fixed issue with post menus becoming unresponsive, allowing normal post management operations
  • Improved stability when working with the post editor interface

Contributors:

ErisDSdaniellockyerallouiskevinansfieldrenovate-bot