From OpenSCADAWiki
Jump to: navigation, search

Other languages:

This update of the 0.9 LTS release fixes about 40 bugs and appends some improvements, which you can read wholly in the update ChangeLog.

Automation Linux distributive of the project OpenSCADA

  • the packages "tdelibs" and "tdebase" were removed due to this fixes were applied in the master and stable branches of TDE;
  • the patched packages "tdemultimedia-trinity", "tdenetwork-trinity" and "tdeutils-trinity" were rebuilt;
  • the new patched package "tde-i18n-uk-trinity" was built;
  • before the packages building there was changed the scheme of the package version forming of this distributive from "{+1}:14.0.9-0" to "4:14.0.9-{+1}" to prevent these packages freeze on next TDE versions; and the TDE main package repository of the Live Disks was switched to the branch "r14.0.x" instead the preliminary stable, what also present but commented;
  • before the release there, in TDE Weblate, have finished the translation to Ukrainian for the parts-packages of TDE: tdelibs, tdebase, tdegraphics, tdenetwork, tdemultimedia, tdepim, tdeadmin, tdeaccessibility, tdeutils, krusader, yakuake, basket; and the patched package "tde-i18n-uk-trinity" was created for translating the branch "r14.0.x" difference from the master branch;
  • the patch in "tdeutils" was appended for the key combination with holding Ctrl of slow changing the display brightness for KMilo.

OpenSCADA libraries and projects

  • FIX:LibsDB.OscadaLibs: The library DevLib appended by the template "MTP 4D (MTP4D)" and "ModBus base (mbBase)".
  • FIX:LibsDB.vcaBase: The template project (tmplSO) cleaned from spare mnemos of the prescription management and the main page appended of the actual alarms-violations table. The frame Main.RootPgSo unified for the notifiers in the generic attributes only for the VCA-server and notifiers Vision, WebVision: notify0, notify1 and notify2.


  • Archives-History: {TMArchivator,TVArchivator,TVArchive}::DB() set to the constant qualifier.
  • Transports.{.,*}: The timeouts setting function setTimings() of the output transports expanded in the default timeouts difference for different protocols, by the argument "isDef".


  • SYS.,*:
    • The system wide limits and parameters moved to the user configuration area (the configuration file) for some allowed range. STD_WAIT_DELAY moved to prmWait_DL and changed to 0.1 seconds. The previous system wide limits' and parameters' definitions left for the external modules compatibility!
    • TSYS appended for the function taskSendSIGALRM() of sending the termination signal "ALARM" to OpenSCADA tasks.
    • TValFunc: Appended for a state of the function execution by the function isCalc().
  • Transports: The output transports expanded for a mark of the transport as Network one, by the function isNetwork(), in the User API also.


  • Core library version rose to 3:9:0 and the program version rose to 0.9.3.
  • {DAQ,Protocol}.ModBus:
    • the subtype "_b" — bit type, expanded by moving the bit number to the register number field like to "R_b:123.12";
    • added by the flag "~" for inversion registers order of the complex subtypes in multiple registers, like to "_f";
    • the flag "rw" separated to "r" and "w".
  • The module version of the subsystem "Transports" rose to 17.
  • FIX: Prevented from authentication in user interfaces by the ready password hash.


  • LogicLev,ModBus,Siemens: Appended for termination long time executed templates at the parameter disable, using new functions TValFunc::isCalc() and TSYS::taskSendSIGALRM().
  • FIX:LogicLev: Removed for the calculation lock "calcRes", what used only in locking the writing to the parameter attributes during the calculation and what can be long.


  • FIX: Obtained current values, in the active archiving mode, forced to the current time, what is significant for the dynamic attributes archiving.
  • The value archive configuration field "Mode of forming ID of the automatic created archives" expanded by the selection item "All controller, parameter and attribute ID", during the process of expanding the limit of the value archive ID to 50 symbols.
  • FIX:DBArch: Fixed for only direct the values archiving in the group mode and when the values type may drop to the Integer type as the default one. The value archiving in the group mode appended for removing the according table column at the archive removing, for the table column hot removing just after appending some new archive, than preventing the table early growing to the DB limit.
  • FSArch: Adaption to the ID size of the value archive more than 20 symbols, when its 14 extra symbols are stored in the reserve part (renamed to "archive_add") of the header and extra more in the filename.


  • FIX: The function TTransportIn::assTrO() of processing input initiative connections complete revised to make new connection necessarily created as a new output transport, then preventing true finishing the present closed but not freed output transports.
  • The transport commands renamed from "Running" to "Connect" and the statuses renamed from "Started. " to "Receiving data. " and "Connected. ", from "Stoped. " to "Disconnected. ".
  • FIX:{Sockets,SSL}: The default timeouts returned to "10:1".

Transport Protocols

  • HTTP:
    • Appended for the dynamic cookie name and the User ID space, where the cookie name is "oscd_UID" and is used the User ID space in work with the common authentication sessions table, and the cookie name is "oscd_UID_{PrjNm}" in the work without that.
    • FIX: Multipart POST of the output function outMess() prevented in the end boundary placing and improved in the "Content-Disposition" form.
    • The User ID generation improved in generation different IDs for the different processes, limited in 1e6, and appended by the random and configurable User ID space [0...99] * 1e6, used in the work with the common authentication sessions table.
  • SelfSystem: Output transport specific timeouts are set to "20:2".
  • ModBus: Output transport specific timeouts are set to "5:0.1" for Network transports — isNetwork() and the protocol variant "RTU".

User Interface

  • FIX: TUIS::docKeyGet() fixed from the user array objects leaking.
  • VCAEngine,WebVision,Vision: The primitive "Media" appended by the type "Audio" and the type "Full video" renamed to "Video", which also implemented in WebVision and Vision.
  • QTCfg,Vision: Appended by a function of adjustion text colors to the background color — colorAdjToBack(), which used in correction the syntax highlighting and other dynamic colors to the palette changing.
  • VCAEngine,Vision: Expanding the notifications implementation in way their implementation on WebVision, for:
    • using the standard way of the notifications obtaining through the corresponding attributes activation;
    • ntfReg() expanding for the negative type using in all types processing, freeing mostly, and some unification of the code;
    • expanding by the resource type obtaining;
    • appending the notifiers by the flag "notifyServ" of the notification enabling on the VCA-server side;
    • VCA-server side appended for the field "resStatic" of the direct resource specifying (non dynamic);
    • appending the notification procedures' context for the two variables "resTp" and "prcID".
  • FIX:UI.QTStarter: Appended for the start dialog periodic updating in the project list.
  • FIX:VCAEngine: Fixed in crash at a widget link setting to "prm". The resource requesting service "get:/wdg/res", Widget::resourceGet() and {WidgetLib,Project}::mimeDataGet() appended for requesting the resource parts, for big media files mostly.
  • FIX:Vision: Appended of playing the notifications by the internal player at Phonon and not in the separate notification task. The call saveState() moved from the developing window destructor to the closing event, but a problem of empty context saving was observed after playing some media.
  • FIX:WebVision:
    • Implementing of the notifications support.
    • Implementation of the resources uploading in parts, for big media, by the HTTP parameter "Range: bytes=".
    • FIX: Fixed in the page cache spare cleaning for widgets from pages with common name to the remove page.
  • WebUser: Adapted to the work with POST and the content in the body.

Service updates