Skip to content

Commit cb5aabb

Browse files
Release notes 0.68 (#4411)
1 parent a90e3a0 commit cb5aabb

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: 0.68.0
3+
---
4+
5+
import { LinkCard } from "@astrojs/starlight/components";
6+
7+
<LinkCard
8+
title="TypeSpec Core 1.12"
9+
description="See changes to the TypeSpec language and core libraries"
10+
href="https://typespec.io/release-notes/typespec-1-12-0/"
11+
/>
12+
13+
# 0.67.0
14+
15+
## Breaking Changes
16+
17+
### @azure-tools/typespec-client-generator-core
18+
19+
- [#3997](https://github.com/Azure/typespec-azure/pull/3997) Consolidated `SdkOperationGroup` into `SdkClient`. The `SdkOperationGroup` interface has been removed. All operation groups are now represented as `SdkClient` instances.
20+
21+
**Migration Guide:**
22+
- Replace all references to `SdkOperationGroup` with `SdkClient`
23+
- Replace `subOperationGroups` with `subClients`
24+
- Replace `groupPath` with `clientPath`
25+
- Replace `SdkClient.service` (removed) with `SdkClient.services` (array of namespaces)
26+
- Replace `listOperationGroups()` with `listSubClients()`
27+
- Replace `listOperationsInOperationGroup()` with `listOperationsInClient()`
28+
- Replace `isOperationGroup()` / `getOperationGroup()` — use `getClient()` and check `parent` instead
29+
30+
- [#3997](https://github.com/Azure/typespec-azure/pull/3997) For multiple service case, removed the use of `@useDependency` to declare each service's API version, using the latest version instead.
31+
32+
- [#3997](https://github.com/Azure/typespec-azure/pull/3997) Added multi-service client support with `autoMergeService` property on `@client` decorator. The `service` property now accepts an array of services (e.g., `service: [ServiceA, ServiceB]`). When `autoMergeService: true`, all services' operations and sub clients are auto-merged into the client. Supports advanced scenarios including services as direct children (nested `@client` with `autoMergeService: true` on children) and fully customized client hierarchies using explicit `is` operation mapping.
33+
34+
## Deprecations
35+
36+
### @azure-tools/typespec-azure-resource-manager
37+
38+
- [#4132](https://github.com/Azure/typespec-azure/pull/4132) Updated `@locationResource` documentation to mark it as deprecated and recommend using `@parentResource(ArmLocationResource<...>)` instead.
39+
40+
### @azure-tools/typespec-client-generator-core
41+
42+
- [#3997](https://github.com/Azure/typespec-azure/pull/3997) Deprecated `@operationGroup` decorator in favor of `@client`. The `@operationGroup` decorator now delegates to `@client` internally and will be removed in a future release. Use `@client` to define sub clients instead.
43+
44+
## Features
45+
46+
### @azure-tools/typespec-azure-resource-manager
47+
48+
- [#4188](https://github.com/Azure/typespec-azure/pull/4188) Add GenericResource template in Azure.ResourceManager.Legacy with new "Generic" resource kind
49+
- [#4004](https://github.com/Azure/typespec-azure/pull/4004) Add new templates to support operationStatus endpoints
50+
51+
### @azure-tools/typespec-client-generator-core
52+
53+
- [#3995](https://github.com/Azure/typespec-azure/pull/3995) Add experimental extern functions for operation transformations: `replaceParameter`, `removeParameter`, `addParameter`, and `reorderParameters`. These functions enable composable transformations that work with `@@override` to customize method signatures in client SDKs.
54+
- [#4063](https://github.com/Azure/typespec-azure/pull/4063) Add `.crossLanguageVersion` to `SdkPackage` to track equivalent API surfaces across different language SDKs
55+
56+
## Bug Fixes
57+
58+
### @azure-tools/typespec-autorest
59+
60+
- [#4088](https://github.com/Azure/typespec-azure/pull/4088) Fix sorting of x-ms-paths entries that start with `?` (query-only paths). Previously these paths were not sorted alphabetically.
61+
62+
### @azure-tools/typespec-azure-resource-manager
63+
64+
- [#4005](https://github.com/Azure/typespec-azure/pull/4005) Fix `resolveArmResources` returning duplicate resources for versioned specs.
65+
- [#4072](https://github.com/Azure/typespec-azure/pull/4072) Fix `resolveArmResources` incorrectly merging cross-scope `LegacyOperations` into a single resource. Operations at different scopes (e.g., subscription vs tenant) with the same model but no explicit resource name are now resolved as separate resources.
66+
- [#4183](https://github.com/Azure/typespec-azure/pull/4183) Fix default resource name for extension resources using `Extension.ScopeParameter` scope. Previously the name was incorrectly prefixed with "ScopeParameter", now it uses just the extension resource name.
67+
- [#4184](https://github.com/Azure/typespec-azure/pull/4184) Support singleton resources in `resolveArmResources`
68+
69+
### @azure-tools/typespec-client-generator-core
70+
71+
- [#4164](https://github.com/Azure/typespec-azure/pull/4164) Fix `@clientLocation` not working for subscriptionId parameter when another operation had already elevated it to client level
72+
- [#4135](https://github.com/Azure/typespec-azure/pull/4135) Fix synthetic union created from split HTTP union responses not getting generated name and creating union-of-union when there are more than 2 response types.
73+
- [#4124](https://github.com/Azure/typespec-azure/pull/4124) Fixed `@clientLocation` operations being lost when targeting a sub client that gets merged in multi-service `autoMergeService` scenarios
74+
- [#4030](https://github.com/Azure/typespec-azure/pull/4030) Fix File type contentType/accept header handling: add a new branch in `createContentTypeOrAcceptHeader` for File type bodies to produce constant (single content type) or enum (multiple content types) for both contentType and accept params, and fix response contentType header serializedName fallback to "Content-Type" when `@header` is missing
75+
- [#4177](https://github.com/Azure/typespec-azure/pull/4177) Multi services' client should not honor the specific `api-version` set in config. The `api-version` config value is now cleared when dealing with multi-service clients during the versioning mutation and cache steps.
76+
- [#4111](https://github.com/Azure/typespec-azure/pull/4111) Add support to use `@scope` to specify generation of parameters for certain languages
77+
- [#4125](https://github.com/Azure/typespec-azure/pull/4125) Synthetic content type and accept parameters now honor HTTP library's result directly. Single content type produces a constant, multiple content types produce an enum, for both File and non-File body types.

0 commit comments

Comments
 (0)