Skip to content

Release 7.1.0

Compare
Choose a tag to compare
@mduft mduft released this 20 Jun 10:58
· 621 commits to master since this release

Features

  • Support wait type WAIT_UNTIL_STOPPED for process control groups. Starting a process in such a group will wait for the process to exit again. Can be used (for instance) to run certain preparative tools before launching the actual application, or running certain tools in order which need to run in sequence.
  • It is now possible (and the new default) to expand variables in the command line preview of an application in Configure Parameters.
  • Introduce dedicated log file storage. Use the new --logData argument while init, or using the config command on existing installations to set this up. When not set up explicitly, the log data directory will resolve to the existing {{P:DATA}} for each instance. When set up, {{P:LOG_DATA}} will resolve to an instance specific subdirectory of the configured log data directory.
  • Support the "All Users" automatic user group, which allows configuration of "public" permissions for artifacts in BDeploy.

    Warning
    This change removes the "automatic" public status of Software Repositories. To emulate the previous behaviour, all Software Repositories need to have a READ permission assigned manually for the All Users group.

  • Support installing and activating instance configurations even when certain nodes participating in that configuration are offline. Installation of the missing bits is done when the node comes back online. Accompanying UI changes will hide node contents on the instance dashboard when the node is offline or not yet brought up to the required state (shown as "Synchronizing").
  • Autostart support for CLIENT applications. The BDeploy launcher will now add itself to operating system autostart when running the installer (always). On startup it will check for to-be-started applications and run them just as usual. Applications must specify that they are autostart-capable by setting the supportsAutostart attribute in the processControl section of app-info.yaml; autostart can then still be enabled or disabled in the instance configuration as well as manually by the end-user in the BDeploy launcher.
  • Add support for the startScriptName attribute in the processControl section of app-info.yaml. The given name will be made available in the PATH of the user installing the application. The user can then access the installed application using this name from any terminal.
  • Add support for better content assist and inline as well as overall configuration file validation regarding linked value expressione (e.g {{X:var}}). Unresolvable expressions will be marked as error in the editor, and saving will not be possible in the instance configuration.

    Warning
    This feature only validates when files are changed in the online editor. Also, there are a few things that worked in the past "by accident", for example referencing application parameters from a configuration file. This will no longer pass validation (intentionally). For now, these changes only affect the online editor, not the actual validation on the backend, so saving is possible even with warnings. This will change in a future release.

  • Add support for starting CLIENT applications even when the server is not reachable temporarily. This needs to be allowed using the offlineStartAllowed flag of the processControl section in app-info.yaml. If allowed, failing to contact the server will no longer abort the launch of an already installed application on the client.
  • Add support for file associations to CLIENT applications using the fileAssocExtension attribute of the processControl section in app-info.yaml. Setting this (e.g. to .myext) will associate files with this extension on the client PC with the application.

Improvements

  • Update all third party dependencies, most notably Angular 18.
  • Add support for loginStorage to the gradle plugin.
  • Many, many small improvements to the overall code quality, maintainability and readability.
  • Many, many small improvements to the user documentation (typos, capitalization, phrasing).
  • Many small improvements to user feedback, adding a lot more clarity to many messages and documentation.
  • Allow arithmetic (+ and -) for all linked values. Previously only template variables allowed arithmetic, now (almost) all expansions can use it, e.g. {{X:my-instance-var:+2}}.
  • Improved the hierarchical data files (and log files) browsers to be able to search for filenames in sub-directories. This functionality was lost when switching from a flat list to a hierarchical display.
  • Added support for writing launcher logs on linux as well.
  • Improved meta-data displayed for executables and associated files on Windows.
  • Add and align validators for certain use cases in the frontend, e.g. E-Mail addresses.
  • Removed the option to download a "portable" launcher as ZIP file from the Web UI. Those launcher ZIPs - if actually ever required - can be grabbed from the binary distribution ZIP file instead.
  • Improve disabled button handling in the frontend to explain better why buttons are disabled.
  • Add a --open flag to the remote-instance tool to open the instance dashboard in the browser directly from the CLI.
  • The local login tool (bdeploy login) now no longer listens to the BDEPLOY_REMOTE environment variable to avoid confusion with other commands, as the meaning was slightly different.
  • Add the --status flag to the remote-system tool to grab the overall runtime status report for each instance in a given system.
  • Add the --start, --stop and --restart flags to the remote-system tool, allowing to issue start/stop/restart commands to all instances in a system.
  • Add the possibility for secure password input request on the console of the remote-user tool when no password is given on the CLI.
  • Made the --version argument to the remote-transfer tool optional. Not passing it will transfer the determined latest version of the product.
  • Add the --regex argument to the remote-transfer tool allowing the --version argument to specify a regular expression instead of a full version.
  • Changed the remote-product tool to allow filtering the --list result by product key and version, optionally version being a regular expression.
  • Bulk-deletion of products now uses a single call to the backend to delete all selected products. This has multiple benefits including avoidance of connection overuse and also the ability to skip products which are still in use without aborting the overall process.
  • Added the optional --openUrl argument to the login commands --open argument, allowing to open any arbitrary URL within a given remote BDeploy in the browser.
  • Added the possibility to update bin/bdeploy.bat automatically during update.

    Warning
    This change does not affect existing installations of BDeploy. To be able to benefit from future updates, you need to manually copy bin/bdeploy.bat and bin/_bdeploy.bat from a 7.1+ installation or the 7.1+ distribution ZIP.
    Note
    The update of the bat file happens only when initially starting the bat file (e.g. on server boot). This is due to limitations in bat files in general.

  • Install and activate triggered through a CENTRAL will now properly update the MANAGED servers UI as well.
  • Updated splash art for the BDeploy launcher, as well as adding the SSI Schaefer logo to a few places (login, splash, readme, documentation).
  • Uninstalling an application will now ask for confirmation regardless of how and where it is being uninstalled. Previously only uninstalling from the launcher application would ask for confirmation. Now uninstalling from Add/Remove Software or from the CLI will also prompt for confirmation. If not wanted, this can be disabled using the --yes command line flag.

Fixes

  • Fixed processing order of template variables to be the same as defined in the template, not lexically sorted.
  • Fixed spelling of liveness probes - previously misspelled as lifeness probes.
  • Fixed cleanup logic related to BDeploy launchers to no longer erroneously delete launcher versions even though they are still required.
  • Fixed issues messing up the launcher UI when using dark theme on different operating systems.
  • Fixed discarding of streams (stdout and stderr) when launching applications to no longer block in case the target application writes output.
  • Fixed an issue where the system variables page would be initially empty even though variables existed.
  • Fixed an issue where operating system issues with process cleanup would break the process controller when trying to figure out exit codes of processes.
  • Fixed an issue where the --open flag of the login command would not properly hand over the one-time-password used for automated login to the browser application.
  • Fixed an issue where cookies would not be transferred correctly when proxying requests through BDeploy. This restores limited inline-capability for certain Web UI endpoints.