Universal Data Mover Gateway 1.5.x Maintenance

Introduction

Stonebranch provides product maintenance in the form of updated product installation packages. This document lists the product installation package maintenance history for Universal Data Mover Gateway 1.5.x.

For Universal Data Mover Gateway 1.5.x, applying maintenance refers to the increase from a currently installed and supported version of the Universal Data Mover Gateway to a later 1.5.x version of the Universal Data Mover Gateway (for example, increase Universal Data Mover Gateway 1.5.0.0 to Universal Data Mover Gateway 1.5.0.1).

Product Packaging

A package maintenance level is incremented when the package changes or the package installation changes.

Stonebranch changes product version, release, or modification identifiers at its discretion when it deems an appropriate number of enhancements or capabilities have been introduced to warrant the change.

Versioning

Package version numbers are comprised of four numeric identifiers: version, release, modification level, and maintenance level.

For example, for Universal Data Mover Gateway 1.5.0.0:

  • 1 = Version 1

  • 5 = Release 5

  • 0 = Modification Level 0

  • 0 = Maintenance Level 0

Packaging Methods

The Universal Data Mover Gateway 1.5.x packages are provided in formats appropriate for the target platforms.

See the Installation Guide for information on installing, upgrading, and applying maintenance to the Universal Data Mover Gateway.

Package Maintenance Levels

This section identifies the changes included in Universal Data Mover Gateway 1.5.x.

This table identifies the maintenance level of every component in each package.

Release

Release date

UDMG Server

UDMG Agent ProxyUDMG Authentication ProxyUDMG Admin UIUDMG Web Transfer Client
1.5.0.3May 1, 20241.5.0.3 (d58b4b40)1.5.0.01.5.0.3 (5cbd9a2)1.5.0.3 ()be5f1cd1.5.0.0
1.5.0.2February 1, 20241.5.0.2 (b5f51e5e)1.5.0.01.5.0.01.5.0.1 (97c1967)1.5.0.0
1.5.0.1December 21, 20231.5.0.1 (5a9b7a3f)1.5.0.01.5.0.01.5.0.1 (97c1967)1.5.0.0
1.5.0.0November 20, 20231.5.0.0 (1292ee83)1.5.0.01.5.0.01.5.0.0 (98b18e3)1.5.0.0

UDMG 1.5.0.3 - May 1, 2023

Change IDComponentDescription
#36607UDMG Server

Include the retry configuration parameters from 1.5.0.2 in the Linux DEB/RPM packages

#36608UDMG ServerFix the error message when database connection max retries is reached.
#36609UDMG ServerFix the log message levels for the database connection attempts:
WARNING: Transaction error, attempt: %v of %v"    
ERROR:   Transaction error - MaxRetries reach %v of %v
#36456UDMG Authentication Proxy

Improve the validation of login provider JSON files during startup, invalid configuration is reported and the processs stops.

The error was previously reported as "[PANIC RECOVER] runtime error" during login attempts and not easily catchable as a configuration error.

Example of startup error:

level=error TS=2024-04-30T11:28:48.202909409Z Configuration=Auth Service=udmg_openldaps Error="ldap: read ca file: open ca-cert.pem: no such file or directory"
level=error TS=2024-04-30T11:28:48.202945585Z Error="Please validate you configuration file"

#36603UDMG Admin UIFix the inability to show the dashboard after successful LDAP authentication. 
#36415UDMG Authentication ProxyDocument the various LDAP/S configuration parameters.

UDMG 1.5.0.2 - February 1, 2023

Change IDComponentDescription
#35690UDMG Server

Fix handling of database errors and deadlocks.

New configuration parameters, in the database section:

[database]
; Maximum number of transactions retries, the default is 3.
; MaxRetries = 3

; Delay in milliseconds between retries, the default is 100.
; MaxRetriesWait = 100

In case of a database error, the insert is attempted again until MaxRetries and with a waiting time of MaxRetriesWait between each attempts.

