Reference13r3:Release Notes SDK

From innovaphone-wiki

Jump to: navigation, search
There are other versions of this article: Reference13r1 | Reference13r2 | Reference13r3 (this version)

This is the SDK 13r3 Release Notes Document.

Service Releases are planned for the second monday each month.

Please see the disclaimer before using the information presented here!


SDK 13r3

13r3 Service Release 1 (137766)

137056 - SDK docu: fixed style of the SDK migration tutorial

Stylesheet path was incorrect.

137037 - SDK: build-release.bat produced unnecessary whitespace in the files

An unnecessary whitespace in the filelist file caused problems with the App Store.

13r3 Service Release 2

137212 - C++ SDK: WewbserverPlugin set StatusCode - Merge to 13r3 and 13r2

138475 - Clarified IHTTPClient::Connected function in documentation

True, if the HTTP client is connected, else false. This just reflects the socket connection state and does not mean, that there is not a socket connect already running!
You can use this function for debugging purposes but not for a state machine!

137366 - JS SDK: Add SmtpClient

We added a new library for sending emails from JS app services.

137924 - PostgreSQL: fixed possible deadlock after a DatabaseError with multiple parallel transactions

If a transaction was rolled back due to a database error and further transactions were waiting, the database implementation might got stuck.

137420 - WebserverPlugin: Enable SetTransferInfo function for all IWebeserver* handler interfaces

Will be for 14r2, 13r3 and 14r1

Main improvements in 13r3

131711 - Access Apis as logged-in user, when connecting to App Object

In 13r2 the rights of the app object were used instead of the rights of the logged in user.

Other improvements in 13r3

133436 - Added DNS retry support in HttpClient

If the socket connect to the first DNS resolution fails, the resolved IP address is marked unsuitable and a second DNS resolution is started, which may return a different address (e.g. first one is an IPv6 address and the second an IPv4 address).

If the socket connect to the second address also fails, the HttpClient gives up.

133031 - Added ECDH(E) library innovaphone.crypto.ecdh.js

This new library can be used for ECDH(E) key agreement.

It can be found in /web1/crypto/innovaphone.crypto.ecdh.js.

114351 - Added remAttribute() to ui1 lib

Corresponding to setAttribute(), but to remove a DOM attribute.

131348 - Added str::from_utf16() and str::to_utf16()

New functions for 'class str':

  • str::from_utf16() converts a UTF-16 strings into UTF-8
  • str::to_utf16() converts UTF-8 string  into UTF-16

127858 - Added time conversion function to str library







120586 - AppWebsocketClient: added auto reconnect possibility

You can now enable an automatic reconnect mechanism with exponantial backoff timeout (1s -> 60s) within the Connect call.

You should then implement the new AppWebsocketClientDisconnected

 callback so that your application knows if the client is currently disconnected.

118649 - FileSystem::ChangeMode returned false on success

true is now returned on success

119734 - FileSystem::ReadBinaryFile to read binary data

131496 - Fixed IPdfText::AddHTML to not add spaces on \r or \n

The function added a space for a \r or a \n before instead of ignoring the characters.

119753 - Handle server restart in PostgreSQL driver

A server restart may have not been correctly handled and forwarded to the application.

111794 - HTTP Client: fixed access of potentially uninitialized variable

126839 - HTTP client: Support for NTLMv2

119252 - JavaScriptRuntime: Support for HttpClient.responseHeader after connection is closed

The function did not return header fields, if the TCP connection was already closed.

This makes sense for HTTP 1.1 transfer with Connection: close.

131392 - JS SDK: Added FileSystem library

Only functionality for now:

  • FileSystem.readFile
The library is needed for an infrastructural app by innovaphone. It should not be needed for gerneal apps.

131083 - JS SDK: HttpClient: Send GET/DELETE requests without content type

GET and DELETE requests are now sent without a Content-Type header.

133703 - lib1: Make src values created by ApiConsumer.Src globally unique

The src values were "apisrc-1", "apisrc-2", ...

Now they additionally contain a random value, e.g. "apisrc-28bc6ee6-1", "apisrc-28bc6ee6-2", ... 

This adds to the robustness in cases when a consumer is reloaded and restarts without the provider knowing.

124199 - Made IDatabase::QueryPrint functions statiuc for more general purpose use

127038 - New API: com.innovaphone.autostart

Hidden apps that declare that API are autostarted by the myApps client.

Important: This mechanism is intended for hidden apps that provide services in the background, only. So the autostart is only done in combination with the hidden flag.

135590 - PbxAdminApi: GetNodes, GetGroups, GetBooleans - allow more instead of last

For compatibility with apiSendSrcMorde

121296 - Possibility to use a distinct SIP URI for badge count subscriptions

If AppInfo.presence is set to true, myApps creates a presence subscription to the App Service in order to monitor the badge count.

Now you can also specify a string containg a SIP URI, if the presence subscription should not be done to the app service directly, but to a different endpoint.

135944 - SDK docu: added hint for LIMIT and OFFSET value data types in database library

The value data type must be defined as 64-bit in the prepared statements.

131485 - SDK docu: Fix typos in HTTP Client docu




135144 - SDK docu: SDK migration from 13r2 to 13r3

Article describing changes in the SDK from 13r2 to 13r3 and upgrade scenarios.

132591 - SDK docu: TEXT-Interface documentation update

The TEXT-Interface documentation is adjusted to meet product release requirements.

132281 - SDK docu: typos fixed in WebSocket client and Webserver plugin docu

The typos in the libary documentation for WebSocket client and Webserver plugin were fixed.

132325 - SDK: added PbxAdminApi GetLocation function

The GetLocation function of the PbxAdminApi can be used to retrieve components of the WebSocket URI that can be used to establish a connection to specific PBX.

131707 - SDK: C++ template remove submodules include

Removed unnecessary include for submodules.mak

119529 - SDK: Config library (JavaScript) handling for Access Denied

Prevent "Uncaught TypeError: message.ConfigItems is undefined" if result of GetConfigItems or ConfigWrite was "AccessDenied" 

135354 - SDK: Fixed an invalid pointer if IIoMux was deleted and created again.

123814 - SDK: JS Runtime: Possibility to read httpfiles from app service

AppInstance.httpfiles() lists all httpfiles.

AppInstance.httpfile(filename, binary) returns the file content for the given file name.

123803 - SDK: JS Runtime: Support for wildcards in eval array in config.json

You can execute all JS files in a subtree of the This can be done by using wildcards in entries of the javascript.eval array in the config.json.


eval : [




112276 - SDK: json_io - protect against messages with too many items

Decoding messages with more items than JSON_MAX_ITEMS led to a trap.

133714 - SDK: SNI not provided on SMTP start TLS connections

124421 - TCP Socket: accept() with EAGAIN is ok and shouldn't lead to error logs

Changed some log output too.

131741 - Update for innovaphone.ui1.Switch onchange callback

The onchange event handler callback provides 'obj' now.

116277 - Updated conference.htm


126164 - Websocket-Client: Support for HTTP redirect

126969 - ZIP library: Add static functions for encoding ZIP headers

Added new functions:

  • Zip::WriteLocalFileHeader
  • Zip::WriteCentralDirectoryHeader
  • Zip::WriteEndOfCentralDirectory

Can be used for applications that like to create ZIP files on the fly.

Personal tools