## Docker

This release introduces support for docker compose. Containers in compose projects are grouped together and can be managed all at the same time via compose project entries.

The container state information shown is also improved, always showing the container state in combination with the system information.

## Batch mode

There is now a batch mode available which allows you to select multiple systems via checkboxes and perform actions for the entire batch. This can include starting/stopping, automatically adding available subconnections, or running scripts on all selected systems.

You can toggle the batch mode in the top left corner.

## Terminals

The terminal integration comes with many new features, so make sure to check out the settings menu:
- There is now built-in support for the terminal multiplexers tmux, zellij, and screen. This is especially useful for terminals without tabbing support.
- There is also now built-in support for custom prompts with starship, oh-my-posh, and oh-my-zsh.
- On Windows, you now have the ability to use a WSL distribution as the terminal environment, allowing you to use the new terminal multiplexer integration seamlessly on Windows systems as well.

## Password managers

The password manager integrations have been upgraded:
- There is now support for KeePassXC (Thanks to @illnesse for the large contribution of this feature)
- All password manager integrations have been reworked to work out of the box without configuration
- There is now support to use password manager SSH agents more easily
- The documentation site now contains setup instructions for all supported password managers
- You can now unlock the xpipe vault with your password manager
- Password manager requests are cached, fixing potential password manager overload issues when a lot of passwords are queried
- The password $KEY identifier has been adapted to reflect the individual name/schema of the password key reference

## SSH

Various improvements were made to the SSH implementation:
- The SSH gateway implementation has been reworked so that you can now use local SSH keys and other identities for connections with gateways
- The VSCode SSH remote integration has been reworked to allow more connections it to be opened in vscode. It now supports essentially all simple SSH connections, custom SSH connections, SSH config connections, and VM SSH connections. This support includes gateways
- There is now built-in support to refresh an SSO openpubkey with the opkssh tool when needed
- When the SSH password is set to none, XPipe will no longer prompt for it anyway if the preferred auth failed
- There is now the option to enable verbose ssh output to diagnose connection issues better
- For VMs, you can now choose to not use the hypervisor host as SSH gateway and instead directly connect to the VM IP

## Category configuration

There is now a new category configuration dialog available. You can find it by clicking on any category -> Configure. The goal of this is to unify the various available configuration options for categories, such as git sync status, color, and more.

This was added to give finer-grained control over how and when to enable scripts on systems within the category, especially now that there is now support for terminal prompts that can be automatically installed on a system. If you have production systems in a category, you can now exclude those easily from any kind of custom scripting functionality and other modifications to not touch them at all. 

The available configuration options will also be expanded in future updates.

## Other

- Generated connection names, e.g. VM names, will now automatically update on refresh when they were changed
- Various speed improvements for shell operations
- Various startup speed improvements
- You can now launch custom scripts within XPipe with a command output dialog window without having to open a terminal
- Various installation types like the linux apt/rpm repository and homebrew installations now support automatic updates as well
- Improve sudo file write dialog to support more permission cases
- Handle cases where file transfer was interrupted better by not overriding the open local file on re-edit with a blank file
- Many dialog windows have now been merged with the main window
- The settings menu has been updated to support continuous scrolling
- Key files synced via git are now synced as pairs if a public key is available
- The script context menus will now use the respective icons of the script entries
- The k8s integration will now automatically add all namespaces for the current context when searching for connections
- The application window will now hide any unnecessary sidebars when being resized to a small width. This makes it much easier to use XPipe in a tiling window arrangement
- The webtop has been updated to have terminal multiplexers, proper konsole tab support, disabled kwallet, and more
- Various error messages and connection creation dialogs now contain a help link to the documentation sections
- The Windows application will now block the shutdown until save/sync has finished, preventing vault corruption caused by a sudden system shutdown
- RDP tunnel connections can now be configured with custom authentication and additional RDP options
- There is now a new introduction quick setup dialog to set the most important options on startup
- The scripts context menu now shows the respective scripts icons instead of generic ones
- The predefined sample script selection has been updated
- Add setting to disable HTTPs TLS verification for license activation API calls for cases where TLS traffic is decrypted in your organization
- Clarify more git password prompts for when a token was required
- Upgrade to GraalVM OpenJDK 24
- Add Korean translations

## Fixes

- Fix various embedded and busybox systems failing to open in file browser when essential commands like stat were missing
- Fix Windows msi updates failing when initial installation was installed per-user with Administrator privileges (will only work for new installs)
- Fix Windows msi updates launching XPipe as Administrator when restarting if it was a system-wide program files installation
- Fix some dialog content shifting around on initial show
- Fix custom service commands not launching properly with PowerShell as the local shell
- Fix update check being influenced by the local GitHub rate limiting
- Fix some file browser terminal dock window ordering issues
- Fix Windows terminal launch failing if default profile was set to launch as admin
- Fix tailscale login check not opening website on Linux
- Fix terminal connections failing to launch for some systems with a read-only file system
- Fix Windows Terminal launch failing if it was not added to the PATH
- Fix some launched applications exiting on Windows if XPipe is closed
- Fix powershell profile modules potentially breaking powershell shell environments
- Fix terminal launch failing on Windows when connection name contained some special characters
- Fix selfhst icons git clone not reliably working for chinese users
- Fix application restart after update not applying current workspace directory
