From OpenSCADAWiki
Jump to: navigation, search

Other languages:

[8.04.2020] The FIRST update of the production release 0.9 LTS

At.png The ChangeLog have processed for the Work branch commits and the changes tree have built. Cleaning and posting here the changes tree is going on...
This update is done after 1.5 years of releasing the 0.9 LTS, then it worth as 10 updates by there have fixed about 250 bugs and append many improvements, all of them you can read in the release ChangeLog.

Key features of the update are:

  • Web-interface significant improving at a practical application in a big distributed solution;
  • the redundancy work testing and expanding in the messages part, in a big distributed solution;
  • the full restructuring, improving and appending of the OpenSCADA libraries in SQLite files.
  • the documentation common improving, appending for all libraries' documentation and revision of most modules documentation.

Most significant improvings are:
Changes: Appends:



  • FIX:*: The configuration context resetting function cfgToDefault() used in the function dataSeek() and fieldSeek() begin, due to it is an obligatory operation for the configuration file at least and must be done for the DB configuration also, for new fields.
  • Appended for the transactions closing control into the OpenSCADA core whether in the service task, for the timeout > 10 seconds, or in a different per DB task of fast transactions closing of the shared DBMS. For what appended the functions trTm_ClsOnOpen(), trTm_ClsOnReq() and trPr_ClsTask().
  • DB-objects appended for restoring their enabling after the connection lose (or other reason) for meaned to enable and not disabled by the user, by disabledByUser(), DB-objects, in the service task.
  • Appended for configuration of the "Opened tables lifetime" of the inactive tables closing.
  • FIX:{SQLite,MySQL,PostgreSQL,FireBird}:
    • FIX:{MySQL,PostgreSQL,FireBird}: Improved and tested for hot restoring of the lose connections and without the data lose.
      • FIX:FireBird: Restored for the main work in the primary keys requesting and adapted to FireBird version 3.
      • FIX:MySQL: Resolved for crashing in the built-in reconnection (by MYSQL_OPT_RECONNECT), which replaced for the own and hot reconnection. Fixed for the error "BLOB/TEXT can't have a default value (1)" on modern MariaDB server versions, wholly removing the DEFAULT for TEXT.
    • SQLite: Appended for correct treating the locking of the SQLite DB files, at accessing to common libraries from different processes.




  • .,*: Expanded for support the multiple protocols selecting and the function protocol() renamed to protocols().
    • Appended for a service of closing output transports at the lifetime (inactivity) by the service function outLifeTime(), unified for the last request time control in the function lstReqTm().
    • .,Sockets,SSL: The output transports expanded by the attempts field of the generic control in the function attempts(). The function outAddrHelp() of taken common address help for the output transport modules was added.
  • FIX:Serial: Fixed for the "Modem" mode of the output transports in the correct processing the function ResMtx::tryLock() result. The flow control field moved to the options field due to a need with direct disabling some options like to -RS485.
  • FIX:Sockets,SSL: Expanded for support IPv6 both for input and output transports using getaddrinfo().
    • Appended for processing (connecting) all IP addresses resolved from the symbolic one, especially for the output transports.
    • The output transports appended for direct definition several host addresses.
    • The output transport improved in using the tries after the error "Reading timeouted." of responding to request.
    • FIX:Sockets: Fixed in processing the output transports with the address "SOCK:{N}" of the initiative connections to clean up the address by setting it to "SOCK:-1", then preventing of the restarting possibility with using already closed socket's handler but possible allocated by another part of the program.
      • Address of the input transports in the TCP-mode can be expanded for addition parameters and currently the next one after the mode field is identification message of the initiative connection into the mode 2, so this mode expanded for sending identification messages after establish the initiative connections.
      • "TCP:" prefix of the addresses set to nonobligatory-optional.
      • The address mode of the input transports set to 1(do not close, only by the KeepAlive parameters) by default.
      • The default port set to 10005.
    • SSL: Appended for treating NO_*_METHOD for TLS1, TLS1_1, TLS1_2, DTLS1 and for direct support DTLSv1_2. The default port set to 10045.


  • FIX:HTTP: Appended for the true KeepAlive support by the input transport functions keepAliveTm() and keepAliveReqs(). Expanded for the DB table "HTTP_AuthSessions" of the external authentication sessions.
  • FIX:ModBus: The input part expanded for the DAQ-templates using.
    • The types list of the IO data table appended by the type "Object".
    • The protocol variant recognising for input requests some improved for detecting difference RTU and TCP variants, appending to that the transport type.
  • UserProtocol: Expanded by the DAQ-templates support.
  • SelfSystem: Expanded for the output transport attempts support.



  • FIX:IO: write() fixed for the default data type obtain, wrong data type obtaining set safe.
  • CRC: Completed by using normal polynomials, the input and output references and the XOR for output.
  • VArchObj: Access to the archive writing functions restricted only for users in the group "Archive".