Merge pull request 'release-0-9-0' (#50) from release-0-9-0 into master
continuous-integration/drone/push Build is passing Details

Reviewed-on: #50
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
pull/43/head
Inex Code 2023-09-22 19:28:14 +03:00
commit c2956c9187
3 changed files with 328 additions and 0 deletions

View File

@ -0,0 +1,162 @@
---
title: "Version 0.9.0 Release"
linkTitle: "0.9.0"
date: 2023-09-10
description: >
Backups, DeSEC DNS and more!
---
![Release banner showcasing new UI](/images/releases/0.9.0-banner.png)
{{% pageinfo color="primary" %}}
This release is made possible with the support of [NlNet foundation](https://nlnet.nl/project/SelfPrivacy/)
{{% /pageinfo %}}
## Changelog
### Features
- **New backups implementation** ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228), [#274](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/274), [#324](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/324), [#325](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/325), [#326](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/326), [#331](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/331), [#332](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/332))
- **DeSEC as a DNS provider** ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- **DigitalOcean as a DNS provider** ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Support drawer and basic support documentation logic unit ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Automatic day/night theme ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- New router and adaptive layouts ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- New Material 3 animation curves ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Add jobs button to the app bar of more screens ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Refreshed UI of modal sheets ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Support for `XDG_DATA_HOME` storage path on Linux for app data ([#240](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/240))
- Accept-Language header for the server API ([#243](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/243), resolves [#205](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/205))
- Visible providers names during server recovery ([#264](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/264), resolves [#249](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/249))
- Volume and IPv4 cost added to overall monthly cost of the server ([#270](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/270), resolves [#115](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/115))
- Support for autofocus on text fields for keyboard displaying ([#294](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/294), resolves [#292](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/292))
- New dialogue to choose a domain if user DNS token provides access to several ([#330](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/330), resolves [#328](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/328))
- New app log console ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
### Bug Fixes
- Fix opening URLs from the app ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Fix parsing of RAM size with DigitalOcean ([#200](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/200), resolves [#199](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/199))
- Devices and Recovery Key cubits couldn't initialize right after server installation ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Fix BottomBar showing incorrect animation when navigating from sibling routes ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- PopUpDialogs couldn't find the context. ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Update recovery flow to use new support drawer ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Improve installation failure dialogues ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Privacy policy link pointed at wrong domain ([#207](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/207))
- Remove price lists for DNS ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- Implement better domain id check on DNS restoration ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- Add forced JSON content type to REST APIs ([#212](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/212))
- Remove unneded DNS check depending on CLOUDFLARE ([#212](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/212))
- Add background for dialogue pop ups and move them to root navigator ([#233](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/233), resolves [#231](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/231))
- Make currency be properly shown again via shortcode ([#234](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/234), related to [#223](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/223))
- Add proper server type value loading ([#236](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/236), resolves [#215](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/215))
- Implement proper load functions for DNS and Server providers ([#237](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/237), resolves [#220](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/220))
- Prevent moving a service if volume is null for some reason ([#245](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/245))
- Replace hard reset from server provider with direct server reboot ([#269](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/269), resolves [#266](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/266))
- Normalize Hetzner CPU usage percentage by cached amount of cores ([#272](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/272), resolves [#156](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/156))
- Change broken validations string for superuser SSH ([#276](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/27))
- Don't let service migration to start if the same volume was picked ([#297](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/297), resolves [#289](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/289))
- Wrap DNS check in catch to avoid runtime crash ([#322](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/322))
- Implement Backblaze bucket restoration on server recovery ([#324](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/324))
### Refactor
- Migrate to Flutter 3.10 and Dart 3.0
- Migrate to AutoRouter v6 ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Get rid of BrandText and restructure the buttons ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Remove brand alert dialogs and bottom sheet ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Remove unused UI components ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Remove BrandCards ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Allow changing values for TLS settings
- Replace String shortcode with Currency class ([#226](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/226))
- Rearrange Server Provider interface ([#227](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/227))
- Remove unused service state getters ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Remove unused utils, add duration formatter ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Move rest api methods according to their business logic files positions ([#235](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/235), partially resolves [#217](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/217) and [#219](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/219))
- Make flag getter a part of server provider location object ([#238](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/238), resolves [#222](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/222))
### Translation contributions
* Ukrainian
* FoxMeste (3)
* Mithras (31)
* Latvian
* Not Telling Lol (183)
* German
* Mithras (41)
* FoxMeste (213)
* Thai
* FoxMeste (77)
* Polish
* Mithras (41)
* Thary (43)
* FoxMeste (163)
* Slovenian
* Mithras (212)
* Czech
* NaiJi ✨ (2)
* Mithras (109)
* FoxMeste (308)
* Russian
* FoxMeste (4)
* Revertron (8)
* NaiJi ✨ (23)
* Mithras (54)
* Inex Code (59)
* Slovak
* Mithras (29)
* Revertron (396)
* Macedonian
* FoxMeste (7)
* Belarusian
* Thary (1)
* FoxMeste (3)
* Mithras (47)
* French
* Côme (211)
* Spanish
* FoxMeste (7)
* Azerbaijani
* Mithras (28)
* Ortibexon (403)

View File

@ -0,0 +1,166 @@
---
title: "Версия 0.9.0 Релиз"
linkTitle: "0.9.0"
date: 2023-09-10
description: >
Бекапы, DeSEC DNS и не только!
---
![Релизный баннер, демонстрирующий новый пользовательский интерфейс](/images/releases/0.9.0-banner.png)
{{% pageinfo color="primary" %}}
Релиз стал возможен при поддержке [NlNet foundation](https://nlnet.nl/project/SelfPrivacy/)
{{% /pageinfo %}}
## Список изменений
### Нововведения
- **Новая реализация резервного копирования (бекапов)** ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228), [#274](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/274), [#324](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/324), [#325](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/325), [#326](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/326), [#331](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/331), [#332](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/332))
- **DeSEC в качестве DNS провайдера** ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- **DigitalOcean в качестве DNS провайдера** ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Вспомогательные механизмы и окна подсказок ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Автоматическая смена дневной/ночной темы ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Новая адаптивная компоновка и порядок страниц ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Новые анимации из Material 3 ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Поддержка кнопки "Задач" для большинства экранов ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Новый интерфейс модальных окон ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Поддержка `XDG_DATA_HOME` директории в Linux ([#240](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/240))
- Поддержка Accept-Language заголовка для API сервера ([#243](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/243), реализует [#205](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/205))
- Отображение имен провайдеров при восстановлении доступа ([#264](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/264), реализует [#249](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/249))
- Отображение стоимости IPv4 и отдельного хранилища при расчёте стоимости сервера ([#270](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/270), относится к [#115](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/115))
- Поддержка автофокуса на текстовых полях для отображения клавиатуры ([#294](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/294), реализует [#292](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/292))
- Новый диалог для выбора домена из множества во время установки ([#330](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/330), реализует [#328](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/328))
- Новый журнал логов приложения ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
### Исправления
- Исправление URL-адресов из приложения ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Исправление парсинга количества оперативной памяти в DigitalOcean ([#200](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/200), реализует [#199](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/199))
- Исправление инициализации кубитов во время восстановления ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Исправление некорректной анимации нижней панели ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Исправление потерянного контекста для всплывающих диалогов ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Обновление поведения окон подсказок во время восстановления ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Улучшение диалогов о сбоях при установке ([#213](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/213))
- Исправление ссылки на политику конфиденциальности ([#207](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/207))
- Удаление прайс-листов для DNS ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- Реализация улучшенной проверки идентификатора домена при восстановлении DNS ([#211](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/211))
- Добавление принудительного типа содержимого JSON в REST API ([#212](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/212))
- Устранение незарегистрированной проверки DNS для CLOUDFLARE ([#212](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/212))
- Добавление фона для всплывающих диалоговых окон и перемещение их в корневой навигатор ([#233](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/233), реализует [#231](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/231))
- Исправление отображения валюты ([#234](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/234), относится к [#223](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/223))
- Реализация правильной загрузки значения типа сервера из хранилища ([#236](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/236), реализует [#215](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/215))
- Исправление функций загрузки для DNS и сервер провайдеров ([#237](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/237), реализует [#220](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/220))
- Запрет перемещения сервиса, если диск по какой-либо причине пустой ([#245](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/245))
- Заменен сброс от сервер провайдера на перезагрузку через API сервера ([#269](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/269), реализует [#266](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/266))
- Нормализация нагрузки на процессор для Hetzner с помощью кеширования ([#272](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/272), реализует [#156](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/156))
- Изменение неработающей строки валидации для SSH суперпользователя ([#276](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/27))
- Запрет запуска миграции сервиса если был выбран один и тот же раздел ([#297](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/297), реализует [#289](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/289))
- Исправление сбоя DNS проверки во время установки ([#322](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/322))
- Реализация восстановления хранилища Backblaze при восстановлении сервера ([#324](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/324))
### Улучшения
- Обновление до Flutter 3.10 и Dart 3.0
- Обновление до AutoRouter v6 ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Удаление BrandText и реструктуризация кнопок ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Удаление Brand диалогов и всплывающих страниц ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Удаление неиспользуемых компонентов интерфейса ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Удаление BrandCards ([#203](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/203))
- Разрешение изменения значений для настроек TLS
- Исправление шорткода String на класс Currency ([#226](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/226))
- Изменение интерфейса провайдера сервера ([#227](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/227))
- Удаление неиспользуемых геттеров состояния сервиса ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Удаление неиспользуемых утилит ([#228](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/228))
- Реструктуризация методов REST API в соответствии с их позициями в файлах бизнес-логики ([#235](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/235), частично реализует [#217](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/217) и [#219](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/219))
- Добавление геттера для флага в объект локации сервера ([#238](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/238), реализует [#222](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/222))
### Помогли с переводом
* Украинский
* FoxMeste (3)
* Mithras (31)
* Латвийский
* Not Telling Lol (183)
* Немецкий
* Mithras (41)
* FoxMeste (213)
* Тайский
* FoxMeste (77)
* Польский
* Mithras (41)
* Thary (43)
* FoxMeste (163)
* Словенский
* Mithras (212)
* Чешский
* NaiJi ✨ (2)
* Mithras (109)
* FoxMeste (308)
* Русский
* FoxMeste (4)
* Revertron (8)
* NaiJi ✨ (23)
* Mithras (54)
* Inex Code (59)
* Словацкий
* Mithras (29)
* Revertron (396)
* Македонский
* FoxMeste (7)
* Белорусский
* Thary (1)
* FoxMeste (3)
* Mithras (47)
* Французский
* Côme (211)
* Испанский
* FoxMeste (7)
* Азербайджанский
* Mithras (28)
* Ortibexon (403)

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB