TL;DR
Ghost 1.0.0-alpha.10 introduces several significant improvements including a new content screen layout prototype, blog icon upload functionality, optional AMP support, and a new database migration system using knex-migrator. This alpha release continues the weekly build series leading to Ghost 1.0.0 and is intended for development and testing purposes only.
Highlight of the Release
- New content screen layout prototype with filtering capabilities
- Blog icon upload functionality for favicon and theme use
- AMP support is now optional and can be toggled in settings
- Database migrations now handled via knex-migrator
- Dropped support for Node.js v0.12
Migration Guide
Database Migration Changes
Ghost now uses knex-migrator exclusively for database migrations. The old migration system has been removed. If you're upgrading from a previous alpha version, you'll need to use the knex-migrator command line tool.
# Install knex-migrator globally
npm install -g knex-migrator
# Run migrations
knex-migrator migrate
Node.js Version Requirement
Node.js v0.12 support has been dropped as it reached End-of-Life on December 31, 2016. Please ensure you're running Node.js v4 or higher before upgrading to this version.
Upgrade Recommendations
This alpha release is strictly for development and testing only and should not be used for production blogs. If you're testing the alpha series, we recommend upgrading to see the latest features and provide feedback.
For production sites, we recommend staying on the latest LTS release (v0.11.x) until Ghost 1.0.0 is officially released.
Bug Fixes
Subscriber Import
Fixed missing logic for importing subscribers.
Structured Data
Fixed issue with structured data by properly escaping sameAs output for JSON-LD.
Invite Permissions
Fixed permissions for editor role when sending invites.
CORS Headers
Fixed an issue where CORS headers were lost during redirects due to middleware ordering. The CORS middleware now runs before connect-slashes.
Theme Caching in Development Mode
Fixed caching of themes in development mode by replacing hard-coded maxAge value with a dynamic value based on environment.
Database Backup
Fixed the database backup functionality by correcting the require path and improving logging.
New Features
New Content Screen Layout
A prototype of a new content screen layout has been introduced that removes the post preview and adds filtering capabilities. This is an early version with design and features expected to improve in future releases.
Blog Icon Upload
Administrators can now upload a square "blog icon" that will be used for the favicon and is available in themes via the {{@blog.icon}} helper. This provides a solution for cases where a full logo or background image isn't appropriate.
Optional AMP Support
AMP (Accelerated Mobile Pages) support is now optional and can be disabled in general settings. When disabled, the amp route will no longer work.
Improved Navigation URL Handling
Navigation URLs are now URL-encoded rather than HTML escaped, providing better handling of special characters in navigation links.
Security Updates
Email Validation Enhancement
Expanded subscriber email validation to not only check for existence but also validate if it's a proper email address format. Invalid email addresses will now trigger an error.
Validator Update
Updated to Validator 6.2.1 which includes improved security checks for URL-embedded script tags.
Performance Improvements
Brute Force Protection Optimizations
Improved brute force protection by ensuring correct key usage and properly utilizing req.ip with Ghost's trust proxy configuration.
Static Theme Middleware
Improved theme asset caching by implementing dynamic maxAge values based on the current environment.
Impact Summary
Ghost 1.0.0-alpha.10 represents a significant step toward the final 1.0.0 release with several important architectural changes and new features. The migration to knex-migrator simplifies database management, while the new blog icon functionality provides more branding flexibility. Making AMP optional gives site owners more control over their mobile experience.
The prototype content screen layout signals a major UI direction for Ghost's admin interface, focusing on content filtering and management rather than preview. This change, along with the dropped support for Node.js v0.12, shows Ghost's commitment to modernizing both its user experience and technical foundation.
For developers, the addition of the yarn.lock file and improved error handling with Ghost-Ignition integration demonstrates a focus on developer experience and maintainability.
Full Release Notes
This is the tenth in a series of weekly alpha builds we'll be releasing as we work towards Ghost 1.0.0.
This release is strictly for development and testing only, and must not be used for production blogs
This alpha contains:
- an initial prototype of a new content screen layout that drops the post preview and adds filtering - this is a very early version, expect the design and features to improve dramatically over the coming weeks
- the ability to upload a square "blog icon" that will be used for the favicon and available in themes via the
{{@blog.icon}} helper for those cases where a full logo or background image just isn't the right fit
- AMP is now optional as per the recent LTS release
- database migrations are now handled entirely via the knex-migrator command
You can read more about our plans for Ghost v1.0 and the v0.11 LTS version in the lts blog post. There's also more information on the alpha page.
You can see the full change log for the details of every change included in this release.