* Added support for Skyhash 1.0 (see [#147](https://github.com/skytable/skytable/pull/147))
* Fixed persistence bugs (see [#151](https://github.com/skytable/skytable/pull/151))
* Fixed bugs in background services (see [#152](https://github.com/skytable/skytable/pull/152))
* Make BGSAVE recoverable (see [#153](https://github.com/skytable/skytable/pull/153))
* Added `lskeys` action (see [#155](https://github.com/skytable/skytable/pull/155))
* Added `compat` module (see [#158](https://github.com/skytable/skytable/pull/158))
* Added backward compatibility for storage formats all the way upto 0.3.0. See [this wiki article](https://github.com/skytable/skytable/wiki/Disk-storage-formats) for more information
### Upgrading existing clients
As Terrapipe 1.0 has reached EOL, all clients have to be upgraded to use the [Skyhash 1.0 Protocol](https://docs.skytable.io/protocol/skyhash).
### Upgrading existing datasets
Please refer to [this wiki article](https://github.com/skytable/skytable/wiki/Disk-storage-formats).
### Improvements in the new protocol (Skyhash)
* Upto 40% lower bandwidth requirements
* Upto 30% faster queries
* Support for recursive arrays
* More robust and well tested than Terrapipe
### Internal codebase improvements
* BGSAVE is now tested by the test suite
*`skysh` and `sky-bench` both use the [Rust client driver for Skytable](https://github.com/skytable/client-rust).
* ⚠ Positional arguments in `tsh` and `tdb-bench` have been removed
*`MKSNAP` now has an _enhanced version_ which enables snapshots to be created even if they're disabled on the server side
* If `BGSAVE` fails, no more writes will be accepted on the server side. All commands that try to modify data will return an internal server error
*`tdb-bench` now provides JSON output with the `--json` flag
* The `Dockerfile` was fixed to use command line arguments instead of the configuration file which caused problems
* The `enabled` key under the `snapshots` key in the configuration file has been removed
### Upgrading
* Users who ran `tsh` like `tsh 172.17.0.1 2003` will now need to run:
``` shell
tsh -h 172.17.0.1 -p 2003
```
* Users who ran `tdb-bench` like `tdb-bench 10 100000 4` will now need to run:
``` shell
tdb-bench -c 10 -q 100000 -s 4
```
* To enable snapshots, you just have to add the key: there is no need for the `enabled` key. To disable snapshots, you just have to omit the `snapshot` key (block) from your configuration file
The Terrapipe protocol was revised and promoted to 1.0. This will cause all existing client implementations to break, since the protocol has changed fundamentally. The clients have to implement the [latest spec](https://terrabasedb.github.io/docs/Protocols/terrapipe).
The only significant change in the protocol is the new metalayout format: `#a#b#c` instead of the previously proposed `a#b#c#` .
### Disk storage format
The disk storage format was changed rendering existing binary data files incompatible. However, if you have any existing data - which is important, open an issue - because we'll be able to provide a tool that can help you easily migrate your existing datasets - with a one line command - so - no worries!