ub-server #

Added #

5.20.0 2021-04-24 #
  • Linux: improved console log output for JS exception: separate a log message (red color) and stack trace (white color + one stack trace level per line)
5.19.9 2021-04-12 #
  • WebStorm 2021.1 can be used as a remote debugger (in addition to VSCode with Debugger for FireFox v 2.4.0 plugin):

    • in WebStorm create a FireFox remote debug configuration and press debug button
    • start ub with -dev flag

    Known issues:

    • breakpoints not works (use debugger keyword to stop in debugger)
    • internal modules are not visible to WebStorm (press F8 several times to exit from internal module)
5.19.8 2021-04-06 #
  • new property TubEntity.overriddenBy to support a UBEntity.overriddenBy for JS Domain implementation
  • new command line switch --journald true|false
    • if true - force logging to journald if not started by systemd
    • if false - force file logging even if started by systemd Also can be sets using env. variable UB_JOURNALD

Changed #

5.19.12 2021-04-21 #
  • performance optimization for timerLoop function (setTimeout\setImmediate emulation)
5.19.11 2021-04-19 #
  • dates with 0 time from TubList (mParams) should be serialized with T00:00:00Z suffix (instead of T00:00Z) to be deserializable on iOS (Diya API). Previous version fix TubDataStore Date serialization
5.19.10 2021-04-15 #
  • enable shared connection pool for libcurl >= 7.68 (released on Jan 8 2020)
  • dates with 0 time should be serialized with T00:00:00Z suffix (instead of T00:00Z) to be deserializable on iOS (Diya API)
5.19.9 2021-04-12 #
  • VSCode debugger: UnityBase core modules are blackboxed by default (debugger skip them)

Deprecated #

5.20.0 2021-04-24 #
  • global.UB is deprecated. Still available for compatibility reasons after thread is initialized but will be removed soon. Inside server thread UB can be obtained using const UB = require('@unitybase/ub')

Fixed #

5.20.0 2021-04-24 #
  • methods defined by serer internals are moved into hidden namespace from UB
5.19.12 2021-04-21 #
  • ub -debug will suspend execution after debugger is connected instead of waiting forever
  • prevent server hangs on passing expression with #>> Postgres operator (occur in by 5.19.11). Happens when value for JSON attribute is retrieved by path, like attr.value.in.json where attr is attribute of type JSON.
5.19.11 2021-04-19 #
  • a table alias prefix is added to SQL generated by ORM for JSON attributes. This fix "ambigious column" DB error in case JSON attribute with the same name exists in several tables what used in one query
5.19.9 2021-04-12 #
  • prevent AV for concurrent http.request to the same host by disable a libcurl shared connection pool on systems with libcurl < 7.72 (released on Aug 19 2020) due to libcurl issue #4544
  • VSCode debugger: automatically re-enable a breakpoints defined in the IDE (at last under Linux)
  • Int64 array in ubql can start from negative number: .where('ID', 'in', [-2, 2]). This fix errors like: Invalid input data format for runList. Expected JSON array of ubList and Invalid JSON for NamedCollection

@unitybase/adminui-vue #

Added #

5.20.5 2021-04-13 #
  • UFormRow: new prop readonly; if true - show a small lock symbol after label
  • UAutoField: in case attribute is readOnly in meta file - render a small lock symbol after label; If als mixin is defined for entity - uses read only from als; Can be explicitly defined using a new prop readonly;
  • UToolbar: new prop toolbarButtons. Allows adding new buttons into toolbar and override/hide default buttons; Can be used with slots and hideDefaultButtons prop; Using toolbarButtons prop toolbar buttons can be shown as classic text button (not icon only); See example in UToolbar docs;
  • new provided method getValidationState for getting always the actual validator configured with the validation(...) method. The current provided value of $v is not reactive so if we want to have dynamic validation as described below we can inject the getValidationState function and get the actual $v value
