TL;DR
Ghost 0.7.3 brings significant improvements to theme development with permalinks and postsPerPage now accessible via @blog, adds a new API access script for external sites, fixes several UI issues including shortcut keys in the editor, pagination problems, and navigation URL handling in subdirectories. This release enhances both developer experience and user interface functionality while addressing several critical bugs.
This maintenance release focuses on improving theme development capabilities, fixing UI issues, and enhancing API accessibility, making Ghost more robust for both developers and content creators.
Highlight of the Release
- Permalinks and postsPerPage now available in themes via
@blog
- New
/shared/ghost-url.js script for accessing the API from external sites
- Added
limit attribute to tags & foreach helpers for theme developers
- Fixed navigation URL handling in subdirectories
- Improved pagination with proper 404s for nonexistent pages
- Fixed shortcut keys in the editor
- Resolved UI issues with date inputs, checkboxes, and image uploaders
Migration Guide
Migration Notes for Ghost 0.7.3
This is a maintenance release with no breaking changes, so upgrading should be straightforward. However, there are a few things to note:
For Theme Developers
-
Accessing Permalinks and Posts Per Page:
You can now access these settings directly via @blog.permalinks and @blog.postsPerPage in your themes.
-
Theme Helper Changes:
- The
tags and foreach helpers now support a limit attribute
- Filters were removed from theme helpers to resolve async issues
For API Developers
If you're using the Ghost API from external sites, the updated /shared/ghost-url.js script provides a cleaner way to initialize and access the API:
<script type="text/javascript" src="http://my-ghost-blog.com/shared/ghost-url.min.js"></script>
<script type="text/javascript">
ghost.init({
clientId: "<your-client-id>",
clientSecret: "<your-client-secret>"
});
</script>
Note that the meta tags for client id and secret have been removed from {{ghost_head}}.
Upgrade Recommendations
Recommendation Level: Standard Upgrade
Ghost 0.7.3 is a maintenance release that includes several important bug fixes and enhancements. While it doesn't contain critical security fixes, it addresses several UI issues and improves theme development capabilities.
Who should upgrade immediately:
- Users experiencing any of the specific bugs fixed in this release, particularly issues with shortcut keys in the editor, pagination problems, or navigation URL handling in subdirectories
- Theme developers who want to take advantage of the new features like accessing permalinks and postsPerPage via
@blog
- API developers using the Ghost API from external sites
Upgrade Process:
Follow the standard Ghost upgrade process. As this is a minor release, the upgrade should be straightforward with minimal risk of compatibility issues.
Bug Fixes
UI and Interaction Fixes
-
Editor Shortcuts: Fixed issues with shortcut keys not working properly in the editor.
-
Date Input Caret: Resolved problem with the caret jumping around in the published date input by adding a new gh-datetime-input component.
-
Mobile UI Fixes:
- Fixed checkbox labels being cut off on mobile screens
- Fixed hidden delete button in image uploader for short images by removing min-height animation
-
Navigation URLs: Fixed an issue where sub-directory paths were incorrectly being added to navigation URLs when Ghost was installed in a sub-folder.
Theme and Template Fixes
Other Fixes
New Features
Theme Development Improvements
-
Permalinks & postsPerPage in Themes: These settings are now cached on the config.theme object and accessible via @blog in themes, removing the need for workarounds and extra code to handle async fetches.
-
New Limit Attribute: Added a limit attribute to tags & foreach helpers, allowing theme developers to restrict output to a smaller number than would usually be displayed.
API Access Improvements
- External API Access Script: The
/shared/ghost-url.js script has been refactored to work on external sites, providing a simple way to configure and access the Ghost API from any website:
<script type="text/javascript" src="http://my-ghost-blog.com/shared/ghost-url.min.js"></script>
<script type="text/javascript">
ghost.init({
clientId: "<your-client-id>",
clientSecret: "<your-client-secret>"
});
</script>
- Improved API URL Handling: Introduced a single point of truth for API URL access with a new
apiUrl function in config.
Security Updates
No significant security fixes were mentioned in this release.
Performance Improvements
Performance Optimizations
-
Reduced DOM Interactions: Unified mobile state detection in JavaScript and dropped resize handlers, preventing unnecessary layout forcing and DOM rendering.
-
Optimized API URL Script:
- Minified ghost.url.api in production
- Switched to inlining config and making the ghost-url.js file an external request
-
Streamlined Travis CI Builds: Separated the server/client/lint test suites on Travis to prevent duplicating client tests and linting for every node and database version.
-
Removed Unused Components:
- Removed the
setScrollClassName mixin that was previously used to add a .scrolling class
- Removed unused
ember-resize dependency
Impact Summary
Ghost 0.7.3 delivers significant improvements for theme developers, API users, and content creators alike. The release makes theme development more straightforward by providing direct access to permalinks and postsPerPage settings via @blog, eliminating the need for workarounds and async handling.
For API developers, the refactored /shared/ghost-url.js script enables easier integration with external sites, while improved error handling provides clearer feedback during development. Content creators will benefit from fixes to editor shortcut keys, date input handling, and mobile UI improvements.
The release also includes important performance optimizations by unifying mobile state detection, reducing unnecessary DOM interactions, and streamlining the build process. Navigation URL handling in subdirectories has been fixed, and pagination now properly returns 404 errors for nonexistent pages instead of soft 404s.
Overall, Ghost 0.7.3 represents a solid maintenance release that enhances developer experience while fixing several user-facing issues, making the platform more robust and user-friendly without introducing breaking changes.
Full Release Notes
Please read the release blog post for more details.
Highlights
- [New] permalinks & posts_per_page now available in themes via
@blog
- [New]
/shared/ghost-url.js script for accessing the API from external sites
- [Changed] Now returns 404 for nonexistent pages in pagination & RSS
- [Fixed] shortcut keys not working in the editor
- [Fixed] sub-dir being added to navigation urls
- [Fixed] caret jumping around in published date input
- [Fixed] checkbox labels being cut off on mobile
- [Fixed] pagination not working inside the
{{#get}} helper
- [Fixed] issue with some theme helpers causing aSyNcId errors
The full change log contains a list of all changes.