Skip to main content
Version: Latest (Core: 0.57.x, Azure: 0.43.x)

Release Notes Version 0.42.0 - May 2024

See TypeSpec Core 0.56 release notes

warning

This release contains breaking changes

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