0.60 - September 2024
Features
@typespec/compiler
- #4139 Add new way to define decorator implementation with 
$decoratorsexport. 
export const $decorators = {  "TypeSpec.OpenAPI": {    useRef: $useRef,    oneOf: $oneOf,  },};- #4148 Diagnostics logged to the terminal now have a clickable hyperlink to the diagnostic documentation url if applicable.
 - #4141 Diagnostic code in IDE now link to the linter rule documentation url if applicable
 - #4357 Improvements to type relation errors: Show stack when it happens in a nested property otherwise show up in the correct location.
 
Bug Fixes
@typespec/compiler
- #4381 Fix Semantic walker doesn’t fire exitOperation or exitModelProperty
 - #4146 Fix model expression defined in alias will resolve its namespace from the namespace where the alias was declared
 - #4147 Fix examples with models using 
extends - #4144 Fix: Model and union expression in template were not considered as template instances
 - #4135 Fix numeric 0 stringify producing 0.0
 - #4064 IDE: Formatting command will use prettier config if provided over the editor’s configuration.
 - #4089 Fix tmlanguage for named type argument in type reference.
 - #4324 API: Extract source resolution logic into its own source loader
 
@typespec/http
- #4322 Use user provided description of model if model has a status code property(detect it as an response envelope)
 
@typespec/versioning
- #4145 Fix error when trying to reference types from another sub namespace of a versioned namespace
 - #4179 Add validation to make sure operation params reference models available in the current version
 - #4179 Add validation to make sure types referencing array in union types have compatible versioning.
 
@typespec/openapi3
- #4133 Fix Bug for OpenAPI 3 Emitter crash on 
@useAuth({}) - #4123 Fix OpenAPI3 union names when declared within a namespace
 - #4216 Fixes issue in tsp-openapi3 that resulted in component schemas and parameters with the same name being merged into a single TypeSpec data type.
 - #4232 Improves tsp-openapi3 model generation from schemas utilizing allOf. Models will now extend an allOf member if it is a schema reference and the only member with a discriminator. Other members will be spread into the model if defined as a schema reference, or have their properties treated as top-level properties if they are an inline-schema.
 - #4149 Updates tsp-openapi3 conversion of OpenAPI3 component schemas to improve handling of enums, unions, scalars, and aliases.
 
@typespec/html-program-viewer
- #4353 Fix crash when using anonymous union variant
 - #4136 Fix namespace with the same name conflicting in the tree navigation
 
@typespec/json-schema
- #4150 Stop json schema from crashing on unknown scalar and handle 
unixTimestamp32