Reference13r3:Release Notes SDK
From innovaphone-wiki
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
to_time_iso8601to_time_rfc1123
from_time_iso8601
from_time_rfc1123
from_time_rfc1036
from_time_ansi
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
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:
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
13r3\.git\sdk\common\service\http_client13r3\.git\
grepWin
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 httpfiles.zip. This can be done by using wildcards in entries of the javascript.eval array in the config.json.Example:
eval : [
"subfolder/*",
"service.js"
]
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
Added documentation of FTY_VIDEO_PRIORITY and FTY_VIDEO_CAPABILITIES.
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.