Version
|
Changes introduced
|
Possible backward incompatibilities
|
JIRA Release notes
|
Testing outcome
|
1.7.0 (25-Nov-2024)
|
This release delivers a comprehensive restructuring of the Meta subsystem, consolidating multiple components (ASBuildInformation, ASComponentLogLevel, DBuildInformation, DServer, DQuasar) into a streamlined architecture with DLogLevel as the central component. The build system has been changed with a new design file processing approach and adapted logging configuration system. Migration utilities are provided to assist with transitioning to these new systems while maintaining backwards compatibility. |
Standard quasar projects are expected to be backwards compatible.
However, please validate your project if any of the following apply:
- If your project uses a custom design file merging system, you may need to adapt to the new
DesignWithMeta.xml path.
- Custom device implementations should be reviewed due to the removal of the address space linkage feature.
- Projects with custom CMake configurations may need adjustment due to changes in device module generation.
|
Story
- [OPCUA-3091] - SMD quasar branch merge: Integration Review
Task
- [OPCUA-3212] - transformDesign() TypeError when compiling
- [OPCUA-3226] - Source variable thread pool not initializing, causing read operations to fail
Sub-task
- [OPCUA-3238] - Investigation on issue with threadpool on ltdb server
Bug
- [OPCUA-3158] - CMake out-of-order calls when quasar prepares build
- [OPCUA-3192] - Documentation generation does not work with SMD
- [OPCUA-3211] - Valid design - fails to build (configuration.xsd uniqueness rule generation generates the same name for >1 rule)
- [OPCUA-3228] - quasar: valid design -> build failure: Device logic children with non device logic parent generates non-compiling code
- [OPCUA-3229] - Generated code contains ‘class struct’, causing build failure
New Feature
Improvement
- [OPCUA-3188] - Update AlmaLinux 9 documentation and bring collateral content up to date
- [OPCUA-3191] - Expand assert for version formatting to development releases
- [OPCUA-3201] - Markdown documentation options should also be available in quasar help
- [OPCUA-3242] - Use quasar deprecation mechanism to cleanup Meta folder redundant files
|
quasar test suite notes:
- Core functionality verified across consolidated Meta module
- Migration utilities validated with existing ATLAS and JCOP servers
- Build system changes tested on all supported platforms
- Backwards compatibility layer confirmed with ATLAS and JCOP servers
|
1.6.1 (10-Aug-2023)
|
This release focuses on enhancing the functionality of calculated variables. It also addresses issues related to the uasdk travis test and introduces necessary dependencies in quasar's uasdk dockerfile. Additionally, the documentation has been updated to provide clarity on the manual and auto-update control for calculated variables. |
(none known) |
Task
- [OPCUA-3040] - Calculated variables per request for CanOpenNG
- [OPCUA-3072] - Calculated variables uasdk travis test uses wrong backend
- [OPCUA-3075] - quasar's uasdk dockerfile misses dependency
User Documentation
- [OPCUA-3077] - Calculated Variables Documentation for Manual Update and Auto Update Control
|
quasar test suite notes:
- open62541_test_methods not passing for the method arguments behaving differently from UASDK. This will be further investigated.
- StandardMetaData is ignored from testing in all tests due to some existing noncompliance.
|
1.6.0 (10-Jul-2023)
|
This release introduces the quasar Sanitizers, a new feature that assists developers in identifying and fixing code issues, such as bugs and memory leaks, during compilation or execution. This tool can be easily toggled on and off, depending on your needs. Please refer to the accompanying documentation for detailed instructions on its usage. |
(none known) |
Story
- [OPCUA-3008] - Establish tooling for safer OPC UA servers for quasar users
Task
- [OPCUA-3041] - quasar upgrade_project fails to create missing cmake dir
Bug
- [OPCUA-2964] - Exception when using honkytonk quasar command
User Documentation
- [OPCUA-3031] - Documentation for quasar Sanitizers
|
quasar test suite notes:
- open62541_test_methods not passing for the method arguments behaving differently from UASDK. This will be further investigated.
- StandardMetaData is ignored from testing in all tests due to some existing noncompliance.
|
1.5.18
(01-Mar-2023)
|
This release features a much improved Quasar ThreadPool (called internally a supervised threadpool)
which affects all async (async methods and async source variables) operations of quasar.
The order of execution of queued async operations within the same synchro domain is now guaranteed to be
preserved. Also, lower overall latency is expected.
|
- quasar device logic locks are now std::mutex from boost::mutex (a move that was announced already in March 2020)
- to profit from guaranteed order of execution, in case of not using the standard options like
of_containing_object , etc.,
the new option handpicked must be chosen and your mutex of choice needs to be registered using configure... methods
of particular address-space object. Failing to do so will remain to work, but no benefits from order preservation will be observed.
-
when using methods, it is necessary to specify
addressSpaceCallUseMutex , note the previous default was "no".
|
New Feature
- [OPCUA-3000] - Metrics for the threadpool: current queued number of jobs, total taken num jobs, total finished num of jobs
Task
- [OPCUA-2891] - Supervised Threadpool, context SourceVars
- [OPCUA-2977] - QuasarThreadPool.[cpp,h] to be treated as framework files by the installa
- [OPCUA-2978] - Changelog/notes regarding threadpool changes
- [OPCUA-2990] - Supervised threadpool, the methods part
- [OPCUA-2991] - add DesignValidator protection: method call use mutex implies class has mutex
- [OPCUA-2992] - DesignValidator: deny any synchro domain for synchronous sourcevariable
- [OPCUA-2993] - Clean-up lock/unlock base mthds
- [OPCUA-2994] - Optimize out mutices map?
- [OPCUA-2996] - Follow up of supervised threadpool
- [OPCUA-3007] - Add synchro domains variety for the async methods test
Improvement
- [OPCUA-3005] - Make addressSpaceCallUseMutex obligatory
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.17
(16-Feb-2023)
|
Point release with different incremental updates
|
(none known)
|
Bug
- [OPCUA-2918] - quasar docs: versions description not updated
- [OPCUA-2920] - Deploying docs fails to create new tag dir
- [OPCUA-2959] - Error with missing file at fresh project creation
- [OPCUA-2974] - quasar v.1.5.17-rc0 "./quasar.py build" fails in the arg parsing
Task
- [OPCUA-2919] - Consolidation of duplicates in Docs dir
- [OPCUA-2952] - quasar's python_reqs.txt for Python3.9: lxml version is too strict
- [OPCUA-2956] - Cosmetics: source variable exception missing spaces
Improvement
- [OPCUA-2962] - Rethink quasar CLI
- [OPCUA-2980] - release_nebula.py to handle the documentation versions
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.16
(02-Dec-2022)
|
Point release with different incremental updates
|
(none known)
|
Task
- [OPCUA-2844] - Clean up deprecated html documentation files
- [OPCUA-2851] - what(): Attempted Source Variable operation, but Source Variable threads are not up.
- [OPCUA-2870] - FreeVariable R/W controls in the config
- [OPCUA-2898] - Central exception catch: print type
- [OPCUA-2916] - quasar: Identify/mark potentially unused function
Improvement
- [OPCUA-2885] - Remove reference to quasar.html when installing the framework
- [OPCUA-2886] - External files restructured and paths update
- [OPCUA-2888] - Consolidate original files
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.15
(17-Nov-2022)
|
Back-fixes for OPCUA-2767 and OPCUA-2779
which turned out to be broken.
|
Your configuration schema is now stronger
regarding isKey usage; for duplicate keys previously you'd
only learn at runtime, now you also learn by the schema!
|
Bug
- [OPCUA-2135]
- Configurator broken for embedded objects of design-instantiation
New Feature
Task
- [OPCUA-2827]
- quasar docs review: "main"
- [OPCUA-2828]
- quasar docs review: alternative backends
- [OPCUA-2830]
- Update Changelog manually for the last time from html to rst
- [OPCUA-2854]
- config doc: notification that given element can't be present more than once, and the notification of defaulted instance name
- [OPCUA-2863]
- Fix quasar notes and external files paths
- [OPCUA-2864]
- Pointer to quasar.docs in quasar github main page
Improvement
- [OPCUA-2833]
- Move RTD Github actions to quasar service account and paths
- [OPCUA-2835]
- Information missing about EPEL dependencies
- [OPCUA-2856]
- Pull in quasar LogIt with updated fixes
- [OPCUA-2860]
- Create quasar service account secret and fix references
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.14
(03-Aug-2022)
|
Back-fixes for OPCUA-2767 and OPCUA-2779
which turned out to be broken.
|
Your configuration schema is now stronger
regarding isKey usage; for duplicate keys previously you'd
only learn at runtime, now you also learn by the schema!
|
Bug
- [OPCUA-2787]
- defaultInstanceName misbehaving
- [OPCUA-2789]
- quasar creates non-compiling code in windows
New Feature
- [OPCUA-2768]
- Propagate isKey into unique constraint of
Configuration XSD
Task
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.13
(26-Jul-2022)
|
Ben's contrib w/ defaulting name of quasar
objects in the configuration for classes which are always
singletons (feature driver by StandardMetaData rework), with
the necessary follow-up.
|
Expected impact on certain satellite modules
(e.g. Cacophony/fwQuasar) if the new feature is used.
Update relevant satellite modules.
|
New Feature
- [OPCUA-2767]
- support default name for singletons by configuration
(i.e. no 'name' attr required in config - default to
class name)
Task
- [OPCUA-2779]
- Follow-up of defaulting "name" attribute to be
explicitly chosen
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.12
(18-Jul-2022)
|
New features and progress in clean-up of the
past artifacts.
|
(none known)
|
Bug
- [OPCUA-2751]
- generate as_doc fails for empty d:documentation
content
New Feature
- [OPCUA-2757]
- Information on UA SDK version in quasar servers
- [OPCUA-2758]
- OPC UA toolkit path in server "extra info"
Task
- [OPCUA-2750]
- QuasarServerCallback removal (stale code clean-up
action)
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.11
(25-May-2022)
|
Merge-back from the CANopen (OPCUA-2739) is
the main motivation.
|
(none known) |
New Feature
- [OPCUA-2739]
- Permit CalculatedVariable registration on quasar
UaVariant dataType (merge-back from CANopen)
Task
- [OPCUA-2702]
- Get rid of quasar "device file is older than design"
warning
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.10
(21-Mar-2022)
|
New features and gradual improvements over
existing ones.
Note the feature OPCUA-2619
"defaultConfigInitializerValue for CacheVariable" is not yet
considered stable, its API might change. |
(none known) |
New Feature
- [OPCUA-2606]
- d:documentation for enumerationValue
- [OPCUA-2619]
- defaultConfigInitializerValue for CacheVariables
- [OPCUA-2627]
- Add CalculatedVariableGenericFormula in the config_doc
Task
- [OPCUA-2622]
- Investigate [uastack] Opendir failed !!! Error
- [OPCUA-2638]
- Switch open62541-compat version we test against in
quasar tests
- [OPCUA-2666]
- Design.xsd indentation fix
Improvement
- [OPCUA-2646]
- Default StackTraceSettings to be SYSTEM
- [OPCUA-2676]
- Main-wide catch of except in case of sth thrown from
the QuasarServer ctr
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.9
(17-Feb-2022)
|
Service releases bringing gradual
improvements. |
(none known) |
Bug
- [OPCUA-2574]
- quasar build ignores non-existing build config file
New Feature
- [OPCUA-2567]
- SourceVariables write handler could profit from what()
method for an automatic catch of exception
Task
- [OPCUA-2522]
- Remove
http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15
(deprecated)
- [OPCUA-2569]
- Improve getFullName() for single item nodes
- [OPCUA-2572]
- Profit from std::exception::what() in readValue, and
add variable addresses
- [OPCUA-2578]
- quasar manual for CC7: update to python3, remove jre
and subversion
- [OPCUA-2591]
- Put SingleNodeVariable in the quasar design diagrams
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.8
(09-Dec-2021)
|
Service releases bringing gradual
improvements.
|
(none known)
|
Bug
- [OPCUA-2536]
- Formula elaboration is forgotten for status formulas
- [OPCUA-2544]
- quasar 1.5.7 compilation error with gcc 11.1.0
New Feature
- [OPCUA-2533]
- "pow" in CalculatedVariables, as the alternative to
"^" operator
- [OPCUA-2537]
- Content-order-aware sequence removal in configuration
decorators
- [OPCUA-2538]
- Have Configuration.xsd automatically indented/
pretty-printed
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.7
(02-Nov-2021)
|
The main feature is the output from UASDK
tracing into stdout, which very much simplifies diagnosing
issues related to network, files, permissions and other
OS-alike aspects when starting up and running the server.
We encourage UASDK-based server developers to turn on
UaStackTraceEnabled in the shipped ServerConfig.xml and
files and set UaStackTraceLevel to SYSTEM.
|
CMP00065 is now turned on (i.e. "NEW"
behaviour). See also release notes from quasar nebula.b1
(this table, some rows below). The proposed way of dealing
with it is adding the following entry in your
CMakeEpilogue.cmake (and adding this file, in case you do
not have it):
set_property(TARGET ${EXECUTABLE} PROPERTY ENABLE_EXPORTS TRUE)
|
New Feature
Task
- [OPCUA-2463]
- Port CMP0065 policy to new
- [OPCUA-2510]
- Document CMP00065-related changes in quasar ChangeLog
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.6
(03-Sep-2021)
|
A release dedicated to CalculatedVariables
enhancements and fixes
|
(none known)
|
Bug
- [OPCUA-2466]
- No initial computation for any formulas with
cache_variables as inputs
New Feature
- [OPCUA-2456]
- Escape dash and slash in CalculatedVariables formulas
and variable names
- [OPCUA-2461]
- (Initial) test for Calculated Variables
- [OPCUA-2464]
- config-entries to instantiate ParserVariables
Task
Improvement
- [OPCUA-2462]
- Update/extend calc vars doc (esp. generic formulas)
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.5
(27-Jul-2021)
|
Optimized the CI testing, reworked some
scripts, cleaned-up. quasar fixed some noncompliance wrt
address-space info model.
|
If you use open62541-compat, please use 1.4.0
or later.
|
Bug
- [OPCUA-2365]
- quasar CI test "test_cache_variables" non passing as
non-OPCUA compliant
- [OPCUA-2418]
- test_config_entry missing DataType (i.e. defaults to
BaseDataType)
Task
- [OPCUA-2355]
- quasar servers, when used as shared objects, not to
cannibalize Ctrl-C handler
- [OPCUA-2400]
- "nullAllowed" arrays (config-initialized) should
have DataType of BaseDataType
Improvement
- [OPCUA-2372]
- quasar to use open2541 1.2X (i.e. open62541-compat
1.4.x) for CI
- [OPCUA-2373]
- travis.yml global variable for open62541-compat
version to test against
- [OPCUA-2374]
- augment reference NS2 w/ additions from UaSak 0.6
- [OPCUA-2421]
- shallow clone of quasar in quasar CI
- [OPCUA-2422]
- quasar CI: ignore StandardMetaData for current
(temporary) incompliance with UA data model
- [OPCUA-2423]
- Put common parts of CI scripts into block scripts
|
quasar test suite notes:
- open62541_test_methods not passing for the method
arguments behaving differently from UASDK. This will be
further
investigated.
- StandardMetaData is ignored from testing in all tests
due to some existing noncompliance.
|
1.5.4
(22-Jun-2021)
|
Extended coverage in tests and many
individual improvements.
|
(none known)
|
Task
- [OPCUA-2274]
- Simplify travis.yml
- [OPCUA-2330]
- "./quasar.py style_it" missing doc
- [OPCUA-2352]
- CI, reference nodesets checks for cases:
cache_variables, source_variables, methods,
config_entries
Improvement
- [OPCUA-2323]
- .gitignore in quasar-based servers to go user-managed
- [OPCUA-2334]
- Unwrackify quasarCommands.html
- [OPCUA-2336]
- warning: extra ; [-Wpedantic] in
../AddressSpace/include/ASDelegatingMethod.h and few
more
- [OPCUA-2339]
- The output of external_tool_check might be confusing
- [OPCUA-2340]
- Something fishy about ArrayTools
- [OPCUA-2348]
- Fix mixed indent/style of Design.xsd
|
(potential remarks were sent in the release
email)
|
1.5.3
(21-May-2021)
|
OPCUA-2312 is needed for fixing Poverty
extension module.
|
(none known)
|
Task
- [OPCUA-2312]
- Expose Oracle.get_cache_variable_setter arguments part
(useful for Poverty)
Improvement
- [OPCUA-2304]
- ArrayTools error when compiling with newer g++
- [OPCUA-2313]
- Remove const constraint in PassByValue setters and
cleanup
|
(potential remarks were sent in the release
email) |
1.5.2
(13-Apr-2021)
|
The primer to testing quasar (in its CI) via
comparing dumped node-sets against reference node-sets.
Plus a couple of usual fixes and improvements.
|
(none known)
|
Bug
- [OPCUA-2232]
- Design diagram: empty class visualization for
pure-methods class
- [OPCUA-2246]
- OutputArguments badly propagated
Task
- [OPCUA-1340]
- --create-certificate fails when server instance is
running (i.e. can't open new connections)
- [OPCUA-2182]
- quasar's Utils.h, ASUtils.h and QusarThreadPool.h to
go Quasar managed
- [OPCUA-2244]
- Document FreeVariable in config_doc of quasar
servers
- [OPCUA-2257]
- Apply NodeSetCompare in the CI, primer
Improvement
- [OPCUA-2264]
- "All tests passed" message to be printed AFTER all
tests
|
(potential remarks were sent in the release
email) |
1.5.1
(16-Feb-2021)
|
Various fixes and improvements.
|
Note:
- --create-certificate built-in command is getting
deprecated. In this version we add a warning whenever it
is used. In one of future versions this command might
get completely removed.
|
Bug
- [OPCUA-2137]
- Quasar methods, with device logic, with uncaught
exception from inside, can crash server?
- [OPCUA-2155]
- symlink_runtime_deps broken with style_it branch
- [OPCUA-2170]
- ./quasar generate config_doc fails
- [OPCUA-2171]
- async_methods bad casting between OpcUa_StatusCode
- [OPCUA-2177]
- Missing "Value restrictions" in the config doc
- [OPCUA-2186]
- ConfigurationDocumentation HTML: missing content
New Feature
- [OPCUA-2121]
- Make SERVERCONFIG_LOADER default
- [OPCUA-2138]
- 'project-wise' astyle invocation (proposal)
- [OPCUA-2172]
- Duplicate CI test "uasdk_test_sync_methods" into the
async version
Task
- [OPCUA-2086]
- Split travis CI tests into limited (open62541-only)
and full (open62541 + UASDK) versions
- [OPCUA-2162]
- Deprecation warning on certificate creation for quasar
servers
- [OPCUA-2176]
- Can detect too old astyle?
Improvement
- [OPCUA-2163]
- Fix occasional "unused result", "unused function"
warning in quasar builds
- [OPCUA-2164]
- Server-wide catching of exceptions that are not
derived from std::exception
|
(potential remarks were sent in the release
email) |
1.5.0
(07-Jan-2021)
|
nebula.B3 merged to classic master. This is
the common point from where both main branches start off.
|
(none known)
|
Task
- [OPCUA-2105]
- Fix quasar version format in new release scripts
(release_nebula) and branch name back to classic
- [OPCUA-2109]
- Review quasar.html doc file; plenty of info to be
updated
|
(potential remarks were sent in the release
email) |
nebula.B3
(07-Jan-2020) |
Abandoning home-brew files.txt parser into
JSON (this release brings benefits mostly to quasar
developers)
|
(none known)
|
Task
- [OPCUA-2084]
- XML or JSON for future format of original_files.txt
and files.txt
- [OPCUA-2103]
- Document QUASAR_LOG_LEVEL
Improvement
- [OPCUA-2063]
- Simplify manage_files module: default properties per
directory
|
(potential remarks were sent in the release
email) |
nebula.B2
(04-Jan-2020)
|
Different incremental changes.
|
- note that with this release, Device/CMakeLists.txt
becomes 100% quasar managed. This file will get
overwritten with subsequent upgrades. Move your custom
stuff AWAY from that file.
- for the first time, the upgrade process is kind of
interactive and if chosen it will modify your Design. We
have that feature works fine (and the backup file gets
created) but still, be careful.
|
Task
- [OPCUA-2073]
- Device's CMakeLists.txt to go quasar-managed
- [OPCUA-2088]
- Convert original_files from legacy format to json, may
imply some clean-up of original_files.txt
- [OPCUA-2090]
- Automate projectShortName for non being empty
Improvement
- [OPCUA-2065]
- UTF-8 characters might not be supported on non-UTF8
systems (present in quasar...)
- [OPCUA-2070]
- Python's standard logging for quasar python tooling
- [OPCUA-2101]
- Add more (optional) logging for address-space
construction (would deserve separate log component
probably)
Bug
- [OPCUA-2091]
- Do not add property mapping for single variable nodes
|
(potential remarks were sent in the release
email) |
nebula.B1
(25-Nov-2020)
|
The reason for move between A.x and B.x
branch is (not so likely) Design schema backwards-incompat
change. In addition we get extensions of CI testing and some
smaller improvements.
Pay attention to the column on the right, there might be
some incompatibilities.
|
- If you use open62541-compat, you need version 1.3.6 or
later.
- Common/include/Utils.h is finally a 100% quasar file.
If (unlikely) you have custom mods to this file, please
spawn these as a separate, user-supplied file. Otherwise
you will lose your custom changes.
- In this version it is required that the
"projectShortName" field in your Design is non-empty. If
you haven't named your project so far, it's time to do
it. This name will propagate into automatically
generated documentation and in future also to build
scripts, etc.
- Important if you build any shared objects from
quasar build system: with nebula.A8 we started requiring
CMake version at least 3.10. However that also brings CMP0065.
If you build any shared objects within your quasar
project build system (e.g. for quasar Poverty, or for
Common CAN module, etc ...) you might want to double
check if ENABLE_EXPORTS is set on the .so targets. This
release provides transitional protection for CMP0065 by
setting the behaviour to old, however the old behaviour
might be discontinued by CMake in future.
|
Bug
- [OPCUA-2074]
- CMake required 3.4 (in 3.3 still OK) breaks
compatibility for shared objects
New Feature
- [OPCUA-2007]
- Travis CI extensions: dump address space
Task
- [OPCUA-1775]
- Restrict isKey usage to config-entry
(backwards-incompatible Design schema change)
- [OPCUA-2075]
- Common/Utils.h to get into quasar control
- [OPCUA-2076]
- supply default of project short name, force usage.
Improvement
- [OPCUA-2072]
- Extend design validation for isKey without device
logic
|
(potential remarks were sent in the release
email) |
nebula.A10
(18-Nov-2020)
|
A critical bug fixed that prevented an user
from using quasar. Added logging of startup info. Other
improvements for simplified maintenance of the project.
|
(none known)
|
Bug
- [OPCUA-1668]
- Class with different parents leads to compile error
New Feature
- [OPCUA-2048]
- Log server startup information (command line args,
working directory etc) -- nebula context
Improvement
- [OPCUA-1815]
- Improve restriction parsing
- [OPCUA-2062]
- Simplify manage_files module: use DesignInspector to
parse Design
- [OPCUA-2066]
- Simplify manage_files module: 1. refactoring
|
(potential remarks were sent in the release
email) |
nebula.A9
(10-Nov-2020)
|
New CI tests and extensions, colorful global
exception messages, methods synchronization support...
|
If you use open62541-compat, you need version
1.3.5 or later. |
Bug
- [OPCUA-1041]
- Non-delegated arrays don't respect per-design size
constraints
New Feature
- [OPCUA-1259]
- Synchronization support for methods
- [OPCUA-2049]
- Test for config restrictions (part 1: Design)
Improvement
- [OPCUA-2042]
- Selective travis CI test
- [OPCUA-2050]
- Schema restriction: restrictionByPattern's pattern
can't by empty
- [OPCUA-2052]
- Make global exception message more striking (visible)
|
(potential remarks were sent in the release
email) |
nebula.A8
(05-Nov-2020)
|
Quasar is now much more consistent on null
setters.
Also, see the new improvements.
|
(none known)
|
New Feature
- [OPCUA-1273]
- Use overloads with QUASAR_NULL (or so) data-type to
improve null setters
Improvement
- [OPCUA-1770]
- quasar.py build, determine chosen builder from the
"build" directory if possible
- [OPCUA-2033]
- Improve travis runner for concurrency
- [OPCUA-2038]
- quasar to require cmake version at least 3.10 (issues
with 3.3 were identified)
|
(potential remarks were sent in the release
email) |
nebula.A7
(22-Oct-2020)
|
Whole work done was kind of important: see
the right-most column.
|
If you use open62541-compat, you need version
1.3.4 or later. |
Bug
- [OPCUA-1603]
- quasar arrays with config initializer, with value
restrictions, do not build
Task
- [OPCUA-1971]
- Expose configentry as OPC UA property - for scalars
Improvement
- [OPCUA-2019]
- New CI test dedicated to config entries
- [OPCUA-2022]
- Add a script to run CI test locally
|
(potential remarks were sent in the release
email) |
nebula.A6
(13-Oct-2020)
|
Spotlight: major extensions in testing of the
project.
|
(none known)
|
Bug
- [OPCUA-2003]
- Unable to generate Address Space doc
Task
- [OPCUA-1992]
- Removal of (home-brew) backup indenter
(astyleSubstitute.py)
- [OPCUA-2002]
- Travis CI extensions: run the server(s) after building
them.
- [OPCUA-2006]
- Travis CI extensions: supply actual config files
|
(potential remarks were sent in the release
email) |
nebula.A5
(30-Sep-2020)
|
Just steps forward ...
|
If you use open62541-compat, you need version
1.3.2 or later.
|
Task
- [OPCUA-1890]
- Fix streaming into astyle
- [OPCUA-1988]
- Follow-up renaming of raw_input() to input() in
Python3
Improvement
- [OPCUA-1990]
- Improve error message for address space construction
|
(potential remarks were sent in the release
email) |
nebula.A4
(29-Sep-2020)
|
Service release for OPCUA-1984 mostly. |
Certain design files might now get
invalidated by the new feature of the validator, OPCUA-1983.
|
New Feature
- [OPCUA-1983]
- New validator condition: d:object allowed only when
"configureByDesign"
Task
- [OPCUA-1984]
- Multiple return values per method mishandled (was:
[OPCUALARLTDB SUPPORT] server don't start
BadNodeIdExists)
|
(potential remarks were sent in the release
email) |
nebula.A3
(24-Sep-2020)
|
Service releases fixing two issues.
|
(none known)
|
Bug
- [OPCUA-1972]
- CLONE - Configurator: regression from 1.3.x to 1.4.1,
breaks build
Task
- [OPCUA-1969]
- Missing colorama dependency in quasar doc
- [OPCUA-1981]
- Nextgen design diagrams flawed when class is totally
empty
|
(potential remarks were sent in the release
email) |
nebula.A2
(15-Sep-2020)
|
Mostly: new CI tests.
|
(none known)
|
Task
|
(potential remarks were sent in the release
email) |
nebula.A1
(14-Sep-2020)
|
First release of the nebula branch.
|
- Python2 is no longer invoked (the call to Python3 is
specifically made)
- nebula no longer has the AppVeyor CI so from now on
the basic compatibility against Windows is not
guaranteed in the nebula branch,
|
Task
- [OPCUA-1943]
- quasar's Python shebang to Python3
- [OPCUA-1960]
- Removal of unconditional AppVeyor checks in
quasar-nebula
- [OPCUA-1961]
- Fix create_release script for nebula
- [OPCUA-1962]
- Rework of module compat check: part1: removal
|
(potential remarks were sent in the release
email) |
1.4.2
(27-Aug-2020)
|
Last phase of NextGen transitions to Jinja2
and additions of FreeVariable concept.
|
(none known) |
Bug
- [OPCUA-1922]
- quasar invocation to astyle is not checked for return
code
New Feature
- [OPCUA-1718]
- Test and merge LogIt master (with change OPCUA-1671 -
LCG_96 build) to quasar
Task
- [OPCUA-1895]
- Add recommendations on whitespace for Jinja transforma
- [OPCUA-1896]
- FreeVariable concept for quasar
- [OPCUA-1897]
- Update python_requirements.txt
- [OPCUA-1928]
- Rework source variables with Jinja
Improvement
- [OPCUA-1332]
- add means to determine quasar version from quasar.py
- [OPCUA-1760]
- Clean-up of device logic classes
- [OPCUA-1766]
- Improve UA_DISABLE_COPY and private constructor idiom,
go to =delete
- [OPCUA-1881]
- Remove parent struct (C++ code) from DesignInspector
|
(potential remarks were sent in the release
email) |
1.4.1
05-Jun-2020
|
Next phase of NextGen transition:
improvements, further removal of XSLT. New validator is
introduced.
|
- quasar now features a new Design Validator which is
much stronger than the previous solution. It might mean
to catch issues in your Designs, even if the servers
build just fine.
|
Bug
- [OPCUA-1804]
- Validate presence of d:mutex when any dependent lock
is requested
- [OPCUA-1816]
- Documentation for array type cacheVars omitted from
generated configuration.xsd
- [OPCUA-1851]
- Wrong text in ConfigDoc.html
(designToConfigDocumentationHtml.jinja transform)
- [OPCUA-1854]
- Configuration decoration backwards compatibility
broken (since 1.3.6)
- [OPCUA-1863]
- ./quasar.py symlink_runtime_deps does not work with
quasar 1.4.1
- [OPCUA-1866]
- Documentation: broken link for
CalculatedVariables.html documentation
- [OPCUA-1873]
- NextGen configurator fails for GenericSNMP server both
with 1.4.0 and pre-1.4.1
- [OPCUA-1878]
- configuration documentation: missing default values
and mandatory/optional
- [OPCUA-1879]
- AddressSpace classes incorrectly want to initialize
from config when 'valueAndStatus'
- [OPCUA-1880]
- Validator not catching array and initialValue presence
New Feature
Task
- [OPCUA-1778]
- initialValue validation
- [OPCUA-1780]
- Catch and ban all instantiations from design where
there is any config data (config entries or
config-initialized cache variables)
- [OPCUA-1798]
- Catch CV array with valueAndStatusInitializer in
validateDesign target (now is in AS classes generation)
- [OPCUA-1799]
- Guarantee initialStatus presence when
initializeWith=initialValue in NextGen code gen
- [OPCUA-1849]
- Translate quasar diagrams generator to Jinja2
- [OPCUA-1850]
- Revamp design validator
Improvement
- [OPCUA-1758]
- Remove deprecated files from ancient times
- [OPCUA-1856]
- Address Space documentation using NextGen transforms
- [OPCUA-1859]
- Configure AS/device objects retaining original order
from config.xml file using xsdcxx content_order
mechanism
- [OPCUA-1861]
- expose quasar exception handler for 3rd party
extensions
- [OPCUA-1867]
- Better debug for Jinja templates
- [OPCUA-1868]
- Add docs to writers of transforms and code
transformations
|
(potential remarks were sent in the release
email) |
1.4.0
04-May-2020
|
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.
|
Bug
- [OPCUA-1804]
- Validate presence of d:mutex when any dependent lock
is requested
- [OPCUA-1816]
- Documentation for array type cacheVars omitted from
generated configuration.xsd
- [OPCUA-1851]
- Wrong text in ConfigDoc.html
(designToConfigDocumentationHtml.jinja transform)
- [OPCUA-1854]
- Configuration decoration backwards compatibility
broken (since 1.3.6)
- [OPCUA-1863]
- ./quasar.py symlink_runtime_deps does not work with
quasar 1.4.1
- [OPCUA-1866]
- Documentation: broken link for
CalculatedVariables.html documentation
- [OPCUA-1873]
- NextGen configurator fails for GenericSNMP server both
with 1.4.0 and pre-1.4.1
- [OPCUA-1878]
- configuration documentation: missing default values
and mandatory/optional
- [OPCUA-1879]
- AddressSpace classes incorrectly want to initialize
from config when 'valueAndStatus'
- [OPCUA-1880]
- Validator not catching array and initialValue presence
New Feature
Task
- [OPCUA-1778]
- initialValue validation
- [OPCUA-1780]
- Catch and ban all instantiations from design where
there is any config data (config entries or
config-initialized cache variables)
- [OPCUA-1798]
- Catch CV array with valueAndStatusInitializer in
validateDesign target (now is in AS classes generation)
- [OPCUA-1799]
- Guarantee initialStatus presence when
initializeWith=initialValue in NextGen code gen
- [OPCUA-1849]
- Translate quasar diagrams generator to Jinja2
- [OPCUA-1850]
- Revamp design validator
Improvement
- [OPCUA-1758]
- Remove deprecated files from ancient times
- [OPCUA-1856]
- Address Space documentation using NextGen transforms
- [OPCUA-1859]
- Configure AS/device objects retaining original order
from config.xml file using xsdcxx content_order
mechanism
- [OPCUA-1861]
- expose quasar exception handler for 3rd party
extensions
- [OPCUA-1867]
- Better debug for Jinja templates
- [OPCUA-1868]
- Add docs to writers of transforms and code
transformations
|
(potential remarks were sent in the release
email) |
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!
- If you use open62541-compat, please use version 1.2.2
or newer.
|
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
|
(potential remarks were sent in the release
email) |
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)
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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)
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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))
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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'
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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)
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
(potential remarks were sent in the release
email) |
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
|
|
|
(potential remarks were sent in the release
email) |