Skip to content

Bump NSwag.MSBuild from 14.6.3 to 14.7.1#186

Open
dependabot[bot] wants to merge 1 commit intodevfrom
dependabot/nuget/src/Trakx.Circle.ApiClient/NSwag.MSBuild-14.7.1
Open

Bump NSwag.MSBuild from 14.6.3 to 14.7.1#186
dependabot[bot] wants to merge 1 commit intodevfrom
dependabot/nuget/src/Trakx.Circle.ApiClient/NSwag.MSBuild-14.7.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 22, 2026

Updated NSwag.MSBuild from 14.6.3 to 14.7.1.

Release notes

Sourced from NSwag.MSBuild's releases.

14.7.1

[!IMPORTANT]
Upgrade directly from v14.6.3 to v14.7.1 — skip v14.7.0.

v14.7.0 bundled NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. The resulting OpenAPI/JSON schema marked those properties as non-nullable, so generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359).

Corrections to v14.7.0

v14.7.1 updates to NJsonSchema v11.6.1, which corrects the handling of the C# required keyword and [JsonRequired]:

  • These are now treated as presence markers (the property must be present in the JSON) rather than value constraints.
  • Nullability from the declared type (string?, T?) is preserved.
  • No spurious MinLength=1 on non-nullable strings.
  • DataAnnotations [Required] semantics remain unchanged (still suppresses nullability and adds MinLength=1 to strings by default, matching its runtime behavior).

Observable client changes vs v14.7.0

For public required string[]? OptionList { get; init; } (#​5359):

TypeScript client C# client
v14.7.0 (broken) optionList: string[] public string[] OptionList
v14.7.1 optionList: string[] | null public string[]? OptionList

For full details and truth tables across all required / [Required] / [JsonRequired] / [JsonProperty(Required=*)] combinations, see the NJsonSchema v11.6.1 release notes and NJsonSchema #​1919.

What's Changed

Full Changelog: RicoSuter/NSwag@v14.7.0...v14.7.1

14.7.0

[!CAUTION]
Do not use this release — upgrade to v14.7.1 or later.

v14.7.0 bundles NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. Generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359). Fixed in v14.7.1.


What's Changed

NJsonSchema v11.6.0 (potentially breaking changes)

This release updates to NJsonSchema v11.6.0 and Namotion.Reflection v3.5.0, which include the following changes that may affect generated code:

  • C# 11 required keyword now correctly recognized: Properties using the C# 11 required keyword (via RequiredMemberAttribute / JsonRequiredAttribute) are now properly treated as required in the schema and generated code. Previously these were incorrectly treated as optional.
  • Removed extra blank line before class declarations in generated C# controller code (cosmetic).
  • New WriteAccessor setting to control property setter syntax (set vs init).
  • New JsonLibraryVersion setting for controlling enum attribute generation with System.Text.Json.
  • Fixed MinLength validation no longer incorrectly applied to DateTime properties.
  • Fixed nullable enum array detection for string enum converters.
  • Support for public fields with System.Text.Json when IncludeFields is enabled.

For the full list of changes, see the NJsonSchema v11.6.0 release notes.

New Contributors

Full Changelog: RicoSuter/NSwag@v14.6.3...v14.7.0

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: NSwag.MSBuild
  dependency-version: 14.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Apr 22, 2026
@github-actions github-actions Bot enabled auto-merge (squash) April 22, 2026 02:15
@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes. Give us feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nullable required fields are marked as not null in typescript & C#

0 participants