Upstream update available: thin-provisioning-tools 1.1.0 → 1.3.2 #2

Closed
opened 2026-05-02 16:18:58 +03:00 by sbelikov · 1 comment
Owner

Upstream update available: thin-provisioning-tools 1.1.01.3.2

Package

  • Package: thin-provisioning-tools
  • RPM name: thin-provisioning-tools
  • Branch: niceos-5.2
  • Current EVR: 1.1.0-1
  • Update class: minor
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github

NiceSOFT AI preliminary stability analysis

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

Upstream-обновление thin-provisioning-tools с 1.1.0 до 1.3.2 выглядит полезным и в целом допустимым для stable-дистрибутива, но только в режиме manual review. В релизе v1.3.2 есть явная security-maintenance составляющая, однако между 1.1.0 и 1.3.2 присутствуют upstream-breaking изменения и заметный сдвиг зависимостей. Для НАЙС.ОС это не candidate “в лоб”, а manual review перед включением в PR.

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

Risk: medium

Обоснование:

  • пакет является leaf-утилитой, поэтому blast radius ограничен;
  • upstream v1.3.2 содержит исправления по security advisories и улучшение robustness;
  • при этом окно 1.1.0 → 1.3.2 включает как минимум одно явно отмеченное upstream breaking change (BTreeWalker constructor changed to take IoEngine by reference);
  • также есть значительная зависимость-дифференциация Cargo manifests, что повышает риск для enterprise-стабильности и воспроизводимости сборки.

Для RHEL-like policy это не критично, но и не полностью безрисково.

3. Что изменилось upstream

Проверяемые факты по upstream v1.3.2:

  • тег v1.3.2 существует;
  • релиз v1.3.2 создан 2026-04-27;
  • в CHANGES для v1.3.2 указано:
    • “Address security advisories RUSTSEC-2026-0002 and RUSTSEC-2026-0097”
    • “Enhance thin_repair robustness against bit rot.”
  • compare v1.3.1...v1.3.2 показывает 6 commits и 4 files changed;
  • среди коммитов есть:
    • “[build] Bump rand to address RUSTSEC-2026-0097”
    • “[build] Update ratatui to address RUSTSEC-2026-0002”
  • в CHANGES также фиксируются релизы v1.3.0 / v1.3.1 с работой по performance и I/O-engine;
  • в промежутке 1.1.0 → 1.3.2 upstream также отмечает:
    • удаление atty и safemem из-за security concerns;
    • удаление неиспользуемого threaded btree walk code;
    • изменение конструктора BTreeWalker с явным указанием на breaking change;
    • работу над AsyncIoEngine / tokio IoUring;
    • улучшения thin_ls, thin_check, thin_explore.

Если кратко: это не только “bugfix release”, а релиз с security- и maintenance-изменениями плюс предшествующая серия функциональных/архитектурных правок.

4. Security/CVE

Подтверждённые CVE не найдены.

Что подтверждено источниками:

  • upstream явно ссылается на RUSTSEC-2026-0002 и RUSTSEC-2026-0097;
  • по предоставленным источникам я не подтверждаю CVE IDs и не подменяю их предположениями;
  • v1.2.0 также упоминает удаление atty и safemem “due to security concerns”.

Итог: есть подтверждённые upstream security advisories, но подтверждённых CVE не найдено.

5. ABI/API/CLI/config риск

Оценка: medium

Факты и выводы:

  • upstream явно сообщает о breaking change в v1.2.0:
    BTreeWalker constructor changed to take IoEngine by reference.
  • доступные материалы не показывают переименование или удаление CLI-команд;
  • README по-прежнему описывает тот же набор tooling вокруг pdata_tools и подкоманд вроде thin_check, thin_dump, thin_repair;
  • изменения v1.3.0/v1.3.1 затрагивают I/O-engine и performance, что может менять поведение в edge cases, но прямого подтверждения ABI-ломки для CLI/config в источниках нет.

