Skip to content

Files

Latest commit

Jan 17, 2025
b046f06 · Jan 17, 2025

History

History
107 lines (75 loc) · 5.28 KB

CHANGELOG.md

File metadata and controls

107 lines (75 loc) · 5.28 KB

4.2.0

  • Correctly handle key not found exception when applying patch document to dictionary #40
  • Respect STJ options PropertyNameCaseInsensitive setting #42
  • Internal dependencies updated

4.1.0

  • Adds .NET 9 support

4.0.0

BREAKING CHANGE: SystemTextJsonPatch now supports different property naming policies! f.e. JsonNamingPolicy.SnakeCaseLower. Fixes #36

  • This means that the path and from of the system text json patch document needs to match the JSON serializer options property naming policy. For example, if the JSON serializer options are set to use camelCase, the patch path should also be in camelCase.

BREAKING CHANGE: Exception types have been changed.

  • JsonPatchException -base exception type now contains FailedOperation and AffectedObject properties. These properties are populated with the failed operation when the operation is available. This change is to provide more information about the failed operation and the affected object. Fixes: #26
  • NotSupportedException and InvalidOperationException are not thrown anymore. Instead, JsonPatchException is thrown with the appropriate message.
  • JsonPatchTestOperationException is now thrown only when the test operation fails. Fixes #22

3.3.0

  • Adds support for DenyPatch attribute to deny access to annotated property #34
  • Internal dependencies updated

3.2.1

  • Fixes an issue where null and empty string test operation of JsonNode was incorrectly handled #31
  • Improved performance of JSON patch test operation

3.2.0

  • Adds support for dictionary complex types #29
  • Internal dependencies updated

3.1.0

  • Added .NET 8 target framework

3.0.1

  • All invalid patch operations now correctly throw JsonPatchTestOperationException and malformed patch documents throw JsonPatchException

3.0.0

  • Library runtime performance is improved by using throw helpers for throwing exceptions #21
  • Possibly breaking change: JsonPatchTestOperationException type is now thrown for test -operation failures #22

2.0.2

2.0.1

  • Fixes IndexOutOfRangeException in parse path routine

2.0.0

  • JsonPatchDocument types now adds required converters using JsonConverterAttribute and converters no longer need to be set manually to JsonSerializerOptions #18
  • netstandard2.0 target now depends on System.Text.Json v7
  • Small performance optimizations

1.2.0

  • Better support for patching arrays by index #15

1.1.0

  • Adds .NET 7 to target frameworks
  • Updated internal Nuget dependencies
  • Fixed readme badges

1.0.0

  • Adds netstandard2.0 target framework
  • Fixes an issue where removing from the end of JsonNode array did not work
  • Small performance improvements

0.0.9

  • Fixes an issue where copy operation ignored System.Text.Json options. Github #13

0.0.8

  • Code cleaning
  • Fixes an issue where copying null string value to another dynamic object deleted the original property instead of setting it null
  • Fixes an issue where operation value was serialized even when not needed
  • Parsing logic now follows System.Text.Json.JsonSerializerOptions.PropertyNameCaseInsensitive option #10
  • Added MIT lience to Github

0.0.7

0.0.6

0.0.5

  • Improved performance

0.0.4

  • Fixed an issue where null value was not accepted for patch operation

0.0.3

  • Fixes an issue where custom json converter JsonException messages were overriden in SystemTextJsonPatch
  • Added CI build. Thanks to https://github.com/ilmax #3

0.0.2

  • Combined SystemTextJson.AspNet and SystemTextJson packages
  • Fixes an issue where PATCH error message value did not match the actual value used. (dotnet/aspnetcore#38872)