Skip to content

0.42.0 May 2024

Release Notes Version 0.42.0 - May 2024

See TypeSpec Core 0.56 release notes

Breaking Changes

@azure-tools/typespec-autorest

  • #774 Version enum is now omitted by default. Use version-enum-strategy: include to revert behavior.

@azure-tools/typespec-azure-core

  • #521 Switching ProvisioningState from enum to Open union

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

  • #521 Switching ProvisioningState from enum to Open union

Deprecations

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

  • 899f640 Renaming internal TypeSpec ARM foundation model names to be consistent with ARM common-type definitions. However, these are Azure.Resource.Manager.Foundations models that would not normally be used directly in service specs.

  • Deprecate Foundations.ArmResource. Foundations.Resource should be used instead.

  • Deprecate Foundations.ResourceSkuType. Foundations.Sku should be used instead.

  • Deprecate Foundations.ResourcePlanType. Foundations.Plan should be used instead.

  • Deprecate Foundations.TrackedResourceBase. Foundations.TrackedResource should be used instead.

  • Deprecate Foundations.ProxyResourceBase. Foundations.ProxyResource should be used instead.

  • Deprecate Foundations.ExtensionResourceBase. Foundations.ExtensionResource should be used instead.

Standardizing mix-in model names with consistent Property suffix.

  • Deprecate ManagedServiceIdentity. ManagedServiceIdentityProperty should be used instead.

    Example:

    ...ManagedServiceIdentity;
    ...ManagedServiceIdentityProperty;
  • Deprecate ManagedSystemAssignedIdentity. ManagedSystemAssignedIdentityProperty should be used instead.

    Example:

    ...ManagedSystemAssignedIdentity;
    ...ManagedSystemAssignedIdentityProperty;
  • Deprecate EntityTag. EntityTagProperty should be used instead.

    Example:

    ...EntityTag;
    ...EntityTagProperty;
  • Deprecate ResourceKind. ResourceKindProperty should be used instead.

    Example:

    ...ResourceKind;
    ...ResourceKindProperty;
  • Deprecate ResourcePlan. ResourcePlanProperty should be used instead.

    Example:

    ...ResourcePlan;
    ...ResourcePlanProperty;
  • Deprecate ResourceSku. ResourceSkuProperty should be used instead.

    Example:

    ...ResourceSku;
    ...ResourceSkuProperty;
  • Deprecate ManagedBy. ManagedByProperty should be used instead.

    Example:

    ...ManagedBy;
    ...ManagedByProperty;

Features

@azure-tools/typespec-autorest

  • #765 [API] Refactor to provide functions to get the OpenAPI programtically

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

  • #661 Fixing ArmResource base model and add an easier way to define Resource Name parameter
  • #736 Adding standard ExtendedLocation definition for ARM library

Bug Fixes

@azure-tools/typespec-autorest

  • #745 prevent tcgc versioning projection
  • #293 Add support for new @body @bodyRoot and @bodyIgnore decorators

@azure-tools/typespec-azure-core

  • #619 Add no-generic-numeric rule to disable LintDiff IntegerTypeMustHaveFormat
  • #760 Fix rpc-operation-request-body rule not actually checking for a body parameter.
  • #694 Fix crash when Traits builders gets passed non model
  • #710 Exempt versioning enums and discriminator enum/unions from documentation-required rule.
  • #740 Require documentation on most unions.
  • #293 Update to support new meaning of @body

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

  • #605 Specify the fully qualified name of @OpenAPI.extension decorator in missing-x-ms-identifiers linter warning.
  • #400 Updated ManagedIndentity and CustomerManagedKey TypeSpec model definition to be consistent with Swagger commont-types
  • #567 Enable arm-common-types-version rule by default.
  • #751 Allow @pattern to be provided on a scalar
  • #702 Fix arm-resource-name-pattern rule codefix producing invalid syntax
  • #293 Update to support new meaning of @body