0.64.0
TypeSpec Core 1.9 See changes to the TypeSpec language and core libraries
0.65.0
Section titled “0.65.0”Deprecations
Section titled “Deprecations”@azure-tools/typespec-autorest
Section titled “@azure-tools/typespec-autorest”-
#3836 Deprecate
azure-resource-provider-folderoption.azure-resource-provider-folder: "resource-manager"output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"output-file: "resource-manager/{service-name}/{version-status}/{version}/openapi.json"
@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #3732 The
serviceproperty inSdkOperationGroupandSdkClientis now deprecated. Use the newservicesproperty instead, which supports multiple services. The deprecatedserviceproperty will returnservices[0]for single service scenarios or the fullservicesarray for multi-service scenarios. This property will be removed in a future release.
Features
Section titled “Features”@azure-tools/typespec-azure-resource-manager
Section titled “@azure-tools/typespec-azure-resource-manager”- #3907 Add new template for Async Action and standard list query parameters
- #3906 #3818 Add overrides for built-in resource operations path name constraints
@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #3764 Add
.crossLanguageDefinitionId. toSdkEnumValueType - #3877 Added
InitializedBy.none(value 0) to allow TypeSpec authors to indicate that client constructors should be omitted and hand-written. Note: The internalInitializedByFlags.Defaultvalue changed from0to-1to accommodate this addition. - #3876 Add full support for
Http.Filetype withBinarySerializationOptionscontainingisText,contentTypes, andfilenameproperties. - #3827 Add
@clientOptionflag for experimental, language-specific flags - #3769 Added
apiVersionsMap toSdkPackage.metadatato export API versions for multiple services. The Map key is the service namespace full qualified name, and the value is the version string. The existingapiVersionproperty is now deprecated and will be removed in a future release. For single service scenarios, both properties will be populated. For multiple service scenarios, onlyapiVersionswill be populated whileapiVersionwill be undefined. - #3732 Allow operation groups to contain operations from multiple services. Operation groups created via
@clientLocationor automatically merged when multiple services have operation groups with the same name now support multi-service scenarios with emptyapiVersionsand string API version parameter type.
Bug Fixes
Section titled “Bug Fixes”@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #3797 Do not check array type when applying encode for model property.
- #3849 Fix namespace duplication when
@clientNamespacematches namespace flag - #3887 Fixed apiVersion parameter clientDefaultValue missing when an operation group contains operations from different services.
- #3885 Fix regression with @clientOption negation scope handling. Decorators using negation scope patterns like ‘!python’ or ’!(java, python)’ are now correctly filtered.
- #3501 Allow custom encoding strings in
SdkDateTimeTypeBaseandSdkDurationTypeby using union typeDateTimeKnownEncoding | stringandDurationKnownEncoding | string. - #3915 Remove unused discriminated subtypes from discriminatedSubtypes map. When a base model has discriminated subtypes where some subtypes have no usage, only the unused subtypes are removed from the map while preserving discriminator info for used subtypes.
- #3806 The
apiVersionparameter in client initialization is now correctly marked asoptional: truefor all client-level API version parameters, including both single-service and multi-service scenarios. - #3775 Correctly detect name collisions with
--namespaceflag and or multi service usage - #3784 Add warning when
@alternateTypedecorator with external type information is applied to model properties. External types should be applied to the type definition itself (Scalar, Model, Enum, or Union) instead of model properties.