As of this writing, all current Sugar versions (7.9 extended, 8.0, and Sugar cloud) supports and uses PHP 7.1. This PHP version was released in 2016 and entered security support on December 1st 2018. While we’ve made great strides in supporting newer PHP versions over the last few years, we have tended to be a couple years away from the latest and greatest.
So what is today’s latest and greatest? Well PHP 7.3 was just released on December 6th 2018. Therefore PHP 7.3 will be the next version that Sugar will support. Over the last few months our engineers have been laying the groundwork for that support in our upcoming Sugar 9.0 release.
Some of that work involves adding cumulative code compatibility changes for PHP 7.2 and PHP 7.3. The details of these changes can be found in the PHP 7.2 migration guide and the PHP 7.3 migration guide.
However, our intent is to certify support for PHP 7.1 and PHP 7.3 for Sugar 9.0. We have no plan to support PHP 7.2 now or in future. By skipping 7.2, we are able to spend more time innovating while still allowing you all to access the latest and greatest features and performance that new PHP versions offer.
Library updates in Sugar Winter ‘19 release
In the upcoming Sugar Winter ‘19 release, the following PHP libraries are updated. Many of these were updated to newer versions that were compatible with PHP 7.3.
- doctrine/dbal: 2.7.1 → 2.8.0 (changelog)
- ramsey/uuid: 2.9.0 → 3.8.0 (changelog)
- symfony/{cache,console,framework-bundle,security-core,security-csrf,translation,validator}: 3.4.8 → 3.4.16 (changelog)
- tedivm/jshrink: 1.1.0 → 1.3.1 (changelog)
- onelogin/php-saml: v2.11 → v3.0 (changelog)
Additionally, we are making minor changes to the following vendored libraries for PHP 7.3 compatibility:
- Smarty
- XTemplate
- HTMLPurifier
If you have custom code that uses any of the above libraries, you should verify that your customizations are still compatible.
Looking ahead to PHP 7.3
Finally, here are some additional PHP resources that you can review today to help you get ready to use PHP 7.3.
- PHP RFC: Deprecations for PHP 7.2
- PHP RFC: Counting of non-countable objects
- PHP RFC: Deprecate and Remove Bareword (Unquoted) Strings
- PHP RFC: Parameter Type Widening
- Using string as the assertion is deprecated as of PHP 7.2
- The mcrypt extension was removed in PHP 7.2
- Use OpenSSL library instead.
- Deprecations for PHP 7.3
- Backwards incompatible changes in PHP 7.3
Let us know what you think in the comments below!