ub-server #

Added #

5.18.5 2020-06-22 #
  • new server parameter (Linux only) httpServer.autoShutdownTimeoutSec - in case no HTTP requests arrived during this timeout (in seconds) server will shutdown itself (to be used in upcoming cloud solution)
  • under Linux sever can be activated using systemd socket activation (inherit listening socket from systemd, pass it back on a shutdown)
  • in case server started using systemd logs are written into journald using sd_journal_print and file logging is disabled
5.18.4 2020-06-15 #
  • server-side UBEntity mixins list include rls and audit mixin definition if they defined for entity. Both rls and audit are hidden from client side for security reason. Before this patch rls and audit were unavailable even to the server side UBDomain.
  • TubList.getUniqKey method is added into JS binding
  • add total calculation query logging for .withTotal() UBQL with timings (select count(1) ...`)

Changed #

5.18.5 2020-06-22 #
  • console logging functions use a logging level from config:

    • console.debug - "Debug" (BREAKING in prev/ versions debug log turned on by -dev cmd line parameter)
    • console.log & console.info - "Info"
    • console.warn - "Warning"
    • console.error - "Error" In case corresponding level is not enabled in config function do nothing
  • console logs output colors changed a little to be less contrast

  • in case -cl (or alias -console-log) option is passed in command line:

    • file logging is disabled (before these changes to disable file logging logging.path should be empty)
    • server do not add a time into beginning of each line

    Useful in case ub started inside docker container.

  • Server log level is always enabled

5.18.4 2020-06-15 #
  • maximum allowed cookies count increased from 10 to 128. This helps to prevent RetrieveCookies overflow: DOS? exception for domains with many external cookies (UB itself sets only ONE cookie UB_session and only in case Negotiate authorization is enabled)
  • RLS mixin implementation is moved from native into App.launchRLS method (@unitybase/ub must be updated to 5.5)

Deprecated #

5.18.4 2020-06-15 #
  • rls.expression is deprecated in *.meta files. Consider to use rls.func instead (see Row level security tutorial for details)

Removed #

5.18.4 2020-06-15 #

Fixed #

5.18.7 2020-06-26 #
  • another fix for SQL server ODBC - for numbers from between (-1; 1) use a SQL_NUMERIC
  • fix random callerIP/remoteConnectionID calculation in case reverse proxy is configured but request comes directly. ** affects versions 5.18.4 - 5.18.6 **
5.18.6 2020-06-24 #
  • improve systemd detection. Under Ubuntu 20.04 INVOCATION_ID env var is always defined, so before this fix application always wrote logs to journald, even if started from console.
  • SQL server ODBC access from Linux: msodbcsql17 should be at last 17.5.2 to prevent errors with doubles (<0.01 and >1000.01). Changes from 5.18.3 is reverted since it cause problems with numbers > 1000 with latest msodbcsql.
5.18.5 2020-06-22 #
  • UBQL allow inserting/updating of a many attribute value with one selected element by passing an Int64 as a value instead of string. This prevents error Value for Many attribute % must be a comma separated string of Int64. UB 1.12 compatibility.
  • under Linux server not open a listening socket (not accept any incoming HTTP requests in case of socket activation) during initialization state. This prevents clients from 404 responses while server starting.
  • in case of SIGHUP signal server enable/disable a JS console.debug depends on "Debug" level availability in logging.levels. Before these changes console.debug initialized during server startup and do not react on SIGHUP.
5.18.4 2020-06-15 #
  • allow orderBy by attribute what not in field list but mapped to "unsafe" expression (as used is A5 projects)
  • SECURITY: correctly handle attributes restrictions for UBQL with fieldList: ["*"]
  • DataHistory mixin will not add filter by DateFrom/DateTo in case where('ID', '=', number) exists in where list; Behavior is the same as in case mParams.ID = number exists. This should fix for example [UBDF-11421] - a caption assigning for non-actual staff units.
  • UBIP authentication: /auth endpoint return 200 OK with uData as expected (instead of 400) if called. In fact client do not need to call auth for UBIP.
  • removed memory leak inside _App.globalCacheList (used by ubs_globalCache.select virtual entity to get a global cache content for debugging purpose)
  • removed small memory leak during server shutdown in ru/uk stemmer for SQLit3 engine

@unitybase/adminui-vue #

Added #

1.11.6 2020-06-09 #
  • new method lookups.getDescriptionById - fast O(1) lookup of description attribute value using ID as a key
1.11.5 2020-06-02 #
  • UGrid: new props labelWidth and labelPosition to provide width and position to a child UFormRow's.
    The same as in UFormContainer. This allows changing label position & width for individual UGrig blocks.
  • helper css class .u-table_border which adds border to UTable, UTableEntity or UMasterDetailView. Usage: <u-table-entity entity-name="uba_user" class="u-table_border"/>

Changed #

1.11.9 2020-06-24 #
  • auth view: UBAuthForgotPassword link removed (not implemented yet)
  • Signature Verification Result form improvements:
    • different icons for digital stamp and digital signature
    • empty fields are hidden
    • 4-th column contains either subject name or stamp name or organization name depending on certificate type
1.11.7 2020-06-14 #
  • BREAKING UTableEntity: action fetchItems no more throttling and returns promise as expeched. This may be important in case fetchItems is called from scoped slots.
1.11.6 2020-06-09 #
  • USelectEntity use css variables --hs-text, --l-text-default for text color in dropdown options
  • ElInput use css variables --hs-text, --l-text-default for text color
  • lookups improve performance of lookup getter (lookups.get) in case lookup attribute is ID (as in most case)
1.11.5 2020-06-02 #
  • UTableEntity: pagination now hidden in case only one data page available

Fixed #

1.11.9 2020-06-24 #
  • USelectEntity: disable "Add new" in select popup in case user do not have rights for addnew method (unity for example)
  • command "et -c theme/ub-el.scss -o _el-theme" TEMPORARY removed from build:el package.json task. It can't be used with node12 because use gulp version (3.x). So temporary adminui-vue can be compiled only on node11 and command:
npr run  build:el-node11

MUST be executed once before npm build

1.11.8 2020-06-21 #
  • CERT2 authentication: in case uiSettings.adminUI.authenticationCert block is missed in ubConfig login UI consider authenticationCert.requireUserName is false and do not ask for user name/password, only for key and password for key
  • UTableEntity: error r is not iterable. In case form did not generate local changes - the grid has just been refreshed
  • UTableEntity: sorting in table view now works (broke by 1.11.7)
1.11.7 2020-06-14 #
  • UTableEntity refresh grid data on any local update in form
  • UTableEntity fix missed loader appears for Tables without lookups during read/refresh data
  • UTableEntity compute correct label for filter on attribute of type Entity
1.11.5 2020-06-02 #
  • UTableEntity: date range filtering fixed
  • UDatePicker: prevent override of type property (before this type always === date)

@unitybase/adminui-pub #

Changed #

5.13.17 2020-06-14 #
  • if uiSettings.adminUI.useVueTables is empty or false in ubConfig then "Select from the dictionary" action of ExtJS based UBComboBox will show ExtJS based dictionary

Fixed #

5.13.17 2020-06-14 #
  • UBComboBox: prevent a monkeyRequestsDetected error in case 2 combobox are on the same form with the same filters

@unitybase/base #

Fixed #

5.2.10 2020-06-14 #
  • SyncConnection: prevent sending of second /auth request for UBIP authentication schema

@unitybase/blob-stores #

Fixed #

5.3.0 2020-06-15 #
  • FileSystem BLOB store - fix incorrect folder names for Monthly & Daily
    • month numeration now starts from 01 (instead 00)
    • day folder name generated as "day of month" (01, 02, .., 31) instead a "day of week" (01, 02, .., 07)

@unitybase/cs-shared #

Added #

5.4.0 2020-06-14 #
  • for server-side UBEntity a mixins list include rls and audit mixin definition if they defined for entity. Both rls and audit are hidden from client side for security reason. Before this patch rls and audit were unavailable even to the server side UBDomain.

@unitybase/ub-pub #

Added #

5.5.13 2020-06-24 #
  • SignatureValidationResult class extended by certificate.isDigitalStamp and organization.digitalStampName attributes
5.5.12 2020-06-14 #
  • ub-pub exports a xhr.allowRequestReiteration method - prevent a monkeyRequestsDetected error for a next query. Example:
 UB.xhr.allowRequestReiteration() // prevent a monkeyRequestsDetected for qury below in case 2 combobox are on the same form with the same filters
 UB.connection.select({
   entity: me.getEntity(),
   fieldList: store.ubRequest.fieldList,
   __allowSelectSafeDeleted: true,
   ID: id
 })

@unitybase/ub #

Added #

5.5.0 2020-06-14 #
  • App.launchRLS - a JS based RLS mixin helper for UB@5.18.4
  • RLS.allowForAdminOwnerAndAdmTable a functional RLS for filtering rows by ${entity}_adm subtable. To be used instead of "expression based RLS": ${$.currentUserInGroup(ubm_navshortcut,'Admin')} OR ${$.currentUserOrUserGroupInAdmSubtable(ubm_navshortcut)}. See ubm_navshortcut for usage sample.
  • rls.func property added to entity.schema.json

Fixed #

5.5.2 2020-06-15 #
  • fix getUniqKey is not a function during login (ubm_navshortcut RLS)

@unitybase/ubcli #

Changed #

5.5.13 2020-06-09 #
  • linkStatic command now does not start ub server and does not require user and password command line parameters anymore, but still requires ubConfig.json file.

Fixed #

5.5.14 2020-06-14 #
  • ubcli initialize command: added missed / in file path inside error message "File ... does not export function"

@unitybase/ubm #

Changed #

5.3.13 2020-06-14 #
  • ubm_desktop & ubm_navshortcut now use a "functional RLS" (require UB@5.18.4)

@unitybase/ubs #

Fixed #

5.4.6 2020-06-24 #
  • report template rendering: in case format function is called inside CONDITION block over primitive (number/string/Date) value first argument is ignored. This allows rendering blocks like this (all 3 line below is the same in case dateObj.dInner is of Date type:
{{#dateObj.dInner}}Terms: {{#$f}}"dateObj.dInner","dateTime"{{/$f}}{{/dateObj.dInner}}
{{#dateObj.dInner}}Terms: {{#$f}}"IGNORED AND CAN BE EMPTY","dateTime"{{/$f}}{{/dateObj.dInner}}
{{#dateObj.dInner}}Terms: {{#$f}}"","dateTime"{{/$f}}{{/dateObj.dInner}}
5.4.2 2020-06-14 #
  • ubs_messages.addUserFilters method is use UBQLv2 syntax for parameters (no functional changes)