Product Dev Back to Ghost

1.0.0 Beta is out!

After 21 alpha releases, we just released the first 1.0 beta version 😀.

Please read the previous post about the difference between 1.0 and LTS. The official support for LTS will end on the 31st of August 2017.

How to install the beta?

The Ghost-CLI is the recommended way to install Ghost 1.0 beta, but it's not yet suitable for production.

We already mentioned in a previous post, which system stack we recommend. The CLI is able to setup NGINX and SSL for you soon - pretty cool, hm? 🙃

We've created a new Ghost CLI install guide that covers installing Ghost via the CLI.

Migration from LTS to 1.0 beta

We have written a 1.0 migration guide for migrating from LTS to 1.0 beta. You basically have to install the 1.0 beta via the CLI, export your LTS database via the admin panel and import the file into the 1.0 blog.

Breaking changes

Here is an overview of the most important breaking changes. Lay back and enjoy!

docs.ghost.org

We have removed our Github wiki and disabled support.ghost.org, both now live now at https://docs.ghost.org. Having a centralised place for all our documentation is very useful. The documentation is for self hosters, theme developers and contributors - if you notice anything missing please let us know!

The new docs are hosted on readme.io so please send us suggestions if you notice anything that's incorrect or confusing.

The new docs are versioned so you'll find two sets of docs, one for v0.11.9 (LTS) and one for v1.0.0 beta.

A new editor

Ghost 1.0 is sticking with a markdown-only editor for now (although it saves to mobiledoc format internally for future extensibility) but that doesn't mean the editor experience has stood still.

The key changes:

  • there's a toolbar!
  • the editor pane shows formatting directly rather than requiring a preview pane to give a less cluttered writing experience (don't worry, there's still a split-pane editor too for the full markdown preview)
  • image uploads are now initiated directly from the toolbar or by dragging and dropping images onto the editor pane (and yes, it supports multiple images at once!)
  • we now use markdown-it instead of a very old customised version of Showdown fixing a lot of annoying markdown rendering bugs

1.0 Themes

If you import a theme, which worked on 0.11.9, it might not work with 1.0 anymore because there have been couple of breaking changes in the theme API. However there are tons of themes which will still work.

To improve the migration experience when you upload your theme into Ghost 1.0 beta and it fails to import, it will show you a detailed report of why the import failed.

As a theme developer you can use gscan to find out what adaptations you have to make for your theme to work with 1.0 beta.

Here is an overview of what has changed:

  • package.json is required and must contain a valid name, version and an author email address (docs)
  • the {{image}} helper was removed
  • therefore we have added a {{img_url}} helper (docs)
  • {{pageUrl}} helper was renamed to {{page_url}} helper (docs)
  • {{meta_description}} in <head> is not allowed anymore
  • use @config.posts_per_page instead of @blog.posts_per_page
  • you can define posts_per_page in your theme package.json (see)
  • {{content words="0"}} does not work anymore, use {{img_url}} instead
  • we renamed some css classes (docs)

Please read through the 1.0 theme documentation for full details.

Configuration with nconf

The old config.js file will no longer work. Instead we have added nconf as configuration management tool.

Checkout our configuration documentation or the previous post about using nconf.

Storage adapters

The location of storage adapters has changed and we added proper class inheritance. The base adapter was extracted to it's own npm module and now lives here.

If you made use of a custom storage adapter in the past, this adapter won't work anymore. The maintainer will need to update it for 1.0.

Further details are available here.

A new migration tool

Before 1.0, the database population and migration were part of Ghost core itself. The logic was extracted and lives in it's own npm module.

When installing or using Ghost 1.0 regularly, the Ghost CLI takes care of any database upgrades. You don't have to execute any extra command.

However, in case you would like to manually re-initialise your database or test the new migration tool, please read more about it here.

Beta tester

We are very happy about beta testers and any feedback is very welcome. If you find a bug, please raise it on our Github repository. If you have any questions or problems with installing the 1.0 beta, please swing by our slack channel and say hello 🙃.

What's next?

The official release of 1.0 depends on the number of bugs and feedback we get back during the beta. We would like to release it as soon as possible to concentrate on the next features so if you are able to test it please do!

Final things that didn't quite make the beta cut but are expected to be in the final 1.0 release: