CubicleSoft recognizes that managing software is difficult and maintaining systems to always run the latest bleeding edge software can be prohibitively expensive. This document aims to cover the official policies regarding backward and forward compatibility so that you, the user, have confidence in using the software on your systems.
In general, the rule of thumb used by CubicleSoft for backwards compatibility is support for software and hardware configurations that have not reached End Of Life (EOL). EOL is the date that a software vendor or hardware manufacturer declares they have ended support for a specific configuration. Past any particular EOL date, support for a specific configuration may terminate unexpectedly.
An example of this policy is how CubicleSoft supports the PHP scripting language. This page shows the currently supported versions of PHP and the official EOL timetable for that language. For CubicleSoft software, it is reasonable to expect software written in PHP to work on the currently supported versions. It is unreasonable to expect the same software to work on PHP 4.x as the last release was in 2008, is no longer supported, and very little of today's software works on PHP 4.x anyway.
Another example of the policy is Operating System support. Microsoft infrequently announces new OSes and retires older OSes. Other OS vendors have more definitive retirement schedules. CubicleSoft supports current OSes that have not reached EOL.
Legal: Past an End Of Life (EOL) date of any CubicleSoft software product or any of its dependencies, there is no guarantee of functionality.
On the flip side of the coin is forward compatibility. In general, CubicleSoft is a cautious software development company, generally leery of brand new technologies. When something brand new comes out, CubicleSoft waits a while to adopt it.
For example, when a new version of PHP is announced (e.g. 8.0.0), CubicleSoft waits until the fourth sub-release (e.g. 8.0.4) is put into production before moving to it. From experience, that is the release where most of the serious bugs have been squashed and the product has stabilized into a general holding pattern.
For a new OS, CubicleSoft will generally not support it until 4 to 6 months have passed the original release date. Also, Long-Term Support (LTS) versions of the software are given higher priority as they signal a dedication to the product that non-LTS versions are not given.
Waiting for a piece of software to mature a bit before using it has advantages. Specifically, bugs don't crop up mid-development. As a result, there are fewer delays in waiting to have specific bugs get fixed before continuing to develop software and also avoids developing hacks/workarounds for the bugs.
The results of waiting a little bit before adopting new versions of software are reduced time costs and cleaner, more maintainable code as well as a higher quality product.
Legal: Before CubicleSoft moves to a new major version of a software product, there is no guarantee of functionality.
Just because software falls outside of the support window does not mean it will stop working on a specific configuration.
CubicleSoft writes software in a way that tends to have longevity outside of support windows because broken software, whether by design or accident, is terrible to work with. CubicleSoft also recognizes that upgrading systems can be costly so CubicleSoft prefers stable software with a long shelf life.
In general, CubicleSoft software runs on a wide array of configurations that have not been specifically tested for. As a result, the software has a pretty good chance of working just fine on your system even if support hasn't been officially declared. But this is not a guarantee and you should consider updating outdated software and/or hardware to something more recent.
Legal: CubicleSoft software may or may not function as expected on unsupported hardware or software combinations.