diff --git a/.markdownlint.json b/.markdownlint.json index e120670..748b4b5 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,4 +1,6 @@ { "MD013": false, - "MD033": false + "MD024": false, + "MD033": false, + "MD041": false } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..dffb265 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,218 @@ +# Changelog + +English | [Русский](./CHANGELOG.ru.md) + +Full changelog of _Belarus Launcher_ project + +## Release 3.0 (May 2024) + +### Common + +- Updated target framework to .NET 8 (@Drombeys) +- Updated XamlStyler settings (@Drombeys) +- Added basic config for PVS-Studio (@Drombeys) +- Updated NuGet packages (@Drombeys) +- Updated readme (@Drombeys) +- Restyled codebase (@Drombeys) +- Enabled Native AOT (@Drombeys) +- Enabled caching dependencies (@acidicMercury8) +- Enabled NuGet lock files (@acidicMercury8) +- Enabled markup formatting (@acidicMercury8) +- Updated Visual Studio Install config (@acidicMercury8) +- Added badges to readme (@acidicMercury8) +- Improved building workflows (@acidicMercury8) +- Fixed warnings (@Drombeys) + +### Launcher + +- Disabled launching multiple application instances (@acidicMercury8) +- Added file size output to log (@Drombeys) +- Reworked logger (@Drombeys) +- Implemented splash screen manager (@Drombeys) +- Implemented zipped release download (@Drombeys) +- Added launcher settings migrator (@Drombeys) +- Improved request logging (@Drombeys) +- Added pause on downloading (@Drombeys) +- Added locale if it's undefined in user settings (@Drombeys) +- Implemented caching of web resources and news (@Drombeys) +- Saved logs and current release to separate folder (@Drombeys) +- Decomposed `ImeSense.Launchers.Belarus` project (@Drombeys) +- Added SSL protocol settings (@Drombeys) +- Fixed pressed colors in `ComboBox` control (@Drombeys) +- Fixed excessive memory allocation in `AxamlLocaleManager` class (@Drombeys) +- Refactored locale manager module (@Drombeys) +- Reworked setup bindings in `AuthorizationViewModel` class (@Drombeys) +- Fixed selection colors in `ComboBox` control (@Drombeys) +- Load user settings in `OnFrameworkInitializationCompleted` method (@Drombeys) +- Redefine `ComboBoxItem` control theme (@acidicMercury8) +- Load web resources in separate thread (@Drombeys) +- Reworked news and validation uploads (@Drombeys) +- Added server connection check (@Drombeys) +- Reworked data initialization calling (@Drombeys) +- Implemented file size verification (@Drombeys) +- Reworked multi-threaded file hash calculation (@Drombeys) +- Fixed opening link to organization (@Drombeys) +- Implemented view models locator (@Drombeys) + +### UI + +- Implemented basic loading splash (@Drombeys) + +### Utilities + +- Implemented multithreaded file hash processing in `CryptoHasher` project (@Drombeys) +- Enabled logging in console applications (@Drombeys) + +## Release 2.1 (January 2024) + +### Launcher + +- Fixed downloading game updates + +### Utilities + +- Fixed log output in `CryptoHasher` project + +## Release 2.0 (January 2024) + +### Common + +- Implemented Avalonia application (@Drombeys) +- Added Avalonia themes project (@acidicMercury8) +- Updated Visual Studio Code configs (@acidicMercury8) +- Added NuGet config (@acidicMercury8) +- Updated NuGet packages (@Drombeys, @acidicMercury8) +- Updated EditorConfig filters (@acidicMercury8) +- Updated publish script (@Drombeys, @acidicMercury8) +- Updated building workflow (@acidicMercury8) +- Renamed global namespace (@acidicMercury8) +- Updated root configs (@Drombeys, @acidicMercury8) +- Updated root documents (@Drombeys, @acidicMercury8) +- Update target framework to .NET 7 (@Drombeys) + +### Launcher + +- Reworked downloading service (@Drombeys) +- Integrated logging (@Drombeys) +- Reimplemented basic functionality (@Drombeys) +- Implemented application version output (@Drombeys) +- Added checks for existence of `binaries` и `resources` directories (@Drombeys) +- Implemented file hash verification (@Drombeys) +- Implemented getting GitHub release data (@Drombeys) +- Implemented getting JSON data from GitHub release (@Drombeys) +- Implemented resource loading (@Drombeys) +- Added logging to debug console (@Drombeys) +- Implemented dynamic loading of links to Internet resources (@Drombeys) +- Implemented multithreaded file hash validation (@Drombeys) +- Implemented update checking (@Drombeys) +- Implement application locale change (@Drombeys, @acidicMercury8) +- Added filename display during download process (@Drombeys) +- Added protection against corrupted configuration files (@Drombeys) +- Implemented server startup blocking (@Drombeys) +- Implemented process helper (@Drombeys) +- Implemented nickname validation (@Drombeys) +- Implemented Ip address validation (@Drombeys) +- Added requirement to run application as an administrator (@Drombeys) +- Added system information output (@Drombeys) +- Reworked user manager (@Drombeys) +- Changed base address to repository (@Drombeys) +- Implemented receiving tags (@Drombeys) +- Implemented release comparer service (@Drombeys) +- Implemented initializer manager (@Drombeys) +- Optimized application loading (@Drombeys) +- Optimized news loading (@Drombeys) +- Implemented update `SBLauncherUpdater` application (@Drombeys) + +### Utilities + +- Implemented `CryptoHasher` application (@Drombeys) +- Implemented launcher updater (@Drombeys) + +### UI + +- Reimplemented basic views (@Drombeys) + +### Style + +- Reimplemented basic styles (@Drombeys, @acidicMercury8) +- Added opacity to disabled button (@Drombeys, @acidicMercury8) + +### Assets + +- Localized all strings (@acidicMercury8) + +## Release 1.1 (July 2023) + +### Common + +- Added installer sources (@acidicMercury8) +- Updated solution items (@Drombeys) +- Added `StalkerBelarus.Launcher.Core` project (@Drombeys) +- Fixed installer publishing pipeline (@acidicMercury8) +- Renamed `StalkerBelarus.Launcher` to `StalkerBelarus.Launcher.Legacy` (@Drombeys) +- Updated readme (@Drombeys, @acidicMercury8) + +### Launcher + +- Replaced `IReactiveCommand` with `ReactiveCommand` (@Drombeys) +- Renamed `MyDownloadManager` to `DownloadManager` (@Drombeys) +- Fixed indentation in `DownloadManager` class (@Drombeys) +- Implemented `GoWebSite` method (@Drombeys) +- Fixed `DownloadsImpl` method (@Drombeys) +- Moved `UserSetting` class in core project (@Drombeys) +- Moved `Manager` folder in core project (@Drombeys) +- Moved `Launcher` class in core project (@Drombeys) +- Improved load news content (@Drombeys) +- Improved view models (@Drombeys) +- Moved ViewModels in `StalkerBelarus.Launcher` project (@Drombeys) +- Fixed saving user settings (@Drombeys) +- Replaced `IHost` with `IServiceProvider` in App class (@Drombeys) + +## Release 1.0 (June 2023) + +### Common + +- Implemented WPF application (@Drombeys) +- Added solution items (@Drombeys) +- Added Visual Studio Code configs (@acidicMercury8) +- Added basic EditorConfig (@acidicMercury8) +- Added Visual Studio Install config (@acidicMercury8) +- Added auxiliary building script (@acidicMercury8) +- Enabled GitHub Actions (@Drombeys, @acidicMercury8) +- Disabled symbols generation on release build (@Drombeys) +- Disabled `TargetFramework` appending to output path (@Drombeys) +- Enabled application publishing (@Drombeys) + +### Launcher + +- Integrated dependency injection library by Microsoft (@Drombeys) +- Implemented authorization (@Drombeys) +- Implemented navigation (@Drombeys) +- Implemented launcher (@Drombeys) +- Implemented start game (@Drombeys) +- Implemented window manager (@Drombeys) +- Implemented config saving (@Drombeys) +- Implemented closing launcher after game launch (@Drombeys) +- Implemented news and download services (@Hozar2002) + +### UI + +- Added authorization view (@Drombeys) +- Added news view (@Drombeys) +- Added news slider view (@Drombeys) +- Added menu view (@Drombeys) +- Added launcher view (@Drombeys) +- Added navigation between news (@Drombeys) +- Added check for updates button (@Drombeys) +- Added download button (@Drombeys) + +### Style + +- Added global style for buttons (@Drombeys) + +### Assets + +- Added Graffiti font (@Drombeys) +- Added background image (@Drombeys) +- Added logo image (@Drombeys) +- Added application icon file (@Drombeys) diff --git a/CHANGELOG.ru.md b/CHANGELOG.ru.md new file mode 100644 index 0000000..18aacd9 --- /dev/null +++ b/CHANGELOG.ru.md @@ -0,0 +1,217 @@ +# Список изменений + +[English](./CHANGELOG.md) | Русский + +Полный список изменений проекта _Belarus Launcher_ + +## Релиз 3.0 (Май 2024) + +### Общие + +- Обновлён целевой фреймворк до .NET 8 (@Drombeys) +- Обновлены настройки XamlStyler (@Drombeys) +- Добавлен базовый конфиг для PVS-Studio (@Drombeys) +- Обновлены NuGet пакеты (@Drombeys, @acidicMercury8) +- Обновлено ридми (@Drombeys) +- Перестилизована кодовая база (@Drombeys) +- Включен Native AOT (@Drombeys) +- Включено кэширование зависимостей (@acidicMercury8) +- Включены манифесты блокировок NuGet (@acidicMercury8) +- Включено форматирование разметки (@acidicMercury8) +- Обновлён Visual Studio Install конфиг (@acidicMercury8) +- Добавлен бейджи в ридми (@acidicMercury8) +- Улучшен рабочий процесс пайплайна сборки (@acidicMercury8) +- Исправлены предупреждения (@Drombeys) + +### Лаунчер + +- Отключён запуск нескольких экземпляров приложения (@acidicMercury8) +- Добавлен вывод размера файла в журнал (@Drombeys) +- Переработан логгер (@Drombeys) +- Реализован менеджер загрузочного сплеша (@Drombeys) +- Реализована загрузка упакованого релиза (@Drombeys) +- Добавлен мигратор настроек лаунчера (@Drombeys) +- Улучшено логгирование запросов (@Drombeys) +- Добавлена пауза на загрузке (@Drombeys) +- Добавлено автоматическое определение базовой локали (@Drombeys) +- Реализовано кэширование веб-ресурсов и новостей (@Drombeys) +- Сохранены логи и текущий релиз в отдельной папке (@Drombeys) +- Декомпозирован проект `ImeSense.Launchers.Belarus` (@Drombeys) +- Добавлены настройки протокола SSL (@Drombeys) +- Исправлены цвета нажатия элемента управления `ComboBox` (@Drombeys) +- Исправлено чрезмерное выделение памяти в классе `AxamlLocaleManager` (@Drombeys) +- Отрефакторен модуль менеджера локалей (@Drombeys) +- Исправлены цвета выбора элемента управления `ComboBox` (@Drombeys) +- Отрефакторена загрузка пользовательских настроек (@Drombeys) +- Переопределена тема элемента управления `ComboBoxItem` (@acidicMercury8) +- Загрузка веб-ресурсы в отдельном потоке (@Drombeys) +- Переработаны новости и проверка загрузки (@Drombeys) +- Добавлена проверка соединения с сервером (@Drombeys) +- Переработан вызов инициализации данных (@Drombeys) +- Реализована проверка размера файлов (@Drombeys) +- Реализовано многопоточное вычисление хэшей файлов (@Drombeys) +- Исправлено открытие ссылки на организацию (@Drombeys) +- Реализован локатор моделей представления (@Drombeys) + +### UI + +- Реализован базовый сплеш загрузки (@Drombeys) + +### Утилиты + +- Реализована многопоточная обработка хэшей файлов в `CryptoHasher` проекте (@Drombeys) +- Включено логгирование в консольных приложениях (@Drombeys) + +## Релиз 2.1 (Январь 2024) + +### Лаунчер + +- Исправлена загрузка обновлений игры + +### Утилиты + +- Исправлен вывод лога в проекте `CryptoHasher` + +## Релиз 2.0 (Январь 2024) + +### Common + +- Реализовано Avalonia приложение (@Drombeys) +- Добавлен проект темы Avalonia (@acidicMercury8) +- Обновлены конфиги Visual Studio Code (@acidicMercury8) +- Добавен NuGet конфиг (@acidicMercury8) +- Обновлены NuGet пакеты (@Drombeys, @acidicMercury8) +- Обновлены EditorConfig фильтры (@acidicMercury8) +- Обновлён скрипт публикации (@Drombeys, @acidicMercury8) +- Обновлён рабочий процесс пайплайна сборки (@acidicMercury8) +- Переименовано глобальное пространство имён (@acidicMercury8) +- Обновлены корневые конфиги (@Drombeys, @acidicMercury8) +- Обновлены корневые документы (@Drombeys, @acidicMercury8) +- Обновлён целевой фреймворк до .NET 7 (@Drombeys) + +### Лаунчер + +- Переработан сервис загрузки (@Drombeys) +- Интегрировано логгирование (@Drombeys) +- Заново реализована базовая функциональность (@Drombeys) +- Реализован вывод версии приложения (@Drombeys) +- Добавлены проверки на наличие папок `binaries` и `resources` (@Drombeys) +- Реализована валидация хэша файлов (@Drombeys) +- Реализовано получение данных GitHub релизов (@Drombeys) +- Реализовано получение данных в JSON из GitHub релизов (@Drombeys) +- Реализована загрузка ресурсов (@Drombeys) +- Добавлено логгирование в отладочную консоль (@Drombeys) +- Реализована динамическая загрузка ссылок на интернет ресурсы (@Drombeys) +- Реализована многопоточная валидация хэша файлов (@Drombeys) +- Реализована проверка обновления (@Drombeys) +- Реализовано изменение локали приложения (@Drombeys, @acidicMercury8) +- Добавлено отображение имени файла в процессе загрузки (@Drombeys) +- Добавлена защита от повреждения конфигурационных файлов (@Drombeys) +- Реализована блокировка запуска сервера (@Drombeys) +- Реализован вспомогательный класс для процессов (@Drombeys) +- Реализована проверка никнейма (@Drombeys) +- Реализована проверка IP-адреса (@Drombeys) +- Добавлено требование запускать приложение от имени администратора (@Drombeys) +- Добавлен вывод системной информации (@Drombeys) +- Переработан менеджер пользователей (@Drombeys) +- Изменён базовый адрес репозитория (@Drombeys) +- Реализована передача тегов (@Drombeys) +- Реализован сервис сравнения релизов (@Drombeys) +- Реализован менджер инициализации (@Drombeys) +- Оптимизирована загрузка приложения (@Drombeys) +- Оптимизирована загрузка новостей (@Drombeys) +- Реализовано обновление `SBLauncherUpdater` приложения (@Drombeys) + +### Утилиты + +- Реализовано `CryptoHasher` приложение (@Drombeys) +- Реализован апдейтер лаунчера (@Drombeys) + +### UI + +- Заново реализованы базовые представления (@Drombeys) + +### Стили + +- Заново реализованы базовые стили (@Drombeys, @acidicMercury8) +- Добавлена прозрачность выключенной кнопке (@Drombeys, @acidicMercury8) + +### Ассеты + +- Локализованы все строки (@acidicMercury8) + +## Релиз 1.1 (Июль 2023) + +### Общие + +- Добавлены исходники инсталлятора (@acidicMercury8) +- Обновлены элементы решения (@Drombeys) +- Добавлен проект `StalkerBelarus.Launcher.Core` (@Drombeys) +- Исправлене пайплайн публикации инсталлятора (@acidicMercury8) +- Переименован `StalkerBelarus.Launcher` в `StalkerBelarus.Launcher.Legacy` (@Drombeys) +- Обновлено ридми (@Drombeys, @acidicMercury8) + +### Лаунчер + +- Заменён `IReactiveCommand` на `ReactiveCommand` (@Drombeys) +- Переименован `MyDownloadManager` в `DownloadManager` (@Drombeys) +- Исправлен отступ в `DownloadManager` классе (@Drombeys) +- Реализован `GoWebSite` метод (@Drombeys) +- Исправлен `DownloadsImpl` метод (@Drombeys) +- Перемещён `UserSetting` класс в проект ядра (@Drombeys) +- Перемещена `Manager` папка в проект ядра (@Drombeys) +- Перемещён `Launcher` класс в проект ядра (@Drombeys) +- Улучшена загрузка содержимого новостей (@Drombeys) +- Улучшены модели представления (@Drombeys) +- Перемещены `ViewModels` в `StalkerBelarus.Launcher` проект (@Drombeys) +- Исправлено сохранение пользовательских настроек (@Drombeys) +- Заменён `IHost` на `IServiceProvider` в классе `App` (@Drombeys) + +## Релиз 1.0 (Июнь 2023) + +### Общие + +- Реализовано WPF приложение (@Drombeys) +- Добавлены элементы решения (@Drombeys) +- Добавлены Visual Studio Code конфиги (@acidicMercury8) +- Добавлен базовый EditorConfig (@acidicMercury8) +- Добавлен Visual Studio Install конфиг (@acidicMercury8) +- Добавлены вспомогательные скрипты сборки (@acidicMercury8) +- Включен GitHub Actions (@Drombeys, @acidicMercury8) +- Выключена генерация символов на релизном конфиге (@Drombeys) +- Включено применение `TargetFramework` к выходному пути (@Drombeys) +- Включена публикация приложения (@Drombeys) + +### Лаунчер + +- Интегрирована библиотека инъекции зависимостей от Microsoft (@Drombeys) +- Реализована авторизация (@Drombeys) +- Реализована навигация (@Drombeys) +- Реализован лаунчер (@Drombeys) +- Реализован запуск игры (@Drombeys) +- Реализован менеджер окна (@Drombeys) +- Реализовано сохранение конфига (@Drombeys) +- Реализовано закрытие лаунчера после закрытия игры (@Drombeys) +- Реализован сервис новостей и загрузки (@Hozar2002) + +### UI + +- Добавлено предсталение авторизации (@Drombeys) +- Добавлено предсталение новостей (@Drombeys) +- Добавлено предсталение слайдера новостей (@Drombeys) +- Добавлено предсталение меню (@Drombeys) +- Добавлено представление лаунчера (@Drombeys) +- Добавлена навигация между новостями (@Drombeys) +- Добавлена проверка для кнопки обновлений (@Drombeys) +- Добавлена кнопка загрузки (@Drombeys) + +### Стили + +- Добавлен глобальный стиль для кнопок (@Drombeys) + +### Ассеты + +- Добавлен Graffiti шрифт (@Drombeys) +- Добавлено фоновое изображение (@Drombeys) +- Добавлено изображение логотипа (@Drombeys) +- Добавлен файл иконки приложения (@Drombeys) diff --git a/README.md b/README.md index f274900..876042f 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Specialized launcher for Belarus modification for downloading and updating modif ## Quick Start -You can get the latest release of the app [in the releases page](https://github.com/imesense/belarus-launcher/releases). +You can get the latest release of the app [in the releases page](https://github.com/imesense/belarus-launcher/releases) ## Features @@ -64,6 +64,10 @@ Launcher provides ease of use and easy access to the necessary functions so that dotnet build BelarusLauncher.sln ``` +## Changelog + +All significant changes to this repository are documented in [this](CHANGELOG.md) file + ## Contributors Everyone who involved in the development listed in [this](./CONTRIBUTORS.md) file diff --git a/README.ru.md b/README.ru.md index befe1c4..2dbe213 100644 --- a/README.ru.md +++ b/README.ru.md @@ -32,7 +32,7 @@ ## Быстрый старт -Вы можете получить последнюю версию приложения [на странице релизов] (https://github.com/imesense/belarus-launcher/releases). +Вы можете получить последнюю версию приложения [на странице релизов](https://github.com/imesense/belarus-launcher/releases) ## Особенности @@ -64,6 +64,10 @@ dotnet build BelarusLauncher.sln ``` +## Список изменений + +Все значимые изменения данного проекта задокументированы в [этом](./CHANGELOG.ru.md) файле + ## Участники Все, кто были вовлечены в разработку, перечислены в [этом](./CONTRIBUTORS.ru.md) файле