TIBCO FTL® Release Notes

Software Release 5.2.0 March 2017

Two-Second Advantage® 2

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO, Two-Second Advantage, TIB, Information Bus, eFTL and Rendezvous are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright © 2010–2017 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

TIBCO FTL® Release Notes 3

Contents

About this Product ...... 4 TIBCO Documentation and Support Services ...... 5 New Features ...... 7 Changes in Functionality ...... 8 Deprecated and Removed Features ...... 9 Migration and Compatibility ...... 11 Known Issues ...... 12 Closed Issues ...... 15

TIBCO FTL® Release Notes 4

About this Product

TIBCO® is proud to announce the latest release of TIBCO FTL® software. This release is the latest in a long history of TIBCO products that leverage the power of Information Bus® technology to enable truly event-driven IT environments. To find out more about how TIBCO FTL software and other TIBCO products are powered by TIB® technology, please visit us at www.tibco.com.

TIBCO FTL® Release Notes 5

TIBCO Documentation and Support Services

Documentation for this and other TIBCO products is available on the TIBCO Documentation site. This site is updated more frequently than any documentation that might be included with the product. To ensure that you are accessing the latest available help topics, visit: https://docs.tibco.com

Product-Specific Documentation

Documentation for TIBCO products is not bundled with the software. Instead, it is available on the TIBCO Documentation site. To access the documentation web page for this product from a local software installation, open the following file:

TIBCO_HOME/release_notes/TIB_ftl_5.2.0_docinfo.html TIBCO_HOME is the top-level directory in which TIBCO products are installed.

● On Windows platforms, the default TIBCO_HOME is :\tibco.

● On platforms, the default TIBCO_HOME is /opt/tibco. The following documents for this product can be found on the TIBCO Documentation site. ® TIBCO FTL Documentation Set

● TIBCO FTL Concepts Everyone reads this booklet first, for an intuitive introduction to the fundamental concepts of FTL software.

● TIBCO FTL Development Application developers and architects read this manual to understand concepts relevant in any supported programming language.

● TIBCO FTL API Reference Application developers use this HTML documentation to learn the details of the FTL API in specific programming languages.

● TIBCO FTL Administration Administrators read this manual to learn how to use the realm server and its interfaces, and how to define a realm. Developers can also benefit from understanding FTL software from an administrator’s perspective.

● TIBCO FTL Monitoring Administrators read this manual to learn about monitoring and metrics. Developers read this manual to learn how an application can subscribe to the stream of monitoring data.

● TIBCO FTL Installation Read this manual before installing or uninstalling the product.

● TIBCO FTL Glossary The glossary contains brief definitions of key terms used in all other parts of the documentation set.

● TIBCO FTL Release Notes Read the release notes for a list of new and changed features. This document also contains lists of known issues and closed issues for this release. TIBCO eFTL™ Documentation Set TIBCO eFTL software is documented separately. Administrators use the FTL realm server GUI to configure and monitor the eFTL service. For information about these GUI pages, see the documentation set for TIBCO eFTL software.

How to Contact TIBCO Support

For comments or problems with this manual or the software it addresses, contact TIBCO Support:

● For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site: http://www.tibco.com/services/support

TIBCO FTL® Release Notes 6

● If you already have a valid maintenance or support contract, visit this site: https://support.tibco.com Entry to this site requires a user name and password. If you do not have a user name, you can request one.

How to Join TIBCOmmunity

TIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is a place to share and access the collective experience of the TIBCO community. TIBCOmmunity offers forums, blogs, and access to a variety of resources. To register, go to the following web address: https://www.tibcommunity.com

TIBCO FTL® Release Notes 7

New Features

The following new features have been added to version 5.2.0 of TIBCO FTL software. Realm Server The realm server has been reimplemented to improve memory footprint and efficiency. Other improvements include scalability of deployments and scalability of dynamic TCP meshes. This reimplementation is transparent to client programs. A migration tool automatically transfers historical deployment data from existing realm servers when you upgrade to Release 5.2. Realm Server GUI A complete redesign of the realm server GUI presents a larger perspective on the realm definition and the status of running application clients and services. Authentication and Authorization Service For authentication and authorization, the realm server can use either an external JAAS service or an internal flat-file authentication service. (In earlier releases a JAAS service was internal to the realm server process.) Limits on Durables Three new administrative parameters offer control over the memory size of persistence stores:

