Apama 10.7.2 | Release Notes | What's New In Apama 10.7.0 | Miscellaneous changes in 10.7.0 affecting backwards compatibility
 
Miscellaneous changes in 10.7.0 affecting backwards compatibility
The following changes in Apama 10.7.0 affect backwards compatibility to previous Apama versions:
*Software AG Designer now uses Eclipse 4.15. Eclipse 4.15 workspaces are upward-compatible, and workspaces created with older Eclipse versions are automatically migrated to 4.15 workspaces. Downward-compatibility of workspaces, however, is not supported. This means that a workspace which has been created or opened with Eclipse 4.15 can not be used with an older Eclipse version. Therefore, it is recommended that you back up your workspaces before opening them with Eclipse 4.15.
*As of Apama 10.7.0, the Cumulocity IoT bundles are no longer versioned. Therefore, you have to replace the Cumulocity IoT bundles that you are using. Proceed as follows:
1. Add the new Cumulocity IoT bundles to your Apama projects.
2. Copy any changes you applied to the CumulocityIoT.yaml and CumulocityIoT.properties files over from the old, versioned bundles into the new bundles.
3. Remove the old, versioned bundles from your Apama projects.
See also Connectivity plug-ins enhancements in 10.7.0.
*Generic requests that are sent using the Cumulocity IoT transport now return the response body with exactly what is returned from Cumulocity IoT. In previous versions, this was put into a dictionary with an empty key. So if you have existing code such as the following
AnyExtractor dict :=
AnyExtractor(AnyExtractor(response.body).getDictionary("")[""]);
you have to replace this with:
AnyExtractor dict := AnyExtractor(response.body);
See also Invoking other parts of the Cumulocity IoT REST API.
*To be more compliant with the HTTP RFC and IANA standards, when automatically constructing the content-type header for HTTP requests, the HTTP client transport now only appends the charset parameter from the metadata.charset field if the content type is in the text/* domain. If you need to add a charset for any other content type, you can explicitly add it by setting the metadata.http.headers.content-type field to include the charset modifier. See Handling HTTP headers for more details.
*In 10.7, the defaults of the two configuration options cookieJar and followRedirects, which are used by the HTTP client transport, have changed. Since Apama 10.3.1, Software AG Designer projects created with the HTTP Client connectivity bundle have had these set to true in the bundle configuration, and for those projects nothing will change whether you had the default or changed the configuration in your bundle instance (see also the backwards compatibility note in Connectivity plug-ins enhancements in 10.3.1). For older projects or those using the HTTP client transport in some other fashion, the default is now true. To disable these options, set them to false in the transport configuration. See Configuring the HTTP client transport for more details.
*The JSON codec connectivity plug-in now safely handles empty payloads and now converts "" to {} instead of throwing an error in the towards-host direction. See also The JSON codec connectivity plug-in.
*If the engine_deploy tool is executed with an --include or --exclude option with an argument containing an unsupported pattern (such as ./), the tool will now exit with a non-zero exit code, abort execution and print an error message. With previous versions, a warning was printed in this case. See also Deploying a correlator.
*To avoid confusion, creating user status items through either EPL or from plug-ins now strips any leading or trailing whitespace from key names. This avoids having two distinct keys with visually identical key names. This means that two keys which previously differed only in whitespace will now cause a conflict for having the same name when using the createUserStatusItem interface. When using the setUserStatus interface, they will now update the same value. Keys which previously had trailing whitespace that caused them not to appear in the Prometheus statistics will now appear. Status values in the correlator status REST API will now appear without whitespace if they had them before. In addition, empty keys, or keys only consisting of whitespace, are now illegal and will throw an exception. See also Using the Management interface and User-defined status reporting from connectivity plug-ins.
*The Apama images that are available on Docker Hub (apama-correlator, apama-builder and apama-cumulocity-jre) have been changed to use Red Hat UBI 8 minimal as their base operating system. This may affect users who are extending those images. In addition to the upgrade from 7 to 8, the switch to a minimal image results in much smaller images, but as a result some packages that a user relies on may be missing. In particular, this includes the yum tool for installing packages. Instead, the microdnf tool must be used. We have taken the opportunity to also ensure that all of the images will work with non-UTC timezones out of the box. However, the only locale which is shipped is the new default C.UTF-8 locale (previously, it was en_US.UTF-8). Any other locales which are required must be added to the image. See also Deploying Apama Applications with Docker.
*In Apama 10.7.0, the JDBC DataDirect driver version 6.0.0 for Microsoft SQL Server has been moved from APAMA_HOME/lib/datadirect-jdbc/6.0.0/eysqlserver.jar to APAMA_HOME/lib/eysqlserver.jar. Software AG Designer projects using the old location for the driver classpath will need to update the configuration of their JDBC adapter to point to APAMA_HOME/lib/eysqlserver.jar.
*The new PySys release includes some changes in behavior that may affect existing projects. See PySys changes in 10.7.0 for more information.
Note:
There may also be removed features that affect backwards compatibility. See Removed and deprecated features in 10.7.0 for more information.