From OpenSCADAWiki
Jump to: navigation, search

Other languages:
  • State: testing and post-building ...

The common releasing process for the users to estimate your expectations and for the developers to remind the tasks:
1. The preparing and building week:

  • Building the last Work SVN-revision for all environments of the irregular building to provide early and wide testing the coming LTS release.
  • Announcing the releasing process start:
  • Merging the Work branch changes or copying the whole Work branch tree to the LTS branch-tree.
  • Making some LTS specific changes about the version rise:
    • updating configure.ac for version of the release-update and core library;
    • updating data/*.spec and data/{debian,debian_mod}/changelog for the new version number and appending the files' changelog for new release-update entry.
  • Forming-appending the LTS ChangeLog by the changes from the Work ChangeLog, grouping the changes by the location and sorting them by the fixing status and the level, with combination new features under one item and without removing any different changes.
  • Copying the significant changes from the formed LTS ChangeLog to the related page of the release-update, taking the changes in the level more or even than "!!".
  • Translating the release-update page(s), updating the ToDo and RoadMap.
  • Generating the actual offline documentation using the service procedure "EXT: Off-line documentation".
  • Committing the LTS tree changes to the repository and building that.

2. The testing and post-building week(s):

  • Updating the Download page.
  • Announcing the release-update, also on FaceBook and LinkedIn.
  • Hot testing the release build.
  • Finishing and fixing the ChangeLog translating and the documentation.
  • Generating the actual offline documentation using the service procedure "EXT: Off-line documentation".
  • Committing the release fixes to the repository and building that for the second build, and for each week of appearing critical fixes — the first week without the critical fixes means the final of the LTS releasing, so, USERS — test closely the LTS release for do not complain to its final build!
  • Updating binary copies of standard OpenSCADA libraries: OscadaLibs.db, VcaBase.db, VcaElectroEls.db.

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

Automation Linux distributive of the project OpenSCADA

  • adaptation of work the hosting server under constant DDoS in ~3 million unique IPs and with short time under power net by economy the batteries, and under OpenSCADA control;
  • appending Debian 13 as the distributive base;
  • moving back to the OpenSCADA server of building the Debian 9 base;
  • moving of building the Debian 12,11,10 base to the Debian 13 environment with enabling back support SHA-1 here;
  • switching the building conception to use sshfs in working remotely with the repositories;
  • updating TDE to 14.1.4 and next to 14.1.5;
  • TDE > tdebase-trinity: KDesktop > Lock: Restoring the locking code to one in version 14.1.4 with extending for the lock dialog itself.
  • TDE > tdepim-trinity > holiday_ua > HoliDays: Replacing by actual Holi Days and Memorial Days of Ukraine.
  • TDE > kaffeine-trinity > xine-part: Adding translation the message "Impossible to obtain image!" to Ukrainian.
  • TDE > tde-i18n-trinity > uk: Adding messages translation in patched packages to the Ukrainian part.
  • TDE > tdebase-trinity: Preventing-oppressing double icons in the system tray from programs with equal window ID like to blueman and with an option of disabling that function, with fixing of using readBoolEntry().
  • TDE > tqt3-trinity > Plugins > XIM: Calls XCloseIM() to prevent memory leaking.
  • TDE > tdelibs-trinity > TDEIO > KFileView: Processes file extensions with patterns at saving and doesn't reset the dialog size.
  • TDE > kaffeine-trinity > xine-part: Allows to screenshot in any supported image-file format.
  • TDE > tdesvn-trinity: Fixing of conflicts resolving in KDiff3, preventing of crashes at conflicts resolving, updating parent of changed item with all expandings.
  • TDE > tdebase-trinity > TDEIO > media: Restoring of using fuser.
  • TDE > tdebase-trinity > ksysguard: Removing the processes loading limit in 100%.
  • TDE > tdelibs-trinity > TDEIO > CopyJob: Don't rename directories and files overwrite for old, lesser and in different size.
  • TDE > tdebase-trinity > TDEIO > SMB: Prevents double result() signal generation through errors.
  • TDE > tdepim-trinity > knote: Adding the find only local per selected note.
  • TDE > tdelibs-trinity: Complete disabling of processing for the unclassified devices due to it is very CPU intensive, especially on slow HW.

New and significantly updated parts

  • OpenSCADA Core: 3:15:0 => 3:16:0
(Implementing initiative connections — fixes and expandings of the conceptual changes of the previous updates, Messages Translation — fixes of the conceptual changes of the previous updates)
  • OpenSCADA "DAQ" subsystem: 15 => 16
  • DAQ.Siemens: 4.5 => 4.8
(Common stabilization in the ISO_TCP connection, Direct value getting and setting at the source-specific address, Storing values of the user's dynamic attributes)
  • DAQ.System: 3.3 => 3.5
(Reading the NVMe Log with moving on parsing by RE and reading string fields)
  • DAQ.LogicLev: 2.9 => 2.11
(Improving the parameter reflection mode, Storing values of the user's dynamic attributes)
  • DAQ.OPC_UA: 2.8 => 2.10
(Direct value getting and setting at the source-specific address, Storing values of the user's dynamic attributes)
  • DAQ.ModBus: 3.9 => 3.11
(Direct value getting and setting at the source-specific address, Storing values of the user's dynamic attributes)
  • DAQ.DAQGate: 2.14 => 2.15
  • Protocol.HTTP: 3.9 => 3.11
  • UI.WebCfgD: 2.8 => 3.0
(Syntax highlight in the textareas)
  • UI.VCAEngine: 7.17 => 7.19
  • UI.WebVision: 6.13 => 6.15
  • UI.QTStarter: 6.0 => 6.1
  • LibsDB.OscadaLibs:
  • base.UPS: 1.3 => 2.2
(Implementing devices directly, attributes definition in "Elements definition (defs)")
  • base.DiskSMART: 1.0 => 1.1
(Input processing procedure)
  • mbBase: 1.3 => 1.5
(Input processing procedure, additional types and flexible attributes update)
  • LowDevLib.IEC62056: 1.1 => 2.0
(Support 21 part and many improvements)
  • LibsDB.vcaBase.Main:
  • dynFrame: (coming shortly)
  • storeHouse: 2.1 => 2.3
(Significant extending and fixing)
  • TextLab: 1.2 => 1.3
(States extending)
  • ImgLab: 1.2 => 1.3
(States extending)
  • cntrPaspExt: 1.2 => 1.3

CONCEPTUAL > Concentration the different OpenSCADA-hosts on the common server, both for IoT on OpenSCADA and other (fixes of the conceptual changes of the previous updates)

  • LibsDB.vcaBase.wlb_Main.dynFrame: Advancing the frame implementation up to the possibility of items real placing, linking, generic control, saving and restoring.
  • LibsDB.OscadaLibs:
    • FIX:tmplib_base.initRemCntr: Fixing of saving the table of the remote OpenSCADA hosts after removing old ones.
      • Adding of direct freeing data of requests.
      • The key changed to force two symbols in HEX.
      • Allowed of updating the remote logical source objects for new sources.
      • The protection time of the execution increased to 60 seconds.
    • Security_user,Transport_in.{Sockets,SSL}::RemCntr: Appending detailed description of the objects target and using.
  • data/{oscada_plc.xml,oscada_server.xml}: Simplifying the station name for short remote identifiers.

CONCEPTUAL > Messages Translation (fixes of the conceptual changes of the previous updates)

  • LibsDB.vcaBase:
    • FIX:wlb_Main.ElViewGraph: The attribute "Dimension (ed)" set to the type "String (translate)" to restore the transitive translation of the DAQ-Source messages at the links in the DYNAMIC-MULTILANGUAGE mode.
  • FIX:DAQ.TDAQS,Archive.TArchives: Fixing dynamic translation of names of the redundant objects.
  • FIX:SYS,DAQ.{.,JavaLikeCalc}: TFunction::IO: Fixing-finishing of the default value translation in the constructor and for the DAQ-Templates with its implementations.
  • FIX:SYS.TMess: Adding of processing prestored I18N messages in the long TMess::translGet() variant, which is called from objFuncCall(), instead the translation loss here.
  • FIX:DB: Preventing the warnings "Some messages completely cleaned for the base ..." for items with no translation fields.
  • FIX:UI.VCAEngine: The configuration value fixed in translation on the tab "Links" and processing the field translation for values with the prefix "val:" and switching to its.

OpenSCADA libraries and projects

  • LibsDB.OscadaLibs:
    • FIX:{tmplib_base,tmplib_DevLib}.UPS: Fixing of writing to the writable attributes.
    • tmplib_base:
      • digAlarm,anUnif,anUnifSt,codeState: The input processing procedure added by a parameter "args" as a link to arguments of the main procedure.
      • UPS: Expanding by implementing devices directly in this template starting from Must EP2X. Appending of attributes transferring in parameters on the template base with their definition in the new attribute "Elements definition (defs)". Adding the alarm() function for true control of borders with hysteresis.
      • FIX:manInUnif: Preventing of setting stored value to PLC at start, so overwriting actual one, also at the signal out the scale.
      • FIX:DiskSMART: Adding the input processing procedure for processing specific fields and adding new derivative fields. The "Item definitions" field added a default list of specific interpretation the SMART fields. Improving some original messages.
      • anUnif: The alarm message of signal exceeding hardware border added by this wrong value.
    • tmplib_DevLib:
      • mbBase,ergomera625: Improving the syntax highlight rules for types like to "u4".
      • IEC62056: Expanding by support part 21 (direct local data exchange) and improvements:
        • adding input procedure for processing read OBISes;
        • list of OBISes appeded by description and the syntax higflight;
        • adding an option of control bytes LE order of integers;
        • ID of the attribute of representing OBIS appended by "ClassId" and "a";
        • "ClassId" of OBIS expanded up to two bytes;
        • trimming the visible strings up to first zero byte;
        • adding preset devices with known main OBISes;
        • address field expanded for support single digit like to SN;
        • the "tr" and "ctx" attributes moved from IO.
      • mbBase: Expanded by an input procedure for customizing without changing the template. Expanding in support by the types "Int8 (i8)" and "Double (d)", also as by recreation attributes with changed type and removing attributes are missing in the items list. Allowing to specify address of the register in HEX and OCTAL.
  • LibsDB.vcaBase:
    • wlb_Main:
      • The library appended by an extra icon 'weath13n' for the widget "Weather (weather)".
      • FIX:TextLab,ImgLab: Expanding for processing conflict states "false && false" and "true && true" taking the parameters from item [2] and [3].
        • Adding alarms generation from the "Error (err)" attribute.
        • FIX: Renaming the states name "Enable" to "Enabled" and "Disable" to "Disabled".
        • FIX: Unifying the alarms blinking with just changing work color to alarm one in the second cycle.
      • alarmsAct,alarmsSt: Adaptation to human-readable names in messages.
      • FIX:storeHouse: Moving the Control Panel formation and updating to the table updating code.
        • FIX: Separating data preparing part from formation the visual data for early preparing the lists and with limiting time of processed items.
        • Appending to processing the event ws_TableEdit of checking validity row and column.
        • The retry cycles and updating rewrote for specifying time in "toCalcCycles" in seconds and updating after its elapsing.
        • FIX: Preventing of show second filter field in the item form after change the user.
        • FIX: Fixing the images overview at selecting in the file combobox.
        • Specifying the transaction mode in all SQLReq() calls.
        • The control panel appended by the selection fields.
        • Rewrote in preparing the column list for filters with using redefined names of the standard fields "NAME", "DSCR", and with true sorting.
        • In file sizes used new function SYS.cpct2str().
      • FIX:ImgLab: Taking the background color even empty from images list at its presence.
        • FIX: Setting width of the border to 2 when it is zero at the selection blinking, that is for active elements.
        • Format of the attribute "Images (imgs)" moved to the help, that is to the second line.
      • FIX:objProps: Appending of tracing the user changing, appending for support real properties.
      • ElCadr: Adding the attribute "Parameter: Force disable PID (prmNotPID)" for disabling PID show at presence SP.
      • cntrPaspExt: Hide attributes in EVAL. Generating for user action messages at changing the editable properties.
      • TextLab: Adapted to use the default background at its missing in "st_text".
    • wlb_doc:
      • FIX:docRepYear: Fixing of processing the last value in year for data from archives.
      • docUsersSet: Expanding by a possibility to specify-configure of used archivers.
  • Model.AGLKS.Model.DAQ_BlockCalc.gen_cnt: Appending the description by the field "MessName: {Name}".

API
!!!!:Changes:

  • SYS.ResString: getVal() set to constant.
  • DAQ.TFunction: Switching the method "mStor" to ResString.

Appends:

  • SYS.CntrNode,Protocol.HTTP: Adding the service requests "select:/db/list" by an option "nostor" for the empty item.
  • SYS,UI.VCAEngine: Appending the definition "starts_with" as link to the STL::String function "compare(0,strlen(str),str) == 0" to replace compare() and find() in this role.
  • Archives,DAQ.DAQGate: The TMArchivator object appended by a reimplementation TMess::SRec with a container of storing double messages in one second.
  • SYS: The file's User API functions appended by fileRotate() for files rotation mostly the logging type.
    • TCntrNode: new function nodeMessSnthHgl().
    • XMLNode: The function load() appended of parsing pure HTML with an option LD_HTML. The function save() appended by an option HoldEmptyAttr of holding empty attributes.
    • XMLNodeObj: Added by the User API and API function childDel( AutoHD<XMLNodeObj> nd ). The User API function setAttr() added by a synonym attrSet().
  • DAQ:
    • TController,TParamContr: Adding a function justCreated() of detection the just creation.
    • TParamContr: Added by a virtual function loadVal() of reloading all or one stored values.
    • TPrmTempl.Impl.archAttrs(): Appended by a timestamp argument for using common timestamp in archiving.
    • ModBus,OPC_UA,Siemens: The Controller Object added by a User API function value() of direct value getting and setting at the source-specific address and through the address registering for getting-setting in the generic pooling cycle of the source.
  • JavaLikeCalc: The User API functions to string appended by sep2path().

SYS

  • Building:
    • configure.ac: Core library version risen to 3:16:0 and the program version risen to 0.9.9. The module version of the subsystem "DAQ" risen to 16.
    • .,DAQ.Siemens: Generic adaptation for building on Debian 13, adaptation for support PCRE2 since missing old PCRE libraries on Debian 13 with moving the variable "vSz" to a definition TRegExp_vSz for old libraries.
  • XMLNode: The function load() appended of parsing pure HTML with: tags without closing, attributes without a value, attribute values without quoting, closing tags switching.

DAQ

  • FIX:{ModBus,OPC_UA,Siemens}.LogicLev: Preventing of wrong writing to PLC at RO links, when the value changed in the procedure.
  • LogicLev,ModBus,OPC_UA,Siemens: The User API functions attrAdd() and attrDel() of managing user attributes moved from LogicLev, ModBus, OPC_UA, Siemens to the core parameter object and for all dynamic parameters at dynElCntr(). Adding of storing values of the user's dynamic attributes.
  • FIX:Siemens: Moving the SELF_ISO_TCP mode to the generic outAt() function. Debugging the connection errors for the modes SELF_ISO_TCP and ISO_TCP on the actual S7-1500 connection.
  • System: Adding the data acquisition of the slow sources per some cycle by the new configuration field "In cycle call for slow sources".
    • DA_SMART: Adding for support reading the NVMe Log with moving on parsing by RE and reading string fields, like to temperature.
    • DA_PROC: Appended by obtaining the field "User loading (%)" and "System loading (%)" from the file "/proc/{PID}/stat" also with the value concatenation for group selection.
  • FIX:JavaLikeCalc: Fixing permission to the Function node after moving under ACL.
  • FIX:LogicLev: Improving the parameter reflection mode by a possibility to connect later the missing at the start sources, also as unlinking-unlocking disabled sources.
  • FIX:DAQGate: Fixing messSet() by taking parameter whole ID from the first line of the argument "prm" and with its normalization by the prefix "prm_" removing. Set for writing to remote stations without checking the value at equality, due to the previous value can be not actual at situative reading.
  • ModBus: Unified in registering values at the ModBus-specific address in other variant of the function regVal().

Archives-History

  • FIX:Value: Prevented of crashing at zero period in TVArchEl::getVals().

Transports

  • FIX: The generic Control Interface requesting function cntrIfCmd() is prevented from any local-direct-custom authentication at reforwarding to intermediate OpenSCADA nodes, that is especially actual for remote connections of UI.Vision for different users.
  • The traffic logging in the file appended by rotation the files.

User Interface

  • FIX:Vision,WebVision: Fixing of compensation debries of the real numbers in position and size for true aligning the internal content of widgets with different size, when the scale greater of 1. Preventing of crashing in the VCADiagram::TrendObj::loadTrendsData() function at zero in "wantPer".
  • QTCfg,Vision: The tab distance of the TextArea set dynamic and calculated from the font metric for standard eight symbols "00000000".
  • WebCfgD: Implemented for syntax highlight in the textareas.
  • FIX:WebVision: Restoring a function of user changing after previous preventing the connection messages flooding with connection to the same session from other host or other agent. Adding the user of last request for preventing from new sessions opening after changing the user from original.
  • FIX:VCAEngine: Moving setting the flag Attr::VizerSpec for attributes with the prefix "vs_" to the attributes inheritance and only for session widgets. Unification the Attribute's self flags by separation to storing and operative ones.
  • FIX:QTStarter.lib_qtgen: The syntax highlight algorithm in SnthHgl::rule() cleaned from spare containers and unified.
  • FIX:Vision: Preventing of crashing in the ShapeFormEl event handler at not finished initialisation, that is the "addrWdg" variable is missing. Preventing of the user changing for reforwarding connections.