ub-server #

Added #

5.7.5 2018-12-28 #
  • _App.globalCacheList function for ubs_globalCache virtual entity - expose a server-side global cache content (for debugging purpose)
5.7.4 2018-12-16 #
  • identifier validation for entity name and entity methods names - valid chars inside identifiers are ['0'..'9', 'A'..'Z', 'a'..'z', '_']
  • put first 1024 bytes of HTTP request body to log for application/xml content type (if HTTP in logging level) as already done for text and JSON
5.7.3 2018-12-12 #
  • roles, added to user security groups uba_group now added to user groupIDs and applied to ELS
  • new variable Session.uData.groupIDs - an array of user group IDs
5.7.1 2018-12-09 #
  • Unix Domain Socket support for both server - host in config can be specified as unix:/path/to/socket.sock) and http - URl can be specified as http://unix:/path/to/socket.sock:/uri/path

Changed #

5.7.5 2018-12-28 #
  • set Server http header to UnityBase (nginx will override it to nginx)
5.7.4 2018-12-16 #
  • BREAKING under Linux server consider local IP is a 127.0.0.1 only. To extend a local server IP addresses use "security.localIPs" entry in app config
  • several internal optimizations in SpiderMonkey interaction:
    • native UTF8 support - JS Object values now passed to JS engine as a UTF8 instead of UTF16 (with converting)
    • prevent double memory allocation for script text during require calls
  • Linux: server will unescape a JSON errors text before output it to console for better readability
5.7.3 2018-12-12 #
  • minor performance optimizations
  • JS debugger is temporary disabled for Workers threads
5.7.1 2018-12-09 #
  • huge performance boots (up to 50% on techempower benchmark) as a result of:
    • internal UBQL->SQL builder optimizations (+5-15% to performance)
    • speed-up creation of JS objects what based on native prototypes (the most important is TubDataStore) - new implementation does not copy native methods/props from prototype to JS instance (+25% to performance)
    • Session.reset & _timerLoop functions now called from native using their jsid instead of names (+1% to performance)
5.6.3 2018-12-03 #
  • UB.js now compiled into executable as a resource

Fixed #

5.7.5 2018-12-28 #
  • put to log correct description instead of empty lines for ELS/fileChecksum calls
5.7.4 2018-12-16 #
  • prevent potential GPF during parsing uData after Session.on('login')
  • in case OS level exception occurred in the authentication process server will be shutted down. Behavior is the same as in case of OS exception inside endpoint.
5.7.4 2018-12-15 #
  • unitybase/ub-server#22 - dates with 0 time should be serialized with T00:00Z suffix to be deserialize in FireFox and IE
5.7.2 2018-12-10 #
  • HTTP API base server will correctly handle RemoteIPHeader & RemoteConnID in production mode
5.6.4 2018-12-06 #
  • soft lock mixin message "Record with ID=doc_addresses for entity "3000019427301" is not locked" changed to "Record with ID=3000019427301 for entity "doc_addresses" is not locked"
5.6.3 2018-12-03 #
  • console.* inside Worker created from a Shell script (ub in command line mode) will output to console as expected (prev. implementation do nothing in this case)
  • improve console output performance on Linux by reduce syscalls count required for colored output
  • remove console artifacts for multiline output

@unitybase/adminui-vue #

Changed #

1.0.33 2018-12-04 #
  • vue loader registration is moved form adminui-vue to adminui-pub

Fixed #

1.0.33 2018-12-04 #
  • set ub-auth page title to the uiSettings.adminUI.applicationTitle just after got an application info

@unitybase/adminui-pub #

Changed #

5.6.19 2018-12-28 #
  • sped-up index.html generation by replacing resource versions calculation algorithm from md5 to version from package.json
5.6.18 2018-12-26 #
  • modal dialogs mask left-top position explicitly set to 0,0 - see [unitybase/ubjs!244] for details