UDMG 1.5.0.1 - December 21, 2023

Change IDComponentDescription
#35246UDMG Server

HTTP client transfer is set to ERROR when the HTTP response status code indicates a failure.

For HTTP code 401, the error code is TeBadAuthentication.
For HTTP code 403, the error code is TeForbidden.
For HTTP code 404, the error code is TeFileNotFound.
For HTTP code between 100 and 199, the error code is TeUnknown.
For HTTP code between 300 and 399, the error code is TeUnknown.
For HTTP code between 400 and 499, the error code is TeConnection.
For HTTP code between 500 and 599, the error code is TeConnection.
The HTTP code and description is added to the error message, the response payload is kept in the temporary file to allow troubleshooting.

#35211UDMG Admin UI, 
UDMG Server
Fix the inability to resume the TOTP user registration when it was not completed the first time. On further attempts to login while the TOTP registration on the user device was not confirmed (step 2), the presented QR code was not correct and prevented the user to define the TOTP account on the authenticator app. 
#35316UDMG Admin UIThe TOTP user registration can be reset at any time for a user, even when the initial registration is not completed. It allows to force the generation of a new secret key (and QR code)
#35253UDMG ServerFix the resolution of the local path for Web Transfer Client transfers when the local-auth server root directory is a relative path. The local path on udmg-server transfer request was not correct and caused an error at the end of the transfer.
#35280UDMG ServerFix the startup of enabled local servers after udmg-server instance restart. In some case a local server could not be started with a "bind: address already in use" error message.
#35189UDMG ServerFix the listing of local servers in the status report. It will appear on the active instance after a "start" command instead of appearing in the instance that processed the creation request.
#36259UDMG ServerFix the inability to change the allowed commands (file delete and rename) for a Web Transfer instance with a simple restart of the local-auth server. The change was only effective after the whole udmg-server restart.
#35164NGINXLinux installation packages: change default port for UDMG Authentication Proxy from 5000 to 5775. This is to avoid conflict with other software as this port is very commonly use. 

UDMG 1.5.0.0 - November 20, 2023

Change IDComponentDescription
B-17739,
#31690,
#34875
UDMG Admin UI, 
UDMG Server,
UDMG Authentication Proxy, 
UDMG Client

Standard Login Method with Authenticator App (TOTP) 2FA.

UDMG user can be configured with the "Standard / Authenticator App (TOTP)" (local-otp) login method.


When enabled, the login requires a TOTP code from an authenticator mobile application.

The registration with a generated QR code or secret is performed on first login or after the OTP registration has been reset.

 

The OTP registration can be reset from the CLI or from the UDMG Admin UI, this requires the 'user write' permissions.


$ udmg-client user update --login-type=local-otp bob
The user bob was successfully updated.

$ udmg-client user get bob
● User bob
    User groups: Generic
    Email:
    Login Type:  local-otp
    Permissions:
    ├─Transfers:      ---
    ├─Servers:        ---
    ├─Partners:       ---
    ├─Rules:          ---
    ├─Users:          r--
    ├─Administration: ---
    └─Pgp:            ---

$ mft user reset-otp bob
The user bob was successfully reset.
#34498UDMG Server

High Availability: Active/Passive instances with dynamic handover

Support for cluster awareness where multiple udmg-server instances are coordinating to have 1 active instance and the remaining ones remain in passive state. Continuous monitoring is performed to ensure that a passive instance will takeover in case of failure or shutdown of the active instance.

The MFT servers are owned by the active instance, which also manage the transfer requests in client mode.

See High Availability Behavior and Processing

#34810UDMG Server