● Dynamic Durables Limit

● Message Time to Live

● Durable Time to Live

Web API The realm server administrative web API now supports 13 new calls related to application instance endpoints and persistence durables. Direct Subscriber Has Data A new C API call lets programs determine whether a direct subscriber has data to dispatch. Preload Formats The realm server automatically preloads eFTL servers with a complete set of format definitions. It is no longer necessary to configure preload formats for eFTL servers. You can still configure channel exchange formats. You do not need to change existing realm definitions that include preload formats for eFTL servers. Metrics Realm servers and transport bridges collect additional metrics. Tutorial TIBCO FTL 5.2 ships with expanded tutorials that help developers understand FTL concepts and APIs.

TIBCO FTL® Release Notes 8

Changes in Functionality

The following are changes in functionality in version 5.2.0 of TIBCO FTL software. Realm Server GUI The realm server GUI is completely redesigned from the ground up. See TIBCO FTL Administration. Realm Server Interface Port The realm server no longer requires a separate interface port (also called the GUI port). Instead, send realm server administrative requests (REST API calls) to the connect port (also called the HTTP port).

The realm server command line parameters --gui and -g are deprecated, and will become obsolete in a future release. When running the realm server in a Docker container, it is no longer necessary to publish the interface port externally. Realm Server as a Windows Service The command line to install the realm server as a Windows service has changed. See TIBCO FTL Administration. Disaster Recovery Authorization Group The disaster recovery realm server requires a new authorization group, ftl-dr. It no longer requires the authorization group ftl-backup. Authentication and Authorization JAAS authentication and authorization is no longer internal to the realm server executable process. Instead, the realm server relies on a separate, external authentication service. You can use the sample authentication services included with this product, or implement your own custom service. For details, see "Realm Server Authentication" in TIBCO FTL Administration. Note the following changes to the realm server command line:

● New command line parameters direct the realm server to the authentication service, and supply credentials.

● The command line parameter --disable.jaas.groups is obsolete.

● The command line parameter --jaas is obsolete.

Group Facility The group facility is automatically enabled. You do not need to explicitly enable it using init_groups.py. Transport Bridges Fault tolerance is automatically enabled for transport bridges. (Administrators must still explicitly run the bridge processes.)

TIBCO FTL® Release Notes 9

Deprecated and Removed Features

The following tables list any features that have been deprecated or removed as of Release 5.2.0 of TIBCO FTL software. For deprecated features, if relevant, useful alternatives to the deprecated features are listed. Any use of a deprecated feature should be discontinued as it may be removed in a future release. You should avoid becoming dependent on deprecated features and become familiar with the suggested alternative features.

Platforms

Affected Affected Platform Description Release

Windows Server 2008 Migrate to Windows Server 2012 5.3.0 or 2016.

Apple Mac OS X 10.9 Migrate to 10.10 or 10.11. 5.0.0 64-bit, x86-64

Red Hat Enterprise Server 5.x Migrate to 6.x or 7.x. 4.3.0 64-bit, x86-64

Novell SUSE Linux Enterprise Server 11.0 Migrate to 11.4 or 12. 4.2.0 64-bit, x86-64

Removed Features

Affected Deprecated Removed Component Description Release Release

Bridge Setup The Python scripts init_bridge.py 5.2.0 5.2.0 Scripts and init_dtcp_bridge.py are obsolete. Use the realm server web API instead.

Realm The realm configuration Python script, 5.2.0 5.2.0 Configuration rs_script.py, and its supporting Python Scripts utility scripts are obsolete. Use the realm server web API instead.

Group Setup The group facility is automatically 5.2.0 5.2.0 enabled.

The Python script init_groups.py is obsolete and no longer needed.

The web API calls POST realm/ groupserver and DELETE realm/ groupserver are obsolete and no longer needed.

TIBCO FTL® Release Notes 10

Affected Deprecated Removed Component Description Release Release

Realm Server The realm server now relies on a 5.2.0 5.2.0 Internal JAAS separate authentication service, rather than an internal JAAS component.

Realm Server The realm server no longer stores 5.0.0 5.0.0 Monitoring historical monitoring data. Interface For replacement functionality, see TIBCO FTL Monitoring.

