ub-server #

Added #

5.17.15 2020-02-24 #

Changed #

5.17.15 2020-02-24 #
  • Basic auth will use a Session._buildPasswordHash function to build uba_user.uPasswordHashHexa. This allows to use a custom password hashing.
5.17.14 2020-02-13 #
  • SpiderMonkey JavaScript engine moved into libsynsm.so / synsm.dll (runtime linked)

Fixed #

5.17.15 2020-02-24 #
  • for a server in production mode in case DB referential or unique constraint error is raised from inside JS method call server will transform such errors to user-friendly <<<ERR_REFERENCE_ERROR>>> / <<<VALUE_MUST_BE_UNIQUE>>> as it did for native (ubql endpoint) method. This fix situation when client got Something wrong instead of user-friendly error for code like:
try {
  store.run('delete', {
      execParams: {
        ID: currLinkID,
        __skipAutoCreatedCheck: true
      }
  })
} catch (error) {
  if (parentResolution.get('docID.mi_wfState') === 'ONREDACT') {
    throw new UB.UBAbort(UB.i18n('errCannotPerformOperationLocked'))
  } else {
    throw error // <-- before fix this error shown to client as `Something wrong`, after fix as <<<ERR_REFERENCE_ERROR>>>
  }
5.17.12 2020-02-08 #
  • prevent App.authFromRequest() from randomly returns true (means authInPendingState). This fix random 401 response for authentications what done inside JS code (@unitybase/http-proxy, @ub-e/web-dav)
5.17.11 2020-02-05 #
  • in case "Access violation" or "Out of memory" error occurs inside native code executed from JS server will halt in the same way as on EAccessViolation & EOutOfMemory error
  • prevent AV inside security exception logging

@unitybase/adminui-vue #

Added #

1.9.24 2020-02-18 #
  • re-logon window & ub-auth view: added support for CERT2 auth with user/password in case uiSetting.adminUI.authenticationCert.requireUserName===true
  • new view for CERT2 certificate registration (can be used as registration URL for CERT2 with requireUserName===true)
1.9.20 2020-02-03 #
  • UTableEntity prop useRequestFieldList for replacing result keys with fieldList. Sometimes, server returns result with altered fieldList, like entities with Entity-Attribute-Value mixin (see @unitybase/forms). This property tells UTableEntity control to stick with original fieldList from request, rather than using fieldList from response.
  • UTable, UTableEntity possibility to use column format function as string which be called by new Function constructor

Changed #

1.9.24 2020-02-18 #
  • hide Change language user menu item in case only one language is supported
1.9.22 2020-02-13 #
  • The "collections" property "processing" module now supports not only ability to pass callback buildRequest, but also an ability to pass handleResponse callback, because, know what? Custom requests sometimes return custom responses! 😃 Example where the feature is useful: participants mixin, participants not an ordinary detail, it uses addParticipant instead of insert, and it return a response, which could not be handled by a standard response handler. The callback looks like the following
      handleResponse ({ commit, collection, response }) {
        const loadedState = response.resultData
        for (const loadedItem of loadedState) {
          const index = collection.items.findIndex(i => i.data.subjectID === loadedItem.subjectID)
          if (index !== -1) {
            commit('LOAD_COLLECTION_PARTIAL', {
              collection: 'participants',
              index,
              loadedState: loadedItem
            })
          }
        }
      }
    
  • Extended info passed to buildRequest, buildDeleteRequest and handlerResponse callbacks for collections to entire store, not just selected store members like state or state and commit.
1.9.21 2020-02-08 #
  • UAutoField component will prefer props passed into component over internally defined props. This allow to override anything, for example:
  // override default placeholder and label for Date control
  <u-auto-field attribute-name="docDate" placeholder="overrides placeholder" label="My custom label"/>
  // use custom repository for Entity attribute
  <u-auto-field attribute-name="parentID" :repository="getRepo"/>
1.9.20 2020-02-03 #
  • UTableEntity in case is set columns and entityName - fieldList will generated automatically by columns. Previously request sent fieldList with all available entity attributes.
  • UTableEntity in case is set repository without columns - columns will generated automatically by fieldList which filtered by defaultView param. Previously columns was shows all attributes from entity with flag defaultView

Removed #

1.9.25 2020-02-23 #
  • usage of BigInteger.js is removed in CERT2 with login/password auth

Fixed #

1.9.25 2020-02-23 #
  • truncTimeToUTCNull now called for insert (as for update) and truncate time for attributes of type "Date" into 00:00:00Z as expected by server
  • showForm command can be executed without entity code in case form code is defined and form do not use processing module
UB.core.UBApp.doCommand({
  cmdType: 'showForm',
  formCode: 'uba_user-changeUserPassword',
  title: 'changePassword',
  isModal: true
})

@unitybase/cdn #

Changed #

5.3.38 2020-02-23 #
  • currency dictionary shortcut - decrease code and code3 column width
  • cdn_orgaccount.bank marked as allow null - IBAN account code already contains bank MFO, so having bank here is not necessary
  • optimization of account description calculation: in case bank/currency entity is updated but attributes bank.name/currency.code3 is not changed we do nt need to update accounts descriptions

Removed #

5.3.34 2020-02-08 #
  • cdn_organization.csv sample data is removed from CDN package

Fixed #

5.3.34 2020-02-08 #
  • cdn_classifier form: prevent error with "undefined" classifierID in items parentEntity combobox

@unitybase/cs-shared #

Changed #

5.1.17 2020-02-03 #
  • Repository.joinCondition will throw in case clause name already in jointAs

@unitybase/mailer #

Changed #

5.1.27 2020-02-14 #
  • binary compatibility with UB 5.17.14

@unitybase/org #

Added #

5.2.56 2020-02-23 #
  • vue form added for org_execgruop

Changed #

5.2.56 2020-02-23 #
  • Session.on('login', ...) event handler now queries and records all Execution Groups IDs into orgUnitIDs member of uData. It could and should be used for RLS. It would make all existing RLS to account memberships in Execution Groups, if permission to row is added to some Execution Groups. If Execution Groups are not used, it shall have no impact. For clarity, that is what is done:
    // Query exec groups obtained though all staff member IDs
    const execGroupIDs = UB.Repository('org_execgroupmember')
      .attrs('execGroupID')
      .where('orgUnitID', 'in', allStaffUnitIDsArray)
      .selectAsObject()
      .map(gm => gm.execGroupID)
    if (execGroupIDs.length > 0) {
      orgUnitIDs = _.union(orgUnitIDs, execGroupIDs)
    }
    
    NOTE: Despite execution groups MAY belong to organizations or departments, this implementation won't automatically grant user parent org units by execution groups, i.e. Staff Unit from ORG1 won't have permission of ORG2, even, if included into an execution group of ORG2.
5.2.52 2020-02-08 #
  • org model 'login' event will throw <<<UserWithoutOrgEmployeeNotAllowed>>> without detailed description to allow ub-pub to i18n it

Fixed #

5.2.51 2020-02-03 #
  • fixed not found record error after execute 'setDescriptionAttributeByCurrency' method in org_orgaccount.js

@unitybase/adminui-pub #

Changed #

5.12.33 2020-02-23 #
  • in case server require user to change password during re-logon default behavior changed to reload app and point user into login page. Note: this situation should not happen in real life scenario's
5.12.32 2020-02-18 #
  • i18n messages about certificate registration moved from adminui-pub into ub-pub to be used inside non-admin UI
5.12.29 2020-02-08 #
  • i18n for UserWithoutOrgEmployeeNotAllowed is moved from adminui-pub into ub-pub

Removed #

5.12.33 2020-02-23 #
  • obsolete UB.view.cryptoUI.ReadPK, UB.view.cryptoUI.SelectCert is removed. Private key reading is implemented inside pki provider interface defined in uiSettings.adminUI.encryptionImplementation server config section

Fixed #

5.12.33 2020-02-23 #
  • fixed iconCls for ubDetailTree actions (moveUp|moveDown)
5.12.31 2020-02-13 #
  • ExtJS based stores will smart merge orderList passed from Operations (EntityGridPanel for example) and original request order list. In case order by the attribute already in serverRequest.orderList - override it. This prevents multiple orderBy on the same columns what cause an DB exception at last on MS SQL
5.12.29 2020-02-08 #
  • prevent self-circling on Negotiate authentication in case silence kerberos logon is true and second auth response contains invalid session number (error occurs at last with invalid Kerio Control proxy configuration)

@unitybase/ub #

Added #

5.3.19 2020-02-23 #
  • new method Session._buildPasswordHash - create a password hash for login/plainPassword pair. Can be overrated by application to provide a custom hashing mechanism (in current implementation for CERT2/Basic auth only but will be used in UB auth in future)

Changed #

5.3.18 2020-02-18 #
  • ubConfig JSON schema: add simpleCertAuth parameter description; remove deprecated novaLib key
5.3.17 2020-02-13 #
  • in case @unitybase/ub package installed into different path throw human friendly error instead of can't redefine non-configurable property "entity"
5.3.15 2020-02-08 #
  • improved error message in case getDomainInfo called with invalid userName URL parameter

Removed #

5.3.18 2020-02-18 #
  • legacy newUserRegistration event for Session object is not emitted. CERT auth schema what use it is deprecated. CERT2 auth schema do not require this event

Fixed #

5.3.18 2020-02-18 #
  • fix JSDoc for UB namespace - mark UB.App as @property {App} App instead of @type {App} for WebStorm code competition

@unitybase/uba #

Added #

5.3.32 2020-02-23 #
  • uba_user-changeUserPassword: opportunity to influence password policy validators from the admin panel
  • uba_user-changeUserPassword: new validator for matching new password with login

Changed #

5.3.32 2020-02-23 #
  • changePassword endpoint will accept old password in plain text (instead of hashed) to allow server to apply a custom hashing algorithm from Session._buildPasswordHash
  • in case UBA.passwordPolicy.allowMatchWithLogin set to true (default) changePassword endpoint will check password do not include user login. Before this changes equality is verified
5.3.27 2020-02-03 #
  • uba_user.trustedIP attribute size increased to 2000

Removed #

5.3.32 2020-02-23 #
  • ability to change password for other user using changePassword endpoint for members of admin group is removed. uba_user.changeOtherUserPassword method should be used instead. By default access to this method is granted to members or Supervisor role

Fixed #

5.3.32 2020-02-23 #
  • change password form will load correct setting key (UBA.passwordPolicy.minLength) fro minimum pwd length and use UBS.Settings.loadKey instead of UB.Repository
5.3.27 2020-02-03 #
  • ALS form: allow to change newly added record by enabling Save & SaveDiffInFile

@unitybase/ubcli #

Added #

5.4.19 2020-02-14 #
  • new command line option -su (skipUndocumented) for ubcli generateDoc. If passed then undocumented API methods will be excluded from documentation. Example: npx ubcli generateDoc -u admin -p admin -su
5.4.17 2020-02-10 #
  • npx ubcli generateDoc now understand entity level method documentation in format
/**
 * Forms and returns array of dynamical entity's roles
 * @param {ubMethodParams} runparams
 * @return {Boolean}
 */
me.addAllDynRoles = function(ctx) {...}

in addition to

/**
 * Forms and returns array of dynamical entity's roles
 * @param {ubMethodParams} runparams
 * @return {Boolean}
 * @memberOf contr_contractdoc_ns.prototype
 * @memberOfModule @docflow/contr
 * @published
 */
function addAllDynRoles(ctx) {...}
me.addAllDynRoles = addAllDynRoles
  • npx ubcli generateDoc will look into 1 level depth sub-folders of model folders for sources
  • npx ubcli generateDoc will skip 'public', '_migration' and '_autotest' folders while generating jsdoc snippets
5.4.16 2020-02-08 #
  • npx ubcli generateDoc command will parse a domain models jsdoc and adds a entity methods description and parameters into documentation

Changed #

5.4.20 2020-02-18 #
  • ESLint errors and warnings fixed (no functional changes)

Fixed #

5.4.21 2020-02-23 #
  • npx ubcli generateNginxCfg - expires 600; should be added to /clientRequire, /models and /static locations to prevent Google Chrome cache heuristic to take a js files from a disk cache even if they modified on server
5.4.19 2020-02-14 #
  • npx ubcli generateDoc now works on Windows platform

@unitybase/ubm #

Added #

5.2.53 2020-02-23 #
  • scanner settings - adds a PDF/A output format - to be used in nm-scanner plugin

Fixed #

5.2.53 2020-02-23 #
  • shortcut editor will recognize both "entity": "entityCode" & "entityName": "entityCode" while parsing a command text for building attributes tree

@unitybase/ub-pub #

Added #

5.4.9 2020-02-18 #
  • SignatureValidationResult: new property certificate.certificateAsBuffer - signer certificate in bin format

Changed #

5.4.10 2020-02-23 #
  • AsyncConnection.query method will add a method names into post request URL, so calls to ubql endpoint will become POST /ubql?rq=entity1.method1*entity2.method2. This allows to apply a custom login into reverse proxy level and simplify a debugging, since all methods are directly visible in the network browser panel.
5.4.9 2020-02-18 #
  • i18n messages about certificate registration moved from adminui-pub into ub-pub to be used inside non-admin UI
5.4.7 2020-02-08 #
  • i18n for UserWithoutOrgEmployeeNotAllowed is moved from adminui-pub into ub-pub

Fixed #

5.4.10 2020-02-23 #
  • ESLint warnings resolved (mostly about let -> const)
5.4.9 2020-02-18 #
  • i18n for useCertificateInfo (CERT2 auth with user/pwd) should be ... Continue instead of ...Ok
5.4.8 2020-02-13 #
  • UBConnection.prototype.runTransAsObject will resolves after all possible cache invalidations are finished. This fix Cannot read property 'data' of undefined for Vue based forms what based on cached entities
5.4.7 2020-02-08 #
  • in case text of the exception raised inside server side Session.on('login') event handler wraps into <<<>>> ub-pub will translate it and show as any other handled exception. Before this patch InvalidUserNameOrPassword always shown. Fix for [UB-1728]