Breaking Changes
How much work does an update of a ReportingCloud application take? The changes to the Web API added endpoints, parameters and merge settings, and the endpoints have stayed below /v1/ since the release in 2016, so requests written for an earlier year keep their form. The changes that need work are in the SDKs: a higher PHP version, a new package name or namespace, a removed class or a changed method signature. The list below names them by year, newest first, with what to change.
How to Use This List
- Find your SDK version. Look up the version of the SDK package in your project: composer.lock for PHP, the package reference in the project file for .NET.
- Read every entry after it. Read the entries of every year between the release of your version and today, newest last, and apply each change.
- Check the requirements. Requirements lists the language versions that each SDK release needs.
Changes by Year
| Year | SDK | Change that needs work |
|---|---|---|
| 2024 | PHP SDK 4.0.3 and later, Laminas module 5.0 | PHP 8.3 or later |
| 2023 | PHP SDK 4.0.0 | New package name and namespace, StringUtils removed, PHP 8.1 or later |
| 2022 | Former PHP SDK package 4.0.0 to 4.0.6 | PHP 8.0 or later |
| 2021 | PHP SDK 3.0 | PHP 7.4 or later, no null for optional parameters, StatusCode removed |
| 2020 | Laminas module 2.2.0 | Laminas instead of Zend Framework 3 |
| 2019 | PHP SDK 2.0.2 | downloadTemplate returns binary data |
| 2018 | PHP SDK 2.0, .NET SDK 1.200.500 | PHP 7.1 or later, no Zend Framework, one .NET package |
The years 2016 and 2017 brought no change that requires work.
2024
- PHP 8.3. Releases 4.0.3 to 4.0.5 of
textcontrol/textcontrol-reportingcloudand version 5.0 of the Laminas module require PHP 8.3 or later. On PHP 8.1 and 8.2, Composer installs release 4.0.2, the last one for these versions. 2024 describes the releases.
2023
- New package name. PHP SDK 4.0.0 is published as
textcontrol/textcontrol-reportingcloud; the former packagetextcontrol/txtextcontrol-reportingcloudis abandoned. Remove the former package from composer.json and require the new one, as Installing an SDK shows. The Laminas module moved totextcontrol/textcontrol-laminas-reportingcloudin the same way. - New namespace. The classes moved from
TxTextControl\ReportingCloudtoTextControl\ReportingCloud. Change theusestatements of your code. The Laminas module uses the namespaceTextControl\Laminas\ReportingCloud. StringUtilsremoved. The classStdlib\StringUtilsof the SDK has been removed because PHP provides the same functions. Code that called it uses the string functions of PHP instead.- PHP 8.1. The SDK requires PHP 8.1 or later.
2023 describes the releases.
2022
- PHP 8.0. Releases 4.0.0 to 4.0.6 of the former package
textcontrol/txtextcontrol-reportingcloudrequire PHP 8.0 or later and no longer support PHP 7.4. A version constraint such as^4.0on the former package installs them. A project on PHP 7.4 stays on release 3.0.0. 2022 explains how these releases relate to PHP SDK 4.0.
2021
- PHP 7.4. PHP SDK 3.0 requires PHP 7.4 or later. A project on an older PHP 7 version stays on release 2.6.2, which runs on PHP 7.1 and later 7.x versions.
- No
nullfor optional parameters. The public methods no longer acceptnullfor their optional parameters, which now default to an empty string, an empty array orfalse. A call such asmergeDocument($mergeData, 'PDF', null, $templateFilename)fails with aTypeError; pass'',[],0,trueorfalseinstead ofnull. StatusCoderemoved. The classStatusCode, which held constants for HTTP status codes, has been removed in favor of the packagectw/ctw-http, which the SDK installs.
2021 describes the release. It also deprecated authentication with a user name and password; Deprecated APIs lists the members.
2020
- Laminas instead of Zend Framework 3 (Laminas module 2.2.0). Version 2.2.0 of the module that integrates the PHP SDK into MVC applications requires the Laminas components
laminas/laminas-mvc,laminas/laminas-servicemanagerandlaminas/laminas-viewinstead of their Zend Framework counterparts. A Zend Framework 3 application moves to Laminas before it updates the module, or stays on version 2.1.0. The public interfaces of the module are unchanged, so code that uses it needs no change. The PHP SDK itself is not affected.
2020 describes the release.
2019
- Binary templates (PHP SDK 2.0.2). Since version 2.0.2 of January 3, 2019,
downloadTemplatereturns the template as binary data. Versions 2.0.1 and earlier returned it Base64-encoded, so code that decoded the result must no longer do so.
2019 describes the release.
2018
- PHP 7.1 and no Zend Framework (PHP SDK 2.0). Version 2.0 requires PHP 7.1 or later and no longer depends on Zend Framework components. An application that used the Zend Framework 3 integration of version 1.x uses the separate module, today's Laminas module
textcontrol/textcontrol-laminas-reportingcloud. - One .NET package (.NET SDK 1.200.500).
TXTextControl.ReportingCloudcontains the builds for .NET Framework, .NET Core and .NET Standard. A .NET Core project that referencesTXTextControl.ReportingCloud.Core, which is no longer updated, referencesTXTextControl.ReportingCloudinstead, as Installing an SDK shows.
2018 describes the releases.