Added 
5.24.35 2024-12-30 
URichTextEditor: component for editing rich text content - a text area with integrated TinyMCE WYSIWYG Editor 
URichTextRenderer: component for rendering rich text content 
UBlobRichTextEditor - wrapper for URichTextEditor what uses metadata to edit content for attribute of type Document 
richTextEditorConfigurator: module for extending rich text editor and renderer with custom styles and fonts.
Example: 
const { connection } = require('@unitybase/ub-pub')
const { richTextEditorConfigurator } = require('@unitybase/adminui-vue')
richTextEditorConfigurator.registerContentCss(`${connection.serverUrl}clientRequire/models/test-app/assets/fonts.css`)
richTextEditorConfigurator.registerFont('Ubuntu=Ubuntu;')
richTextEditorConfigurator.registerFont('Playwright=Playwright;')
5.24.34 2024-12-19 
UTable: support new mouseenter-cell and mouseleave-cell events 
5.24.33 2024-12-07 
UFile (UAutoField for Document attributes) and UFileRenderer: new property preview-editable.
If true - creates inline editor for documents of type pdf, javascript, yaml, sql.
In the future, we plan to expand support for inline editing for HTML, Office, etc. 
- new component 
UBlobCodeMirror - wrapper for UCodeMirror what uses metadata to edit content for attribute of type Document 
- auth page: 
returnUrl URL parameter now can be without http(s)://host:port part 
5.24.32 2024-12-03 
UFileMultiple: pass $attrs and $listeners to the renderer component. It provides the ability to
pass props and events to the UPdfViewerExt component 
UFileMultiple: beforeSelectFile prop hook. Needed in Scriptum to persist pdf annotations before
switching to another file 
Changed 
5.24.33 2024-12-07 
UFile in preview mode now shows preview for any image format (including SVG),
instead of png and jpg only 
- event for saving BLOBs renamed 
afterValidation -> saveBlobContent 
5.24.32 2024-12-03 
UPdfViewerExt: saveContent method now returns a Document attribute value. Setting of this value
should be done above in parents since in some cases passed input event actually patches another
value (selectedFileId in UFileMultiple carousel for example) 
Removed 
5.24.35 2024-12-30 
UAutoField: getPdfViewerExt method - use the getBlobViewer instead 
5.24.33 2024-12-07 
- property 
extended-pdf-viewer of UFile and UFileRenderer is removed.
To enable PDF (or javascript) editing use preview-editable property instead 
Fixed 
5.24.35 2024-12-30 
CERT2 pending registration page now can work without returnUrl (redirect to / in this case) 
5.24.34 2024-12-19 
- made 
USelect* border color red in case validation fail (as for other U* controls) 
- now the sidebar (main menu) saves the state of open folders also when closing the folder (in addition to opening it)
 
- deleted rows now disappear immediately after deletion (no need to refresh)  [LODC-4085]
 
- force usage of native PDF viewer on Safari15 (jsPDF not work)
 
