. . .

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.

images/download/attachments/61480461/monitoring_05.png

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:

RestClass.java
//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:

apiomat.yaml
common:
...
audit:
enabled: true
yambas.conf
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