christianhelle/refitter (Refitter.Core)
### [`v1.0.1`](https://togithub.com/christianhelle/refitter/releases/tag/1.0.1)
[Compare Source](https://togithub.com/christianhelle/refitter/compare/1.0.0...1.0.1)
#### What's New
- Update Serializer to write indented JSON by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/384](https://togithub.com/christianhelle/refitter/pull/384)
- Remove SonarAnalyzer.CSharp dependency by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/394](https://togithub.com/christianhelle/refitter/pull/394)
#### Installation
This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this:
```bash
dotnet tool install --global Refitter --version 1.0.1
```
#### Features
- Generate single file containing [Refit ](https://togithub.com/reactiveui/refit) interface and contract types from an OpenAPI spec file
- Supports OpenAPI **v2** and **v3**
- Supports OpenAPI specifications in **JSON** and **YAML** formats
- Supports OpenAPI specification validation and error/warning/stats reporting
- Supports generating route, query, header, and body request parameters
- Generate code at build time using rosyln C# source generator [Refitter.SourceGenerator](https://www.nuget.org/packages/Refitter.SourceGenerator/0.7.3)
- `--no-auto-generated-header` CLI tool argument to skip prefixing output file with header
- `--interface-only` CLI tool argument to skip contract type generation
- `--use-api-response` CLI Tool argument to return [`IApiResponse`](https://togithub.com/reactiveui/refit/blob/main/Refit/ApiResponse.cs#L111) instead of `Task`
- `--internal` CLI tool argument to generate types with the `internal` accessibility modifier
- `--cancellation-tokens` CLI tool argument to generate the Refit interface with CancellationTokens
- `--no-operation-headers` CLI tool argument to skip generating `[Header]` parameters
- `--no-logging` CLI tool argument to disable error logging and feature usage tracking
- `--use-iso-date-format` CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15)
- `--multiple-interfaces` CLI tool argument to generate a Refit interface for each endpoint. This may be either `ByEndpoint` or `ByTag`
- `--settings-file` CLI tool argument to use a .refitter format file and override all other arguments
- `--skip-validation` CLI tool argument to ignore all validation errors and attempt to generate code anyway
- `--match-path` CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times
- `--tag` CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation
- `--optional-nullable-parameters` CLI tool argument to make non-required query parameters to optional parameters in Refit interface
- `--operation-name-template` CLI tool argument to append a prefix or suffix to the `{operationName}` template. This can also be used to customize the Execute() method name in the interfaces generated when `--multiple-interfaces ByEndpoint` is set
- `--trim-unused-schema` CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum
- `--keep-schema` CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with `--trim-unused-schema`
- `--skip-default-additional-properties` CLI tool argument to skip default additional properties
- `--operation-name-generator` CLI tool argument to NSwag IOperationNameGenerator implementation to use.
- `--use-observable-response` CLI tool argument to return [`IObservable`](https://learn.microsoft.com/en-us/dotnet/api/system.iobservable-1)
#### Contributions
- Add `matchPath` option in example .refitter file in README by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/146](https://togithub.com/christianhelle/refitter/pull/146)
- Skip default values when collecting feature usages for Analytics by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/145](https://togithub.com/christianhelle/refitter/pull/145)
- Fix documentation regarding `--settings-file` usage by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/152](https://togithub.com/christianhelle/refitter/pull/152)
- Disable support keys if `--no-logging` is specified by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/153](https://togithub.com/christianhelle/refitter/pull/153)
- Mark deprecated operations by [@angelofb](https://togithub.com/angelofb) in [https://github.com/christianhelle/refitter/pull/154](https://togithub.com/christianhelle/refitter/pull/154)
- Update docs with details about --no-deprecated-operations by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/155](https://togithub.com/christianhelle/refitter/pull/155)
- Speed up local smoke tests by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/156](https://togithub.com/christianhelle/refitter/pull/156)
- Generate Refit interfaces as partial by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/162](https://togithub.com/christianhelle/refitter/pull/162)
- Optional OpenAPI Path in CLI arguments by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/160](https://togithub.com/christianhelle/refitter/pull/160)
- Introduce `--operation-name-template` command line argument by [@angelofb](https://togithub.com/angelofb) in [https://github.com/christianhelle/refitter/pull/164](https://togithub.com/christianhelle/refitter/pull/164)
- Add support for optional parameters via the `--optional-nullable-parameters` CLI argument by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/163](https://togithub.com/christianhelle/refitter/pull/163)
- Update .refitter file format documentation by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/169](https://togithub.com/christianhelle/refitter/pull/169)
- Allow for custom relative output path in .refitter by [@Noblix](https://togithub.com/Noblix) in [https://github.com/christianhelle/refitter/pull/172](https://togithub.com/christianhelle/refitter/pull/172)
- Add support for generating IServiceCollection extension methods for registering Refit clients by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/174](https://togithub.com/christianhelle/refitter/pull/174)
- Allow method name customization when generating multiple interfaces by endpoint by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/181](https://togithub.com/christianhelle/refitter/pull/181)
- Use Internal types to improve docfx documentation generation by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/183](https://togithub.com/christianhelle/refitter/pull/183)
- Add support for customizable type and contract generator settings by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/188](https://togithub.com/christianhelle/refitter/pull/188)
- Remove `namespace` settings from `codeGeneratorSettings` by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/197](https://togithub.com/christianhelle/refitter/pull/197)
- Output filename customization by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/200](https://togithub.com/christianhelle/refitter/pull/200)
- Fix extra close parenthesis in IServiceCollectionExtensions by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/207](https://togithub.com/christianhelle/refitter/pull/207)
- Remove unreferenced schema, add `--trim-unused-schema` & `--keep-schema` by [@kirides](https://togithub.com/kirides) in [https://github.com/christianhelle/refitter/pull/199](https://togithub.com/christianhelle/refitter/pull/199)
- Update docs on trimming unused schemas by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/213](https://togithub.com/christianhelle/refitter/pull/213)
- Add `Action?` parameter in `ConfigureRefitClients()` by [@Noblix](https://togithub.com/Noblix) in [https://github.com/christianhelle/refitter/pull/215](https://togithub.com/christianhelle/refitter/pull/215)
- Added InterfaceName to avoid counting in operation names by [@edimarquez](https://togithub.com/edimarquez) in [https://github.com/christianhelle/refitter/pull/223](https://togithub.com/christianhelle/refitter/pull/223)
- Handle paths that contain colons by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/227](https://togithub.com/christianhelle/refitter/pull/227)
- Ensure `Task` is Returned for Void Methods in Generator by [@mortenlaursen](https://togithub.com/mortenlaursen) in [https://github.com/christianhelle/refitter/pull/238](https://togithub.com/christianhelle/refitter/pull/238)
- Fix source generator error - System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/247](https://togithub.com/christianhelle/refitter/pull/247)
- Upgrade to .NET 8.0 by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/250](https://togithub.com/christianhelle/refitter/pull/250)
- Add donation banner for Github Sponsors and buymeacoffee.com by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/252](https://togithub.com/christianhelle/refitter/pull/252)
- Show error reporting suggestion banner upon error by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/254](https://togithub.com/christianhelle/refitter/pull/254)
- Add support for OAS files with external references by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/260](https://togithub.com/christianhelle/refitter/pull/260)
- Fix issue where codeGeneratorSettings arrayType setting is not respected in Refit interface by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/257](https://togithub.com/christianhelle/refitter/pull/257)
- Use OasReader library for loading OAS documents with external references by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/267](https://togithub.com/christianhelle/refitter/pull/267)
- Implement CustomCSharpPropertyNameGenerator by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/271](https://togithub.com/christianhelle/refitter/pull/271)
- Configurable IOperationNameGenerator implementations by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/272](https://togithub.com/christianhelle/refitter/pull/272)
- Update --operation-name-generator options documentation by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/273](https://togithub.com/christianhelle/refitter/pull/273)
- Add new options to .refitter file format docs by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/274](https://togithub.com/christianhelle/refitter/pull/274)
- Serialize OperationNameGenerator enum as string by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/278](https://togithub.com/christianhelle/refitter/pull/278)
- Fix type accessibility deserialization. by [@DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/279](https://togithub.com/christianhelle/refitter/pull/279)
- Provide more extensive method documentation. by [@DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/281](https://togithub.com/christianhelle/refitter/pull/281)
- Fixed operation name generation names when it has illegal symbols by [@yadanilov19](https://togithub.com/yadanilov19) in [https://github.com/christianhelle/refitter/pull/283](https://togithub.com/christianhelle/refitter/pull/283)
- Add return type override setting. by [@DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/286](https://togithub.com/christianhelle/refitter/pull/286)
- Align file format and output examples in docs by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/285](https://togithub.com/christianhelle/refitter/pull/285)
- Add support for multiple target frameworks by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/292](https://togithub.com/christianhelle/refitter/pull/292)
- fix: AliasAs attribute generation for StreamPart type by [@direncancatalkaya](https://togithub.com/direncancatalkaya) in [https://github.com/christianhelle/refitter/pull/295](https://togithub.com/christianhelle/refitter/pull/295)
- Added Optional Setting to name the IServiceCollection Extension Method by [@robpalm](https://togithub.com/robpalm) in [https://github.com/christianhelle/refitter/pull/298](https://togithub.com/christianhelle/refitter/pull/298)
- Fix response type always nullable under `generateNullableReferenceTypes` by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/304](https://togithub.com/christianhelle/refitter/pull/304)
- JSON schema by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/314](https://togithub.com/christianhelle/refitter/pull/314)
- Generating IObservable type response by [@janfolbrecht](https://togithub.com/janfolbrecht) in [https://github.com/christianhelle/refitter/pull/322](https://togithub.com/christianhelle/refitter/pull/322)
- IObservable improvements by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/326](https://togithub.com/christianhelle/refitter/pull/326)
- Change license to MIT by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/327](https://togithub.com/christianhelle/refitter/pull/327)
- Suggest using --skip-validation CLI tool argument validation error by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/329](https://togithub.com/christianhelle/refitter/pull/329)
- Tweak xml docs by [@osc-nseguin](https://togithub.com/osc-nseguin) in [https://github.com/christianhelle/refitter/pull/332](https://togithub.com/christianhelle/refitter/pull/332)
- Fix code generator settings that are not of type string/bool by [@david-brink-talogy](https://togithub.com/david-brink-talogy) in [https://github.com/christianhelle/refitter/pull/335](https://togithub.com/christianhelle/refitter/pull/335)
- Fix Collection-Type item schema was not kept by [@kirides](https://togithub.com/kirides) in [https://github.com/christianhelle/refitter/pull/353](https://togithub.com/christianhelle/refitter/pull/353)
- Add facility to exclude namespaces from generated output file(s) by [@dammitjanet](https://togithub.com/dammitjanet) in [https://github.com/christianhelle/refitter/pull/365](https://togithub.com/christianhelle/refitter/pull/365)
- Fix missing OpenAPI validation result output by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/374](https://togithub.com/christianhelle/refitter/pull/374)
- Update Serializer to write indented JSON by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/384](https://togithub.com/christianhelle/refitter/pull/384)
- Remove SonarAnalyzer.CSharp dependency by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/394](https://togithub.com/christianhelle/refitter/pull/394)
- Resolved issues reported by [@Ekkeir](https://togithub.com/Ekkeir) , [@waylonmtz](https://togithub.com/waylonmtz) , [@vinaymadupathi](https://togithub.com/vinaymadupathi), [@EEParker](https://togithub.com/EEParker), [@bielik01](https://togithub.com/bielik01), [@safakkesikci](https://togithub.com/safakkesikci) , [@folbrecht](https://togithub.com/folbrecht), [@manuel-fernandez-rodriguez](https://togithub.com/manuel-fernandez-rodriguez), [@kami-poi](https://togithub.com/kami-poi), [@Xeevis](https://togithub.com/Xeevis), [@jods4](https://togithub.com/jods4), [@Jappinen](https://togithub.com/Jappinen)
#### New Contributors
- [@DJ4ddi](https://togithub.com/DJ4ddi) made their first contribution in [https://github.com/christianhelle/refitter/pull/279](https://togithub.com/christianhelle/refitter/pull/279)
- [@yadanilov19](https://togithub.com/yadanilov19) made their first contribution in [https://github.com/christianhelle/refitter/pull/283](https://togithub.com/christianhelle/refitter/pull/283)
- [@direncancatalkaya](https://togithub.com/direncancatalkaya) made their first contribution in [https://github.com/christianhelle/refitter/pull/295](https://togithub.com/christianhelle/refitter/pull/295)
- [@robpalm](https://togithub.com/robpalm) made their first contribution in [https://github.com/christianhelle/refitter/pull/298](https://togithub.com/christianhelle/refitter/pull/298)
- [@TimothyMakkison](https://togithub.com/TimothyMakkison) made their first contribution in [https://github.com/christianhelle/refitter/pull/306](https://togithub.com/christianhelle/refitter/pull/306)
- [@janfolbrecht](https://togithub.com/janfolbrecht) made their first contribution in [https://github.com/christianhelle/refitter/pull/322](https://togithub.com/christianhelle/refitter/pull/322)
- [@osc-nseguin](https://togithub.com/osc-nseguin) made their first contribution in [https://github.com/christianhelle/refitter/pull/332](https://togithub.com/christianhelle/refitter/pull/332)
- [@david-brink-talogy](https://togithub.com/david-brink-talogy) made their first contribution in [https://github.com/christianhelle/refitter/pull/335](https://togithub.com/christianhelle/refitter/pull/335)
- [@dammitjanet](https://togithub.com/dammitjanet) made their first contribution in [https://github.com/christianhelle/refitter/pull/365](https://togithub.com/christianhelle/refitter/pull/365)
**Full Changelog**: https://github.com/christianhelle/refitter/compare/0.8.7...1.0.1
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.0.0
->1.0.1
Release Notes
christianhelle/refitter (Refitter.Core)
### [`v1.0.1`](https://togithub.com/christianhelle/refitter/releases/tag/1.0.1) [Compare Source](https://togithub.com/christianhelle/refitter/compare/1.0.0...1.0.1) #### What's New - Update Serializer to write indented JSON by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/384](https://togithub.com/christianhelle/refitter/pull/384) - Remove SonarAnalyzer.CSharp dependency by [@christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/394](https://togithub.com/christianhelle/refitter/pull/394) #### Installation This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this: ```bash dotnet tool install --global Refitter --version 1.0.1 ``` #### Features - Generate single file containing [Refit ](https://togithub.com/reactiveui/refit) interface and contract types from an OpenAPI spec file - Supports OpenAPI **v2** and **v3** - Supports OpenAPI specifications in **JSON** and **YAML** formats - Supports OpenAPI specification validation and error/warning/stats reporting - Supports generating route, query, header, and body request parameters - Generate code at build time using rosyln C# source generator [Refitter.SourceGenerator](https://www.nuget.org/packages/Refitter.SourceGenerator/0.7.3) - `--no-auto-generated-header` CLI tool argument to skip prefixing output file withConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.