Skip to content

Bump NSwag.MSBuild from 14.6.3 to 14.7.1#337

Merged
alexinslc merged 1 commit into
mainfrom
dependabot/nuget/apps/api/NSwag.MSBuild-14.7.1
May 15, 2026
Merged

Bump NSwag.MSBuild from 14.6.3 to 14.7.1#337
alexinslc merged 1 commit into
mainfrom
dependabot/nuget/apps/api/NSwag.MSBuild-14.7.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 11, 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 @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 11, 2026

Labels

The following labels could not be found: nuget. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label May 11, 2026
@alexinslc
Copy link
Copy Markdown
Owner

@dependabot recreate

---
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 force-pushed the dependabot/nuget/apps/api/NSwag.MSBuild-14.7.1 branch from e899337 to 4548f06 Compare May 15, 2026 14:07
@alexinslc alexinslc merged commit 931f3b9 into main May 15, 2026
14 of 15 checks passed
@alexinslc alexinslc deleted the dependabot/nuget/apps/api/NSwag.MSBuild-14.7.1 branch May 15, 2026 14:14
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant