From OpenSCADAWiki
Jump to: navigation, search
Other languages:

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

API
!!!!:Changes:

  • SYS.*: The flag TCfg::TransltText was moved to TFld::TransltText and used instead TFld::NoStrTransl also which removed.
  • Transports: The generic accessing lock of the outgoing transport was moved to mutex and the argument "noRes" was removed from the function messIO() to prevent from unexpected outcomes from the critical section of requests. Resource lock object nRes and its function nodeRes() removed for the input transport object.

Appends:

  • SYS:
    • strEncode() expanded by the mode "ToLower" for conversion to lower register.
    • Command-line options preloading and direct access-modification added by a new function cmdOpt(), full switch to cmdOpt() from getCmdOpt().
    • Binaries decoding into strDecode() expanded by the argument's value "<text>" for text field in right forming.
    • XMLNodeObj: Appended by an user API function getElementsBy() of XML nodes list obtaining by tag name or some attribute value.
    • TArrayObj: arSet() adapted to the array end appending by a negative index.
  • DAQ.{AMRDevs,ICP_DAS},Special.FLibSYS: A self implementation of the function atof() and strtod() in the function TSYS::str2real() and its shortcut s2r() and for understand both radix symbols of float point value that is "." and ",". DAQ.OPC_UA.libOPC_UA: Function TSYS::str2real() placed and used into the independent library. Disabled now!
  • Transports: Generic IO log for both input and output transports was added into the core and all transports modules.
  • UI.VCAEngine: Appended by user functions of the session space: reqTm(), reqUser(), userActTm().

SYS

  • XMLNode
    • Fixed from spare string size reserving in encoding of the serialization which caused to its performance significant degradation especially on big trees. It must significant rise overall performance in network interaction by XML.
    • Unified and fixed in serialization to XHTML for: preventing self-finished tags for "script", "div; preventing of symbols "'" and '"' encoding into text (also for generic XML); UTF8 symbol 0xA0 encoding to " ".
  • TRegExp fix in function match(), for hang and crash prevent.
  • The core library version set to 2:6:0. Modules version of the subsystem "Transports" rose to 10.
  • TConfig: Prevented from recursive entry to cfgChange() by a flag mInCfgCh.
  • XMLNodeObj,XMLNode: Full children clear set from the end for much speed up of the operation.

DB

  • Tables' content display set to configurable limited, by default it is 100 rows.
  • {SQLite,MySQL,PostgreSQL,FireBird}: Preloading of fieldSeek() set limited on 100 records, for long unterminated hangs prevent.

DAQ

  • {DCON,ModBus,Siemens}: Mutex objects "enRes" and "reqRes" set to recursive ones by Oleksiy Bondarchuk.
  • SoundCard: Significant revised and fixed for work with the real hardware and virtual ones like PulseAudio and tested on sample rates up to 192000.

Archives

  • Values and messages archivators appended by the maximum value of measuring of the processing time.
  • FSArch: Archive files multiple pack-unpack prevented. Added checking and clearing for zero archive files. Buffers of archivation of messages and of info-files of values set safer, for possible random data reading.
  • DBArch: Appended by wrong archives pass of the values.

Transports

  • {SSL,Sockets}.out: Transport's functional lock of resources was merged with reqRes().
  • Input transports appended by measurement of the current and maximum time of requesting to protocol, in the "Debug (0)" mode. Output transports were appended by the responsible time measurement in the "Debug (0)" mode.

Protocols

  • HTTP: Expanded by a list of users allowed for auth. mNoFull renamed to mNotFull.

UI

  • {QTCfg,Vision}: Main window and main dialogs (developing for Vision) size and splitter's properties storing and restoring were added.
  • QTCfg: Fix vertical scalable widgets "Tables" and "Lists" by their placing at the end of the widgets stack. Prevented from high load at the respond waiting progress dialog.
  • VCAEngine: Different big (from the main task of the session) perioded widgets processing adapted to execution into different phases then to make the main task loading plainer and lesser at all. Added control for user action by its last action time.
  • QTStarter: Expanded for close (windows) and starting into the system tray. Significantly revised for the interface fully creation into the Qt events loop of exec() and WinControl functions moved to the StApp descendant of QApplication. Self menu of QTStarter with the Qt modules list was unified as the static storage of the actions for extending menus and toolbars of windows of the Qt modules and the system tray icon, placed also into the property "menuStarterAddr" of the application main object.
  • Vision:
    • The main window size was set to fit the master page size after return from maximizing or the full-screen and opening in the original size.
    • Runtime menu creation moved to whole mode that is full creation at needs and full clearing at not needs, for prevent the menu show at its inactive mode into some environments like Maemo and Unity.
    • Added control for the runtime user by a visualizer specific attribute "userSetVis" of the main page and by expanding of the user's status widget and the selection dialog.

Special

  • FLibSYS: VArch::set() expanded for single value writing to the archiver of the archive.