Release 6.0.0
Note
BDeploy 6.xCENTRAL
can be used with BDeploy 5.xMANAGED
Servers. The minimum upgradeable server version for any server mode has been raised to 4.2.0. If you have a server version older than that, you need to update to any server version newer or equal to 4.2.0 but smaller than 6.0.0 before attempting an update to 6.0.0.
Features
- Bulk operations have been reworked from ground up to no longer trigger multiple requests, but instead all trigger only a single request for the whole batch. This avoids running out of available connections in the browser.
- Introduce 'Actions'. Actions are triggered by users or jobs and provide means of synchronization as well as reporting to the user frontend. This supersedes 'Activities', which was previously used to also do reporting to frontends - but was initially architected only for BHive internal operation tracking. Actions allow much improved synchronization between frontends, for instance disabling actions which are currently performed by a different user.
- Separate HTTPS certificate from the token certificate. This allows to update a BDeploy server with a properly signed HTTPS certificate whilst keeping existing tokens and client installations valid.
Warning
The HTTPS certificate is also used by the BDeploy launcher to connect to its BDeploy server. The certificate must be trusted by the JVM used by the BDeploy launcher, otherwise this connection will not be possible. This is usually the case for all certificates which are issued by a trusted certificate authority. - Support parameter type
ENVIRONMENT
; Configured via normal process parameter configuration, those parameters will be set in the processes environment instead of being passed through the command line. - Verify and Reinstall support allows to check application installations, both on the server and on clients using the client launcher browser. Verifying will make sure that all known files are present and unmodified. In case there are modified/missing files, the user has the option to reinstall the application from scratch to restore a clean state.
Warning
Applications can be pooled, i.e. the same installation directory might be used for multiple instances, depending on the applications pooling configuration. Be careful when reinstalling applications, as they might still be in use.
Improvements
- The gradle plugin for BDeploy 5.5.0+ supports local logins now. This removes the need for tedious token management.
- The server now logs its version and mode of operation during startup to have that information in the log files.
- When the server fails to start, it will now log the port it has tried to bind to, in case the port is blocked.
- When querying nodes, query them in parallel (up to four nodes in parallel) to improve response time.
- Avoid waiting (even if it was only 100ms) for nodes to come online when accessing them. If a node is known to be offline, skip connections all together from the start.
- Improve sequence and scope of process status and process detail requests to avoid re-querying certain information from nodes multiple times.
- Show a list of effective own permissions (own permissions plus all permissions from groups) on the user settings panel.
- Write audit logs for BHive operations which take longer than 250ms, as they hint to performance issues.
- When browsing BHive logs, only show a tab for nodes that actually have the selected BHive.
- Unify the handling of parallel running tasks to provide a uniform error handling and minimize code.
- Improve the handling of errors in parallel tasks on the backend to properly include a reason for any error.
- Debounce loading requests of certain data to reduce the load on the backend and frontend.
- Make sure that (almost all) recurring requests will properly cancel any still-running previous equivalent request (e.g. fetch process status, ...).
- Make sure that certain loading operations load all required data in a single query instead of (sometimes) requiring multiple requests.
- The node manager on the backend now keeps track of and reports response times of nodes in the node administration and also in the node details panel on the instance dashboard.
- Avoid re-reads of information on the backend for certain calls to improve overal loading performance.
- BDeploy updates can be pushed and installed on nodes in parallel now - applies when nodes are automatically updated through a server update.
- Provide a job to periodically synchronize LDAP information from accordingly configured LDAP servers.
- Added a CLI tool to inspect and manipulate user groups.
- Refactor all constructors and injection points in the frontend to follow recent guidelines about Angulars
inject
function. - Regactor registration of available validators in the frontend to avoid memory leaks and usage of zombie objects.
- Improve rendering of IDs in the frontend to be more distinguishable from other text.
- Improve build to be capable of running server applications with a profiler attached for easier analysis using our UI tests.
- Avoid re-creation of encryption keys on the backend (expensive) on basically every request.
- Synchronize the writing of certain manifests, mostly all meta-manifests, to avoid race conditions and errors due to near-simultanous updates to the parent artifacts.
- Applications templates can now specify a name for the resulting process different from the template name.
- Update third party dependencies, most notably Angular 16.2 and Cypress 13.3
Fixes
- Rename certain components to avoid name collissions in the frontend source.
- Fix various smaller issues which could lead to unwanted warnings in the browser console.
- Fix handling of ngZone to properly re-enter the zone when updates are triggered from outside the zone.
- Fix an issue where accessing instance groups would ignore a properly set permission in a generic system token during authorization.
- Fix an issue where pasting previously copied applications was not possible in certain cases.
- Fix enabled state of bulk instance state fetch button.
- Fix an issue where users imported from LDAP would be kicked out of groups on first login.
- Fix minor layout issues throuout the application.
- Fix an issue that could lead to the configuration file editor to crash and not show anything at all.
- Fix an issue where an intermittent problem in monitoring data collection would stop collection all together.
- Fix an issue where proxying to an endpoint on application A might have loaded the configuration for the same endpoint on application B. Not an issue as long as they have similar configuration, as the final call is always done to the correct application.