ub-server #

Added #

5.17.10 2020-01-17 #
  • server can return result of a single ubql in CSV or HTML format (in addition to MS Rowset and ODS) depending on Content-Type request header value
const contentType = 'text/html; charset=UTF-8' // result will be HTML table
// const contentType = 'text/csv; charset=UTF-8' // result will be tab separater CSV
// const contentType = 'application/vnd.oasis.opendocument.spreadsheet' // result will be LibreOffice spreadsheet (Excel)
// const contentType = 'text/xml; charset=UTF-8' // result will be in 'schemas-microsoft-com:rowset' XML format (ADODB.Recodrset)
connection.xhr({
  method: 'POST',
  url: 'ubql',
  data: [repo.ubql()],
  responseType: 'blob',
  headers: { 'Content-Type': contentType }
}).then(res => {
  window.saveAs(res.data, `${this.entityName}.${resultFileExtension}`)
  • new property sessionBinding.zone - security zone for UB EE. Empty for SE
5.17.9 2020-01-12 #
  • global function nhmac_sha256(secret, data)
  • App.endpointContext - an object what can be used to cache some data for a single endpoint execution. Server will reset it to {} after endpoint finished (or throw)
  • redisClient binding (alpha): added reconnection timeout and cleanup after connection errors
5.17.8 2020-01-03 #
  • Buffer.cpFrom(str, encoding) - convert a string to specific encoding
 const buf = Buffer.cpFrom('Привет!', 1251)
 console.log(buf) // <Buffer cf f0 e8 e2 e5 f2 21>

Changed #

5.17.9 2020-01-12 #
  • Negotiate (both Kerberos and NTLM) authentication will use random secret instead of user name for signing session. Secret key is generated inside server process /auth endpoint during 2-nd negotiation stage and returned in X-UB-Nonce header value to client.
5.17.8 2020-01-03 #
  • warnings for ELS rules what does not match any method are:
    • grouped up to 3Kb string instead output one-by-one
    • appears only in dev mode
  • x10 speed up of ELS rules initialization (for a domain with 900 entities and 8000 rules old time ~5 sec, new ~0.7 sec)

Removed #

5.17.10 2020-01-17 #
  • libtbb dependency is removed from both deb & rpm packages
5.17.9 2020-01-12 #
  • javascript.timeout config property is removed

Fixed #

5.17.10 2020-01-17 #
  • SQLite3 database: prevent self-circling of 'tree' mixin in case of parentID recursion (all other supported RDBMS already catch such error)
5.17.9 2020-01-12 #
  • FTS: prevent AV in case FTS connection advSettings configured to use steamer but stem=no parameter added Tokenizer=stemka,TokenizerParams=\"stem=no\"; In such cases better to not use tokenizer at all.

@unitybase/adminui-vue #

Added #

1.9.18 2020-01-17 #
  • UTableEntity: added beforeAddNewcallback which will be emitted before addNew
  • showList command supports for cmdData.repository - an ubql object
  • UTableEntity store getter currentRepository - returns repository with added filters, sorters, pagination and total requests from state
  • new actions "export to Excel|HTML|CSV" added to UTableEntity toolbar "All actions" menu. Require UB server @5.17.10
  • new component UGrid container for align form elements into columns - a wrapper for display: grid;. Recommended to use instead of <el-row> <el-col>. Usage samples are added into UGrid.vue file
1.9.17 2020-01-11 #
  • UTable new param padding for column settings. All cells by default have padding 16px
<u-table 
  :columns="[{ 
    id: 'color', 
    padding: 0, 
    maxWidth: 4px
  }, {
    id: 'document'
  }]" 
  • UFileInput - format validation of dragging files
  • USelectEnum prop clearable. Adds clear icon, false by default
1.9.16 2020-01-03 #
  • SignatureValidationResult.warnings attribute added
  • FontAwesome5 Free regular icon set added (far prefix)
1.9.15 2020-01-03 #
  • default slot for UAutoField. Can hold content what renders in the same u-form-row
  <u-auto-field attribute-name="SQL">
    <div class="u-form-row__description">
      {{ this.entitySchema.attr('SQL').description }}
    </div>
  </u-auto-field>
1.9.13 2020-01-02 #
  • USelectEntity: option's select emits two parameters - (value, option: Object)
  • uba_user-changeUserPassword-fm.vue - changed form ExtJS to vue for changing user password
  • OpenIDConnect authorization support for adminui-vue
  • UFormRow, UFormContainer prop maxWidth. Sets max width of row
  • UToolbarButton: added $ut to provide just string to tooltip prop

