Dependency updates for v2.10.0 - #1156
Merged
Merged
Conversation
Update the Go dependency graph, including x/crypto, x/image, x/net, Slack, database drivers, Fiber integrations, and supporting modules. Bump the CGO-free SQLite driver to v1.2.1 and prepare golang-jwt/jwt v5 for the dedicated authentication migration.
Use RegisteredClaims and ParseWithClaims, restrict accepted tokens to HS256, and keep existing claim names and signatures wire-compatible. Add regression coverage for generated and legacy tokens, expiry validation, and algorithm rejection.
Update the UI, sidebar, plugins, documentation, lint, test, and build toolchains, including Vite 8.1, Marked 18.0.7, TypeScript 6, and current framework packages. Pin patched transitive dependencies, move pnpm policy to the workspace configuration, approve the esbuild install script, and refresh generated router metadata.
Replace the unmaintained insane parser with DOMPurify to remove its known ReDoS exposure while retaining Artalk's tag, attribute, class, style, and URL scheme allowlists. Add malicious markup, URL filtering, allowlist compatibility, and former ReDoS payload tests.
Disable Node's experimental Web Storage shim for Vitest and coverage runs so jsdom consistently provides window.localStorage on supported Node 22 and 24 releases.
Use the node:buffer entry point instead of relying on an implicit global when the plugin registry fetch script computes response sizes.
Update checkout, setup, cache, artifact, Docker, CodeQL, Codecov, repository-dispatch, and supporting GitHub Actions to their current major releases. Move the builder and runtime images to Go 1.26.5 on Alpine 3.24 while preserving workflow inputs and release artifact layout.
qwqcode
force-pushed
the
codex/dependency-updates-v2.10.0
branch
from
July 22, 2026 14:17
2aa2e3a to
36c4710
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates dependencies and build/release tooling for the v2.10.0 release, while also tightening several runtime behaviors (sanitization, voting, JWT, DB/TLS) and modernizing CI/release configuration.
Changes:
- Bump frontend/tooling dependencies across the monorepo (Vite, ESLint, TypeScript-ESLint, marked, katex, etc.) and update pnpm workspace rules/overrides.
- Replace the UI HTML sanitizer implementation with DOMPurify and add targeted sanitizer tests.
- Improve backend reliability/security: transactional vote updates, migrate JWT parsing to
golang-jwt/jwt/v5, harden MySQL TLS config handling, and switch to CGO-free builds (including sqlite driver changes).
Reviewed changes
Copilot reviewed 35 out of 39 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ui/plugin-kit/package.json | Bumps build/tooling dependencies for the plugin kit. |
| ui/plugin-katex/package.json | Updates katex/marked versions and broadens katex peer range. |
| ui/plugin-auth/package.json | Updates solid/vite plugin dev dependencies. |
| ui/eslint-plugin-artalk/package.json | Updates eslint/typescript-eslint/tsdown dependency versions. |
| ui/artalk/src/plugins/list/fetch.ts | Adapts list fetch handling to optional page in API response with stricter runtime check. |
| ui/artalk/src/lib/sanitizer.ts | Replaces insane sanitizer with DOMPurify + a second-pass attribute filter. |
| ui/artalk/src/lib/sanitizer.test.ts | Adds vitest coverage for sanitizer allow/deny behavior and former ReDoS payload. |
| ui/artalk/src/api/v2.ts | Regenerates swagger TS client output; adjusts typings and request/response formatting. |
| ui/artalk/package.json | Swaps sanitizer dependency to dompurify; updates marked; adjusts test command env. |
| ui/artalk-sidebar/typed-router.d.ts | Updates generated vue-router typing config/types. |
| ui/artalk-sidebar/package.json | Updates sidebar dependency versions (Vue, router, yaml, types, etc.). |
| test/app.go | Switches test sqlite driver import to github.com/libtnb/sqlite. |
| server/handler/vote.go | Adds input validation for VoteGet; refactors VoteCreate into transactional update helper. |
| server/handler/vote_test.go | Adds more VoteGet coverage + transaction rollback test for VoteCreate. |
| server/common/auth.go | Migrates JWT handling to jwt/v5 and improves algorithm validation/parsing flow. |
| server/common/auth_test.go | Adds unit tests for token creation, legacy claim parsing, alg validation, expiry. |
| scripts/fetch-registry.mjs | Hardens registry download (host allowlist, redirect limit, timeout, size cap). |
| scripts/check-npm-publish.mjs | Uses execFileSync for pnpm info; improves error handling and exit code behavior. |
| pnpm-workspace.yaml | Moves pnpm peer rules/overrides into workspace config; adds onlyBuiltDependencies. |
| package.json | Updates root tooling deps; removes embedded pnpm config (moved to workspace file). |
| Makefile | Sets CGO_ENABLED=0 for builds. |
| internal/sync/key_mutex_test.go | Makes mutex tests deterministic (channels instead of sleeps). |
| internal/email/queue_test.go | Makes queue tests deterministic; ensures cleanup via Close(). |
| internal/db/open.go | Switches sqlite driver; refactors MySQL TLS config loading/registration. |
| internal/db/open_test.go | Adds tests validating MySQL TLS config construction and requirements. |
| internal/db/dsn.go | Adds conditional MySQL TLS mode selection for Cloud SQL cert configs. |
| internal/db/dsn_test.go | Adds DSN test coverage for Cloud SQL TLS mode. |
| internal/core/base.go | Prevents repeated mutation of process-global time.Local via one-time initializer. |
| internal/core/base_test.go | Adds concurrency tests for timezone initializer behavior. |
| go.sum | Updates Go module checksums after dependency upgrades. |
| go.mod | Updates Go/tooling deps; switches JWT module to v5; adds sqlite module; bumps Go version. |
| docs/swagger/swagger.yaml | Regenerated swagger spec (optional fields, added 400, updated descriptions). |
| docs/swagger/swagger.json | Regenerated swagger JSON (mirrors YAML changes). |
| docs/swagger/package.json | Updates swagger tooling and improves build-client formatting workflow. |
| docs/swagger/docs.go | Regenerated embedded swagger doc template output. |
| docs/landing/package.json | Updates landing site dependency versions. |
| docs/docs/package.json | Updates docs dependency versions (katex, vue). |
| Dockerfile | Bumps Go/alpine base images and removes build tool packages no longer needed. |
| cmd/base.go | Ensures config path is resolved from invocation dir before implicit data-dir chdir. |
| cmd/base_test.go | Adds tests for config-path resolution behavior. |
| .goreleaser.yml | Migrates config to GoReleaser v2 and aligns with CGO-free builds. |
| .github/workflows/test-frontend.yml | Updates GitHub Actions versions (checkout/setup-node/pnpm). |
| .github/workflows/test-docs.yml | Updates GitHub Actions versions (checkout/setup-node/pnpm). |
| .github/workflows/test-app.yml | Updates actions + enforces CGO_ENABLED=0 in CI. |
| .github/workflows/repo-dispatch.yml | Updates repository-dispatch action version. |
| .github/workflows/release.yml | Updates checkout/setup-node action versions. |
| .github/workflows/docs-cn.yml | Updates checkout/setup-node/pnpm action versions. |
| .github/workflows/codeql.yml | Updates checkout and CodeQL action versions. |
| .github/workflows/build-ui.yml | Updates checkout/setup-node/pnpm action versions. |
| .github/workflows/build-nightly.yml | Updates multiple action versions across nightly workflow. |
| .github/workflows/build-done.yml | Updates checkout action version. |
| .github/workflows/build-docker.yml | Updates Docker-related action versions. |
| .github/workflows/build-app.yml | Reworks release build to use setup-go/node/pnpm + GoReleaser action. |
| .github/actions/comment/action.yml | Updates github-script action version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+121
to
+122
| ALLOW_ARIA_ATTR: false, | ||
| ALLOW_DATA_ATTR: false, |
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.
No description provided.