Skip to content

Optimize lint promotion validation - #5359

Closed
Yuchao Yan (msyyc) wants to merge 156 commits into
Azure:feature/lintdiff-migration-newfrom
msyyc:msyyc-optimize-lint-promotion-skill
Closed

Optimize lint promotion validation#5359
Yuchao Yan (msyyc) wants to merge 156 commits into
Azure:feature/lintdiff-migration-newfrom
msyyc:msyyc-optimize-lint-promotion-skill

Conversation

@msyyc

Copy link
Copy Markdown
Member

Summary

  • require target-package regen-docs, generated package README and website linter/rule reference inspection, and focused Markdown formatting checks
  • remove local website dependency-closure and website build commands from the optimized order and ARM/core templates
  • set TYPESPEC_SKIP_WEBSITE_BUILD=true for broad local builds and pnpm validate:pr
  • rely on the dedicated CI Website job for the authoritative Astro check and build

Validation

  • pnpm format
  • pnpm lint
  • pnpm exec prettier --check .github/skills/lintdiff-rule-promote/SKILL.md
  • git diff --check

## Summary

Adds a new Copilot skill, `typespec-go-add-spector-test`, that guides
contributors through adding a
[Spector](https://github.com/microsoft/typespec) mock API test for the
`@azure-tools/typespec-go` emitter.

The skill was migrated from the `autorest.go` repo and updated to
reflect the current typespec-go development process, including the
standardized opt-in spec selection config introduced in Azure#5023.

## What the skill covers

Given a Spector case link (`http-specs` or `azure-http-specs`), it walks
through:

1. **Identify the spec** — resolve the spec type and path.
2. **Opt into generation** — add a one-line entry to
`spector.config.http.yaml` / `spector.config.azure.yaml` (with the
required `options.module`), instead of editing `.scripts/tspcompile.js`.
3. **Generate the client** — regenerate with `pnpm tspcompile
--filter=<module>`.
4. **Read the mock API and generated surface** — inspect `mockapi.ts`
and the generated client methods.
5. **Write Go client tests** — one `*_client_test.go` per generated
`zz_*_client.go`, using `require` against the `http://localhost:3000`
endpoint.
6. **Validate against Spector** — `pnpm spector --start` / `go test` /
`pnpm spector --stop`, plus `pnpm test:go:e2e` and `pnpm lint:go`.

## Notes

- Scoped purely to adding Spector tests — no scenario/unit test
guidance.
- Aligned with `packages/typespec-go/docs/development.md` (uses `pnpm
build:deps`, `pnpm lint:go`).
…zure#5059)

Fixes Azure#5010.

## Problem

`@typespec/http-client-python` is not a workspace package — it is
consumed from npm through the pnpm **catalog**, so bumping it only edits
the root `pnpm-workspace.yaml`.

pnpm attributes root-file changes to the **root package only**, so `pnpm
--filter "...[base]"` reports no affected emitter and `detect-affected`
returns `python: false`. That is why Azure#5009 ran no Python CI.

## Fix

Add `pnpm-workspace.yaml` to `sharedExtra`, so any change to it triggers
every emitter target — the same treatment the `core` submodule pointer
already gets.

The file changes rarely and always affects dependency resolution
repo-wide, so this is deliberately blunt rather than trying to work out
which catalog entry moved.

## Verification

Simulated the Azure#5009 diff locally with `BASE_SHA=origin/main`:

```
Affected targets: {"python":true,"java":true,"typescript":true,"go":true}
```

Plus a unit test in `eng/scripts/detect-affected.test.ts`.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 19d6a84d-f603-41ee-8377-6dfb7e661391
…lient packages (Azure#4872)

Multi-client packages failed to build with `DIST_MISSING`: the generated
`config/tsconfig.src.*.json` files hardcoded `include:
["../src/index.ts"]`, while `warp.config.yml` exported every client's
entry point as a separate subpath (`./devCenter` →
`./src/devCenter/index.ts`). Since the root `src/index.ts` imports the
deeper client/api files directly instead of re-exporting the per-client
barrels, TypeScript never emitted those barrels to `dist`, and warp's
export validation failed.

### Changes

- **`build-ts-config.ts`**: New `getSrcIncludePaths(exports)` derives
the `include` list from the same `exports` map that drives
`warp.config.yml` — mapping `./src/...` → `../src/...`, dropping
non-`.ts` values (e.g. `package.json`), de-duplicating, and always
keeping `../src/index.ts` as fallback. The four
`buildTsSrc{Esm,Browser,ReactNative,Cjs}Config` builders now take
`exports`.
- **`index.ts`**: Threads `modularPackageInfo.exports` into the
`buildTsSrc*Config` builders in both the initial-generation and
update/migration paths, keeping the tsconfig inputs and warp exports in
sync.
- **Tests**: `test-next/unit/metadata/ts-config.test.ts` covering
default fallback, multi-client sync, non-`.ts` filtering,
de-duplication, and per-target propagation.

For the multi-client example in the issue, the emitted configs now
include every exported barrel:

```jsonc
// config/tsconfig.src.esm.json
"include": [
  "../src/index.ts",
  "../src/devCenter/index.ts",
  "../src/devCenter/api/index.ts",
  "../src/devBoxes/index.ts",
  "../src/deploymentEnvironments/index.ts",
  "../src/models/index.ts"
]
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
…zure#5019)

Fixes Azure#5008

## What

Unify the `@azure-tools/typespec-java` **emitter** and its
**emitter-tests** into a single npm project, matching how `typespec-go`
and `typespec-python` are structured. Previously `emitter-tests/` was a
standalone npm + Maven project, deliberately excluded from the pnpm
workspace, that consumed the emitter via a packed `.tgz` and pinned peer
versions with npm `overrides`.

## Why

`typespec-java` was the only language emitter whose e2e tests lived in a
separate npm project. This required a bespoke pack + `npm install` flow
(`Build-TypeSpec.ps1`), a second `package.json`/`package-lock.json`, an
`overrides` block, and a core-driven version sync. Consolidating removes
that maintenance overhead and makes Java consistent with the other
emitters.

## How

- **One npm project.** The e2e scripts (`regenerate`, `test:java:e2e`,
`spector-*`, `sync-tests`) and the spector/http-specs devDependencies
(`workspace:^`) now live in the root
`packages/typespec-java/package.json`. Removed
`emitter-tests/package.json`, `package-lock.json`, and
`Build-TypeSpec.ps1`/`Setup.ps1`/`setup.py`.
- **Emitter resolved by self-reference.** Because `emitter-tests/` no
longer has its own `package.json`, `emit:
["@azure-tools/typespec-java"]` in `emitter-tests/tspconfig.yaml`
resolves to the parent package via Node package self-reference (no
`.tgz`, no `--emit` argument). `tsp compile <spec>.tsp` works directly.
- **Harness scripts moved to the package root** (`Generate.ps1`,
`Spector-Tests.ps1`, `SyncTests.ps1`); they
`Push-Location`/`Set-Location` into `emitter-tests/` for the Maven/tsp
work.
- **CI/ADO** run via `pnpm run regenerate` / `pnpm run test:java:e2e`
with `working-directory: packages/typespec-java` (`ci-java.yml`,
`nightly-e2e.yml`, `spector-coverage.yml`).
- Updated `.gitignore`/`.prettierignore` and developer docs; removed an
orphaned `tsp-checkout.sh`.

## Behavioral note

The e2e tests now run against the **workspace/dev** peer versions (via
the catalog), like typespec-go/python, instead of the previously pinned
released versions. `CONTRIBUTING.md` now documents the unified workspace
build using the repository’s safe Turbo wrapper.

## Validation

- `pnpm build` (Maven jar + tsc) succeeds.
- `pnpm run regenerate` generates the full local +
http-specs/azure-http-specs suites through the self-reference emitter
(2800+ Java files).
- `pnpm install --frozen-lockfile` is consistent.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: bdf71a18-d69d-45d1-a513-08b63a71d4e3
…uideline (Azure#5072)

Resolve: Azure#5060
Resolve: Azure#613

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tadelesh <1726438+tadelesh@users.noreply.github.com>
Co-authored-by: tadelesh <chenjieshi@microsoft.com>
`@azure-tools/azure-http-specs` was not part of the `typespec-azure`
lockstep version policy, meaning it versioned independently from the
rest of the Azure TypeSpec packages.

## Changes

- Added `@azure-tools/azure-http-specs` to the `typespec-azure` lockstep
policy in `.chronus/config.yaml`

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: timotheeguerin <1031227+timotheeguerin@users.noreply.github.com>
Co-authored-by: Timothee Guerin <tiguerin@microsoft.com>
Split this from the rest of the repo migration as tsx was used as a prod
dependency here.
This is still safe as we only support node versions that allow
typescript to be run now(spec repo relies on that now too)

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `a6137ca` to
`bc1c4cd`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/bc1c4cd636ec8a27d6c360ecf7dd6ce05e50a217"><code>bc1c4cd</code></a>
fix(website): give docs sidebar navigation a proper landmark box (<a
href="https://redirect.github.com/microsoft/typespec/issues/11414">#11414</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/f2547d690a63e5e89df94a59445907f426a87d4f"><code>f2547d6</code></a>
docs(http-client-java): document how to inspect TCGC SDK output for a
spec (#...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/9ba642db1e3880ed3daaba0848d7abdaa9a6c31a"><code>9ba642d</code></a>
[http-client-csharp] Build discriminated base description from
discriminated ...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/1f7b35c39af4b10ed3ce5717639936c46c9438bc"><code>1f7b35c</code></a>
Restore missing last-contract buildable attributes on
ModelReaderWriterContex...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/0fe98884dc1802672aeddbc99c090e5b4fc76d77"><code>0fe9888</code></a>
[python] fix: omit content-type header when optional body is absent (<a
href="https://redirect.github.com/microsoft/typespec/issues/11272">#11272</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/5e85c237e0937f0745eb05dcd94ccee464dfa330"><code>5e85c23</code></a>
Support XML ApiCompat baselines in C# generator (<a
href="https://redirect.github.com/microsoft/typespec/issues/11395">#11395</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/42feb121b9cc8edbd7a2aee2367c3c3d17f9bf33"><code>42feb12</code></a>
fix(http-client-python): api_version validation decorator reads correct
confi...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/229470f3cff42997999753caafcf48acb7ddf561"><code>229470f</code></a>
[python] Use wire names in TypedDict docstrings (<a
href="https://redirect.github.com/microsoft/typespec/issues/11371">#11371</a>)</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/a6137cac43a727ce0c2656364fd72d50c272ee4a...bc1c4cd636ec8a27d6c360ecf7dd6ce05e50a217">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timothee Guerin <tiguerin@microsoft.com>
…zure#5065)

## Summary

Adds an `apiVersion` field to the `LanguagePackageMetadata` interface in
`packages/typespec-metadata`, resolved via `createSdkContext` from
`@azure-tools/typespec-client-generator-core`.

## Changes

- **`src/metadata.ts`**: Added `apiVersion?: string` to
`LanguagePackageMetadata` with doc comment explaining possible values
- **`src/emitter.ts`**: Calls `createSdkContext` and resolves
`sdkPackage.metadata.apiVersions` map
- **`src/collector.ts`**: Threads `resolvedApiVersion` through
`collectLanguagePackages` → `buildLanguageMetadata` →
`createLanguageMetadata`
- **`package.json`**: Added
`@azure-tools/typespec-client-generator-core` as `"workspace:^"`
dependency
- **`test/collector.test.ts`**: Added "apiVersion extraction" describe
block with 5 tests

## Resolution Logic

| Map state | Resolved value |
|-----------|---------------|
| size > 1 | `"multiple-versions"` |
| size == 1 | The single value (`"all"` or actual version like
`"2023-10-01"`) |
| empty/undefined | `undefined` |

---------

Co-authored-by: iscai-msft <isabellavcai@gmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c95a24d5-2785-44e4-9599-ac2f5cb37a2c
Copilot-Session: 7d63e253-0c42-46ea-88b1-3e0aa1dddebe
Copilot-Session: 75e5e691-2de3-4305-9855-bee4534c6690
Copilot-Session: 4d3f5528-7e0e-4828-ab85-b85ba9dffc5d
## What

Adds `autobaseline` to the `sdl:` config in
`eng/pipelines/templates/1es-redirect.yml`:

```yaml
sdl:
  autobaseline:
    enableForGitHub: true
    isEnabledForAllTools: true
```

## Why

Addresses the recurring 1ES PT warning:

> Your pipeline is not yet baselined for any existing SDL violations and
running SDL tools in no-break mode. Once your YAMLs are checked in, run
your pipeline on the default branch of your repo to trigger automatic
generation of baselines by 1ES PT.

- `enableForGitHub: true` is required for autobaselining to engage on a
GitHub-hosted repo.
- `isEnabledForAllTools: true` baselines all SDL tools (credscan,
psscriptanalyzer, etc.).

The `.gdnbaselines` baseline is generated automatically on the next
pipeline run on `main`, after which the no-break-mode warning clears.

## Out of scope
- **Branch-validation warning** — inherent 1ES limitation for GitHub
repos; not suppressible.
- **Component Governance alerts** — tracked separately.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The underlying issue has been resolved.
Resolves Azure#4926.

## What
Adds an onboarding doc for the Go emitter covering **post-codegen
customization**, which was the remaining gap called out in the issue.

## Details
- New guide:
`website/src/content/docs/docs/emitters/clients/typespec-go/post-codegen-customization.md`.
- **Prefer client customization in `client.tsp`.** Post-generation
transforms are a last resort. The doc leads with the TCGC decorators to
reach for first — `@clientName` for renaming,
`@client`/`@operationGroup`/`@clientLocation` for hierarchy,
`@override`/`@access`/`@usage` for the public surface, `@clientDoc` for
doc comments — plus the `"go"` scope argument for Go-only tweaks. These
are language-aware, compiler-validated, and visible to every emitter.
- Then it explains the emitter's `go-generate` option for the cases with
no TypeSpec equivalent (e.g. Go build tags):
- Never hand-edit the generated `zz_*.go` files (lost on regeneration);
use a post-generation transform instead.
- Emitter execution order: emit -> `go generate <file>` -> `gofmt -s -w
.` -> `go mod tidy`.
    - Go-toolchain-on-PATH and missing-file error behavior.
- YAML config example plus a worked `after_generate.go` +
`transforms.go` example (based on the emitter's own
`test/local/gogenerate` fixtures).
- Wires the page into the Go emitter sidebar as an `extra` item (outside
the auto-generated `reference/` dir so `regen-docs` won't overwrite it).

## Validation
- `astro check --minimumFailingSeverity hint` -> 0 errors / 0 warnings /
0 hints
- `astro build` -> full site built (865 pages); page renders at
`/docs/emitters/clients/typespec-go/post-codegen-customization/`

No changeset added since this is a website-only docs change (not a
versioned package).

---------

Co-authored-by: tadelesh <chenjieshi@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a2fed377-7b26-45fc-b3aa-8b6d6df8b46a
…zure#5092)

Backmerge `release/july-2026` → `main` for the typespec-java **0.45.11**
hotfix.

## Included
- Azure#5090 — Sync core to `d320a53b`: return response headers as a model
(core #11420) + response-headers test.
- Azure#5091 — Bump `@azure-tools/typespec-java` 0.45.10 → 0.45.11.

Ensures the hotfix and version bump are reflected in `main`.

---------

Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Timothee Guerin <tiguerin@microsoft.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: timotheeguerin <1031227+timotheeguerin@users.noreply.github.com>
Co-authored-by: iscai-msft <43154838+iscai-msft@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7
Adds four TCGC linter rules for C# SDK model naming:

- `csharp-no-options-suffix`: suggests `Config` instead of `Options`,
except client options
- `csharp-no-request-suffix`: suggests `Content` instead of `Request`
- `csharp-no-response-suffix`: suggests `Result` instead of `Response`
- `csharp-use-standard-acronyms`: starts with `Ip` -> `IP`, `Db` ->
`DB`, and `Os` -> `OS`

All rules use C# resolved names via `getLibraryName(..., "csharp")`, add
`@@clientName(..., "csharp")` codefixes in `client.tsp`, and are enabled
only through `@azure-tools/typespec-azure-rulesets/client-sdk`.

This PR partially addresses Azure#4458 because that issue
lists many acronym casing patterns. Based on existing `client.tsp`
overrides, the most common three are `Ip`, `Db`, and `Os`, so this PR
implements only those first to keep the rule focused. Additional
acronyms can be added later.

Fixes Azure#4448
Fixes Azure#4449
Fixes Azure#4450
Partially addresses Azure#4458

Validation run locally:
- `pnpm --filter @azure-tools/typespec-client-generator-core build`
- `pnpm --filter @azure-tools/typespec-client-generator-core exec vitest
run test/rules/csharp-no-options-suffix.test.ts
test/rules/csharp-no-request-suffix.test.ts
test/rules/csharp-no-response-suffix.test.ts
test/rules/csharp-use-standard-acronyms.test.ts`
- `pnpm --filter @azure-tools/typespec-azure-rulesets build`
- `pnpm --filter @azure-tools/typespec-azure-rulesets test`

---------

Co-authored-by: Haiyuan Zhang <haiyzhan@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d02f6a96-81e2-4256-b6f5-798e382049b8
Copilot-Session: c0af1189-afe1-444d-9911-3e98e456f3b9
related upstream PR: microsoft/typespec#11422

Adds generated Python test fixtures required by the test suite and syncs
the marked `.gitignore` fixture rules from upstream. Missing markers now
produce a warning and skip the `.gitignore` update.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `bc1c4cd` to
`2976962`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/29769622639a4673e94f57518d629250003fe9f2"><code>2976962</code></a>
build(deps): bump the testing group across 1 directory with 3 updates
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11430">#11430</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/de1be70df080c7943449490136ddddb5a929b4db"><code>de1be70</code></a>
build(deps): bump github/codeql-action from 4.37.0 to 4.37.3 in the
actions g...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/20a02b28c4162d9e838ed0b85291f1d1389c4fa3"><code>20a02b2</code></a>
Preserve customized Python test fixtures (<a
href="https://redirect.github.com/microsoft/typespec/issues/11422">#11422</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/d6879132d01f0d1bc34caaada1b50277ce3b3bdf"><code>d687913</code></a>
fix(http-client-java): exclude hidden maxpagesize param from generated
sample...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/ccde3b50dfbb379f6edaaf096224565b73bbfa6c"><code>ccde3b5</code></a>
fix(http-client-java): avoid credential phrase in random mock map key
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11435">#11435</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/691d863b8960e11276669e283471b9a89c6aa96a"><code>691d863</code></a>
http-client-java: remove legacy AutorestSettings and write Package
api-versio...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/d320a53bb33cf1cbf7f5e2742b9da369944ae9be"><code>d320a53</code></a>
Handle custom external model bases (<a
href="https://redirect.github.com/microsoft/typespec/issues/11183">#11183</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/c234d6a6dc6c37498f0b86b70f9a926c72605ec3"><code>c234d6a</code></a>
feat(http-client-java): return response headers as a model from the
convenien...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/c5f6dd8452269ab4e1048bfa490dc16b988efc3f"><code>c5f6dd8</code></a>
feat(standalone): bundle a pinned compiler into the single-executable
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11299">#11299</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/7aa17edfd549f219fe336f9e4b53461b42f19027"><code>7aa17ed</code></a>
feat(compiler): support short diagnostic and linter rule names (<a
href="https://redirect.github.com/microsoft/typespec/issues/11209">#11209</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/typespec/compare/bc1c4cd636ec8a27d6c360ecf7dd6ce05e50a217...29769622639a4673e94f57518d629250003fe9f2">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Uses pnpm's test pattern to report a package as affected.

Fixes the issue mentioned in
Azure#5098 (comment)
Bumps [core](https://github.com/microsoft/typespec) from `2976962` to
`3f14bfe`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/3f14bfe3e85078347d2c4e918d2991baf9d5ea88"><code>3f14bfe</code></a>
fix(compiler): resolve entrypoint from
<code>exports[&quot;.&quot;][&quot;typespec&quot;]</code> when
`tspMa...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/5e3826649f78653e0f1eb2ee4a1a5b29ce38c4d6"><code>5e38266</code></a>
Add workflow to fix pnpm lockfile on dependabot PRs (<a
href="https://redirect.github.com/microsoft/typespec/issues/11441">#11441</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/23527ebcf98e4eb3c5fcaa3b474104e4e44bdcc0"><code>23527eb</code></a>
build(deps): bump the chronus group with 3 updates (<a
href="https://redirect.github.com/microsoft/typespec/issues/11432">#11432</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/eaa5a7afd4bb240b6c318e78330b8fe32caef5f4"><code>eaa5a7a</code></a>
Re-enable VSCode e2e tests (<a
href="https://redirect.github.com/microsoft/typespec/issues/11383">#11383</a>)</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/29769622639a4673e94f57518d629250003fe9f2...3f14bfe3e85078347d2c4e918d2991baf9d5ea88">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Skip the test for user-defined errors as this isn't yet supported in the
emitter and the test is validating the wrong thing.
Add decorator to the allow-list so we can check for it. Clear
sdkResponseType so we don't attempt to model the response.
…5083)

Doc-update PRs were failing CI because `chronus verify` required a
changelog entry — a requirement that makes no sense for automated
documentation-only updates.

## Changes

- **`doc-update.md`**: Add `[skip chg]` to the `create-pull-request`
title prefix so `consistency.yml` skips the changelog check. Add
explicit agent instruction to never create `.chronus/changes/` files or
run `pnpm change add`.
- **`doc-update.lock.yml`**: Updated all 3 occurrences of the title
prefix in the compiled workflow to match.

<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes Azure#5069

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: timotheeguerin <1031227+timotheeguerin@users.noreply.github.com>
…zure#5111)

Backmerge \ elease/july-2026\ -> \main\ for the typespec-java
**0.45.12** hotfix.

## Included
- Azure#5106 - Sync core to \38de4f58\: fixes #11436 (exclude hidden
maxpagesize from sample), #11435 (avoid credential phrase in mock key),
#11433 (remove legacy AutorestSettings + Fluent Premium api-version).
- Azure#5108 - Bump \@azure-tools/typespec-java\ 0.45.11 -> 0.45.12.

---------

Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Timothee Guerin <tiguerin@microsoft.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: timotheeguerin <1031227+timotheeguerin@users.noreply.github.com>
Co-authored-by: iscai-msft <43154838+iscai-msft@users.noreply.github.com>
Co-authored-by: ZiWei Chen <98569699+kazrael2119@users.noreply.github.com>
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7
Copilot-Session: 14366e85-87c7-4747-a361-6a559cf2e162
Bumps [core](https://github.com/microsoft/typespec) from `3f14bfe` to
`c2bcc2b`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/c2bcc2bf54a3dab270948b8b5dc843b729149994"><code>c2bcc2b</code></a>
docs(http-server-csharp): add missing default values to emitter options
in RE...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/cf313db5e3462ca2e3555d404174ab69760ba122"><code>cf313db</code></a>
build(deps): bump fast-uri from 3.1.2 to 3.1.4 in
/packages/http-client-pytho...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/38de4f58cffc6429f8ae0234441cbc3b6b429777"><code>38de4f5</code></a>
fix(http-server-csharp): resolve ASP.NET Core MVC types in
<code>Microsoft.*</code> name...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/6b0018d9b8cc17be23a0b4ce35e8443816d6e9f4"><code>6b0018d</code></a>
test: fix flaky tests (<a
href="https://redirect.github.com/microsoft/typespec/issues/11429">#11429</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/25a65b8a8340651b9325b8d8169b7274b490d5cd"><code>25a65b8</code></a>
chore: clean up TypeProvider attributes (<a
href="https://redirect.github.com/microsoft/typespec/issues/11418">#11418</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/1761ee61b4e08e01f772fe0eabcef4e5149402a6"><code>1761ee6</code></a>
[http-client-csharp] Fix generator crash on nullable reference generic
type (...</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/3f14bfe3e85078347d2c4e918d2991baf9d5ea88...c2bcc2bf54a3dab270948b8b5dc843b729149994">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `c2bcc2b` to
`cc32218`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/cc3221834675f1ed52903198227f80aa0941786b"><code>cc32218</code></a>
Set up mise for toolchain management (<a
href="https://redirect.github.com/microsoft/typespec/issues/11444">#11444</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/a9fc1f7467056d4b8500e239c0329b9af14c48f2"><code>a9fc1f7</code></a>
Build preview-selected packages before <code>pkg-pr-new</code> publish
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11464">#11464</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/06a7fa7c6d7ae90b6d7cda8351db602bc9ee858f"><code>06a7fa7</code></a>
fix: support semver ranges in tsp init template
<code>compilerVersion</code> (<a
href="https://redirect.github.com/microsoft/typespec/issues/11467">#11467</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/621d36399e7003669de00a44a7f032b658f5e897"><code>621d363</code></a>
fix(http-canonicalization): bump to 0.16.2 to fix duplicate Alloy load
[skip ...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/dc8dcd82d85c31869e871d8fae5c3d808cecac34"><code>dc8dcd8</code></a>
fix(http-server-csharp): don't emit auth scheme models and fix enum
member re...</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/c2bcc2bf54a3dab270948b8b5dc843b729149994...cc3221834675f1ed52903198227f80aa0941786b">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… for linter rules (Azure#5110)

## Summary

Fixes inaccurate suppression guidance and adds the now-required
documentation sections for TypeSpec Azure linter rules. Applies to both
the contributor how-to and the `create-linter-rule` skill so human and
agent authors follow the same conventions.

### Corrections

- **Suppression mechanism** — The docs previously said to add a `//
suppress` comment. That is inaccurate. Suppressions use the `#suppress
"<rule-id>" "<justification-string>"` **directive**, placed on the line
directly above the target. Both the how-to (Step 10) and the skill (Step
10) are corrected, and the how-to now includes a concrete `#suppress`
example.

### New requirements

Every rule's `docs` markdown must now include:

- An **`## Impact`** section — an `**Area:**` bullet (e.g. `API`, `SDK`,
`Emitters`) plus a short paragraph on what breaks or degrades when the
rule is violated.
- A **`## Suppression`** section — whether suppression is acceptable and
why, pointing to the correct fix.
- A **`## LintDiff Equivalent`** section — when an equivalent
[azure-openapi-validator
(LintDiff)](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/openapi-authoring-automated-guidelines.md)
rule exists, deep-linked to the specific rule id.

Updated Step 7, the example `docs` markdown block, and the checklist in
the how-to, and the corresponding step in `SKILL.md`.

## Validation

- `prettier` formatting and `cspell` are clean. Documentation/skill-only
change (no package code, no changeset required).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 53a7f4f6-90c0-4844-bb8c-e3e62837b21b
…e#5070)

Corrects inaccurate doc comments across
`typespec-azure-resource-manager` `.tsp` source files and regenerates
the reference docs they feed.

### Doc-comment fixes

- **`lib/operations.tsp`** — "exposes **and** endpoint" → "**an**
endpoint" (×2)
- **`lib/responses.tsp`** — `ArmCombinedLroHeaders`: "type **fo** the
link" → "**of**"; `ArmResourceCreatedResponse` /
`ArmResourceCreatedSyncResponse`: `@template Resource` "being
**updated**" → "being **created**"
- **`lib/decorators.tsp`** — "turns off **autoRout**" → "**autoRoute**"
- **`lib/common-types/nsp-operations.tsp`** — removed ghost `@template
ParentName` / `ParentFriendlyName` tags not present in the
`ListByParent` / `ListSinglePageByParent` signatures; "network security
**parameter**" → "**perimeter**"
- **`lib/common-types/private-links-ref.tsp`** — `PrivateLinkResource`:
"private **endpoint** resource" → "private **link** resource"
- **`lib/common-types/managed-identity-ref.tsp`** —
`SystemAssignedServiceIdentity`: "**service-assigned**" →
"**system-assigned**"
- **`lib/legacy-types/operations.tsp`** — "created **form** this
template" → "**from**" (×2); `ArmListSinglePageBySubscription` /
`ArmListSinglePageByParent`: "being **patched**" → "being **listed**"
- **`lib/legacy-types/private-endpoints.tsp`** — removed ghost
`@template ParentName` / `ParentFriendlyName` tags
- **`lib/legacy-types/extension.tsp`** — `CustomPatchAsync` /
`CustomPatchSync`: "being **created or updated**" → "being **updated**"
(PATCH cannot create)

### Regenerated outputs

`reference/data-types.md`, `reference/decorators.md`,
`reference/interfaces.md`, `README.md`, and
`generated-defs/Azure.ResourceManager.ts` updated via `pnpm regen-docs`
to reflect the fixed comments.

<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes Azure#5061

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: markcowl <1054056+markcowl@users.noreply.github.com>
This PR introduces a base type for namespace Microsoft.Relationships.
Relationships are extension resources used to establish a connection
between a source ARM resource and target ARM resource.

Notably, two relationship types exist in a public preview state in ARM
today: serviceGroupMember and dependencyOf.

The implementation of the Microsoft.Relationships base type is heavily
inspired by the only other existing base type current: agent.

The relationship type is meant to be a lightweight ARM resources
(meaning the resource payload has minimal properties and only really
carries references to other ARM resources), however implementations of
the relationship base type can new metadata about a relationship through
extending the RelationshipMetadata model

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8a6e07d6-3bd4-4373-b9a2-88ad69127fcf

---------

Co-authored-by: Mark Cowlishaw <1054056+markcowl@users.noreply.github.com>
Copilot-Session: 8a6e07d6-3bd4-4373-b9a2-88ad69127fcf
Copilot-Session: bd00581e-a610-4edb-8426-dfc6dd89cedb
Note that due to visibility rules in Go, public types/fields must begin
with an upper-case letter. So, if an exact name violates this rule, it
will be slightly transformed to be public.
Added missing test for coreusagegroup.
Wei Hu (live1206) and others added 12 commits August 28, 2026 03:51
## Summary

- map `@azure-typespec/http-client-csharp-mgmt` to the `C#` dashboard
display name
- ensure the Azure Management Plane table uses the same language label
as the data-plane C# emitter
- allow the display-name grouping from microsoft/typespec#11709 to
aggregate both C# emitters into one overview card

## Validation

- Verified the combined changes against live coverage data: the
management-plane table header displays `C#`, the raw management emitter
package name is absent, and the overview contains one aggregated C#
card.

Co-authored-by: live1206 <live1206@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `210f84c` to
`daea7e2`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/daea7e29cb73542a8863a34aeef2533d76ec1ec7"><code>daea7e2</code></a>
Do Not Generate Dashboard for Manual Regen Preview Pipeline (<a
href="https://redirect.github.com/microsoft/typespec/issues/11778">#11778</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/a0b0ee0530bad7e05db28131c7f650c0a75aced9"><code>a0b0ee0</code></a>
feat(http-client-python): generate structured JSONL/SSE streaming (<a
href="https://redirect.github.com/microsoft/typespec/issues/11594">#11594</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/10b1126bd475d9c32ab859ddd27a911f61ccd69b"><code>10b1126</code></a>
Fix: [ms] encoded duration default values were being encoded with the
wrong f...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/806e1ab8d883a7da4e4926ca19af2bb16f53d079"><code>806e1ab</code></a>
fix(http-client-python): raise azure-core error types for customized
errors c...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/d8e1467e07a2413e9f63d3f297ddd925f9dae4ed"><code>d8e1467</code></a>
Fix Javadoc corruption from literal */ in parameter description (<a
href="https://redirect.github.com/microsoft/typespec/issues/11766">#11766</a>)</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/210f84c0dee6cfb8226ce95700562c9bf0922822...daea7e29cb73542a8863a34aeef2533d76ec1ec7">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…oups (Azure#5343)

Adds TypeScript emitter integration coverage for model visibility and
clients containing multiple operation groups.

## Changes

- Enable both Spector scenario groups.
- Add typed integration tests and generated declaration baselines.
- Configure visibility-specific request model generation.

## Spector test results

### `Type_Model_Visibility` — `type-model-visibility.test.ts`

- ✅ Added: `deleteModel`
- ✅ Added: `getModel`
- ✅ Added: `headModel`
- ✅ Added: `patchModel`
- ✅ Added: `postModel`
- ✅ Added: `putModel`
- ✅ Added: `putReadOnlyModel`

### `Client_Structure` — `client-structure-two-group.test.ts`

- ✅ Added: `TwoOperationGroup`

<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes Azure#5342

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
## Summary
- scope classic operation-group declarations and references to their
owning client
- use each generated service context directly instead of invalid
`Client.<context>` qualification
- trim the model namespace prefix shared by all services while
preserving service-specific folders
- enable the `service/multiple-services` Spector case and add modular
coverage for client and model hierarchy

## Validation
- `pnpm format`
- `pnpm lint`
- `pnpm -C packages/typespec-ts run build`
- `pnpm -C packages/typespec-ts run unit-test` (666 passed)
- `pnpm -C packages/typespec-ts run test-next` (254 passed)
- regenerated `service/multiple-services` successfully
- `service-multiple-services.test.ts` (4 passed)
- existing `service-multi-service.test.ts` (2 passed)

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `daea7e2` to
`2976f18`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/2976f180e6f3f51f89b5a4eb02817da58fa7f945"><code>2976f18</code></a>
Report operation parameters as <code>op::parameters</code> in type names
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11551">#11551</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/22ea5afcedc1b38d13a325af7322feca5307313c"><code>22ea5af</code></a>
Support subpath exports in tspd gen-extern-signature (<a
href="https://redirect.github.com/microsoft/typespec/issues/11561">#11561</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/bed13e3e055de447517a38d8aba3309206bdf4bc"><code>bed13e3</code></a>
Make the C# TypeExpression handle every type kind (<a
href="https://redirect.github.com/microsoft/typespec/issues/11596">#11596</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/0efba519e6d077f40d27576ff0b6b927df88457e"><code>0efba51</code></a>
Support registry mirrors in tsp install (<a
href="https://redirect.github.com/microsoft/typespec/issues/11776">#11776</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/57f06f3dbc80e95ff4f528e8ad049488ae258ac5"><code>57f06f3</code></a>
feat(compiler): add experimental $provideTypeInfo provider and
program.getTyp...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/e0f67bdf3c5a0875dfa98b475648af37caac71a6"><code>e0f67bd</code></a>
Prevent spec provided names from escaping the emitter output dir (<a
href="https://redirect.github.com/microsoft/typespec/issues/11777">#11777</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/ddb3519c8e1bba87b21fa0649f4ef8df9d9b8e52"><code>ddb3519</code></a>
Use Alloy for C# keywords and System.Text.Json symbols (<a
href="https://redirect.github.com/microsoft/typespec/issues/11599">#11599</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/3fd3099bb105c812cb0c8d1f436dcf9c49b0a007"><code>3fd3099</code></a>
Dispatch declaration overrides in Experimental_ComponentOverrides (<a
href="https://redirect.github.com/microsoft/typespec/issues/11597">#11597</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/5cea376ef0953833760b8e11013ef8018ed2b134"><code>5cea376</code></a>
Fix C# server model filenames (<a
href="https://redirect.github.com/microsoft/typespec/issues/11591">#11591</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/61fffeeb46ed8bdc765a3a0e8c73d8acf938037d"><code>61fffee</code></a>
Source playground examples from samples (<a
href="https://redirect.github.com/microsoft/typespec/issues/11499">#11499</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/typespec/compare/daea7e29cb73542a8863a34aeef2533d76ec1ec7...2976f180e6f3f51f89b5a4eb02817da58fa7f945">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Timothee Guerin <tiguerin@microsoft.com>
…Azure#5243)

Bumps the actions group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github/gh-aw-actions/setup](https://github.com/github/gh-aw-actions)
| `0.86.2` | `0.87.9` |
| [actions/github-script](https://github.com/actions/github-script) |
`7` | `9` |
|
[github/gh-aw-actions/setup-cli](https://github.com/github/gh-aw-actions)
| `0.86.2` | `0.87.9` |
|
[actions/download-artifact](https://github.com/actions/download-artifact)
| `4` | `8` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact)
| `4` | `7` |
| [actions/setup-dotnet](https://github.com/actions/setup-dotnet) | `5`
| `6` |
| [github/codeql-action](https://github.com/github/codeql-action) |
`4.37.4` | `4.37.9` |
| [github/gh-aw](https://github.com/github/gh-aw) | `0.83.4` | `0.87.7`
|
| [jdx/mise-action](https://github.com/jdx/mise-action) | `4.2.4` |
`4.3.0` |


Updates `github/gh-aw-actions/setup` from 0.86.2 to 0.87.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/gh-aw-actions/releases">github/gh-aw-actions/setup's
releases</a>.</em></p>
<blockquote>
<h2>v0.87.9</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.9</code>.</p>
<h2>v0.87.8</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.8</code>.</p>
<h2>v0.87.7</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.7</code>.</p>
<h2>v0.87.6</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.6</code>.</p>
<h2>v0.87.5</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.5</code>.</p>
<h2>v0.87.4</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.4</code>.</p>
<h2>v0.87.2</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.2</code>.</p>
<h2>v0.87.1</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.1</code>.</p>
<h2>v0.87.0</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.0</code>.</p>
<h2>v0.86.3</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.86.3</code>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/gh-aw-actions/commit/49dc896ccb7d6d975514cfe232bcbd68cc12e2c1"><code>49dc896</code></a>
chore: sync actions from gh-aw@v0.87.9 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/220">#220</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/1aa033c7bf25ac9428fe521065b90c30a7070c4e"><code>1aa033c</code></a>
chore: sync actions from gh-aw@v0.87.6 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/219">#219</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/2a78d04403fdc6907d0f05327cffac9dbad5312d"><code>2a78d04</code></a>
chore: sync actions from gh-aw@v0.87.5 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/218">#218</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/ea4b911d44a5336c74325a122a5fd9110b45ff06"><code>ea4b911</code></a>
chore: sync actions from gh-aw@v0.87.4 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/217">#217</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/b304200a0ef4b3998673bfc7945acb08ab8c88b7"><code>b304200</code></a>
chore: sync actions from gh-aw@v0.87.2 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/216">#216</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/423b3dc04bbf1b1797194a4a75aa5cf5d0d4f5b3"><code>423b3dc</code></a>
chore: sync actions from gh-aw@v0.87.1 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/215">#215</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/b77e0d501fd2d2243d1f72722617e80d513f674e"><code>b77e0d5</code></a>
chore: sync actions from gh-aw@v0.87.0 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/214">#214</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/30aadb1626371455f145991c6385924babda2d04"><code>30aadb1</code></a>
chore: sync actions from gh-aw@v0.86.3 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/213">#213</a>)</li>
<li>See full diff in <a
href="https://github.com/github/gh-aw-actions/compare/6aab9e5b5c91c615506061f09bedd81a23babe3c...49dc896ccb7d6d975514cfe232bcbd68cc12e2c1">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/github-script` from 7 to 9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/github-script/releases">actions/github-script's
releases</a>.</em></p>
<blockquote>
<h2>v9.0.0</h2>
<p><strong>New features:</strong></p>
<ul>
<li><strong><code>getOctokit</code> factory function</strong> —
Available directly in the script context. Create additional
authenticated Octokit clients with different tokens for multi-token
workflows, GitHub App tokens, and cross-org access. See <a
href="https://github.com/actions/github-script#creating-additional-clients-with-getoctokit">Creating
additional clients with <code>getOctokit</code></a> for details and
examples.</li>
<li><strong>Orchestration ID in user-agent</strong> — The
<code>ACTIONS_ORCHESTRATION_ID</code> environment variable is
automatically appended to the user-agent string for request
tracing.</li>
</ul>
<p><strong>Breaking changes:</strong></p>
<ul>
<li><strong><code>require('@actions/github')</code> no longer works in
scripts.</strong> The upgrade to <code>@actions/github</code> v9
(ESM-only) means <code>require('@actions/github')</code> will fail at
runtime. If you previously used patterns like <code>const { getOctokit }
= require('@actions/github')</code> to create secondary clients, use the
new injected <code>getOctokit</code> function instead — it's available
directly in the script context with no imports needed.</li>
<li><code>getOctokit</code> is now an injected function parameter.
Scripts that declare <code>const getOctokit = ...</code> or <code>let
getOctokit = ...</code> will get a <code>SyntaxError</code> because
JavaScript does not allow <code>const</code>/<code>let</code>
redeclaration of function parameters. Use the injected
<code>getOctokit</code> directly, or use <code>var getOctokit =
...</code> if you need to redeclare it.</li>
<li>If your script accesses other <code>@actions/github</code> internals
beyond the standard <code>github</code>/<code>octokit</code> client, you
may need to update those references for v9 compatibility.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Add ACTIONS_ORCHESTRATION_ID to user-agent string by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li>
<li>ci: use deployment: false for integration test environments by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/712">actions/github-script#712</a></li>
<li>feat!: add getOctokit to script context, upgrade
<code>@​actions/github</code> v9, <code>@​octokit/core</code> v7, and
related packages by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/700">actions/github-script#700</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Copilot"><code>@​Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/github-script/compare/v8.0.0...v9.0.0">https://github.com/actions/github-script/compare/v8.0.0...v9.0.0</a></p>
<h2>v8.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update Node.js version support to 24.x by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/637">actions/github-script#637</a></li>
<li>README for updating actions/github-script from v7 to v8 by <a
href="https://github.com/sneha-krip"><code>@​sneha-krip</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/653">actions/github-script#653</a></li>
</ul>
<h2>⚠️ Minimum Compatible Runner Version</h2>
<p><strong>v2.327.1</strong><br />
<a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Release
Notes</a></p>
<p>Make sure your runner is updated to this version or newer to use this
release.</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/github-script/pull/637">actions/github-script#637</a></li>
<li><a
href="https://github.com/sneha-krip"><code>@​sneha-krip</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/github-script/pull/653">actions/github-script#653</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/github-script/compare/v7.1.0...v8.0.0">https://github.com/actions/github-script/compare/v7.1.0...v8.0.0</a></p>
<h2>v7.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade husky to v9 by <a
href="https://github.com/benelan"><code>@​benelan</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/482">actions/github-script#482</a></li>
<li>Add workflow file for publishing releases to immutable action
package by <a
href="https://github.com/Jcambass"><code>@​Jcambass</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/485">actions/github-script#485</a></li>
<li>Upgrade IA Publish by <a
href="https://github.com/Jcambass"><code>@​Jcambass</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/486">actions/github-script#486</a></li>
<li>Fix workflow status badges by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/497">actions/github-script#497</a></li>
<li>Update usage of <code>actions/upload-artifact</code> by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/512">actions/github-script#512</a></li>
<li>Clear up package name confusion by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/514">actions/github-script#514</a></li>
<li>Update dependencies with <code>npm audit fix</code> by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/515">actions/github-script#515</a></li>
<li>Specify that the used script is JavaScript by <a
href="https://github.com/timotk"><code>@​timotk</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/478">actions/github-script#478</a></li>
<li>chore: Add Dependabot for NPM and Actions by <a
href="https://github.com/nschonni"><code>@​nschonni</code></a> in <a
href="https://redirect.github.com/actions/github-script/pull/472">actions/github-script#472</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/github-script/commit/3a2844b7e9c422d3c10d287c895573f7108da1b3"><code>3a2844b</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/github-script/issues/700">#700</a>
from actions/salmanmkc/expose-getoctokit + prepare re...</li>
<li><a
href="https://github.com/actions/github-script/commit/ca10bbdd1a7739de09e99a200c7a59f5d73a4079"><code>ca10bbd</code></a>
fix: use <code>@​octokit/core/</code>types import for v7
compatibility</li>
<li><a
href="https://github.com/actions/github-script/commit/86e48e20ac85c970ed1f96e718fd068173948b7b"><code>86e48e2</code></a>
merge: incorporate main branch changes</li>
<li><a
href="https://github.com/actions/github-script/commit/c1084728b5b935ec4ddc1e4cee877b01797b3ff9"><code>c108472</code></a>
chore: rebuild dist for v9 upgrade and getOctokit factory</li>
<li><a
href="https://github.com/actions/github-script/commit/afff112e4f8b57c718168af75b89ce00bc8d091d"><code>afff112</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/github-script/issues/712">#712</a>
from actions/salmanmkc/deployment-false + fix user-ag...</li>
<li><a
href="https://github.com/actions/github-script/commit/ff8117e5b78c415f814f39ad6998f424fee7b817"><code>ff8117e</code></a>
ci: fix user-agent test to handle orchestration ID</li>
<li><a
href="https://github.com/actions/github-script/commit/81c6b7876079abe10ff715951c9fc7b3e1ab389d"><code>81c6b78</code></a>
ci: use deployment: false to suppress deployment noise from integration
tests</li>
<li><a
href="https://github.com/actions/github-script/commit/3953caf8858d318f37b6cc53a9f5708859b5a7b7"><code>3953caf</code></a>
docs: update README examples from <a
href="https://github.com/v8"><code>@​v8</code></a> to <a
href="https://github.com/v9"><code>@​v9</code></a>, add getOctokit docs
and v9 brea...</li>
<li><a
href="https://github.com/actions/github-script/commit/c17d55b90dcdb3d554d0027a6c180a7adc2daf78"><code>c17d55b</code></a>
ci: add getOctokit integration test job</li>
<li><a
href="https://github.com/actions/github-script/commit/a047196d9a02fe92098771cafbb98c2f1814e408"><code>a047196</code></a>
test: add getOctokit integration tests via callAsyncFunction</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/github-script/compare/v7...v9">compare
view</a></li>
</ul>
</details>
<br />

Updates `github/gh-aw-actions/setup-cli` from 0.86.2 to 0.87.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/gh-aw-actions/releases">github/gh-aw-actions/setup-cli's
releases</a>.</em></p>
<blockquote>
<h2>v0.87.9</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.9</code>.</p>
<h2>v0.87.8</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.8</code>.</p>
<h2>v0.87.7</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.7</code>.</p>
<h2>v0.87.6</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.6</code>.</p>
<h2>v0.87.5</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.5</code>.</p>
<h2>v0.87.4</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.4</code>.</p>
<h2>v0.87.2</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.2</code>.</p>
<h2>v0.87.1</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.1</code>.</p>
<h2>v0.87.0</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.87.0</code>.</p>
<h2>v0.86.3</h2>
<p>Sync of actions from <a
href="https://github.com/github/gh-aw">gh-aw</a> at
<code>v0.86.3</code>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/gh-aw-actions/commit/49dc896ccb7d6d975514cfe232bcbd68cc12e2c1"><code>49dc896</code></a>
chore: sync actions from gh-aw@v0.87.9 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/220">#220</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/1aa033c7bf25ac9428fe521065b90c30a7070c4e"><code>1aa033c</code></a>
chore: sync actions from gh-aw@v0.87.6 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/219">#219</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/2a78d04403fdc6907d0f05327cffac9dbad5312d"><code>2a78d04</code></a>
chore: sync actions from gh-aw@v0.87.5 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/218">#218</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/ea4b911d44a5336c74325a122a5fd9110b45ff06"><code>ea4b911</code></a>
chore: sync actions from gh-aw@v0.87.4 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/217">#217</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/b304200a0ef4b3998673bfc7945acb08ab8c88b7"><code>b304200</code></a>
chore: sync actions from gh-aw@v0.87.2 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/216">#216</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/423b3dc04bbf1b1797194a4a75aa5cf5d0d4f5b3"><code>423b3dc</code></a>
chore: sync actions from gh-aw@v0.87.1 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/215">#215</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/b77e0d501fd2d2243d1f72722617e80d513f674e"><code>b77e0d5</code></a>
chore: sync actions from gh-aw@v0.87.0 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/214">#214</a>)</li>
<li><a
href="https://github.com/github/gh-aw-actions/commit/30aadb1626371455f145991c6385924babda2d04"><code>30aadb1</code></a>
chore: sync actions from gh-aw@v0.86.3 (<a
href="https://redirect.github.com/github/gh-aw-actions/issues/213">#213</a>)</li>
<li>See full diff in <a
href="https://github.com/github/gh-aw-actions/compare/6aab9e5b5c91c615506061f09bedd81a23babe3c...49dc896ccb7d6d975514cfe232bcbd68cc12e2c1">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/download-artifact` from 4 to 8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.0</h2>
<h2>v8 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/download-artifact@v8 has been migrated to an ESM module. This
should be transparent to the caller but forks might need to make
significant changes.</p>
</blockquote>
<blockquote>
<p>[!IMPORTANT]
Hash mismatches will now error by default. Users can override this
behavior with a setting change (see below).</p>
</blockquote>
<h3>Direct downloads</h3>
<p>To support direct uploads in <code>actions/upload-artifact</code>,
the action will no longer attempt to unzip all downloaded files.
Instead, the action checks the <code>Content-Type</code> header ahead of
unzipping and skips non-zipped files. Callers wishing to download a
zipped file as-is can also set the new <code>skip-decompress</code>
parameter to <code>true</code>.</p>
<h3>Enforced checks (breaking)</h3>
<p>A previous release introduced digest checks on the download. If a
download hash didn't match the expected hash from the server, the action
would log a warning. Callers can now configure the behavior on mismatch
with the <code>digest-mismatch</code> parameter. To be secure by
default, we are now defaulting the behavior to <code>error</code> which
will fail the workflow run.</p>
<h3>ESM</h3>
<p>To support new versions of the @actions/* packages, we've upgraded
the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Don't attempt to un-zip non-zipped downloads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/460">actions/download-artifact#460</a></li>
<li>Add a setting to specify what to do on hash mismatch and default it
to <code>error</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/461">actions/download-artifact#461</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v7...v8.0.0">https://github.com/actions/download-artifact/compare/v7...v8.0.0</a></p>
<h2>v7.0.0</h2>
<h2>v7 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/download-artifact@v7 now runs on Node.js 24 (<code>runs.using:
node24</code>) and requires a minimum Actions Runner version of 2.327.1.
If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<h3>Node.js 24</h3>
<p>This release updates the runtime to Node.js 24. v6 had preliminary
support for Node 24, however this action was by default still running on
Node.js 20. Now this action by default will run on Node.js 24.</p>
<h2>What's Changed</h2>
<ul>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/download-artifact/pull/440">actions/download-artifact#440</a></li>
<li>Download Artifact Node24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/415">actions/download-artifact#415</a></li>
<li>fix: update <code>@​actions/artifact</code> to fix Node.js 24
punycode deprecation by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/451">actions/download-artifact#451</a></li>
<li>prepare release v7.0.0 for Node.js 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/452">actions/download-artifact#452</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/download-artifact/pull/440">actions/download-artifact#440</a></li>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/download-artifact/pull/415">actions/download-artifact#415</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v6.0.0...v7.0.0">https://github.com/actions/download-artifact/compare/v6.0.0...v7.0.0</a></p>
<h2>v6.0.0</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"><code>3e5f45b</code></a>
Add regression tests for CJK characters (<a
href="https://redirect.github.com/actions/download-artifact/issues/471">#471</a>)</li>
<li><a
href="https://github.com/actions/download-artifact/commit/e6d03f67377d4412c7aa56a8e2e4988e6ec479dd"><code>e6d03f6</code></a>
Add a regression test for artifact name + content-type mismatches (<a
href="https://redirect.github.com/actions/download-artifact/issues/472">#472</a>)</li>
<li><a
href="https://github.com/actions/download-artifact/commit/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3"><code>70fc10c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/461">#461</a>
from actions/danwkennedy/digest-mismatch-behavior</li>
<li><a
href="https://github.com/actions/download-artifact/commit/f258da9a506b755b84a09a531814700b86ccfc62"><code>f258da9</code></a>
Add change docs</li>
<li><a
href="https://github.com/actions/download-artifact/commit/ccc058e5fbb0bb2352213eaec3491e117cbc4a5c"><code>ccc058e</code></a>
Fix linting issues</li>
<li><a
href="https://github.com/actions/download-artifact/commit/bd7976ba57ecea96e6f3df575eb922d11a12a9fd"><code>bd7976b</code></a>
Add a setting to specify what to do on hash mismatch and default it to
<code>error</code></li>
<li><a
href="https://github.com/actions/download-artifact/commit/ac21fcf45e0aaee541c0f7030558bdad38d77d6c"><code>ac21fcf</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/460">#460</a>
from actions/danwkennedy/download-no-unzip</li>
<li><a
href="https://github.com/actions/download-artifact/commit/15999bff51058bc7c19b50ebbba518eaef7c26c0"><code>15999bf</code></a>
Add note about package bumps</li>
<li><a
href="https://github.com/actions/download-artifact/commit/974686ed5098c7f9c9289ec946b9058e496a2561"><code>974686e</code></a>
Bump the version to <code>v8</code> and add release notes</li>
<li><a
href="https://github.com/actions/download-artifact/commit/fbe48b1d2756394be4cd4358ed3bc1343b330e75"><code>fbe48b1</code></a>
Update test names to make it clearer what they do</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/download-artifact/compare/v4...v8">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/upload-artifact` from 4 to 7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>v7 What's new</h2>
<h3>Direct Uploads</h3>
<p>Adds support for uploading single files directly (unzipped). Callers
can set the new <code>archive</code> parameter to <code>false</code> to
skip zipping the file during upload. Right now, we only support single
files. The action will fail if the glob passed resolves to multiple
files. The <code>name</code> parameter is also ignored with this
setting. Instead, the name of the artifact will be the name of the
uploaded file.</p>
<h3>ESM</h3>
<p>To support new versions of the <code>@actions/*</code> packages,
we've upgraded the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Add proxy integration test by <a
href="https://github.com/Link"><code>@​Link</code></a>- in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
<li>Upgrade the module to ESM and bump dependencies by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/762">actions/upload-artifact#762</a></li>
<li>Support direct file uploads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/764">actions/upload-artifact#764</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Link"><code>@​Link</code></a>- made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v6...v7.0.0">https://github.com/actions/upload-artifact/compare/v6...v7.0.0</a></p>
<h2>v6.0.0</h2>
<h2>v6 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/upload-artifact@v6 now runs on Node.js 24 (<code>runs.using:
node24</code>) and requires a minimum Actions Runner version of 2.327.1.
If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<h3>Node.js 24</h3>
<p>This release updates the runtime to Node.js 24. v5 had preliminary
support for Node.js 24, however this action was by default still running
on Node.js 20. Now this action by default will run on Node.js 24.</p>
<h2>What's Changed</h2>
<ul>
<li>Upload Artifact Node 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/719">actions/upload-artifact#719</a></li>
<li>fix: update <code>@​actions/artifact</code> for Node.js 24 punycode
deprecation by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/744">actions/upload-artifact#744</a></li>
<li>prepare release v6.0.0 for Node.js 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/745">actions/upload-artifact#745</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0">https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0</a></p>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README.md by <a
href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v5.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"><code>043fb46</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/797">#797</a>
from actions/yacaovsnc/update-dependency</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/634250c1388765ea7ed0f053e636f1f399000b94"><code>634250c</code></a>
Include changes in typespec/ts-http-runtime 0.3.5</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/e454baaac2be505c9450e11b8f3215c6fc023ce8"><code>e454baa</code></a>
Readme: bump all the example versions to v7 (<a
href="https://redirect.github.com/actions/upload-artifact/issues/796">#796</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/74fad66b98a6d799dc004d3353ccd0e6f6b2530e"><code>74fad66</code></a>
Update the readme with direct upload details (<a
href="https://redirect.github.com/actions/upload-artifact/issues/795">#795</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"><code>bbbca2d</code></a>
Support direct file uploads (<a
href="https://redirect.github.com/actions/upload-artifact/issues/764">#764</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/589182c5a4cec8920b8c1bce3e2fab1c97a02296"><code>589182c</code></a>
Upgrade the module to ESM and bump dependencies (<a
href="https://redirect.github.com/actions/upload-artifact/issues/762">#762</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/47309c993abb98030a35d55ef7ff34b7fa1074b5"><code>47309c9</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/754">#754</a>
from actions/Link-/add-proxy-integration-tests</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/02a8460834e70dab0ce194c64360c59dc1475ef0"><code>02a8460</code></a>
Add proxy integration test</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/b7c566a772e6b6bfb58ed0dc250532a479d7789f"><code>b7c566a</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/745">#745</a>
from actions/upload-artifact-v6-release</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/e516bc8500aaf3d07d591fcd4ae6ab5f9c391d5b"><code>e516bc8</code></a>
docs: correct description of Node.js 24 support in README</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/upload-artifact/compare/v4...v7">compare
view</a></li>
</ul>
</details>
<br />

Updates `actions/setup-dotnet` from 5 to 6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-dotnet/releases">actions/setup-dotnet's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/752">actions/setup-dotnet#752</a></li>
<li>Bump actions/checkout from 6.0.3 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/751">actions/setup-dotnet#751</a></li>
<li>chore(deps): bump <code>@​actions/cache</code> to 6.2.0 by <a
href="https://github.com/philip-gai"><code>@​philip-gai</code></a> in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/756">actions/setup-dotnet#756</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/philip-gai"><code>@​philip-gai</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/756">actions/setup-dotnet#756</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-dotnet/compare/v5...v6.0.0">https://github.com/actions/setup-dotnet/compare/v5...v6.0.0</a></p>
<h2>v5.4.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Pin actions to commit SHAs in workflows by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/744">actions/setup-dotnet#744</a></li>
<li>Expand the CSC problem matcher to light up more errors on GitHub. by
<a
href="https://github.com/StephenCleary"><code>@​StephenCleary</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/717">actions/setup-dotnet#717</a></li>
<li>Improve global.json SDK version validation for rollForward by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/742">actions/setup-dotnet#742</a></li>
</ul>
<blockquote>
<p>The action now validates the <code>sdk.version</code> field in
<code>global.json</code> when <code>rollForward</code> is specified. The
version must be a fully-qualified SDK version (e.g.,
<code>8.0.100</code>, <code>10.0.100</code>). Wildcard versions (e.g.,
<code>10.0.*</code>) and runtime-style versions (e.g.,
<code>8.0.0</code>) will now fail. See the <a
href="https://learn.microsoft.com/en-us/dotnet/core/tools/global-json#version">.NET
SDK version specification</a> for details.</p>
</blockquote>
<h3>Documentation</h3>
<ul>
<li>Docs(action): Explicitly mark all optional inputs with required:
false by <a
href="https://github.com/kranthipoturaju"><code>@​kranthipoturaju</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/737">actions/setup-dotnet#737</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix global.json creation command by <a
href="https://github.com/michal2612"><code>@​michal2612</code></a> in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/694">actions/setup-dotnet#694</a></li>
</ul>
<h3>Dependency Updates</h3>
<ul>
<li>Upgrade <code>@​actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/746">actions/setup-dotnet#746</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jasongin"><code>@​jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/746">actions/setup-dotnet#746</a></li>
<li><a
href="https://github.com/michal2612"><code>@​michal2612</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/694">actions/setup-dotnet#694</a></li>
<li><a
href="https://github.com/kranthipoturaju"><code>@​kranthipoturaju</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/737">actions/setup-dotnet#737</a></li>
<li><a
href="https://github.com/StephenCleary"><code>@​StephenCleary</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/717">actions/setup-dotnet#717</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-dotnet/compare/v5.3.0...v5.4.0">https://github.com/actions/setup-dotnet/compare/v5.3.0...v5.4.0</a></p>
<h2>v5.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Add dotnet-version: latest support with dotnet-channel input by <a
href="https://github.com/mahabaleshwars"><code>@​mahabaleshwars</code></a>
in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/730">actions/setup-dotnet#730</a></li>
<li>Support global.json's rollForward latest* variants by <a
href="https://github.com/js6pak"><code>@​js6pak</code></a> in <a
href="https://redirect.github.com/actions/setup-dotnet/pull/538">actions/setup-dotnet#538</a></li>
<li>Improve version resolution by <a
href="https://github.com/akoeplinger"><code>@​akoeplinger</code></a> in
<a
href="https://redirect.github.com/actions/setup-dotnet/pull/560">actions/setup-dotnet#560</a></li>
</ul>
<h3>Dependency Updates</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-dotnet/commit/a98b56852c35b8e3190ac28c8c2271da59106c68"><code>a98b568</code></a>
chore(deps): bump <code>@​actions/cache</code> to 6.2.0 (<a
href="https://redirect.github.com/actions/setup-dotnet/issues/756">#756</a>)</li>
<li><a
href="https://github.com/actions/setup-dotnet/commit/afb2931642fd907238eb71bce2da0dcc910b3553"><code>afb2931</code></a>
Bump actions/checkout from 6.0.3 to 7.0.0 (<a
href="https://redirect.github.com/actions/setup-dotnet/issues/751">#751</a>)</li>
<li><a
href="https://github.com/actions/setup-dotnet/commit/6df8cefd1440cf9313e76b8fdb8aaf90cfa745a3"><code>6df8cef</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-dotnet/issues/752">#752</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-dotnet/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github/codeql-action` from 4.37.4 to 4.37.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.37.9</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li>
</ul>
<h2>v4.37.8</h2>
<p>No user facing changes.</p>
<h2>v4.37.7</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li>
</ul>
<h2>v4.37.6</h2>
<ul>
<li>Changed the default filepath for the new remote file address format
that was introduced in CodeQL Action 4.37.0 / 3.37.0 to
<code>.github/codeql-config.yml</code> to align it with the suggested
path that is used elsewhere. <a
href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li>
</ul>
<h2>v4.37.5</h2>
<ul>
<li>Fixed a bug where a network error while streaming the download of
the CodeQL bundle could terminate the <code>init</code> Action instead
of falling back to downloading the bundle before extracting it. <a
href="https://redirect.github.com/github/codeql-action/pull/4061">#4061</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h2>4.37.9 - 26 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.4">2.26.4</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4106">#4106</a></li>
</ul>
<h2>4.37.8 - 21 Aug 2026</h2>
<p>No user facing changes.</p>
<h2>4.37.7 - 13 Aug 2026</h2>
<ul>
<li>Update default CodeQL bundle version to <a
href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.3">2.26.3</a>.
<a
href="https://redirect.github.com/github/codeql-action/pull/4085">#4085</a></li>
</ul>
<h2>4.37.6 - 04 Aug 2026</h2>
<ul>
<li>Changed the default filepath for the new remote file address format
that was introduced in CodeQL Action 4.37.0 / 3.37.0 to
<code>.github/codeql-config.yml</code> to align it with the suggested
path that is used elsewhere. <a
href="https://redirect.github.com/github/codeql-action/pull/4070">#4070</a></li>
</ul>
<h2>4.37.5 - 03 Aug 2026</h2>
<ul>
<li>Fixed a bug where a network error while streaming the download of
the CodeQL bundle could terminate the <code>init</code> Action instead
of falling back to downloading the bundle before extracting it. <a
href="https://redirect.github.com/github/codeql-action/pull/4061">#4061</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/cdf488f595d80d6e07e03d4674febd5ab45fa938"><code>cdf488f</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4107">#4107</a>
from github/update-v4.37.9-920ba7cd1</li>
<li><a
href="https://github.com/github/codeql-action/commit/7243f38558d187dde99730d224bb47aa26a95306"><code>7243f38</code></a>
Update changelog for v4.37.9</li>
<li><a
href="https://github.com/github/codeql-action/commit/920ba7cd1596037e042122c00381eb16b397d68e"><code>920ba7c</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4106">#4106</a>
from github/update-bundle/codeql-bundle-v2.26.4</li>
<li><a
href="https://github.com/github/codeql-action/commit/ecfa6e16817b8f490bc9a59baa391baf4fa3e3c2"><code>ecfa6e1</code></a>
Add changelog note</li>
<li><a
href="https://github.com/github/codeql-action/commit/adcdf4a70d247343cf9c29e0f7a6658b51c3a2b1"><code>adcdf4a</code></a>
Update default bundle to codeql-bundle-v2.26.4</li>
<li><a
href="https://github.com/github/codeql-action/commit/486fec2a3ea2626afcd8c7e9208b4f515078dd7e"><code>486fec2</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4099">#4099</a>
from github/update-supported-enterprise-server-versions</li>
<li><a
href="https://github.com/github/codeql-action/commit/134624c67b20869c2aaa36dafa726375b78a5d76"><code>134624c</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4101">#4101</a>
from github/dependabot/npm_and_yarn/npm-minor-457d82...</li>
<li><a
href="https://github.com/github/codeql-action/commit/ff43db8f982a368288f117354fb8d046e937124c"><code>ff43db8</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/4103">#4103</a>
from github/mergeback/v4.37.8-to-main-db488dde</li>
<li><a
href="https://github.com/github/codeql-action/commit/4605e03a74cf891614c4d76f82384a16c1c11816"><code>4605e03</code></a>
Rebuild</li>
<li><a
href="https://github.com/github/codeql-action/commit/099c869cad6bf3b88657154d4ae47ffed27e632d"><code>099c869</code></a>
Update changelog and version after v4.37.8</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/v4.37.4...v4.37.9">compare
view</a></li>
</ul>
</details>
<br />

Updates `github/gh-aw` from 0.83.4 to 0.87.7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/gh-aw/releases">github/gh-aw's
releases</a>.</em></p>
<blockquote>
<h2>v0.87.5</h2>
<h2>🌟 Release Highlights</h2>
<p>This release delivers <strong>226 merged pull requests</strong>
focused on hardening the compiler, expanding safe-output tooling, and
strengthening the automated linting and grading systems that keep
gh-aw's self-maintaining workflows healthy.</p>
<h3>✨ What's New</h3>
<ul>
<li><strong><code>gh aw models</code></strong> adds a catalog command
for pricing, alias resolution, and observed automation models (<a
href="https://redirect.github.com/github/gh-aw/issues/55148">#55148</a>).</li>
<li><strong>Experimental schema-aware <code>gh aw edit</code></strong>
enables structured, validated editing of workflow frontmatter (<a
href="https://redirect.github.com/github/gh-aw/issues/55475">#55475</a>).</li>
<li><strong>PR steering</strong> is now available for compatible
<code>create-pull-request</code> workflows, replacing the legacy
pre-create flow (<a
href="https://redirect.github.com/github/gh-aw/issues/55171">#55171</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55249">#55249</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55285">#55285</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55250">#55250</a>).</li>
<li><strong><code>daily-storify</code></strong> workflow adds
episode-based daily narrative analysis (<a
href="https://redirect.github.com/github/gh-aw/issues/55248">#55248</a>),
and a new <strong>daily harness experiment proposer</strong> automates
experiment ideation (<a
href="https://redirect.github.com/github/gh-aw/issues/55120">#55120</a>).</li>
<li>Generated footers now render the <strong>agentic engine</strong>
used and improved spacing/consistency (<a
href="https://redirect.github.com/github/gh-aw/issues/55192">#55192</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55372">#55372</a>).</li>
<li>Added <strong>secret-scanning-alerts</strong> permission scope and
<strong>attestations</strong>/<strong>models</strong> permission
documentation (<a
href="https://redirect.github.com/github/gh-aw/issues/54904">#54904</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/54856">#54856</a>).</li>
<li>New <strong>drive-backed workflow memory</strong> support for
persistent state across runs (<a
href="https://redirect.github.com/github/gh-aw/issues/54662">#54662</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/54892">#54892</a>).</li>
</ul>
<h3>🐛 Bug Fixes &amp; Improvements</h3>
<ul>
<li>Fixed Codex credential check crashes and 401 errors by disabling
WebSocket transport (<a
href="https://redirect.github.com/github/gh-aw/issues/55106">#55106</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55089">#55089</a>).</li>
<li>Hardened Cloud Hypervisor sandboxing: fixed Copilot SDK crashes and
cache-memory write failures (<a
href="https://redirect.github.com/github/gh-aw/issues/55495">#55495</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55427">#55427</a>).</li>
<li>Corrected conclusion job permission derivation and skip-dominated
workflow health metrics (<a
href="https://redirect.github.com/github/gh-aw/issues/55529">#55529</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/54729">#54729</a>).</li>
<li>Fixed <code>github-discussion-query</code> payload scaling to avoid
jq argument growth (<a
href="https://redirect.github.com/github/gh-aw/issues/55560">#55560</a>).</li>
<li>Improved MCP CLI wrapper script permissions (0o700 instead of 0o755)
for tighter security (<a
href="https://redirect.github.com/github/gh-aw/issues/55587">#55587</a>).</li>
<li>Numerous CodeQL and static-analysis findings addressed, including
allocation-size guards and actionlint fixes (<a
href="https://redirect.github.com/github/gh-aw/issues/55480">#55480</a>,
<a
href="https://redirect.github.com/github/gh-aw/issues/55011">#55011</a>).</li>
</ul>
<h3>🔧 Internal &amp; Quality</h3>
<ul>
<li>Continued rollout of <strong>custom linters</strong> (eslint-factory
rules, Go analyzers) catching duplicate scene IDs, unsafe string
fallbacks, path-join misuse, and more across the codebase.</li>
<li>Large-scale <strong>test parallelization</strong> effort
(<code>t.Parallel()</code>) applied across dozens of Go test files to
speed up CI.</li>
<li>Ongoing refactors split oversized files (<code>awf_config.go</code>,
<code>progress.go</code>, safe-output handler registries) into focused
modules for maintainability.</li>
<li>Migrated dozens of internal agentic workflows to sandboxed/codex
engine runtimes for improved isolation.</li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>Unbloated and refreshed docs for custom agents, GitHub tools
reference, glossary, and frontmatter conventions.</li>
<li>Clarified quick-start install instructions and cache-memory
retention semantics.</li>
</ul>
<p>No community-labeled issues were closed in this release window.</p>
<blockquote>
<p>Generated by <a
href="https://github.com/github/gh-aw/actions/runs/32810225851">🚀
Release</a> · copilot · auto · 28.1 AIC · ⊞ 11.8K</p>
</blockquote>
<!-- raw HTML omitted -->
<hr />
<h2>What's Changed</h2>
<ul>
<li>[test-parallel] Add t.Parallel() to TestExtractGitHubToolsets by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
in <a
href="https://redirect.github.com/github/gh-aw/pull/54723">github/gh-aw#54723</a></li>
<li>Fix skip-dominated workflow health metrics by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54729">github/gh-aw#54729</a></li>
<li>Normalize mixed-type workflow run IDs by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54731">github/gh-aw#54731</a></li>
<li>Add accessible name to docs home logo link by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54748">github/gh-aw#54748</a></li>
<li>Fix sync exec timeout detection for defaulted option spreads by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54749">github/gh-aw#54749</a></li>
<li>lenstringzero: report the actual expression in diagnostic messages
by <a href="https://github.com/pelikhan"><code>@​pelikhan</code></a>
with <a href="https://github.com/Copilot"><code>@​Copilot</code></a> in
<a
href="https://redirect.github.com/github/gh-aw/pull/54721">github/gh-aw#54721</a></li>
<li>Make error-message lint advisory by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54800">github/gh-aw#54800</a></li>
<li>Rename panic-in-library-code internals for intent-driven
discoverability by <a
href="https://github.com/pelikhan"><code>@​pelikhan</code></a> with <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/github/gh-aw/pull/54795">github/gh-aw#54795</a></li>
<li>Fix impacted test selection under shallow (fetch-depth 1) checkouts
by <a href="https://github.com/pelikhan"><code>@​pelikhan</code></a>
with <a href="https://github.com/Copilot"><code>@​Copilot</code></a> in
<a
href="https://redirect.github.com/github/gh-aw/pull/54793">github/gh-aw#54793</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/gh-aw/commit/d7426cced84ccaedbcd1fa17aaf421d87513d74c"><code>d7426cc</code></a>
Merge branch 'main' of <a
href="https://github.com/github/gh-aw">https://github.com/github/gh-aw</a></li>
<li><a
href="https://github.com/github/gh-aw/commit/800a37a0113111ebe0936b543ef463557761d93a"><code>800a37a</code></a>
update gallery</li>
<li><a
href="https://github.com/github/gh-aw/commit/3360378e7e2a1e131519f6a0ea270444913b7f4b"><code>3360378</code></a>
update gallery</li>
<li><a
href="https://github.com/github/gh-aw/commit/37f5904075e44f03ae93bc058c0afb4a22379c37"><code>37f5904</code></a>
Add daily grader audit workflow (<a
href="https://redirect.github.com/github/gh-aw/issues/56359">#56359</a>)</li>
<li><a
href="https://github.com/github/gh-aw/commit/d78321a528cdce6dccb2e4706d75f9a465fa035e"><code>d78321a</code></a>
Fix user-rate-limit alias schema and event fallback (<a
href="https://redirect.github.com/github/gh-aw/issues/56328">#56328</a>)</li>
<li><a
href="https://github.com/github/gh-aw/commit/51e341516c88dd4f5c2241958ac8d3229ff80149"><code>51e3415</code></a>
Clarify prerelease upgrade guidance (<a
href="https://redirect.github.com/github/gh-aw/issues/56351">#56351</a>)</li>
<li><a
href="https://github.com/github/gh-aw/commit/9807018fc12bd1e8ba920fe8c9423a6941901193"><code>9807018</code></a>
Include grader evaluator scripts in workflow packages (<a
href="https://redirect.github.com/github/gh-aw/issues/56268">#56268</a>)</li>
<li><a
href="https://github.com/github/gh-aw/commit/fcf78d2c218925b1f7a72825a3a8490beaa1d1f1"><code>fcf78d2</code></a>
Always configure OTLP from enterprise default variables and secrets (<a
href="https://redirect.github.com/github/gh-aw/issues/56353">#56353</a>)</li>
<li><a
href="https://github.com/github/gh-aw/commit/569a4d6dcf31b1a00e201f334591207dafec843c"><code>569a4d6</code></a>
update docs</li>
<li><a
href="https://github.com/github/gh-aw/commit/1f0ec3a5e12484630807971ba4f89648d14ff747"><code>1f0ec3a</code></a>
update docs</li>
<li>Additional commits viewable in <a
href="https://github.com/github/gh-aw/compare/v0.83.4...v0.87.7">compare
view</a></li>
</ul>
</details>
<br />

Updates `jdx/mise-action` from 4.2.4 to 4.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jdx/mise-action/releases">jdx/mise-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.3.0: Install age-filtered mise releases</h2>
<p>A small release that adds an opt-in way to hold back from installing
brand-new mise releases.</p>
<h2>Added</h2>
<h3><code>minimum_release_age</code> input (<a
href="https://redirect.github.com/jdx/mise-action/pull/604">#604</a> by
<a href="https://github.com/jdx"><code>@​jdx</code></a>)</h3>
<p>When <code>version</code> is omitted, you can now set
<code>minimum_release_age</code> to install the newest <strong>stable,
non-draft</strong> mise release that is older than a given cutoff — a
simple way to avoid picking up a mise release the moment it ships
(closes <a
href="https://redirect.github.com/jdx/mise-action/issues/603">#603</a>).</p>
<pre lang="yaml"><code>- uses: jdx/mise-action@v4
  with:
    minimum_release_age: 7d
</code></pre>
<p>It accepts relative durations (<code>24h</code>, <code>7d</code>,
<code>6mo</code>, <code>1y</code>) as well as absolute ISO dates and
timestamps. Age-filtered versions are resolved from the GitHub Releases
API (the CDN only serves the latest binary) and downloaded by their
exact version. If mise is already present on disk, an age-filtered run
updates it to the resolved version rather than keeping the existing
binary. An explicit <code>version</code> always takes precedence over
<code>minimum_release_age</code>, and invalid dates fail fast.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jdx/mise-action/compare/v4.2.5...v4.3.0">https://github.com/jdx/mise-action/compare/v4.2.5...v4.3.0</a></p>
<h2>v4.2.5: Resilient mise downloads with automatic retries</h2>
<p>A small patch release that makes setup more resilient to transient
network failures when downloading mise.</p>
<h2>Fixed</h2>
<h3>Retry mise downloads after transient failures (<a
href="https://redirect.github.com/jdx/mise-action/pull/597">#597</a> by
<a href="https://github.com/jdx"><code>@​jdx</code></a>)</h3>
<p>The download helpers previously made a single <code>curl</code> or
<code>wget</code> attempt, so a transient GitHub release-asset HTTP or
TLS failure would abort setup before mise or any user command could run
(see <a
href="https://redirect.github.com/jdx/mise-action/issues/596">#596</a>).</p>
<p>Downloads now run through a retry wrapper that makes up to five
attempts with a 2s pause between failures, logging a warning on each
retry. This applies consistently to binary, checksum, signature, and
version fetches. Checksum and minisign verification still run only after
a successful download — never inside the retry loop — so integrity
guarantees are unchanged.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jdx/mise-action/compare/v4.2.4...v4.2.5">https://github.com/jdx/mise-action/compare/v4.2.4...v4.2.5</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jdx/mise-action/blob/main/CHANGELOG.md">jdx/mise-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.5..v4.3.0">4.3.0</a>
- 2026-08-24</h2>
<h3>🚀 Features</h3>
<ul>
<li>add minimum release age for mise (<a
href="https://redirect.github.com/jdx/mise-action/issues/604">#604</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/604">#604</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.4..v4.2.5">4.2.5</a>
- 2026-08-13</h2>
<h3>🐛 Bug Fixes</h3>
<ul>
<li>retry mise downloads after transient failures (<a
href="https://redirect.github.com/jdx/mise-action/issues/597">#597</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/597">#597</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.3..v4.2.4">4.2.4</a>
- 2026-08-01</h2>
<h3>🐛 Bug Fixes</h3>
<ul>
<li>locking support detection with force-colored output (<a
href="https://redirect.github.com/jdx/mise-action/issues/580">#580</a>)
by <a href="https://github.com/scop"><code>@​scop</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/580">#580</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.2..v4.2.3">4.2.3</a>
- 2026-07-24</h2>
<h3>🐛 Bug Fixes</h3>
<ul>
<li>export mise path entries to subsequent steps (<a
href="https://redirect.github.com/jdx/mise-action/issues/575">#575</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/575">#575</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.1..v4.2.2">4.2.2</a>
- 2026-07-24</h2>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><strong>(release-plz)</strong> exit when git-cliff produces no
version bump (<a
href="https://redirect.github.com/jdx/mise-action/issues/566">#566</a>)
by <a href="https://github.com/jdx"><code>@​jdx</code></a> in <a
href="https://redirect.github.com/jdx/mise-action/pull/566">#566</a></li>
<li>ensure <code>tar</code> supports Zstd (<a
href="https://redirect.github.com/jdx/mise-action/issues/569">#569</a>)
by <a
href="https://github.com/JackMyers001"><code>@​JackMyers001</code></a>
in <a
href="https://redirect.github.com/jdx/mise-action/pull/569">#569</a></li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>update default value of <code>cache_key_prefix</code> (<a
href="https://redirect.github.com/jdx/mise-action/issues/570">#570</a>)
by <a href="https://github.com/muzimuzhi"><code>@​muzimuzhi</code></a>
in <a
href="https://redirect.github.com/jdx/mise-action/pull/570">#570</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/muzimuzhi"><code>@​muzimuzhi</code></a>
made their first contribution in <a
href="https://redirect.github.com/jdx/mise-action/pull/570">#570</a></li>
<li><a
href="https://github.com/JackMyers001"><code>@​JackMyers001</code></a>
made their first contribution in <a
href="https://redirect.github.com/jdx/mise-action/pull/569">#569</a></li>
</ul>
<hr />
<h2><a
href="https://github.com/jdx/mise-action/compare/v4.2.0..v4.2.1">4.2.1</a>
- 2026-07-16</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jdx/mise-action/commit/c2a87611a18de5b3828c5652fe268e992400cb5c"><code>c2a8761</code></a>
chore: release v4.3.0 (<a
href="https://redirect.github.com/jdx/mise-action/issues/605">#605</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/bfedd878951adf8de070696318bd4b9c2f106ee9"><code>bfedd87</code></a>
feat: add minimum release age for mise (<a
href="https://redirect.github.com/jdx/mise-action/issues/604">#604</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/d62ef600908822fe6a098b9e8116b46930205c52"><code>d62ef60</code></a>
chore(deps): update jdx/renovate-config digest to 75abd12 (<a
href="https://redirect.github.com/jdx/mise-action/issues/601">#601</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/42937cef355ec70769b6851bc9b566a06a60471a"><code>42937ce</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/jdx/mise-action/issues/599">#599</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/3c2e0cf82a5b2e5249f0d3635a4d83d0ae861518"><code>3c2e0cf</code></a>
chore: release v4.2.5 (<a
href="https://redirect.github.com/jdx/mise-action/issues/598">#598</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/9dda3952d607125725deac9ec10a5f0e245d266b"><code>9dda395</code></a>
fix: retry mise downloads after transient failures (<a
href="https://redirect.github.com/jdx/mise-action/issues/597">#597</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/9d2b3112374f613543eb1ba717ada58f1b83bbec"><code>9d2b311</code></a>
chore(deps): update github/codeql-action action to v4.37.6 (<a
href="https://redirect.github.com/jdx/mise-action/issues/593">#593</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/4213fbba8c81548f6aa95cc448267135e0f9bf81"><code>4213fbb</code></a>
chore(deps): update jdx/mise-action action to v4.2.4 (<a
href="https://redirect.github.com/jdx/mise-action/issues/594">#594</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/672dbd2c977768efa8a09c7b5aa0c325334016ef"><code>672dbd2</code></a>
chore(deps): update zizmorcore/zizmor-action action to v0.6.2 (<a
href="https://redirect.github.com/jdx/mise-action/issues/595">#595</a>)</li>
<li><a
href="https://github.com/jdx/mise-action/commit/5159765e490c25a07dea3e55ecc7b1fb6e4fea9b"><code>5159765</code></a>
chore(deps): lock file maintenance (<a
href="https://redirect.github.com/jdx/mise-action/issues/592">#592</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jdx/mise-action/compare/7e36c90d9ab29c415a2384db3006f3ec8a8cc654...c2a87611a18de5b3828c5652fe268e992400cb5c">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `2976f18` to
`0bd0c17`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/0bd0c174228cf559ec7d4c9edec904294b59b9bc"><code>0bd0c17</code></a>
fix(compiler): fix stack overflow when checking assignability of
recursive ty...</li>
<li><a
href="https://github.com/microsoft/typespec/commit/075a4c3d85096702d499b363aa14cadd0837b531"><code>075a4c3</code></a>
build(deps): bump the actions group across 1 directory with 5 updates
(<a
href="https://redirect.github.com/microsoft/typespec/issues/11789">#11789</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/5b9cd21d291531c93047152d8d85f040996c7c0b"><code>5b9cd21</code></a>
[http-client-java] Continue after constant response headers (<a
href="https://redirect.github.com/microsoft/typespec/issues/11793">#11793</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/27299b9d0f2ef7269a549fcd71cd4e254bbbf3a8"><code>27299b9</code></a>
[http-client-csharp] Preserve shipped date-time property names (<a
href="https://redirect.github.com/microsoft/typespec/issues/11773">#11773</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/f6897a643b70c2a0e81bd05fae6da2bcdbe97ba8"><code>f6897a6</code></a>
Pin GitHub Actions to full-length commit SHAs (<a
href="https://redirect.github.com/microsoft/typespec/issues/11786">#11786</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/eea10160efecdde01e2987f58e29c7d994646e7b"><code>eea1016</code></a>
Remove build artifacts from several packages (<a
href="https://redirect.github.com/microsoft/typespec/issues/11590">#11590</a>)</li>
<li><a
href="https://github.com/microsoft/typespec/commit/c64a8909b3a7f973b0cf9873eea3a65e202a1dd7"><code>c64a890</code></a>
Honor exact C# names over back-compat naming (<a
href="https://redirect.github.com/microsoft/typespec/issues/11663">#11663</a>)</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/2976f180e6f3f51f89b5a4eb02817da58fa7f945...0bd0c174228cf559ec7d4c9edec904294b59b9bc">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Every third-party action in our workflows was referenced by a mutable
tag (`actions/checkout@v7`). Tags can be retargeted, so a compromised
upstream repo silently gets write access to our CI — exactly what
happened in the
[tj-actions/changed-files](https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised)
and
[codfish/semantic-release-action](https://www.stepsecurity.io/blog/supply-chain-compromise-codfish-semantic-release-action)
compromises.

Every action is now pinned to a full-length commit SHA, with the version
kept as a comment so it stays readable and Dependabot can keep bumping
it:

```diff
- uses: actions/checkout@v7
+ uses: actions/checkout@3d3c42e # v7.0.1
```

Dependabot also gets a 7 day cooldown on the `github-actions` ecosystem,
giving the community a window to spot a compromised release before we
auto-adopt it.

The SHAs resolve to the same commits the tags pointed at, so there is no
behavioral change. Generated `*.lock.yml` agentic workflows are
untouched — `gh-aw` already emits pinned SHAs there.

Redo of Azure#5341, which went
stale with conflicts. See https://aka.ms/action-pinning.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Bumps [core](https://github.com/microsoft/typespec) from `0bd0c17` to
`6435b93`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/typespec/commit/6435b93cfd3e6bc428ba9e1c13f653fbb4fe8445"><code>6435b93</code></a>
fix(compiler,openapi): keep object value members named
<strong>proto</strong> (<a
href="https://redirect.github.com/microsoft/typespec/issues/11744">#11744</a>)</li>
<li>See full diff in <a
href="https://github.com/microsoft/typespec/compare/0bd0c174228cf559ec7d4c9edec904294b59b9bc...6435b93cfd3e6bc428ba9e1c13f653fbb4fe8445">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ive-array values (Azure#5280)

## Summary

Fixes Azure#5278

Query parameter names are pre-encoded by the emitter (e.g. `$Select` →
`%24Select`) before being passed as URI template variable names. The
scalar-value expansion path in `expandUrlTemplate` already accounted for
this and skipped re-encoding the variable name, but the array-expansion
path (`getExpandedValue`) and the associative-array/list path
(`getNonExpandedValue`) still called
`encodeURIComponent`/`encodeComponent` on `varName`, causing it to be
encoded twice (e.g. `%24Select` becoming `%2524Select`).

## Fix

Removed the redundant re-encoding of `varName` in both
`getExpandedValue` and `getNonExpandedValue` in
`packages/typespec-ts/static/static-helpers/urlTemplate.ts`, matching
the existing (correct) behavior of the scalar-value path.

## Testing

Added repro tests in
`packages/typespec-ts/test/modular-unit/static/url-template.test.ts`
covering scalar, list, and associative-array query parameter values with
a pre-encoded parameter name (`%24Select`). Verified the new
list/associative-array tests fail on `main` with the exact reported
symptom (`%2524Select`) and pass with this fix. All 67 tests in the file
pass.

Also ran `pnpm lint` on the touched package (clean).

---------

Co-authored-by: iscai-msft <isabellavcai@gmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
## Original Swagger linter

- linter code:
[EnumInsteadOfBoolean](https://github.com/Azure/azure-openapi-validator/blob/main/packages/rulesets/src/spectral/functions/enum-insteadof-boolean.ts)
- linter doc:
[enum-instead-of-boolean.md](https://github.com/Azure/azure-openapi-validator/blob/main/docs/enum-instead-of-boolean.md)
- Validator ruleset registration:
https://github.com/Azure/azure-openapi-validator/blob/main/packages/rulesets/src/spectral/az-common.ts

Specific checks promoted from the done lintdiff rule:

- [x] Boolean model properties should be reported.
- [x] Boolean operation parameters should be reported, including path
parameters.
- [x] Boolean request bodies should be reported.
- [x] Boolean response bodies should be reported.
- [x] Comparable non-boolean shapes should not be reported.

## How the Swagger linter works

The Swagger rule is a Spectral rule from the common ruleset. It inspects
emitted OpenAPI schema objects and reports schemas whose type is
`boolean`, with diagnostics located on the emitted schema path. The
lintdiff migration evidence accepts that the Swagger and TypeSpec
implementations run at different representation layers: Swagger can
report repeated emitted schema copies, while the TypeSpec rule reports
the authorable source target.

## Source TypeSpec lintdiff rule

Source branch: `feature/lintdiff-migration-new`

Source rule:
https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/src/rules/enum-instead-of-boolean.ts

The source worktree had no uncommitted changes for the lintdiff source
rule or `EnumInsteadOfBoolean` fixture directory when this promotion was
created. The user-marked done lintdiff source rule was not modified
during promotion.

## Destination analysis

The rule belongs in `@azure-tools/typespec-azure-core` because the
lintdiff metadata marks `EnumInsteadOfBoolean` as `applicability: Both`
with `sources: ["common"]`, and the local TypeSpec rule only depends on
compiler/http APIs. It does not inspect ARM resources, provider
namespaces, ARM resource paths, ARM lifecycle operations, or ARM
envelopes.

Because the rule applies to both ARM and data-plane specs, this PR
enables `@azure-tools/typespec-azure-core/enum-instead-of-boolean` in
both `typespec-azure-rulesets` data-plane and resource-manager rulesets.

## How the promoted TypeSpec linter works

The promoted Azure Core rule preserves the done lintdiff rule behavior:

- Visits model properties and reports a diagnostic when the property
type is the intrinsic `boolean` scalar.
- Visits HTTP operation responses via `getHttpOperation` and reports
boolean response bodies on the operation or authored body property
target.
- Keeps the diagnostic as a warning and adapts the message/docs to Azure
Core convention by recommending descriptive extensible enums.
- Registers the rule in the Azure Core linter and rulesets without
adding any dependency on Azure Resource Manager libraries.

## Fixture-to-native test mapping

-
[boolean-property](https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/boolean-property/main.tsp)
-> `emits warning for boolean model properties`
-
[boolean-path-param](https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/boolean-path-param/main.tsp)
-> `emits warning for boolean path parameters`
-
[boolean-body](https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/boolean-body/main.tsp)
-> `emits warning for boolean request bodies`
-
[boolean-response](https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/boolean-response/main.tsp)
-> `emits warning for boolean response bodies`
-
[non-boolean-shapes](https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/non-boolean-shapes/main.tsp)
-> `allows comparable non-boolean shapes`

The official package tests use direct TypeSpec snippets and expected
diagnostics. Lintdiff harness snapshots were not copied.

## Migration evidence

Migration evidence:
https://github.com/Azure/typespec-azure/blob/feature/lintdiff-migration-new/packages/typespec-lintdiff/test/fixtures/EnumInsteadOfBoolean/migration.md

The detailed focused tests, real-service project comparison, corpus
counts, one-sided project explanations, compile-failure handling, and
remaining uncertainty are recorded there rather than duplicated in this
PR description.

## Promotion sync policy

Semantic gaps found after promotion should block the promotion PR until
the user explicitly reopens lintdiff repair. This PR does not include
unapproved source-rule edits in `packages/typespec-lintdiff`.

---------

Co-authored-by: catalinaperalta <9859037+catalinaperalta@users.noreply.github.com>
Copilot-Session: 4c5815a0-1862-43b9-bbb2-dfbe08b7606e
Copilot-Session: 8ed00e6d-dd0a-40f7-8871-ee32f0f371fb
Copilot-Session: 4bddb07b-39e4-4a54-862d-a91d78e979db
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

No changes needing a change description found.

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

You can try these changes here

🛝 Playground 🌐 Website

@msyyc
Yuchao Yan (msyyc) changed the base branch from main to feature/lintdiff-migration-new September 1, 2026 01:48
@msyyc
Yuchao Yan (msyyc) deleted the msyyc-optimize-lint-promotion-skill branch September 1, 2026 01:49
@microsoft-github-policy-service microsoft-github-policy-service Bot added int:azure-specs Run integration tests against azure-rest-api-specs lib:azure-core Issues for @azure-tools/typespec-azure-core library lib:azure-resource-manager Issues for @azure-tools/typespec-azure-core library emitter:autorest Issues for @azure-tools/typespec-autorest emitter emitter:python Issues for @azure-tools/typespec-python emitter emitter:go Issues for @azure-tools/typespec-go emitter emitter:typescript Issues for @azure-tools/typespec-ts emitter emitter:java Issues for @azure-tools/typespec-java emitter lib:tcgc Issues for @azure-tools/typespec-client-generator-core library lib:azure-http-specs For issues/prs related to the @azure-tools/typespec-azure-http-specs package meta:website TypeSpec.io updates linter Issues related to linter rules labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

emitter:autorest Issues for @azure-tools/typespec-autorest emitter emitter:go Issues for @azure-tools/typespec-go emitter emitter:java Issues for @azure-tools/typespec-java emitter emitter:python Issues for @azure-tools/typespec-python emitter emitter:typescript Issues for @azure-tools/typespec-ts emitter eng int:azure-specs Run integration tests against azure-rest-api-specs lib:azure-core Issues for @azure-tools/typespec-azure-core library lib:azure-http-specs For issues/prs related to the @azure-tools/typespec-azure-http-specs package lib:azure-resource-manager Issues for @azure-tools/typespec-azure-core library lib:tcgc Issues for @azure-tools/typespec-client-generator-core library linter Issues related to linter rules meta:website TypeSpec.io updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.