Home

>

Tools

>

Ghost

>

Releases

>

0.7.3

Ghost Release: 0.7.3

Tag Name: 0.7.3

Release Date: 12/16/2015

Ghost LogoGhost

Open-source publishing platform specifically designed for professional bloggers and publications. Focuses on clean, minimalist writing and publishing experience.

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

  1. Accessing Permalinks and Posts Per Page: You can now access these settings directly via @blog.permalinks and @blog.postsPerPage in your themes.

  2. 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

  • Pagination Support:

    • Fixed pagination not working inside the {{#get}} helper
    • Now returns proper 404 errors for nonexistent pages in pagination & RSS instead of soft 404s
    • Redirects for page/1/ or rss/1/ are now 301s
  • Theme Helper Errors: Resolved issues with some theme helpers causing aSyNcId errors by removing filters from theme helpers.

Other Fixes

  • Ghost Head Helper: Ensured {{ghost_head}} doesn't overwrite values by cloning contextObject.

  • Error Handling:

    • Improved client auth error logging with clear messages in the server console
    • Filter parse errors now generate 422 errors instead of 500 errors
    • Fixed 404 error handling in editor, tags, and team routes

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.

Statistics:

File Changed300
Line Additions4,943
Line Deletions3,878
Line Changes8,821
Total Commits104

User Affected:

  • Can now access permalinks and postsPerPage settings via `@blog` in themes
  • New `limit` attribute added to tags and foreach helpers for more control over output
  • Fixed pagination not working inside the `{{#get}}` helper
  • Resolved issues with theme helpers causing aSyNcId errors

Contributors:

wwahammykevinansfieldsebgiemixonicbhopsErisDSacburdinegaryc40StevenMcDcruikshjfarobikevinkucharczykcobbspur