Apostrophe's Development Roadmap

The future is bright.

Apostrophe 2.x: long-term support

 

Apostrophe 2.x is a long-term support release. We intend to provide full support for Apostrophe 2.x, which was released in 2016, until at least the end of 2023.

 

Historically, P'unk Avenue has supported sites developed on older versions of Apostrophe for considerably longer. We are actively supporting over 50 sites built on version 0.5.x, for instance, and have no plans to stop doing so.

 

Our long-term commitment to 2.x reflects our intention to actively improve and address defects in this version for the long term.

 

However, see our semantic versioning guide below. It's possible that a truly minor but necessary bc break of some kind will force us to bump the major version number sooner than expected. This **does not** mean that we will be engaging in another full rewrite any time soon.

Apostrophe 3.x: join the conversation

 

Plans for Apostrophe 3.x are underway, with an initial release anticipated in early 2019. Version 3.x will emphasize a modern frontend architecture for the administrative interface, powered by a library such as Vue. 3.x will also emphasize support for JavaScript promises even more than 2.x already does. For more information, see Planning for Apostrophe 3.0. Your input is welcome in the Apostrophe forum.

Semantic versioning policy

 

Semantic versioning is a philosophy that says that each backwards-incompatible change should trigger a new major version number. It's a good policy because it makes it safe to use npm dependencies to install Apostrophe.

 

We will be following semantic versioning, with the following caveats:

 

We've begun with 2.0.0 to avoid confusion with an older PHP-based version of Apostrophe. In future we'll increment the major version number normally.

 

The addition of new option properties to the options object of a core Apostrophe type or module will not trigger a new major version number, which may impact you when extending modules. If you are concerned about conflicts, use a unique prefix for your own options.

 

The addition of new methods to a core Apostrophe type or module will not trigger a new major version number, which may impact you when extending modules. If you are concerned about conflicts, use a unique prefix for your own methods.

 

The addition of new, optional arguments to existing methods of core Apostrophe types or modules will not trigger a new major version number.

 

Also, just to be clear: bugs are bugs and may be fixed in a "patchlevel" release, no matter how used to them you may be. But, we'll aim to be reasonable about this.

 

The following are examples of things that would trigger a new major version number:

 

  • Changing the arguments of an existing Apostrophe core method such that existing calls will fail.
  • Removal of a core module (an Apostrophe module that ships with the `apostrophe` npm module).  

 

So set your npm dependencies to ^2.0.0 and follow the above advice to be safe.

Support for Apostrophe 0.5

 

Apostrophe 0.5 was a previous release of Apostrophe for the node.js platform. We provided critical security fixes for Apostrophe 0.5 until September 1st, 2018. Maintenance remains available to P'unk Avenue clients with a support agreement, or to those who wish to purchase an Apostrophe Enterprise Support SLA, however support for these two groups will end on February 3rd, 2021. Legacy documentation is available here.