## Scripting improvements

The scripting system has been reworked in order to make it more intuitive and powerful.

The script execution types have been renamed, the documentation has been improved, and a new execution type has been added. The new runnable execution type will allow you to call a script from the connection hub directly in a dropdown for each connection when the script is active. This will also replace the current terminal command functionality, which has been removed.

Any file browser scripts are now grouped by the scripts groups they are in, improving the overview when having many file browser scripts. Furthermore, you can now launch these scripts in the file browser either in the background or in a terminal if they are intended to be interactive. When multiple files are selected, a script is now called only once with all the selected files as arguments.

## More terminal support

There is now support to use the following terminals:
- Termius
- MobaXterm
- Xshell
- SecureCRT

These work via a local SSH bridge that is managed by XPipe.

## Teleport support

There is now support to add teleport connections that are available via tsh. You can do that by searching for available connections on any system which has tsh installed. This is a separate integration from SSH, SSH config entries for teleport proxies do not work and are automatically filtered out. It solely works through the tsh tool.

This feature is available in the Professional edition and is freely available to anyone for two weeks after this release using the Pro Preview.

## Workspaces

You can now create multiple user workspaces in the settings menu. This will create desktop shortcuts that you can use to start XPipe with different workspaces active. Having multiple workspaces is useful if you want to separate your personal and work environments for example.

This feature is available in the Professional edition and is freely available to anyone for two weeks after this release using the Pro Preview.

## TTYs and PTYs

Up until now, if you added a connection that always allocated pty, XPipe would complain about a missing stderr. This was usually the case with badly implemented third-party ssh wrappers and proxies. In XPipe 11, there has been a ground up rework of the shell initialization code which will allow for a better handling of these cases. You can therefore now also launch such connections from the hub in a terminal. More advanced operations, such as the file browser, are not possible for these connections though.

## Serial connection support

There is now support to add serial connections. This is implemented by delegating the serial connection to another installed tool of your choice and opening that in a terminal session.

Note that this feature is untested due to me not having physical serial devices around. The plan for this feature is to evolve over time with user feedback and issue reports. It is not expected that this will actually work at the initial release. You can help the development of this feature by reporting any issues and testing it with various devices you have.

## Pricing model updates

I received plenty of user feedback and had time to observe the inner workings of potential customers, so I changed the old pricing model to one that should capture the demand better. The old pricing model was created at a time when XPipe had no customers at all and did not reflect the actual user demand. The main changes are the addition of a homelab plan, a monthly subscription, and some changes to the one-year professional edition.

All changes only apply to new orders. If you have previously purchased any XPipe edition, nothing will change for you. Any prices and conditions will stay the same for you. The community edition is also not changed. If you are interested, you can read about the changes in detail at `https://xpipe.io/blog/pricing-updates`.

## Fixes

- Fix git sync freezing when using ssh key with passphrase
- Fix git sync restarting daemon after exit when using git ssh key with passphrase
- Fix git vault readme not being generated on first push when no connections were added
- Fix terminal exit not working properly in fish
- Fix renaming a connection clearing all saved state information
- Fix script enabled status being wrong after editing an enabled script
- Fix download move operation failing when moving a directory that already existed in the downloads folder
- Fix some scrollbars unnecessarily showing
- Fix file browser list jumping around on first show
- Fix missing libxtst6 dependency on some debian-based systems
- Fix file browser root session not applying same color of original connection
- Fix macOS kitty terminal netcat incompatibility with homebrew versions

## Other

- Categories can now be assigned colors
- There is now support to view and change users/groups in the file browser
- External git vault data files are now also encrypted by default
- Rework state information display for proxmox VMs
- Automatically fill identity file for ssh config wildcard keys as well
- Improve error messages when system interaction was disabled for a system
- Don't show git vault compatibility warnings on minor version updates
- Enable ZGC on Linux and macOS
- Some small appearance improvements
- Many other miscellaneous fixes all over the place
