Skip to content

Backmerge release/july-2026 to main (typespec-java@0.45.10) - #5046

Merged
Weidong Xu (weidongxu-microsoft) merged 14 commits into
mainfrom
backmerge/release/july-2026-2026-07-24
Jul 24, 2026
Merged

Weidong Xu (weidongxu-microsoft) merged 14 commits into
mainfrom
backmerge/release/july-2026-2026-07-24

Conversation

@weidongxu-microsoft

Copy link
Copy Markdown
Member

Backmerge of + '
elease/july-2026' + into + 'main' + for the typespec-java 0.45.10 hotfix.

The daily auto-backmerge branch was created by #5043's merge and could not be updated when #5044 merged (same-day push collision), so it was manually fast-forwarded to the current release head ( + '

Xiaofei Cao (XiaofeiCao) and others added 13 commits July 16, 2026 09:49
## Summary

Draft hotfix release PR for `@azure-tools/typespec-java@0.45.6`,
targeting `release/july-2026`.

## Changes

- **Version:** bump `@azure-tools/typespec-java` to `0.45.6` and add the
corresponding `CHANGELOG.md` entry (notes the `js-yaml`→`yaml` /
`lodash`→builtin change and dependency updates).
- **Sync tooling refactor:** extract the transient `core/` submodule
checkout/restore logic into a shared `CoreCommit.ps1` helper
(`Enter-CoreCommit` / `Restore-CoreCommit`), used by both
`Copy-Sources.ps1` and `emitter-tests/SyncTests.ps1`.
- **`SyncTests.ps1`** now also:
- reads the pinned core commit from `core-commit.json` (like
`Copy-Sources.ps1`), transiently checking it out to sync from and always
restoring the submodule;
- syncs the versions of shared `dependencies`/`overrides` entries from
core's `http-client-generator-test/package.json` via JSON manipulation
(preserving repo-specific entries, key order, and formatting);
- pins the local `@azure-tools/typespec-java` `.tgz` dependency to this
repo's `package.json` version (outside the core checkout, since it is
local-only).
- **Pin:** add `core-commit.json` pinned to
`4751383fd59eb64f1d443376c5db7948cfe974eb`, and commit the synced
`emitter-tests/package.json` + `tsp/` results.

## Notes

- Hotfix PR targets the `release/*` branch per the repo's release
conventions.
- Opened as **draft**.

---------

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

## Summary

- Update packages/typespec-java/core-commit.json to point at the head
commit of microsoft/typespec#11286 (per-client ServiceVersion regression
fix).
- Sync emitter test specs from core via SyncTests.ps1 (adds
emitter-tests/tsp/multiple-clients-same-version.tsp).
- Remove @azure-tools/typespec-liftr-base and
@azure-tools/openai-typespec from both peerDependencies and
devDependencies of @azure-tools/typespec-java. The version will not be
managed here in `catalog`, but rather, in SDK repo.
- sync emitter looks good:
Azure/azure-sdk-for-java#49860
Hotfix (patch) release for `@azure-tools/typespec-java` **0.45.6 ->
0.45.7** from the `release/july-2026` branch.

## Changes included

- Fix per-client `ServiceVersion` regression after migrating from
js-yaml and lodash.
- Remove `@azure-tools/typespec-liftr-base` and
`@azure-tools/openai-typespec` from peer and dev dependencies.
- Support `clientApiVersions`.

## Notes

- Version bump generated via `pnpm chronus version --ignore-policies`.
- The `clientApiVersions` changeset was authored as `feature` but is
released here under a **patch** bump (consistent with prior hotfix
precedent, e.g. #4670); all entries appear under **Bug Fixes** in the
changelog.
- `core` submodule pointer unchanged.
- Only `@azure-tools/typespec-java` is bumped; unrelated pending
changesets are untouched.

Targets `release/july-2026` (not `main`). Backmerge to `main` to follow
after merge.
Version bump for `release/july-2026` hotfix targeting
`@azure-tools/typespec-autorest`. Bump `0.70.0` → `0.70.1` (patch).

### Changes
- `packages/typespec-autorest/package.json`: `0.70.0` → `0.70.1`
- `packages/typespec-autorest/CHANGELOG.md`: added `0.70.1` entry for
[#4974](#4974)
- Removed
`.chronus/changes/service-yaml-preserve-legacy-versions-2026-07-20-14-30-00.md`

> ⚠️ Targets `release/july-2026` — squash-merge only. After merge,
rebase-merge the auto-generated `backmerge/release/july-2026-*` PR into
`main`.

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

- Update `packages/typespec-java/core-commit.json` to microsoft/typespec
[d012e83](microsoft/typespec@d012e83)
(Support XML serialization in http-client-java generator,
microsoft/typespec#11305).
- Sync emitter test `src`/`tsp` from core via `SyncTests.ps1` (adds
`emitter-tests/src/test/java/payload/xml` XmlTests).
- `emitter-tests/Generate.ps1`: stop removing `payload/xml` specs now
that the emitter supports XML models.
- Add chronus changelog entry (fix) mirroring the upstream XML
serialization change.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hotfix (patch) release of `@azure-tools/typespec-java` **0.45.7 ->
0.45.8** from `release/july-2026`.

Includes the XML serialization sync fix (#4987).

Version bump via `pnpm chronus version --ignore-policies`:
- `packages/typespec-java/package.json` -> 0.45.8
- `packages/typespec-java/CHANGELOG.md` (Bug Fixes)
- removed the consumed `.chronus/changes` entry
- `packages/typespec-java/emitter-tests/package.json` -> 0.45.8 (version
+ `@azure-tools/typespec-java` .tgz dependency)

Core submodule unchanged. Backmerge to `main` to follow after publish.

---------

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

Part A (fix) of the next typespec-java hotfix.

Advances `packages/typespec-java/core-commit.json` to microsoft/typespec
[43ff0041](microsoft/typespec@43ff004)
(#11329):
- Gate XML serialization to `azure-v1` data-plane clients.
- Skip the XML `ObjectSerializer` for raw `byte[]`/`BinaryData` payloads
that aren't structured XML models, fixing a build break from a reference
to the non-generated `XmlSerializerProviders` helper.

Follow-up fix on top of 0.45.8's XML serialization support. Adds a `fix`
changelog entry. Version bump + publish (Part B) follows in a separate
`publish/hotfix/*` PR after this merges.

Targets `release/july-2026` (NOT main).

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hotfix version bump for `@azure-tools/typespec-java` 0.45.8 -> 0.45.9.

Publishes the fix from #5012 (XML serializer gated to azure-v1
data-plane + skip raw byte[]/BinaryData payloads).

- Consumes the `fix` change file (patch bump)
- `packages/typespec-java/package.json`: 0.45.8 -> 0.45.9
- `packages/typespec-java/emitter-tests/package.json`: version + .tgz
dep bumped to 0.45.9
- `core` submodule unchanged

Squash merge to trigger the NPM publish pipeline.
Cherry-pick of the fix validated on the backmerge PR #5014.

## Problem
+ 'CoreCommit.ps1' + gated advancing to the pinned + 'core-commit.json'
+ SHA on + 'git merge-base --is-ancestor <submodule> <pin>' + . In CI
the + 'core' + submodule is a shallow clone, so the connecting history
between the checkout and the pin is absent and the ancestry check fails.
The script then silently fell back to the submodule checkout and built
the Java emitter from the wrong core sources (e.g. pre-XML-fix code
referencing a non-generated + 'XmlSerializerProviders' + ).

## Fix
- The pin in + 'core-commit.json' + is now authoritative: always build
from exactly that commit via + 'git archive' + , regardless of ancestry.
- Hardened the fetch with a post-fetch existence check that errors
clearly instead of silently falling back.
- Updated the header doc.

Verified locally: with the submodule at + ' eafcd0e' + and pin +
'43ff0041' + (the exact CI failure scenario), it now archives +
'43ff0041' + with the generator subtree present.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…typespec#11380) (#5043)

Bumps the pinned core commit to include
[microsoft/typespec#11380](microsoft/typespec#11380),
which exposes the + ' equired-fields-as-ctor-args' + emitter option to +
' spconfig.yaml' + for data-plane (default remains + ' rue' + ).

## Changes
- + 'core-commit.json' + pin: + '43ff0041' + -> + '�c09e28b' + (HEAD of
core + 'main' + , the #11380 merge commit).
- Ran + 'SyncTests.ps1' + against the new pin: no test-suite (src/tsp)
changes between the previous pin and this commit — #11380 only touches
emitter/generator source, which is copied at build time.
- Added chronus  + 'ix' +  change (next version: 0.45.10).

+ 'Generate.ps1' + / + 'Copy-Sources.ps1' + need no changes: #11380 is a
purely additive emitter option with no spec-generation impact.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7
Version bump for the typespec-java hotfix **0.45.10**, following the
sync in #5043.

## Included changes (consumed from  + '.chronus/changes' + )
- **fix**: Expose the + ' equired-fields-as-ctor-args' + emitter option
in + ' spconfig.yaml' + (microsoft/typespec#11380). Default remains + '
rue' + .
- **internal**: Make the + 'core-commit.json' + pin authoritative in +
'CoreCommit.ps1' + (#5016).

## Files
-  + 'packages/typespec-java/package.json' +  -> 0.45.10
-  + 'packages/typespec-java/CHANGELOG.md' + 
- + 'packages/typespec-java/emitter-tests/package.json' + -> 0.45.10
(version + + '.tgz' + dep)
- Deleted the two consumed typespec-java change files

Only + '@azure-tools/typespec-java' + is bumped. Non-java pending change
files (tcgc, benchmark, playground, website) were intentionally left
untouched. The + 'core' + submodule is unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7
…y-2026-2026-07-24

Backmerge typespec-java 0.45.10 hotfix (sync core to #11380, expose
required-fields-as-ctor-args option) into main. Resolved conflicts:
kept 0.45.10 version bump and core-commit pin ec09e28b (ours), kept
main's package.json script/dep changes, typespec-go CODEOWNERS entry,
and main's pnpm-lock.yaml unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cd6f2e08-d6d3-42ae-affd-bc71e98086f7
@pkg-pr-new

pkg-pr-new Bot commented Jul 24, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@azure-tools/typespec-java@5046

commit: d45898d

@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-java
Show changes

Merged via the queue into main with commit 9621f6e Jul 24, 2026
31 of 33 checks passed
@weidongxu-microsoft
Weidong Xu (weidongxu-microsoft) deleted the backmerge/release/july-2026-2026-07-24 branch July 24, 2026 07:46
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 eng lib:tcgc Issues for @azure-tools/typespec-client-generator-core library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants