Skip to content

Merge v17 into v18 (2026-09-08) - #1081

Merged
KevinJump merged 3 commits into
v18/mainfrom
merge/v17-to-v18-2026-09-08
Sep 8, 2026
Merged

Merge v17 into v18 (2026-09-08)#1081
KevinJump merged 3 commits into
v18/mainfrom
merge/v17-to-v18-2026-09-08

Conversation

@KevinJump

@KevinJump KevinJump commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

Forward-ports the v17 work landed after the last forward merge (#1072)
that was still outstanding.

  • Cross-platform path fix — cherry-picked from Fix cross-platform path handling and env casing bug found testing ubuntu-latest #1079:
    ToAppSafeFileName only split on the current OS's path separator, so a
    Windows-style path parsed on Linux was left untouched instead of having
    app.config/web.config renamed. v18 was on the older implementation
    that had the same bug.
  • js-yaml dependabot alert — v17's Fix npm dependabot alerts in usync-assets and history-client #1073 fixed a set of npm alerts
    (postcss/uuid/nanoid/brace-expansion/js-yaml) in usync-assets and
    history-client. Checked v18's lockfiles directly: postcss, uuid,
    nanoid and brace-expansion had already reached patched versions
    independently, but both projects were still resolving js-yaml to the
    vulnerable 4.2.0 (pulled in transitively via
    @hey-api/openapi-tsjson-schema-ref-parser). Added the same
    overrides pin (^4.3.1) v17 used and regenerated both lockfiles —
    js-yaml now resolves to 4.3.2 in both.
  • Removed .github/workflows/codeql.yml — this PR's own CI run
    surfaced it failing with "CodeQL analyses from advanced configurations
    cannot be processed when the default setup is enabled". GitHub's
    default setup for code scanning (enabled repo-wide alongside v17's
    Switch CodeQL to default setup, remove advanced-setup workflow #1075) blocks uploads from any workflow-based CodeQL run, on any
    branch. v18's workflow file was dead weight from that point on, same
    as v17's codeql-2.yml was before Switch CodeQL to default setup, remove advanced-setup workflow #1075 removed it.

Not ported (already superseded on v18, or the documented
reverse-direction exception):

Test plan

  • dotnet build ./uSync.slnx -c Release — succeeds, 0 errors
  • dotnet test ./uSync.Tests/uSync.Tests.csproj -c Release — 218/218 passed
  • usync-assets: npm install && npm run typescript:build — succeeds, js-yaml confirmed at 4.3.2, no longer flagged by npm audit
  • history-client: npm install — succeeds, js-yaml confirmed at 4.3.2
  • Confirmed the CodeQL workflow failure on this PR's own run, matching the "default setup enabled" error, before removing the file

Please merge with a merge commit, not squash, so the next forward-port run can find this baseline directly from ancestry.

🤖 Generated with Claude Code

KevinJump and others added 3 commits September 8, 2026 15:35
Path.GetFileName/GetDirectoryName only recognize the current OS's path
separator, so a Windows-style path (backslashes) passed to
ToAppSafeFileName on Linux was left completely untouched instead of
having app.config/web.config renamed - GetFileName returned the whole
string unchanged since there was no '/' to split on, so the bad-name
check never matched.

Discovered while testing whether the build/test workflows could move to
ubuntu-latest runners: PathNameTests.BadFileNamesAreAppended failed on
Linux for exactly this reason. Now splits on both '\' and '/' manually
so the result doesn't depend on which OS is parsing the path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@hey-api/openapi-ts's own json-schema-ref-parser dependency still
resolves js-yaml to the vulnerable 4.2.0, same issue v17 fixed in #1073.
The other dependabot alerts postcss/uuid/nanoid/brace-expansion fixed
alongside it there had already been resolved independently on v18.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Enabling GitHub's default setup for code scanning at the repo level
(matching v17's #1075) applies across all branches, and blocks uploads
from any advanced/workflow-based CodeQL run - this workflow's PR runs on
v18 were failing with "CodeQL analyses from advanced configurations
cannot be processed when the default setup is enabled". Default setup
now covers v18 the same way it already covers v17.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@KevinJump
KevinJump merged commit c6d9336 into v18/main Sep 8, 2026
1 check passed
@KevinJump
KevinJump deleted the merge/v17-to-v18-2026-09-08 branch September 8, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant