ub-server #

Added #

5.4.4 2018-10-27 #
  • new command line switch -cd (or in long form --console-debug) will force server to output ALL logging levels to console (and to files if logging.path is not empty). Very useful for debugging. Just run ub -dev --console-debug and regardless of the logging levels specified in the config you will see all the logs in the console
  • new command line switch -cl a short form of --console-log. If passed server will output to console logs, specified in server logging.levels config parameter
5.4.3 2018-10-21 #
  • endpoint getDomainInfo will return model.version taken from model package.json. UBDomain will use this property to fill UBModel.version attribute in server and client side js.
5.4.1 2018-10-09 #
  • add missing logging of 301 & 401 responses
5.4.0 2018-10-08 #
  • incoming request queue is added for a Socket based HTTP server. ubConfig.httpServer.requestQueueLength now work for Linux also. The default value of 1000 is for stand alone server. In case of server farm with load balancing we recommend do set ubConfig.httpServer.requestQueueLength: 100 and setup proxy_pass directive like this:
   location / {
     proxy_pass              http://balancing_upstream;
     proxy_next_upstream     error timeout invalid_header; # in case UB queue do not accept connection redirect to next upstream
     proxy_connect_timeout   2; # in case UB queue is overflow wait for 2 secont 
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }

Changed #

5.4.5 2018-10-30 #
  • server will not echo logs to debugger console (FF or VSCode) anymore. Use ub -cd -dev for output all logs into to terminal window
  • speedup JS debugger
  • speedup server in -dev mode (do not queue debugger messages into internal memory queue if debugger is not attached)
5.4.4 2018-10-27 #
  • logging.path config parameter default value now empty string. Specifying of empty logging path force server to disable file logging (console still work - see below)
