Skip to content

Bump Namotion.Reflection and 4 others#1785

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/multi-6d7f6fa173
Closed

Bump Namotion.Reflection and 4 others#1785
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/multi-6d7f6fa173

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 2, 2026

Copy link
Copy Markdown
Contributor

Updated Namotion.Reflection from 3.4.2 to 3.5.0.

Release notes

Sourced from Namotion.Reflection's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated NJsonSchema from 11.4.0 to 11.6.1.

Release notes

Sourced from NJsonSchema's releases.

11.6.1

[!IMPORTANT]
v11.6.0 should not be used — it introduced a regression that caused required T? / [JsonRequired] T? properties to incorrectly lose their nullability and gain a spurious MinLength=1 on strings. Please upgrade directly from v11.5.x to v11.6.1.

Corrections to v11.6.0

v11.6.0 added support for the C# 11 required keyword and [JsonRequired] in schema generation (#​1908), but folded them into the same bucket as DataAnnotations [Required] — which conflated three distinct concepts:

  • Presence (belongs in schema's required array): required keyword, [JsonRequired], [Required], [DataMember(IsRequired=true)], Newtonsoft Required.Always/AllowNull
  • Non-null value (suppresses nullable): [Required] only (plus Newtonsoft Required.Always/DisallowNull for runtime correctness)
  • Non-empty string (MinLength=1 on strings): [Required] only (unless AllowEmptyStrings=true)

v11.6.1 (#​1919) restores the correct separation. The required keyword and [JsonRequired] are now presence-only markers — they add the property to the schema's required array without suppressing nullability or adding MinLength=1.

Behavioral deltas vs v11.6.0 (all restoring correctness)

C# declaration v11.6.0 (broken) v11.6.1
required string? nullable: false, MinLength: 1 nullable: true, no MinLength
required string MinLength: 1 no MinLength
[JsonRequired] string? nullable: false, MinLength: 1 nullable: true, no MinLength
[JsonRequired] string MinLength: 1 no MinLength

[Required], [JsonProperty(Required=*)], and [DataMember(IsRequired=true)] semantics are unchanged across v11.5.x / v11.6.0 / v11.6.1.

Downstream impact

The v11.6.0 regression surfaced in NSwag as NSwag#​5359: TypeScript clients generated from required T? DTO properties silently lost their | null, removing null-safety for fields the server can legitimately return as null. v11.6.1 fixes this. A matching NSwag release is required to pick up the fix.

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.6.0...v11.6.1

11.6.0

[!CAUTION]
Do not use this release — upgrade to v11.6.1 or later.

v11.6.0 introduced a regression in the handling of the C# required keyword and [JsonRequired]: required T? / [JsonRequired] T? properties incorrectly lost their nullability and gained a spurious MinLength=1 on strings. This broke downstream client generation — see NSwag#​5359. Fixed in v11.6.1 (#​1919).


Potentially breaking changes

  • C# 11 required keyword now recognized as required: Properties using the C# 11 required keyword (RequiredMemberAttribute / JsonRequiredAttribute) are now correctly treated as required in schema generation and code output. Previously these were incorrectly treated as optional (Required.Default). This changes generated code: such properties now get Required.Always, [Required] attribute, and the required modifier when UseRequiredKeyword is enabled. (#​1908)
  • Both JsonStringEnumMemberName and EnumMember attributes are now emitted for enum members when using System.Text.Json, for compatibility with NSwag's reflection-based URL parameter serialization. (#​1905)
  • $schema version preserved in ToJson() instead of forcing draft-04. If you relied on the output always being draft-04, this may affect you. (#​1881)
  • patternProperties validation now correctly applies to all matching properties, not just the first. (#​1898)
  • MinLength no longer incorrectly applied to DateTime, DateTimeOffset, DateOnly, TimeOnly properties. (#​1900)

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.2...v11.6.0

11.5.2

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.1...v11.5.2

11.5.1

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.0...v11.5.1

11.5.0

What's Changed

Breaking changes:

Others:

Full Changelog: RicoSuter/NJsonSchema@v11.4.0...v11.5.0

Commits viewable in compare view.

Updated NJsonSchema.Annotations from 11.4.0 to 11.6.1.

Release notes

Sourced from NJsonSchema.Annotations's releases.

11.6.1

[!IMPORTANT]
v11.6.0 should not be used — it introduced a regression that caused required T? / [JsonRequired] T? properties to incorrectly lose their nullability and gain a spurious MinLength=1 on strings. Please upgrade directly from v11.5.x to v11.6.1.

Corrections to v11.6.0

v11.6.0 added support for the C# 11 required keyword and [JsonRequired] in schema generation (#​1908), but folded them into the same bucket as DataAnnotations [Required] — which conflated three distinct concepts:

  • Presence (belongs in schema's required array): required keyword, [JsonRequired], [Required], [DataMember(IsRequired=true)], Newtonsoft Required.Always/AllowNull
  • Non-null value (suppresses nullable): [Required] only (plus Newtonsoft Required.Always/DisallowNull for runtime correctness)
  • Non-empty string (MinLength=1 on strings): [Required] only (unless AllowEmptyStrings=true)

v11.6.1 (#​1919) restores the correct separation. The required keyword and [JsonRequired] are now presence-only markers — they add the property to the schema's required array without suppressing nullability or adding MinLength=1.

Behavioral deltas vs v11.6.0 (all restoring correctness)

C# declaration v11.6.0 (broken) v11.6.1
required string? nullable: false, MinLength: 1 nullable: true, no MinLength
required string MinLength: 1 no MinLength
[JsonRequired] string? nullable: false, MinLength: 1 nullable: true, no MinLength
[JsonRequired] string MinLength: 1 no MinLength

[Required], [JsonProperty(Required=*)], and [DataMember(IsRequired=true)] semantics are unchanged across v11.5.x / v11.6.0 / v11.6.1.

Downstream impact

The v11.6.0 regression surfaced in NSwag as NSwag#​5359: TypeScript clients generated from required T? DTO properties silently lost their | null, removing null-safety for fields the server can legitimately return as null. v11.6.1 fixes this. A matching NSwag release is required to pick up the fix.

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.6.0...v11.6.1

11.6.0

[!CAUTION]
Do not use this release — upgrade to v11.6.1 or later.

v11.6.0 introduced a regression in the handling of the C# required keyword and [JsonRequired]: required T? / [JsonRequired] T? properties incorrectly lost their nullability and gained a spurious MinLength=1 on strings. This broke downstream client generation — see NSwag#​5359. Fixed in v11.6.1 (#​1919).


Potentially breaking changes

  • C# 11 required keyword now recognized as required: Properties using the C# 11 required keyword (RequiredMemberAttribute / JsonRequiredAttribute) are now correctly treated as required in schema generation and code output. Previously these were incorrectly treated as optional (Required.Default). This changes generated code: such properties now get Required.Always, [Required] attribute, and the required modifier when UseRequiredKeyword is enabled. (#​1908)
  • Both JsonStringEnumMemberName and EnumMember attributes are now emitted for enum members when using System.Text.Json, for compatibility with NSwag's reflection-based URL parameter serialization. (#​1905)
  • $schema version preserved in ToJson() instead of forcing draft-04. If you relied on the output always being draft-04, this may affect you. (#​1881)
  • patternProperties validation now correctly applies to all matching properties, not just the first. (#​1898)
  • MinLength no longer incorrectly applied to DateTime, DateTimeOffset, DateOnly, TimeOnly properties. (#​1900)

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.2...v11.6.0

11.5.2

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.1...v11.5.2

11.5.1

What's Changed

New Contributors

Full Changelog: RicoSuter/NJsonSchema@v11.5.0...v11.5.1

11.5.0

What's Changed

Breaking changes:

Others:

Full Changelog: RicoSuter/NJsonSchema@v11.4.0...v11.5.0

Commits viewable in compare view.

Updated NSwag.Core from 14.5.0 to 14.7.1.

Release notes

Sourced from NSwag.Core'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

14.6.3

What's Changed

New Contributors

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

14.6.2

Fixes EnumValue regression in v14.6.1 by introducing a new JsonLibraryVersion configuration (default 8.0)

What's Changed

image

Full Changelog: RicoSuter/NSwag@v14.6.1...v14.6.2

14.6.1

What's Changed

New Contributors

Full Changelog: RicoSuter/NSwag@v14.6.0...v14.6.1

14.6.0

What's Changed

New Contributors

Full Changelog: RicoSuter/NSwag@v14.5.0...v14.6.0

Commits viewable in compare view.

Updated System.Text.Json from 9.0.8 to 9.0.9.

Release notes

Sourced from System.Text.Json's releases.

9.0.9

Release

What's Changed

Full Changelog: dotnet/runtime@v9.0.8...v9.0.9

Commits viewable in compare view.

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)

Bumps Namotion.Reflection from 3.4.2 to 3.5.0
Bumps NJsonSchema from 11.4.0 to 11.6.1
Bumps NJsonSchema.Annotations from 11.4.0 to 11.6.1
Bumps NSwag.Core from 14.5.0 to 14.7.1
Bumps System.Text.Json from 9.0.8 to 9.0.9

---
updated-dependencies:
- dependency-name: Namotion.Reflection
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NJsonSchema
  dependency-version: 11.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NJsonSchema.Annotations
  dependency-version: 11.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NSwag.Core
  dependency-version: 14.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: System.Text.Json
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 2, 2026
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dependabot[bot]
Once this PR has been reviewed and has the lgtm label, please assign tg123 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot requested a review from tg123 June 2, 2026 06:15
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 2, 2026

@tg123 tg123 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/LGTM

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 5, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are no longer updatable, so this is no longer needed.

@dependabot @github

dependabot Bot commented on behalf of github Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #1792.

@dependabot dependabot Bot closed this Jun 5, 2026
@dependabot dependabot Bot deleted the dependabot/nuget/multi-6d7f6fa173 branch June 5, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. dependencies Pull requests that update a dependency file lgtm "Looks good to me", indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants