ReportingCloud

Breaking Changes

Topic

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

YearSDKChange that needs work
2024PHP SDK 4.0.3 and later, Laminas module 5.0PHP 8.3 or later
2023PHP SDK 4.0.0New package name and namespace, StringUtils removed, PHP 8.1 or later
2022Former PHP SDK package 4.0.0 to 4.0.6PHP 8.0 or later
2021PHP SDK 3.0PHP 7.4 or later, no null for optional parameters, StatusCode removed
2020Laminas module 2.2.0Laminas instead of Zend Framework 3
2019PHP SDK 2.0.2downloadTemplate returns binary data
2018PHP SDK 2.0, .NET SDK 1.200.500PHP 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-reportingcloud and 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 package textcontrol/txtextcontrol-reportingcloud is abandoned. Remove the former package from composer.json and require the new one, as Installing an SDK shows. The Laminas module moved to textcontrol/textcontrol-laminas-reportingcloud in the same way.
  • New namespace. The classes moved from TxTextControl\ReportingCloud to TextControl\ReportingCloud. Change the use statements of your code. The Laminas module uses the namespace TextControl\Laminas\ReportingCloud.
  • StringUtils removed. The class Stdlib\StringUtils of 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-reportingcloud require PHP 8.0 or later and no longer support PHP 7.4. A version constraint such as ^4.0 on 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 null for optional parameters. The public methods no longer accept null for their optional parameters, which now default to an empty string, an empty array or false. A call such as mergeDocument($mergeData, 'PDF', null, $templateFilename) fails with a TypeError; pass '', [], 0, true or false instead of null.
  • StatusCode removed. The class StatusCode, which held constants for HTTP status codes, has been removed in favor of the package ctw/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-servicemanager and laminas/laminas-view instead 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, downloadTemplate returns 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.ReportingCloud contains the builds for .NET Framework, .NET Core and .NET Standard. A .NET Core project that references TXTextControl.ReportingCloud.Core, which is no longer updated, references TXTextControl.ReportingCloud instead, as Installing an SDK shows.

2018 describes the releases.