Web services for the multi instance monitoring and load balancing.

  • Existing /api/sb_healthcheck is enhanced with additional information: node details and node status. 
    Requires authentication but no specific permissions.
    Example of output for a passive instance:
    {
        "status": "operational",
        "nodeId": "gateway_1:8080-mft-gw-0",
        "nodeHostname": "gateway_1",
        "nodeIPAddress": "172.99.0.101",
        "nodePort": "8080",
        "nodeStatus": "PASSIVE",
        "nodeUptime": "15h6m4.810854748s",
        "nodeLastUpdate": "2023-11-14T08:07:54.848374Z",
        "nodeLastActiveDate": "2023-11-13T16:57:57.026091Z"
    }
  • New /ping endpoint returns the plain text status: 'ACTIVE', 'PASSIVE', or 'OFFLINE' and also the 403 (Forbidden) HTTP code when the node is not active. This API is provided without authentication for load balancers.


  • New /api/sb_mgmt_nodes endpoint returns the list of the instances with their details and status.
    Requires the 'administration read' permission.
    Example of output for 2 instances:

    { "nodes": [ { "nodeId": "gateway:8080-mft-gw-0", "nodeHostname": "gateway", "nodeIPAddress": "172.99.0.100", "nodePort": "8080", "nodeStatus": "ACTIVE", "nodeUptime": "16m15.413255244s", "nodeLastUpdate": "2023-11-09T15:24:20.562225Z", "nodeLastActiveDate": "2023-11-09T15:08:40.105002Z" }, { "nodeId": "gateway_1:8080-mft-gw-0", "nodeHostname": "gateway_1", "nodeIPAddress": "172.99.0.101", "nodePort": "8080", "nodeStatus": "PASSIVE", "nodeUptime": "16m0.631810433s", "nodeLastUpdate": "2023-11-09T15:24:35.289412Z", "nodeLastActiveDate": "2023-11-09T14:40:28.491424Z" } ] }
    See REST API connections

#34873UDMG Admin UI

UI: Management of user sessions

The open sessions for the users of the UDMG Admin UI can be displayed and terminated from the user menu.
Requires the 'administration write' permissions.

#34872UDMG Server

REST/CLI: Management of user sessions

REST API: new /api/sb_session endpoint with GET and DELETE 

GET /api/sb_session
list all the user sessions
requires Admin permission
{
    "sessions": [
        {
            "sessionId": 116,
            "userId": 8,
            "username": "oli",
            "ipAddr": "185.70.76.140",
            "completed": true,
            "creationDate": "2023-11-09T12:38:07.718294Z",
            "expirationDate": "2023-11-09T13:38:07.718291Z",
            "lastUsedDate": "2023-11-09T12:41:20.852212Z" 
        },
        {
            "sessionId": 117,
            "userId": 1,
            "username": "admin",
            "ipAddr": "185.70.76.140",
            "completed": true,
            "creationDate": "2023-11-09T12:38:17.470503Z",
            "expirationDate": "2023-11-09T13:38:17.470492Z",
            "lastUsedDate": "2023-11-09T12:41:26.508968Z" 
        }
    ]
}
DELETE /api/sb_session/{id}
delete a user session, forcing its expiration
requires Admin permission

CLI: new 'session list' and 'session revoke' commands

udmg-client [CONNECTION-OPTIONS] session <list | revoke>

Available commands:
  list    List current sessions
  revoke  Revoke user session session
  
udmg-client session list
Sessions:
● Session 196
    User:            admin
    IP Address:      79.129.6.7
    Completed:       true
    Creation Date:   2023-11-13T09:05:20.780075Z
    Expiration Date: 2023-11-13T10:05:20.780072Z
    Last Used Date:  2023-11-13T09:58:34.707537Z
● Session 204
    User:            admin
    IP Address:      172.99.0.7
    Completed:       true
    Creation Date:   2023-11-13T09:51:04.091549Z
    Expiration Date: 2023-11-13T10:51:04.091546Z
    Last Used Date:  2023-11-13T09:51:04.091551Z

udmg-client session revoke 204
The session 204 was successfully revoked.
#34820NGINX, 
UDMG Admin UI
NGINX configuration update so that the client IP address (X-Real-IP, X-Forwarded-For) is passed for UDMG authentication proxy, thus the address can be kept with the user session details. See Installing NGINX Server.
#34890UDMG Admin UI

