# Changelog ## authorization_tokens branch - Added authorization tokens module to allow - Having more than one device controlling the server - Refreshing the current token - Obtaining a recovery token ### API changes - ## 1.1.1 Released on 26 Jan 2022 - Added [[migrations|migration module]] which handles one-shot actions which cannot be done by nixos-configuration. - Added [[migrations#Fix NixOS configuration branch|migration]] which changes rolling-testing branch to master, bug introduced in 0.4.0 version of the app. ## 1.1.0 Released on 9 Dec 2021 - Added system configuration endpoints. - SSH management. - Backups controller. - Systemd is now used for system rebuilds. - `WriteUserData` and `ReadUserData` utils added to reduce boilerplate of file locking. - Unit tests are now a thing. ### API changes - `/system/upgrade` is now `/system/configuration/upgrade`. - `/api/version` added. - `/services/ssh` added. - `/services/ssh/` added. - `/configuration/timezone` added. - `/configuration/autoUpgrade` added. - `/restic/backblaze/config` added. - `/system/configuration/pull` added. - `/services/restic/backup/reload` added. --- # Pre-1.1.0 changes This is an API refactoring stage. There was no endpoint to retrieve API version, but these all were referenced as 1.1.0 version in code. ## [Input sanitization, added swagger](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/5) Released on 17 Nov 2021 - **Addressed [[vulnerabilities#SPCVE-0001|SPCVE-0001]].** - Added Swagger documentation. ## [Add basic API auth](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/4) Released on 16 Nov 2021 - Added basic token auth. ## [Move to JSON controlled server settings](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/3) Released on 16 Nov 2021 - **Assumes server already moved to JSON-controlled Nix config**. - System is now configured by usage of userdata.json. - File locking is used now. ## [Decomposition](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/2) Released on 12 Nov 2021 ### API changes * `/systemVersion` is now `/system/version`. * `/getDKIM` is now `/services/mailserver/dkim`. * `/pythonVersion` is now `/system/version/pythonVersion`. * `/users/create` is now `POST` on `/users`. * `/users/deleteUser` is now `DELETE` on `/users`. * `/services/SERVICE_NAME/enable` and `/services/SERVICE_NAME/disable` now also return message in their responses. * `/services/ssh/key/send`: response field `result` renamed to `status`. ### Other changes * Moved to Python 3.9. * Moved to `flask_restful`'s `Resource` objects. * `distutils` is [deprecated](https://docs.python.org/3/whatsnew/3.10.html#distutils-deprecated), moved to `setuptools`. ### Code formatting [Black](https://github.com/psf/black) is used for code *formatting*. No *linting* rules applied yet.