Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As a general rule, the policy is designed to guarantee API (compile-time) compatibility for plugins and extensions developed for use with a given minor version with all subsequent patch and minor upgrades until the next major upgrade. Of course, a major upgrade doesn't guarantee breakage, but neither can compatibility be assumed.

We do not guarantee actual ABI compatibility across minor upgrades, so plugins built for one minor version cannot be assumed to run in later minor versions without being rebuilt.

Storage Formats

Some functionality may rely on persistent or transient storage, whether in the form of database schema, memcache usage, cookies, or HTML Local Storage. In such cases, we may choose to document these formats and denote them as a stable API, or we may not. If not explicitly designated as an API, storage formats should be assumed to be an implementation detail that may change across releases. The specific changes we will make to such formats are outlined further below.

...

Note that in adding APIs, abstract or interface methods are not added to existing public interfaces or classes to guarantee runtime compile-time compatibility of existing extensions.

...

Example Compatibility Matrix

Original Version

New Version

Compatible?

2.2.3

2.2.4

Yes, compatibility across patch versions is guaranteed.

2.2.3

2.2.1

Yes, compatibility across patch versions is guaranteed.

2.2.3

2.3.1

Yes, compatibility with later minor versions is guaranteed.

2.2.3

2.1.7

Yes, compatibility with prior minor versions is guaranteed. Configuration files may need to be adjusted to remove options that are not available in the older version.

2.2.3

3.0.0

No, compatibility with prior major versions is not guaranteed.

2.2.3

1.4.7

No, compatibility with prior major versions is not guaranteed.