UI: Management of the 'Administration' permission for users

#34112UDMG Client

CLI: Management of the 'administration' user permission. 

  • Administration permissions are displayed on 'user list' or 'user get' commands
  • read/write/delete can be assigned with the 'A' tag for administration permission on 'user add' and 'user update' commands
  • 'superuser' shortcut is provided to create or convert a user to a superuser with all possible permissions, including the administration permissions
    udmg-client user update bob -r 'superuser' 
#34834Linux services

Improved usability of the Linux services:

  • Service description is prefixed with "Stonebranch" for parity with Universal Agent ubroker service.
  • Syslog messages are labeled with the service name (udmg-server, udmg-auth-proxy, ...) instead of 'sh'.
  • Syslog messages are sent to 'local0' utility for easier filtering.
#34247UDMG Server

Allow absolute paths in SFTP client requests. If the remote filename stub in the transfer request starts with a '/' it is considered an absolute path and will be used without prefixing with the transfer rule remote directory path. 

For example, the client transfer udmg-client transfer add -f localFile.txt -o /remotepath/remoteFile.txt -p SftpPartner -l remoteAccount -w send -r Rule1S will now send /remotepath/remoteFile.txt as the path in the SFTP request whereas before, the path would have been {rule remote_directory}/other/remoteFile.txt.

#33063UDMG Admin UI
Environment customization with the service settings on the UDMG Authentication Proxy configuration.
  • "udmg.system_identifier": name of the system or the environment.
  • "udmg.banner.background_color": color of the banner background, as HTML color name ("Brown"), RGB code ("rgb(165,42,42)"), or hexadecimal code ("#A52A2A").
  • "udmg.banner.logo": company logo, optional picture to display next to the system identifier.

Example of a production environment with a brown banner and a development environment with an orange banner:

#33062UDMG Authentication ProxyCustom properties can be associated to a udmg service for use by the UDMG Admin UI.
Refer to the installation guide for the configuration file syntax and the [settings] section.
#31488UDMG Server

Business Service as Tag

Improved the usability of Business Service : they can be used for tagging objects and not only to enforce security permissions. A Business Service without any User Group can be attached to an object as a way labeling it.

Permissions over the new business service are not required anymore when assigning an object to a business service thus allowing them to be used as tags (i.e. to group resources). The permissions required to assign an object to a business service are either: having the corresponding global permission (object write at user level) or having the corresponding business service permission (object write at user group level) in at least one of the object's business services.

REST API changes:

  • Added new endpoints to add business server members:
PUT /api/sb_businessservices/{name}/local_agents/{object_name}
PUT /api/sb_businessservices/{name}/remote_agents/{object_name}
PUT /api/sb_businessservices/{name}/rules/{object_name}/{direction:send|receive}
PUT /api/sb_businessservices/{name}/sb_pgp/{object_name}
  • Added new endpoints to delete business server members:
DELETE /api/sb_businessservices/{name}/local_agents/{object_name}
DELETE /api/sb_businessservices/{name}/remote_agents/{object_name}
DELETE /api/sb_businessservices/{name}/rules/{object_name}/{direction:send|receive}
DELETE /api/sb_businessservices/{name}/sb_pgp/{object_name}
  • Added new endpoints to add user group members:
PUT /api/sb_usergroups/{name}/users/{user}
  • Added new endpoints to delete user group members:
DELETE /api/sb_usergroups/{name}/users/{user}
  • Added new endpoints to list business server members:
GET /api/sb_businessservices/{name}/servers
GET /api/sb_businessservices/{name}/partners
GET /api/sb_businessservices/{name}/rules
GET /api/sb_businessservices/{name}/sb_pgp
#34725UDMG Server

Easier upgrade procedure, the migrate command now uses the last version by default.

