TL;DR
Ghost v5.100.0: Internationalization Goes Live
Ghost 5.100.0 takes the automatic translations feature out of beta, bringing full internationalization support to portals, comments, search, newsletters, and member emails across approximately 60 languages. This release also includes significant improvements to comments functionality with reply-to-reply support, fixes for SQLite database migrations, and numerous bug fixes for post editing and UI issues. The community contributed multiple language translation updates, making this a truly collaborative release focused on global accessibility.
Highlight of the Release
- Full internationalization support for portal, comments, search, newsletters, and member emails across ~60 languages
- New data-locale attribute for portal to run in a different language than the site-wide setting
- Reply-to-reply support in comments with email notifications for the original reply author
- Experimental background job queue for performance optimization
- Fixed SQLite database migrations for better compatibility
- Numerous bug fixes for post editing and UI issues
Migration Guide
Upgrading to v5.100.0
This release doesn't require any special migration steps for most users. The upgrade should be straightforward:
- Back up your database before upgrading
- Update your Ghost installation to v5.100.0
- Restart your Ghost instance
For SQLite Users
This release includes fixes for SQLite database migrations. If you've experienced issues with migrations on SQLite in the past, this update should resolve those problems by lowering batch sizes to stay under SQLite's 500-item limit in compound select statements.
For ActivityPub Users
If you're using the ActivityPub integration, this update includes several improvements to the functionality. After upgrading, the ActivityPub integration will be initialized on boot automatically.
For Developers Using Prometheus
If you want to use the new prometheus metrics pushgateway:
- Set
prometheus:enabled to true in your config
- To enable the pushgateway, set
prometheus:pushgateway:enabled to true
- Configure the pushgateway's
url, interval, and jobName in the prometheus:pushgateway block
Upgrade Recommendations
We recommend all Ghost users upgrade to v5.100.0, especially if you:
- Want to offer your site in multiple languages
- Use SQLite as your database and have experienced migration issues
- Want to take advantage of the improved commenting features
- Need better performance for email analytics processing
This is a feature-rich release with significant improvements to internationalization support and comment functionality, along with important bug fixes. The upgrade should be straightforward for most users with no special migration steps required.
For those running production sites, as always, we recommend testing the upgrade in a staging environment first before applying it to your live site.
Bug Fixes
Post Editing Fixes
- Fixed post not being saved when updating tags
- Fixed "Unsaved post" modal incorrectly shown when updating visibility in post settings
- Reverted navigation settings fix that broke URL saving
Database Fixes
- Fixed migrations for SQLite database users by lowering batch size to stay under SQLite's 500-item limit in compound select statements
UI/UX Fixes
- Fixed comments dropdown menu being cut off by iframe
- Fixed sticky unsubscribe from all button on mobile
- Fixed comments placeholder to change dynamically without requiring a refresh
- Made newsletter comments toggle conditional based on comments being enabled
- Fixed translations not being picked up in newsletters without requiring a reboot
- Fixed error message for when 2FA email sending fails
Performance Fixes
- Removed duplicate serialization for offers
- Optimized collating members and email IDs by replacing lodash with native JavaScript
New Features
Internationalization Support
- Full i18n support for portal, comments, search, newsletters, and member emails across approximately 60 languages
- Added ability to pass a desired language/locale into portal via a data-locale tag
- Community-contributed translations in Bulgarian, Italian, Polish, Romanian, Swedish, Turkish, and Traditional Chinese
Comments Enhancements
- Added reply-to-reply support in comments with proper threading
- Added email notifications for the original reply author when their comment is replied to
- Added CTA popup to comments like button for non-members or free members
- Improved comment sorting with pagination
- Dynamic comment placeholder text that changes based on comment count
- Hide sorting form when there are one or zero comments
ActivityPub Integration
- Added Ghost ActivityPub internal integration
- Initialized ActivityPub integration on boot
- Updated the local state after following an account
Background Processing
- Added experimental background job queue behind config flags
- When enabled, used for member email analytics updates to speed up parent jobs
- Takes load off the main process that serves requests
Prometheus Metrics
- Added ability to push prometheus metrics to a pushgateway
- Configured local prometheus and pushgateway in docker-compose
- Improved error log output for prometheus pushgateway requests
Security Updates
No significant security fixes were included in this release.
Performance Improvements
Background Job Queue
- Added experimental background job queue behind config flags
- When enabled, used for member email analytics updates to speed up parent jobs
- Takes load off the main process that serves requests
Optimization Improvements
- Removed duplicate serialization for offers by storing and reusing the value
- Optimized collating members and email IDs by replacing lodash with native JavaScript
- Improved database query performance for comment sorting by adding an
orderAttributes override method
Prometheus Metrics
- Added ability to push prometheus metrics to a pushgateway
- Configured local prometheus and pushgateway in docker-compose
- Improved monitoring capabilities without adding complexity to the infrastructure
Impact Summary
Ghost v5.100.0 represents a significant step forward in making the platform more globally accessible with full internationalization support across approximately 60 languages. This feature, which was created entirely by the Ghost community, allows site owners to reach a broader audience in their native languages.
The release also brings substantial improvements to the commenting system, including reply-to-reply support, better sorting, and conditional UI elements that enhance the user experience. These changes make conversations more engaging and intuitive for readers.
Performance optimizations, including the experimental background job queue, help improve the responsiveness of Ghost sites by offloading resource-intensive tasks like email analytics processing from the main thread.
For developers, the addition of prometheus metrics pushgateway support provides better monitoring capabilities, while the ActivityPub integration improvements enhance social connectivity.
Bug fixes for post editing, SQLite database migrations, and various UI elements address pain points reported by users, making the overall experience more reliable and polished.
This release demonstrates Ghost's commitment to accessibility, performance, and community-driven development, with many contributions coming directly from community members.
Full Release Notes
- β¨ Added i18n for portal, newsletters, search, comments, etc (#21547) - Hannah Wolfe
- π¨ Updated Portal to accept data-locale (#21420) - Cathy Sarisky
- π Fixed translations not being picked up in newsletters without reboot (#21549) - Cathy Sarisky
- π Fixed error message for when 2fa email sending fails (#21541) - Princi Vershwal
- π Fixed migrations for SQLite database users (#19839) (#21063) - Mark Stosberg
- π Fixed "Unsaved post" modal shown when updating visibility in post settings (#21511) - Princi Vershwal
- π Fixed post not being saved when updating tags (#21503) - Princi Vershwal
- π Updated swedish translations (#21562) - Daniel SjΓΆberg
- π Updated Romanian translations (#21550) - Andrei Hodorog
- π Updated Turkish translations (#21553) - echobilisim3421
- π Added Polish translations for search (#21548) - mafizaki
- π Added more Italian translations (#21535) - MonRyse
- π Updated Romanian (RO) translation strings (#21542) - Andrei Hodorog
- π Updated Bulgarian translations (#21533) - Yovko Lambrev
- π Added more zh-Hant translations (#21502) - Gary Lai
View the changelog for full details: v5.99.0...v5.100.0