Edit Transport The realm server GUI transport 5.0.0 5.0.0 Configuration definition page no longer support Manually manually editing a transport's JSON definition. To modify the transport definition, use either the GUI or the web API. See "PUT realm/transports/name" in TIBCO FTL Administration.

Adapter The adapter converts and forwards 4.2.0 4.3.0 messages between TIBCO FTL and TIBCO Rendezvous. This component is obsolete. This functionality is now part of TIBCO Rendezvous Network Server software.

API API calls that facilitated request/reply 4.2.0 Deactivated in interactions between TIBCO FTL and 4.2.0. TIBCO eFTL are obsolete. Removed in 5.0.0.

TIBCO FTL® Release Notes 11

Migration and Compatibility

The table lists compatibility issues among releases of TIBCO FTL software. Instructions on how to migrate from a previous release to version 5.2.0 of TIBCO FTL software are included in the product documentation set. See “Upgrade Migration to a New Release” in TIBCO FTL Administration.

Compatibility with Earlier Releases of TIBCO FTL

● Realm servers of Release 5.2 cannot communicate with realm servers of Release 5.1 or earlier. While a rolling upgrade is possible, it is best practice to upgrade all realm servers to the lastest release within a brief time span.

● Realm servers of Release 5.2 can serve clients that link FTL libraries from Release 5.1 or earlier.

● Realm servers of Release 5.2 use a different data base to store the deployments data history. During the upgrade migration procedure realm servers automatically updates the data to a new format. Earlier releases of TIBCO FTL cannot use the new data base files.

TIBCO FTL® Release Notes 12

Known Issues

The table lists known issues in version 5.2.0 of TIBCO FTL software.

Key Summary

FTL-7167 Summary: Installation in GUI mode on non-Linux platforms could freeze if you do not accept the license agreement. Workaround: Accept the license agreement.

FTL-7161 Summary: The realm server GUI does not support Internet Explorer (IE) 11 and earlier. However, it does support Edge (Windows 10). Workaround: Use any supported supported browser as listed in the file readme.txt.

FTL-6708 Summary: On Windows 2008 platforms, the realm server can exit abruptly during a deployment. This symptom can occur only if both a primary and a backup realm server are running on Windows 2008 host computers, and only if the realm server data directory is on a network mounted drive. Workaround: Choose either of two workarounds:

● Upgrade the host computers to Windows Server 2012, Windows Server 2016, or Windows 10.

● Move the data directory to a local drive.

FTL-6040 Summary: The group service does not support clients, including transport bridge processes, when realm servers run in Docker environments. Workaround: When clients use the group API, run the realm server without Docker.

FTL-5933 Summary: Backup for Satellite Realm Server A secure satellite realm server and its backup could be unable to establish a secure connection. Workaround: Restart the satellite's backup realm server.

FTL-5909 Summary: IPv4 and IPv6 The realm server interprets wildcard addresses narrowly in its command line parameters. That is, it interprets [::] to mean any IPv6 address, and 0.0.0.0 to mean any IPv4 address. This interpretation could change in a later release, so do not depend on it.

Workaround: Specify * as the wildcard to include any IPv4 or IPv6 address.

TIBCO FTL® Release Notes 13

Key Summary

FTL-5630 Summary: Changing a Persistence Cluster If you change the name of a persistence cluster, all running persistence servers in the cluster require restart. However, the realm server GUI does not detect this condition. Workaround: Ensure that you restart persistence servers after changing their cluster's name.

FTL-5176 Summary: On Mac OS X platforms, TIBCO FTL Python scripts cannot connect to a secure realm server. The reason is an incompatibility between OpenSSL versions. The default Python installation on Mac OS X platforms uses OpenSSL 0.9.8. TIBCO FTL software requires OpenSSL 1.0.1. Workaround: Install Python using either the MacPorts package manager or the Homebrew package manager. Ensure that the Python installation uses OpenSSL 1.0.1.

FTL-5128 Summary: Inbox Communication through a Transport Bridge If two application processes communicate through a transport bridge, and one application uses a Release 3.x library while the other uses a Release 4.x library, then they cannot exchange messages using inbox communications. Workaround: Upgrade the applications and the transport bridge to the latest release.