$ /opt/udmg/bin/udmg-server migrate -l -c /opt/udmg/etc/udmg-server/server.ini | tail -1
1.5.0
$ /opt/udmg/bin/udmg-server migrate -c /opt/udmg/etc/udmg-server/server.ini -v -v -v
2023/10/30 10:57:24 [INFO    ] Migration: Starting upgrade migration...
...
2023/10/30 10:57:25 [INFO    ] Migration: Applying migration 'Bump database version to 1.5.0'
#33071UDMG Server

Disable Rule Task type

Ability to globally disable each rule task type.

New udmg-server configuration parameters, in the [tasks] section, for each task type allow to disable the related task processing during any file transfer. For the following task types: COPY, COPYRENAME, MOVE, MOVERENAME, DELETE, RENAME, EXEC, EXECMOVE, EXECOUTPUT, TRANSFER, CHECKREGEX, PUBLISHEVENT, ICAP. 

B-17654,
#34136
UDMG Server, UDMG Client

REST and CLI support for Personal Access Token.

Note that a token owner is always allowed to manage its own tokens.

New Web Services:

  • /api/sb_users/{user}/tokens
    • GET to fetch the list of token: User read.
    • POST to create a token: User write.
  • /api/sb_users/{user}/tokens/{token}
    • GET to read a given token: User read.
    • DELETE to remove a given token: User delete.

New CLI commands:

Usage:
  udmg-client [CONNECTION-OPTIONS] token personal [username] <command>

[personal command arguments]
  username:           The user's name

Available commands:
  add        Add a new personal access token to a user
  delete     Delete a personal access token
  get        Retrieve a personal access token
  list       List personal access tokens for a user

#34257UDMG Server

Logging of rule tasks execution

New debug log messages:

  • TRANSFER: Programmed new transfer n°ID of file FILE, from/to PARTNER as ACCOUNT using rule RULE
  • COPY: Copied file FILEPATH to FILEPATH
  • COPYRENAME: Copied file FILEPATH to FILEPATH
  • DELETE: Deleted file FILEPATH
  • EXEC: Done executing command PATH ARGUMENTS
    and command output is sent to DEBUG log
  • EXECMOVE: Done executing command PATH ARGUMENTS
    and new file path is sent to DEBUG log
  • EXECOUTPUT: Done executing command PATH ARGUMENTS
    and command output is send to DEBUG log
  • MOVE: Moved file FILEPATH to FILEPATH
  • MOVERENAME: Moved file FILEPATH to FILEPATH
  • RENAME: Changed target file to FILEPATH

Example of a transfer with a rule executing a checksum script as post-task:

[ec2-user@ip-172-31-2-90 ~]$ mft rule get rec_transfer_rule receive
● Rule rec_transfer_rule (receive)
    Business services:      Generic
    Comment:                rec_transfer_rule
    Path:                   rec_transfer_rule
    Local directory:        rec_transfer_rule
    Remote directory:       
    Temp receive directory: 
    Pre tasks:
    Post tasks:
    ├─Command EXECOUTPUT with args: {"path":"/data/cksum.sh","args":"#TRUEFULLPATH#","delay":"1000"}
    Error tasks:
    Authorized agents:
    ├─Servers:          sftp_transf_server
    ├─Partners:         
    ├─Server accounts:  
    └─Partner accounts: 
