Home

>

Tools

>

Ghost

>

Releases

>

0.7.7

Ghost Release: 0.7.7

Tag Name: 0.7.7

Release Date: 2/18/2016

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.7 brings significant client-side improvements with standardized camelCase property naming, improved error handling, and enhanced routing. The update includes important fixes for 404 redirections, settings cache clearing, and mixed content security warnings. Development workflow has been improved with real browser testing on Travis CI, and the server-side code has been reorganized for better maintainability. This release focuses on code quality and developer experience rather than end-user features.

Highlight of the Release

    • Standardized client property names to camelCase for more consistent code
    • Fixed posts.post route not redirecting to 404 properly
    • Improved navigation item validation and drag-and-drop functionality
    • Added real browser testing (Chrome and Firefox) on Travis CI
    • Reorganized server/data folder structure for better maintainability
    • Fixed mixed content security warnings from Gravatar images
    • Refactored mail service with better error notifications

Migration Guide

Upgrading to Ghost 0.7.7

  1. Database Schema Changes:

    • The release includes reorganization of the server/data folder structure
    • Added handling for column deletions in migrations
  2. Client Property Names:

    • Client property names have been standardized to camelCase
    • If you have custom themes or apps that interact with Ghost's client-side code, ensure they use camelCase property names
  3. Node.js Version:

    • Now supports Node v4 LTS semver-minor releases (^4.2.0 instead of ~4.2.0)
    • If you're using Node v4.2.x, you can upgrade to newer v4.x versions
  4. Dependency Updates:

    • Major updates include Ember 2.3.1, Bookshelf 0.9.1, and Knex 0.9.0
    • If you have custom code that relies on these dependencies, review their changelogs for breaking changes
  5. Testing Changes:

    • PhantomJS has been replaced with real browser testing using Chrome and Firefox
    • If you're running tests in your development environment, ensure you have Chrome and Firefox installed

Note: There is a known issue with saving tags in this version. Consider waiting for version 0.7.8 which will fix this issue.

Upgrade Recommendations

CAUTION: There is a known issue with saving tags in Ghost 0.7.7 as mentioned in the release notes. It's recommended to wait for version 0.7.8 which will fix this issue.

If you need to upgrade immediately:

  • For production sites: Wait for 0.7.8 unless you urgently need one of the fixes in this release
  • For development environments: You can upgrade to test the improvements, but be aware of the tag saving issue

The upgrade process follows the standard Ghost upgrade path:

  1. Back up your database and content
  2. Download the new version
  3. Follow the upgrade instructions

This release contains mostly internal improvements and bug fixes rather than major new features, so the upgrade should be relatively low-risk apart from the known tag saving issue.

Bug Fixes

404 Handling

  • Fixed posts.post route not redirecting to 404 when post is not found
  • Replaced replaceRoute calls with replaceWith calls in routes
  • Improved 404 error handling in post route to match editor and tag routes

Settings and Cache

  • Fixed settings cache clearing after import operations
  • Fixed underscore usage in post serializer

Security and Content

  • Fixed mixed content security warnings due to Gravatar images by using protocol-relative URLs
  • Fixed Facebook/Twitter/schema descriptions when meta description is not provided
  • Fixed issue where tag should output description if missing meta description

UI and Navigation

  • Fixed cursor pointer style on text inputs to only target select boxes
  • Fixed navigation item validation behavior when clicking the "+" button
  • Fixed logging out from editor page by removing transition.abort

Post Management

  • Fixed loading more posts after post deletion
  • Fixed passing post tags as array to ember-cli-selectize
  • Fixed new post to settings/tags transition error

New Features

Dynamic Channel Routing

  • Moved to dynamic frontend routing driven by channels
  • Updated channel configuration with get/list methods
  • Generated main routes based on the list of channels
  • Moved RSS routes to be subroutes of channels

Database Backup

  • Added automatic JSON backup creation when a user deletes content in labs

Improved Mail Service

  • Refactored mail service to no longer require async initialization
  • Added startup check for mail configuration
  • Added notifications in the admin client if mail transport is "direct" and sending fails

Enhanced Navigation Management

  • Replaced jQuery UI sortable with ember-sortable for drag-and-drop handling
  • Moved the "new/blank" nav item out of the nav items list for cleaner handling
  • Added validation error clearing when typing in respective fields

Security Updates

Mixed Content Security

  • Fixed mixed content security warnings by switching Gravatar URL generation to use protocol-relative URLs in the gh-profile-image component

Error Handling

  • Disambiguated between error code and status code for better security practices
  • Changed errors to use statusCode for the status code (like res.statusCode)
  • Updated all tests that check the key

Performance Improvements

Database and API Optimizations

  • Removed inclusion of app fields with tags & authors to eliminate unnecessary database calls
  • Moved database connection handling out of configuration for better separation of concerns

Dependency Improvements

  • Removed the heavy "request" dependency by refactoring gravatarLookup and other functions to use native http/https modules
  • Included babel polyfill when compiling client for better browser compatibility
  • Updated to PhantomJS 2.1.1 for improved testing performance

Impact Summary

Ghost 0.7.7 is primarily a maintenance and improvement release that focuses on code quality, developer experience, and bug fixes rather than introducing major new user-facing features.

The most significant impacts are:

  1. Developer Experience: The standardization of client property names to camelCase and reorganization of server/data folder structure makes the codebase more consistent and maintainable. This will benefit developers working with Ghost's codebase.

  2. Bug Fixes: Several important bugs have been fixed, including issues with 404 redirections, settings cache clearing after imports, and mixed content security warnings from Gravatar images.

  3. Performance and Security: Removal of unnecessary database calls and fixing mixed content security warnings improves both performance and security.

  4. Testing Infrastructure: The move to real browser testing with Chrome and Firefox on Travis CI improves the reliability of tests and ensures better compatibility across browsers.

  5. Navigation Improvements: The replacement of jQuery UI sortable with ember-sortable for navigation items provides a more modern and maintainable drag-and-drop implementation.

However, there is a known issue with saving tags in this version that will be fixed in the upcoming 0.7.8 release. Users should consider this when deciding whether to upgrade immediately or wait for 0.7.8.

Full Release Notes

Please read the release blog post for more details.

Update: We've spotted a pretty nasty bug in 0.7.7 with saving tags. 0.7.8 will be along shortly...


The full change log contains a list of all changes.

Statistics:

File Changed256
Line Additions5,216
Line Deletions3,773
Line Changes8,989
Total Commits148

User Affected:

  • Standardized client property names to camelCase for more consistent code
  • Improved error handling and 404 redirections
  • Better organized server/data folder structure for easier maintenance
  • Enhanced testing capabilities with real browsers (Chrome and Firefox) on Travis CI
  • Updated dependencies including Ember 2.3.1, Bookshelf 0.9.1, and various other packages

Contributors:

kevinkucharczykkevinansfieldErisDShalfdanjtwebmanacburdinejaswillisebgiecameronvinernovaugustnaoyakcobbspurjavorszky