ub-server #

Added #

5.18.10 2020-07-30 #
  • LDAPv3 protocol support added for LDAP authorization
5.18.9 2020-07-27 #
  • added support for --preserve-symlinks command line switch (see https://nodejs.org/api/cli.html#cli_preserve_symlinks).
  • new UBQL parameter __skipSelectBeforeUpdate: if added mStorage mixin don't execute select before execution of update. As a UNSAFE side effect update don't check record is accessible to user and if Audit mixin is implemented for entity it will insert empty OldValue.
  • added logging of OPTIONS HTTP requests (Cross-origin, WebDav etc.)
5.18.8 2020-07-08 #
  • getDomainInfo returns entity.isManyManyRef: true for many-to-many storage table of "Many" attribute

Changed #

5.18.9 2020-07-27 #
  • compiler optimization level changed to -O2 to prevent potential GPF as reported in https://bugs.freepascal.org/view.php?id=37305
  • server can be compiled without installing Lazarus - LCL is enough
  • under Windows please use a default Lazarus setup from https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%202.0.10/
5.18.8 2020-07-08 #
  • in case of exception fs.renameSync include both path into error message. This simplifies debugging (mostly for BLOB stores). Error messages is:
// after fix
 Error: OS error 2: No such file or directory, rename '/tmp/renameErrnotExists.file' -> '/tmp/renameErrnew.file'
 // before fix
 Error: System error, (OS Code 2): 
 No such file or directory

Fixed #

5.18.10 2020-07-30 #
  • prevents crash during loading of huge domain in _nativeInitEntity function (due to GC)
  • under Linux UBLDAP authorization allows non-english characters in a password (LDAPv3). On client side implemented in @unitybase/ub-pub@5.4.25
  • logs an actual domain entities count in the message "The domain loaded successfully with XXX entities" instead of 0
5.18.9 2020-07-27 #
  • Secure; HttpOnly; flags added into UB_session cookie to prevent Reject insecure SameSite=None cookies error in chrome
  • Socked based server (Linux): removed 10 second delay on HTTP requests without Content-Length header. This should fix slow WebDav access on some environments.
  • logging: put server logs into files when server started from a console script (startServer() called in JS) and logging to file is configured in ubConfig. This fix regression from UB 5.18.8
5.18.8 2020-07-08 #
  • getDomainInfo returns entity.isFTSDataTable: true only for FTS storage entities. For other entities' property do not returned at all. This reduces domainInfo response size.
  • in case console / evaluate script ends with exception then message is written to console once (twice before this fix)
  • prevent creation of -.log file in the current directory in case console / evaluate script ends with exception
  • in case of error inside native code called from JS UB will output full JS call stack. For example:
// after fix
System error, (OS Code 2):
No such file or directory 
renameSync@fs.js:340:10 
func2@/home/pavelmash/tmp/renameErr/renameerr.js:9:3 
func1@/home/pavelmash/tmp/renameErr/renameerr.js:4:3 
module.exports@/home/pavelmash/tmp/renameErr/r.js:4:3 
@/home/pavelmash/tmp/renameErr/r2.js:2:
// before fix
Error: System error, (OS Code 2): 
No such file or directory 
@/home/pavelmash/tmp/renameErr/r2.js:2:1 
@shell.js:1:1 
  • SoftLock mixin allows getting lock result for select in case where('ID', '=', number) exists in where list; Behavior is the same as in case mParams.ID = number exists. This fix Not found parameter "ID" on root level for Vue based form opened from a collection in case ID not in top-level but in filer and lockAttribute not in fieldList.

@unitybase/adminui-vue #

Added #

1.12.2 2020-07-26 #
  • UTable: new slot appendTable - rendered below the table and can be used as a table footer
  • UFile: additional param file to the beforeSetDocument hook
  • UFileInput improvement allows to use a control as independent file selection (for example to select files for import, select PKI key etc.):
    • new properties placeholder & selectedPlaceholder allows change text what displaying in case file(s) is not selected / selected
    • in case some files are selected it names are displayed behind selectedPlaceholder instead of placeholder
    • in case accept prop is not empty then allowed file types displayed after placeholder
    • v-model support
  • UToolbar: handler for showAccessRights action added for entities with aclRls mixin
  • lookups new helper method getEnum. It has 2 params eGroup, code. Example: this.$lookups.getEnum('AUDIT', 'INSERT')
1.12.1 2020-07-19 #
  • Vue.prototype.$formatByPattern which provides format methods from cs-shared. Example:
this.$formatByPattern.formatNumber(
  this.total,
  'numberGroup',
  this.$UB.connection.userLang()
1.11.13 2020-07-15 #
  • new icons: u-icon-signature, u-icon-file-signature
  • actions column to SignatureVerificationResult dialog
  • @unitybase/adminui-vue exports magikLinks - instance of adminui-vue/utils/magicLinks.js
1.11.12 2020-07-08 #
  • new icons: photo and scan-settings
  • new css class .u-divider vertical split for buttons or something else
  • new component UFileMultiple: See documentation here
  • new BLOB-store related buttons. Can be used as a slots in: UFile, UFileMultiple or UFileCollection:
    • UFileAddButton
    • UFileDownloadButton
    • UFileRemoveButton
    • UFilePreviewButton
    • UFileScanButton
    • UFileScanSettingsButton
    • UFileWebcamButton
    • UFileFullscreenButton
  • UTableEntity: added conditions notEqual, notContains for filters with type Enum and Entity

Changed #

1.12.2 2020-07-26 #
  • UBaseInput: change default value for precision to undefined (instead of 0). If precision is not defined UBaseInput do not round a value for inputs of type number - only transform it into Number before emitting input event.
1.12.0 2020-07-16 #
  • BREAKING UB.conenction event <ENTITY_NAME>:changed payload is a single response (instead an array of responses as before)
1.11.13 2020-07-15 #
  • elementUI theme build is moved out of "build" script (into "build:el-node11" job). Compiled element theme is added into git. This allows to bootstrap a ubjs project using node>11.
  • UButton: text sizes changed according design-system
1.11.12 2020-07-08 #
1.11.11 2020-07-01 #
  • SignatureVerificationResult UI consider signature is valid even in case it is of type EU_SIGN_TYPE_CADES_C (ocspVerified===false)
  • --hs-warning color changed to me more close to yellow

Fixed #

1.12.3 2020-07-29 #
  • UMasterDetailView: added max detail height limit (75%). This fix issue when master table contains one or two rows and details expands on full view.
1.12.2 2020-07-26 #
  • UTableEntity: bottom pagination button for tables is centered on a current viewport, so visible even in case of many columns in table
  • UTableEntity: bottom pagination button is hidden in case next page is unavailable
  • UNavbar collapse button background color is bound to USidebar background.
  • UFile - use danger border color for UFile placed inside UFormRow what in error state
  • UBaseInput prevent error border around input in Firefox by changing default values for prop step="any" (instead of 1)
  • el-theme rebuild theme with actual css variables (uses the same colors for warning, prmary text and borders in El controls as for U controls)
1.12.1 2020-07-19 #
  • UTableEntity vertical align of inputs in filter is fixed by decreasing a size of the search button
  • UTableEntity will remove record from a table after deleting as expected
  • UTableEntity - fixed error during "copy record" what contains attributes of type JSON
  • USelectEntity - do not call a setQueryByValue in case dropdown is closed and user click outside USelectEntity
1.12.0 2020-07-16 #
  • UTableEntity in case of changes form with collection items does bnot empty rows anymore
  • UTableEntity and lookups will update all attributes during <ENTITY_NAME>:changed event instead of modified ones.
  • UTableEntity "copy record" does NOT copy arttributes of type Document (behavior is the same as in Ext-based table)
1.11.13 2020-07-15 #
  • UFileWebcamButton prevent error on iOS (Safari) getUserMedia of undefined
  • UAutoField property required does not passed to UFormRow component
  • UTableEntity: in case filter for String column is applied and user click on a column of type Entity and when back on String column filter input for string is not hiding
  • UFile now refresh iframe after value was changed, for example in case PDF is regenerated
1.11.12 2020-07-08 #
  • UGrid, UFormContainer: wrong declaration of provided property maxWidth
  • UTableEntity: total now formatted as number with a thousand separators
1.11.11 2020-07-01 #
  • UBaseInput in case type="number" prevent rounding before leave focus. This is a temporary solution to allow input of numbers with fraction starting with 0 (2.03)

@unitybase/blob-stores #

Changed #

5.3.3 2020-07-08 #
  • ESLint warnings resolved (no functional changes)

Fixed #

5.4.0 2020-07-15 #
  • for attributes of "Document" type if store name is empty then name of the default store MUST be written to DB instead of empty string. This allows to add another default store (mounted to another fs for example) and access documents from previous store definition. Fixed regression introduced in UB 4.

@unitybase/cdn #

Removed #

5.4.20 2020-07-08 #
  • unused csv data cdn_bank.csv, cdn_deptype.csv, cdn_orgbusinesstype.csv, cdn_orgownershiptype.csv, cdn_staffunittype.csv are deleted

Fixed #

5.4.26 2020-07-29 #
  • cdn_orgaccount: allow null for currencyID attribute (milty-currency accounts)
  • cdn_orgaccount: added default value for acctype = CORR

@unitybase/compressors #

Changed #

5.1.33 2020-07-26 #
  • building of native code depend on LCL
5.1.32 2020-07-19 #
  • building of native code does not depends on lazarus (fpc is enough)

Removed #

5.1.33 2020-07-26 #
  • cross-compilation from Windows to Linux is removed - use linux build environment to build both Win64 & Linux tagrets

@unitybase/cs-shared #

Added #

5.5.1 2020-07-26 #
  • documentation for __skipSelectBeforeUpdate CustomRepository.misc flag (added in UB@5.18.9)
5.5.0 2020-07-19 #
  • @unitybase/cs-shared/formatByPattern.setDefaultLang function - set a default language. Called by AsyncConnection automatically.
  • @unitybase/cs-shared/formatByPattern.collationCompare function - compare two value using default language. This function allows correct string sorting for non-english languages.
5.4.1 2020-07-01 #
  • UBEntity.isManyManyRef property added. true in case this is many-to-many relation table for storing values of attributes of "Many" type.

Changed #

5.5.0 2020-07-19 #
  • formatByPattern.formatNumber & formatByPattern.formatDate without language parameter uses default language defined by call to formatByPattern.setDefaultLang

Fixed #

5.5.1 2020-07-26 #
  • force numeric: true for Intl.Collator(lang, { numeric: true }). For en this is not necessary, but for uk without forcing numeric numbers compared as strings.

@unitybase/mailer #

Changed #

5.3.2 2020-07-26 #
  • building of native code depend on LCL
5.3.0 2020-07-15 #
  • building of native code does not depend on lazarus (fpc is enough)

Removed #

5.3.2 2020-07-26 #
  • cross-compilation from Windows to Linux is removed - use linux build environment to build both Win64 & Linux targets

Fixed #

5.3.0 2020-07-15 #
  • remove exception _bt is not defined in case @unitybase/mailer is not compiled (lerna bootstrap on the machine where fpc is not installed). In this case server output warning UBMail is not compiled to console and continue execution.

@unitybase/adminui-pub #

Changed #

5.13.28 2020-07-26 #
  • double-click on entity inside ER Diagram opens Vue base entity editor ubm_form-entityEdit. Previous implementation did such only in case UBDEV model (obsolete) is in the domain.
5.13.24 2020-07-08 #
  • optimization: removed global selectstart listener (ExtJS legacy for IE)

Removed #

5.13.28 2020-07-26 #
  • ExtJS based entity editor is removed (obsolete) in flavor of Vue based ubm_form-entityEdit

Fixed #

5.13.26 2020-07-16 #
  • fixed removing two rows in ubDetailGrid after execute delete action in row created by addNewByCurrent action
5.13.25 2020-07-15 #
  • correct layout re-rendering after window orientation changed in Safari(iOS)
  • $App.scan can accept 'TIFF' or 'PDF' as second parameter (in addition to 'JPEG') - this allows override default scn result type

@unitybase/ub-pub #

Added #

5.5.18 2020-07-29 #
  • ub-pub now exports a CryptoJS instance (included modules are enc-base64, sha256, md5)
  • enc-base64 module added to CryptoJS instance. Available as UB.CryptoJS.enc.Base64.
5.5.16 2020-07-19 #
  • AsyncConnection.runTrans method will add a method names into post request URL (the same as AsyncConnection.query), so request become POST /ubql?rq=entity1.method1*entity2.method2.
  • AsyncConnection will call @unitybase/cs-shared.formatByPattern.setDefaultLang during user session creation. This enables string sorting according to locale and allow calling of formatByPattern.formatNumber & formatByPattern.formatDate without language parameter (user language will be used).

Changed #

5.5.14 2020-07-01 #
  • translation for ocspVerified.no changed to "Not for long-term validation (certificate validation result NOT included into signature)"

Fixed #

5.5.18 2020-07-29 #
  • allows to encode a non-english passwords for UBLDAP auth by using base64 from CryptoJS instead of btoa in AsyncConnection. This fix error "String contains an invalid character" in case password contains non-english letters. From a server side UTF8 LDAP password support is added in UB@5.18.10
5.5.17 2020-07-26 #
  • fixed missed localization for Select device caption on @ub-d/iit-sign-web/IitReadPk.vue form
  • prevent sets of connection.domain to null in case onGotApplicationDomain handler is passed to AsyncConection.connect and implementation do not return domain
  • for cached entities ClientRepository will automatically adds attributes what used in where/order but missed in fieldList. This fix [#107]. WARNING - this operation mutate fieldList, so result can contains additional attributes, not listed in .attrs() calls
    UB.Repository('ubm_enum').attrs('name').where('code', '=', 'INSERT').orderBy('ID').select().then(console.table)
    // result contains `ID, code, name` instead of `name` only 
    // [{ID: 333742612906169, code: "INSERT", name: "Insert"}]
    
  • i18n for Select key media
  • i18n Ukrainian for Реєстрація нового сертифікату -> Реєстрація нового сертифіката
5.5.16 2020-07-19 #
  • rq parameter value for AsyncConnection.runTrans or buffered AsyncConnection.query requests takes into account the same method calls sequences to use such names once. Also, limits methods count to 20 methods ( max 20*41=820 characters ). This fix situation when long URLs are rejected by reverse proxy. For example for sequence of 3 call to UB.connection.query({entity: 'uba_user', method: 'addnew'}) previous implementation generate POST /ubql?rq=uba_user.addnew*uba_user.addnew*uba_user.addnew, but new - POST /ubql?rq=uba_user.addnew*3

@unitybase/ub #

Added #

5.5.8 2020-07-16 #
  • Unix Domain Socket configuration notes added to the ubConfig.schema

Fixed #

5.5.11 2020-07-28 #
  • show correct JS exception with trace in case domain transformation hook broke some entities
5.5.8 2020-07-16 #
  • RLS.allowForAdminOwnerAndAdmTable (used in ubm_desktop & ubm_navshortcut RLS) take into account user groups, so Groups can be added to shortcut permissions

@unitybase/uba #

Fixed #

5.4.24 2020-07-28 #
  • TOTP (Google Authenticator) One Time Password verification fixed to allow up to (inclusive) 90 second shift between the server and a caller. Because of arithmetic mistake previous implementation validate correctly only up to (but not inclusive) +-30 second shift.

@unitybase/ubcli #

Fixed #

5.6.0 2020-07-16 #
  • ubcli generateNginxCfg: in case httpServer.host is a Unix Domain Socket (unix:/path/to/file.socket) move it to nginx upstream config as is (without trying to url.parse it)
  • ubcli generateNginxCfg: adds Access-Control-Allow-Origin for internal location in case CORS is allowed and client request contains Origin: header. Without these changes internal location ignores Access-Control-* headers generated by server, so cross origin clients can't retrieve a document content.
5.5.19 2020-07-01 #
  • prevent generation of many-to-many table (storage for attributes of "Many" type) twice in case associationManyData property starts with entity name

@unitybase/udisk #

Added #

5.0.137 2020-07-28 #
  • added new attributes objectID and objectEntity into udisk_card for further integration with the Scriptum system
  • rewritten form opening by double click on file

@unitybase/openid-connect #

Added #

5.1.20 2020-07-15 #
  • support for ADFS3 (Windows Server 2012 only - in Windows Server 2016+ ADFS version is 2016):
    • added providerConfig.resource - requested resource
    • providerConfig.client_secret can be omitted