Home

>

Tools

>

Ghost

>

Releases

>

2.15.0

Ghost Release: 2.15.0

Tag Name: 2.15.0

Release Date: 2/21/2019

Ghost LogoGhost

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

TL;DR

Ghost 2.15.0 introduces a significant update to the members system with Stripe integration for subscriptions, improved API handling for members-only content, and enhanced HTML support for posts. This release focuses on improving the membership experience, API robustness, and fixing several key bugs including night mode and route filtering issues. The update also includes stricter validation for posts and tags, making Ghost more reliable for content creators while expanding its capabilities for membership-based publications.

Highlight of the Release

    • New members subscription system with Stripe integration
    • Built-in Zapier integration for the v2 Admin API
    • Support for HTML as an input source for posts
    • Improved handling of members-only content permissions
    • Fixed filtering by primary_tag and primary_author in routes.yaml
    • Fixed night mode when using API v2

Migration Guide

Required updated_at for Admin API v2

When updating a post or page using the Admin API v2, you must now include the updated_at field. This functions as a version control value and is required for collision detection. If you're using the Admin API v2 to update posts programmatically, ensure you're sending the current updated_at value with your update requests.

HTML Input Source Changes

If you're using the Ghost SDK for HTML to Mobiledoc conversion, note that due to JSDOM not supporting Node v6, the support for HTML conversion is now optional. The version for @tryghost/html-to-mobiledoc has been bumped and pinned in this release.

Database Schema Changes

This release adds a type column to the integrations table with the following types:

  • custom (default) - used by custom integrations added by users
  • builtin - used by built-in integrations that have their own UI
  • internal - used by "internal" integrations such as the scheduler

A migration will run to insert the builtin Zapier integration.

Upgrade Recommendations

This is a feature release that introduces significant improvements to the members system and API functionality. The upgrade is recommended for all users, especially those who:

  • Want to implement paid memberships with Stripe
  • Use Zapier for workflow automation
  • Need HTML input support for posts
  • Were affected by the fixed bugs (night mode, route filtering)

Before upgrading:

  1. Take a complete backup of your Ghost installation
  2. If you've customized your theme, check for any potential conflicts with the updated Casper theme (2.9.3)
  3. If you use the Admin API v2 programmatically, ensure you're prepared to include the updated_at field when updating posts

The upgrade process follows the standard Ghost update procedure and should be straightforward for most installations.

Bug Fixes

Fixed Filtering in Routes

Fixed an issue where filtering by primary_tag or primary_author in routes.yaml wasn't working due to missing mappings.

Fixed Night Mode with API v2

Resolved an issue where night mode wasn't functioning correctly when using API v2.

Fixed Content Width with Embeds

The default Casper theme has been updated to version 2.9.3, which fixes a bug where embeds were overflowing the content width.

Fixed Validation Issues

  • Added check for empty name for tags
  • Fixed handling of duplicated authors
  • Improved error handling for missing files in /uploads

Fixed Random Test Deadlocks

Addressed issues with random test failures caused by deadlocks in the database when inserting posts in parallel with their relations (tags and authors).

New Features

Members Subscription System with Stripe Integration

Ghost now includes a complete subscription system for members with Stripe integration. This allows site owners to create paid membership plans and accept recurring payments directly through their Ghost site.

Built-in Zapier Integration

A new built-in Zapier integration has been added that works with the v2 Admin API. This integration makes it easier to connect Ghost with hundreds of other apps and services through Zapier without having to manually set up custom integrations.

HTML as Input Source for Posts

Added the ability to accept HTML as an input source for posts. When using the /posts endpoint, you can now include ?source=html in the query parameter along with html in the request payload to create or update posts using HTML directly.

Improved Members Content Permissions

The Content API has been updated to use members plans to determine content permissions. This refactors the hideMembersOnlyContent functionality into three stages and exports a paymentConfigured flag from the members service, allowing for more granular control over members-only content.

Security Updates

No specific security fixes were mentioned in this release.

Performance Improvements

Improved API Validation

Several improvements to API validation have been implemented:

  • Skipped redundant 'all' validations for posts/tags endpoints that are now handled at the JSON Schema level
  • Added stricter validation for post.authors by stripping relational fields
  • Removed posts.tags.parent sanitation as parent and parent_id fields are now stripped in the /tags endpoint

Optimized Error Messages

Improved error messages for failed authorization, making it easier to diagnose and fix authentication issues.

Impact Summary

Ghost 2.15.0 represents a significant step forward in Ghost's evolution as a membership platform. The introduction of Stripe integration for subscriptions transforms Ghost from a simple blogging platform into a complete solution for creators who want to monetize their content through memberships.

The improvements to the Content API for handling members-only content provide more granular control over what content is accessible based on membership plans. This, combined with the new members signup page and improved UI for member popups, creates a more polished experience for both site owners and members.

For developers, the addition of HTML as an input source offers more flexibility when creating or updating posts programmatically. The built-in Zapier integration opens up countless automation possibilities without requiring custom integration setup.

The bug fixes address several pain points, particularly the issues with filtering by primary_tag/primary_author in routes.yaml and night mode functionality with API v2. These fixes, along with the stricter validation for posts and tags, make Ghost more reliable and consistent.

Overall, this release significantly enhances Ghost's capabilities as a professional publishing platform, especially for those looking to build membership businesses around their content.

Full Release Notes

  • 🐛 Fixed filtering by primary_tag or primary_author in routes.yaml
  • 🐛 Fixed night mode when using API v2 (#10499)
  • ✨ Added posibility to accept html as an input source for post

Casper (the default theme) has been updated to 2.9.3

  • 🐛 Fixed bug with embeds overflowing content width

You can see the full change log for the details of every change included in this release.

Statistics:

File Changed69
Line Additions1,303
Line Deletions329
Line Changes1,632
Total Commits24

User Affected:

  • Can now set up paid memberships with Stripe integration
  • Have access to a new signup page for members
  • Benefit from built-in Zapier integration for better workflow automation
  • Can better control access to members-only content

Contributors:

rshbhgrgallouisnazkirrg001kevinansfieldpeterzimon