Вывод:

  • CLI breaking change не подтверждён;
  • API-level risk есть из-за upstream breaking change в рассматриваемом окне версий;
  • конфиги/опции по источникам не менялись явно, но поведенческие изменения в low-level metadata tooling возможны.

6. Риск для RPM-сборки и dist-git

Что проверить в SPECS, SOURCES, патчах:

  • обновление Source/source_url на v1.3.2;
  • актуальность и полноту Cargo.lock / source lock после перехода на новый upstream dependency graph;
  • наличие downstream патчей: особенно тех, что могут касаться API, I/O engine, thin_repair, thin_check, thin_ls;
  • не сломались ли cargo build --release и упаковка всех бинарей/manpages;
  • не изменился ли список файлов, устанавливаемых в %install;
  • не потребовались ли новые BuildRequires или Requires из-за Cargo dependency drift;
  • не изменилась ли логика %check / test suite;
  • не нужен ли пересмотр SBOM/scan результатов из-за обновления rand, ratatui и связанной цепочки;
  • проверить, совпадает ли текущая spec-конфигурация с upstream assumptions.

Что известно по текущему пакету:

  • текущий spec использует cargo build --release;
  • в BuildRequires есть boost-devel expat-devel libaio-devel rust;
  • runtime Requires: expat libaio libgcc;
  • явного указания на новый mandatory system package в источниках не найдено, но это нужно подтверждать в сборке.

7. Риск для системы и зависимых компонентов

Оценка: low-to-medium

Почему:

  • пакет leaf, значит зависимые компоненты затронуты ограниченно;
  • основной runtime-эффект upstream v1.3.2повышение robustness thin_repair, что обычно снижает операционный риск;
  • однако инструменты thin_check, thin_dump, thin_ls, thin_repair работают с low-level storage metadata, поэтому изменение поведения может быть заметно на:
    • восстановлении повреждённых thin pools;
    • диагностике;
    • сценариях с bit rot / corruption;
    • больших пулах и edge cases I/O.

Системные сервисы и пользовательские скрипты:

  • прямых доказательств изменения CLI/опций нет;
  • тем не менее, любые downstream-скрипты, обрабатывающие текстовый вывод утилит, должны быть проверены на совместимость;
  • reverse dependencies, если они используют эти утилиты как диагностический toolchain, могут косвенно зависеть от новых dependency/runtime paths.

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

Чеклист перед PR/merge:

  1. Сверить CHANGES upstream для v1.3.2.
  2. Сравнить текущие downstream patches с upstream API change из v1.2.0:
    • BTreeWalker / IoEngine by reference.
  3. Пересобрать пакет в чистом mock/chroot.
  4. Обновить и проверить Cargo.lock / vendor lock.
  5. Проверить, что все бинарники и manpages устанавливаются как раньше.
  6. Проверить BuildRequires / Requires на предмет новых зависимостей.
  7. Прогнать %check, если он есть; если нет — отметить unknown/manual review.
  8. Сравнить rpm -ql, Provides, Requires и file list до/после.
  9. Проверить SBOM / vulnerability scan на новые Rust crates.
  10. При наличии downstream consumers — провести smoke test:
    • thin_check
    • thin_dump
    • thin_repair
    • thin_ls
  11. Убедиться, что релизная версия в spec соответствует v1.3.2.

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

blocked manual review

10. Источники

  1. github.com — thin provisioning tools
  2. github.com — 205
  3. github.com — releases
  4. github.com — 120
  5. gist.github.com — 17d485543af884b45a5f62b21f1f613c
  6. github.com — releases
  7. github.com — releases
  8. github.com — releases
  9. github.com — releases
  10. github.com — squashfs tools
  11. github.com — releases
  12. github.com — tinkerbell

Upstream release notes / description

