# 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.0. 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.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