v6.45.0
📦 ghostView on GitHub →
✨ 8 features🐛 35 fixes🔧 34 symbols
Summary
This release introduces IndexNow support for search engines and enhances user experience with improved contrast, better sign-in flow, and numerous bug fixes across admin, member management, and commenting features. Several internal components like Source and Casper were also updated.
Migration Steps
- If you rely on the site cache not being cleared when draft posts are deleted, note that this behavior is now preserved.
✨ New Features
- Added IndexNow support to notify search engines of content changes.
- Added translucent background to video controls to improve text contrast.
- Added warning and filter for members with multiple active subscriptions.
- Improved sign-in flow to return users to the comment they were replying to.
- Added event field to webhook payloads.
- Changed offer links to always open Portal's offer page.
- Updated timezone settings to have DST-aware GMT offsets.
- Enabled more detailed error message on creating insecure passwords.
🐛 Bug Fixes
- Fixed Admin API post update saving a revision when save_revision=false.
- Fixed support for bookmark card Amazon links.
- Fixed search navigating away during CJK IME composition.
- Fixed comment counts for lazy loaded posts.
- Fixed label mutation errors being silently swallowed in the label picker.
- Fixed race condition in Unsplash search that causes mixed results.
- Fixed dark mode fade effect on ActivityPub onboarding cards.
- Fixed Offer creation redemptionCount error handling.
- Fixed email preview scrollbar and keyboard accessibility.
- Fixed removed tags not showing in dropdown in editor sidebar.
- Wrapped long strings in post publish success modal.
- Fixed duplicate replies when replying after opening a comment permalink.
- Fixed "check your email" popup when logged-in paid members click checkout buttons.
- Fixed "linked comment is no longer available" error after unhiding a comment.
- Fixed X button on user profile modal displaying on mobile.
- Fixed notification sent when commenting or replying on own post.
- Fixed non-deterministic member attribution resolution.
- Fixed empty results while searching some keywords in /settings.
- Fixed missing "New member" button on small viewports.
- Fixed block scalars being added to downloaded redirects.
- Fixed comments auth-frame request when admin URL is missing.
- Fixed translation review never triggering on auto-labelled PRs.
- Show hidden comments to admin when there are just hidden comments.
- Stopped injecting portal when portal.url is set to 'false' in config file.
- Updated Portal to show message when no plans are available.
- Fixed members subscription filter for multi-sub members.
- Fixed "Contact support" link resulting in iframe error on the current tab.
- Prevented "Powered by Ghost" from opening two tabs.
- Fixed missing favicons in Ghost Admin.
- Fixed incoming recommendations disappearing on transient errors.
- Fixed cut-off dropdowns in Membership settings during pre-launch mode.
- Fixed portal URL hash parsing to prevent crash.
- Fixed LinkedIn URL validation rejecting URLs with a trailing slash.
- Fixed expired complimentary members not updating timestamps.
- Prevented clearing site cache when draft posts are deleted.
Affected Symbols
Admin API post update endpointbookmark card Amazon linkssearch functionalitycomment countslabel pickerUnsplash searchActivityPub onboarding cardsOffer creationemail previeweditor sidebar tag dropdownpost publish success modalcomment permalink reply flowcheckout buttons for paid memberscomment unhiding flowuser profile modalcomment/reply notification logicmember attribution resolution/settings searchNew member button renderingredirect downloadscomments auth-frame requesttranslation review triggeringhidden comment visibility for adminsportal injection logicPortal plan displaymembers subscription filterContact support link handling"Powered by Ghost" link behaviorGhost Admin faviconsincoming recommendations handlingMembership settings dropdownsportal URL hash parsingLinkedIn URL validationcomplimentary member timestamps