- #1663 Upgrade dependencies
- #1566 Emit
x-ms-pageable
whenever possible for new core paging model
- #1534 Bump dependencies
- #1547 Added support to use Scalar and Object as default types
- #1627 Adding support for loading example files from nested sub-folders.
- #1436 Fixes bug where defining multiple services in a project resulted in each openapi output containing the same single service definition.
- #1455 Respect
@clientName
for definition names(model, enums, union, etc.), enum and union member and for parameters - #1449 Add support for custom item name in
x-ms-pageable
-
#1368 Replace
examples-directory
withexamples-dir
which will validate an absolute path is providedCase 1: Examples are in
examples
directory next totspconfig.yaml
. In this case the option can just be removed- examples-directory: examples
- examples-directory: {project-root}/examples
Case 2: Examples are in a different directory
- examples-directory: autorest-examples + examples-dir: {project-root}/autorest-examples
- examples-directory: {project-root}/autorest-examples + examples-dir: {project-root}/autorest-examples
- #1248 Fix issue what allowed
multi
format on a header
- #1219 Update dependencies
- #1275 Add support for encoding numeric types as string
- #1247 Add support for URI templates in routes
- #1237 Use new
createTcgcContext
from tcgc lib, which is the minimal context object that handles scope
- #1081 Fix patch models for common-types
- #1104 Dependency updates July 2024
- #1116 Resolve Arm Common Definitions for enums and unions as well
- #955 Use emit-lro--options emitter option to control emission of x-ms-long-running-operation-options
- #955 Add support for displaying lro options in typespec-autorest based on lro metadata
- #1123 Removed direct reference to OpenAPI extension
x-ms-azure-resource
in ARM library and replaced with@Azure.ResourceManager.Private.azureResourceBase
decorator. It is only used internally on base resource types.autorest
emitter has been updated to check the decorator and still emitx-ms-azure-resource
extension in swagger.
-
#1105
x-ms-client-flatten
extension on some of resource properties property is now configurable to be emitted by autorest emitter(arm-resource-flattening
option). Default is false which will skip emission of that extension. To revert to previous behavior update yourtspconfig.yaml
with the followingoptions: "@azure-tools/typespec-autorest": # ...other options + arm-resource-flattening: true
- #923 When emitting version enum only include current version and mark with
modelAsString: true
- #902 Add support for new multipart constructs in http library
- #432 Add support for tuple literals as default values
- #867 Update dependencies - May 2024
- #955 Use emit-lro--options emitter option to control emission of x-ms-long-running-operation-options
- #955 Add support for displaying lro options in typespec-autorest based on lro metadata
- #972 Add API to programmatically get all the OpenAPI2 documents for all services at all versions in a spec
- #811 Add dependency on typespec-azure-resource-manager to resolve the spec repo common types paths
- #813
@summary
sets the title of definitions
- #473 Enums are not extensible by default anymore. Update to an extensible union
union Foo {a: "a", b: "b", string}
- #839 Do not omit unreferenced non version enum when
omit-unreachable-types
is not set to true
- #745 prevent tcgc versioning projection
- #293 Add support for new
@body
@bodyRoot
and@bodyIgnore
decorators
- #663 Upgrade dependencies
- #765 [API] Refactor to provide functions to get the OpenAPI programtically
- #774 Version enum is now omitted by default. Use
version-enum-strategy: include
to revert behavior.
- #568 Small performance improvements
- #414 updating autorest to emit response headers in lexicographic order
- #512 Fix: Discriminated inheritance wasn't resolving the
x-ms-discriminator-value
when it had an intermediate model.
- #437 Update dependencies
- #407 Add support for new
Azure.Core.armResourceManager
scalar
- #243 Update dependencies
- #337 Add support for all properties of openapi
info
object on the@info
decorator - #277 Support
@flattenProperty
decorator.
- 9baadd2:
readonly
was not added whenuse-read-only-status-schema
is set totrue
for union types. - 9baadd2: Fix
UnionType | null
would be inlined instead of referencingUnionType
- b5fa501: Support default value for union properties
- b5fa501: Fix: Description being ignored on unions
- a1a2be7: Respect
@clientName
decorator from@azure-rest/typespec-client-generator-core
library where@projectedName("client")
used to work.
- 2f6bbc4: Fix: Inline enums properties with default values as
default
is not allowed next to$ref
- 8b072f4: Emit warning if using opendIdConnect http auth scheme
- 148eee4: Update references to ARM, Add template customization parameters, add migration docs
Mon, 29 Jan 2024 22:16:39 GMT
- Fix: Autorest emitter should generated format: decimal
Wed, 24 Jan 2024 05:47:18 GMT
- Update dependencies.
- Add support for
@encodedName
decorator - Update dependencies
Thu, 14 Dec 2023 01:19:27 GMT
- Fix: Multipart property of type
bytes[]
is now treated as multiple file parts
Mon, 11 Dec 2023 18:44:34 GMT
- Fix: enums created from named unions will keep have the union name carry over to
x-ms-enum.name
Wed, 06 Dec 2023 19:47:28 GMT
- Update dependencies.
- Adds validation of '@format' decorator.
- Support EmbeddingVector types from Azure.Core.
- Added support for more complex unions of literals which could be represented with
enum: []
- Minor change on docs
- Added support for string templates
Tue, 14 Nov 2023 20:35:54 GMT
- Fix:
discriminator
property will always be marked as required to produce a valid Swagger 2.0 spec. - Fix: Multipart with
bytes
part will now producetype: file
instead oftype: string, format: binary
- Fix: Multipart with json part will now produce
type: string
and report a warning as json parts are not supported in swagger 2.0.
Wed, 08 Nov 2023 00:11:02 GMT
- Update dependencies.
- Fix: Stops emitting an error when using
@body _: void
in operation parameters and treat it as no body. - Allow automatic disambiguation of x-ms-paths when signatures don't differ by query params.
TypeScript
usetypes
entry underexports
ofpackage.json
instead of legacytypesVersions
to provide the definition files- BREAKING CHANGE Minimum node version increased to 18
Tue, 31 Oct 2023 19:47:30 GMT
- Fix #3794 Allow casing override for OperationId
- Fix: Query or header parameters with a type of array of enum would produce an invalid OpenAPI2.0 spec where the enum would be referenced with a
$ref
which is not allowed inside a parameter definition. - Fix
x-ms-discriminator-value
was not set when a child discriminated model was referenced directly - Fix:
x-ms-paths
implicit disambiguation would create invalid parameter. Instead_overload
dummy parameter is always added.
Sat, 28 Oct 2023 15:59:07 GMT
- Allow automatic disambiguation of x-ms-paths when signatures don't differ by query params.
Wed, 11 Oct 2023 23:51:36 GMT
- Update dependencies.
- A diagnostic will now be emitted for any HTTP authentication scheme not supported by OpenAPI 2
- Fix: Use
null
as a default - Update dependencies
- Add support for status code ranges
Tue, 12 Sep 2023 21:49:08 GMT
- Update dependencies.
- Handle general encodings for utcDateTime
- Fix: handling of
model extends Record<T>
andmodel is Record<T>
- Fix: Resolve the correct
nextLinkName
if property name has.
. - Fix header with encode rfc7231
- Fix: Autorest output wasn't sorting the properties in known extensions
- Fix issue where properties with "create" visibility did not appear when using the CreateOrUpdate PATCH-based template.
Tue, 08 Aug 2023 22:32:22 GMT
- Update dependencies.
- Annotate long-running operations with "x-ms-long-running-operation".
- Fix: Apply
@minItems
and@maxItems
decorators on model array. - Add interpolation support for the
arm-types-dir
for theemitter-output-dir
variable - Add support for
@info
decorator providing the ability to specify the additional fields from openapi info object.
Tue, 11 Jul 2023 22:06:14 GMT
- Update dependencies.
- Allow discriminator to be an enum
- Add warning for unsupported empty enums.
- Show error details when failing to load an example file
- Change Added a determinstic ordering to the generated openapi document. This might result in some different ordering as previously.
- Add support for nullable enums properties
- Omitting
x-typespec-name
extension by default from autorest output. A new flaginclude-x-typespec-name: "inline-only" | "never"
has been added to get previous behavior. - Create readOnly schema for provisioningState
- AutoRest emitter now reports on non-specific scalar types like
numeric
,integer
, andfloat
. - Update dependencies
Tue, 06 Jun 2023 22:44:32 GMT
- Update dependencies.
- (Breaking) It is now an error to have multiple example files with the same operation ID and title. Previously, this would silently overwrite x-ms-examples entries in the output. To fix, choose a unique title for each example of any given operation.
- Fix: Documentation on
model is x[]
was not included in schema description - Implicit body is marked as
required
- Fix: derived scalar doc ignored
- Fix:
@encode
encoding doesn't override target type format - Fix: Encoding resolution for model properties and add back
unixtime
- Fix: operation parameter doc should was ignored if the parameter type had a doc
- add support for decimal and decimal128
- Uptake doc comment changes
- Add emitter options description
- Remove reference to
object
in decorators - Updated decorators to use
valueof
Sat, 20 May 2023 01:52:45 GMT
- Fix:
arm-types-dir
using absolute reference(e.g. using{project-root}
would resolve path with extra../
Wed, 10 May 2023 21:24:14 GMT
- Update dependencies.
- Added new option
arm-types-dir
used to specify the directory for the common arm common types - Respect
client
projection target to resolveoperationId
andx-ms-client-name
- Add support for
@encode
decorator - Cleanup deprecated items
Tue, 11 Apr 2023 18:49:21 GMT
- Update dependencies.
- Breaking
output-file
now use config path interpolation. Existing value must be change to include the values to interpolate. e.g.custom.json
->{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/custom.json
- Support share route scenarios with x-ms-paths.
- Add regression tests for versioning and projected names
- Remove deprecated autorest option from README.md
- Breaking Change Removed deprecated
@collectionFormat
decorator. Use@header({format: })
or@query({format:})
instead. - Uptake changes to dateTime types
Mon, 13 Mar 2023 21:30:57 GMT
- Update dependencies.
- Avoid Read suffix in schemas split by visibility.
Fri, 03 Mar 2023 19:59:30 GMT
- Update dependencies.
- Support additionalProperties.
- Stop treating models spread into parameters as unreferenced.
- Update package homepage link to github.io page
- Revert back changelog
- Adopted the new
@typespec/http
library - update entrypoint to tspMain
- Rename to TypeSpec
Tue, 07 Feb 2023 21:56:32 GMT
- Update dependencies.
- Adding extern dec decorator in cadl file
- Fix issue where operation parameters could not target model properties.
- Removed
@pageable
and@asyncOperationOptions
decorators. - Don't emit extra "canonical" model when always impacted by visibility
- Fix issues when multiple copies of library are loaded.
Fri, 13 Jan 2023 00:05:37 GMT
- Update dependencies.
- Emit collectionFormat from encoding options
- Generate recursive update schemas with optional properties for resource update operation
Wed, 07 Dec 2022 17:21:53 GMT
- Change behavior to generate enums with "modelAsString: true" unless the enum is decorated with
@fixed
.
- Uptake new
getNamespaceFullName
- Uptake deprecation of
uri
type in favor ofurl
scalar - Uptake changes to rest library api
- Omit metadata properties of type
never
- Update dependencies.
- Update
invalid-union
diagnostic to be a warning instead of an error. - Uptake change to emitter api with new
emitter-output-dir
option - Uptake changes to allow multiple services
- Uptake change to compiler for new
scalar
type
- Honor @header/@query/@path in parameter name
- Emit 'deprecated' operation property in cadl-autorest
- Remove undocumented use of atVersion projection
- Update dependencies
Sat, 12 Nov 2022 00:14:23 GMT
- Feature: Add support for
unknown
- Add automatic visibility and metadata handling
- Apply x-ms-mutability when "read" visibility is not present but "create" or "update" is.
- Add
output-dir
emitter options to override compiler defaultoutput-dir
- Update dependencies.
- Support multipart form data.
- Fix handling of examples when using multiple API versions
- Fix: @extension on a model is intrinsic types are being applied
Wed, 12 Oct 2022 21:12:48 GMT
- Add support for model property references.
- Uptake changes to core discriminator
- Empty object as a response will not produce a 204 response anymore
- Include
x-ms-skip-url-encoding: true
foruri
server params - Emitted swagger document include all types under the service namespace unless
omit-unreachable-types
option is set. - Add support for
@minItems
and@maxItems
decorators - Update dependencies.
- Uptake move of
@discriminator
into compiler - Apply changes to rest library
- Update info logging to use new tracing engine
- Fix:
Content-Type
request header lookup is case insensitive - Exclude properties of type
never
when emitting model schemas
Thu, 08 Sep 2022 01:05:13 GMT
- Uptake changes to http service authentication oauth2 scopes.
- Add support for projected names. Using json projection to differentiate x-ms-client-name.
- string literal as constant enum
- Update dependencies.
- React to Type suffix removal
- Uptake change to enum members map type
- Uptake changes to compiler with current projection
- Moving comparePath to private
- emit x-ms-error-response when @error applies
Thu, 11 Aug 2022 19:05:47 GMT
- support collection format
- Update openapi emitter to work with Azure.Core.Page. Deprecate @pageable.
- Internal: Uptake new compiler helpers to work with template types
- Added support for default value for properties with enum type.
- Added
new-line
endings emitter option to configure the line endings. - Support set of unannotated parameters as request body
- Inline template instantiations without
@friendlyName
- Update dependencies.
- Emit service authentication metadata that was applied to a service with
@useAuth
- Uptake new
resolveOperationId
helper from openapi library improving the logic - Add warning if there is no exposed routes
- Uptake changes to type relations
- Allow overriding
x-ms-parameter-location
for shared parameters using@extension
decorator
- Fix: Description being ignored on non-string primitive models
- Fix output-file setting not used when multi version and azure-resource-provider-folder
- fix infinite recurision
- Fix bug with zero enum values
- Remove
summary
property set on schemas andparameters
- Make response descriptions more consistent
- update readme.md with decorator information
Fri, 08 Jul 2022 23:23:14 GMT
- Update dependencies.
- Rename emitter options to be
kebab-case
- Use new emitter options syntax
- Detect effective schema type for spread models
- force operation id to upper case
- Inline parameters spread from anonymous model
Mon, 13 Jun 2022 23:42:46 GMT
- Uptake changes to accessor diagnostics
- Update dependencies.
- Add support for new @server decorator used to specify api endpoints.
- Uptake changes to decorator context
- Uptake change to versioning library using enum instead of string for versions
- Remove use of "path" library
- Added marker to indicate cadl generation
- Add dependency to Azure.Core.
- Upgrade to TS4.7
Fri, 06 May 2022 17:20:15 GMT
- Add description to discriminated model discriminator property
- Uptake change in compiler with children references
- Move decorators into
Autorest
namespace - Support examplesDirectory emitter option
- Added validation to @asyncOperationOptions decorator
- Update dependencies.
- Remove node 14 support
- Rearrange some aspects of operation output in the OpenAPI/Swagger 2 emitter
- Fix template errors when example directory does not exist
- add support for versioning
- Do not include discriminator property in child types
- Missing
@cadl-lang/versioning
as a peerDependency - Fix: Rename
x-ms-identifier
->x-ms-identifiers
- URI-encode refs
Thu, 31 Mar 2022 17:11:06 GMT
- Add support for
@knownValues
to emit modelAsString=true enums - Add support for
void
body to return 204 - Moved http response interpretation to @cadl-lang/rest library.
- Update dependencies.
- add support for x-ms-identifier
Wed, 09 Mar 2022 17:42:26 GMT
- @doc and @summary will set the description and summary on extended primitive types
- Emit child models to OpenAPI when parent is emitted
- Added support for
@externalDocs
decorator - @doc on service namespace set openapi description
- Update dependencies.
- Uptake change to intrinsic types
- Fix issue where a model name the same as Cadl Intrinsic type would be treated the same.
- Fix issue where parameter definitions were being duplicated unnecessarily
Tue, 15 Feb 2022 22:35:13 GMT
- Support union values for status-code and content-type in responses
- Add @example decorator
- Update dependencies.
- Add support for separate
@summary
from@doc
Fri, 11 Feb 2022 06:13:30 GMT
- Update decorators with new interface
- Bump dependency versions
Fri, 04 Feb 2022 18:01:35 GMT
- Absorb projections change
- cadl-autorest support for discriminated unions
- Add support for extensions on parameters
- Uptake changes in @cadl-lang/rest library improving operation parameter handling
- Update cadl dependencies to peerDependencies
- Internals: switch to internal path manipulation
- Added values to
x-ms-enum
containing@doc
for members and custom name/values if applicable - Adopt statusCode decorator for http status code
- Update for new emitter syntax
- Use common decorator from @cadl-lang/openapi library
- Adding @format decorator support for autorest to emit "format" for string types
- Fix Added support for nullable array
xzy[] | null
- Fix issue with @body body: bytes producing
type: string, format: bytes
instead oftype: string, format: binary
for requests and response - Add
friendlyName
decorator support to cadl-autorest emitter - Renaming @format decorator to @pattern.
- Add cadl-autorest support for safeint
Thu, 16 Dec 2021 08:03:03 GMT
- generate resource provider subfolder
- Update emitter to use simplified getAllTags arguments
- Adjust emitter to support new @route model
Wed, 01 Dec 2021 22:56:37 GMT
- Fix mapping of update method name to HTTP verb
Thu, 18 Nov 2021 13:58:37 GMT
- Respond to new API changes in @cadl-lang/rest
Thu, 11 Nov 2021 21:46:47 GMT
- Added Support for duration type
- Define response body for primitive response type
Thu, 28 Oct 2021 21:20:34 GMT
- Use strict diagnostics
- Fix logic for maxValue decorator
- Sort paths and definitions in cadl-autorest OpenAPI output files
Fri, 15 Oct 2021 21:33:37 GMT
- Added Support for server default
Fri, 17 Sep 2021 00:49:37 GMT
- Remove support for multiple inheritance
- Updates for cadl namespace addition
- Support for emitting
bytes
and new number types
Sat, 21 Aug 2021 00:04:02 GMT
- Introduce naming convention
$name
for JavaScript-defined Cadl functions and decorators
- Allow x-ms-pageable in non-list operations (POST)
Fri, 13 Aug 2021 19:10:21 GMT
- Fixes for retaining state over multiple compilations, allowing lro extensions, minimizing produces/consumes usage, removing empty response schema, fixes for dictionaries with complex value types
Tue, 10 Aug 2021 20:23:04 GMT
- Rename package to @azure-tools/cadl-autorest
Mon, 09 Aug 2021 21:14:12 GMT
Version update only
Mon, 02 Aug 2021 18:17:00 GMT
- Rename ADL to Cadl
Wed, 28 Jul 2021 19:40:06 GMT
- Fix swagger generation bugs for empty schema and support host property
Fri, 09 Jul 2021 20:21:06 GMT
- Catch ErrorType instances while walking ADL types so that it's easier to diagnose syntax issues in source files
- Absorb base templated model instance into derived type's schema definition when it's the only base type
Thu, 24 Jun 2021 03:57:43 GMT
- Add semantic error recovery
- Fix decorator application to OpenAPI output when the target is a model property or operation parameter
Tue, 18 May 2021 23:43:31 GMT
Version update only
Thu, 06 May 2021 14:56:01 GMT
- Implement alias and enum, remove model =
- Replace several internal compiler errors with diagnostics
Tue, 20 Apr 2021 15:23:29 GMT
- Trim base service namespace from parameter definition names
- Use new virtual file to emit output