# Change Log - @autorest/modelerfour This log was last generated on Thu, 16 Nov 2023 16:00:04 GMT and should not be manually modified. ## 4.27.0 Thu, 16 Nov 2023 16:00:04 GMT ### Minor changes - Upgrade dependencies ## 4.26.2 Fri, 26 May 2023 14:12:36 GMT ### Patches - Map `rfc7231` to `rfc1123` for date-time formats - Bypass autocorrect to type: object in some cases ## 4.26.1 Thu, 13 Apr 2023 04:20:09 GMT ### Patches - Fix issue with multipart request body could cause circular reference ## 4.26.0 Wed, 07 Dec 2022 22:24:34 GMT ### Minor changes - Support final-state-schema lro option ### Patches - Update dependencies ## 4.25.0 Thu, 03 Nov 2022 18:44:18 GMT ### Minor changes - Add support for specifying `api-version` parameter in the server variables ## 4.24.3 Thu, 22 Sep 2022 15:51:02 GMT ### Patches - Fix duplicate $host when using {nextLink} param ## 4.24.2 Fri, 12 Aug 2022 19:53:22 GMT ### Patches - Bump @autorest/codemodel with missing `ArmIdSchema` from yaml schema ## 4.24.1 Mon, 08 Aug 2022 16:48:55 GMT ### Patches - Fix `format: arm-id` wasn't doing anything ## 4.24.0 Tue, 19 Jul 2022 15:09:55 GMT ### Minor changes - Added support for `format:arm-id` creating a ]`ArmIdSchema` to represent Azure Resource Manager Resource Identifiers - Added: Include `externalDocs` information in codemodel - Treat `format: uri` as `format: url` - Errors emitted in 'modelerfour' step will have sourcemap. - Improved 'name is empty' error to contain more information. ## 4.23.6 Fri, 27 May 2022 15:55:11 GMT ### Patches - Fix issue with having `application/json` and `application/x-www-form-urlencoded` content type for the request body. Json now takes precedence ## 4.23.5 Wed, 18 May 2022 02:34:13 GMT ### Patches - Fix name bgeneration for contenttype and accept parameters only incrementing to 1 ## 4.23.4 Mon, 09 May 2022 15:29:40 GMT ### Patches - Fix `x-ms-client-flatten` defined at the root of the model would always flatten that model when referemced in properties ## 4.23.3 Tue, 03 May 2022 20:20:34 GMT ### Patches - **Fix** issue when using unknown media types with a known one. Ignore those. ## 4.23.2 Thu, 07 Apr 2022 20:47:30 GMT ### Patches - Modelerfour set correct known media type when `application/json` with `type: string` ## 4.23.1 Mon, 21 Mar 2022 15:38:03 GMT ### Patches - Fix: Request body with `type: string, format: bytes|duration|date-time` being treated as string instead of base64 json ## 4.23.0 Tue, 15 Mar 2022 16:00:38 GMT ### Minor changes - Add support for setting original `operationId` on operation - **Update** to the logic for resolving operation requests. Group request by body types instead of content-types to prevent overload issues" - Generalize security scheme by allowing AAD Token - Added support for special headers: headers automatically handled by the generator - Uptake change in typing in openapi library ## 4.22.3 Tue, 07 Dec 2021 16:58:46 GMT ### Patches - **fix** discriminator value added to top level if it has some allOf ## 4.22.2 Mon, 06 Dec 2021 20:16:04 GMT ### Patches - **Fix** Flattened models with duplicate properties using `AutoGenerated` name instead of flattened path based ## 4.22.1 Mon, 22 Nov 2021 21:55:51 GMT _Version update only_ ## 4.22.0 Fri, 19 Nov 2021 04:23:42 GMT ### Minor changes - Uptake change to extension-base to provide sourcemap support for errors - **Added** Support for overriding shared param description ### Patches - **Fix** issue with properties causing name conflict when consecutive words are deduplicated ## 4.21.4 Mon, 04 Oct 2021 18:15:27 GMT ### Patches - **Fix** Flatten nullable property doesn't propagate. - **Internal** remove use of string and array extension method `.last`. ## 4.21.3 Wed, 29 Sep 2021 15:39:07 GMT ### Patches - **Fix** Unknown format for number schema should not be an error. ## 4.21.2 Wed, 22 Sep 2021 15:23:39 GMT ### Patches - **Fix** log error when using parameter with `content.<mediaType>` as not being supported ## 4.21.1 Thu, 16 Sep 2021 18:49:17 GMT ### Patches - **Add** validation when schema use allOf referencing a schema with a different type - **Tweak** Better error message when enum has an empty value ## 4.21.0 Wed, 08 Sep 2021 15:39:22 GMT ### Minor changes - **Internal** Remove @azure-tools/linq library" - **Perf** Modified yaml dump improving serialization ### Patches - **Fix** Dictionaries don't get xml serialization information passed into codemodel ## 4.20.0 Mon, 19 Jul 2021 15:15:41 GMT ### Minor changes - Added support for anonymous security scheme - **Added** New option to make Content-Type extensible - **Added** Configuration to ignore certain header names from being added to the model parameters lists - **Change** Single-value enums are extensible by default and will not generate a constant - Drop support for node 10 - **Perf** Flattener major performance improvement for large specs ### Patches - **Fix** Ciruclar reference issue when using allOf parent referencing back to child in properties - **Improve** Duplicate schema resolution ## 4.19.3 Thu, 03 Jun 2021 22:37:55 GMT ### Patches - **Fix** Allow empty paths in operation ## 4.19.2 Thu, 20 May 2021 16:41:13 GMT ### Patches - **Immproved** error message for duplicate operations ## 4.19.1 Tue, 04 May 2021 18:18:45 GMT ### Patches - **Fix** Using multiple security layers(`AND`) now produce warning instead of error. ## 4.19.0 Tue, 27 Apr 2021 17:48:43 GMT ### Minor changes - **Added** Distinction between anything and anyobject - **Added** Support for openapi deprecation - **Added** Support known set of security scheme ### Patches - **Perf** Major performance improvment to duplicate schema finder ## 4.18.4 Mon, 19 Apr 2021 21:06:54 GMT ### Patches - **Fix** Enum defined just with allOf of other enum - **Typo** Ambigious -> Ambiguous ## 4.18.3 Tue, 13 Apr 2021 21:32:54 GMT ### Patches - **Fix** Enum without type resulting in null values ## 4.18.2 Fri, 09 Apr 2021 19:53:22 GMT ### Patches - **Fix** api-version-mode configuration not working if not auto ## 4.18.1 Thu, 01 Apr 2021 15:46:41 GMT ### Patches - Bump @azure-tools/uri version to ~3.1.1 - **Cleanup** Migrated use of require -> es6 imports - **Update** how binary request body are treated if the content-type is not binary: Group all binary body together to prevent multiple method overload with same parameter - **Fix** Some unhandled promises ## 4.18.0 Tue, 16 Mar 2021 15:52:56 GMT ### Minor changes - **Change** let single value enum parameters be able to be grouped. - **Feature** Support using `allOf` in enum to reference a parent enum. All the parent choices will be flattened in the child enum ### Patches - **Respect** OpenAPI3 discriminator mapping - Bump dependencies versions ## 4.17.2 Fri, 05 Mar 2021 16:31:29 GMT ### Patches - Allow server variables to provide a string format(url, uri, etc.) ## 4.17.1 Fri, 26 Feb 2021 21:50:13 GMT ### Patches - **Fix** Don't add a duplicate Content-Type parameter if it is already provided in the spec - Fix x-ms-header-collection-prefix injected dictionary not defined in the list of schemas ## 4.17.0 Fri, 19 Feb 2021 21:42:09 GMT ### Minor changes - **Change** Body parmaeters for a `formData` body will be seperate parameters in the generated model instead of being grouped in a body object. ### Patches - Change property redefinition error when changing type into a warning to allow polymorphism ## 4.16.2 Thu, 11 Feb 2021 18:03:07 GMT ### Patches - **Internals** Update chalk dependency to ^4.1.0 ## 4.16.1 Mon, 08 Feb 2021 23:06:15 GMT ### Patches - Set `isInMultipart: true` for multipart parameters ## 4.16.0 Thu, 04 Feb 2021 19:05:18 GMT ### Minor changes - Migrate bundling system from static-link to webpack ### Patches - Fix the use of circular dependencies in additionalProperties [PR #3819](https://github.com/Azure/autorest/pull/3819) - Internal code linting fixes - Internal: Move out test custom matchers to seperate package - Rename @azure-tools/autorest-extension-base dependency to new @autorest/extension-base pkg ## 4.15.456 Thu, 28 Jan 2021 00:22:27 GMT ### Patches - Fix static linking issue with modelerfour resulting in incompatible dependency. ## 4.15.455 Tue, 26 Jan 2021 21:36:02 GMT ### Patches - Update modelerfour to use renamed package @azuretools/codemodel -> @autorest/codemodel. ## 4.15.x ### Patches - **Fix** Missing description in responses. ([PR 370](https://github.com/Azure/autorest.modelerfour/pull/370)) - **Feature** Added new flag `always-create-accept-parameter` to enable/disable accept param auto generation. ([PR 366](https://github.com/Azure/autorest.modelerfour/pull/366)) - **Fix** Allow request with body being a file and `application/json` content-type. ([PR 363](https://github.com/Azure/autorest.modelerfour/pull/363)) - **Fix** Dictionaries of dictionaries not being modeled as such(`dict[str, object]` instead of `dict[str, dict[str, str]]`). ([PR 372](https://github.com/Azure/autorest.modelerfour/pull/372)) - **Fix** Issue with sibling models(Model just being a ref of another) causing circular dependency exception. ([PR 375](https://github.com/Azure/autorest.modelerfour/pull/375)) - **Fix** Issue with duplicates schemas names due to consequtive name duplicate removal. ([PR 374](https://github.com/Azure/autorest.modelerfour/pull/374)) - Schemas with `x-ms-enum`'s `modelAsString` set to `true` will now be represented as `ChoiceSchema` even with a single value. - `Accept` headers are now automatically added to operations having responses with content types - Added `always-seal-x-ms-enum` settings to always create `SealedChoiceSchema` when an `x-ms-enum` is encountered ## 4.14.x ### Patches - added `exception` SchemaContext for `usage` when used as an exception response - changed `output` SchemaContext for `usage` to no longer include exception response uses ## 4.13.x ### Patches - add security info (checks to see if `input.components?.securitySchemes` has any content) - sync version of m4 and perks/codemodel == 4.13.x - adding quality prechecker step as a way to test the OAI document for quality before modelerfour runs. - report duplicate parents via allOf as an error. - added `modelerfour.lenient-model-deduplication` to cause schemas with duplicated names to be renamed with an `AutoGenerated` suffix. Note that this is a *temporary* measuer that should only be used when Swaggers cannot be updated easily. This option will be removed in a future version of Modeler Four. ## 4.12.x ### Patches - updated CI to build packages - any is in a category in schemas - times is a new category in schemas (not populated yet, next build) - polymorphic payloads are not flattened (when it's the class that declares the discriminator) - readonly is pulled from the schema if it's there - body parameters should have the required flag set correctly - content-type is now a header parameter (wasn't set before) - added `modelerfour.always-create-content-type-parameter` to always get the content type parameter even when there are only one option. - add support for x-ms-api-version extension to force enabling/disabling parameter to be treated as an api-version parameter - the checker plugin will now halt on errors (can be disabled by `modelerfour.additional-checks: false`) - when an enum without type is presented, if the values are all strings, assume 'string' - flatten parents first for consistency - added choiceType for content-type schema ## 4.6.x ### Patches - add additional checks for empty names, collisions - fix errant processing on APString => Apstring - x-ms-client-name fixes on parameters - added setting for `preserve-uppercase-max-length` to preserve uppercase words up to a certain length. ## 4.5.x ### Patches - static linking libraries for stability - processed all names in namer, styles can be set in config (see below): - support overrides in namer - static linked dependency ## 4.4.x ### Patches - parameter grouping - some namer changes ## 4.3.x ### Patches - flattening (model and payload) enabled. - properties should respect x-ms-client-name (many fixes) - global parameters should try to be in order of original spec - filter out 'x-ms-original' from extensions - add serializedName for host parameters - make sure reused global parameter is added to method too - processed values in constants/enums a bit better, support AnySchema for no type/format - support server variable parameters as method unless they have x-ms-parameter-location ## 4.2.75 ### Patches - add `style` to parameters to support collection format - `potential-breaking-change` Include common paramters from oai/path #68 (requires fix from autorest-core 3.0.6160+ ) - propogate extensions from server parameters (ie, x-ms-skip-url-encoding) #61 - `potential-breaking-change` make operation groups case insensitive. #59 - `potential-breaking-change` sealedChoice/Choice selection was backwards ( was creating a sealedchoice schema for modelAsString:true and vice versa) #62 - `potential-breaking-change` drop constant schema from response, use constantschema's valueType instead. #63 - `potential-breaking-change` fix body parameter marked as required when not marked so in spec. #64 ## 4.1.60 ### Patches - query parameters should have a serializedName so that they don't rely on the cosmetic name property. ## 4.1.58 ### Patches - version bump, change your configuration to specify version `~4.1.0` or greater ``` use-extension: "@autorest/modelerfour" : "~4.1.0" ``` - each Http operation (via `.protocol.http`) will now have a separate `path` and `uri` properties. <br>Both are still templates, and will have parameters. <br>The parameters for the `uri` property will have `in` set to `ParameterLocation.Uri` <br>The parameters for the `path` property will continue to have `in` set to `ParameterLocation.Path` - autorest-core recently added an option to aggressively deduplicate inline models (ie, ones without a name) and modeler-four based generator will have that enabled by default. (ie `deduplicate-inline-models: true`) <br>This may increase deduplication time on extremely large openapi models. - this package contains the initial code for the flattener plugin, however it is not yet enabled. - updated `@azure-tools/codemodel` package to `3.0.241`: <br>`uri` (required) was added to `HttpRequest` <br>`flattenedNames` (optional) was added to `Property` (in anticipation of supporting flattening)