As part of staying updated with the latest code and libraries, we are upgrading the PHP version for Podio workflow automation from 7.4 to 8.1.
Why is this PHP upgrade important?
The previous version PHP 7.4 is declared end of life. This new version PHP 8.1 brings in better performance and supports new features. This is also important from security and compliance perspective.
The following section is primarily relevant to workflow automation admins using custom calculations in PHP:
We attempted a gradual roll out to a small set of workflows in May 2023 to assess the impact and gather possible incompatibilities in the new version. Based on this assessment, we have identified the major areas impacted and built a guide to help you with the migration changes. We noticed that most of the incompatibility errors were related to custom calculations that are not supported on PHP 8.1. After auto-fixing a lot of the incompatibilities on our end, we have shortlisted the final set of issues you could expect to see, that cannot be auto-fixed by us and need to be resolved on your individual flows.
The suggested resolution for each of those issues is documented in our new help centre guide here for PHP Upgrade.
Timeline for PHP version upgrade in 3 steps:
Step 1: For overall Podio workflow automation app on 19th June 2023
- Once done, all Podio workflow automation flows would pass through this new 8.1 version.
- However, any custom calculations will first be passed through 8.1 version, and in case of any errors, will fall back to run on 7.4 version. This will ensure your workflows using custom calculations do not get disrupted or end up in errors.
Step 2: PHP version warnings on 19th June 2023
- We will start showing warnings with pre-fix "Falling back to PHP 7.4. Future PHP8 Compatibility Warning" to highlight areas of version incompatibilities.
- Refer to "How to identify possible errors?" section below on where these warnings will surface.
Step 3: For custom calculations used in Podio workflow automation on 1st Aug 2023
- This would be the final step of version upgrade when all flows including custom calculations will run only on PHP 8.1 version
- If workflow incompatibilities using custom calculations are not fixed by then, it will lead to errors and failures as we would no longer fall back to 7.4 version.
How to identify possible errors?
Custom Calculations which need updates to be compatible with the PHP 8.1 version, will start being highlighted with warnings after Step 2 of the upgrade. The workflow will continue to run without any errors, however, warnings will start being surfaced at the below touch points:
In the Podio workflow automation app:
- Simulating variables (Sim vars): You would be able to catch the warnings while simulating variables in a workflow before it is run.
- Editing a variable: You would be able to catch the incompatibility warnings in red while editing variables in a workflow before it is run. In cases when the calculation contains token we are showing the warning in orange colour with additional message "This calc contains tokens. Use simulate vars to validate and resolve the above warning."
- Flow Logs: After a flow is run, all warnings will be recorded in the logs with an additional "Error:" to the warning prefix, so that you can get a filtered view on the "Errors only" tab in the logs page and also see the error count in the flow specific logs on the app flows page.
Via Email from Podio workflow automation:
- An error email will be sent from email@example.com per unique warning message per flow per day with details of the PHP warning.
All these warnings will have a pre-fix "Falling back to PHP 7.4. Future PHP8 Compatibility Warning", which would help you narrow down your focus to these specific warnings for resolution.
Please note: these are just warnings to help users identify the incompatibilities and possible errors. It might have an additional prefix of "Error:" in the logs and email you receive, but the flows will continue running fine before Step 3 of release.
Action Proposed before final upgrade on 1st Aug 2023:
If you are using custom code today, will recommend you to revisit the same to confirm your custom code and syntax is compatible with PHP 8.1. If you see warnings as per the "How to identify possible errors?" section above, you may need to modify you custom code as per the PHP 8.1 version requirements.
Please refer to the below guide we have prepared with the list of incompatibilities that need to be fixed on your end before the Step 3 release: https://help.podio.com/hc/en-us/articles/11852890508818
For more details on the upgrade and backward incompatible changes, please refer to the below manuals:
- Migrating from PHP 7.4.x to PHP 8.0.x: https://www.php.net/manual/en/migration80.php
- Migrating from PHP 8.0.x to PHP 8.1.x: https://www.php.net/manual/en/migration81.php
Action Proposed after final upgrade on 1st Aug 2023:
If you have been unable to fix all incompatibilities before the upgrade to PHP 8.1, some of your workflows utilising custom code and syntax might see warnings after Step 2 of release and see errors/ fail after Step 3 of release. In such cases, check the logs for exact failure details, map them with the guide we have prepared or with the PHP manuals and accordingly fix the errors. These are retrospective steps and will bring in some amount of disruption. So we strongly recommend to make the necessary changes before 1st August (Step 3 release).
This upgrade is an important step towards security, compliance, performance and staying up-to-date with our code libraries. Our team has tried to minimise the disruption on your end by auto-fixing most of the incompatibilities, however, owing to the flexibility of custom calculations, we need these final possible incompatibilities to be fixed on your end and request action on the same over the next 4 weeks before we release Step 3.
Please reach out to us below via comments or contact support if you find an incompatibility that is not listed in our guide or see any other issues/concerns with this upgrade.
Please sign in to leave a comment.