chore(deps): action v7 majors, remaining held-back majors, and a postcss override - #650
Merged
Conversation
- actions/checkout v6.1.0 -> v7.0.1 - actions/setup-node v6.5.0 -> v7.0.0 - actions/setup-go v6.5.0 -> v7.0.0 - actions/cache v5.1.0 -> v6.1.0 - codecov/codecov-action v6.0.2 -> v7.0.0 codecov is a relabel, not new code: v6, v6.0.2, v7 and v7.0.0 all point at fb8b3582, which is the SHA we were already pinned to. Only the version comment moves, so renovate stops offering it. Every new SHA was checked back against its tag, and every `with:` input the workflows pass still exists and is undeprecated in the v7 action definitions. actionlint is clean.
Adds a `postcss` override so the workspace resolves exactly one copy. The catalog has been on a patched postcss since rotki#645, but a second, vulnerable 8.5.15 stayed in the lockfile: stylelint-order 8.1.1 (still the newest release) declares `postcss: ^8.5.8`, and pnpm will not re-resolve a range that is already satisfied. Dependabot reads the lockfile, so both GHSA-r28c-9q8g-f849 and GHSA-fxqj-rqcc-2cmp stayed open even though nothing we ship used the old copy. `pnpm update -r --depth Infinity postcss` does not shift it; an override is the only lever short of dropping stylelint-order. With a single forced copy the catalog also moves to 8.5.24, which no longer costs an extra duplicate. Generated CSS is byte-identical: the entry stylesheet hashes to the same `entry.BMCHlK-8.css` as before. Also here: - @unhead/vue 2.1.15 -> 2.1.16, staying on v2 because vite-ssg pins it - go-redis 9.21.0 -> 9.22.0 Verified card-payment still emits its head tags on 2.1.16, since its `useHead` has to come from the same unhead instance vite-ssg provides.
lucide v1 removed every brand/logo glyph deliberately — brand marks are third-party trademarks with their own usage rules — and @rotki/ui-library followed, dropping the logos it used to ship as custom SVGs. Any logo an app renders must now be registered by that app or it renders blank. Registration and the version bump land together on purpose: bumping first would leave the logos blank in between. Seven marks are registered, which is exactly what the site renders: - socials: lu-github, lu-x-twitter, lu-discord, lu-reddit (FooterIconLinks.vue, ValueContact.vue) - payment: lu-paypal (PaymentMethodSelection.vue) - platform: lu-os-apple, lu-os-windows (download.vue, UserDevicesTable.vue) `lu-x` is also used but needs nothing: that is lucide's generic close glyph, not the X brand mark. Crypto network marks stay in the library. The icon data lives next to the plugin that consumes it rather than under `~/`, so the runtime file does not depend on an app alias. The library's shipped lu-paypal and lu-os-windows hard-coded `stroke: black` and did not adapt to dark mode; these use `currentColor` so they theme correctly. packages/card-payment renders no brand logos, so it needs no registration.
pinia 3.0.4 -> 4.0.2, @pinia/nuxt 0.11.3 -> 1.0.1. No code changes were needed: the store in `store/index.ts` and the composition-API stores already use the setup syntax that pinia 4 keeps. typecheck, lint, 502 tests, `generate` and the card-payment build all pass unchanged.
swiper 12.1.4 -> 14.0.6, skipping the 13 line entirely. This supersedes the 12.2.0 minor that was still pending. No code changes needed: every entry point the carousels import still exists in 14 (`swiper/types`, `swiper/vue`, `swiper/modules`, `swiper/css`), and the prerendered homepage still emits swiper/swiper-wrapper/swiper-slide markup. Consumers are the testimonial carousel, the app showcase slider and the shared carousel components. Being a visual, interactive component, this one is worth an eyeball on the homepage carousel during the smoke pass rather than trusting green CI alone.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #650 +/- ##
=======================================
Coverage 27.92% 27.92%
=======================================
Files 391 391
Lines 12457 12457
Branches 1945 1945
=======================================
Hits 3478 3478
Misses 8880 8880
Partials 99 99
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
kelsos
force-pushed
the
chore/final-majors
branch
from
August 4, 2026 14:13
aed9eef to
e735a55
Compare
bumpp 11.1.0 -> 12.0.0. It only backs the `release` script; verified the CLI still starts. better-sqlite3 stays on 12.11.1, which is the newest 12.x installable: a v12.11.2 github release exists but was pulled from the npm registry, so the registry 404s on it and omits it from the version list entirely (WiseLibs/better-sqlite3#1493). better-sqlite3 13 is deliberately NOT here. It fails the docker frontend build with "Could not find any Python installation to use". The cause is not a missing binary. 13.0.1 does bundle prebuilds via prebuildify, `prebuilds/linuxmusl-x64.node` included, but its package.json still declares an unconditional `install: node-gyp rebuild` alongside `gypfile: true`, so package managers compile from source and never look at the bundled binary. node:24-alpine has no python3 or C++ toolchain, so the compile fails. Upstream tracks this as WiseLibs/better-sqlite3#1503, filed against Windows but the same root cause everywhere. 13.0.2 drops the install script and fixes that, but it is 6 days old, inside the 7 day minimumReleaseAge, and carries an open regression where the bundled linux-arm64 prebuild requires GLIBC_2.38 (WiseLibs/better-sqlite3#1509). So the fix is to wait for a 13.x that is both aged and regression-free, not to add python3 and a compiler to the frontend image for a major with no urgency behind it.
satori 0.26.0 -> 0.29.0. It renders every OG image, so this was held out of the sweep for a visual check rather than trusting green CI. Did that check exhaustively instead of by eye: snapshotted the 157 generated images built on 0.26.0, rebuilt from a clean .output on 0.29.0, and compared sha256 across the set. All 157 are byte-for-byte identical. Confirmed the images were genuinely re-rendered rather than reused, by their mtimes.
braintree-web 3.142.0 -> 3.144.0, consumed by both packages/website and packages/card-payment. Held out of the sweep because it sits on the payment path. @types/braintree-web stays at 3.96.17, which is the newest published; the types package tracks the SDK loosely and typecheck is clean against 3.144.0. CI cannot exercise a real payment, so this still wants the card flow walked manually on staging: hosted fields render, a successful sale, and a declined card surfacing actionable copy rather than a generic message.
kelsos
force-pushed
the
chore/final-majors
branch
from
August 4, 2026 14:26
e735a55 to
67c1d81
Compare
This was referenced Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The wrap-up PR for the renovate dashboard (#169): the v7 action majors, the remaining held-back majors, ui-library with its brand-icon migration, and a postcss override that finally closes the two advisories.
Six commits, one per logical group, so any single one can be dropped without unpicking the rest.
1.
chore(ci)— action v7 majorscheckout v6.1.0→v7.0.1, setup-node v6.5.0→v7.0.0, setup-go v6.5.0→v7.0.0, cache v5.1.0→v6.1.0, codecov v6.0.2→v7.0.0.
codecov is a relabel, not new code:
v6,v6.0.2,v7andv7.0.0all point atfb8b3582, the SHA we were already pinned to. Only the comment moves, so renovate stops offering it.Each new SHA was checked back against its tag, and every
with:input still exists and is undeprecated in the v7 definitions. actionlint clean.2.
chore(deps)— postcss override + leftoversThis is the one that actually fixes something. The catalog has been on a patched postcss since #645, but a second vulnerable 8.5.15 stayed in the lockfile, because
stylelint-order@8.1.1(still newest) declarespostcss: ^8.5.8and pnpm will not re-resolve an already-satisfied range. Dependabot reads the lockfile, so GHSA-r28c-9q8g-f849 and GHSA-fxqj-rqcc-2cmp stayed open even though nothing we ship used the old copy.An
overridesentry forces a single copy. With that in place the catalog also moves to 8.5.24 at no duplication cost. Generated CSS is byte-identical — the entry stylesheet hashes to the sameentry.BMCHlK-8.cssas before.Also:
@unhead/vue2.1.16 (staying on v2, since vite-ssg pins it) andgo-redis9.22.0.3.
feat(ui)— brand icons + ui-library 2.23.2lucide v1 removed every brand glyph on purpose, and ui-library followed. Any logo the app renders must be registered by the app or it renders blank, so registration and the bump land in the same commit — bumping first would leave them blank in between.
Audited what the site actually renders rather than trusting the plan; it is exactly seven:
lu-github,lu-x-twitter,lu-discord,lu-reddit—FooterIconLinks.vue,ValueContact.vuelu-paypal—PaymentMethodSelection.vuelu-os-apple,lu-os-windows—download.vue,UserDevicesTable.vuelu-xis also used but needs nothing: that's lucide's generic close glyph, not the X brand mark. Crypto network marks stay in the library.packages/card-paymentrenders no brand logos, so it needs no registration.The library's
lu-paypalandlu-os-windowshard-codedstroke: blackand did not adapt to dark mode; these usecurrentColorso they theme correctly. Icon data sits next to the plugin that consumes it, so the runtime file doesn't depend on an app alias.4-6. The remaining majors
@pinia/nuxt0.11.3 → 1.0.1. No code changes; the stores already use the setup syntax pinia 4 keeps.releasescript..outputon 0.29.0, compared sha256 across the set. All 157 byte-for-byte identical, and confirmed via mtimes they were genuinely re-rendered, not reused.better-sqlite3 13 was attempted and dropped
It failed
build-dockerwith "Could not find any Python installation to use". Not a missing binary: 13.0.1 does bundle prebuilds via prebuildify,linuxmusl-x64.nodeincluded, but its package.json still declares an unconditionalinstall: node-gyp rebuildwithgypfile: true, so package managers compile from source and never look at the bundled binary — WiseLibs/better-sqlite3#1503.13.0.2 drops that install script and fixes it, but it's 6 days old (inside
minimumReleaseAge) and carries an open regression where the bundled linux-arm64 prebuild needs GLIBC_2.38 — #1509. Staying on 12.11.1, which is the newest 12.x installable: v12.11.2 exists as a github release but was pulled from npm (#1493).Deliberately not here
vite-ssg@28.3.0depending on@unhead/vue: ^2.1.2as a direct dep. See the discussion on chore(deps): update nuxt to 4.5.1 and vite to 8 #649.minimumReleaseAgewindow, including@vueuse/*14.4.0 (eligible tomorrow), vite 8.2.0, and bumpp 12.1.1.Verification
Run after every commit, and again on the final stack: typecheck clean, lint clean (68 pre-existing warnings, 0 errors), 502 tests pass,
generatebuilds 181 pages + 155 OG images,packages/card-paymentbuilds, Go builds/vets with all 20 test packages passing, andpnpm install --frozen-lockfileis consistent.The docker image was also built locally on the final stack, since
build-dockeris what caught the better-sqlite3 problem.Worth an eyeball during the smoke pass, since green CI can't cover these: the homepage carousel (swiper 14), the footer / contact / checkout / download pages for the brand logos, and the card payment flow (braintree-web) — hosted fields rendering, a successful sale, and a declined card surfacing actionable copy.