We are pleased to announce a significant product update - UB@5.18
What's new (briefly):
In case _hookMetadataTransformation.js file exists in the root of the model folder it's export
will be applied to Domain JSON before Domain is created.
Such hooks allow to apply any modifications to metadata (*.meta), for example
See example in Autotest app TST model
Before this version all *.meta localization files (*.meta.lang) should be located in the same folder as *.meta file. In case of big model it's uncomfortable - too many files in the same folder obscures important.
Now localization files can be placed in model sub-folder (we recommend to name such folders meta_locale as we did for @unitybase/* models).
In fact localization files can be even moved into his own model. For example for adding a new `zl` localization new model can be created and all `*.meta.zl` files can be placed where.
In case several descendant model contains entity with the same name all of them will be merged in the single meta file (in order they occures in models).
Before this version only last model metafile is merged with original metafile.
dataStore.getAsJsObject()
and dataStore.getAsJsArray()
methods - direct serialization of TubDataStore into JS Object without using JSON.parse. This is 20% faster compared to JSON.parse(dataStore.asJSONObject)
For better performance and code readability we recommend to apply following changes to the applications sources: - JSON.parse(dataStore.asJSONObject) -> dataStore.getAsJsObject() - JSON.parse(dataStore.asJSONArray) -> dataStore.getAsJsArray() (the easiest way if to search for all case sensitive occurrences of `asJSON`)
const crypto = require('crypto');
crypto.createHmac('sha256', 'mysecret')
this allow to works with JsonWebTokens directly form UB. For example jsonwebtoken npm package works as expected.
OpenSSL 1.1 should be installed on Linux, for Windows build we include openSSL1.1 in UB server setup
For full list of changes see CHANGELOG files in UB srever and models folders.