# Update procedure

Note that the automatic updater is broken in version 1.6.0. It will freeze the application and not perform the update. **So do not try to click the install button in XPipe**!
You have to install it manually from https://github.com/xpipe-io/xpipe/releases/tag/1.7.2. You can easily do this as uninstalling the old version does not delete any user data. Installing a newer version of XPipe also automatically uninstalls any old ones, so you don't have to manually uninstall it.

## Changes in 1.7.2

### Bring your scripts with you

This update introduces a new toggle available for all scripts that if enabled, will automatically copy these scripts to the target system and put them into the PATH when launching a new terminal session. This allows you to easily call your scripts on any system without any setup.

### Professional edition changes

After taking feedback and examples of other applications into consideration, I restructured the professional edition pricing.
There is now the option for a one-time payment, which will give you permanent access to all current professional features plus all that are released in the next year.
This one-time payment also makes it possible accept a lot more payment methods than before.

### Other changes

- Fix refresh of connections leading to an inconsistent state and some connections not being displayed
- The CI pipeline is now fully automated including ARM builds for Linux and macOS
- Improve startup time on Linux and macOS by skipping tray initialization
- Add support for tray icon on newer Gnome desktop environments
- Add support qterminal, xterm, and deepin-terminal
- Fix configs being unnecessarily saved even when not needed
- Fix application not starting up on newer Gnome desktop environments
- Fix killing of local unresponsive shell leading to further errors

## Changes in 1.7.0

### Scripts

XPipe 1.7 comes with a new scripting system, you now can take your environment everywhere.
The idea is to create modular and reusable init scripts in XPipe that will be run on login but are independent of your profile files.
You can set certain scripts to be executed for every connection, allowing you to create a consistent environment across all remote systems.

As of now, there is only one set of scripts for enabling starship in your shell connections as a proof of concept.
However, you can contribute custom scripts [here](https://github.com/xpipe-io/xpipe/tree/master/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java) and [here](https://github.com/xpipe-io/xpipe/tree/master/ext/base/src/main/resources/io/xpipe/ext/base/resources/scripts).

### Connection states

The second big change is a rework of the state system.
This merges the process of validating/refreshing with the process of establishing a connection, allowing for a much faster creation and launch of new connections.
It also enables a custom display and instant updates of the information displayed for a connection.
You will definitely notice this change when you connect to a system.

### Performance improvements

The entire storage and UI handling of connections has been reworked to improve performance.
Especially if you're dealing with a large amount of connections, this will be noticeable.

### Colors

You can now assign colors to connections for organizational purposes to help in situations when many connections are opened in the file browser and terminals at the same time.
These colors will be shown to identify tabs everywhere within XPipe and also outside of XPipe, for example in terminals.

### Other changes

- Codesign executables on Windows
- Fix application not starting up or exiting properly sometimes
- Add support for bsd-based systems
- Fix OPNsense shells timing out
- Make window transparency setting a slider
- Save configuration data more frequently to avoid any data loss
- Fix shutdown error caused by clipboard being inaccessible
- Fix some environment scripts not being sourced correctly
- Fix autoupdater not working properly
- Fix application not exiting properly on SIGTERM
- Many other small miscellaneous fixes and improvements