Skip to content

Releases: bdeployteam/bdeploy

Release 7.4.0

02 Dec 11:48
Compare
Choose a tag to compare

Features

  • Update to Angular 19.
  • Partially re-introduce settings of current working directory in the client application launcher. The new logic will default to setting the working directoy to the bin directory again, except for when a startScriptName is set. In that case, the current working directory will remain untouched.
  • Intermediate instance state will now show when processes are in transition (starting/stopping) in the instance lists overal instance states.

Improvements

  • Added dependency to network-online to linux service template.
  • Introduced data-types for template variables. The default remains STRING. Different data-types will provide different editors in the template Web UI.
  • Added possibility to restrict output of remote-instance to a specific MANAGED server on CENTRAL.
  • Added unattended mode to Linux client application installers to align with the Windows installers.
  • Added a few more locations where IDs are displayed in the dedicated ID format, added more copy to clipboard buttons.
  • Adjusted some spacing, padding and gaps in details panels to maximize space usage.
  • Various improvements to the documentation, especially the troubleshooting guide.
  • Make sure that an instance template has a mapping for at lease one group in all scenarios.
  • Align MANAGED server details dialog layout on CENTRAL Web UI with other panels.
  • Further improvements to the --open flag, to handle even more scenarios.
  • Further tune logging to be more streamlined, informative and less spamming.
  • Further improvements to documentation and tutorials.
  • Introduce separate page for node details on CENTRAL to provide more in depth details of MANAGED nodes with more space available.
  • Rework the arguments on the remote-instance tool to utilize the --name argument more, e.g. when creating an instance. --create in turn no longer accepts a name.
  • Maximize the network port details panel for server processes to provide more room for the information.
  • Rework the semantics of the --join argument on remote-process. It will now wait for completion (termination) of a process only if that process has start type MANUAL or MANUAL_CONFIRM. In case of INSTANCE it will instead wait for startup of the application to complete. Also, --join can be used to await --stop commands.
  • Added more possible instance modifications to the remote-instance CLI tool.

Fixes

  • Fixed an issue where unloadable instances would break the Web UI.
  • Fixed some column titles in different data tables to be more consistent.
  • Fixed discarding of modifications when navigating through administration pages.
  • Fixed update of client applications stored information after launching the associated client application.
  • Fixed issues with instance/system variables being required.
  • Fixed various race conditions and locking issues in low level APIs.
  • Fixed issue with handling of the --homeDir argument internally, which led to issues with uninstaller and autostart commands on Linux clients.
  • Fixed an issue with the values transferred to the UI containing potentially sensitive information about the target systems.
  • Fixed enablement of the product update available button in case the instance ist not synchronized on the CENTRAL.
  • Fixed missing tooltip content for conditional parameters using the expression mode.
  • Fixed automatically adding/removing of conditional parameters when adding/removing another conditional parameter.

Release 7.3.6

15 Nov 11:27
Compare
Choose a tag to compare

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

12 Nov 09:00
Compare
Choose a tag to compare

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

07 Nov 10:24
Compare
Choose a tag to compare

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

31 Oct 09:51
Compare
Choose a tag to compare

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

30 Oct 13:22
Compare
Choose a tag to compare

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

24 Oct 12:03
Compare
Choose a tag to compare

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

23 Oct 13:09
Compare
Choose a tag to compare

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 and CENTRAL 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 and remote-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 and CENTRAL 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

20 Sep 12:23
Compare
Choose a tag to compare

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 to livenessProbe 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

09 Aug 11:35
Compare
Choose a tag to compare

Fixes

  • Fixes an issue with offline start of client applications.