RELEASE NOTES


CII 3.0
#######



Features and Fixes ================== Config-NG --------- API documentation for Config Ng was missing (ECII-649) Improved error message for repeated type def in ngconfig schema parser (ECII-609) YAML root node was incorrect when loading document with includes using Config Ng (ECII-662) Add method to Config Ng to access the filename a document was loaded from (ECII-660) Add method to Config Ng to access the root CiiConfigInstanceNode of a document (ECII-661) Can now more easily delete parts of a CiiConfigDocument and save it back (ECII-659) Config Ng fails to update typed string values. (ECII-664) Saving of vectors in Config Ng fails for existing datapoints (ECII-667) CiiConfigInstanceNode::From makes clear how to set type information (ECII-655) Type support for CiiConfigMatrix2D<std::string> in Config Ng (ECII-668) Added support for CiiConfigScalarValue::As<std_int8t|std_uint8t>() (ECII-670) Added support for CiiConfigScalarValue::As<std_int8t|std_uint8t>() (ECII-672) Added support for binary data type based on std::vector<std::byte> (ECII-700) Config Ng no longer claims that binary is not supported (ECII-700) Config-GUI ---------- configGui also shows the property "isSubscriptionNotificationOnly" of OLDB datapoints (ECII-373) configGui allows to set property "server alias" of an OLDB datapoint to empty string (ECII-717) OLDB ---- Staleness is now the default behaviour for all datapoints (ECII-526, ECII-707) oldb-api can delete corrupted datapoints (ECII-500) oldb-api handles inconsistencies between redis and elasticsearch more gracefully (ECII-500) oldbGui can delete branches/datapoints even if they are "corrupted" (ECII-694) oldbGui can display the value of a string datapoint as multi-line (ECII-703) oldbGui indicates staleness of a value by use of the colour purple (ECII-706) Non-sliced datapoints are instantly deleted instead of EXPIRE (ECII-680) CiiOldbFactory.get_instance() fixed unexpected exception on timeout (ECII-689) CiiOldbDpValue shared_ptr issue fixed (ECII-690) CiiOldbDpQualityException oldb python bindings was lacking get_value method (ECII-647) Alarm ----- Alarm System documentation was rewritten (ECII-322) Alarm System has improved log messages (ECII-324) Improve installation and Deployment (ECII-355, ECII-679) IAS Plugin discovers newly created inputs (ECII-679) Alarm System supports remote redis clusters (ECII-705) IAS Datapoint Names rationalised (ECII-467) MAL-ICD ------- mal uses pybind11 from fedora (ECII-596) No more error about duplicate files when ICD-Gen is run repeatedly (ECII-639) MAL-DDS ------- FastDDS error messages improved (ECII-675) Now re-implements all features of previous Connext-based impl (ECII-673) MAL-MUDPI --------- Now follows file names convention (ECII-490) Now terminates boost-asio successfully (ECII-627) Method getPublisher() no longer stalls for 5 secs (ECII-699) Does not reconfigure log config (ECII-653) General ------- Fixed hardcoded paths in srv-telemetry tests (ECII-507) Replacement of deprecated jaeger library with OpenTelemetry (ECII-559) config-gui and alarm-config-gui mainWindowTab.hpp header name conflict (ECII-682)
Removed Features ================ MAL --- Java MAL OPC/UA (ECII-677) Alarm ----- Alarm Config GUI (ECII-361) Alarm Viewer (ECII-362)
Knowledge Base Articles ======================= New --- - Elasticsearch disk usage and house-keeping [IntCfg] Updated ------- - Command Line Tools and Python snippets [OLDB] - Datapoint already exists [OLDB] - Avoid ephemeral ports [MAL] - Configuring DDS [MAL DDS]
Porting Instructions ==================== oldb subscriber --------------- New method in interface Example (cpp) - analogous for Java and Python: class AppOldbDpSubscription : public CiiOldbDpSubscription<double> [...] void ValueStale(elt::mal::Uri uri) override { [...] } } wscript ------- Replace opentracing with opentelemetry. Suggested naming: opentracing_api --> opentelemetry_api opentracing_jaeger --> opentelementry_sdk Examples: 1) project/package wscript: def configure(cnf): cnf.check_cfg(package='opentelemetry_api', uselib_store='opentelemetry_api', args='--cflags --libs') 2) module wscript: declare_cprogram ([...] use = '[...] opentelemetry_api' )