# Changelog
## [Unreleased]
+
+## [0.9.0] - 2021-09-12
+**Attention**: Now requires native libsignal-client version 0.9
+
### Breaking changes
-- Removed deprecated `--json` parameter, use `--output=json` instead
+- Removed deprecated `--json` parameter, use global parameter `--output=json` instead
- Json output format of `listGroups` command changed:
- Members are now arrays of `{"number":"...","uuid":"..."}` instead of arrays of strings.
+ Members are now arrays of `{"number":"...","uuid":"..."}` objects instead of arrays of strings.
- Removed deprecated fallback data paths, only `$XDG_DATA_HOME/signal-cli` is used now
For those still using the old paths (`$HOME/.config/signal`, `$HOME/.config/textsecure`) you need to move those to the new location.
### Added
- New global parameter `--trust-new-identities=always` to allow trusting any new identity key without verification
-- New parameter `--device-name` for `updateAccount` command to update the device name
+- New parameter `--device-name` for `updateAccount` command to change the device name (also works for the main device)
+- New SignalControl DBus interface, to register/verify/link new accounts
+- New `jsonRpc` command that provides a JSON-RPC based API on stdout/stdin
+- Support for announcement groups
+- New parameter `--set-permission-send-messages` for `updateGroup` to create an announcement group
+- New `sendReceipt` command to send read and viewed receipts
+- Support for receiving sender key messages, mobile apps can now send messages more efficiently with server-side fan-out to groups with signal-cli members.
+- Support for reading data from remote Signal storage. Now v2 groups will be shown after linking a new device.
+- New `submitRateLimitChallenge` command that can be used to lift some rate-limits by solving a captcha
+
+### Fixed
+- Store identity key correctly when sending a message after a recipient has changed keys
## [0.8.5] - 2021-08-07
### Added
To be able to link to an existing Signal-Android/signal-cli instance, signal-cli uses a [patched libsignal-service-java](https://github.com/AsamK/libsignal-service-java), because libsignal-service-java does not yet support [provisioning as a linked device](https://github.com/WhisperSystems/libsignal-service-java/pull/21).
For registering you need a phone number where you can receive SMS or incoming calls.
signal-cli is primarily intended to be used on servers to notify admins of important events. For this use-case, it has a dbus interface ([man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli-dbus.5.adoc)), that can be used to send messages from any programming language that has dbus bindings.
+It also has a JSON-RPC based interface, see the [documentation](https://github.com/AsamK/signal-cli/wiki/JSON-RPC-service) for more information.
## Installation
*-v* VERIFIED_SAFETY_NUMBER, *--verified-safety-number* VERIFIED_SAFETY_NUMBER::
Specify the safety number of the key, only use this option if you have verified the safety number.
+Can be either the plain text numbers shown in the app or the bytes from the QR-code,
+encoded as base64.
=== updateProfile