We endeavor to maintain compatibility between releases wherever possible, and to provide users with appropriate notice of any changes that might require the user to update their own code.
Major releases
- A major release is one where the first number of the version changes. For example, 6.0.0 was a major release, superseding the 5.x.x versions.
- Major releases involve significantly new or changed functionality. As such Push Technology does not guarantee API compatibility between major releases. Customers might be required to make code or architectural changes to move between major releases of Diffusion. Wherever possible, we provide a reasonable mechanism for upgrade through documentation, tools and training.
- Push Technology endeavors to ensure runtime compatibility between the server of a major release and clients belonging to the terminal release of the previous major release. Due to the significant changes in a major release, there may be additional limitations and restrictions. Refer to the documentation and release notes for full details. The support continues in subsequent minor releases, until the terminal release is retired.
Minor releases
- A minor release is one where the second number of the version changes. For example, 5.9.0 is a minor release, superseding the 5.8.x versions. Minor releases incorporate bug fixes and minor features and functionality improvements.
- From time to time, Push Technology removes support for Diffusion APIs. When APIs are due for removal – whether methods or classes – they are first deprecated in a prior release. An API supported in release X.Y.Z is deprecated at the earliest in X.Y+1.Z and removed at the earliest in X.Y+2.Z.
- The final minor release of any major release is called the terminal release. A terminal release is supported for a period of 18 months from its initial release date or a period of 18 months after the next major release has been issued, whichever is later. Support in this context includes fixes and patch releases for the entire 18-month period.
Servers provide runtime compatibility to client libraries from the same release, an earlier supported release with the same major version, and the terminal release of the previous major release. This supports upgrade strategies where the server is upgraded first, and clients at some later time, so long as client applications do not rely on features that have been removed from the server (see above).
Patch releases
- A patch release is one where only the final number of the version changes. For example, 6.0.1 is a patch release to the major release 6.0.0. Patch releases only incorporate bug fixes. Patch releases never contain new features.
- Push Technology endeavors to maintain binary and source level compatibility between patch releases on the same major/minor version. Upgrading to a new patch release does not require recompilation of either client or server implementations.
- No new features are delivered as part of a patch release. Customers requiring enhancements to a particular version of Diffusion will need to upgrade to either a new minor or major version.
- Bug fixes are officially delivered and supported only on a new patch release. Push Technology might give customers patches for particular releases to verify functionality, but to be supported customers are required to pick up the next patch release incorporating that fix.
- New patch releases invalidate older patch releases of the same major/minor version. To investigate support issues, customers are required to upgrade to the latest patch release of the major/minor release that they are currently using.
- APIs are not removed, changed or added in any patch release (except where necessary to resolve defects).
- Configuration items are not removed, changed or added in any patch release (except where necessary to resolve defects).
Supported releases
We've simplified our End of Life (EOL) policy for Diffusion versions 6.2 and above.
The policy is that each version of Diffusion will be supported for at least 18 months. After 18 months, a version will only be declared EOL once there have been three subsequent major or minor releases.
For example, version 6.2 (released on 12 Nov 2018) has a minimum EOL date of 12 May 2020 (18 months after its release), but 6.2 will only become EOL once 6.5 has been released, which will be some time after 12 May 2020.
This policy prolongs the lifecycle of Diffusion versions. For example, version 6.2 will now be supported for longer.
Extended support contracts are unchanged. Please contact your account manager if you require extended support for an EOL version of Diffusion.
Version | Provisional EOL Date | EOL Date | Extended Support |
5.7 | 2 Jul 2017 | 2 Jul 2017 | Indefinite |
5.8 | 18 Oct 2017 | 18 Oct 2017 | Indefinite |
5.9 | 5 Apr 2019 | 5 Apr 2019 | Indefinite |
6.0 | 25 Apr 2019 | 25 Apr 2019 | Indefinite |
6.1 | 11 Nov 2019 | 11 Nov 2019 | Indefinite |
6.2 | 12 May 2020 | 13 Jul 2020 | Indefinite |
6.3 | 4 Dec 2020 | 24 Mar 2021 | Indefinite |
6.4 | 6 Jun 2021 | 6 Aug 2021 | Indefinite |
6.5 | 13 Jan 2022 | 28 Feb 2022 | Indefinite |
6.6 | 24 Sep 2022 | 14 Dec 2022 | Indefinite |
6.7 | 8 Feb 2023 | 30 Aug 2023 | Indefinite |
6.8 | 30 Sep 2023 | 21 Aug 2024 | Indefinite |
6.9 | 14 Jun 2024 | - | Indefinite |
6.10 | 28 Feb 2025 | - | Indefinite |
6.11 | 21 Feb 2026 | - | Indefinite |