TL;DR
Ghost 4.17.0 introduces a powerful new Members Filtering feature that allows publishers to segment their audience with precision. This update also includes important bug fixes for email configuration and UI issues, along with significant internal refactoring of route settings and i18n handling. The release enhances the platform's member management capabilities while improving system stability and laying groundwork for future features like Offers.
Highlight of the Release
- New Members Filtering feature for advanced audience segmentation
- Fixed email configuration issues with secure connections
- Added API endpoints for custom theme settings
- Significant internal refactoring of route settings and redirects
- Initial groundwork for upcoming Offers feature
Migration Guide
Route Settings and Redirects Refactoring
If you've built custom code that interacts with Ghost's route settings or redirects, be aware that significant refactoring has occurred in this release:
- Route settings initialization has moved from frontend to backend
- The frontend no longer directly interacts with the filesystem for routes and redirects
- Several modules have been refactored to use class-based patterns with dependency injection
- The API signatures for route settings and redirects modules have been simplified
i18n to tpl Helper Transition
Ghost is transitioning from the deprecated i18n pattern to the new tpl helper for internationalization:
- If you've built custom code that uses
i18n.t(), consider updating to use the tpl helper instead
- Several core modules have been updated in this release, providing examples of the transition
Upgrade Recommendations
This release includes important bug fixes and new features that benefit all Ghost users. The upgrade is recommended for all installations, especially for those who:
- Use email functionality with secure connections disabled
- Manage members and would benefit from advanced filtering capabilities
- Create or use custom themes with custom settings
There are no known breaking changes for standard Ghost installations, but theme developers and those with custom code should review the migration guide for details on internal refactoring.
Bug Fixes
Email Configuration Fix
Fixed an issue where the mail configuration was not respecting disabled secure connections. The secureConnection parameter was incorrectly aliased to secure in Nodemailer, causing SSL warnings when users had disabled secure connections. This has been fixed by properly handling both true and false values for the parameter.
Admin UI Fixes
- Fixed incorrect unsaved changes popup appearing on the memberships screen
- Fixed theme-engine middleware tests that were timing out rather than showing failed assertions
New Features
Members Filtering
Ghost now includes a powerful new filtering system for members, allowing publishers to segment their audience with precision. This feature enables filtering members based on various criteria, making it easier to target specific segments for newsletters, offers, or analysis.
Custom Theme Settings API
New API endpoints have been added for browsing and editing custom theme settings:
GET /api/canary/admin/theme_settings/ - Browse custom theme settings
PUT /custom_theme_settings - Update custom theme settings
These endpoints are protected by the new 'customThemeSettings' permission, which is granted to Administrators.
Initial Support for Offers
This release includes the groundwork for an upcoming Offers feature:
- Added schema for a new
offers table
- Added permission fixtures for the offers table
- Added initial support for redirecting to Stripe checkout with coupon applied
Security Updates
No significant security fixes in this release.
Performance Improvements
Test Performance Improvements
- Made custom-redirects middleware testable, shaving 4 seconds off test execution time by eliminating slow regression test cases
- Improved error handling in theme-engine middleware tests to show failed assertions immediately rather than timing out
Impact Summary
Ghost 4.17.0 significantly enhances member management capabilities with the new filtering feature, allowing publishers to create targeted segments of their audience. This is particularly valuable for content creators who want to deliver more personalized experiences.
The release also fixes important bugs, particularly in email configuration, ensuring more reliable communication with subscribers. Theme developers gain new API endpoints for custom theme settings, enabling more dynamic and customizable themes.
Behind the scenes, substantial refactoring improves the architecture around route settings and redirects, moving functionality from the frontend to the backend. This creates a cleaner separation of concerns and lays groundwork for future improvements. The ongoing transition from i18n to tpl helper continues, simplifying internationalization throughout the codebase.
Initial groundwork for an upcoming Offers feature suggests that Ghost will soon provide more advanced monetization options for publishers.
Full Release Notes
- ✨ Added Members Filtering feature - Fabien O'Carroll
- 🐛 Fixed incorrect unsaved changes popup on memberships screen - Rishabh Garg
- 🐛 Fixed mail config not respecting disabled secure connections - Daniel Lockyer
📝 Announcement posts:
View the changelogs for full details: