Skip to content

Backmerge October release hotfixes into main - #5814

Merged
Timothee Guerin (timotheeguerin) merged 15 commits into
Azure:mainfrom
timotheeguerin:backmerge/release/october-2026-hotfix-5813
Oct 23, 2026
Merged

Timothee Guerin (timotheeguerin) merged 15 commits into
Azure:mainfrom
timotheeguerin:backmerge/release/october-2026-hotfix-5813

Conversation

@timotheeguerin

@timotheeguerin Timothee Guerin (timotheeguerin) commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Main is missing the October unified-example fixes and patch-release metadata.

Backmerge #5813 (AutoRest 0.73.2 and examples 0.2.2) so current development includes API-aware example validation, correct parameter-reference handling, unknown-operation errors, and payload-order preservation.

Preserves the existing SDK reader, tsp-examples add support, and core revision on main.

Example filename metadata is used by both Swagger and SDK consumers, so
prefer the neutral name `id` over `legacyFilename`.

Use an extension-free ID:

```yaml
# Before
legacyFilename: GetRateCard.json

# Preferred
id: GetRateCard
```

The value is the filename stem; consumers still generate
`GetRateCard.json`. A small compatibility fallback accepts existing
`legacyFilename` input and supplies the filename expected by current
consumers.

This is only a metadata rename and suffix conversion. Title-based
lineages, validation, and migration grouping are unchanged.

Targets **`release/october-2026`**.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…5689)

JSON examples materialized from unified YAML currently omit the final
newline, unlike emitted Swagger. Formatting adds it back, so
recompilation produces newline-only diffs and formatter failures.

Append the newline when materializing unified examples, respecting the
configured LF/CRLF line endings without changing legacy example copying
or Swagger serialization.

Targets **`release/october-2026`** for a **0.73 hotfix**. Encountered
while migrating Purview Policy in
Azure/azure-rest-api-specs#47246.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Cherry-pick Azure#5636 onto `release/october-2026`,
carrying all current typespec-java updates missing from the release
branch:

- Update `@azure-tools/typespec-java` to 0.48.0.
- Update the generator core pin and release changelog.

Kept as a draft; additional commits will follow.

---------

Copilot-Session: cf805095-0f1a-4667-a4bc-896cfeb202b9
Bump `@azure-tools/typespec-java` from `0.48.0` to `0.48.1` for the
fixes in Azure#5699.

Targets `release/october-2026`. Only the Java package version,
CHANGELOG, and consumed change description are changed.

Copilot-Session: cf805095-0f1a-4667-a4bc-896cfeb202b9
…zure#5745)

Update the Java core pin to `f098e0fdd` for the `0.48.2` hotfix. No
package version bump in this PR.

- Include continuation-token paging (microsoft/typespec#12196), enum
Javadoc escaping (microsoft/typespec#12177), and dependency
synchronization (microsoft/typespec#12286), plus upstream dependency
maintenance (microsoft/typespec#12205, microsoft/typespec#12207,
microsoft/typespec#12287).
- Sync upstream integration tests and add a local version-sync script
for shared test dependencies/plugins, using the pinned upstream POMs.
Preserve Azure-specific tooling and generated samples.
- Record all changes as Chronus `fix`, as requested for this release
branch.

Validation: branded emitter/generator build, offline version-sync tests,
enum/ARM generation smoke checks, repository formatting and lint.

Copilot-Session: c93fd771-4af9-4e61-b9af-8f2b15588c47
Publish `@azure-tools/typespec-java@0.48.2` from `release/october-2026`,
consuming the `fix` entry from Azure#5745.

Only the Java package version, changelog, and consumed change file are
changed. The core gitlink is unchanged.

---------

Copilot-Session: c93fd771-4af9-4e61-b9af-8f2b15588c47
Adds structured JSONL + SSE streaming code generation to the
`@azure-tools/typespec-ts` modular emitter. A response whose TCGC
metadata indicates a structured stream now generates a
`Promise<AsyncIterable<T>>` of deserialized items/events instead of
returning the raw binary `Uint8Array` body. Does not contain
reconnection support - depends on createStreamSSE(). Azure Search, the
library requesting this feature, does not support reconnection at this
point in time.

The sse spec this is based on:
https://html.spec.whatwg.org/multipage/server-sent-events.html

## What is generated

- **JSONL** (`JsonlStream<T>`) -> `Promise<AsyncIterable<T>>` that
lazily decodes JSON Lines.
- **SSE** (`SSEStream<T>`) -> `Promise<AsyncIterable<...>>` that
dispatches each Server-Sent Event by its `event:` name (via
`@azure/core-sse`), deserializes the payload, and stops at the terminal
event. Full heterogeneous multi-event dispatch and `@terminalEvent`
handling are supported (named terminals keyed on the terminal flag;
unnamed `data: [DONE]` sentinel terminals). Generation is driven by TCGC
`streamMetadata` / `sseMetadata`.

Issues for the future:
Azure#5660 Azure#5659 


Related pr to core for abort signal/canceling stream:
Azure/azure-sdk-for-js#40238

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: de6a6ea9-d1f8-4a50-831f-d64d9f7cfa0d
Copilot-Session: 5de9bff8-f217-4c66-9e30-bdc80256fed8
Copilot-Session: 8bbec15a-04ed-41e4-9fae-e27932b80317
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

## Summary

Prepare the October release-branch publication of
`@azure-tools/typespec-ts@0.58.0` for the streaming functionality merged
in Azure#5196.

- Bump only `@azure-tools/typespec-ts` from `0.57.1` to `0.58.0`.
- Generate the changelog entry for JSONL and SSE streaming and consume
its Chronus change description.
- Leave all other package versions, `core`, and `pnpm-lock.yaml`
unchanged.

Generated with:
```sh
pnpm chronus version --ignore-policies --only "@azure-tools/typespec-ts"
```

## Validation

- `pnpm format` passed.
- `git diff --check` passed; verified exactly the three expected release
files changed and no TypeScript package changes remain pending in
Chronus.
- `pnpm lint` was attempted but blocked by the missing `vite/client`
type definition in `packages/typespec-azure-playground-website`. Full
dependency installation could not complete because the registry download
for `@fluentui/react-icons@2.0.339` stalled; fetching it from npm also
failed with a TLS handshake error. The cached root release tools and
formatter prerequisites were restored successfully.

## Release

Target: **`release/october-2026`**, not `main`. The `0.58.0` minor
version is intentional because Azure#5196 is a feature.

After CI and approval, **squash merge** this PR to trigger publication.
Verify npm publication, then open the automatically generated
`backmerge/release/october-2026-YYYY-MM-DD` branch as a PR into `main`
and **rebase merge** it.

Copilot-Session: bdcbe5ce-69fd-4bac-8980-7c2d1a73dc34
…#5758)

Prepare the `@azure-tools/typespec-java` October 2026 hotfix from the
merged TypeSpec core changes.

- Pin TypeSpec core to `microsoft/typespec:main` at
`e4f588a5fe8765179ca0d7dea0f73e51c5b79950`.
- Include the fixes from
[microsoft/typespec#12294](microsoft/typespec#12294),
[microsoft/typespec#12305](microsoft/typespec#12305),
and
[microsoft/typespec#12309](microsoft/typespec#12309).
- Sync the Java continuation-token regression input.
- Document `includeContinuationTokenParameter` in the Java emitter docs.

Validated with the Java emitter/generator build, package tests, full
fixture regeneration, focused continuation-token runtime tests,
formatting, and linting.

---------

Copilot-Session: 77b6f517-0b1b-4b31-95a4-aa8a8372628e
Publish `@azure-tools/typespec-java` 0.48.3 from the October 2026
release branch.

- Versions the fixes merged in Azure#5758.
- Updates the package changelog.
- Consumes the associated Chronus change entry.

Validated with repository formatting and linting.

---------

Copilot-Session: 77b6f517-0b1b-4b31-95a4-aa8a8372628e
Migrating examples should not shuffle payload fields in the generated
JSON. Deduplication currently collapses versions whose values match but
whose field order differs, and response mapping always puts headers
before the body.

Preserve the original request/response payload order, including nested
objects and array items, and keep a `since` variant when only ordering
changes. No YAML metadata, schema changes, or dependencies are added.

This is the standalone ordering fix, separated from
Azure#5799. Targets
`release/october-2026`.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…r locations (Azure#5799)

Unified examples can currently validate successfully even when values do
not match the API, and a misspelled operation can silently lose its
example during compilation.

`tsp-examples validate <project>` now compiles the current
TypeSpec/AutoRest HTTP contract **in memory** and checks
request/response values, including required and typed server parameters,
with the existing JSON Schema validator. Errors include the API version,
offending value path, and YAML location. No generated files are
overwritten.

Unknown applicable operation keys are errors during both validation and
AutoRest compilation. External Swagger parameter references are resolved
before migrating locations or expanding body parameter names,
eliminating the manual path-parameter repairs needed by every ARM pilot.

**Command behavior change:** API validation requires `main.tsp` and the
project's installed compiler/AutoRest emitter. Use `--schema-only` for
format-only folders or the previous check. The pure/browser validation
APIs remain format-only and unchanged.

Fixes Azure#5793,
Azure#5795, and
Azure#5796.

Payload-order preservation is isolated in
Azure#5811 so it can be reviewed
and released independently.

Targets `release/october-2026`; contributor documentation is kept off
the release branch. Strict validation exposes pre-existing pilot data
issues: Commerce's string-valued `showDetails`, Community Training's
undeclared LRO header, and Schema Registry's server parameter name and
undeclared response header. These need explicit data/API repairs rather
than silently rewriting examples.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
The unified-example fixes are merged but not yet available in the
October packages. Prepare these patch releases from
`release/october-2026`:

| Package | Version |
| --- | --- |
| `@azure-tools/typespec-autorest` | `0.73.1` → `0.73.2` |
| `@azure-tools/typespec-azure-examples` | `0.2.1` → `0.2.2` |

Ships Azure#5799 and
Azure#5811: API-aware validation,
unknown-operation errors, referenced parameter locations, and
payload-order preservation. `tsp-examples validate` now checks API
compatibility by default; `--schema-only` retains the previous
format-only check.

Release metadata only. SDK reader release/adoption is separate. After
publishing, backmerge the release branch into `main`.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@microsoft-github-policy-service microsoft-github-policy-service Bot added emitter:autorest Issues for @azure-tools/typespec-autorest emitter emitter:typescript Issues for @azure-tools/typespec-ts emitter emitter:java Issues for @azure-tools/typespec-java emitter labels Oct 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

❌ There is undocummented changes. Run chronus add to add a changeset or click here.

The following packages have changes but are not documented.

  • ❌@azure-tools/typespec-autorest
  • ❌@azure-tools/typespec-azure-examples
Show changes

@github-actions

Copy link
Copy Markdown
Contributor

📦 Package size report

2 packages changed size, +7.00 KB (+0.0%) packed overall.

Package Packed (base → head) Δ Packed Unpacked (base → head) Δ Unpacked
@azure-tools/typespec-azure-examples 90.27 KB → 96.65 KB +6.38 KB (+7.1%) 🔴 436.09 KB → 485.94 KB +49.85 KB (+11.4%) 🔴
@azure-tools/typespec-autorest 87.87 KB → 88.49 KB +635 B (+0.7%) 🔴 424.17 KB → 427.62 KB +3.45 KB (+0.8%) 🔴
12 package(s) with no notable change
Package Packed (base → head) Δ Packed Unpacked (base → head) Δ Unpacked
@azure-tools/typespec-azure-portal-core 36.28 KB → 36.28 KB -1 B (-0.0%) 242.88 KB → 242.88 KB —
@azure-tools/azure-http-specs 143.53 KB → 143.53 KB — 1.20 MB → 1.20 MB —
@azure-tools/typespec-autorest-canonical 7.42 KB → 7.42 KB — 26.00 KB → 26.00 KB —
@azure-tools/typespec-azure-core 136.55 KB → 136.55 KB — 733.30 KB → 733.30 KB —
@azure-tools/typespec-azure-resource-manager 201.90 KB → 201.90 KB — 1.21 MB → 1.21 MB —
@azure-tools/typespec-azure-rulesets 5.94 KB → 5.94 KB — 35.11 KB → 35.11 KB —
@azure-tools/typespec-client-generator-core 249.45 KB → 249.45 KB — 1.32 MB → 1.32 MB —
@azure-tools/typespec-go 264.28 KB → 264.28 KB — 1.35 MB → 1.35 MB —
@azure-tools/typespec-java 20.22 MB → 20.22 MB — 22.52 MB → 22.52 MB —
@azure-tools/typespec-metadata 15.88 KB → 15.88 KB — 62.08 KB → 62.08 KB —
@azure-tools/typespec-python 42.58 KB → 42.58 KB — 166.02 KB → 166.02 KB —
@azure-tools/typespec-ts 550.66 KB → 550.66 KB — 2.75 MB → 2.75 MB —

Packed = gzipped .tgz published to npm. Unpacked = total extracted size. 🆕 added, 🗑️ removed. Packages from the core/ submodule are not included.
🔴 grew · 🟢 shrank — only changes of at least 512 B and 0.5% are marked.

@pkg-pr-new

pkg-pr-new Bot commented Oct 23, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@azure-tools/typespec-autorest@5814
npm i https://pkg.pr.new/@azure-tools/typespec-azure-examples@5814

commit: 663ed82

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

You can try these changes here

🛝 Playground 🌐 Website

Merged via the queue into Azure:main with commit f393b8d Oct 23, 2026
43 checks passed
@timotheeguerin
Timothee Guerin (timotheeguerin) deleted the backmerge/release/october-2026-hotfix-5813 branch October 23, 2026 19:32
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:java Issues for @azure-tools/typespec-java emitter emitter:typescript Issues for @azure-tools/typespec-ts emitter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants