Bloomberg’s open market data initiative is part of the company’s ongoing effort to foster open standards for the financial services industry. This section will offer the latest information on API updates and other developments from Bloomberg.

Version 3.8 of Bloomberg API released for C++, C# and Java users

The Bloomberg API SDK team has released the first versions of the 3.8.x series of API SDKs. The SDKs can be found on the API Libraries page.

Highlights of the release notes for this release include:

• Extended version identifier interfaces

The library now offers VersionInfo::headerVersion() and VersionInfo::runtimeVersion() interfaces to allow client applications to separately report which version of the library they were compiled against, and which version of the library was actually loaded using symmetric interfaces. (Previously, clients were forced to read header macros directly to detect header versions.) Further, the VersionInfo::versionIdentifier() interface has been added, to allow more fine-grained release tracking information to be supplied to the Bloomberg support team.

• Addition of testing interface for logging system

A blpapi::Logging::logTestMessage function has been added to allow clients to test the library’s logging configuration, and the functionality of registered logging callbacks.

• Service-level failover

SDK will fail over when a session has multiple connections and a service becomes unavailable on one connection (a ServiceDown message will be added to the event queue); outstanding requests and subscriptions for that service (only) will be automatically migrated to a connection where the service is available (a ServiceUp message will be added to the event queue), if such a connection exists. Note that this can result in a single session using multiple connections simultaneously for different services.

• Additional information in ServiceUp and ServiceDown messages

The ServiceUp and ServiceDown messages have been extended with detailed information about which parts of the service have become (un)available.

• Record receipt time for messages

The SDK now provides an interface, blpapi::Message::timeReceived for interrogating the time at which a message was received and processed by the library. In conjunction with the new blpapi_highprecisionclock component and blpapi_timepoint interfaces, this provides the facility for clients to measure the amount of time each message spends in the client event queue. For performance reasons, receipt times are not recorded for subscription data messages by default; clients can use the SessionOptions::recordSubscriptionDataReceiveTimes setting to request receipt times for all messages.