Version 2.4.0
Monitoring
Monitor all your app and DB servers using the Monitoring feature. A small service running on all nodes reports performance and health data to ApiOmat. The Dashboard will provide straightforward filtering and scaling mechanisms to detect problems even before they occur.
See more details at the docu page.
More supported operating systems
Beginning with Version 2.4.0, we are supporting Suse Enterpise Linux 12 as well as Ubuntu 16 LTS. Find all available installers at the installing manual.
New config file
Version 2.4 uses by default a new yaml based config file, which is usually created in the config directory as apiomat.yaml. Dashboard and YAMBAS settings can be set there hierarchically. See more in the documentation.
New repository URL
Due to the support of new operating systems, we had to change the linux repository path and user. To update to version 2.4.x, please remove the old apt/rpm repository and add the new one according to the documentation before starting the update command.
Updated Swagger Version 1.5 with OpenAPI 2.0
Version 2.4 has migrated to the newest Swagger version 1.5, which is implementing the OpenAPI specification 2.0. This way, the Swagger generated definition of models and data can be used in a series of other tools to automatically connect to ApiOmat.
Because the format changed according to the new specification, all existing modules must download the new swagger-annotations.jar (using a downloadNativeModule / Pull action) and change the swagger library package name in the RestClass:
//old
import
com.wordnik.swagger.annotations.Api;
import
com.wordnik.swagger.annotations.ApiOperation;
import
com.wordnik.swagger.annotations.ApiParam;
//new
import
io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiParam;
Old implementations of rest classes will still work, but not shown in ApiDocs nor in the MyModules page in Dashboard.
Please pay attention that all rest endpoints are visible by default in Apidocs. This was different in older swagger versions. To hide a endpoint, simply annotate it with @ApiOperation( hidden = true, value = "" )
No serialization anymore in native modules
Like the git based modules, now even the JAR based modules do not need any (Kryo-) serialization anymore. This means:
-
No performance overhead from serialization
-
No additional database access necessary when using many referenced objects
-
Modifying the class will not break the module in most cases
-
No generated read/write method in model classes
-
Usage of constructors now possible.
Old code can remain as-is. More information can be found in documentation.
Delta Sync variant with small header
When having thousands of data entries stored offline in client, on some installations the header of the client became too large. To enable offline handling and delta sync even for this use cases, we offer a new variant of delta sync which requires only a timestamp to be send with the client request.
To enable this variant on server side, the audit functionality (coming next) has to be enabled in apiomat.yaml /yambas.conf:
common:
...
audit:
enabled:
true
isAuditEnabled=
true
The documentation contains more infromation on how to enable on client side.
Further changes
All further important changes can be found at the root page of release notes.
Changelog
Key |
Summary |
DAS-1242 |
Remove "Parse ini with own parser" from /var/log/messages |
DAS-1239 |
MyModules also shows Applications Main Modules |
DAS-1221 |
After first login on a new or updated installation, dashboard will forward to a Order_common.css |
DAS-1207 |
Installer for SUSE |
DAS-1180 |
Silent push support |
DAS-1154 |
Single Installer for Dashboard and Yambas |
DAS-1148 |
Separate config files for yambas and Dashboard |
DAS-1145 |
ACLs are not refreshed after module deploy |
DAS-1143 |
Upload Module Button shall also upload existing Modules (not only new ones) |
DAS-1079 |
Add link to docs and apidocs |
DAS-1060 |
Disable mails for certain logs |
DAS-1011 |
Can only see 'maxResults' items via CSV and ACLs |
AOM-3458 |
[JavaScript] Post request do not work because collections are initialized with 'undefined' |
AOM-3405 |
[Swift] Missing public modifiers and some convenience methods |
AOM-3403 |
[JavaScript/PG/Titanium] requestSessionToken contains wrong expiryDate |
AOM-3398 |
Customer with READ_ANALYTICS role can not view backends analytics |
AOM-3361 |
Open Roles page loads long time |
AOM-3358 |
Inheritance of Hook classes gets lost |
AOM-3356 |
resetUserPasswordCallback deletes content of custom Attributes of extended User Class |
AOM-3354 |
Activate/Deactivate customer for Dashboard |
AOM-3347 |
[iOS] Exception can't be catched when loosing connection during upload |
AOM-3344 |
Git NM timeouts and open files on Windows Server |
AOM-3339 |
User can't change attributes after updating userName (derived user class) |
AOM-3314 |
Multiple Basics.User objects can have the same userName after PUT |
AOM-3313 |
Installer for SUSE |
AOM-3310 |
Remove Kryo serialization |
AOM-3298 |
Double use of appName in REST causes problems in ApiDocs |
AOM-3294 |
Yaml config file for yambas |
AOM-3293 |
Authorization will not be checked if etag/lastModified is true |
AOM-3255 |
User userName can be set to null, although it's a mandatory attribute |
AOM-3208 |
Single Installer for Dashboard and Yambas |
AOM-3198 |
Enable notification of config changes to all cluster nodes |
AOM-3157 |
Offline handling and DeltaSync don't work with transient classes |
AOM-3137 |
Class cannot be cast to same class in NM when class is from other NM |
AOM-3107 |
Wrong Datastore for CSV/XML-Import in context with global-classes |
AOM-3101 |
Do not change sdk.properties on automatic git actions |
AOM-3080 |
Upgrade Swagger |
AOM-3017 |
get all modules returns modules the current user is not allowed to read |
AOM-3006 |
[Xamarin] Gzip compression not working in Xamarin.Forms app |
AOM-2885 |
Send Push Message to multiple devices of a single user |
AOM-2856 |
access to configuration data from the native modul |
AOM-2836 |
Allow deletion of multiple dataModel-instances identified by query |
AOM-2808 |
Extend logging to logging console |
AOM-2650 |
Give developer the possibility to deactive isBatchRequest |
AOM-2593 |
Mention item count limit for getAll result in Apidocs and SDKs |
AOM-2559 |
No execution of afterGetAll when calling findByNames from native module on other native module class |
AOM-2521 |
Improve apidocs |
AOM-2392 |
"Delete" native module only on one system |