Changes in the ISInfoDynAny API (C++)

ISInfoDictionary dict(ipcPartition);
ISType type;
dict.getType(eventsSourceInfo_, type);
ISInfoDynAny isInfo(type);
dict.getValue(eventsSourceInfo_, isInfo);
shall be changed to something like:
ISInfoDictionary dict(ipcPartition);
ISInfoDynAny isInfo;
dict.getValue(eventsSourceInfo_, isInfo);
currentEvents = isInfo.getAttributeValue<int> (ipcPartition, eventsSourceName_);
one shall simply use:
currentEvents = isInfo.getAttributeValue<int> (eventsSourceName_);
ISInfoDynAny( const IPCPartition & partition, const std::string & type_name ) ;
It constructs the object of the IS type whose name is given as paramater. Throws daq::is::DocumentNotFound exception if the type with the given name is not known to the IS meta-data repository. This constructor can be used to dynamically create and publish to IS objects whose types are not known at compilation time.

Changes in the subscription API (Java)

Following the ambiguity in the way some external applications are using the Java IS API, some changes have been made for the is.Repository and is.Receiver APIs in order to prevent IS performance issues.

subscribe( String server_name, String pattern, boolean is_regular_expression, Listener receiver )
The issue is that sometimes users do not pay attention to the meaning of the "is_regular_expression" parameter and always put there "true", which results in treating the "pattern" parameter as regular expression on the IS server side which leads to significant performance penalty in case the user just wanted to subscribe to a single specific information object.

The IS API already provided 2 alternative functions which have to be used instead:

subscribe( String server_name, String pattern, Listener receiver )

This function must be used only in case of subscribing for a set of information objects using regular expression (pattern parameter).

subscribe( String info_name, Listener receiver )

This function must be used when subscribing to a single information object.

The same changes have been done for the set of unsubscribe functions of the is.Repository class. The following function has been removed from the is.Repository class

unsubscribe( String server_name, String pattern, boolean is_regular_expression )

The IS API has already provided 2 alternative functions which have to be used instead:

unsubscribe( String server_name, String pattern ) 
unsubscribe( String info_name )