cmeeren / Facil

Facil generates F# data access source code from SQL queries and stored procedures. Optimized for developer happiness.
MIT License
140 stars 7 forks source link

Bump FSharp.SystemTextJson from 1.0.7 to 1.1.23 #51

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps FSharp.SystemTextJson from 1.0.7 to 1.1.23.

Release notes

Sourced from FSharp.SystemTextJson's releases.

Version 1.1

  • #141: Add fluent options builder. JsonFSharpOptions has the following new methods:

    • static methods that create options with default settings: .Default(), .NewtonsoftLike(), .FSharpLuLike() and .ThothLike().
    • instance methods .WithOptionAbc(?bool) for each flag JsonUnionEncoding.Abc, that sets or unsets this option and returns a new JsonFSharpOptions.
    • instance methods .WithAbc(value) for each optional argument abc of its constructor, that sets this option and returns a new JsonFSharpOptions.
    • an instance method .ToJsonSerializerOptions() that returns a new JsonSerializerOptions with the corresponding JsonFSharpConverter configured.
    • an instance method .AddToJsonSerializerOptions(options) that takes an existing JsonSerializerOptions, configures the corresponding JsonFSharpConverter and returns unit.

    The above is now the recommended way of configuring the library, and future options may be only made available using fluent methods and not using constructor arguments.

  • #146: Add option .WithSkippableOptionFields(?bool) that makes fields of type option and voption behave like Skippable: None / ValueNone is represented by a missing field instead of a null value.

    This is equivalent to the pre-1.0 default behavior, and is now recommended if this behavior is desired instead of IgnoreNullValues = true or DefaultIgnoreCondition = WhenWritingNull.

Changelog

Sourced from FSharp.SystemTextJson's changelog.

Changelog

1.1

  • #141: Add fluent options builder. JsonFSharpOptions has the following new methods:

    • static methods that create options with default settings: .Default(), .NewtonsoftLike(), .FSharpLuLike() and .ThothLike().
    • instance methods .WithOptionAbc(?bool) for each flag JsonUnionEncoding.Abc, that sets or unsets this option and returns a new JsonFSharpOptions.
    • instance methods .WithAbc(value) for each optional argument abc of its constructor, that sets this option and returns a new JsonFSharpOptions.
    • an instance method .ToJsonSerializerOptions() that returns a new JsonSerializerOptions with the corresponding JsonFSharpConverter configured.
    • an instance method .AddToJsonSerializerOptions(options) that takes an existing JsonSerializerOptions, configures the corresponding JsonFSharpConverter and returns unit.

    The above is now the recommended way of configuring the library, and future options may be only made available using fluent methods and not using constructor arguments.

  • #146: Add option .WithSkippableOptionFields(?bool) that makes fields of type option and voption behave like Skippable: None / ValueNone is represented by a missing field instead of a null value.

    This is equivalent to the pre-1.0 default behavior, and is now recommended if this behavior is desired instead of IgnoreNullValues = true or DefaultIgnoreCondition = WhenWritingNull.

1.0

  • #89: Add JsonNameAttribute as a more powerful substitute for the standard JsonPropertyNameAttribute.

    • When used on a discriminated union case, JsonNameAttribute can take a value of type int or bool instead of string.
    • JsonNameAttribute can take multiple values. When deserializing, all these values are treated as equivalent. When serializing, the first one is used.
    • JsonNameAttribute has a settable property Field: string. It is used to set the JSON name of a union case field with the given name.
  • #92: Serialization of record properties (in addition to fields).

    • Add option includeRecordProperties: bool to enable serializing record properties.
    • Also serialize record properties with JsonIncludeAttribute even when includeRecordProperties is false.
  • Add support for the standard DefaultIgnoreCondition.WhenWritingNull as a synonym for IgnoreNullValues = true that allows None and ValueNone to be omitted instead of null.

  • #106: Fix deserialization of single-case union containing a legitimate null value.

  • #123: BREAKING CHANGE: Missing fields of type option or voption now throw an error by default instead of being deserialized to None / ValueNone. To support missing fields, either enable the option IgnoreNullValues = true or DefaultIgnoreCondition = WhenWritingNull, or use the type Skippable instead of option or voption.

  • #126: Add option types: JsonFSharpTypes that specifies which types the F# converter should handle. Unlisted types will be handled by the default System.Text.Json. By default, all supported types are handled.

0.19

  • #111: Support JsonKnownNamingPolicy in JsonFSharpConverterAttribute.

  • #112: Add Options and Overrides properties to JsonFSharpConverter.

  • #263: Add a nullary constructor for JsonFSharpConverter.

0.18

  • #98: Implement JsonPropertyOrderAttribute on records.

  • #108: Allow serializing unnamed union fields using their type name, instead of Item1 etc, using JsonUnionEncoding.UnionFieldNamesFromTypes.

... (truncated)

Commits
  • d9f2bed Merge pull request #145 from Tarmil/fluent-options-docs
  • 3cb7107 Add fluent options and SkippableOptionFields to the changelog
  • c8981c6 Document SkippableOptionFields
  • a47cea7 Fix internal links in Customizing.md
  • 376b75b Use fluent options in all documentation
  • 9334acd Set version to '1.1'
  • c4ae46c Merge pull request #149 from Tarmil/net7
  • 895d645 Test on .NET 7 and use a build project instead of fake-cli
  • 5e63e95 Merge pull request #146 from Tarmil/skippable-options
  • 5ddfb1d Implement SkippableOptionFields in records
  • Additional 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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)
dependabot[bot] commented 1 year ago

Looks like FSharp.SystemTextJson is up-to-date now, so this is no longer needed.