module.exports.mount = cfg => {
  Form(cfg)
    .store()
    .processing()
    .validation({
      computed: {
        ...mapState('form', ['applyCustomValidation']),
        formDataValues() {
          return {...}
        }
      },
      validations() {
        // dynamic validation config
        return this.applyCustomValidation
          ? { formDataValues: {...} }
          : {}
      }
    })
    .mount()
export default {
  inject: [
    'getValidationState'
  ],
  computed: {
    codeError() {
      const $v = this.getValidationState()
      return $v?.formDataValues?.code.$error
    }
  }

Changed #

5.20.7 2021-04-19 #
  • Full Text Search shortcut is changed to Ctrl+Shift+F to prevent conflict with Ctrl+F actions.
  • UTableEntity: sorting for column based on Entity attributes (lookups) use description attribute of the associated entity instead of ID
5.20.5 2021-04-13 #
  • UFileInput: set text alignment to center, if many files are selected displayed filenames are truncated to 3 lines
  • UAutoField: hide asterisk for boolean attributes with defaultValue specified (as should be in most case) and required prop for UAutoField is not specified explicitly
  • UDropdown: popup animation (transition) is removed
  • USelectEntity: use a UDropdown instead of ElDropdown for actions popup; dropdown animation (transition) is removed
  • USelectEntity: added background color and border to dropdown block

Fixed #

5.20.8 2021-04-22 #

-UForm: fix messages for errors what can be thrown inside UForm.mount

5.20.7 2021-04-19 #
  • UCodeMirror - returned visibility of help (?) mark
5.20.6 2021-04-16 #
  • USelectEntity: fix focused/hovered border color to wrap an action button (using :focus-within since div with border can't be focused)
  • UToolbar: now u-button doesn't render default slot (which has extra padding) when toolbar button is icon.
  • USelectMultiple: added reaction on value changing from outside the component.
  • UFileInput: made file types validation case-insensitive (for example to accept both *.XLSX and *.xlsx for Excel filter).
5.20.5 2021-04-13 #
  • USelectEntity.buildShowDictionaryConfig: fixed select button disabling if row is not selected yet. A disabled property should be passed to UButton as a html-attribute.
  • USelectEntity: In case of using an entity (other than the default one) in the property repository of the component and when user press F9 (or click on Select from the dictionary): old behavior: error about the absence of attributes specified in the request fieldList. new behavior: opening a form Selection from the dictionary.

@unitybase/adminui-pub #

Changed #

5.20.7 2021-04-19 #
  • UB.core.UBUtil.getEntityAttributesTreeData HTML for attribute label improved for better UX

@unitybase/base #

Changed #

5.20.5 2021-04-24 #
  • ub server 5.20 compatibility - avoid global UB usage

@unitybase/blob-stores #

Fixed #

5.20.3 2021-04-01 #
  • UB<5 regression: fix Path must be a string error in case caller do not pass fileName in setDocument request (as UB<5 client can do)
  • blobStores.fillResponse returns true instead of undefined in case file successfully scheduled to send

@unitybase/cs-shared #

Added #

5.6.1 2021-04-02 #
  • new property UBEntity.overriddenBy - comma separated model names where entity is overridden

Changed #

5.6.1 2021-04-02 #
  • BREAKING for overridden entities UBEntity.modelName property now contains an original model name instead of last override model name

Fixed #

5.6.4 2021-04-22 #
  • UBSession.crc32 will transform a string to UTF8 array before calc crc32. This allows to calc a CRC32 for string with non-english characters (used for example by CERT2 auth in non-simple mode)

@unitybase/ub-pub #

Added #

5.9.3 2021-04-16 #
  • Dutch and Uzbek languages added

@unitybase/ub #

Added #

5.21.0 2021-04-02 #
  • new property UBEntity.overriddenBy - comma separated model names where entity is overridden

Changed #

5.21.3 2021-04-19 #
  • allLocales endpoint, when loading as JSON files, now merges all models, and return as a normal key-value resources. Add 2 more parameters: includeDomain and includeData, which would merge appropriate type of resources in:
    • includeDomain controls inclusion of entityCode: caption and entityCode.attribute: caption resources,
    • includeData controls reading and including JSON files from _data/locale/lang-nn.json files, resources, which are needed for data migration only.
5.21.1 2021-04-13 #
  • allLocales endpoint (client-side localization download) supports downloading of JSON files only, without js files Request shall be like /allLocales?lang=en&json=1 Response body will contain model name as a key and JSON file content as a value:
    {
      "ub-pub": {...},
      "UBM": {...}
    }.
    
5.21.0 2021-04-02 #
  • BREAKING for overridden entities UBEntity.modelName property now contains an original model name instead of last override model name

Deprecated #

5.22.0 2021-04-24 #
  • UB.ns is deprecated and will be removed soon

Fixed #

5.21.6 2021-04-23 #
  • fix global.UB.getServerConfiguration is not a function error (can occur during thread initialization) by prevent override a legacy global.UB object
5.21.4 2021-04-19 #
  • fix global.UB.getDomainInfo is not a function

@unitybase/ubcli #

Added #

5.21.2 2021-04-19 #
  • ubcli generateDDL create a backup script in case previous DDL generation script exists (by adding .bak to file name)
5.21.0 2021-04-13 #
  • ubcli generateNginxCfg adds in-memory buffering of incoming requests and outgoing responses to nginx config. This prevents nginx to create temp files for buffering in most case
  • tid parameter for ubcli migrate, so that ubcli migrate -noddl -tid 199 may be used for tenant initialization (will require @unitybase/ub-migrate@1.20+, with 1.19 will just ignore the param)

Changed #

5.21.2 2021-04-19 #
  • ubcli generateDDL for Oracle - dramatically speed up by reset a connection NLS_SORT and NLS_COMP to BINARY - this allows Oracle to use indexes for queries over system views.

Fixed #

5.21.2 2021-04-19 #
  • ubcli generateDDL fixed for Oracle sequences defined in metadata pkGenerator:
    • prevents to create a sequence what accessible for connection but don't owned by it (synonyms etc). Fixed by read available sequences using ALL_SEQUENCES system view instead of user_sequences
    • prevent to create a sequence multiple times in case it used as pkGenerator for several entities
    • prevent generate a DDLs for External/Virtual entities what referenced from models DDL generator is executed for
  • ubcli generateDDL - added table and field names to exception message in case of invalid or unsupported default value for Date/DateTime attribute is defined in metadata
5.20.5 2021-04-02 #
  • BREAKING ubcli generateDDL -m MODEL1,MODEL2 generates a DDL for entities what initially defined in the MODEL1 and MODEL2. Before this fix DDL generator skip entities defined in MODEL1 but overridden in MODEL_X (what not in -m list)

@unitybase/ubm #

Changed #

5.20.7 2021-04-19 #
  • ubm_navshortcut form layout changed to u-grid + attributes tree UI improved

Fixed #

5.20.4 2021-04-02 #
  • ubm_query JSON to clob migration (for Oracle) not fails during migration from a version where ubm_query table does not exists

@unitybase/ubq #

Changed #

5.20.5 2021-04-13 #
  • log level for scheduler initiation message SCHEDULER: Job command for ... sent at ... changed from info to debug