Version
|
Changes
introduced
|
Possible
backward incompatibilites
|
JIRA
Release notes
|
1.4.0
|
First release with NextGen transforms !
Note that some transforms are still XSLT based, XSLT will be
progressively phased out.
|
- due to imperfections of quasar, previously quasar's
Base Classes (on which you build your Device Logic
classes) would include too many header files for you.
That means that maybe you never had correct includes in
your Device Logic classes. This release is much more
correct regarding that aspect so you might need to
finally fix that. It's just a matter of adding few
missing #includes.
- in case there is something wrong with the new code
generation, you can force quasar to run solely the old
transforms, just edit a switch in
FrameworkInternals/transformDesign.py called
LEGACY_CODE_GENERATION to True.
|
Task
- [OPCUA-1820]
- UaVariant + valueAndStatus not covered by tests
- [OPCUA-1846]
- initialStatus not correctly propagated
Improvement
- [OPCUA-1746]
- quasar NextGen design transformation via Jinja2
- [OPCUA-1784]
- add tests for valueAndStatus, but without
initialValue, to test_cachevariables
|
1.3.14
15-Apr-2020
|
A service release with many minor
improvements
|
Consider moving your custom sources listed in
Device/CMakeLists.txt to a newly added file
Device/DeviceCustom.cmake
Device/CMakeLists.txt will become a file owned by the quasar
framework in one of future releases!
|
Bug
- [OPCUA-1788]
- Non-compiling arrays of UaByteString and UaVariant
- [OPCUA-1801]
- Amalgamation encoding missing, relevant for Python3.6+
Task
- [OPCUA-1777]
- Signature mismatch for OpcUa_XInt16 setters (X from
{null, "U"})
- [OPCUA-1787]
- Prepare a comprehensive test-design for methods
(configurable variant: synchronous vs asynchronous)
- [OPCUA-1800]
- Add UA-SDK based tests to quasar Travis
- [OPCUA-1802]
- Test source-variables
- [OPCUA-1806]
- Add setters/getters invocation to test_cache_variables
test
Improvement
- [OPCUA-1764]
- Split Device's CMakeLists into user and non-user part
- [OPCUA-1785]
- Lot of stale code to remove in ASNodeManager.cpp
|
1.3.13
27-Mar-2020
|
The primary advantage are the improvements
done to help build different quasar-based servers in
restricted areas (like P1), thanks to URL translation for
optional modules etc...
|
Now, by default, find_package(Boost) is used
to resolve Boost libraries.
If you want the older behaviour, which implied manually
specifying boost paths and libs, you can still do it by
defining, in the build config of choice, the following CMake
variable:
IGNORE_DEFAULT_BOOST_SETUP
|
Bug
- [OPCUA-1781]
- cache-variables of arrays of booleans, initialized
from configuration, don't build
- [OPCUA-1782]
- cache-variables of arrays of uint64, initialized from
configuration, don't build
- [OPCUA-1783]
- multiple root/hasobjects elements referring to same
class causes non-compiling code
Task
- [OPCUA-1776]
- Extend quasar travis for some beyond-trivial tests
(e.g. inject few different Designs than span some common
scenarios)
- [OPCUA-1790]
- Optimize OptionalModules (separate CMake file)
- [OPCUA-1791]
- OptionalModules URL processing for server URL
replacement(s)
- [OPCUA-1792]
- Use find_package(Boost) for general Boost resolution
in quasar
Improvement
- [OPCUA-1741]
- boost::lexical_cast -> std::to_string in quasar
(subject to gcc 4.8.5 avail)
|
1.3.12
26-Feb-2020
|
Service release with different fixes for
generic formulas and different other improvements.
|
(none known)
|
Bug
- [OPCUA-1686]
- quasar tolerates empty name of CalculatedVariable
- [OPCUA-1687]
- $applyGenericFormula incorrect behaviour for formula
replacement, should be partial, is complete
- [OPCUA-1703]
- use python3 in appveyor build
Task
- [OPCUA-1286]
- open62541-based server doesn't quit when the
initialization failed (e.g. network port was in use)
- [OPCUA-1683]
- Quasar compilation warning from Configurator
- [OPCUA-1697]
- Fix default_configuration
- [OPCUA-1705]
- Remove allow_long_disguise for program options
- [OPCUA-1726]
- $applyGenericFormula captures wrongly
- [OPCUA-1727]
- trivial: wrong command name referenced in exception -
build_config
- [OPCUA-1732]
- Add defaults for ThreadPool config in the
Configuration xsd generator
|
1.3.11
06-Jan-2020
|
Stabilization fixes, especially with
MetaBuildInfo
|
(none known)
|
Bug
- [OPCUA-1657]
- fix windows and linux CI builds for master
Task
- [OPCUA-1653]
- Fix meta_build_info.py for the case of NO external
build libs
- [OPCUA-1681]
- Check GCC 8.3 warning for string operation truncation
Improvement
- [OPCUA-1679]
- boost -> std migration (where possible)
|
1.3.10
04-Dec-2019
|
Isolates code in Server/ module from
internals of open62541, it'd permit more independent
development of open62541-compat.
|
If you use open62541-compat, you need version
1.1.5 or later.
|
Task
- [OPCUA-1642]
- Make quasar independent from UA_Server structure
(thus, from open62541 version)
Improvement
- [OPCUA-1413]
- quasar to work with Unified Automation 1.7.*
- [OPCUA-1623]
- Quasar fails to compile in C++17 mode
|
1.3.9
29-Nov-2019
|
Improvements to ensure Python3 compatibility
|
(none known)
|
Bug
- [OPCUA-1585]
- quasar python tooling not compatible with Python3
- [OPCUA-1610]
- Fix appveyor build - use python 3 (instead of 2)
Task
- [OPCUA-1600]
- Converge whole quasar Python code to standardised
4-spaces separator
- [OPCUA-1604]
- RPM quasar module to go optional
- [OPCUA-1614]
- Converge quasar Python-based s cripting to LF line
endings
- [OPCUA-1630]
- Improve md5 computation (a.k.a. subprocess module has
no 'getstatusoutput' (In Python 2.7))
|
1.3.8
11-Nov-2019
|
"Quick fix" for OPCUA-1573
|
(none known)
|
Bug
- [OPCUA-1568]
- No location printed for CalcVars error "Variable sqrt
can't be found. Formula error most likely?"
- [OPCUA-1573]
- Initializers for array values were forgotten to be
allowed in the new Configurator (from quasar 1.3.6)
Task
- [OPCUA-1569]
- Document no-whitespace between operation and
parenthesis-operand
|
1.3.7
01-Nov-2019
|
Different optimizations to optimize server
build times
|
(none known)
|
Task
- [OPCUA-739]
- Meta amalgamation
- [OPCUA-1546]
- Support for Ninja builds
- [OPCUA-1558]
- Singleton getter in DRoot
- [OPCUA-1563]
- Does quasar really require cmake3+ ?
- [OPCUA-1564]
- Disable certificate validity check until OPCUA-1541 is
contributed
Improvement
- [OPCUA-1249]
- Experiment with amalgamation to boost compile times of
quasar servers
- [OPCUA-1269]
- Try removing Configuration.hxx include in Base header
classes
- [OPCUA-1528]
- misleading build error message
|
1.3.6
27-Sep-2019
|
Changed the order of objects instantiation to
follow the XML config file.
|
(none known)
|
Bug
- [OPCUA-1506]
- Uncovered case of singular hasObjects
- [OPCUA-1523]
- SourceVariables read handler, wrong generation
Task
- [OPCUA-1495]
- Get rid of unused variable warning
- [OPCUA-1497]
- Support varied-level parents by "thisObject" operator
- [OPCUA-1500]
- Fix order of instantion to follow the order of XML
Improvement
- [OPCUA-1514]
- New configurator : tag name comparison should be
case-insensitive
|
1.3.5
13-Sep-2019
|
Small improvements and fixes, please refer to
the right-most column for details.
|
If you use m_addressSpaceLink anywhere in
your DeviceLogic code, please use getAddressSpaceLink()
instead (due to OPCUA-1489).
|
Bug
- [OPCUA-1429]
- upgrade_design fails
- [OPCUA-1434]
- MetaBuildInfo might fail with escaping text and make
project impossible to build
Task
- [OPCUA-1416]
- Different Graphviz layouts for quasar design diagrams
- [OPCUA-1426]
- Make a pointer from ProjectSettings and
build_configuration to the documentation of quasar build
system
- [OPCUA-1428]
- Fix documentation for "./quasar.py upgrade_design"
- [OPCUA-1452]
- Modernize OpcServer class implementation
- [OPCUA-1472]
- Optimize CalculatedVariables when referring "this"
from the formula
- [OPCUA-1480]
- quasar w/open62541 doesn't build
- [OPCUA-1481]
- Resolve warnings and deprecated functions in quasar
servers
- [OPCUA-1487]
- Suppress StandardMetaData / connectedClientCount
- [OPCUA-1489]
- Force usage of getAddressSpaceLink by finally making
m_addressSpaceLink non-public
- [OPCUA-1499]
- Fix docs for Yocto builds
Improvement
- [OPCUA-1425]
- Update quasar LogIt submodule reference to collect
'append' configuration for boost log
- [OPCUA-1504]
- MetaBuildInfo: improve the contents of meta
information 'commitID'
|
1.3.4
16-Apr-2019
|
Support for config-entry defaults and various
smaller improvements.
|
If you UA SDK, please update your build
config files. You should add the following includes:
include_directories (
${OPCUA_TOOLKIT_PATH}/include/uastack
${OPCUA_TOOLKIT_PATH}/include/uabase
${OPCUA_TOOLKIT_PATH}/include/uaserver
${OPCUA_TOOLKIT_PATH}/include/xmlparser
${OPCUA_TOOLKIT_PATH}/include/uapki
)
This is due to clean-up effort originating from OPCUA-1278.
|
Bug
- [OPCUA-1336]
- symlink_runtime_deps is broken on windows
- [OPCUA-1353]
- Return value of UA_Server_run not taken into account
- [OPCUA-1370]
- SourceVariables asynchronous with type UaString is
misbehaving
- [OPCUA-1371]
- Valid but non-compiling Design for source-variables on
class without Device Logic
- [OPCUA-1376]
- Incorrect population of ArrayDimensions, forbids
arrays to be used with open62541 0.3
- [OPCUA-1380]
- array cache-vars wrongly propagate to config with no
configInitializer
Task
- [OPCUA-879]
- Document Quasar build system
- [OPCUA-1302]
- Remove (already deprecated) support for open62541 0.2
in o6-compat
- [OPCUA-1314]
- Creation of runtime symlinks dependencies by default
- [OPCUA-1335]
- quasar RPM builder: various improvements
Improvement
- [OPCUA-1278]
- Move backend specific header inclusions to relevant
build configs
- [OPCUA-1321]
- Lower severity for Log message when NULL value can't
be taken for CalculatedVariable evaluation
- [OPCUA-1375]
- Improve Optional Modules message
- [OPCUA-1381]
- Support for config-entry defaults
- [OPCUA-1397]
- Add windows debugger console sink to LogIt
|
1.3.3
16-Jan-2019
|
Features needed for embeddability into Python
or other languages
|
(none known)
|
Task
- [OPCUA-1284]
- Let external classes access node managers (relevant
e.g. for embedding quasar into Python)
Improvement
- [OPCUA-1274]
- Support for quasar for building servers as shared
objects
- [OPCUA-1275]
- Unify quasar "shutdown" ecosystem among different
backends
|
1.3.2
13-Dec-2018
|
Introducing CalculatedVariables
|
Inspect your Server/src/QuasarServer.cpp
The method QuasarServer::initializeLogIt() should do:
BaseQuasarServer::initializeLogIt();
rather than directly call LogIt initialize functions.
Otherwise you will not get any logging from quasar-defined
logging components, like CalcVars.
|
Task
- [OPCUA-696]
- Calculated variables
- [OPCUA-1265]
- Support for CalculatedVariables in config doc
generation
|
1.3.1
05-Dec-2018
|
The release features BuildMetaInfo.
|
(none known)
|
Task
- [OPCUA-1148]
- BuildMetaInfo, quasar-standard support for
build-related information via address-space and
command-line
- [OPCUA-1216]
- transformDesign() support for multiple additional
parameters
- [OPCUA-1234]
- Unfreed memory in open62541 server config object
|
1.3.0
15-Nov-2018
|
The build system is the primary actor of this
release:
- CMake3 is now required,
- out-of-source builds are now default
|
If you use UASDK (or any other backend that
comes built before quasar server gets build) rather than
open62541-compat, you should add a virtual target in your
build config file:
add_custom_target( quasar_opcua_backend_is_ready )
|
Bug
- [OPCUA-1213]
- ASInformationModel generation not dependent (in CMake
sense) on the xslt
Task
- [OPCUA-1016]
- Yocto+quasar
- [OPCUA-1165]
- Yocto branch upmerge
- [OPCUA-1183]
- cmake3 in quasar projects
- [OPCUA-1186]
- Compatibility for open62541 0.3 for
opcserver_open62541.cpp
- [OPCUA-1193]
- Fix documentation on quasar build for Ubuntu 18
(FetchContent issues)
- [OPCUA-1211]
- Convenience quasar function to prepare environment in
build/bin
Improvement
|
1.2.7
25-Oct-2019
|
This release is mostly oriented on the
deployment of new version of LogIt and the change in which
LogIt source code is maintained. A number of improvements
have been implemented as well.
|
After checking out the tag 1.2.7 in the
quasar repo, due to the fact of moving LogIt to a separate
github repo, you should execute:
git submodule update --init --recursive
For all users who used to profit from UATRACE
logging sink: you are requested to add to your build config
the following line:
option(LOGIT_BACKEND_UATRACE "Whether to build with UATRACE (logging via UASDK logger)" ON)
Read more about LogIt
changes
|
Bug
- [OPCUA-1123]
- check_consistency should not complain about generated
address space classes
- [OPCUA-1150]
- UaVariant related AddressSpace generation - generates
non-compiling code
New Feature
- [OPCUA-1131]
- Range (min/max) restrictions in config restrictions
- [OPCUA-1132]
- Add documentation option to source variables
- [OPCUA-1139]
- Address space documentation creation in analogy to
config doc
Task
- [OPCUA-1128]
- generate device --all doesn't work in SCA OPC-UA
- [OPCUA-1144]
- Remove stale boost/foreach includes in Meta
- [OPCUA-1147]
- Compilation error for sourcevariable but without
device logic
- [OPCUA-1151]
- Add d:documentation to methods' arguments and
returnvalues
- [OPCUA-1153]
- LogIt CMakeFiles.txt needs separate paths for
standalone vs non-standalone
Improvement
- [OPCUA-853]
- Range-based for adoption
- [OPCUA-1140]
- Rationalise LogIt source code maintenance - quasar to
obtain LogIt source code from the dedicated stand-alone
LogIt repository.
- [OPCUA-1141]
- Replace call to system::abort in meta with something
more user friendly - throw an exception containing an
error message
|
1.2.6
21-Aug-2018
|
Major features:
- Out-of-source builds
- XSD restrictions support
Minor features
- Generating Config Schema documentation
|
(none known) |
New Feature
Task
- [OPCUA-1006]
- Try to include quasar project as a CMake subproject
- [OPCUA-1007]
- Out-of-source build capability
- [OPCUA-1012]
- Rework argument passing into internal quasar functions
- [OPCUA-1113]
- Abandon out-of-source build if there is CMakeCache
present in-source
Improvement
- [OPCUA-1126]
- Improve the config doc generator for types of values
(including restrictions)
|
1.2.5
06-Aug-2018
|
This is mostly a service release bringing
significant simplifications in internal quasar scripting for
features to come in future.
|
The CMake target to generate
Configuration.hxx has been renamed to
Configuration.hxx_GENERATED .
If you used this target e.g. for add_dependencies()
statement then you should follow the change accordingly.
Please also note that @makeSetGet attribute of
cachevariables finally disappears at it has been deprecated
since 2014.
|
Bug
- [OPCUA-1036]
- isKey doesn't work without device logic and with
arrays
- [OPCUA-1061]
- Target Configuration.hxx confuses the ninja build
system, rename it
- [OPCUA-1103]
- Return code of a quasar server is zero despite an
exception caught in BaseQuasarServer
Task
- [OPCUA-1097]
- Expose device logic mutex via getLock()
Improvement
- [OPCUA-1106]
- Simplify Python scripting for running Quasar code
generation
- [OPCUA-1107]
- remove @makeSetGet
- [OPCUA-1111]
- Embedded commands help into quasarCommands.html
|
1.2.4
04-Jun-2018
|
Major features:
- Asynchronous methods
- Quasar's thread pool
|
Methods have a new compulsory attribute
called "executionSynchronicity". Please pick "synchronous"
for the old behaviour. Picking asynchronous will execute a
method in a separate context, as per OPCUA-1034.
On some systems (e.g. Ubuntu) the following addition in your
custom build config might be necessary:
SET(
QUASAR_SERVER_LIBS "-lssl -lcrypto
-lpthread" )
otherwise you might get a message about unmet link
dependency to libpthread.
|
New Feature
- [OPCUA-1033]
- Methods having array arguments and return values in
quasar servers
- [OPCUA-1034]
- Asynchronous methods
Task
- [OPCUA-1009]
- Source variables not scaling well in certain types of
use cases
- [OPCUA-1051]
- Remove quasarGUI.py
- [OPCUA-1056]
- Improve memory management in Certificate.cpp
Improvement
- [OPCUA-1031]
- Improve designToConfigurationXSD.xslt post arrays
merge
- [OPCUA-1044]
- Move variant-vector converters from
designToClassBody.xslt to CommonFunctions
|
1.2.3
04-May-2018
|
Major features:
Minor features:
|
(none known) |
Bug
- [OPCUA-990]
- cache-variable of "UaByteString" and "UaVariant" types
don't compile
- [OPCUA-1018]
- name attribute of any quasar object in config file
permitted to be empty string
- [OPCUA-1030]
- Array delegator for UaString implies known data type
so xsl:choose should not be used
- [OPCUA-1032]
- quasar should remove a partially generated file in
case generation fails
Task
- [OPCUA-915]
- Diagram generation support for arrays
- [OPCUA-1023]
- integration branch for quasar arrays integration
Improvement
- [OPCUA-1024]
- Optimize ArrayTools
- [OPCUA-1025]
- OneToMaxLimits -> ArraySizeLimits
- [OPCUA-1027]
- Improve designToClassBody.xslt post arrays merge
- [OPCUA-1028]
- Move array bounds validation from Design.xml from
designToClassBody.xslt to Design.xsd or to 2nd stage
validator
- [OPCUA-1046]
- Cannot document methods in Design.xml
|
1.2.2
27-Mar-2018
|
Please have a look at release note for
summary.
|
(none known)
|
Bug
- [OPCUA-923]
- ProjectSettings should be included after Build config
- [OPCUA-1001]
- Sourcevariable datatype declared as float is listed as
Variant (type 24) in the address-space
Task
- [OPCUA-994]
- Relax case restrictions for variable names in quasar
Improvement
- [OPCUA-854]
- Optional module version check fails with 'release
candidate' tags
|
1.2.1
09-Nov-2017
|
Bug fixes:
- the mode to create PKI certificates and exit didn't
work with UA SDK 1.5.x - fixed
- honkyTonk didn't work
|
(none known)
|
Bug
Improvement
- [OPCUA-858]
- --create-certificate misleading, no warning when
certificate already exists, plus possibly it doesnt work
with tkit 155
- [OPCUA-874]
- Improve honkyTonk, generate only when devicelogic
present, warn when not
|
1.2.0
03-Aug-2017
|
Major features:
- Methods support (UASDK + open62541)
Minor features:
- astyle compatibility mode
- sticky build config
- commonalization of master CMakeLists.txt
|
- Note that since this release, the master CMakeLists is
"one-size-fits-all", i.e. you should customize it.
Instead, your per-project settings like the name of the
executable and so on should go to ProjectSettings.cmake,
which will be included after the upgrade.
- Please note that you no longer append your build
config file name to "./quasar.py build". Now you
should do:
./quasar.py set_build_config
<path_to_your_build_config>
|
Bug
- [OPCUA-662]
- prepare.py (from open62541-compat) does not work
- [OPCUA-745]
- Asynchronous source variable with UaString doesn't
compile
- [OPCUA-800]
- Cosmetic fixes for methods
New Feature
Task
- [OPCUA-106]
- Quasar methods
- [OPCUA-579]
- Easily selectable OPC-UA backend configuration file
(ServerConfig.xml)
- [OPCUA-668]
- Post-merge: missing copyright header in
designToHonkyTonk
- [OPCUA-786]
- astyle equivalent with no/minimal deployment cost
- [OPCUA-830]
- Commonalize master CMakeLists.txt, find what specific
extensions people have
Improvement
- [OPCUA-689]
- Optional modules should work from branches too
- [OPCUA-799]
- Sticky build config
- [OPCUA-819]
- Model visualization improvements
|
1.1.8
18-Jul-2016
|
Major features:
Minor features:
- Python-based scripting clean-up and enhancement
(external_tool_check, etc)
|
In the Design.xsd schema,
vendor attribute is now renamed to author. If you used that
attribute, please update your Design.xml accordingly.
|
Bug
- [OPCUA-640]
- Compilation error with UA API 1.5.x
Task
- [OPCUA-634]
- Add option to enable_module which would persistify the
selection in the VCS used
- [OPCUA-635]
- Optional modules
- [OPCUA-646]
- Improve quasar generated headers for device, rename
vendor to author
Improvement
- [OPCUA-583]
- Python scripting system better error handling and
messages, refactoring, and other improvements
|
1.1.7
17-Jun-2016
|
Major features:
- Compatibility with the API of OPC-UA Toolkit 1.3.x,
1.4.x and 1.5.x.
|
NONE KNOWN
|
Bug
- [OPCUA-611]
- Debug builds (sometimes) abort on startup during meta
configuration
- [OPCUA-616]
- Bug found in shutdown.cpp, affecting certain versions
of Windows
- [OPCUA-618]
- ConfigValidator missing inclusion of Utils.h
New Feature
- [OPCUA-617]
- check_consistency working with projects stored on git
Task
Improvement
|
1.1.6
29-Apr-2016
|
Major and minor features,
look into the rightmost column for details.
|
NONE KNOWN
|
New Feature
- [OPCUA-608]
- Ability to use server LogIt instance for logging from
within dynamically loaded libraries on linux and windows
Task
- [OPCUA-560]
- Configuration discovery/serialization
- [OPCUA-575]
- Application-specific command line options
- [OPCUA-594]
- RPM building in Quasar: Create an analogue of
build_from_svn for git projects
- [OPCUA-600]
- Clarify situation of Saxon jar inclusion; if
impossible find alternative deployment
|
1.1.5
29-Jan-2016
|
Minor fixes:
- Missing copyright headers, and a small fix that
wouldn't compile in proper C++11 compiler
|
NONE KNOWN
|
Bug
- [OPCUA-577]
- gcc4.8.2 confused by const of NodeManager
Task
- [OPCUA-574]
- Missing copyright header in ASNodeQueries.h
|
1.1.4
27-Jan-2016
|
Major features:
- Supplied MSVC (Windows) configuration now defaults to
MSVC2013
Minor features:
- Fix for cache variables with isKey=true and UaString
dataType
|
sys/time.h and uadatetime.h
are no longer included Utils.h.
|
Bug
- [OPCUA-565]
- Using configentry with dataType "UaString" as key
(attribute isKey="true") generates non-compiling Base_D*
code
Improvement
- [OPCUA-566]
- QUASAR for windows: Migration from VC++ 2010 to VC++
2013
|
1.1.3
27-Jan-2016
|
Major features:
- Single-item-classes (where the only variable takes
place of the object in the Address Space)
|
None known
|
Improvement
- [OPCUA-540]
- Unified device parent in DeviceLogic no matter if the
factual parent exists or not
New Feature
- [OPCUA-489]
- Make QUASAR framework version info available to OPC-UA
clients from StandardMetaData
Task
- [OPCUA-555]
- Single-item-class support (a.k.a. 'primitive')
- [OPCUA-557]
- Move heavy (templated) code for node search from
ASNodeManager.h into separate header
- [OPCUA-561]
- Better level of detail for visualtion (generate
diagram) to see presence of device lgoic
|
1.1.2
27-Jan-2016
|
Major features:
- Re-design of main.cpp: it should since this revision
be unchanged by the developer. Custom parts should go
into QuasarServer.cpp
|
It is required to migrate to
your main.cpp into new QuasarServer.cpp
Your initialization code should go to
QuasarServer::initialize(),
your shutdown code should go to QuasarServer::shutdown(),
and the main loop into QuasarServer::mainLoop().
|
Improvement
- [OPCUA-447]
- Improve main.cpp to clearly structure it
- [OPCUA-527]
- New standard meta data
New Feature
- [OPCUA-489]
- Make QUASAR framework version info available to OPC-UA
clients from StandardMetaData
Task
- [OPCUA-519]
- Fix copyright info - LogIt, Meta
- [OPCUA-522]
- Add License.txt with GPL license into Quasar sources
- [OPCUA-532]
- Add header for files.txt and original_files.txt
|
1.1.1
19-Nov-2015
|
Minor features:
- Python commands got renamed to what was chosen by
Quasar developers as most optimial
|
framework.py -> quasar.py
|
Bug
- [OPCUA-529]
- upgrade_design parameters not forwarded (effectively
not working)
Improvement
|
1.1.0
|
Major features:
- Big clean-up which brings awaited feature of
converting "deviceLogicTypeName" into something human
(but breaks Design.xml compatibility at the same time)
- Decoupling Base device classes from the address space
completely
- Proper headers now introduced in almost anything apart
from Meta, LogIt and Python scripts
Minor features:
- Clean-up of source variables logging -> now using
LogIt
- Added in-line (i.e. Eclipse compatible) documentation
to source variables attributes
|
Design.xml compatibility
likely to be broken in your case (if you use Device Logic),
but this can be easily fixed, just run:
./quasar.py upgrade_design convert_to_hasDeviceLogic=yes
Also bear in mind that if upgrading from a version earlier
than 1.0.2, namespaces have to get fixed (look at notes in
1.0.2)
|
Sub-task
- [OPCUA-512]
- Dissociate base from Address Space completely
Bug
- [OPCUA-513]
- Shipped config.xml and Design.xml still have old XML
namespace
Improvement
- [OPCUA-514]
- deviceLogicTypeName -> hasDeviceLogic
Task
- [OPCUA-515]
- Fix copyright info - Piotr's code
- [OPCUA-516]
- In-line documentation to attributes of source
variables
- [OPCUA-517]
- upgrade_design doesn't take arguments
- [OPCUA-518]
- Fix the namespace for CommonFunctions
- [OPCUA-520]
- Source variables should be logged using LogIt
|
1.0.2
|
Minor
features:
- A feature to store configentry data permanently in the
Device object.
|
Is is required to replace in
your Design.xml the occurencies of:
"http://www.example.org/Design"
to
"http://cern.ch/quasar/Design"
You can automate it using sed:
sed -e 's/www.example.org/cern.ch\/quasar/g' Design.xml -i
same for configuration files.
|
Bug
- [OPCUA-504]
- Problem with pythonized scripts
- [OPCUA-505]
- check_consistency fails
- [OPCUA-506]
- Synchronous source variable not properly generated in
Device
Improvement
- [OPCUA-495]
- Design.XSD Protection for unique names of variables
within a class
New Feature
- [OPCUA-482]
- (optional) storage of <configentry> values, in
generated Device classes, provides 'raw' configuration
values at runtime.
Task
|
1.0.1
|
Minor features:
- Supported data types collection has grown to: Int16,
UInt16, Int8(=SByte), UInt8(=Byte)
|
|
Improvement
- [OPCUA-488]
- Keep msbuild specific instructions in msbuild build
configuration
- [OPCUA-501]
- frameworkGUI improved logging
New Feature
|
1.0.0
|
Major features:
- sh build scripts converted to Python, so the
development and build may be started on any operating
system (previously Linux only)
- MSVC10 compatibility is now guaranteed for delivered
and generated code
Note that versioning
schema has changed since this release into more common
3-section version id. Otherwise it would be more logical to
continue with 0.100 after 0.99 ;-)
|
With new multiplatform
scripts, the entry points of the framework have changed.
I.e. there is no longer automated_build_linux.sh script.
|
Improvement
- [OPCUA-487]
- Improve #ifdefs in main.cpp to include at least one
section or fail if impossible to do so
Task
- [OPCUA-363]
- transformDesign in python
- [OPCUA-364]
- Documentation how to install astyle, kdiff3, (possibly
Java), python, on Windows (update in Documentation.html)
- [OPCUA-483]
- Windows-enabled Generic Server
|
0.99
|
Major features:
- Cleaned up build system, which allows for
customization of paramteres like boost version and path,
OPC UA toolkit, custom compiler etc
Minor features:
- In-line documentation in the Design and in the
(generated)Configuration schema
- Esthetical improvements with LogIt and Meta
- Many small useful fixes
|
- The structure of CMakeLists.txt have changed:
- Server/CMakeLists.txt got standardised, it is no
longer supposed to be maintained by the user
- It is the master CMakeLists.txt which now have the
statement to create the exec and link appropriate
libraries
- Therefore it may be necessary to put some effort
into resolving CMakeLists.txt business
- One may need to prepare custom build configuration
file to capture their specific build instructions
(i.e. custom boost)
|
Bug
- [OPCUA-387]
- Bug found in official framework release, file
designToGeneratedCmakeDevice.xslt
- [OPCUA-428]
- Error messages from Meta assume the config file is
called config.xml
- [OPCUA-450]
- No parent device is generated in Base class under
certain conditions
Improvement
- [OPCUA-220]
- in-line documentation as to what is meant by
[forbidden|delegated|regular] for addressSpaceWrite
- [OPCUA-429]
- Catch global exceptions
- [OPCUA-434]
- Print component name instead of numerical id when
changing log level from the address space
- [OPCUA-441]
- Include empty Design.xml and config.xml in the
framework installation package
- [OPCUA-446]
- DRoot camelCase for objects
- [OPCUA-448]
- Inline documentation for all attributes of
cachevariable
- [OPCUA-449]
- Print class and variable for error "For valueAndStatus
initializer initialStatus must be given."
- [OPCUA-458]
- Try carrying documentation over from Design file to
Configuration schema
Task
- [OPCUA-166]
- Allow no device logic for children when parent has one
- [OPCUA-357]
- Check with evaluation version of OPC UA toolkit;
mention in tutorial+docs; prepare build target
- [OPCUA-375]
- Master CMakeLists: toolkit location should be
specified with one CMake variable (defined at the top)
- [OPCUA-377]
- LogIt, use 4 digit year in timestamp
- [OPCUA-385]
- Proposal of enhancement of the build system to nicely
capture OS differences and possibly non-standard
components (e.g. boost)
- [OPCUA-396]
- Better end-user error message if trying to start new
server instance when server is already running
- [OPCUA-430]
- Prepare default config when build configuration wasnt
specified
- [OPCUA-439]
- Investigate write/read through the same variable
feature
- [OPCUA-440]
- Fix "Discovery Server not available" currently logged
in all OPC UA srv logs
|
0.98
|
Major features:
Minor features:
- Thread pool size is not hardcoded (and can be
configured from the config file)
- Data Type identifier field is now populated for
variables which have initialValue. Therefore it matches
the type declared in the design file. This was
completely unrelevant for UA Toolkit-based clients but
affected i.e. LabView OPC UA client.
- ConfigValidator has more verbose output
- When loading of configuration fails, xsd's native
mechanism is now used instead of running the external
validator (here: xmllint). This will both improve
portability (xmllint might be unavailable in the target
system), and help with configuration schemas that may
have very nonstandard locations.
- A bug is fixed which would affect delegated
cachevariables of UaVariant type.
|
NONE KNOWN
|
Task
- [OPCUA-156]
- Extend config file with configuration options (e.g.
thread pool size)
- [OPCUA-157]
- Improve InformationModel for Variables
- [OPCUA-371]
- LogIt: dont put full path to file which generates
message in the log
- [OPCUA-372]
- Common way of initializing log levels at startup
- [OPCUA-379]
- Merge respective changes from latest Wiener server
- [OPCUA-401]
- Suboptimal error message when schema specified in
config.xml cannot be found
- [OPCUA-402]
- DataType identifiers are necessary for certain OPC UA
clients
- [OPCUA-403]
- UaVariant forbidden in delegated write
- [OPCUA-425]
- Improvement in loading component log levels from the
config file
|
0.97
|
Major features:
- Device classes are split into Base part (100%
generated) and User part (with generated stubs). This
helps to reduce merging efforts by an order of
magnitude.
Minor features:
- No more compilation warnings coming from ASNodeManager
- SourceVariables only rebuilt for classes which
actually have a source variable (and not all classes)
- Configurator, Root fully autogenerated
- Queriying object name is now easy in Device logic
- A list of device logic files is now filled
automatically
- Possible to have "self-referring" hasObjects relation
- When given device logic body/header doesnt exist, user
is asked whether to generate
- When given device logic body/header is older than
design file, user will be warned
|
- regenerating Device Logic may ask for removal of big
parts of already existing Device Logic code. This is
actually intentional as this code will now go to the
Base part of Device Logic class
|
Bug
- [OPCUA-259]
- Fix build warnings
- [OPCUA-361]
- ConfigValidator attempts to validate per-design
instantiated objects (should skip them)
- [OPCUA-362]
- check_consistency: add option to ask for fixing.
Task
- [OPCUA-248]
- Make SourceVariables.{h,c++} dependencies less tight
- [OPCUA-250]
- Should getName() be present for all Device Logic
objects automatically?
- [OPCUA-257]
- Evaluate Ben's anti-merge improvement
- [OPCUA-281]
- Make Configurator.cpp and DRoot generation fully
automatic
- [OPCUA-349]
- Cleanup generated_files_list and
generated_headers_list
- [OPCUA-350]
- A warning when Device file is newer than Device Logic
classes
- [OPCUA-355]
- Improve install tool
- [OPCUA-360]
- Exchange compile-time recursion for exec-time
recursion of self "has" relation
- [OPCUA-370]
- check_consistencty: when file doesnt exist, md5sum
bails out
|
0.96
|
|
- nullPolicy attribute needs to be added
per-cachevariable. This can be automated by
upgrade_design script (look at its help)
|
Bug
- [OPCUA-260]
- addressSpaceWrite confused with addressSpaceRead
Improvement
- [OPCUA-258]
- Better deprecation warning msg
- [OPCUA-263]
- Flood of destructor messages.
- [OPCUA-279]
- Focus 2nd level validation in 1 XSLT transform
Task
- [OPCUA-209]
- null setters for non-uavariant variables
- [OPCUA-266]
- Failing XSLT processor should make the output to be
deleted
- [OPCUA-267]
- Create simple XSLT for updates of the version of the
framework in existing projects
|
0.95
|
Major features:
- Doxygen integration
- Cardinality modelling (possibility to specify min and
max number of objects in ts relation)
Minor features:
- Cachevariable's setter's source time argument (3rd
argument) has now a default of current datetime.
Therefore it can be omitted for 99% cases.
|
NONE KNOWN
|
Task
- [OPCUA-203]
- Integrate doxygen
- [OPCUA-215]
- Cardinality modelling in hasObjects relation
- [OPCUA-231]
- setters: current datetime (UaDateTime::now()) should
be default argument for time
|
0.94
|
Major features:
|
NONE KNOWN
Beware though that recommended layout of Device headers and
sources changed, and you may need to reshuffle it a bit for
getting easy merging.
|
Bug
- [OPCUA-217]
- simple addressspace setters not updated in
addressspace body generator
Task
- [OPCUA-168]
- Device header and body shall have a comment that
indicates the start of custom section
- [OPCUA-197]
- Config Entries
- [OPCUA-204]
- Document all transformations (including building the
project) in a nice diagram and put it into documentation
- [OPCUA-206]
- openssl-dev and libxml2-devel dependency missing in
Generic Server documentation
- [OPCUA-212]
- dont generate Device Logic stubs when
DeviceLogicTypeName not defined
|
0.93
|
Major features:
- Files database (files.txt) and number of tools that
depend on it: consistency checker, new installer
Minor features:
- Setters for simple data types take plain value instead
of reference
- makeSetGet dropped as a cachevariable attribute
(equivalence of true assumed)
Internal features:
|
NONE KNOWN
(only deprecation warning shown for makeSetGet attribute)
|
Task
- [OPCUA-120]
- Consider makeSetGet=true as normal, non-configurable
parameter
- [OPCUA-127]
- A way to check that files that shall not be modified
(transforms...?) are not modified
- [OPCUA-160]
- Install script should be more gentle ...
- [OPCUA-167]
- Setters: simple data types (integers, floats...) shall
be passed by value rather than by reference
- [OPCUA-188]
- A script to verify if proper things are committed to
the SVN (and warn if too much/not enough is within
version control)
- [OPCUA-198]
- Create script for tagging Generic Server releases
|
0.92
|
Major features:
- Source variables
- Automated mutex generation
- UaVariant added as allowed data type
- honkyTonk tool to simulate address space updates
Improvements:
- Unified and cleaned initialization of cache variables
- Configuration.xsd: proper types for various flavours
of integers (previously every int irrespectively of
length and signedness was just "int")
- createDiagram.sh creates diagrams of varied level of
details
|
|
|