Changes between Version 130 and Version 131 of ReleaseNotes
- Timestamp:
- 20.10.2015 18:57:13 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseNotes
v130 v131 9 9 You can update any !DeepaMehta 4 installation which is not older than !DeepaMehta 4.1. For installation and update instructions see the [[https://github.com/jri/deepamehta#readme|README]]. 10 10 11 For plugin developers : see the BREAKING CHANGES in the tickets marked in **#bold**.11 For plugin developers and server administrators: see the BREAKING CHANGES in the tickets marked in **#bold**. 12 12 13 13 New features: … … 21 21 Bug fixes: 22 22 * Anonymous can browse public file repos (#573). 23 * A file whose path contains a "+" character is properly rendered in the detail panel (#819). 24 * A folder created by the File Browser's "Create Folder" command show's up in the detail panel immediately (#820). 25 * Creating a file browser when one already exists doesn't throw an error (#826). 23 26 24 27 Changes: 25 28 * We switched back from Pax Web to Felix HTTP due to the way Pax Web handles an OSGi `HttpContext` (#448). 26 29 * The `dm4.webservice.path` config property allows switching between Pax Web and Felix HTTP without recompiling the Core (#448). 27 * The default value for the dm4.filerepo.path config property is `/` instead of empty. `/` regards the entire file system as the DM file repo (#832). 30 * The default value for the dm4.filerepo.path config property is `/` instead of empty. `/` regards the entire file system as the DM file repo (**#832**). 31 * A file repository path contained in a `/files/` or `/filerepo/` request must be encoded as a URI component (**#819**). 28 32 * The `WebPublishingService` is an internal Core facility. It is deliberately not consumable as an OSGi service (#834). 29 33 30 34 Plugin Development Framework: 31 35 * **Configuration Facility** (#830). 32 * The `@Inject` annotation allows a plugin the injection of arbitrary OSGi services, not only services provided by other DM plugins (#835). 33 * More "Convention over Configuration": A service interface must no longer extend `PluginService` and must no longer be located in the plugin's `service` package. Instead the service interface name must end with `Service` (**#836**). 34 * The standard workspace assignment can be suppressed on a per-code block basis (instead of per-request) (**#752**). 35 * Changes in 2 JSON utility methods (**ticket:832#comment:3**). 36 * Core module: 37 * The `@Inject` annotation allows a plugin the injection of arbitrary OSGi services, not only services provided by other DM plugins (#835). 38 * Core API: get associations by key/value (#807). 39 * More "Convention over Configuration": A service interface must no longer extend `PluginService` and must no longer be located in the plugin's `service` package. Instead the service interface name must end with `Service` (**#836**). 40 * The standard workspace assignment can be suppressed on a per-code block basis (instead of per-request) (**#752**). 41 * `preInstall()` hook (#843). 42 * The DM Core Service can be statically accessed from everywhere. This is useful e.g. in JAX-RS provider classes (#812). 43 * Changes in 2 JSON utility methods (**ticket:832#comment:3**). 44 * Webservice module: 45 * Exception handling is unified for static and dynamic resources, in particular: 1) Logging the exception, and 2) Enriching the response with an error entity (#484). 36 46 * Webclient module: 47 * The Webclient supports **Hierarchical Menus** (#758). 37 48 * Redesigned search mode extension mechanism (**#839**). 38 49 * `dm4c.open_error_dialog()` opens an error dialog and renders a server response (ticket:815#comment:16). 39 * `preInstall()` hook (#843).40 50 * Bug fixes: 41 51 * If an error occurs in a plugin's `shutdown()` hook the error is logged and stopping the plugin proceeds (#831). 52 * Core `AccessControl`'s `assignToWorkspace()` method works also for associations (#827). 42 53 43 54 ----