Changed #

1.9.18 2020-01-17 #
  • UTableEntity: all props now reactive. For example changing entityName property will cause table to load rerender data and columns using new entity name, e.t.c
1.9.17 2020-01-11 #
  • UTableEntity column of type Document: separate download button from file name to prevent unexpected downloads while user click on file name
  • UTableEntity prop repository now can be ubql or function which returns ClientRepository
1.9.16 2020-01-03 #
  • UIconPicker will try to use a prepared list of available FontAwesome5 Free icons
1.9.13 2020-01-02 #
  • BREAKING UIconPicker: removed the <u-form-row> wrapper, renamed classes to more general ones, changed the icon selection emitting event from 'select' to 'change'
  • BREAKING renamed class from ub-form-container to u-form-layout. Because there is a component UFormContainer that has nothing to do with the class.
  • UFormRow colors have become more contrast
  • UFormRow fully refactor component. In case labelPosition === 'top' label and error text divide free space
  • UAutoForm by default sets labelPosition to top and maxWidth to 800px
  • UTable text style changed from bold to regular
  • SignatureVerificationResult view shown in expanded mode in case validationResult array contains one result

Removed #

1.9.17 2020-01-11 #
  • UForm.instance() method is removed (marked as deprecated). Please, remove all .instance() calls on your code

Fixed #

1.9.18 2020-01-17 #
  • hide selected desktop icon in case sidebar is collapsed
  • signatureVerificationResult - prevent show (undefined) in signature status in case error code is unknown
  • UFormRow - positioning label on top in case css height !== auto
1.9.17 2020-01-11 #
  • saveAndClose action should not close form in case of errors
  • UInput: globe icon should be displayed instead of empty rectangle
  • UFormRow: in case label-position is left or right error text should be displayed under input instead of udder label
  • UFormRow now can be used outside of UFormContainer
  • UIconPicker: added border radius
  • SignatureVerificationResult component: display a signing time as hours:minutes (instead of hours:month)
  • UTableEntity resets the filter value when a column changes
  • UTableEntity impossible to select a condition 'contains' in filter for column with type entity

@unitybase/base #

Added #

5.1.40 2020-01-17 #
  • SyncConnection.prototype.Reposiroty fabric function can now accept a UBQL passed in parameter as object while keeping an ability to pass entity code as string

@unitybase/cdn #

Added #

5.3.31 2020-01-17 #
  • cdn_employee-fm form rewritten to Vue
  • cdn_department-fm form rewritten to Vue
  • cdn_organization-fm form rewritten to Vue
  • cdn_person-fm form rewritten to Vue
  • cdn_contact-fm form rewritten to Vue
  • cdn_classifier-fm form rewritten to Vue
  • cdn_classifieritem-fm form rewritten to Vue
  • beforeAddNew, contactsRepository mixins

Changed #

5.3.31 2020-01-17 #
  • renamed 'Sex' to 'Gender', added full gender name to 'CDN_SEXTYPE' enum
  • renamed 'Sex' to 'Gender', added full gender name to 'CDN_SEXTYPE'
  • cdn_organization 'OKPOcode' field is required
  • rewrote 010_create_navshortcuts.js config for rendering cdn forms on vue

Fixed #

5.3.31 2020-01-17 #
  • cdn_classifieritem - fix error about non-existed attribute usage inside insert/update
  • cdn_classifieritem - fix uniqueness constraint for code attribute, not code is unique inside classifier, not globally

@unitybase/cs-shared #

Added #

5.1.15 2020-01-17 #
  • new private method CustomRepository.fromUbql - used in UB.Repository() constructor to create Repository from UBQL
  • Repository.withTotal can accept optional boolean parameter. If false total requirements will be removed from repository
  • Repository.limit(rowsLimit) will remove limit in case rowsLimit === 0

Changed #

5.1.15 2020-01-17 #
  • in case expression passed to Repository.orderBy already exists in order list it direction will be changed; Before this patch the same order expression was added that led to errors with duplicates in order by

@unitybase/mailer #

Added #

5.1.23 2020-01-13 #
  • optional contentID attribute for e-mail attachment. If contentID is defined for attachment it can be used in mail body for example to display embedded image as such:
     const contentID = 'ub-generated-image-1'
     //inside e-mail body
     const eMailBody = `<img id="footer-logo" src="cid:${contentID}" alt="UB logo" title="UB logo" width="36" height="36" class="image_fix">`
    

