TL;DR
Ghost 2.25.7 brings important security updates, bug fixes, and infrastructure improvements. This release includes security patches for dependencies, fixes for administrator password management, improved error messaging, and updates to the default 404 page. The minimum Node.js version requirement has been bumped to v8.10.0, and several dependencies have been updated for better security and performance.
Highlight of the Release
- Security updates for lodash dependency
- Administrators can now change other users' passwords without knowing their old passwords
- Improved error messaging for the {{get}} helper when API access is missing
- Updated default 404 page with more theme-agnostic styling
- Switched from UUID v1 to v4 for better security and simplicity
- Minimum Node.js version requirement bumped to v8.10.0
Migration Guide
Node.js Version Requirement
The minimum required Node.js version for Ghost has been bumped to v8.10.0. If you're running an older version of Node.js v8.x, you'll need to upgrade to at least v8.10.0 to continue using Ghost 2.25.7.
UUID Generation Change
If you have custom code that relies on the specific format or properties of UUID v1, you'll need to update it to work with UUID v4. UUID v4 is randomly generated and doesn't contain timestamp or hardware information like UUID v1 does.
Upgrade Recommendations
This release contains important security updates and bug fixes, so upgrading is recommended for all Ghost installations. The changes are mostly under the hood and shouldn't affect most users' day-to-day operations.
If you're running Node.js v8.x older than v8.10.0, you'll need to upgrade your Node.js version before updating Ghost.
For most users, the standard update process applies:
ghost update
If you're using a custom installation method, make sure to update your dependencies and restart your Ghost instance after updating.
Bug Fixes
Administrator Password Management
Fixed an issue where administrators couldn't change other users' passwords because they didn't know the old passwords. Now administrators can change passwords for other users without needing to provide the old password (#10891).
Improved Error Messages for {{get}} Helper
Fixed error messaging when the {{get}} helper doesn't have API access, providing clearer guidance to users about what went wrong (#10892).
Travis CI Notification Fix
Removed the fast_finish: true configuration from Travis CI to prevent duplicate notifications. This addresses an upstream issue where using allowed_failures with fast_finish was causing multiple notifications per build.
New Features
Updated Default 404 Page
The default 404 page has been redesigned to be more theme-agnostic and provide a better user experience. The broken ghost illustration has been removed, and the styling has been refined to work better across different themes.
UUID Generation Change
Ghost now uses UUID v4 instead of v1 for generating unique identifiers. This change simplifies the UUID generation process and removes the potential privacy concerns associated with v1 UUIDs (which contain MAC address information). This affects request IDs in logging, temporary content folders, and export folders.
Security Updates
Lodash Security Update
Updated lodash dependency to v4.17.13 and then to v4.17.14 to address security vulnerabilities.
UUID Generation Change
Switched from UUID v1 to UUID v4 for generating unique identifiers. UUID v1 is based on timestamp and MAC address, which could potentially leak hardware information. UUID v4 is randomly generated, providing better privacy and security.
Performance Improvements
Code Optimization
Replaced each loops with foreach loops for better code readability and potentially improved performance in certain scenarios.
Dependency Updates
Multiple dependencies have been updated to their latest versions, which may include performance improvements:
- knex to v0.19.0
- probe-image-size to v4.1.1
- intl-messageformat to v5
- markdown-it to v9
- brute-knex to v4
Impact Summary
Ghost 2.25.7 is primarily a maintenance and security release that addresses several important issues without introducing major new features. The most notable changes are security updates to dependencies (particularly lodash), improved administrator capabilities for password management, and a more theme-agnostic default 404 page.
The bump in minimum Node.js version to v8.10.0 might require action from some users, but this aligns with the Node.js LTS schedule and ensures better security and performance.
The switch from UUID v1 to v4 improves privacy and security by removing the hardware-specific information from generated IDs, though this is mostly an internal change that won't affect most users.
Overall, this release strengthens Ghost's security posture and fixes several usability issues without requiring significant adaptation from users or developers.
Full Release Notes
- 💡 Bumped minimum node v8.x version to v8.10.0 - Fabien O'Carroll
- 🐛 Allowed administrators to change other users' passwords (#10891) - Vikas Potluri
- 🐛 Fixed error message when get helper doesn't have API access (#10892) - Vikas Potluri
You can see the full change log for the details of every change included in this release.