No release notes were available from the upstream API.

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 2.1.2-openai-deep
  • Generated at: 2026-05-02T13:18:54Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:thin-provisioning-tools:1.3.2 --> <!-- niceos-upstream-monitor:package=thin-provisioning-tools --> <!-- niceos-upstream-monitor:current=1.1.0 --> <!-- niceos-upstream-monitor:latest=1.3.2 --> # Upstream update available: `thin-provisioning-tools` `1.1.0` → `1.3.2` ## Package - Package: `thin-provisioning-tools` - RPM name: `thin-provisioning-tools` - Branch: `niceos-5.2` - Current EVR: `1.1.0-1` - Update class: `minor` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `jthornber/thin-provisioning-tools` - Upstream URL: <a href="https://github.com/jthornber/thin-provisioning-tools" target="_blank" rel="noopener noreferrer">github.com — thin provisioning tools</a> - Detected version: `1.3.2` - Tag/release: `v1.3.2` - Source: `github_tag` - Published: `-` - Release URL: <a href="https://github.com/jthornber/thin-provisioning-tools/releases/tag/v1.3.2" target="_blank" rel="noopener noreferrer">github.com — v1.3.2</a> - Source URL: <a href="https://api.github.com/repos/jthornber/thin-provisioning-tools/tarball/refs/tags/v1.3.2" target="_blank" rel="noopener noreferrer">api.github.com — v1.3.2</a> - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github` ## NiceSOFT AI preliminary stability analysis ### 1. Краткий вывод Upstream-обновление `thin-provisioning-tools` с `1.1.0` до `1.3.2` выглядит **полезным и в целом допустимым для stable-дистрибутива, но только в режиме manual review**. В релизе `v1.3.2` есть явная security-maintenance составляющая, однако между `1.1.0` и `1.3.2` присутствуют upstream-breaking изменения и заметный сдвиг зависимостей. Для НАЙС.ОС это **не candidate “в лоб”**, а **manual review** перед включением в PR. ### 2. Риск для НАЙС.ОС **Risk: medium** Обоснование: - пакет является leaf-утилитой, поэтому blast radius ограничен; - upstream `v1.3.2` содержит исправления по security advisories и улучшение robustness; - при этом окно `1.1.0 → 1.3.2` включает как минимум одно **явно отмеченное upstream breaking change** (`BTreeWalker` constructor changed to take `IoEngine` by reference); - также есть значительная зависимость-дифференциация Cargo manifests, что повышает риск для enterprise-стабильности и воспроизводимости сборки. Для RHEL-like policy это не критично, но и не полностью безрисково. ### 3. Что изменилось upstream Проверяемые факты по upstream `v1.3.2`: - тег `v1.3.2` существует; - релиз `v1.3.2` создан **2026-04-27**; - в `CHANGES` для `v1.3.2` указано: - **“Address security advisories RUSTSEC-2026-0002 and RUSTSEC-2026-0097”** - **“Enhance thin_repair robustness against bit rot.”** - compare `v1.3.1...v1.3.2` показывает **6 commits** и **4 files changed**; - среди коммитов есть: - **“[build] Bump rand to address RUSTSEC-2026-0097”** - **“[build] Update ratatui to address RUSTSEC-2026-0002”** - в `CHANGES` также фиксируются релизы `v1.3.0` / `v1.3.1` с работой по performance и I/O-engine; - в промежутке `1.1.0 → 1.3.2` upstream также отмечает: - удаление `atty` и `safemem` из-за security concerns; - удаление неиспользуемого threaded btree walk code; - изменение конструктора `BTreeWalker` с явным указанием на **breaking change**; - работу над `AsyncIoEngine` / `tokio IoUring`; - улучшения `thin_ls`, `thin_check`, `thin_explore`. Если кратко: это не только “bugfix release”, а релиз с security- и maintenance-изменениями плюс предшествующая серия функциональных/архитектурных правок. ### 4. Security/CVE Подтверждённые CVE **не найдены**. Что подтверждено источниками: - upstream явно ссылается на **RUSTSEC-2026-0002** и **RUSTSEC-2026-0097**; - по предоставленным источникам **я не подтверждаю CVE IDs** и не подменяю их предположениями; - `v1.2.0` также упоминает удаление `atty` и `safemem` **“due to security concerns”**. Итог: есть подтверждённые upstream security advisories, но **подтверждённых CVE не найдено**. ### 5. ABI/API/CLI/config риск **Оценка: medium** Факты и выводы: - upstream явно сообщает о **breaking change** в `v1.2.0`: `BTreeWalker` constructor changed to take `IoEngine` by reference. - доступные материалы **не показывают** переименование или удаление CLI-команд; - README по-прежнему описывает тот же набор tooling вокруг `pdata_tools` и подкоманд вроде `thin_check`, `thin_dump`, `thin_repair`; - изменения `v1.3.0`/`v1.3.1` затрагивают I/O-engine и performance, что может менять поведение в edge cases, но прямого подтверждения ABI-ломки для CLI/config в источниках нет. Вывод: - **CLI breaking change не подтверждён**; - **API-level risk есть** из-за upstream breaking change в рассматриваемом окне версий; - конфиги/опции по источникам не менялись явно, но поведенческие изменения в low-level metadata tooling возможны. ### 6. Риск для RPM-сборки и dist-git **Что проверить в SPECS, SOURCES, патчах:** - обновление `Source`/`source_url` на `v1.3.2`; - актуальность и полноту `Cargo.lock` / source lock после перехода на новый upstream dependency graph; - наличие downstream патчей: особенно тех, что могут касаться API, I/O engine, `thin_repair`, `thin_check`, `thin_ls`; - не сломались ли `cargo build --release` и упаковка всех бинарей/manpages; - не изменился ли список файлов, устанавливаемых в `%install`; - не потребовались ли новые `BuildRequires` или `Requires` из-за Cargo dependency drift; - не изменилась ли логика `%check` / test suite; - не нужен ли пересмотр SBOM/scan результатов из-за обновления `rand`, `ratatui` и связанной цепочки; - проверить, совпадает ли текущая `spec`-конфигурация с upstream assumptions. Что известно по текущему пакету: - текущий spec использует `cargo build --release`; - в `BuildRequires` есть `boost-devel expat-devel libaio-devel rust`; - runtime `Requires`: `expat libaio libgcc`; - явного указания на новый mandatory system package в источниках не найдено, но это нужно подтверждать в сборке. ### 7. Риск для системы и зависимых компонентов **Оценка: low-to-medium** Почему: - пакет leaf, значит зависимые компоненты затронуты ограниченно; - основной runtime-эффект upstream `v1.3.2` — **повышение robustness `thin_repair`**, что обычно снижает операционный риск; - однако инструменты `thin_check`, `thin_dump`, `thin_ls`, `thin_repair` работают с low-level storage metadata, поэтому изменение поведения может быть заметно на: - восстановлении повреждённых thin pools; - диагностике; - сценариях с bit rot / corruption; - больших пулах и edge cases I/O. Системные сервисы и пользовательские скрипты: - прямых доказательств изменения CLI/опций нет; - тем не менее, любые downstream-скрипты, обрабатывающие текстовый вывод утилит, должны быть проверены на совместимость; - reverse dependencies, если они используют эти утилиты как диагностический toolchain, могут косвенно зависеть от новых dependency/runtime paths. ### 8. Проверки мейнтейнера Чеклист перед PR/merge: 1. Сверить `CHANGES` upstream для `v1.3.2`. 2. Сравнить текущие downstream patches с upstream API change из `v1.2.0`: - `BTreeWalker` / `IoEngine` by reference. 3. Пересобрать пакет в чистом mock/chroot. 4. Обновить и проверить `Cargo.lock` / vendor lock. 5. Проверить, что все бинарники и manpages устанавливаются как раньше. 6. Проверить `BuildRequires` / `Requires` на предмет новых зависимостей. 7. Прогнать `%check`, если он есть; если нет — отметить `unknown/manual review`. 8. Сравнить `rpm -ql`, `Provides`, `Requires` и file list до/после. 9. Проверить SBOM / vulnerability scan на новые Rust crates. 10. При наличии downstream consumers — провести smoke test: - `thin_check` - `thin_dump` - `thin_repair` - `thin_ls` 11. Убедиться, что релизная версия в spec соответствует `v1.3.2`. ### 9. Рекомендация **blocked manual review** ### 10. Источники - <a href="https://github.com/jthornber/thin-provisioning-tools" target="_blank" rel="noopener noreferrer">Upstream repository: jthornber/thin-provisioning-tools</a> - <a href="https://github.com/jthornber/thin-provisioning-tools/releases/tag/v1.3.2" target="_blank" rel="noopener noreferrer">Release v1.3.2</a> - <a href="https://github.com/jthornber/thin-provisioning-tools/compare/v1.1.0...v1.3.2" target="_blank" rel="noopener noreferrer">Compare v1.1.0...v1.3.2</a> - <a href="https://github.com/jthornber/thin-provisioning-tools/compare/v1.3.1...v1.3.2" target="_blank" rel="noopener noreferrer">Compare v1.3.1...v1.3.2</a> - <a href="https://raw.githubusercontent.com/jthornber/thin-provisioning-tools/v1.3.2/CHANGES" target="_blank" rel="noopener noreferrer">CHANGES at v1.3.2</a> - <a href="https://raw.githubusercontent.com/jthornber/thin-provisioning-tools/v1.3.2/Cargo.toml" target="_blank" rel="noopener noreferrer">Cargo.toml at v1.3.2</a> - <a href="https://raw.githubusercontent.com/jthornber/thin-provisioning-tools/v1.1.0/Cargo.toml" target="_blank" rel="noopener noreferrer">Cargo.toml at v1.1.0</a> - <a href="https://specs.niceos.ru/rpms/thin-provisioning-tools" target="_blank" rel="noopener noreferrer">NАЙС.ОС dist-git package page</a> - <a href="https://specs.niceos.ru/rpms/thin-provisioning-tools/src/branch/niceos-5.2/SPECS/thin-provisioning-tools.spec" target="_blank" rel="noopener noreferrer">NАЙС.ОС spec file</a> ### Источники, найденные web_search 1. <a href="https://github.com/jthornber/thin-provisioning-tools" target="_blank" rel="noopener noreferrer">github.com — thin provisioning tools</a> 2. <a href="https://github.com/jthornber/thin-provisioning-tools/issues/205" target="_blank" rel="noopener noreferrer">github.com — 205</a> 3. <a href="https://github.com/hashicorp/tfc-workflows-github/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 4. <a href="https://github.com/jthornber/thin-provisioning-tools/issues/120" target="_blank" rel="noopener noreferrer">github.com — 120</a> 5. <a href="https://gist.github.com/17d485543af884b45a5f62b21f1f613c" target="_blank" rel="noopener noreferrer">gist.github.com — 17d485543af884b45a5f62b21f1f613c</a> 6. <a href="https://github.com/thin-edge/thin-edge.io/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 7. <a href="https://github.com/magma/magma/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 8. <a href="https://github.com/plougher/squashfs-tools/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 9. <a href="https://github.com/orbbec/OrbbecFirmware/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 10. <a href="https://github.com/plougher/squashfs-tools" target="_blank" rel="noopener noreferrer">github.com — squashfs tools</a> 11. <a href="https://github.com/hashicorp/packer-plugin-vsphere/releases" target="_blank" rel="noopener noreferrer">github.com — releases</a> 12. <a href="https://github.com/tinkerbell/tinkerbell" target="_blank" rel="noopener noreferrer">github.com — tinkerbell</a> ## Upstream release notes / description _No release notes were available from the upstream API._ ## 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 2.1.2-openai-deep` - Generated at: `2026-05-02T13:18:54Z`
Author
Owner

Package version is now 1.3.2 and target version was 1.3.2. Closing as resolved.\n\n_Closed by niceos_upstream_monitor.py 1.5 at 2026-05-02T13:31:31Z._

Package version is now `1.3.2` and target version was `1.3.2`. Closing as resolved.\n\n_Closed by `niceos_upstream_monitor.py 1.5` at `2026-05-02T13:31:31Z`._
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/thin-provisioning-tools#2
No description provided.