CLI yстановщик
Новые возможности ✨
Заголовок раздела «Новые возможности ✨»- Улучшенная работа с разделами: Проведён значительный рефакторинг и улучшена обработка разделов — повышена точность и надёжность работы установщика.
- Генерация параметров ядра: Установщик теперь автоматически генерирует параметры ядра на основе обнаруженной схемы разделов.
- Улучшенная библиотека
gucc: Библиотекаguccзначительно расширена: добавлены возможности установки и настройки rEFInd.
Технические задачи 🧹
Заголовок раздела «Технические задачи 🧹»- Clang-Format и Clang-Tidy: Улучшено единообразие и качество кода посредством применения clang-format и clang-tidy.
- Рефакторинг с использованием строковых представлений: В ряде мест кодовой базы задействованы литералы string_view для повышения производительности и читаемости.
- Внедрение Doctest: Ассерты на языке C заменены на doctest для более надёжного и информативного тестирования.
- Рефакторинг тестов: Наборы тестов переработаны для большей ясности и удобства сопровождения.
- Обработка rEFInd в
gucc: Код, связанный с rEFInd, вынесен в библиотекуguccдля лучшей организации и упрощения поддержки.
Исправления ошибок 🐛
Заголовок раздела «Исправления ошибок 🐛»- Обнаружение подтомов Btrfs: Устранены проблемы с обнаружением существующих подтомов btrfs.
- Точность информации о разделах: Улучшены сбор и отображение информации о разделах.
- Корневая точка монтирования для rEFInd: Исправлена ошибка, влиявшая на корневую точку монтирования, используемую rEFInd.
- Определение UUID: Улучшен процесс обнаружения UUID разделов при инициализации.
- Исправления сборки Meson: Устранены проблемы, возникавшие в процессе сборки с Meson.
- Добавление подтомов Btrfs: Исправлена ошибка, связанная с добавлением подтомов btrfs в средах разработки.
- Rootfs в предопределённых конфигурациях: Устранена проблема с rootfs схем разделов, основанных на предопределённых конфигурациях.
- Монтирование rEFInd с правами чтения/записи: Обеспечено монтирование необходимых разделов с правами чтения и записи для rEFInd.
Технические задачи 🧹
Заголовок раздела «Технические задачи 🧹»- Обновлена зависимость CPR до более новой версии для улучшения функциональности.
- Явно указано использование стандарта C++23 для библиотеки CTRE (компилируемые регулярные выражения) в целях согласованности и потенциального повышения производительности.
- Увеличен таймаут проверки соединения в разделе утилит для учёта возможных задержек сети.
Исправления 🐛
Заголовок раздела «Исправления 🐛»- Устранена проблема, при которой «gucc» некорректно обрабатывал точки монтирования подтомов btrfs.
- Улучшена обработка различных статусов монтирования подтомов btrfs в «gucc».
Технические задачи 🧹
Заголовок раздела «Технические задачи 🧹»- Исправлена опечатка в файле README и обновлена информация о версии.
Исправления 🐛
Заголовок раздела «Исправления 🐛»- Устранена проблема, при которой репозитории ISA некорректно включались на Oracle VM.
- Исправлены несоответствия в стиле команд для улучшения пользовательского опыта.
Технические задачи 🧹
Заголовок раздела «Технические задачи 🧹»- Удалена лишняя логика ucode, связанная с rEFInd, что упростило кодовую базу.
Новые возможности ✨
Заголовок раздела «Новые возможности ✨»- Добавлен парсер для сетевых профилей пакетов.
- Добавлена возможность получения пакетов окружения из TOML-файла, разбираемого gucc.
- Реализована вспомогательная функция в gucc для загрузки файлов по URL 📥.
- Добавлена поддержка получения сетевых профилей по URL с механизмом резервного переключения в gucc.
- Интегрирована установка сетевых профилей вместе с бинарным дистрибутивом.
- Логика монтирования указанных разделов и их обнаружения перенесена в gucc.
- Добавлена функция
utils::exec_checkedдля более безопасного выполнения внешних команд.
Улучшения ✅
Заголовок раздела «Улучшения ✅»- Расширено тестовое покрытие функциональности crypttab в gucc 🧪.
- Улучшено журналирование в gucc: логгер теперь настраивается соответствующим образом.
- Обновление стандарта C++ до C++23 ⬆️.
- Рефакторинг кодовой базы с использованием возможностей C++23, таких как
std::rangesиcontains, для повышения читаемости и эффективности. - Рефакторинг различных компонентов для использования
utils::exec_checked.
Исправления 🐛
Заголовок раздела «Исправления 🐛»- Устранена проблема с жёстко заданными типами библиотек в gucc.
- Исправлено отсутствие реализации логгера и заголовочного файла в gucc.
- Включена библиотека CPR для сборок в не-dev окружении.
- Исправлен процесс статической сборки.
- Устранены проблемы, введённые в коммите
a70e641e364. - Исправлены ошибки компиляции в компоненте TUI.
- Исправлена проблема с зависимостью, при которой зависимость FTXUI от range-v3 не была публичной.
Технические задачи 🧹
Заголовок раздела «Технические задачи 🧹»- Обновлены проверки CI, процессы сборки и исправлены связанные проблемы.
- Удалена отменённая установка сетевых профилей вместе с бинарным дистрибутивом.
- Рефакторинг и очистка кода в различных компонентах: TUI, utils, chwd_profiles, user и тесты.
- Удалена неиспользуемая библиотека range-v3 из зависимостей установщика.
- Обновлён файл README.