@unitybase/org #

Changed #

5.2.49 2020-01-17 #
  • renamed caption of sextype from 'Sex' to 'Gender'
  • all fullName* attributes sizes increased to 500 for org_department, org_organization
  • all name* attributes sizes increased to 256 for org_department, org_organization
  • rewrote 010_create_navshortcuts.js config for rendering org forms on vue
5.2.48 2020-01-13 #
  • all fullName* attributes sizes increased to 500 for org_department, org_organization
  • all name* attributes sizes increased to 256 for org_department, org_organization

@unitybase/adminui-pub #

Changed #

5.12.26 2020-01-17 #
  • locale/uk -> closeOther added missing word "tabs" simplified in other languages

Fixed #

5.12.26 2020-01-17 #
  • Audit for different auditable instances should be opened in different tabs (fixed tabId generation in BasePanel.onAudit)
  • showForm command will use description from command config (if defined) as a form caption. Compatibility fix for UB4
5.12.23 2020-01-02 #
  • UDetailTree refresh icon (fas fa-refresh -> fas fa-sync)

@unitybase/ub #

Added #

5.3.12 2020-01-17 #
  • new property Session.zone: string - security zone. Always empty for SE
  • new server config parameters security.zones and security.zonesAuthenticationMethods (UB EE. Ignored in UB SE)
  • getAppInfo endpoint wil return authMethods restricted to security.zonesAuthenticationMethods (UB EE)
5.3.11 2020-01-11 #
  • App.endpointContext - an empty object what can be used to store data for a single endpoint execution. Application logic can store here some data what required during single HTTP method call; Starting from UB@5.17.9 server reset App.endpointContext to {} after endpoint implementation execution, so in the beginning of execution it's always empty

@unitybase/uba #

Changed #

5.3.25 2020-01-17 #
  • rewrote 010_create_navshortcuts.js config for rendering uba forms on vue

Fixed #

5.3.25 2020-01-17 #
  • uba_user-changeUserPassword: added a separate method for changing own and someone else's password

@unitybase/ubm #

Added #

5.2.43 2020-01-02 #
  • ubm_desktop-fm form rewritten to Vue
  • ubm_desktop new attribute displayOrder - desktop display order in the sidebar

Changed #

5.2.46 2020-01-17 #
  • rewrote 010_create_navshortcuts.js config for rendering ubm forms on vue

@unitybase/ubq #

Changed #

5.2.70 2020-01-17 #
  • rewrote 010_create_UBQ_navshortcuts.js config for rendering ubq forms on vue

Fixed #

5.2.68 2020-01-11 #
  • scheduler worker will reuse a single http.request object instead of creation new one for each task execution command; Under linux http.request creation can take up to 1ms

@unitybase/ubs #

Changed #

5.2.68 2020-01-17 #
  • rewrote 020_create_UBS_navshortcuts.js config for rendering ubs forms on vue

@unitybase/ub-pub #

Added #

5.4.4 2020-01-17 #
  • UB.Reposiroty fabric function can now accept a UBQL passed in parameter as object while keeping an ability to pass entity code as string
  // serialize Repository into plain java script object (UBQL)
  const ubql = UB.Repository('my_entity').attrs('ID').where('code', '=', 'a').ubql()
  // restore Repository from (UBQL)
  let repo = UB.Repository(ubql)
5.4.3 2020-01-11 #
  • new connection function AsyncConnection.prototype.HMAC_SHA256(secret, data)
const shaHmacAsSting = UB.connection.HMAC_SHA256('secretKey', 'data for HMAC_SHA256 calculation').toString()
// shaHmacAsSting === 'aaa4c3a6d3a8c25cd32f366436af191ac83bc43d8655c15305877afd0975a2bc'

Changed #

5.4.3 2020-01-11 #
  • Negotiate auth schema security improved: use secret returned form /auth in X-UB-Nonce header to complete Negotiate authentication; UB server must be upgraded to at last 5.17.9
5.4.1 2020-01-02 #
  • remove usage of lodash from inside UB.format && UB.i18n

Fixed #

5.4.4 2020-01-17 #
  • AsyncConnection.logout will close loaded private key if any
5.4.1 2020-01-02 #
  • AsyncConnection.userLang returns application default language in case user is not authorised yet (anonymous) but appInfo is obtained