$  udmg-client transfer log 473
2023/10/24 14:27:38 [INFO    ] Pipeline 473 (server): Starting Pipeline: 473
2023/10/24 14:27:38 [INFO    ] Pipeline 473 (server): PreTask started
2023/10/24 14:27:38 [INFO    ] Pipeline 473 (server): PreTask finished
2023/10/24 14:27:38 [INFO    ] Pipeline 473 (server): StartData started
2023/10/24 14:27:44 [INFO    ] Pipeline 473 (server): EndData started
2023/10/24 14:27:44 [INFO    ] Pipeline 473 (server): PostTasks started
2023/10/24 14:27:44 [INFO    ] Pipeline 473 (server): Execute [1/1] Task EXECOUTPUT @ rec_transfer_rule POST[0]
2023/10/24 14:27:44 [DEBUG   ] Pipeline 473 (server): 443213623 1051914 /data/rootdir_sftp/rec_transfer_rule/1MO.txt
2023/10/24 14:27:44 [DEBUG   ] Pipeline 473 (server): c7841338854581691c12e751d48ec47f  /data/rootdir_sftp/rec_transfer_rule/1MO.txt
2023/10/24 14:27:44 [DEBUG   ] Pipeline 473 (server): Done executing command /data/cksum.sh /data/rootdir_sftp/rec_transfer_rule/1MO.txt
2023/10/24 14:27:44 [DEBUG   ] Pipeline 473 (server): [1/1] Task EXECOUTPUT @ rec_transfer_rule POST[0]
2023/10/24 14:27:44 [INFO    ] Pipeline 473 (server): PostTasks finished
2023/10/24 14:27:44 [INFO    ] Pipeline 473 (server): EndTransfer started
#33930UDMG Admin UI

Change the references to "Certificate" to "Certificate / Key" depending on the context.

#34852, #34843UDMG Authentication ProxyComprehensive description and comments inside the sample configuration file, both in installation package and online documentation.
#34853UDMG ServerComprehensive description and comments inside the sample configuration file, both in installation package and online documentation.
#34837UDMG Web TransferComprehensive description and comments inside the sample configuration file, both in installation package and online documentation.
#34115,
#34130
UDMG Server

REST/CLI: User Profile

New web service and CLI command for a user to fetch its own user profile with system permissions.

GET /api/user_profile

  • the output is the same as GET /api/sb_users/{user} for the calling user
  • no permission is required


udmg-client user profile

#34258UDMG Server

Send transfer without pre-existing file

Allow a client send transfer to start even when the local file does not exist. It is now possible to start a send transfer even if the file to send does not yet exist, as long as it is created before the start of the data sending phase. Typically, this allows start a transfer where the file is created via rule pre-tasks.

#34676UDMG Server

Fix the transfer resume for SFTP Partner (client transfer), in some cases the resume operation would not continue the transfer from the last point.

The behavior is now:

  • if the remote server file size is same than the transfer progress : resume from that point
  • if the remote server file size is different from the transfer progress : stop transfer with ERROR
  • If the remote target file is not found : resume the transfer from 0 (send whole file again)
#34903UDMG Server

Fixes for pause and retry

  • Prevent 'transfer pause' and 'transfer retry' commands on server transfers, as this is not relevant, the transfer is controlled by the remote client.
  • Log the name of the user that triggers a 'transfer pause' command.
