---
title: 0.64.0
---

import { LinkCard } from "@astrojs/starlight/components";

<LinkCard
  title="TypeSpec Core 1.9"
  description="See changes to the TypeSpec language and core libraries"
  href="https://typespec.io/docs/release-notes/release-2026-02-10"
/>

# 0.65.0

## Deprecations

### @azure-tools/typespec-autorest

- [#3836](https://github.com/Azure/typespec-azure/pull/3836) Deprecate `azure-resource-provider-folder` option.

  ```diff lang=yaml
  -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

- [#3732](https://github.com/Azure/typespec-azure/pull/3732) The `service` property in `SdkOperationGroup` and `SdkClient` is now deprecated. Use the new `services` property instead, which supports multiple services. The deprecated `service` property will return `services[0]` for single service scenarios or the full `services` array for multi-service scenarios. This property will be removed in a future release.

## Features

### @azure-tools/typespec-azure-resource-manager

- [#3907](https://github.com/Azure/typespec-azure/pull/3907) Add new template for Async Action and standard list query parameters
- [#3906](https://github.com/Azure/typespec-azure/pull/3906) #3818 Add overrides for built-in resource operations path name constraints

### @azure-tools/typespec-client-generator-core

- [#3764](https://github.com/Azure/typespec-azure/pull/3764) Add `.crossLanguageDefinitionId`. to `SdkEnumValueType`
- [#3877](https://github.com/Azure/typespec-azure/pull/3877) Added `InitializedBy.none` (value 0) to allow TypeSpec authors to indicate that client constructors should be omitted and hand-written. Note: The internal `InitializedByFlags.Default` value changed from `0` to `-1` to accommodate this addition.
- [#3876](https://github.com/Azure/typespec-azure/pull/3876) Add full support for `Http.File` type with `BinarySerializationOptions` containing `isText`, `contentTypes`, and `filename` properties.
- [#3827](https://github.com/Azure/typespec-azure/pull/3827) Add `@clientOption` flag for experimental, language-specific flags
- [#3769](https://github.com/Azure/typespec-azure/pull/3769) Added `apiVersions` Map to `SdkPackage.metadata` to export API versions for multiple services. The Map key is the service namespace full qualified name, and the value is the version string. The existing `apiVersion` property is now deprecated and will be removed in a future release. For single service scenarios, both properties will be populated. For multiple service scenarios, only `apiVersions` will be populated while `apiVersion` will be undefined.
- [#3732](https://github.com/Azure/typespec-azure/pull/3732) Allow operation groups to contain operations from multiple services. Operation groups created via `@clientLocation` or automatically merged when multiple services have operation groups with the same name now support multi-service scenarios with empty `apiVersions` and string API version parameter type.

## Bug Fixes

### @azure-tools/typespec-client-generator-core

- [#3797](https://github.com/Azure/typespec-azure/pull/3797) Do not check array type when applying encode for model property.
- [#3849](https://github.com/Azure/typespec-azure/pull/3849) Fix namespace duplication when `@clientNamespace` matches namespace flag
- [#3887](https://github.com/Azure/typespec-azure/pull/3887) Fixed apiVersion parameter clientDefaultValue missing when an operation group contains operations from different services.
- [#3885](https://github.com/Azure/typespec-azure/pull/3885) Fix regression with @clientOption negation scope handling. Decorators using negation scope patterns like '!python' or '!(java, python)' are now correctly filtered.
- [#3501](https://github.com/Azure/typespec-azure/pull/3501) Allow custom encoding strings in `SdkDateTimeTypeBase` and `SdkDurationType` by using union type `DateTimeKnownEncoding | string` and `DurationKnownEncoding | string`.
- [#3915](https://github.com/Azure/typespec-azure/pull/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](https://github.com/Azure/typespec-azure/pull/3806) The `apiVersion` parameter in client initialization is now correctly marked as `optional: true` for all client-level API version parameters, including both single-service and multi-service scenarios.
- [#3775](https://github.com/Azure/typespec-azure/pull/3775) Correctly detect name collisions with `--namespace` flag and or multi service usage
- [#3784](https://github.com/Azure/typespec-azure/pull/3784) Add warning when `@alternateType` decorator 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.
