Policy review: major upstream version available: fmt 11.1.4 → 12.1.0 #2

Open
opened 2026-04-28 01:09:30 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: fmt 11.1.412.1.0

Package

  • Package: fmt
  • RPM name: fmt
  • Branch: niceos-5.2
  • Current EVR: 11.1.4-1
  • Update class: major
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: True
  • Policy reason: package appears to be a library/API dependency
  • Labels: ai-summary, bot, needs-policy-decision, policy/major-blocked, priority/high, update/major, upstream-update, upstream/github

NiceOS policy decision

This is a policy-blocked major update. Do not update automatically.

Major updates for libraries, toolchain and security-critical packages require explicit manual architecture review, ABI/API compatibility review, reverse-dependency impact analysis and controlled rebuild planning.

NiceSOFT AI preliminary analysis

1. Краткий вывод

Обновление библиотеки fmt с версии 11.1.4 до 12.1.0 является мажорным релизом, содержащим значительные изменения в API, поддержке C++ модулей и компиляторах. Обновление заблокировано политикой дистрибутива из-за статуса пакета как критической зависимости, требующей ручного анализа совместимости.

2. Риск для НАЙС.ОС

medium. Обновление затрагивает фундаментальную библиотеку форматирования строк, которая широко используется в коде дистрибутива и зависимых пакетах. Мажорная версия часто подразумевает изменения в публичном API или ABI, что может привести к поломке сборки или выполнения зависимых пакетов без тщательной проверки.

3. Security/CVE

Во входных данных отсутствуют явные указания на уязвимости безопасности (security_keywords_detected_by_script: False) и не указаны конкретные CVE. Упоминания исправлений относятся к функциональности, совместимости с компиляторами и оптимизации производительности.

4. ABI/API риск

Высокий риск изменений ABI/API. В release notes указано решение проблемы несовместимости ABI между clang и gcc (std::locale_ref), а также добавление поддержки C++ модулей и изменение экспорта символов. Поскольку это мажорное обновление библиотеки, используемой как API-зависимость, автоматическое применение невозможно без подтверждения отсутствия бинарных конфликтов.

5. Риск для RPM-сборки

Возможен сбой в сборке пакетов, зависящих от fmt, если они используют удаленные или измененные функции, либо если новые требования к компилятору (например, специфические флаги для C++ модулей или поддержка clang 21) не удовлетворяются текущей toolchain дистрибутива. Также могут потребоваться правки в %check секции из-за изменений в поведении компиляции.

6. Проверки мейнтейнера

  • Проверить список зависимых пакетов (RPM-DEPENDS), использующих fmt.
  • Провести тестовую сборку ключевых пакетов дистрибутива после обновления fmt.
  • Проверить наличие патчей в исходных текстах зависимых пакетов, которые могут конфликтовать с новыми изменениями в fmt.
  • Убедиться, что текущая toolchain дистрибутива поддерживает заявленные изменения (C++ модули, clang 21+).
  • Проверить логи сборки на предмет ошибок линковки или вызова удаленных функций.

7. Рекомендация

blocked manual review

8. Основание рекомендации

Обновление классифицировано как мажорное (update_class: major) и заблокировано политикой (policy_blocked: True) из-за статуса пакета как библиотеки/API-зависимости. Наличие изменений в ABI и поддержке новых стандартов/компиляторов требует обязательного ручного анализа влияния на экосистему дистрибутива перед разрешением.

