Stapler v0.1.0
Выпущена версия Stapler v0.1.0 — первый релиз в серии v0.1.x. В этой версии переработана схема хранения репозиториев, добавлена поддержка подписанных коммитов и метаданных AppStream, а SFE-249 стал поведением по умолчанию.
Коротко (tl;dr)
- Новая многоуровневая схема хранения репозиториев
- Поддержка проверки GPG-подписей коммитов в репозитории
- AppStream-метаданные теперь парсятся и доступны в
stplr infoиstplr search - Поля
compatible_withиincompatible_withдля управления совместимостью пакетов по дистрибутивам stplr info --jsonдля программного доступа к информации о пакете- SFE-249: новый распаковщик с поддержкой 40+ форматов — теперь поведение по умолчанию
- Улучшено отображение в светлых темах терминала
Что нового
Новая схема хранения репозиториев
Конфигурация репозиториев теперь разделена на три слоя:
/usr/lib/stplr/repos.d/— системные репозитории, поставляемые пакетами ОС (только чтение)/etc/stplr/repos.d/— пользовательские репозитории (управляются командамиrepo add,repo rm,repo import)/etc/stplr/repo-overrides.d/— переопределения пользователя (создаются командамиset-disabled,set-url,set-ref)
Это позволяет пакетам ОС поставлять преднастроенные репозитории, которые пользователь может изменять (отключать, менять URL) без риска потерять настройки при обновлении пакета.
Новая команда stplr repo clear-overrides <имя> сбрасывает все переопределения репозитория
к базовой конфигурации.
Если в /etc/stplr/stplr.toml ещё есть записи [[repo]], выполните миграцию:
stplr migrate
Поддержка подписанных коммитов в Stapler-репозиториях
Репозитории теперь могут требовать проверку GPG-подписей коммитов. Если подпись коммита невалидна или отсутствует — репозиторий не обновится, что значительно повышает безопасность.
Настраивается автором репозитория в stapler-repo.toml:
[repo]
require_signed_commits = true
trusted_keys = ["-----BEGIN PGP PUBLIC KEY BLOCK-----\n..."]
Если нужно отключить проверку подписей на стороне пользователя:
stplr repo set-require-signed <имя> false
Совместимость пакетов с дистрибутивами
В Staplerfile появились два новых поля:
compatible_with— список дистрибутивов, на которых пакет может быть установлен.incompatible_with— список дистрибутивов, на которых пакет не может быть установлен.
Удобно для пакетов, которые заведомо не работают на определённых дистрибутивах — такие пакеты просто не появятся у пользователей с несовместимыми платформами.
Парсинг AppStream-метаданных
Ранее Stapler хранил только значение appstream_app_id, не читая сам metainfo-файл.
Теперь при наличии <appstream_app_id>.metainfo.xml или <appstream_app_id>.appdata.xml
в каталоге сборочного скрипта Stapler парсит его содержимое.
Данные компонента (название, описание, скриншоты и др.) становятся доступны в выводе
stplr info и фильтрах stplr search.
stplr info --json
Команда stplr info теперь поддерживает флаг --json (помимо --format) для получения информации о пакете
в машиночитаемом формате:
stplr info stplr --json
stplr info foo bar --json
[SFE-249] Новый распаковщик теперь по умолчанию
Начиная с этой версии, SFE-249 — новый
распаковщик для sources — стал поведением по умолчанию. Он поддерживает более 40 форматов,
включая .rpm, .deb, .7z, .iso, .zst и многие другие.
Если вы уже включали эксперимент в Staplerfile, строку sfe_249_new_extractor=1 можно удалить.
Обновлённый интерфейс
Интерактивные формы переписаны на charmbracelet/huh. Обновлены цвета элементов — интерфейс теперь корректно отображается как на тёмных, так и на светлых темах терминала.
Схема версионирования
С версии v0.1.0 проект следует семантическому версионированию:
новые возможности выходят в минорных релизах (0.x), исправления — в патчах (0.x.y).
Стабильность API до 1.0.0 не гарантируется.
⚠️ Важные изменения
- Конфигурационная опция
pagerStyleудалена - Формат
[[repo]]вstplr.tomlустарел: репозитории теперь хранятся в отдельных файлах в/etc/stplr/repos.d/. Используйтеstplr migrateдля переноса - SFE-249 теперь включён по умолчанию — убедитесь, что ваши Staplerfile по-прежнему работают корректно



