13 | | * **Service Injection**. New `@Inject` annotation (**#695**). |
14 | | * **Transactions by Annotation**. New `@Transactional` annotation (**#698**). |
15 | | * `directives` parameter removed from all APIs (**#697**). |
16 | | * `clientState` parameter removed from all APIs (**#696**). |
17 | | * `fetchComposite` parameter removed from most APIs (**#699**). |
18 | | * Core API: orthogonal traversal methods (**#707**). |
19 | | * Core API wording: the concept of a ''Composite Value'' is now named ''Child Topics'' (**#702**). |
| 13 | * Core API Spring Cleaning: |
| 14 | * **Service Injection**. New `@Inject` annotation (**#695**). |
| 15 | * **Transactions by Annotation**. New `@Transactional` annotation (**#698**). |
| 16 | * `directives` parameter removed from all APIs (**#697**). |
| 17 | * `clientState` parameter removed from all APIs (**#696**). |
| 18 | * `fetchComposite` parameter removed from most APIs (**#699**). |
| 19 | * Core API: orthogonal traversal methods (**#707**). |
| 20 | * Core API wording: the concept of a ''Composite Value'' is now named ''Child Topics'' (**#702**). |
| 21 | * Support for accessing static plugin resources (**#692**). |
22 | | * When an error occurs very early in the plugin's starting phase that error is logged and the plugin is not retried to start endlessly (#693). |
23 | | * Errors like `NoClassDefFoundError` are not thrown through the OSGi container. The phenomenon of "swallowed" exceptions and endlessly retried plugin starts is eliminated once and for all (#693). |
24 | | * When an error occurs while event handling (e.g. `NoSuchMethodError` or `AbstractMethodError`) the log is more informative (#693). |
| 24 | * Topics going over the wire only include all their child topics if requested. The former bug (existing since DM 4.1) resulted in crucial network overhead as more data than requested was sent on a regular basis (**#684**). |
| 25 | * Class `CompositeValue` (now named `ChildTopics`): on-demand child topics loading works also with the convenience accessors (**#683**). |
| 26 | * Unregistering plugin listeners throws no exception in case of plugin activation failed before (#686). |
| 27 | * Plugins start: |
| 28 | * When an error occurs very early in the plugin's starting phase that error is logged and the plugin is not retried to start endlessly (#693). |
| 29 | * Errors like `NoClassDefFoundError` are not thrown through the OSGi container. The phenomenon of "swallowed" exceptions and endlessly retried plugin starts is eliminated once and for all (#693). |
| 30 | * Error logging: |
| 31 | * When an error occurs while event handling (e.g. `NoSuchMethodError` or `AbstractMethodError`) the log is more informative (#693). |
| 32 | * If file logging is active ''all'' errors are logged into file (#694). |