Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Existing output file should be deleted/overwritten #2886

Merged
merged 3 commits into from
May 15, 2024

Conversation

patrikwlund
Copy link
Contributor

The CLI currently uses File.OpenWrite(path) (added in #2677) to create an output stream for the resulting swagger document. This does not delete the existing contents, but instead starts writing from position 0, causing issues if the output is smaller than the previous file content.

I changed it to File.Create(path) to make sure any previous content is discarded.

The CLI currently uses `File.OpenWrite(path)` (added in domaindrivendev#2677) to create an output stream for the resulting swagger document. This does not delete the existing contents, but instead starts writing from position 0, causing issues if the output is smaller than the previous file content.

I changed it to `File.Create(path)` to make sure any previous content is discarded.
@martincostello martincostello added this to the v6.6.2 milestone May 15, 2024
@codecov-commenter
Copy link

codecov-commenter commented May 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.87%. Comparing base (f16fa78) to head (fa12574).
Report is 4 commits behind head on master.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2886      +/-   ##
==========================================
- Coverage   90.30%   89.87%   -0.44%     
==========================================
  Files          75       72       -3     
  Lines        2857     2706     -151     
  Branches      457      428      -29     
==========================================
- Hits         2580     2432     -148     
+ Misses        277      274       -3     
Flag Coverage Δ
Linux 89.87% <ø> (+2.66%) ⬆️
Windows ?
macOS ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@martincostello
Copy link
Collaborator

Thanks for the fix - it looks like this is creating some sort of race condition though.

@patrikwlund
Copy link
Contributor Author

Thanks for the fix - it looks like this is creating some sort of race condition though.

After investigating, I don't think that is related to this PR, as I can reproduce that on the master branch as well. Rebuilding the test/WebSites/CliExample project often (but not always) causes the "being used by another process" exception.

It may be because it's building net6, net7, and net8 concurrently, and all of them try to output to the same test/WebSites/CliExample/wwwroot/swagger/v1/swagger.json file in that project. It happens regardless of File.OpenWrite() or File.Create().

@martincostello
Copy link
Collaborator

I've re-run the CI for a third time now, but if it keeps failing it will need fixing in order to be merged.

@martincostello
Copy link
Collaborator

It's possible/probable that while it's an existing issue, the presence of the additional test is crossing a threshold that makes it more likely to happen.

If you can't easily fix it, we could temporarily skip the new test (I'm happy conceptually it's covering the issue and the bug is fixed) for now, and re-enable it later.

@patrikwlund
Copy link
Contributor Author

I'll try removing the new test and at least see if it makes a difference in CI.

@martincostello
Copy link
Collaborator

I'll try removing the new test and at least see if it makes a difference in CI.

I suspect it will because dependabot just ran and there were no failures.

@martincostello
Copy link
Collaborator

If it does "fix" it, can you put it back but just mark it as skipped please?

@martincostello
Copy link
Collaborator

martincostello commented May 15, 2024

Fixes #2887.

@martincostello martincostello linked an issue May 15, 2024 that may be closed by this pull request
@martincostello
Copy link
Collaborator

And green - just needs the skipped test and then I'll merge 👍

@martincostello
Copy link
Collaborator

Thanks - I've created #2893 to track the underlying flakiness and we can un-skip the test when we resolve that issue.

@martincostello martincostello enabled auto-merge (squash) May 15, 2024 10:15
@martincostello martincostello merged commit d793865 into domaindrivendev:master May 15, 2024
9 checks passed
@patrikwlund patrikwlund deleted the overwrite-file branch May 15, 2024 10:22
patrikwlund added a commit to patrikwlund/Swashbuckle.AspNetCore that referenced this pull request May 16, 2024
The previous implementation caused the concurrent builds for various frameworks to compete in writing to the output `swagger.json` file, causing exceptions during builds (since it happened in csproj).

In my local development I often failed to rebuild the full solution because some projects failed to build for this reason. It has also happened in CI (domaindrivendev#2886).

Note that the NSwag source code generator in `NswagClientExample` still outputs everything in one spot for all frameworks, but I haven't noticed failures from that. Maybe it's just less likely to write concurrently. I left it as is.
patrikwlund added a commit to patrikwlund/Swashbuckle.AspNetCore that referenced this pull request May 16, 2024
The previous implementation caused the concurrent builds for various frameworks to compete in writing to the output `swagger.json` file, causing exceptions during builds (since it happened in csproj).

In my local development I often failed to rebuild the full solution because some projects failed to build for this reason. It has also happened in CI (domaindrivendev#2886).

Note that the NSwag source code generator in `NswagClientExample` still outputs everything in one spot for all frameworks, but I haven't noticed failures from that. Maybe it's just less likely to write concurrently. I left it as is.
patrikwlund added a commit to patrikwlund/Swashbuckle.AspNetCore that referenced this pull request May 16, 2024
The previous implementation caused the concurrent builds for various frameworks to compete in writing to the output `swagger.json` file, causing exceptions during builds (since it happened in csproj).

In my local development I often failed to rebuild the full solution because some projects failed to build for this reason. It has also happened in CI (domaindrivendev#2886).

Note that the NSwag source code generator in `NswagClientExample` still outputs everything in one spot for all frameworks, but I haven't noticed failures from that. Maybe it's just less likely to write concurrently. I left it as is.
martincostello pushed a commit that referenced this pull request May 16, 2024
The previous implementation caused the concurrent builds for various frameworks to compete in writing to the output `swagger.json` file, causing exceptions during builds (since it happened in csproj).

In my local development I often failed to rebuild the full solution because some projects failed to build for this reason. It has also happened in CI (#2886).

Note that the NSwag source code generator in `NswagClientExample` still outputs everything in one spot for all frameworks, but I haven't noticed failures from that. Maybe it's just less likely to write concurrently. I left it as is.

Un-skip the `Overwrites_Existing_File` test.
renovate bot referenced this pull request in orso-co/Orso.Arpa.Api May 24, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[Swashbuckle.AspNetCore](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore)
| `6.6.1` -> `6.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore/6.6.1/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore/6.6.1/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>domaindrivendev/Swashbuckle.AspNetCore
(Swashbuckle.AspNetCore)</summary>

###
[`v6.6.2`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.6.2)

#### What's Changed

- Fix to make required and nullable properties nullable in schema by
[@&#8203;keahpeters](https://togithub.com/keahpeters) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2879](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2879)
- Update Swagger UI section in README by
[@&#8203;cremor](https://togithub.com/cremor) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2883](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2883)
- Add support for the `[Length]`attribute. by
[@&#8203;satma0745](https://togithub.com/satma0745) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882)
- Existing output file should be deleted/overwritten by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886)
- Fix libraries being handled as test projects by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2898](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2898)
- Avoid competing swagger generation during test build by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2897](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2897)
- Replace `<br />`, `<br/>`, and `<br>` in XML comments with
`Environment.Newline` by
[@&#8203;mburumaxwell](https://togithub.com/mburumaxwell) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2899](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2899)
- Fix schema generation for
[c#9](https://togithub.com/c/Swashbuckle.AspNetCore/issues/9) positional
record with param tag without example property creating unexpected empty
example by [@&#8203;stb-co](https://togithub.com/stb-co) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901)
- Fix serialization of `AdditionalItems` by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2890](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2890)
- Disable parallel build by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2894](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2894)
- Do not run `IHostedService` implementations by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2880](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2880)
- Fix interceptor JSON casing by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2907](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2907)
- Fix generation when `[DefaultValue]`'s type differs by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2895](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2895)

#### New Contributors

- [@&#8203;satma0745](https://togithub.com/satma0745) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882)
- [@&#8203;patrikwlund](https://togithub.com/patrikwlund) made their
first contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886)
- [@&#8203;stb-co](https://togithub.com/stb-co) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901)

**Full Changelog**:
domaindrivendev/Swashbuckle.AspNetCore@v6.6.1...v6.6.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" in timezone Europe/Berlin, Automerge -
At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/orso-co/Orso.Arpa.Api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in smartive/cas-fee-adv-mumble-api May 25, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[Swashbuckle.AspNetCore](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore)
| `6.5.0` -> `6.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore/6.5.0/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore/6.5.0/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[Swashbuckle.AspNetCore.Annotations](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore)
| `6.5.0` -> `6.6.2` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore.Annotations/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore.Annotations/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore.Annotations/6.5.0/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore.Annotations/6.5.0/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>domaindrivendev/Swashbuckle.AspNetCore
(Swashbuckle.AspNetCore)</summary>

###
[`v6.6.2`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.6.2)

#### What's Changed

- Fix to make required and nullable properties nullable in schema by
[@&#8203;keahpeters](https://togithub.com/keahpeters) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2879](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2879)
- Update Swagger UI section in README by
[@&#8203;cremor](https://togithub.com/cremor) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2883](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2883)
- Add support for the `[Length]`attribute. by
[@&#8203;satma0745](https://togithub.com/satma0745) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882)
- Existing output file should be deleted/overwritten by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886)
- Fix libraries being handled as test projects by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2898](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2898)
- Avoid competing swagger generation during test build by
[@&#8203;patrikwlund](https://togithub.com/patrikwlund) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2897](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2897)
- Replace `<br />`, `<br/>`, and `<br>` in XML comments with
`Environment.Newline` by
[@&#8203;mburumaxwell](https://togithub.com/mburumaxwell) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2899](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2899)
- Fix schema generation for
[c#9](https://togithub.com/c/Swashbuckle.AspNetCore/issues/9) positional
record with param tag without example property creating unexpected empty
example by [@&#8203;stb-co](https://togithub.com/stb-co) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901)
- Fix serialization of `AdditionalItems` by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2890](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2890)
- Disable parallel build by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2894](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2894)
- Do not run `IHostedService` implementations by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2880](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2880)
- Fix interceptor JSON casing by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2907](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2907)
- Fix generation when `[DefaultValue]`'s type differs by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2895](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2895)

#### New Contributors

- [@&#8203;satma0745](https://togithub.com/satma0745) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2882)
- [@&#8203;patrikwlund](https://togithub.com/patrikwlund) made their
first contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2886)
- [@&#8203;stb-co](https://togithub.com/stb-co) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2901)

**Full Changelog**:
domaindrivendev/Swashbuckle.AspNetCore@v6.6.1...v6.6.2

###
[`v6.6.1`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.6.1)

#### What's Changed

- Modernise build and migrate to GitHub Actions for CI by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2775](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2775)
- Update Redoc spelling in docs by
[@&#8203;Quppa](https://togithub.com/Quppa) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2568](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2568)
- C# 9 Record - Read example/summary from positional record by
[@&#8203;pixellos](https://togithub.com/pixellos) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2546](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2546)
- Grammatical correction of some comments by
[@&#8203;mokarchi](https://togithub.com/mokarchi) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2768](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2768)
- Update README.md for nested types custom schemaId support by
[@&#8203;antmeehan](https://togithub.com/antmeehan) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2746](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2746)
- Add support for `WithSummary` and `WithDescription` metadata by
[@&#8203;hwoodiwiss](https://togithub.com/hwoodiwiss) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2414](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2414)
- Update README.md - Fix `Add Security Definitions and Requirements for
Bearer auth` URL by [@&#8203;Saibamen](https://togithub.com/Saibamen) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2705](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2705)
- Replace <see href="link">text</see> with Markdown link format by
[@&#8203;mburumaxwell](https://togithub.com/mburumaxwell) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2392](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2392)
- Add support for required keyword by
[@&#8203;keahpeters](https://togithub.com/keahpeters) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2810](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2810)
- Resolves
[#&#8203;2717](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2717)
by [@&#8203;MerickOWA](https://togithub.com/MerickOWA) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2718](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2718)
- Observe the route template constraints in the Swagger middleware by
[@&#8203;0xced](https://togithub.com/0xced) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2418](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2418)
- Added Swashbuckle.AspNetCore.Annotations.SwaggerIgnoreAttribute by
[@&#8203;jcracknell](https://togithub.com/jcracknell) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2610](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2610)
- Fix schema generation with allOf inheritance by
[@&#8203;bkoelman](https://togithub.com/bkoelman) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2815](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2815)
- avoid triple enumeration of formParameters by
[@&#8203;SimonCropp](https://togithub.com/SimonCropp) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2823](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2823)
- reduce some linq allocation by
[@&#8203;SimonCropp](https://togithub.com/SimonCropp) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2819](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2819)
- remove some duplicate dictionary lookups by
[@&#8203;SimonCropp](https://togithub.com/SimonCropp) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2822](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2822)
- remove redundant any check in InferRequestContentTypes by
[@&#8203;SimonCropp](https://togithub.com/SimonCropp) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2824](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2824)
- Correctly respect interfaces in `GetInheritanceChain` by
[@&#8203;angelaki](https://togithub.com/angelaki) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2826](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2826)
- Generate Enum-Dictionary-Keys (analogous to Newtonsoft) by
[@&#8203;angelaki](https://togithub.com/angelaki) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2825](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2825)
- Fix build badge by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2782](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2782)
- Fix preview package versions by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2783](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2783)
- Handle Stream and PipeReader content types correctly by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2784](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2784)
- Add NuGet package READMEs by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2808](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2808)
- Bump redoc to 2.1.3 by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2807](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2807)
- Sort system usings first by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2790](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2790)
- Throw if unsupported HTTP method used by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2797](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2797)
- Fix configuration properties not being copied by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2796](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2796)
- Add security policy by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2785](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2785)
- Bump Microsoft.OpenApi by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2795](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2795)
- Update to Swagger UI v5 by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2806](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2806)
- Add customized document serialization support by
[@&#8203;remcolam](https://togithub.com/remcolam) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2677](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2677)
- Added documentation for ISwaggerDocumentSerializer by
[@&#8203;remcolam](https://togithub.com/remcolam) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2837](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2837)
- Fix flaky tests by locking on the statup type by
[@&#8203;remcolam](https://togithub.com/remcolam) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2838](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2838)
-
[#&#8203;2765](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2765)
Allow Filter instance reuse by
[@&#8203;remcolam](https://togithub.com/remcolam) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2839](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2839)
- Throw an error when a user uses FromForm attribute with IFormFile in …
by [@&#8203;nikunjbhargava](https://togithub.com/nikunjbhargava) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2840](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2840)
- Filter illegal header fields by
[@&#8203;keahpeters](https://togithub.com/keahpeters) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2842](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2842)
- Fix handling of FileResult's with content types by
[@&#8203;IGx89](https://togithub.com/IGx89) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2841](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2841)
- Adding additional responses when 5XX errors are thrown. by
[@&#8203;say25](https://togithub.com/say25) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2852](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2852)
- Fix that XML comment examples do not show up if the type is string and
the example contains quotation marks by
[@&#8203;dldl-cmd](https://togithub.com/dldl-cmd) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2727](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2727)
- Exclude unused Swagger-UI files by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2851](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2851)
- Fix RequestBodyFilters not being deep copied by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2850](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2850)
- Avoid GitHub step summary file write conflicts by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2848](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2848)
- Extend built-in supported types by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2804](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2804)
- Update compatibility table by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2856](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2856)
- Add GitHub issue and PR templates by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2788](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2788)
- Fix stale permissions by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2855](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2855)
- Add .NET 8 support by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2799](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2799)
- Release automation workflows by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2809](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2809)
- Support native AoT with SwaggerUI by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2800](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2800)
- Bump some NuGet packages by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2868](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2868)
- Fix stale permissions by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2863](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2863)
- Attestation by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2869](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2869)
- Add descriptions for more HTTP status codes by
[@&#8203;cremor](https://togithub.com/cremor) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2872](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2872)
- Only attest packages by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2870](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2870)
- Fix tag version by
[@&#8203;martincostello](https://togithub.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2875](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2875)

#### New Contributors

- [@&#8203;mokarchi](https://togithub.com/mokarchi) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2768](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2768)
- [@&#8203;hwoodiwiss](https://togithub.com/hwoodiwiss) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2414](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2414)
- [@&#8203;Saibamen](https://togithub.com/Saibamen) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2705](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2705)
- [@&#8203;keahpeters](https://togithub.com/keahpeters) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2810](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2810)
- [@&#8203;MerickOWA](https://togithub.com/MerickOWA) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2718](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2718)
- [@&#8203;0xced](https://togithub.com/0xced) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2418](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2418)
- [@&#8203;jcracknell](https://togithub.com/jcracknell) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2610](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2610)
- [@&#8203;bkoelman](https://togithub.com/bkoelman) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2815](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2815)
- [@&#8203;angelaki](https://togithub.com/angelaki) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2826](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2826)
- [@&#8203;remcolam](https://togithub.com/remcolam) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2677](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2677)
- [@&#8203;nikunjbhargava](https://togithub.com/nikunjbhargava) made
their first contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2840](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2840)
- [@&#8203;IGx89](https://togithub.com/IGx89) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2841](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2841)
- [@&#8203;dldl-cmd](https://togithub.com/dldl-cmd) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2727](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2727)
- [@&#8203;cremor](https://togithub.com/cremor) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2872](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2872)

**Full Changelog**:
domaindrivendev/Swashbuckle.AspNetCore@v6.5.0...v6.6.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/smartive/cas-fee-adv-mumble-api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM2OC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kellystar999 added a commit to kellystar999/Swashbuckle that referenced this pull request Aug 17, 2024
The previous implementation caused the concurrent builds for various frameworks to compete in writing to the output `swagger.json` file, causing exceptions during builds (since it happened in csproj).

In my local development I often failed to rebuild the full solution because some projects failed to build for this reason. It has also happened in CI (domaindrivendev/Swashbuckle.AspNetCore#2886).

Note that the NSwag source code generator in `NswagClientExample` still outputs everything in one spot for all frameworks, but I haven't noticed failures from that. Maybe it's just less likely to write concurrently. I left it as is.

Un-skip the `Overwrites_Existing_File` test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: openapi.yml file being generated with corrupted values
3 participants