- fixed 
UPdfViewerExt: replaced timeout with pagerendered event for correct canvas overlay render on each page regardless of time that is taken for render 
UFormRow: displaying error message in case of validation fail and label-position is set to none 
UFile: instead of fully re-rendering UFileRenderer on value changed (passing Vue key),
rely on internal watcher to update the content of the file preview. It prevents rerendering
of complex editors like URichTextEditor and UCodeMirror when value is changed 
UAutoField: subscribe the saveBlobContent event only for Document attributes 
5.24.33 2024-12-07 
UPdfViewerExt: work of allowDownload prop in case download button is placed in the secondary toolbar 
UPdfViewerExt: fixed style for some PDF.js elements 
moment-plugin: fixed an error in the browser console caused by attempting to inject a non-existent moment.js localization file.
Plugin now converts the current app locale to a moment.js-supported locale before injecting 
UFileMultiple: do not pass input event from parent to the view component. There its own
implementation of input that edits selectedFileId not files. A regression was found in working of UFileCollection caused by it 
- SECURITY added prevention of the “Open Redirect” attack by checking the 
returnUrl URL parameter of the authorization page match server origin 
5.24.32 2024-12-03 
UPdfViewerExt: added text label for the "Summary" button 
UPdfViewerExt: removed useless 'Open file' button from Viewer's secondary toolbar 
UFileRenderer: re-fetch content only if getDocument params are really changed not file object prop 
UTableEntity: fix cannot convert undefined or null to object in case table repository contains some misc 
Added 
5.24.107 2024-12-07 
- in case UI opened using URL what contains document link in 
location.hash (#cmdType=...) hash now removed after form is opened 
- Authentication page now redirect to the main page using 
window.location.replace, so "Back" browsed button
pressed from adminUI now returns back (to blank page or previously visited page), instead of UB Authentication page 
Changed 
5.24.109 2024-12-30 
- tinyMCE HTML editor moved to 
@unitybase/tinymce-all package, so can be shared between adminui-pub and adminui-vue 
5.24.107 2024-12-07 
- while redirecting to Authentication page on startup 
returnUrl parameter now passed without http(s)://host:port part,
so auth page will redirect back to the same origin. In case uiSettings.adminUI.endpoint is empty
or index.html - returnUrl not added at all 
Fixed 
5.24.109 2024-12-30 
- while redirecting to Authentication page on startup for CUSTOM auth pages 
returnUrl is added as before 5.24.107
to prevent possible regressions 
Changed 
5.24.8 2024-12-03 
- use 
@unitybase/mime-types what in addition to mime-types recognize asice, asics, vue, def extensions 
Changed 
5.24.16 2024-12-07 
SyncConnection now tries to parse server-side error with HTTP code 400 in addition to >401 in case response content type is application/json 
Added 
5.24.24 2024-12-19 
- added logging (on info log level) filesystem BLOB storage data removing
 
- new exported methods 
shred and shredAll for completely remove (including all historical revisions) BLOBs content
To be used as App.blobStores.shreadAll('my_entity, [1, 2, 3])` 
MdbBlobStore.fillResponse: detecting of content type for dirty blob items 
Changed 
5.24.22 2024-12-03 
- use 
@unitybase/mime-types what in addition to mime-types recognize asice, asics, vue, def extensions 
Fixed 
5.24.25 2024-12-30 
- SECURITY with UB@5.24.28 fileSystem BLOB store under Linux will create folder with 0o750 permission instead
of 0o755, so only 
unitybase user members of unitybase role (nginx/www-data users) can read BLOB files 
Chores 
5.24.24 2024-12-19 
- documented 
base64 encoding for blobStores.getContent method 
Added 
5.24.34 2024-12-19 
cdn_city: added mapping of cdn_city.description to cdn_adminunit.fullName for unity mixin 
Added 
5.23.30 2024-12-11 
TubMailSender.sendMail now accept optional replyTo property - the Reply-To address in email 
Added 
1.0.0 2024-12-02 
Fixed 
5.24.34 2024-12-07 
Added 
5.1.20 2024-12-19 
- added logging (on info log level) S3 BLOB storage data removing
 
Fixed 
5.1.22 2024-12-30 
getPermanentFileName method now correctly join relPath and fName, without duplication of / for storeSize: Simple 
5.1.21 2024-12-23 
s3blobStore.getContent(..,..,{encoding: 'base64'}) method now return result in base64, as with fileSystemBlobStore 
Added 
1.0.1 2024-12-30 
Added 
5.24.21 2024-12-07 
- error message, returned by server running in dev or test modes now shown on client in the same way,
as for production, except what error details shows additional info (including server-side call stack)
 
- parser of server-side exceptions now can parse both double-escaped error message, produced by UB@5.24.26
and non-escaped error message as returns UB@5.24.27+
 
Changed 
5.24.22 2024-12-19 
UB.isSecureBrowser now detect we are in secure browser environment 
Added 
5.25.46 2024-12-19 
- new methods 
App.blobStores.shred and App.blobStores.shredAll for completely remove
(including all historical revisions) BLOBs content, Example: App.blobStores.shreadAll('my_entity, [1, 2, 3])` 
Changed 
5.25.44 2024-12-03 
- use 
@unitybase/mime-types what in addition to mime-types recognize asice, asics, vue, def extensions 
Fixed 
5.24.29 2024-12-19 
- User certificate form: attribute 
User now disabled (filled by caller) 
Added 
5.25.53 2024-12-30 
ubcli execSql added new cmd line switch -r to be used as a short replacement for -withResult -outputRes 
- new command 
ubcli redis - operations with Redis database for specified app.
ubcli redis --help for available commands. Examples: 
ubcli -app cus-docflow redis keys "ub:auth:sid:*"
ubcli -app cus-docflow redis flush
5.25.52 2024-12-19 
ubcli mail: --mail-rcpt renamed to --to, added --reply-to 
Changed 
5.25.53 2024-12-30 
ubcli commands convertDefFiles, upgradeConfig, meta-tr are marked as deprecated (not shown in the ubcli help) 
Fixed 
5.25.53 2024-12-30 
- regression on migration of multi-tenant environment
 
- SECURITY with UB@5.24.28 
ubcli createStore under Linux will create folders with 0o750 permission instead
of 0o755, so only unitybase user members of unitybase role (nginx/www-data users) can read BLOB files 
Chores 
5.25.53 2024-12-30 
- documented new appName switch (added in ub-server ubcli bash script) 
ubcli [-app appName] command [options] 
Added 
5.24.31 2024-12-03 
new message (ubs_message_edit) form now ask for confirmation in case message is for all users 
Changed 
5.24.34 2024-12-30 
new message (ubs_message_edit) form: improved UX 
ubs_report form is rewritten to Vue 
5.24.33 2024-12-19 
new message (ubs_message_edit) form: improved UX 
5.24.31 2024-12-03 
- use 
@unitybase/mime-types what in addition to mime-types recognize asice, asics, vue, def extensions 
Fixed 
5.24.33 2024-12-19 
- fix client-side localization for "The message will be sent to all users. Are you sure?"
 
5.24.32 2024-12-07 
ubs_message shortcut: missed comma in shortcut config 
5.24.31 2024-12-03 
Administration-Maintained tools-Messages (ubs_message) shortcut now show all available messages for SysOps role
instead of only own messaged [UBDF-19440]