Home

>

Tools

>

Ghost

>

Releases

>

Latest Release 6.0.0-alpha.1

Latest Release: 6.0.0-alpha.1

Tag Name: v6.0.0-alpha.1

Release Date: 7/16/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 6.0.0-alpha.1 introduces major breaking changes including removal of Node.js v18 and v20 support (requiring Node.js v22+), complete removal of AMP support, enforcement of a 100-item limit on API requests, and significant database changes including migrating user IDs from hardcoded values to ObjectIDs. This release focuses on modernizing Ghost's codebase, improving performance, and preparing for future enhancements.

Highlight of the Release

    • Complete removal of AMP support from both core and admin
    • Dropped support for Node.js v18 and v20, now requiring Node.js v22+
    • Enforced maximum limit of 100 items for API requests and {{#get}} helper
    • Migrated from hardcoded user IDs to ObjectIDs for improved database structure
    • Removed created_by and updated_by fields from database schema
    • Increased column length for feature_image_alt fields

Migration Guide

Upgrading to Ghost 6.0

Prerequisites

  • You must be running either the latest Ghost 4.x version or any Ghost 5.x version before upgrading to 6.0
  • A migration error will be shown if attempting to upgrade from an earlier version

Node.js Requirements

  • Ghost 6.0 requires Node.js v22+
  • You must upgrade your Node.js environment before upgrading Ghost

Breaking Changes to Address

  1. AMP Support Removal:

    • All AMP functionality has been removed
    • AMP routes will be redirected but AMP-specific content will no longer be generated
    • Remove any AMP-specific customizations in your themes
  2. API Limits:

    • All API endpoints now enforce a maximum limit of 100 items
    • Update any code that relies on retrieving more than 100 items in a single request
    • The {{#get}} helper also enforces this limit
  3. Removed Fields:

    • created_by and updated_by fields have been removed
    • Update any custom code that relies on these fields
  4. Session Endpoint:

    • The /session/ endpoint has been removed
    • Use /users/me/ endpoint instead for retrieving logged-in user data
  5. User ID Changes:

    • User IDs are now ObjectIDs instead of sequential numbers
    • Update any code that assumes the owner user has ID 1

Upgrade Recommendations

Urgency: Medium - This is an alpha release and not recommended for production environments yet.

Who should upgrade:

  • Developers who want to test their themes and integrations against the upcoming breaking changes
  • Contributors to the Ghost ecosystem who want to ensure compatibility with Ghost 6.0

Who should wait:

  • Production sites should wait for the stable 6.0.0 release
  • Sites that rely heavily on AMP functionality should carefully plan their migration strategy
  • Sites that cannot yet upgrade to Node.js v22+ should remain on Ghost 5.x

Preparation steps:

  1. Set up a staging environment with Node.js v22+
  2. Test your themes and custom code against this alpha release
  3. Update any code that relies on removed features or changed APIs
  4. Plan for the removal of AMP support if your site currently uses it
  5. Review API usage to ensure compliance with the new 100-item limit

Bug Fixes

Session Management Fixes

  • Fixed session logout issues that could occur post-6.0 upgrade for users with ID of 1
  • Updated the user_id field in the session_data field of the sessions table during migration

Admin UI Fixes

  • Fixed Admin stats-x redirect conditionals to prevent infinite loops
  • Fixed posts-x redirect when analytics is not set up
  • Ensured publish-success modal is properly shown after successful publish

New Features

Node.js v22+ Support

Ghost now exclusively supports Node.js v22+, taking advantage of new features such as:

  • Native TypeScript syntax support
  • Improved ESM module loading capabilities
  • Enhanced performance and security features

ObjectID for User Identification

  • Owner users are now created with an ObjectID instead of hardcoded ID 1
  • A migration has been added to convert existing user IDs from 1 to ObjectIDs
  • This improves database structure and removes assumptions about user ID values

Enhanced Feature Image Support

  • Increased column length for feature_image_alt fields in posts_meta and post_revisions tables
  • Provides more flexibility for descriptive alt text

Security Updates

API Security Improvements

  • Changed API token middleware to throw 403 Forbidden instead of 501 Not Implemented for unauthorized access
  • This provides clearer error messaging and better security semantics
  • Improved session management with proper user ID handling during migrations

Performance Improvements

Database Optimizations

  • Removal of unused fields (created_by and updated_by) reduces database size and improves query performance
  • Migration from hardcoded IDs to ObjectIDs provides better scalability and performance
  • Removal of unused tables like temp_mail_events reduces database overhead

API Request Limiting

  • Enforced maximum limit of 100 items for API requests helps prevent performance issues from overly large queries
  • Applied consistent limit capping across Admin API, Content API, and Comments API
  • Implemented the same limit for the {{#get}} helper to ensure theme performance

Impact Summary

Ghost 6.0.0-alpha.1 represents a significant shift for the platform with several breaking changes that modernize the codebase and prepare for future enhancements. The most impactful changes include:

  1. Node.js Requirements: Dropping support for Node.js v18 and v20 in favor of v22+ allows Ghost to leverage newer JavaScript features, TypeScript syntax support, and improved ESM module loading. This will enable faster development and more modern coding practices but requires hosting environments to update.

  2. AMP Removal: The complete removal of AMP support reflects the changing web landscape where AMP is becoming less relevant. This simplifies the codebase but requires sites that heavily relied on AMP to adapt their strategies.

  3. API Limits: The enforcement of a 100-item limit on API requests and the {{#get}} helper improves performance and prevents resource abuse but may require adjustments to code that expected unlimited results.

  4. Database Structure: The migration from hardcoded user IDs to ObjectIDs and removal of unused fields improves the database structure and sets the foundation for more flexible user management in the future.

These changes collectively modernize Ghost's architecture, improve performance, and remove technical debt, but require careful planning for the upgrade process, especially for sites with custom integrations or themes.

Full Release Notes

  • 🎨 Ensured owner user is created with an ObjectID (#24088) - Michael Barrett
  • 🔥 Removed GET /session/ endpoint (#24148) - Hannah Wolfe
  • 🔥 Enforced max limit of 100 in {{#get}} helper (#24145) - Kevin Ansfield
  • 🔥 Enforced max ?limit of 100 in API requests (#24118) - Kevin Ansfield
  • 🔥 Removed updatedBy & createdBy fields in the admin app (#24116) - Michael Barrett
  • 🔥 Removed AMP from core (#24055) - Troy Ciesco
  • 🔥 Removed updated_by & created_by fields (#24053) - Michael Barrett
  • 🔥 Removed Node.js v20 support (#24004) - Hannah Wolfe
  • 🔥 Removed Node.js v18 support (#23964) - Hannah Wolfe

View the changelog for full details: v5.130.0...v6.0.0-alpha.1

Statistics:

File Changed300
Line Additions1,282
Line Deletions7,151
Line Changes8,433
Total Commits30

User Affected:

  • Must upgrade to Node.js v22+ as support for v18 and v20 has been removed
  • Need to update any code that relies on the removed `/session/` endpoint
  • Must adapt to the new 100-item limit on API requests and `{{#get}}` helper
  • Should update any code that relied on `created_by` or `updated_by` fields which have been removed
  • Need to update any integrations that relied on AMP functionality

Contributors:

9larsonsrenovate[bot]ErisDStroyciescomike182ukkevinansfieldgithub-actions[bot]