0.63 - December 2024
Notable changes
Section titled “Notable changes”Experimental: Improve Realm, Mutator, and Typekit implementations
Section titled “Experimental: Improve Realm, Mutator, and Typekit implementations”The compiler strongly binds a Realm and Typekit together, and changes mutators so that new types are cloned within the mutator’s realm. The default Typekit now creates a default typekit realm for the current program, and a Typekit can be easily created to work in a specific Program or Realm as needed.
Enum-driven Visibility
Section titled “Enum-driven Visibility”A new mechanism for visibility that defines valid visibility values in enums and provides tools for filtering types by visibility. A new LifecycleVisibility
enum defines standard protocol-agnostic visibility values for operations that manage the lifecycle (creation, update, deletion) of a resource. More details on visibility enums are available in website documentation
Features
Section titled “Features”@typespec/compiler
Section titled “@typespec/compiler”-
#4937 Add mutateSubgraphWithNamespace as a separate API
-
#4837 Allow trailing delimiter in array values, tuple, decorator declaration, scalar initializer, etc.
-
#5149 Experimental: Improve Realm, Mutator, and Typekit implementations.
-
#4825 Adds support for enum-driven visibility in the compiler core.
@typespec/openapi3
Section titled “@typespec/openapi3”- #5029 Add support for
#deprecated
for OpenAPI3Parameter
Bug Fixes
Section titled “Bug Fixes”@typespec/compiler
Section titled “@typespec/compiler”- #5252 Added RegEx validation for @pattern and will throw warning for invalid RegEx string
@typespec/http
Section titled “@typespec/http”- #5016 Uri template attributes were not extracted when parameter was explicitly mark with
@path
or@query
as well
@typespec/http-server-csharp
Section titled “@typespec/http-server-csharp”- #4308 Process sub-namespaces of a service
- #4998 Handle void returnType
- #5000 Handle tuple literals
- #5001 Skip envelope types withpout properties
- #5024 Literal type is not properly generated
- #5124 Skip uninstantiated templates
- #5125 Process operations outside interfaces
- Handle nullable types and anonymous typesin all contexts
- Add server-side numeric constraints for safeInt
@typespec/http-server-javascript
Section titled “@typespec/http-server-javascript”- Add an additional check for the presence of a property before performing a bounds check on integer properties constrained to a range.
- 5185 Add logic to handle invalid identifier names (#5185)
@typespec/versioning
Section titled “@typespec/versioning”- #5262 Fixes diagnostics for @typeChangedFrom to properly detect when an incompatible version is referenced inside of a template, union, or tuple.
@typespec/openapi3
Section titled “@typespec/openapi3”@typespec/json-schema
Section titled “@typespec/json-schema”- #5189 Fixes crash that occurred when a template instantiation’s template argument was a union that references a declaration.