Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package topgrade for openSUSE:Factory checked in at 2026-06-11 17:27:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/topgrade (Old) and /work/SRC/openSUSE:Factory/.topgrade.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "topgrade" Thu Jun 11 17:27:36 2026 rev:26 rq:1358619 version:17.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/topgrade/topgrade.changes 2026-05-25 21:58:45.829803001 +0200 +++ /work/SRC/openSUSE:Factory/.topgrade.new.1981/topgrade.changes 2026-06-11 17:29:20.931331756 +0200 @@ -1,0 +2,27 @@ +Wed Jun 10 21:55:30 UTC 2026 - Gerald Chen <[email protected]> + +- Update to version 17.6.1: + * chore: release v17.6.1 (#2085) + * chore: release v17.6.0 (#2070) + * fix(needrestart): skip if hooks already run it (#2066) + * chore(pre-commit): autoupdate (#2079) + * chore(deps): update vmactions/openbsd-vm action to v1.4.3 (#2071) + * chore(deps): update github/codeql-action action to v4.36.2 (#2073) + * chore(deps): lock file maintenance (#2078) + * chore(deps): lock file maintenance (#2061) + * chore(deps): update vmactions/openbsd-vm action to v1.4.2 (#2054) + * chore(deps): update rust to v1.96.0 (#2058) + * chore(deps): update github/codeql-action action to v4.36.1 (#2069) + * chore(deps): update actions/checkout action to v6.0.3 (#2068) + * chore(pre-commit): autoupdate (#2064) + * chore(pre-commit): autoupdate (#2053) + * chore(deps): update github/codeql-action action to v4.36.0 (#2047) + * chore(deps): update vmactions/openbsd-vm action to v1.4.1 (#2051) + * chore(deps): lock file maintenance (#2052) + * feat(vim): add opt-in vim.pack pruning (#2044) + * refactor: improve path handling in config, node steps, and build (#2015) + * fix(tmux): update path to tpm update script (#2050) + * fix(jetbrains-toolbox): skip step when Toolbox is not installed, but remotely managed IDEs are installed (#2038) + * fix(jetbrains-toolbox): fix breakage on new Toolbox version by switching to different update finished line (#2039) + +------------------------------------------------------------------- Old: ---- topgrade-17.5.1.tar.zst New: ---- topgrade-17.6.1.tar.zst ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ topgrade.spec ++++++ --- /var/tmp/diff_new_pack.R6MlyF/_old 2026-06-11 17:29:22.835411604 +0200 +++ /var/tmp/diff_new_pack.R6MlyF/_new 2026-06-11 17:29:22.839411771 +0200 @@ -17,7 +17,7 @@ Name: topgrade -Version: 17.5.1 +Version: 17.6.1 Release: 0 Summary: Upgrade all the things License: GPL-3.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.R6MlyF/_old 2026-06-11 17:29:22.875413281 +0200 +++ /var/tmp/diff_new_pack.R6MlyF/_new 2026-06-11 17:29:22.879413449 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/topgrade-rs/topgrade.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="scm">git</param> - <param name="revision">v17.5.1</param> + <param name="revision">v17.6.1</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param> <param name="versionrewrite-replacement">\1</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.R6MlyF/_old 2026-06-11 17:29:22.903414455 +0200 +++ /var/tmp/diff_new_pack.R6MlyF/_new 2026-06-11 17:29:22.907414623 +0200 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/topgrade-rs/topgrade.git</param> - <param name="changesrevision">efe095e8c5a587c7e97236e8754de7230306b044</param></service><service name="tar_scm"> + <param name="changesrevision">171d0b608b5e0a603cf3b365b6a069e351ec0279</param></service><service name="tar_scm"> <param name="url">https://ghproxy.net/https://github.com/topgrade-rs/topgrade.git</param> <param name="changesrevision">ef0a0d69bbe0cb08d6c4930ee18b734e03c215fb</param></service></servicedata> (No newline at EOF) ++++++ topgrade-17.5.1.tar.zst -> topgrade-17.6.1.tar.zst ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/check_config_creation_if_not_exists.yml new/topgrade-17.6.1/.github/workflows/check_config_creation_if_not_exists.yml --- old/topgrade-17.5.1/.github/workflows/check_config_creation_if_not_exists.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/check_config_creation_if_not_exists.yml 2026-06-10 20:08:38.000000000 +0200 @@ -14,7 +14,7 @@ runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/check_i18n.yml new/topgrade-17.6.1/.github/workflows/check_i18n.yml --- old/topgrade-17.5.1/.github/workflows/check_i18n.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/check_i18n.yml 2026-06-10 20:08:38.000000000 +0200 @@ -14,7 +14,7 @@ runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/check_security_vulnerability.yml new/topgrade-17.6.1/.github/workflows/check_security_vulnerability.yml --- old/topgrade-17.5.1/.github/workflows/check_security_vulnerability.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/check_security_vulnerability.yml 2026-06-10 20:08:38.000000000 +0200 @@ -24,7 +24,7 @@ security-events: write steps: - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -32,6 +32,6 @@ uses: microsoft/DevSkim-Action@4b5047945a44163b94642a1cecc0d93a3f428cc6 # v1.0.16 - name: Upload DevSkim scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5 + uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 with: sarif_file: devskim-results.sarif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/ci.yml new/topgrade-17.6.1/.github/workflows/ci.yml --- old/topgrade-17.5.1/.github/workflows/ci.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/ci.yml 2026-06-10 20:08:38.000000000 +0200 @@ -28,7 +28,7 @@ name: Format (cargo fmt) runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -41,7 +41,7 @@ name: Custom checks runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -119,7 +119,7 @@ # Ignores the cross-compiled targets for simplicity; they contain a minimal amount of code anyway. steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -180,7 +180,7 @@ cargo_cmd: ${{ matrix.use_cross == true && 'cross' || 'cargo' }} matrix_target: ${{ matrix.target }} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/create_release_assets.yml new/topgrade-17.6.1/.github/workflows/create_release_assets.yml --- old/topgrade-17.5.1/.github/workflows/create_release_assets.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/create_release_assets.yml 2026-06-10 20:08:38.000000000 +0200 @@ -33,7 +33,7 @@ env: tag: ${{ github.event.client_payload.tag }} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -170,7 +170,7 @@ matrix_target: ${{ matrix.target }} tag: ${{ github.event.client_payload.tag }} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -302,12 +302,12 @@ shell: openbsd {0} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - name: Start OpenBSD VM - uses: vmactions/openbsd-vm@d7d892b7b9ba97ed2747b0fc201be65037d64c3e # v1.4.0 + uses: vmactions/openbsd-vm@fcf799d7ce9c305ad89eabef1fb2fa5c1c42d0ee # v1.4.3 with: arch: x86_64 sync: nfs @@ -382,7 +382,7 @@ permissions: contents: write # `gh release edit` steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - name: Publish release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/dependency-review.yml new/topgrade-17.6.1/.github/workflows/dependency-review.yml --- old/topgrade-17.5.1/.github/workflows/dependency-review.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/dependency-review.yml 2026-06-10 20:08:38.000000000 +0200 @@ -17,7 +17,7 @@ runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/release-plz.yml new/topgrade-17.6.1/.github/workflows/release-plz.yml --- old/topgrade-17.5.1/.github/workflows/release-plz.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/release-plz.yml 2026-06-10 20:08:38.000000000 +0200 @@ -18,7 +18,7 @@ id-token: write # For trusted publishing steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 persist-credentials: false @@ -57,7 +57,7 @@ cancel-in-progress: false steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/release_to_pypi.yml new/topgrade-17.6.1/.github/workflows/release_to_pypi.yml --- old/topgrade-17.5.1/.github/workflows/release_to_pypi.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/release_to_pypi.yml 2026-06-10 20:08:38.000000000 +0200 @@ -15,7 +15,7 @@ matrix: target: [x86_64, x86, aarch64] steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -37,7 +37,7 @@ matrix: target: [x64, x86] steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -58,7 +58,7 @@ matrix: target: [x86_64, aarch64] steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -76,7 +76,7 @@ sdist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.github/workflows/scorecards.yml new/topgrade-17.6.1/.github/workflows/scorecards.yml --- old/topgrade-17.5.1/.github/workflows/scorecards.yml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.github/workflows/scorecards.yml 2026-06-10 20:08:38.000000000 +0200 @@ -36,7 +36,7 @@ steps: - name: "Checkout code" - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false @@ -71,6 +71,6 @@ # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5 + uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 with: sarif_file: results.sarif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/.pre-commit-config.yaml new/topgrade-17.6.1/.pre-commit-config.yaml --- old/topgrade-17.5.1/.pre-commit-config.yaml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/.pre-commit-config.yaml 2026-06-10 20:08:38.000000000 +0200 @@ -17,7 +17,7 @@ - id: trailing-whitespace - repo: https://github.com/adhtruong/mirrors-typos - rev: v1.46.2 + rev: v1.47.2 hooks: - id: typos args: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/CHANGELOG.md new/topgrade-17.6.1/CHANGELOG.md --- old/topgrade-17.5.1/CHANGELOG.md 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/CHANGELOG.md 2026-06-10 20:08:38.000000000 +0200 @@ -7,6 +7,19 @@ ## [Unreleased] +## [17.6.1](https://github.com/topgrade-rs/topgrade/compare/v17.5.1...v17.6.1) - 2026-06-10 + +### Added + +- *(vim)* add opt-in vim.pack pruning ([#2044](https://github.com/topgrade-rs/topgrade/pull/2044)) + +### Fixed + +- *(needrestart)* skip if hooks already run it ([#2066](https://github.com/topgrade-rs/topgrade/pull/2066)) +- *(tmux)* update path to tpm update script ([#2050](https://github.com/topgrade-rs/topgrade/pull/2050)) +- *(jetbrains-toolbox)* skip step when Toolbox is not installed, but remotely managed IDEs are installed ([#2038](https://github.com/topgrade-rs/topgrade/pull/2038)) +- *(jetbrains-toolbox)* fix breakage on new Toolbox version by switching to different update finished line ([#2039](https://github.com/topgrade-rs/topgrade/pull/2039)) + ## [17.5.1](https://github.com/topgrade-rs/topgrade/compare/v17.5.0...v17.5.1) - 2026-05-20 ### Fixed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/Cargo.lock new/topgrade-17.6.1/Cargo.lock --- old/topgrade-17.5.1/Cargo.lock 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/Cargo.lock 2026-06-10 20:08:38.000000000 +0200 @@ -248,9 +248,9 @@ [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" @@ -315,9 +315,9 @@ [[package]] name = "bitflags" -version = "2.11.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "block-buffer" @@ -363,9 +363,9 @@ [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "byteorder" @@ -381,9 +381,9 @@ [[package]] name = "cc" -version = "1.2.62" +version = "1.2.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" +checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f" dependencies = [ "find-msvc-tools", "jobserver", @@ -405,9 +405,9 @@ [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", "js-sys", @@ -678,7 +678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "crossterm_winapi", "document-features", "filedescriptor", @@ -809,15 +809,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2", ] [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", @@ -885,9 +885,9 @@ [[package]] name = "either" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "encode_unicode" @@ -1335,9 +1335,9 @@ [[package]] name = "http" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "8be7462df143984c4598a256ef469b251d7d7f9e271135073e78fc535414f3d0" dependencies = [ "bytes", "itoa", @@ -1374,9 +1374,9 @@ [[package]] name = "hyper" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" dependencies = [ "atomic-waker", "bytes", @@ -1566,9 +1566,9 @@ [[package]] name = "ignore" -version = "0.4.25" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" +checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" dependencies = [ "crossbeam-deque", "globset", @@ -1658,9 +1658,9 @@ [[package]] name = "jetbrains-toolbox-updater" -version = "6.0.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4462ef6f061d87a9b7565e70974e0714f8df3d81b12dcdbe8c0eb412ee89de20" +checksum = "4dca9e96ad84de2c37208b0d4a6f01b19580a7d11e8fc2c2c6c4c6983a718261" dependencies = [ "dirs", "freedesktop-desktop-entry", @@ -1730,9 +1730,9 @@ [[package]] name = "js-sys" -version = "0.3.98" +version = "0.3.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" dependencies = [ "cfg-if", "futures-util", @@ -1760,9 +1760,9 @@ [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" dependencies = [ "libc", ] @@ -1802,9 +1802,9 @@ [[package]] name = "log" -version = "0.4.29" +version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" [[package]] name = "lru-slab" @@ -1814,9 +1814,9 @@ [[package]] name = "mac-notification-sys" -version = "0.6.12" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a16783dd1a47849b8c8133c9cd3eb2112cfbc6901670af3dba47c8bbfb07d3" +checksum = "50efa634682b3fc5a1ab6f3dd5b2bce7b848011fc485b53b063dc68f2f74feae" dependencies = [ "cc", "objc2", @@ -1835,9 +1835,9 @@ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "memoffset" @@ -1882,9 +1882,9 @@ [[package]] name = "mio" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" dependencies = [ "libc", "log", @@ -1898,7 +1898,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg-if", "cfg_aliases", "libc", @@ -1947,9 +1947,9 @@ [[package]] name = "num-conv" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-traits" @@ -1975,7 +1975,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "dispatch2", "objc2", ] @@ -1992,7 +1992,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2", "libc", "objc2", @@ -2099,9 +2099,9 @@ [[package]] name = "parse-changelog" -version = "0.6.16" +version = "0.6.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6245ae3ccab647e14c9b3894b8d18e4ddeea5365a6d5dad774ba89ba2021a1d" +checksum = "c0878368d958d9eac74fcbbe62d3fa9fc0e6f1c2ea7c16f9cdbd7232722d58d9" dependencies = [ "indexmap", "memchr", @@ -2214,7 +2214,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.11+spec-1.1.0", + "toml_edit 0.25.12+spec-1.1.0", ] [[package]] @@ -2387,7 +2387,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -2441,9 +2441,9 @@ [[package]] name = "reqwest" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ "base64", "bytes", @@ -2501,9 +2501,9 @@ [[package]] name = "rust-i18n" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21031bf5e6f2c0ae745d831791c403608e99a8bd3776c7e5e5535acd70c3b7ba" +checksum = "55691a65892c33ee2de49c15ea5600c6f4a70e8eeb8e6c3cd96d2a231d230c40" dependencies = [ "globwalk", "regex", @@ -2514,9 +2514,9 @@ [[package]] name = "rust-i18n-macro" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fe5295763b358606f7ca26a564e20f4469775a57ec1f09431249a33849ff52" +checksum = "30de488acadcf767d97cd48518a8da8ea9777b1c9a5beca4eab78bbf77d07309" dependencies = [ "glob", "proc-macro2", @@ -2530,18 +2530,15 @@ [[package]] name = "rust-i18n-support" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69bcc115c8eea2803aa3d85362e339776f4988a0349f2f475af572e497443f6f" +checksum = "aea0fef8a93c06326b66392c95a115120e609674cb2132d37d276a6b05b545b4" dependencies = [ "arc-swap", "base62", "globwalk", "itertools 0.11.0", - "lazy_static", "normpath", - "proc-macro2", - "regex", "serde", "serde_json", "serde_yaml", @@ -2587,7 +2584,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2600,7 +2597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.12.1", @@ -2625,9 +2622,9 @@ [[package]] name = "rustls-native-certs" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d" dependencies = [ "openssl-probe", "rustls-pki-types", @@ -2726,7 +2723,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "core-foundation", "core-foundation-sys", "libc", @@ -2818,9 +2815,9 @@ [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -2908,9 +2905,9 @@ [[package]] name = "shlex" -version = "1.3.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "signal-hook" @@ -2995,9 +2992,9 @@ [[package]] name = "socket2" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", "windows-sys 0.61.2", @@ -3105,16 +3102,16 @@ [[package]] name = "sysinfo" -version = "0.36.1" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252800745060e7b9ffb7b2badbd8b31cfa4aa2e61af879d0a3bf2a317c20217d" +checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" dependencies = [ "libc", "memchr", "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.61.3", + "windows 0.62.2", ] [[package]] @@ -3129,9 +3126,9 @@ [[package]] name = "tar" -version = "0.4.45" +version = "0.4.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973" +checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" dependencies = [ "filetime", "libc", @@ -3376,9 +3373,9 @@ [[package]] name = "toml_edit" -version = "0.25.11+spec-1.1.0" +version = "0.25.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" dependencies = [ "indexmap", "toml_datetime 1.1.1+spec-1.1.0", @@ -3409,7 +3406,7 @@ [[package]] name = "topgrade" -version = "17.5.1" +version = "17.6.1" dependencies = [ "chrono", "clap", @@ -3452,7 +3449,7 @@ "tracing", "tracing-subscriber", "walkdir", - "which 8.0.2", + "which 8.0.3", "wildmatch", "windows 0.62.2", "windows-registry", @@ -3475,11 +3472,11 @@ [[package]] name = "tower-http" -version = "0.6.10" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "bytes", "futures-util", "http", @@ -3595,9 +3592,9 @@ [[package]] name = "typenum" -version = "1.20.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "uds_windows" @@ -3724,9 +3721,9 @@ [[package]] name = "uuid" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "d258b83ceec21034727ecee8c382cfa6c3e133699b0742c64571814fb420c9f7" dependencies = [ "js-sys", "serde_core", @@ -3790,9 +3787,9 @@ [[package]] name = "wasm-bindgen" -version = "0.2.121" +version = "0.2.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409" dependencies = [ "cfg-if", "once_cell", @@ -3803,9 +3800,9 @@ [[package]] name = "wasm-bindgen-futures" -version = "0.4.71" +version = "0.4.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +checksum = "9473dbd2991ae90b6291c3c32c30c6187ac49aa32f9905d1cce280ec1e110b0f" dependencies = [ "js-sys", "wasm-bindgen", @@ -3813,9 +3810,9 @@ [[package]] name = "wasm-bindgen-macro" -version = "0.2.121" +version = "0.2.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3823,9 +3820,9 @@ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.121" +version = "0.2.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e" dependencies = [ "bumpalo", "proc-macro2", @@ -3836,9 +3833,9 @@ [[package]] name = "wasm-bindgen-shared" -version = "0.2.121" +version = "0.2.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437" dependencies = [ "unicode-ident", ] @@ -3871,7 +3868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "hashbrown 0.15.5", "indexmap", "semver", @@ -3879,9 +3876,9 @@ [[package]] name = "web-sys" -version = "0.3.98" +version = "0.3.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" +checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436" dependencies = [ "js-sys", "wasm-bindgen", @@ -3929,9 +3926,9 @@ [[package]] name = "which" -version = "8.0.2" +version = "8.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459" +checksum = "c789537cf2f7f55be8e6192f92e464174ee55f91af622777f7f1ceb0dbccd03e" dependencies = [ "libc", ] @@ -4445,7 +4442,7 @@ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.1", + "bitflags 2.13.0", "indexmap", "log", "serde", @@ -4499,9 +4496,9 @@ [[package]] name = "yoke" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -4522,9 +4519,9 @@ [[package]] name = "zbus" -version = "5.15.0" +version = "5.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" +checksum = "eee682d202a77e4a9f3b2c2bdf48a7b28af5c08c34ddf66f98c93e5e39464285" dependencies = [ "async-broadcast", "async-executor", @@ -4557,9 +4554,9 @@ [[package]] name = "zbus_macros" -version = "5.15.0" +version = "5.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" +checksum = "adf1bd45a81a103745b1757754762a26e8cd01e4532e4d6c8ec431624b80d1d6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -4583,18 +4580,18 @@ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639" dependencies = [ "proc-macro2", "quote", @@ -4713,9 +4710,9 @@ [[package]] name = "zvariant" -version = "5.11.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee" +checksum = "a192a0bde63360d77a7523c833d4b4ce6070a927e2c53246e4c540b1a3e27be0" dependencies = [ "endi", "enumflags2", @@ -4727,9 +4724,9 @@ [[package]] name = "zvariant_derive" -version = "5.11.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda" +checksum = "90bc6cde9c01c511074be97f7ccb6c19d0da89e3f8662e812e999dcfd4638737" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -4740,9 +4737,9 @@ [[package]] name = "zvariant_utils" -version = "3.3.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" +checksum = "1e8535915cfa75547e559d8c68e8139909a4aeee076831e4ef7fc59d8172c4d6" dependencies = [ "proc-macro2", "quote", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/Cargo.toml new/topgrade-17.6.1/Cargo.toml --- old/topgrade-17.5.1/Cargo.toml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/Cargo.toml 2026-06-10 20:08:38.000000000 +0200 @@ -6,7 +6,7 @@ license = "GPL-3.0-or-later" repository = "https://github.com/topgrade-rs/topgrade" rust-version = "1.88.0" -version = "17.5.1" +version = "17.6.1" exclude = ["doc/screenshot.gif", "BREAKINGCHANGES_dev.md"] edition = "2024" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/build.rs new/topgrade-17.6.1/build.rs --- old/topgrade-17.5.1/build.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/build.rs 2026-06-10 20:08:38.000000000 +0200 @@ -1,4 +1,4 @@ -use std::path::Path; +use std::path::PathBuf; use std::{env, fs}; fn main() { @@ -8,8 +8,7 @@ } fn breaking_changes() { - let out_dir_s = &env::var("OUT_DIR").unwrap(); - let out_dir = Path::new(out_dir_s); + let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); let version_str = env::var("CARGO_PKG_VERSION").unwrap(); let changelog = parse_changelog::parse(include_str!("CHANGELOG.md")).expect("Invalid CHANGELOG.md"); let release = changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/config.example.toml new/topgrade-17.6.1/config.example.toml --- old/topgrade-17.5.1/config.example.toml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/config.example.toml 2026-06-10 20:08:38.000000000 +0200 @@ -377,6 +377,8 @@ [vim] # For `vim-plug`, execute `PlugUpdate!` instead of `PlugUpdate` # force_plug_update = true +# For Neovim's `vim.pack`, remove inactive packages before updating +# vim_pack_prune = true [firmware] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/rust-toolchain.toml new/topgrade-17.6.1/rust-toolchain.toml --- old/topgrade-17.5.1/rust-toolchain.toml 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/rust-toolchain.toml 2026-06-10 20:08:38.000000000 +0200 @@ -1,2 +1,2 @@ [toolchain] -channel = "1.95.0" +channel = "1.96.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/config.rs new/topgrade-17.6.1/src/config.rs --- old/topgrade-17.5.1/src/config.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/config.rs 2026-06-10 20:08:38.000000000 +0200 @@ -392,6 +392,9 @@ pub struct Vim { #[merge(strategy = merge::option::overwrite_none)] force_plug_update: Option<bool>, + + #[merge(strategy = merge::option::overwrite_none)] + vim_pack_prune: Option<bool>, } #[derive(Deserialize, Default, Debug, Merge)] @@ -761,25 +764,25 @@ let mut res = Vec::new(); let dir_to_search = config_directory.join("topgrade.d"); - if dir_to_search.exists() { - for entry in fs::read_dir(dir_to_search)? { - let entry = entry?; - // Use `Path::is_file()` here to traverse symbolic links. - // `DirEntry::file_type()` and `FileType::is_file()` will not traverse symbolic links. - if entry.path().is_file() { - debug!( - "Found additional (directory) configuration file at {}", - entry.path().display() - ); - res.push(entry.path()); - } - } - res.sort(); - } else { + if !dir_to_search.exists() { debug!("No additional configuration directory exists, creating one"); fs::create_dir_all(&dir_to_search)?; } + for entry in fs::read_dir(&dir_to_search)? { + let entry_path = entry?.path(); + + if entry_path.is_file() { + debug!( + "Found additional (directory) configuration file at {}", + entry_path.display() + ); + res.push(entry_path); + } + } + + res.sort(); + Ok(res) } @@ -1575,6 +1578,15 @@ .unwrap_or(false) } + /// Whether to prune inactive `vim.pack` packages in Neovim + pub fn vim_pack_prune(&self) -> bool { + self.config_file + .vim + .as_ref() + .and_then(|c| c.vim_pack_prune) + .unwrap_or(false) + } + /// Binaries to exclude from `gup update` pub fn gup_exclude(&self) -> &[String] { self.config_file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/generic.rs new/topgrade-17.6.1/src/steps/generic.rs --- old/topgrade-17.5.1/src/steps/generic.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/generic.rs 2026-06-10 20:08:38.000000000 +0200 @@ -1879,6 +1879,12 @@ // Skip Err(SkipStep(format!("{}", t!("No JetBrains Toolbox installation found"))).into()) } + Err(FindError::NoDesktopFile(_)) => { + // Skip: the JetBrains/Toolbox directory exists but no Toolbox binary or desktop + // file is present. This can happen when Toolbox running on another machine remotely + // installed an IDE here, leaving the directory behind without a local Toolbox. + Err(SkipStep(format!("{}", t!("No JetBrains Toolbox installation found"))).into()) + } Err(FindError::UnsupportedOS(os)) => { // Skip Err(SkipStep(format!("{}", t!("Unsupported operating system {os}", os = os))).into()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/node.rs new/topgrade-17.6.1/src/steps/node.rs --- old/topgrade-17.5.1/src/steps/node.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/node.rs 2026-06-10 20:08:38.000000000 +0200 @@ -302,7 +302,7 @@ let vp_home = match std::env::var_os("VP_HOME") { None => return Ok(false), Some(s) if s.is_empty() => return Ok(false), - Some(s) => s, + Some(s) => PathBuf::from(s), }; let uid = Uid::effective(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/os/linux.rs new/topgrade-17.6.1/src/steps/os/linux.rs --- old/topgrade-17.5.1/src/steps/os/linux.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/os/linux.rs 2026-06-10 20:08:38.000000000 +0200 @@ -179,10 +179,6 @@ archlinux::show_pacnew(); } } - - pub fn redhat_based(self) -> bool { - matches!(self, Distribution::CentOS | Distribution::Fedora) - } } fn update_bedrock(ctx: &ExecutionContext) -> Result<()> { @@ -887,33 +883,19 @@ Ok(()) } -/// `needrestart` should be skipped if: -/// -/// 1. This is a redhat-based distribution -/// 2. This is a debian-based distribution and it is using `nala` as the `apt` -/// alternative -fn should_skip_needrestart() -> Result<()> { - let distribution = Distribution::detect()?; - let msg = t!("needrestart will be ran by the package manager"); - - if distribution.redhat_based() { - return Err(SkipStep(String::from(msg)).into()); - } - - if let Distribution::Debian = distribution { - let (apt_kind, _) = detect_apt()?; - if let AptKind::Nala = apt_kind { - return Err(SkipStep(String::from(msg)).into()); - } - } - - Ok(()) -} - pub fn run_needrestart(ctx: &ExecutionContext) -> Result<()> { let needrestart = require("needrestart")?; - should_skip_needrestart()?; + // `needrestart` should be skipped if system update will run and its hooks exist + const HOOKS: &[&str] = &[ + "/usr/share/libalpm/hooks/needrestart.hook", + "/etc/pacman.d/hooks/needrestart.hook", + "/etc/apt/apt.conf.d/99needrestart", + ]; + + if HOOKS.iter().any(|hook| Path::new(hook).exists()) && ctx.config().should_run(Step::System) { + return Err(SkipStep(String::from(t!("needrestart will be ran by the package manager"))).into()); + } print_separator(t!("Check for needed restarts")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/tmux.rs new/topgrade-17.6.1/src/steps/tmux.rs --- old/topgrade-17.5.1/src/steps/tmux.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/tmux.rs 2026-06-10 20:08:38.000000000 +0200 @@ -18,7 +18,7 @@ pub fn run_tpm(ctx: &ExecutionContext) -> Result<()> { let tpm = match env::var("TMUX_PLUGIN_MANAGER_PATH") { // Use `$TMUX_PLUGIN_MANAGER_PATH` if set, - Ok(var) => PathBuf::from(var).join(UPDATE_PLUGINS), + Ok(var) => PathBuf::from(var).join("tpm").join(UPDATE_PLUGINS), Err(_) => { // otherwise, use the default XDG location `~/.config/tmux` #[cfg(unix)] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/upgrade.vim new/topgrade-17.6.1/src/steps/upgrade.vim --- old/topgrade-17.5.1/src/steps/upgrade.vim 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/upgrade.vim 2026-06-10 20:08:38.000000000 +0200 @@ -12,7 +12,21 @@ endif if has("nvim") - lua if vim.pack and next(vim.pack.get(nil, { info = false })) ~= nil then vim.pack.update(nil, { force = true }) end + lua << EOF +if vim.pack and next(vim.pack.get(nil, { info = false })) ~= nil then + if vim.env.TOPGRADE_VIM_PACK_PRUNE == "true" and vim.fn.exists(":packdel") ~= 0 then + local ok, err = pcall(vim.cmd, "packdel ++all") + if not ok then + if tostring(err):find("E5809: Nothing to remove", 1, true) then + print("No inactive vim.pack packages to prune") + else + error(err) + end + end + end + vim.pack.update(nil, { force = true }) +end +EOF endif if exists(":MasonUpdate") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/topgrade-17.5.1/src/steps/vim.rs new/topgrade-17.6.1/src/steps/vim.rs --- old/topgrade-17.5.1/src/steps/vim.rs 2026-05-20 09:19:01.000000000 +0200 +++ new/topgrade-17.6.1/src/steps/vim.rs 2026-06-10 20:08:38.000000000 +0200 @@ -65,6 +65,9 @@ if ctx.config().force_vim_plug_update() { command.env("TOPGRADE_FORCE_PLUGUPDATE", "true"); } + if ctx.config().vim_pack_prune() { + command.env("TOPGRADE_VIM_PACK_PRUNE", "true"); + } let output = command.output()?; ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/topgrade/vendor.tar.zst /work/SRC/openSUSE:Factory/.topgrade.new.1981/vendor.tar.zst differ: char 7, line 1
