Home

>

Tools

>

Ghost

>

Releases

>

2.29.0

Ghost Release: 2.29.0

Tag Name: 2.29.0

Release Date: 8/20/2019

Ghost LogoGhost

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

TL;DR

Ghost 2.29.0: Bug Fixes and Reverted Post Type Changes

This release focuses on stability improvements by fixing critical bugs in the blog setup process and database migration rollbacks. Most notably, Ghost has reverted a significant set of changes related to the post.page to post.type column migration that was causing performance issues on larger sites. This change will be reintroduced in Ghost 3.0 with proper optimizations.

Highlight of the Release

    • Fixed critical bug that caused blog setup to crash when email configuration was disabled
    • Reverted post.page to post.type column migration to prevent performance issues on large sites
    • Fixed database migration rollback errors related to transaction handling
    • Updated various dependencies including knex and Ghost testing tools

Migration Guide

Migration Notes

Reverted Post Type Column Changes

If you were developing against the post.type column that was briefly introduced, be aware that these changes have been reverted in this release. The post.page property should continue to be used until Ghost 3.0, which will properly introduce the type column with optimized migration paths.

For developers who were using the type column:

// This approach will no longer work in 2.29.0
post.get('type') === 'page'

// Continue using the page property instead
post.get('page') === true

No other migration steps are required for this release.

Upgrade Recommendations

This release is recommended for all Ghost installations, especially for:

  1. Sites experiencing issues during blog setup with custom email configurations
  2. Large sites that may have experienced performance issues with the post.type column changes
  3. Installations that need to perform database migration rollbacks

The upgrade process is standard and should be straightforward:

ghost update

Or if using a custom installation:

npm update ghost

No special steps are required for this upgrade.

Bug Fixes

Critical Bug Fixes

  • Fixed blog setup crash with disabled email config (#11041)

    • Resolved an issue where the blog setup would crash if the sendWelcomeEmail configuration was set to a falsy value
    • The setup method was implicitly returning undefined instead of a promise
    • Added regression tests for proper handling of Pro config blog setup
  • Fixed database migration rollback errors

    • Resolved "Unable to update nested relation" errors when rolling back migrations
    • Fixed issues with bookshelf-relations that could result in SQLITE_BUSY: database is locked errors
    • Properly passing transaction options when calling .destroy() to avoid database lock problems

Reverted Changes

  • Reverted a significant set of changes related to the post.page to post.type column migration
    • This change was causing performance issues on larger Ghost installations
    • The migration will be reintroduced with proper optimizations in Ghost 3.0

New Features

No significant new features were added in this release. This version primarily focuses on bug fixes, performance improvements, and dependency updates.

Security Updates

No security fixes were included in this release.

Performance Improvements

  • Reverted post.page to post.type column migration

    • The column addition/removal process was too slow for large sites
    • By reverting these changes, sites with large post databases will no longer experience performance degradation
    • This improves database operation performance for sites of all sizes, but especially those with many posts
  • Improved database migration rollback handling

    • Better transaction management during migration rollbacks
    • Prevents database locks during complex operations
    • More efficient handling of related model operations during rollbacks

Impact Summary

Ghost 2.29.0 is primarily a maintenance release that improves stability and fixes critical bugs. The most significant change is the reversion of the post.page to post.type column migration that was causing performance issues on larger sites. This change will be reintroduced with proper optimizations in Ghost 3.0.

The release also fixes a critical bug in the blog setup process that would cause crashes when email configuration was disabled, and resolves issues with database migration rollbacks that could lead to database locking errors.

For most users, this release will provide a more stable Ghost experience without introducing any breaking changes. Developers should note that if they were using the briefly introduced post.type column, they should revert to using the post.page property until Ghost 3.0.

Full Release Notes

  • 🐛 Fixed blog setup crashing for falsy email config (#11041) - Rishabh Garg
  • 🐛 Fixed errors when rolling back certain database migrations

You can see the full change log for the details of every change included in this release.

Statistics:

File Changed148
Line Additions1,576
Line Deletions1,798
Line Changes3,374
Total Commits14

User Affected:

  • Fixed issue where blog setup would crash when email configuration was disabled
  • Improved stability when rolling back database migrations
  • No longer need to worry about performance issues on large sites related to post.page/post.type column changes

Contributors:

renovate-botkevinansfieldrshbhgrg