Upstream release notes / description

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-27T22:09:30Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:fmt:12.1.0 --> <!-- niceos-upstream-monitor:package=fmt --> <!-- niceos-upstream-monitor:current=11.1.4 --> <!-- niceos-upstream-monitor:latest=12.1.0 --> # Upstream update available: `fmt` `11.1.4` → `12.1.0` ## Package - Package: `fmt` - RPM name: `fmt` - Branch: `niceos-5.2` - Current EVR: `11.1.4-1` - Update class: `major` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `fmtlib/fmt` - Upstream URL: https://github.com/fmtlib/fmt - Detected version: `12.1.0` - Tag/release: `12.1.0` - Source: `github_release_latest` - Published: `2025-10-29T14:58:05Z` - Release URL: https://github.com/fmtlib/fmt/releases/tag/12.1.0 - Source URL: https://api.github.com/repos/fmtlib/fmt/tarball/12.1.0 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `True` - Policy reason: `package appears to be a library/API dependency` - Labels: `ai-summary, bot, needs-policy-decision, policy/major-blocked, priority/high, update/major, upstream-update, upstream/github` ## NiceOS policy decision **This is a policy-blocked major update. Do not update automatically.** Major updates for libraries, toolchain and security-critical packages require explicit manual architecture review, ABI/API compatibility review, reverse-dependency impact analysis and controlled rebuild planning. ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Обновление библиотеки `fmt` с версии 11.1.4 до 12.1.0 является мажорным релизом, содержащим значительные изменения в API, поддержке C++ модулей и компиляторах. Обновление заблокировано политикой дистрибутива из-за статуса пакета как критической зависимости, требующей ручного анализа совместимости. ### 2. Риск для НАЙС.ОС **medium**. Обновление затрагивает фундаментальную библиотеку форматирования строк, которая широко используется в коде дистрибутива и зависимых пакетах. Мажорная версия часто подразумевает изменения в публичном API или ABI, что может привести к поломке сборки или выполнения зависимых пакетов без тщательной проверки. ### 3. Security/CVE Во входных данных отсутствуют явные указания на уязвимости безопасности (security_keywords_detected_by_script: False) и не указаны конкретные CVE. Упоминания исправлений относятся к функциональности, совместимости с компиляторами и оптимизации производительности. ### 4. ABI/API риск Высокий риск изменений ABI/API. В release notes указано решение проблемы несовместимости ABI между clang и gcc (`std::locale_ref`), а также добавление поддержки C++ модулей и изменение экспорта символов. Поскольку это мажорное обновление библиотеки, используемой как API-зависимость, автоматическое применение невозможно без подтверждения отсутствия бинарных конфликтов. ### 5. Риск для RPM-сборки Возможен сбой в сборке пакетов, зависящих от `fmt`, если они используют удаленные или измененные функции, либо если новые требования к компилятору (например, специфические флаги для C++ модулей или поддержка clang 21) не удовлетворяются текущей toolchain дистрибутива. Также могут потребоваться правки в `%check` секции из-за изменений в поведении компиляции. ### 6. Проверки мейнтейнера - [ ] Проверить список зависимых пакетов (`RPM-DEPENDS`), использующих `fmt`. - [ ] Провести тестовую сборку ключевых пакетов дистрибутива после обновления `fmt`. - [ ] Проверить наличие патчей в исходных текстах зависимых пакетов, которые могут конфликтовать с новыми изменениями в `fmt`. - [ ] Убедиться, что текущая toolchain дистрибутива поддерживает заявленные изменения (C++ модули, clang 21+). - [ ] Проверить логи сборки на предмет ошибок линковки или вызова удаленных функций. ### 7. Рекомендация blocked manual review ### 8. Основание рекомендации Обновление классифицировано как мажорное (`update_class: major`) и заблокировано политикой (`policy_blocked: True`) из-за статуса пакета как библиотеки/API-зависимости. Наличие изменений в ABI и поддержке новых стандартов/компиляторов требует обязательного ручного анализа влияния на экосистему дистрибутива перед разрешением. ## Upstream release notes / description - Optimized `buffer::append`, resulting in up to ~16% improvement on spdlog benchmarks (https://github.com/fmtlib/fmt/pull/4541). Thanks @fyrsta7. - Worked around an ABI incompatibility in `std::locale_ref` between clang and gcc (https://github.com/fmtlib/fmt/issues/4573). - Made `std::variant` and `std::expected` formatters work with `format_as` (https://github.com/fmtlib/fmt/issues/4574, https://github.com/fmtlib/fmt/pull/4575). Thanks @phprus. - Made `fmt::join<string_view>` work with C++ modules (https://github.com/fmtlib/fmt/issues/4379, https://github.com/fmtlib/fmt/pull/4577). Thanks @Arghnews. - Exported `fmt::is_compiled_string` and `operator""_cf` from the module (https://github.com/fmtlib/fmt/pull/4544). Thanks @CrackedMatter. - Fixed a compatibility issue with C++ modules in clang (https://github.com/fmtlib/fmt/pull/4548). Thanks @tsarn. - Added support for cv-qualified types to the `std::optional` formatter (https://github.com/fmtlib/fmt/issues/4561, https://github.com/fmtlib/fmt/pull/4562). Thanks @OleksandrKvl. - Added demangling support (used in exception and `std::type_info` formatters) for libc++ and clang-cl (https://github.com/fmtlib/fmt/issues/4542, https://github.com/fmtlib/fmt/pull/4560, https://github.com/fmtlib/fmt/issues/4568, https://github.com/fmtlib/fmt/pull/4571). Thanks @FatihBAKIR and @rohitsutreja. - Switched to global `malloc`/`free` to enable allocator customization (https://github.com/fmtlib/fmt/issues/4569, https://github.com/fmtlib/fmt/pull/4570). Thanks @rohitsutreja. - Made the `FMT_USE_CONSTEVAL` macro configurable by users (https://github.com/fmtlib/fmt/pull/4546). Thanks @SnapperTT. - Fixed compilation with locales disabled in the header-only mode (https://github.com/fmtlib/fmt/issues/4550). - Fixed compilation with clang 21 and `-std=c++20` (https://github.com/fmtlib/fmt/issues/4552). - Fixed a dynamic linking issue with clang-cl (https://github.com/fmtlib/fmt/issues/4576, https://github.com/fmtlib/fmt/pull/4584). Thanks @FatihBAKIR. - Fixed a warning suppression leakage on gcc (https://github.com/fmtlib/fmt/pull/4588). Thanks @ZedThree. - Made more internal color APIs `constexpr` (https://github.com/fmtlib/fmt/pull/4581). Thanks @ishani. - Fixed compatibility with clang as a host compiler for NVCC (https://github.com/fmtlib/fmt/pull/4564). Thanks @valgur. - Fixed various warnings and lint issues (https://github.com/fmtlib/fmt/issues/4565, https://github.com/fmtlib/fmt/pull/4572, https://github.com/fmtlib/fmt/pull/4557). Thanks @LiangHuDream and @teruyamato0731. - Improved documentation (https://github.com/fmtlib/fmt/issues/4549, https://github.com/fmtlib/fmt/pull/4551, https://github.com/fmtlib/fmt/issues/4566, https://github.com/fmtlib/fmt/pull/4567, https://github.com/fmtlib/fmt/pull/4578,). Thanks @teruyamato0731, @petersteneteg and @zimmerman-dev. ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-27T22:09:30Z`
Sign in to join this conversation.
No description provided.