5.6.17 2018-12-17 #
  • if several default (isDefault=true) forms exists for an entity UBFormLoader.getFormByEntity will return a form from model with the biggest model order. This allows to override default forms in descending models [unitybase/ubjs#30]
5.6.15 2018-12-07 #
  • use a new function AsyncConnection.setDocument for files uploading
5.6.13 2018-12-03 #
  • prevent entering a string with all whitespaces for required text fields by setting allowOnlyWhitespace to false for Ext.form.field.Text descendants inside Ext.form.field.Text.setAllowBlank overrided handler
  • default precision for Float attribute set to 6 (instead of 4)
  • default UI control for Float attribute now validate input
  • vue loader registration is moved form adminui-vue to adminui-pub

Fixed #

5.6.18 2018-12-26 #
  • error during table insertion in the ReportBuilder UI component
5.6.17 2018-12-17 #
  • allow negative values for fields with dataType currency or float

@unitybase/base #

Added #

5.1.1 2018-12-29 #
  • GC_KEYS dictionary to store all known by UB global cache keys (ot prefixes) in the single place
5.1.0 2018-12-12 #
  • handling of new authentication schema 'ROOT' in argv.establishConnectionFromCmdLineAttributes. Can be used in case client and server is the same process (client explicitly call startServer())
5.0.32 2018-12-09 #
  • default value (X-Conn-ID) for new reverseProxy.remoteConnIDHeader is added to argv.getServerConfiguration
5.0.28 2018-12-05 #
  • UBA_COMMON.haveAdminRole method is added - check logged in user is a member of admin role

Changed #

5.0.32 2018-12-09 #
  • SyncConnection.setDocument can accept optional dataEncoding parameter. Set it to base64 if content is a base64 encoded binary.
5.0.28 2018-12-05 #
  • UBA_COMMON.isSuperUser method now return true only is user is exactly admin or root. Prev. implementation return true for any user what member of admin role. Method is useful for example to prevent Session.on(login) event handlers for DDL generations
const UBA_COMMON = require('@unitybase/base').uba_common
Session.on('login', () => {
  if (UBA_COMMON.isSuperUser()) return
  // get data from other tables what may not exists while DDL is not ready

@unitybase/blob-stores #

Added #

5.0.29 2018-12-07 #
  • setDocument endpoint now can accept a BLOB attribute content as a base64 encoded string. In this case new parameter encoding=base64 should be added to setDocument URL. Content will be decoded before written to actual storing location. Also Sync & AsyncConnection's setDocument method is modified to support new parameter. Feature is useful for clients with limited binary (arrayBuffer) functionality, such as React Native

@unitybase/cdn #

Changed #

5.0.73 2018-12-06 #
  • restriction for CCEO (OKPO) length (8 or 10 chars) is removed from cdn_organization

@unitybase/cs-shared #

Added #

5.0.15 2018-12-12 #
  • support for new authentication schema 'ROOT'. Server side in-proc server only
5.0.14 2018-12-04 #
  • client side UBDomain will throw error in case attribute exists in i18n but not defined in entity. Output sample:
Error: Invalid i18n for entity "tst_document" - attribute "superOld" not exist in meta or it's dataType is empty
  • new constant UBDomain.FLOATING_SCALE_PRECISION === 6 to be used for DDL generation and UI scale precision for attributes of type Float

@unitybase/org #

Changed #

5.1.35 2018-12-12 #
  • since DDL generations now executed under root check for admin login
if (UBA_COMMON.isSuperUser()) return

is removed from org.js Session.on('login') handler

5.1.33 2018-12-05 #
  • use UBA_COMMON.isSuperUser() to prevent ORG.orgOnUserLogin from execution for admin or root because this users are used for DDL generation

@unitybase/adminui-reg #

Changed #

5.1.0 2018-12-28 #
  • sped-up index.html generation by replacing resource versions calculation algorithm from md5 to version from package.json
  • re-generation of cached index.html based on file system changes events is removed. In case developer change an index.html mustache template or update an application packages server should be restarted to apply a new changes

@unitybase/ub-pub #

Added #

5.2.23 2018-12-07 #
  • new function AsyncConnection.setDocument to easy call a setDocument endpoint

@unitybase/ub #

Added #

5.1.0 2018-12-12 #
  • Session.uData.groupIDs property - an array of group IDs user id assigned to

Changed #

5.1.0 2018-12-12 #
  • initial values of Session.uData now filled inside JS Session._getRBACInfo (@unitybase/ub) instead of duplication of code inside UB server and @unitybase/uba model
  • in case user is a member of security group (uba_group / uba_usergroup) then roles assigned to this groups will be added to the user roles. ELS for such a roles will be also applied to user. UB server must be upgraded to >= 5.7.3
  • uData employeeShortFIO & employeeFullFIO now initialized from uba_user.firstName & uba_user.fullName. In case org model is in domain then it will override employeeShortFIO & employeeFullFIO

Fixed #

5.1.1 2018-12-17 #
  • DataStore.initialize will correctly init store from a flatten format in case rowCount = 0 [unitybase/ubjs#31]

@unitybase/uba #

Changed #

5.1.7 2018-12-11 #
  • UBA model Session.on('login') handler now check advanced security only. All required uData properties are filled in UB model Session._getRBACInfo method (called by server during authorization stage)

Fixed #

5.1.7 2018-12-11 #
  • Write to security audit when group gets or lost a role
  • Write to security audit when user is added/removed to/from group
  • Added localization to uba_group entity for en/uk/ru

@unitybase/ubcli #

Added #

5.2.6 2018-12-09 #
  • generateNginxCfg now support reverseProxy.remoteConnIDHeader and in case it is not empty adds a proxy_set_header {{remoteConnIDHeader}} $connection; section to nginx config
5.2.4 2018-12-04 #
  • DDl generator will use floating scale precision from UBDomain.FLOATING_SCALE_PRECISION constant (6 by default)

Changed #

5.3.0 2018-12-12 #
  • generateDDL command now work under root system account and can be executed only locally. -u and -p command line switches not used anymore.
npx ubcli generateDDL -cfg $UB_CFG -autorun

Since root auth schema do not fire Session.on('logon') event developers can remove conditions for DDL generation (when database is not fully created yet)

 if (Session.userID === UBA_COMMON.USERS.ADMIN.ID) return

from Session.on('logon') handlers

5.2.6 2018-12-09 #
  • in case invalid command is passed to ubcli human readable error will be shown
5.2.4 2018-12-04 #
  • BREAKING change default floating scale precision from 4 to 6
  • initDB will ignore -host parameter (always used a host from config)
  • initDB will ignore -u parameter (always used a admin)
  • initDB will set a default password for user admin as specified in -p command line parameter. Previous implementation always set the admin password to admin

@unitybase/ubm #

Changed #

5.1.0 2018-12-29 #
  • ubm_form & ubm_diagram cache now flushed for all thread in case insert or update is called. This solve possible error when form/diagram created in one thread not visible to other until server restart

@unitybase/ubs #

Added #

5.1.40 2018-12-28 #
  • ubs_globalCache virtual entity - expose a server-side global cache content (for debugging purpose)
5.1.37 2018-12-14 #
  • in case reportOptions.showParamForm is true, reportViewer will always display the report parameters form, otherwise, the report parameters form will be displayed only if the report option reportParams is empty (false by default)
$App.doCommand({
 cmdType: 'showReport',
 cmdData: {
   reportCode: 'your-report-code',
   reportType: 'html',
   reportParams: {a: 'b'},
   reportOptions: {
     showParamForm: true
   }
 }

Changed #

5.1.40 2018-12-28 #
  • add a warning about unnecessary @report_code and @ID metadata in the report template files; ubs_report virtual entity ignore this template attributes and calculate it from template file name
  • ubs_report cache now flushed for all thread in case insert or update is called. This solve possible error when report created in one thread not visible to other until server restart

Fixed #

5.1.40 2018-12-28 #
  • Report editor form: fix unexpected report code cleanup on saving report
  • Report editor form: add a TIP about changing report code; set a report code to read-only for existing reports
5.1.39 2018-12-27 #
  • syntax errors in the report initial template
  • report saving

@unitybase/pdf #

Added #

5.0.14 2018-12-27 #
  • Arial GEO bold italic registration corrected
5.0.13 2018-12-14 #
  • New font set with Georgian language support for formatted pdf generation - Arial GEO