Releases: bdeployteam/bdeploy
Release 7.3.6
Fixes
- Revert a fix for lock files which unfortunately went haywire in certain scenarios and cause race conditions on very busy servers.
- Fixed an issue with highlights on buttons in the administration navigation menu.
- Fixed an issue with spuriously highlighted errors in configuration files related to instance and system variables.
Release 7.3.5
Improvements
- Added the possibility to bulk delete software repositories.
Fixes
- Fixed an issue with lock file validation which lead to missing object exceptions.
Release 7.3.4
Fixes
- Fixed issues with configuration file validation. Reverted changes that always validated all config files. This will be re-introduced at a later point in time with additional mechanisms to better manage existing setups.
- Fixed issues with the resolution of template variables when applying system templates and/or instance templates, especially from the CLI.
Release 7.3.3
Fixes
- Fixed an issue where validation of instances fails when client applications require configuration files in certain scenarios.
- Fixed an issue where opening the instance dashboard from the CLI was no longer possible.
Release 7.3.2
Improvements
- Improved the troubleshooting guide in the documentation.
- When validating an instance, validate all configuration files of that instance, not just changed ones. This prevents issues with unchanged files that can no longer resolve values due to changed instance configuration.
Note
Due to the stricter validation it is possible that existing instances fail validation when opening the instance configuration page. This is expected and needs to be corrected in the instance configuration before being able to make changes. - In the future, the BDeploy build enforces bytecode versions matching our Java version requirements, making it impossible to deliver API bundles that do not satisfy our Java version compatibility promises.
Fixes
- Fixed an issue where the instance template panel would get stuck open after applying an instance template.
- Fixed an issue where the login screen would fall into a hot-reload-loop in case the authentication provider was offline.
- Fixed an issue where product validation would give warnings for unused template variables which were used in instance variable value overrides.
- Fixed an issue with the BDeploy demo products not validating correctly.
- Fixed an issue with lock files in BHives on the server not being validated. Spurious lock files were not detected due to this.
- Fixed an issue where template variables used in instance template were not correctly queried and applied in conjunction with instance variables.
Release 7.3.1
Fixes
- Fixed an issue with the evaluation of enabled/disabled conditions on endpoints for server applications.
- Fixed an issue with the generation of the experimental products in use report.
- Fixed an issue where a not set description would show as "null" instead of being hidden.
Release 7.3.0
Features
- Avoid classpath bleeding of Gradle in the BDeploy API bundle by relocating packages of certain third party libraries in the API shadow JAR. This fixes issues with the BDeploy Gradle plugin when the target application has certain conflicting dependencies.
- Experimental Feature: Products in use report - allows to leverage the information pool in BDeploy by generating reports about products and product versions in use. This feature is still experimental, and serves as a testbed for future reporting features.
- Added the possibility to authenticate endpoints in BDeploy using an Oauth2/OpenID Connect token endpoint. Endpoints can be configured using a token URL, client ID and client secret (e.g. through Instance Variables). Choose authentication type
OIDC
to do so.
Improvements
- Added a warning about nesting data directory within the BDeploy installation directory in the documentation as there are many installations out there that do it wrong.
- Further refine the logic which controls prune on BHives during nightly cleanup.
- Changed logging of problems during endpoint proxying to improve log file quality.
- Continue previous improvements of rendering of IDs throughout the BDeploy UI.
- Validate that there are no endpoints configured on client applications (that doesn't make sense).
- Optimize synchronization between
MANAGED
andCENTRAL
by providing slimmer APIs which transfer less data. Of course compatibility with existing endpoints is yet again a key goal of such optimizations. - Improve
remote-instance
andremote-system
tools to be capable of handling multiple--uuid
arguments at once (bulk processing).Warning
This change is modifying the output format of said commands in certain scenarios. In case the output has been processed (e.g. as JSON), the according processing will have to be adapted to the new output format. This change was necessary to be able to properly output multiple results at once (bulk processing). - Improve the documentation in various areas.
Fixes
- Fixed issues related to the new terminal width detection and automatic table rendering adaption mechanism.
- Fixed issues with the difference views (wrong rendering of changes) in the instance history.
- Fixed an issue with the synchronization logic between
MANAGED
andCENTRAL
related to individual instance versions. - Fixed an issue where disabled UI endpoints would still show up in the client applications page.
- Fixed an issue where a configured
ADMIN
on a Software Repository had no permissions to administer said Software Repository. - Fixed an issue where it was not possible to use Instance Variables in configuration files without them also being used in process parameters.
- Fixed an issue where
applyOn
was ignored in Application Templates when used from Instance Templates.
Release 7.2.0
Features
- Instance Variables now have a proper definition in products. Instance templates are now no longer the place to define them, those now only contribute values to instance variables defined in the product. This enables tracking, creation, removal and general updating of existing variables when updating the product.
Note
The old mechanism (defining variables in the instance template) is still in place, but deprecated. Both mechanisms work hand in hand, however the new one should be used going forward, as the old one will be removed in future releases. - A complete rewrite of the instance variables and system variables UI aligns those to how the process parameter UI has been working a long time.
- The client launchers delegation mechanism has been removed. Instead of installing a matching launcher version for each used server, the newest launcher is now responsible always, regardless of server version. This works for all servers all the way back to
2.0.0
.Warning
This finally breaks compatibility of the launcher with 1.x servers. In case 1.x servers are still used, this is not possible when simultaneously using a 7.2+ server on the same launcher installation. - System templates will now search for and import products automatically if not yet present in the instance group. The logic will search all software repositories to find suitable product versions.
- Checking for product updates is now done in a separate call to improve load performance of the instance list.
Note
BDeploy will no longer show a "product update available" icon in the instance list, as this was tied to the information being calculated immediately. However this very much negatively impacted loading performance of large instance lists. The update information is now only available the entering an instance dashboard or configuration page. - Loading performance of the instance group browser and instance browser have been improved.
Improvements
- Add a lot more tests to assert release quality in the future.
- A lot of code cleanup to facilitate maintenance and development.
- Add a cycle detection when resolving variable references to avoid StackOverflowException.
- Improved detection of backend restart even if it is so fast that no requests from the frontend fail.
- Add the functionality to create a stack dump of the BDeploy server from the BDeploy Update UI without the need to restart it.
- Update all third party dependencies.
- Retheme and improve the UI of the client launchers application browser.
- Make sure right clicking a row in the client launcher will select this row before opening the context menu.
- Add a shortcut (F5) to the "Refresh All" action in the client launcher.
- Make sure that updates to the start scripts in the client launcher will not eagerly update information from the server.
- Update the start scripts to avoid unnecessary output when update succeeds.
- Add
-XX:-OmitStackTraceInFastThrow
as default parameter for the server, to avoid stack traces being unavailable for repeated exceptions. - Improved performance of instance group loading by no longer loading all instances. Instead, an alternative ID lookup is used, as this is the only required information to make instance searchable by ID from the instance group list.
- Opening a BDeploy link with
/api
at the end in the browser will now strip the/api
and redirect to the Web UI. - Add a cache that will serve repeated queries for products on the server. The cache is invalidated when products change or after 10 minutes.
- Completely remove locking from instance process controllers. This locking was simply too much (a left-over), as parallel operation is not only possible, but desired. This locking was causing deadlocks in very rare and very specific cases.
- Always prune BHives during master cleanup. This may prolong cleanup runs substantially, but the assumption that we only need to prune when cleanup actually deleted something was wrong; during normal daily operation manifests are created and deleted. Nightly cleanup must prune the objects of those.
- Make sure external links have
noreferrer
set to not give away user information. - When deleting instance versions, make more clear in the message that this is a normally undesired operation, and should only be performed if there is technical need.
- Support different development environments for BDeploy - Eclipse (backend only), VS Code and IntelliJ IDEA.
- Properly implement configuration file validation per node on the backend when editing instances.
- Add managed server named and URIs to the searchable properties of instance groups. Those can now be used to find instance groups on the instance group browser.
- Add copy & paste support for custom process parameters. This further aligns them with the new implementation of instance and system variables.
- Improved (and added where missing) the display of IDs throughout the Web UI. A copy action was added to ease copying of those IDs.
- Improve performance of areas of the Web UI which accesses the clipboard by making sure to process content only when it changes.
- Add restart and shutdown possibility to node maintenance. This allows to restart or shutdown any node, even the master. This can be done through the Web UI or through the
remote-master
CLI command. - Update a few icons in the Web UI and the client launcher to better align them.
- CLI tabular output has been much improved to take the terminal width into account and scale columns accordingly. If terminal width cannot be determined, a minimum width of 80 is assumed.
- Add possibility to manipulate all Web UI session timeout configuration in the
config
CLI command. Also document those timeouts. - Make sure to cleanup any token and ident files already created when
init
fails.
Fixes
- Fixed an issue where the process probes would not be displayed if there was only a liveness probe, but no startup probe.
- Fixed some column names in headers of CLI command output.
- Fixed an issue where updating the name of a client application in the configuration UI would not be properly reflected.
- Fixed an issue where long running BHive fetches could fail if the manifests to fetch were deleted in the meantime. This could happen easily for "quickly rotating" data using the
ManifestDeleteOldByIdOperation
operation to clean up old versions. - Fixed an issue for administrators where action titles would become empty when viewing actions on the server from a global scope, e.g. the Administration UI.
- Fixed a potential NullPointerException in the product update code related to instance variables.
- Fixed an issue where the
remote-central
command would fail if--sortByVersion
was not given. - Fixed an issue where we broke compatibility with tokens issued in 1.x releases of BDeploy. This is an issue when properly upgrading a server since 1.x - the tokens used internally or by central are typically still from that 1.x setup.
- Fixed an issue where the CLI would fail to properly detect parameter changes due to changed parameter conditions.
- Fixed an issue where deleting all files in a folder in data files would break the breadcrumb component.
- Fixed an issue where a recovering liveness probe would trigger a wrong/misleading entry in the instance history.
- Fixed an issue where bulk manipulation of products would use a different logic to calculate whether a product is used than the product details panel.
- Fixed an issue where setting an optional, not-present, global process parameter from the CLI would unintentionally overwrite other parameters.
- Fixed an issue where application uninstallers on linux where not working properly.
- Fixed an issue related to Firefox' clipboard implementation which made it nearly impossible to click or type on certain pages/panels. The "fix" is to disable clipboard access on Firefox for the time being.
- Fixed an issue where the repeatedly scheduled node monitoring on the master would stop for unknown reasons.
- Fixed an issue where having more than one node in an instance would lead to "Synchronization Failed" status on all but one node.
- Fixed an issue where the renaming of
lifenessProbe
tolivenessProbe
would make those probes disappear on older managed servers. - Fixed an issue with the validation of
{{IF:
expressions in the Web UI. - Fixed an issue where slow Windows & Anti-Virus combinations would exceed our retry timeout when renaming folders in certain scenarios - by increasing the timeout.
- Fixed an issue where setting a global parameter through an instance template would not set all instances of that parameter properly - but only when applied using a system template or the CLI.
- Fixed an issue where bulk-deleting a specific amount of instances would lead to a spurious error being displayed.
Release 7.1.7
Fixes
- Fixes an issue with offline start of client applications.
Release 7.1.6
Improvements
- Improved error messages when updating the Client Launcher fails due to it being currently running.
- Improved logging for offline start handling of the Client Launcher.
- Improved performance of loading of product versions from repositories during instance loading.
Fixes
- Fixed an issue where the
--key
argument of theremote-product
command was not properly validated (again). - Fixed Exception when calculating default user area on Windows.
- Fixed BDeploy browser not recognizing the BDEPLOY_INTERNAL_HOMEDIR environment variable.
- This had the effect that
launcher
/launcher.bat
(on Unix/Windows) failed to open the browser if --homeDir was not provided.
- This had the effect that
- Fixed versions being displayed multiple times in the dropdown menu of the instance creation panel if a product was uploaded in another browser session while the dialog was open.
- Fixed offline start behavior for delegate launchers.
- Corrected minor wrong message when migrating nodes.
- Fixed usage of system variables as boolean values in conditional parameters.