5.4.3 2018-10-21 #
  • allows to specify not existed or empty logging.path in config in case logging.levels === []. Useful in cases when all logs are redirected to stdout/stderr using ub --console-log
  • if reverseProxy.kind === nginx then default values for reverse proxy config are:
    • reverseProxy.remoteIPHeader: 'X-Real-IP'
    • reverseProxy.sendFileHeader: 'X-Accel-Redirect'
    • reverseProxy.sendFileLocationRoot: HTTPServer.externalURL.hostname with dots replaced to '-' (http://myhost.com - > myhost-com) Please, upgrade @unitybase/ub to at last @5.0.46 to default values work properly.
5.4.2 2018-10-19 #
  • log files now use LF as line end (before this pathc CR)
  • disable colorizing of output in case stdout is redirected to not a TTY
5.3.4 2018-10-06 #
  • properties userRoles & userRoleNames are removed from Native session binding object process.binding('ub_session') and calculated from Session.uData in JS implementation of Session
5.3.2 2018-10-01 #
  • BREAKING support for running UB as Windows Service is removed. We recommend to use NSSM or pm2 as process manager or other windows tools to wrap applicatin as Windows Service.

Fixed #

5.4.5 2018-10-30 #
  • server hang when closing debugger while on breakpoint
  • FF hang in long-term debug session (by disabling echo of server-side loggs to FF console)
  • clobTruncate mixin will remove BOM from blob content before converting it to string
  • clobTruncate mixin will remove incomplete UTF8 sequences in the end of result string
5.4.4 2018-10-27 #
  • critical Disk IO operation will throw in case of OS level errors (no disk space, for example). Previous implementation created zero size files in this case.
5.4.3 2018-10-21 #
  • SQLite3 SQL Builder will build valid SQL expression for selection of attribute linked to many conn.Repository('tst_maindata').attrs('ID', 'manyValue.caption').select()
5.4.1 2018-10-09 #
  • Fix ~ -70 second time shift for 'mi_modifyDate', 'mi_createDate', 'mi_deleteDate' attributes
5.3.5 2018-10-07 #
  • fix regression introduced in ub@5.3.2 - in case server is started in console mode process.startupMode must be Console. In other cases (ub -?, ub pathToJS.js) process.startupMode === 'CmdLine'
5.3.4 2018-10-06 #
  • Windows only: prevent "pausing" of a server when user click inside server console by disabling console extended mode. To copy text from console output to clipboard use a Edit -> Mark from console window menu or press Ctrl+M and use mouse to select text
5.3.3 2018-10-04 #
  • mStorage.beforedelete method (executed before every delete) will keep attributes types. Previous implementation lost field types, so code below return ID as String instead of Int64
function doAfterDelete (ctxt) {
  let store = ctxt.dataStore
  let dataName = store.currentDataName
  store.currentDataName = TubDataStore.DATA_NAMES.BEFORE_DELETE
  let staffUnitID = store.get('staffUnitID') // HERE IF FIXED. Befiote this path (typeof staffUnitID === 'String'), after (typeof staffUnitID === 'Number') as expected
  store.currentDataName = dataName
  me.updatestaffunitcaption(staffUnitID)

This patch fix [unitybase/ubjs#14] (cannot delete org_employeeonstaff)

@unitybase/adminui-vue #

Added #

1.0.26 2018-10-29 #
  • vue based login now support onNeedChangePassword connection event and display the password change form to the user

Changed #

1.0.26 2018-10-29 #
  • element-ui is upgraded to 2.4.9

@unitybase/base #

Added #

5.0.27 2018-10-20 #
  • add name property to Worker for better debugging experience

Changed #

5.0.27 2018-10-20 #
  • argv.getServerConfiguration will transform blobStore.path & blobStore.tempPath to absolute path If path is relative it will be transformed to absolute starting from process.configPath. So now paths inside App.serverConfig.application.blobStores is absolutes.
  • argv.getServerConfiguration will add default for httpServer.externalURL
  • if reverseProxy.kind === nginx then default values for reverse proxy config are:
    • reverseProxy.remoteIPHeader: 'X-Real-IP'
    • reverseProxy.sendFileHeader: 'X-Accel-Redirect'
    • reverseProxy.sendFileLocationRoot: HTTPServer.externalURL.hostname with dots replaced to '-' (http://myhost.com - > myhost-com) Please, upgrade ub server to at last 5.4.2 to default values work properly.
5.0.26 2018-10-20 #
  • ServerRepository.selectSingle now accepts an optional fieldAliases parameter, which works just like in selectAsObject

@unitybase/blob-stores #

Fixed #

5.0.22 2018-10-12 #
  • SECURITY getDocument endpoint will check user have ELS right to entity select method before getting document ID. Without this patch in case entity do not use RLS unauthorized access to document is possible
  • for file system based BLOB stores setDocument will throw error in case no disk space left and remove corrupted temp file. The previous implementation could create zero-length or corrupted files without any exception.

@unitybase/cs-shared #

Added #

5.0.12 2018-10-23 #
  • UBModel.version attribute added. Accessible inside client and server. Version is taken from model package.json version key. Empty in case package.json not found or version is not specified. UB server must be >= 5.4.3

@unitybase/org #

Changed #

5.1.22 2018-10-08 #
  • creation of org_staffunit.caption will add all assigned staffs names to caption except assignments with type ASSISTANT.
    Prev. implementation adds only assignments with employeeOnStaffType PERMANENT & TEMPORARY which led to problems when adding a new assignments types to enum with code CDN_EMPLOYEEONSTAFFTYPE

Fixed #

5.1.19 2018-10-04 #
  • generation of org_employeeonstaff.caption: in case org_employee.shortFIO is empty - use org_employee.lastName [unitybase/ubjs#14]. Deletion of org_employeeonstaff is fixed inside server ( ub >= v5.3.3)

[@unitybase/systemjs-plugin-vue-ub]([object Object]) #

Added #

1.2.2 2018-10-29 #
  • prepublish script added for creation minimised version of plugin into dist folder before publishing

@unitybase/adminui-pub #

Changed #

5.6.4 2018-10-25 #
  • BREAKING change - UBStore.reload(callback) is obsolete and will throw error. Promise style call should be used instead store.reload().then(...).

Fixed #

5.6.4 2018-10-25 #
  • UBStore will load linkedItemsLoadList before loading main store data. This fix displaying of empty lookup columns in EntityGridPanel in case depended stores (for lookup data) query is slower when query to the store.
  • remove potential second query for UBStore from EntityGridPanel boxready handler by set store.loading = true
5.6.2 2018-10-05 #
  • grid export to HTML - empty (null) Float/Currency/Int now exported as empty cell instead of "NaN"
  • regression in generation grid column caption for EntityGrinPanel

@unitybase/ub #

Changed #

5.0.44 2018-10-06 #
  • $.currentUserOrUserGroupInAdmSubtable RLS macros will add all user roles including pseudo-roles Everyone User & Anonymous Previous implementation did not check pseudo-roles
5.0.43 2018-10-05 #
  • docflow related legacy code is removed from RLS.js (known as $ in "rls" mixin expression)

Fixed #

5.0.45 2018-10-09 #
  • CRITICAL endpoints models, clientRequire & static will return Bad Request in case of access folder (not a file). Explanation: This patch prevent exposing of internal location to caller in case nginx is used as a reverse proxy. The problem is how nginx handle location - see last paragraph of nginx location documentation. In case our endpoints return 200 with X-Accel-Redirect: path/to/folder inside internal location, then nginx will redirect client (return 301) to path/to/folder + / with internal location inside. For example without this patch request to http://localhost/models/UB/schemas will redirect client to https://localhost/ubstatic-unitybase-info/app/node_modules/@unitybase/ub/public/schemas/ with 404 and expose to caller our internal folders structure.

@unitybase/uba #

Changed #

5.1.0 2018-10-06 #
  • Pseudo roles Everyone, Anonymous (if user is not logged in) or User (if logged in) are added to Session.uData.roles & Session.uData.roleIDs. In prev. implementation uData not contains this roles

Fixed #

5.1.0 2018-10-06 #
  • fix logging of security violation in case user without admin role try to change password for another user

@unitybase/ubcli #

Added #

5.1.0 2018-10-03 #
  • ubcli generateDDL now support Json type attributes

Changed #

5.1.4 2018-10-18 #
  • ubcli generateNginxConfig now use httpServer.externalURL from server config for generation of nginx proxy server_name.
  • many improvements to nginx config generated ubcli generateNginxConfig - we recommend to recreate reverse proxy configs after upgrading ub server and all packages.

Fixed #

5.1.4 2018-10-18 #
  • ubcli initDB -drop for SQLite3 will also delete possible WAL logs (-wal and -shm files)
  • ubcli generateNginxConfig will add expire and Cache-Control for internal locations to force browser to check resources on server is actual. For DEV modes set expires to 0 in ../app internal location
5.1.2 2018-10-05 #
  • [unitybase/ubjs#15] - Postgre DDl generator must use SELECT nextval('${sequenceObj}') for sequence incrementing
5.1.0 2018-10-03 #
  • database initialization scripts will create DDL for uba_els.code & uba_els.ruleType as NVARCHAR instead of VARCHAR as in current metadata
  • return back creation of sequences for cached entities (lost during ub1.12 -> ub5 migration). This patch speed up getting of cached entities cache version (especially for large tables) and fix [unitybase/ubjs#15] for all DB except SQLite3

@unitybase/ubm #

Changed #

5.0.61 2018-10-06 #
  • because of fix in $.currentUserOrUserGroupInAdmSubtable RLS macros rights for ubm_navshortcut & ubm_desktop now can be granted to Everyone User Anonymous

@unitybase/ubs #

Changed #

5.1.25 2018-10-17 #
  • ReportViewer - styles for td,th is removed, so now table header will use body style (see ReportViewer.js line 6)

@unitybase/ub-pub #

Added #

5.2.17 2018-10-27 #
  • UBConnection will handle a 413 Request Entity Too Large server-side error response and raise a UB.UBAbort message. Such response occurs when user try to upload big files and server works behind nginx. To increase allowed payload size use ubcli generateNginxCfg -maxDocBody XXXm

Changed #

5.2.16 2018-10-07 #
  • @unitybase/ub-pub/UBConnection module is renamed to AsyncConnection. Code what import connection directly like conn = require('@unitybase/ub-pub/UBConnection') should use conn = require('@unitybase/ub-pub').UBConnection instead

Fixed #

5.2.14 2018-10-05 #
  • UBConnection.update and UBConnection.insert should not stringify null values - in other case null become "null" string
  • [unitybase/ubjs#16] - default indexedDB name is changed from / to ub, because FF can't create indexedDB with name /