FTL-4976 Summary: IPv4 Overrides IPv6, or Vice Versa

If the realm server command line specifies --http hostname:port, and hostname resolves to both IPv4 and IPv6 addresses, then the realm server binds to only the computer's preferred address. For example, if the preferred address is IPv4, then clients cannot connect to the IPv6 address. If the preferred address is IPv6, then clients cannot connect to the IPv4 address.

Workaround: Specify --http *:port, using * to cover the two interfaces.

FTL-4386 Summary: Chrome and Safari browsers can no longer access TIBCO HTML documentation from a file system, that is, using the file:// protocol. Workaround: Access using a different browser, or access the HTML documentation through the web, that is, using the http:// protocol.

TIBCO FTL® Release Notes 14

Key Summary

FTL-496 Summary: On Microsoft Windows platforms (only), tcp and shm transports support at most 60 simultaneous connections.

For example, when 60 tcp transports are connected to one listening transport in an application program (for example, a server hub application), the 61st cannot connect, and FTL logs an error.

Similarly, when shm transports in 60 application processes on the same host computer are connected to the same shared memory segment, the 61st cannot connect, and FTL logs an error. When inline mode is disabled, this limitation of 60 connections applies separately to each transport. However, when inline mode is enabled - by using the property TIB_EVENTQUEUE_PROPERTY_BOOL_INLINE_MODE when creating an event queue - then this limitation applies cumulatively across all the transports of all the endpoints (that is, subscribers) associated with that queue. The sum of all the connections to those transports cannot exceed 60. Workaround: None.

TIBCO FTL® Release Notes 15

Closed Issues

The table lists closed issues in version 5.2.0 of TIBCO FTL software.

Key Summary

FTL-6894 Fixed a defect in which persistence servers running on Windows platforms could not accept more than 64 client connections.

FTL-6760 Fixed a defect in which the method SetLogLevel was not thread safe.

FTL-6712 Fixed realm server memory leaks. FTL-6655

FTL-6594 Fixed a persistence server defect in which, after reforming a quorum, the new leader could refuse inbound messages from publishers.

FTL-6592 Fixed a defect in which direct shared memory transports did not support dispatch from multiple threads.

FTL-6586 Fixed a defect in tibpromgateway command line parsing.

FTL-6548 Fixed a library defect in which creating a publisher or subscriber while reconnecting to a persistence server could cause the create publisher or create FTL-6546 subscriber call to throw an unexpected exception.

FTL-6535 Fixed a defect in which persistence store logs did not include the client ID.

FTL-6527 Fixed a defect in which promoting a dynamic format to a static format could cause exceptions in send calls.

FTL-6499 Fixed a defect in which clients could remain out of sync against the current realm definition. The realm server now automatically pushes the latest deployment to out-of-sync clients (if any exist) every 60 seconds.

FTL-6489 Fixed a library defect which could prevent subscribers to a shared durable from reconnecting to the persistence server.

FTL-6469 Fixed a defect in which POST server {"cmd":"backup"} could not write the backup data.

FTL-6465 Fixed a defect on Linux platforms in which post-installation scripts created an incorrect symbolic link from /usr/include/tibutil to the FTL installation tree.

FTL-6451 Added more information to exceptions from send to inbox calls. Exception strings now distinguish between transports that disable the send to inbox ability and the absence of an inbox receiver at the other end of a transport.

FTL-6447 Fixed a defect in which a dynamic TCP transport with many clients could cause realm server instability.

FTL-6442 Fixed a defect in which transport bridges could erroneously not forward reports of data loss.

TIBCO FTL® Release Notes 16

Key Summary

FTL-6427 During installation, temporary directories now have distinct names that identify the product and the process ID of the installer process.

FTL-6426 Fixed a defect in which Linux installer did not implement silent installation mode.

FTL-6393 Fixed a defect in which the Linux RPM installation did not include symbol information in binary files.

FTL-6377 Fixed a defect on SUSE Linux or on Debian-based operating systems in which the optional post-installation script development_alternatives_ install.sh could report an error.

FTL-6323 Fixed a defect in which tibagent and tibpromgateway could erroneously prevent realm definition deployment to other clients and services.

TIBCO FTL® Release Notes