#34785,
#33587
UDMG Admin UI,
UDMG Server
Fix the logout sequence, after logout the user session is properly closed on the browser and the UDMG  Server.
Especially the console could display message from previous sessions.
#34250UDMG ServerFix the expansion of the #INPATH#, #OUTPATH#, and #WORKPATH# task variables. They used to only take into account the default in/out/work paths defined at the gateway-level (in the config file). Therefore, the server and rule-level paths are completely ignored.
The server and rule are now looked up when computing the value of these special variables.
#34252UDMG ServerFix the expansion of the #INPATH# and #OUTPATH# task variables. They should only have local paths and not remote paths.
#34246UDMG Server, UDMG ClientFix a panic error on udmg-client when showing a transfer rule with more than 3 tasks in a task chain. The client would crash when trying to display the rule on a 'rule 'list or a 'rule get' command.
#34255UDMG Server, UDMG ClientFix the inability to empty a transfer rule task chain from the CLI.
Providing an empty value for the 'rule update --pre=', 'rule update --pre=', or 'rule update --pre=' option would be treated as if the parameter was not given.
#34254UDMG ServerFix the COPY and RENAME rule tasks. Copying a file to itself would truncate it. 
D-11401 (#34118)UDMG Admin UIFix the filtering on the lists.
Any partial string of "undefined", like "e" would invalidate the filtering and return all rows.
#34209Linux packagesFix the package naming convention to use '.build' instead of '+build' as '+' is not valid for the Stonebranch Software Downloads platform and was replaced by a space.
#34884UDMG ServerFix the export of users to include the 'administration' and 'pgp' permissions.
#32139UDMG ServerFix the export and import of User Groups to rely on the Business Service name instead of UUID.
#34582UDMG ClientFix the typo in the sort option for the 'history list' command: 'start' was listed 2 times.
#34576UDMG Client

Fix the missing allowed values for 'transfer list' command:  'ERROR', 'DONE', 'CANCELLED' statuses were missing.

$ udmg-client transfer list -h | grep status
      -t, --status=[PLANNED|RUNNING|INTERRUPTED|PAUSED|ERROR|DONE|CANCELLED] Filter
#34542,
#34494,
#34102
UDMG Server, UDMG ClientFix several typos in error messages.
#34211NGINXFix the discrepancy between the packaged configuration file and the documentation for the upstream directive: upstream udmg_auth_proxy
#34131UDMG ClientFix the allowed protocols for partner maintenance, now the ftp, ftpes, and ftps are not recognized as valid partner protocols.
#34110UDMG ClientFix the lack of validation for self password change, now the new password cannot be the same as your current password.
udmg-client user password bob -o ws -p ws
#34116UDMG Admin UI

Change the order of the options in the User Menu, logout is the now the last option.

#34215UDMG Admin UI

Change order of the items in the Management and Administration menus, for logical grouping of entities.

 

#34214UDMG Admin UI

Change label for rule parameter: "Path Directory" to "Virtual Path Directory"

#34117,
#33842
UDMG ServerPrevent the addition of a Certificate/Key record to a local or remote account when the parent server or partner protocol does not support the use of account certificates or keys.
#34351UDMG Server

Prevent the start of a SFTP Server when it does not have any defined and enabled SSH host key.

#34428UDMG ServerFix for FTP Server: in some situations with pending client connections, the server would report a successful stop but continue serving client commands.
#34403UDMG ServerFix for SFTP Server: the dedicated local server log is not created on 1st start if a server is created and the gateway has not been restarted.
#34825UDMG Admin UIFix the display of irrelevant options Partner SFTP Protocol configuration: "Allow Remove File", "Allow Rename File".
#34001UDMG Admin UIFix the missing horizontal scrollbar in the Activity History list.
#34315UDMG Admin UIFix the transfer details is not refreshed after cancel action and still shows the red error status dot instead of the purple cancel dot.
#33998UDMG Admin UIFix various UI glitches.
#34119UDMG Admin UIFix the missing error message on the console when a local SFTP server could not be started due to an invalid SSH key.
#34113UDMG Admin UI

Change the 'degraded' color in server status button from yellow to orange for better readability.

#33714UDMG ServerFix the sorting of the rule lists in the server and partner object details (on CLI output and on UDMG Admin UI Server/Partner Rules tab.
Rules are now sorted by name. 
#33873UDMG ServerFix a permission issue where users without 'user read' permission could list the other users in their same user group.
#34503UDMG Client

Fix the 'status' command showing transitional local server status as "Offline". The "Starting" and "Stopping" phases are now displayed, allowing more accurate monitoring of start and stop commands. The services are ordered by status: Error, Starting, Stopping, Active, Offline.

$ udmg-client status
UDMG services:
[Error]    Core Service 4 (Error message)
[Starting] Core Service 7
[Stopping] Core Service 10
[Active]   Core Service 2
[Offline]  Core Service 1
#34831UDMG Admin UIFix server list showing deprecated 'root' field instead of 'rootDir'.
#33058UDMG Admin UI

Fix HTTP return code 500 errors are not logged on the console.
For instance, an SFTP server start error due to missing hostkey was not logged on the console.

#34898UDMG Server

Append the instance hostname to global log file (when configured as a file in the configuration parameter LogTo. This enables multiple instances to share same log file storage.