The following table provides a summary of issues that were fixed in Release 10.0.0
# |
Module version |
Topic/keyword |
Issue and resolution |
Affect version |
|---|---|---|---|---|
1 |
Automation 5.0.3000 |
JSON resource tracking |
The tracking of resources in subdirectories was not correct. Tracking of subdirectories 'rules' and 'templates' was missed if they were not present at the time of installation or restart. Now it is fixed. |
SDK 9.0.0 |
2 |
Automation 5.0.3000 |
Template variables |
Variables metadata min, max and pattern were not used for validation of template variable values. Currently the validation used for rules input values is applied to the template variables also. |
SDK 9.0.0 |
3 |
Automation 5.0.3000 |
Disabled rules backup |
The disabled rules were enabled on creating a backup. Now this is fixed and the disabled rules keep their state till they are enabled by an user request. |
SDK 9.3.0 |
4 |
Automation 5.0.3000 |
Automation Repeating Time Trigger |
There was NullPointerException status message when null input value provided for some of the inputs expecting set of string values. Same behavior also if they contain null elements. Now a proper message for unexpected input is present. |
SDK 9.0.0 |
5 |
Automation 5.0.3000 |
Options web editor |
Empty option was not displayed in web editor for selecting binding source value of ENUM parameter type. Now it's fixed – if empty option is specified as valid, it will be possible to be selected. |
SDK 9.0.0 |
6 |
Automation 5.0.3000 |
Binding source validation |
There was a NullPointerException on validation of null value for input value on preparing a handler input values. Now the null value does not break a rule execution because it could be a valid input value. |
SDK 9.0.0 |
7 |
Automation 5.0.3000 |
Core handlers |
There were NullPointerException errors with no additional information on providing null input value for handlers as item property or script source. Now they are fixed and IllegalArgumentException exceptions with proper messages added as validation. |
SDK 9.0.0 |
8 |
Automation 5.0.3000 |
Console commands |
Strings with "null" value were omitted on automation resources printing the same way the null values are omitted. Now this is fixed so it's clear for the user when there is no value set and when the string is with "null" value. |
SDK 9.0.0 |
9 |
HAM 5.0.3000 |
HAM AstroTimer condition |
AstroTimer Condition was satisfied only once before sunset or sunrise. Now this is fixed to be checked each weekday it is specified on creation. |
SDK 9.0.0 |
10 |
HAM 5.0.3000 |
HAM NthDayTimer condition |
NthDayTimer Condition with monthly execution interval was with unexpected behavior if the specified day exceeds the maximum number of days in a month, e.g. it was satisfied on May 1st instead of April 30th when the execution of the 31th day of each month is requested. Now this is fixed and condition is satisfied on the last day of the month. |
SDK 9.0.0 |
11 |
Core 1.4.0 |
Backup restore error |
The LogService was not tracked correctly in com.prosyst.util.ref.Log. This was causing some problems during backup and restore. This is now fixed. |
SDK 9.3.2 |
12 |
Core 1.4.0 |
Command annotations order |
When Option annotation parameters were given in an order after Argument annotation parameters, they were wrongly interpreted. This caused some misconceptions with some specific orderings of parameters and is now fixed. |
SDK 9.3.2 |
13 |
Core 1.4.0 |
Debug logs |
When setting log level via system properties, the debug logs would not show. The com.prosyst.util.ref.Log#setLogLevel(int loglevel) was modified to use configurations from the ConfigurationAdmin for different bundles and it resolved the issue. |
SDK 9.3.2 |
14 |
Core 1.4.0 |
Array properties |
Array properties in event properties weren't printed correctly – they were references instead of the actual values. This is now fixed. |
SDK 9.3.2 |
15 |
Core 1.4.0 |
Local permissions |
A log entry about missing permissions could be observed on framework stop when enabled with security mode. This was due to a lack of a permission on the DB bundle and is now fixed. |
SDK 9.3.2 |
16 |
Device Access 3.5.0 |
REST |
The Device Access didn't send any REST event when the framework is started with security. Now it is fixed. |
SDK 9.0.0 |
17 |
External 1.4.0 |
Faulty sources jars |
Some sources jar files used to contain irrelevant sources and information. This resulted in confusing sources. It is now fixed. |
SDK 9.3.2 |
18 |
FIM 2.3.2000 |
AbstractFunctionalItem |
java.lang.IllegalArgumentException for missing object classes was thrown on register FunctionalItem with overridden AbstractFunctionalItem.getItemMetadata(). Now is fixed. |
SDK 9.0.0 |
19 |
FIM 2.3.2000 |
Tracking FunctionalItem instances |
There was insufficient synchronization on tracking item and generation item registered and unregistered events. Now is fixed in order to prevent missing events. |
SDK 9.0.0 |
20 |
Framework 8.6.2 |
Storage error |
In some cases extension bundles could not be installed, because of incorrect initialization of trusted root storage. This is now fixed. |
SDK 9.3.2 |
21 |
Framework 8.6.2 |
Security leak |
Bundles could read properties via PropertyUtils#getProperty(...) without having the necessary property permissions. This security leak is now fixed. |
SDK 9.3.2 |
22 |
Framework 8.6.2 |
Event hooks |
Extra arguments were passed to service event hooks, including services, for which receiver does not have permissions. This has been fixed and now only relevant service arguments are provided. |
SDK 9.3.2 |
24 |
Framework 8.6.2 |
Execution environment |
Framework was exporting different versions of JavaSE as a single capability. This was noticed, when running OSGi Core R7 tests and is now fixed. |
SDK 9.3.2 |
25 |
Framework 8.6.2 |
Event hooks |
Service event hooks were not called if there are no service listeners to be notified, which breaks specification. This has been fixed. |
SDK 9.3.2 |
26 |
Framework 8.6.2 |
Framework resolving |
Fixed comparison of dynamic imports in order to follow R7 specification. |
SDK 9.3.2 |
27 |
Framework 8.6.2 |
Storage |
Extracting sub jars from the main bundle archive was not always executed in a privileged block, which caused security problems. This has been fixed. |
SDK 9.3.2 |
28 |
Framework 8.6.2 |
Storage, Data recovery |
Bosch IoT Gateway Software could not start up properly after a power loss of the gateway until you delete the persistent storage. Now this is fixed and you can restart the Framework without deleting the persistent storage. |
SDK 9.3.2 |
29 |
Framework 8.6.2 |
Natives |
Fixes in loading native libraries. Natives, containing extension in their name can be distinguished from their non-extension counterparts. |
SDK 9.3.2 |
30 |
Framework 8.6.2 |
Security |
Fixed memory leak in functional groups. Groups for uninstalled bundles are garbage collected now. |
SDK 9.3.2 |
31 |
Framework 8.6.2 |
Framework resolving |
Sometimes fragments failed to resolve when their host is updated. This is now fixed. |
SDK 9.3.2 |
32 |
Framework 8.6.2 |
Certificate manager |
Framework fixed to run without certificate manager on Skelmir, due to VM issues. |
SDK 9.3.2 |
33 |
Framework 8.6.2 |
Framework Launcher |
There were problems with opening URLs, when framework was launched through factory. URL handling has been fixed now. |
SDK 9.3.2 |
34 |
Framework 8.6.2 |
Class loading |
There were problems with bundle update(NoClassDefFoundError) in some cases, when updating a bundle with a weaving hook/s available. This has been fixed. |
SDK 9.3.1 |
35 |
Framework 8.6.2 |
Resolver |
There was a NullPointerException when resolving a fragment which imports and exports the same package. This logic now works correctly. Note that this fix was needed only for OSGi resolver service. |
SDK 9.3.2 |
36 |
Framework 8.6.2 |
Framework factory |
Loading of classes is delegated to class loader of FrameworkFactory if mbs.server.jar property is not present. This helps stand-alone applications with their own class loaders to use framework via launcher, without setting mbs.server.jar. |
SDK 9.3.2 |
37 |
KNX 5.5.0 |
Package import |
The manifest of com.prosyst.mbs.knx.driver.api bundle included the unnecessary import of package org.kxmk2.io with resolution optional. This is now fixed and the unneeded import-package clause is removed. |
SDK 9.x.x |
38 |
OSGi 1.6.0 |
Config admin |
Added required permissions in order to enable bundles to function properly under security. |
SDK 9.3.2 |
39 |
OSGi 1.6.0 |
Metatype |
Reading metatype information caused errors, when the com.prosyst.mbs.services.metatype API are used and the Gateway is run with security enabled. This was fixed. |
SDK 9.3.2 |
40 |
OSGi 1.6.0 |
SCR |
Thread class context was not always set to its initial value after performing an SCR callback to component. This has now been fixed. |
SDK 9.3.2 |
41 |
OSGi 1.6.0 |
Config Admin |
Thread class context was not always set to its initial value after performing a callback to ManagedService. This has now been fixed. |
SDK 9.3.2 |
42 |
OSGi 1.6.0 |
Dangling HTTP Service |
If an error occurred during Jetty HTTP server startup, the HttpService associated with it was not properly unregistered. Moreover, the HttpService had incorrect service properties for open HTTP ports, despite the server not being bound on any port. This issue was fixed and now the HTTP service is properly unregistered. |
SDK 9.3.2 |
43 |
OSGi 1.6.0 |
NullPointerExcception |
A NullPointerException was thrown when HTTP server configuration had HTTPS enabled, but no SSL key-store path specified. The NullPointerExcception is now fixed. |
SDK 9.3.2 |
44 |
OSGi 1.6.0, Legacy HTTP |
ConcurrentModificationException |
A ConcurrentModificationException was thrown when unregistering whiteboard HttpContext, which may have resulted in improper cleanup and memory leaks. The issue is now fixed. |
SDK 9.3.2 |
45 |
OSGi 1.6.0, Legacy HTTP |
Whiteboard Servlet |
A NullPointerException was sometimes thrown when unregistering whiteboard Servlet, which may have resulted in improper cleanup and memory leaks. The issue is now fixed. |
SDK 9.3.2 |
46 |
Peripheral 2.0.4000 |
ONVIF observer |
When stopping the ONVIF observer, there was a delay of 10-20 seconds until the bundle stops. Now it is fixed. |
SDK 10.0 |
47 |
Peripheral 2.0.4000 |
ONVIF observer |
When stopping the ONVIF observer, unuseful errors were generated. Now it is fixed by improving the error handling. |
SDK 10.0 |
48 |
Peripheral 2.0.4000 |
Unneeded configurations |
Unneeded configurations were produced, thus flooding framework's database. The problem appeared when devices are added and their driver is not installed. Now it is fixed in Peripheral Core. |
SDK 10.0 |
49 |
Peripheral 2.0.4000 |
ONVIF observer |
The existing ONVIF devices kept being reconfigured periodically. The problem appeared when their driver is installed. Now it is fixed by improving the adding algorithm. |
SDK 10.0 |
50 |
Peripheral 2.0.4000 |
inet.addresses field |
The mDNS devices had empty inet.addresses field. The problem appeared in Peripheral Info box in Web Console. Now it is fixed by fixing data types for that field. |
SDK 10.0 |
51 |
Policy Admin 1.2.1000 |
Bundle security IDs |
References to bundles providing security Ids were noticed even if the bundles were uninstalled long time ago. The observed memory leaks are prevented now. |
SDK 9.0.0 |
52 |
Policy Admin 1.2.1000 |
IdentityProviders |
When the framework was started with clean storage the User Admin identities were not present. The functionality for tracking the registered IdentityProviders, for which there is descriptions in the policy files, now works as expected |
SDK 9.0.0 |
53 |
REST 2.1.0 |
Memory leak |
PolicySecurityContext in com.prosyst.mbs.webservices.rest.invoker.policy did not clean up added security IDs, which resulted in memory leak. Now the security IDs are clean-up when the bundle is stopped. |
SDK 9.3.1 |
54 |
TEE 2.0.4001 |
JUnit5 |
JUnit5 executor initialization was failing when execution thread context classloader was modified by other bundles in the system. This misbehavior is now fixed. |
SDK 9.0.0 |
55 |
Util 1.2.0 |
Telnet server |
For the user the telnet server appeared disabled, while actually it was running on the secondary port. In fact after invocation of ServerSocket, the descriptor won't be destroyed immediately and its port won't be accessible immediately. On some platforms like Linux the port will continue to stay opened (as a zombie) for some time until kernel decides to release it. |
SDK 9.3.2 |
56 |
Web 1.1.3000 |
Admin Web console plug-in |
It was impossible to edit default user credentials using web console plug-in UI. There was an error that the user already existed every time. This misbehavior is now fixed. |
SDK 9.0.0 |
57 |
Web 1.1.3000 |
Shell Web console plug-in |
It was observed that shell view scroll automatically jumps to the bottom when the user tries to examine previous output. This is now fixed. |
SDK 9.1.0 |
58 |
WebSockets 1.2.0 |
Access rights |
When subscription command is received, the current thread was used to determine access rights. This can result in missing permissions, because typically, user is authenticated during WebSocket connection establishment. This was fixed and now access rights are determined when the WebSocket connection is made. |
SDK 9.3.1 |
59 |
WebSockets 1.2.0 |
Race condition |
A race condition in WebSocketHandler implementation reported a connection as not open right after it was established. This could have caused errors when attempt was made to send a message right after the connection was established. This issue is now fixed. |
SDK 9.3.1 |
60 |
WebSockets 1.2.0 |
Push Events |
Missing synchronization in Push Events WebSocket implementation could have resulted in error (and closing of the connection) when event messages and messages for subscription expiration or subscription acknowledgment were sent simultaneously. This race condition is now fixed. |
SDK 9.3.1 |
61 |
Z-Wave 6.0.0 |
Color Switch device item |
No ColorSwitch Device Item was registered for devices, supporting versions higher than 1 of the respective Z-Wave Command Class. This is now fixed. |
SDK 9.0.0 |
62 |
Z-Wave 6.0.0 |
Log Configuration |
Logging Configuration instances were left behind undeleted after Z-Wave bundles are uninstalled. This is now fixed. |
SDK 9.0.0 |
63 |
Z-Wave 6.0.0 |
Blood Pressure sensor metrics |
Quantity metric values and Item attributes within the Device Access layer regarding Blood Pressure sensor type were incorrectly represented. This is now fixed. |
SDK 9.0.0 |
64 |
Z-Wave 6.0.0 |
Device Items, Device Class Objects |
The system Device Class Objects or Device Items (depending on the setup), were missing after the Adapter bundle was being updated. They appeared again after framework was restarted. This is now fixed. |
SDK 9.0.0 |
65 |
Z-Wave 6.0.0 |
Device Items, Device Class Objects |
If a custom Device Class Object or Device Item implementation is provided, but does not fully match the manufacturer indicating properties, neither custom nor default Device Class implementation instances were created. This is now fixed. |
SDK 9.0.0 |
66 |
Z-Wave 6.0.0 |
Device Items, Device Class Objects |
When a device is securely included, all custom provided Device Class Objects/Device Items that do not define a specific command class ID (i.e. annotated with @ZWaveCommandClassId) were getting registered both in the root and in the secure child device Spi. This is now fixed. |
SDK 9.0.0 |
67 |
Zigbee 4.8.0 |
Discovery |
There was a race condition when device discovery is triggered immediately after CoordinatorConnection is registered. As a result sometimes the discovery might not start. Now this is fixed and device discovery is started. |
SDK 9.0.0 |
68 |
Zigbee 4.8.0 |
Bundle-RequiredExecutionEnviroment |
The required execution environment was wrongly stated as JavaSE-1.8(Full SE) in all Zigbee bundle manifest headers. Now this is fixed and the proper execution environment is stated: JavaSE/compact1-1.8(compact1 profile). |
SDK 9.3.0 |
Known Issues
The following section provides a summary of issues known in the current release.
System Integrity Protection (SIP) in macOS: Affecting Gateway Software version 9.3.X, when System Integrity Protection on Mac OS X is turned on, bundles with native libraries may throw an Error, when libraries are loaded and it may lead to malfunctioning of the bundles. System Integrity Protection has to be disabled in order to use the functionality provided by the native libraries from the bundles on macOS/OS X since version 10.11 (OS X El Capitan).
Module Version |
Known Issue |
|---|---|
ONVIF 1.3.0 |
ONVIF Discovery is not detecting devices if the local network IP is changed during runtime or by DHCP, therefore the discovery is no longer working, until the ONVIF Core bundle or the framework is restarted. |
ONVIF 1.5.0 |
The ServiceID of the functional item for RCP+ firmware upgrade is changed.
This change is backward incompatible for 10.0.0 and 10.1.0 releases. |