Skip to content

Commit ff1df2a

Browse files
github-actions[bot]Repo AssistCopilotdsyme
authored
[Repo Assist] Add PreferOptionals parameter to XmlProvider and JsonProvider (#1660)
* Add PreferOptionals parameter to XmlProvider and JsonProvider Implements the PreferOptionals static parameter for XmlProvider and JsonProvider, following the same pattern already used by CsvProvider and HtmlProvider. - JsonProvider: defaults to true (preserving existing behavior of using option types). When set to false, missing/null string fields use empty string and missing/null float fields use NaN. - XmlProvider: defaults to true (preserving existing behavior). When set to false, absent string attributes/elements use empty string and absent float attributes/elements use NaN. Also adds allowEmptyValues parameter to JsonInference.inferType so it is threaded through to inferCollectionType for JSON arrays. Closes #649 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: trigger CI checks * update build * update build --------- Co-authored-by: Repo Assist <repo-assist@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Don Syme <dsyme@github.com>
1 parent f9aac16 commit ff1df2a

18 files changed

Lines changed: 142 additions & 70 deletions

RELEASE_NOTES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Release Notes
22

3+
## 8.1.0-beta
4+
5+
- Add `PreferOptionals` parameter to `JsonProvider` and `XmlProvider` (defaults to `true` to match existing behavior; set to `false` to use empty string or `NaN` for missing values, like the CsvProvider default) (closes #649)
6+
37
## 8.0.0 - Feb 25 2026
48

59
- Add PreferFloats static parameter to CsvProvider (#1655)

src/AssemblyInfo.Csv.Core.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Csv.Core")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Csv.Core"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.DesignTime.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.DesignTime")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.DesignTime"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.Html.Core.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Html.Core")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Html.Core"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.Http.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Http")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Http"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.Json.Core.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Json.Core")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Json.Core"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.Runtime.Utilities.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Runtime.Utilities")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Runtime.Utilities"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.WorldBank.Core.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.WorldBank.Core")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.WorldBank.Core"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.Xml.Core.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data.Xml.Core")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data.Xml.Core"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

src/AssemblyInfo.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ open System.Reflection
55
[<assembly: AssemblyTitleAttribute("FSharp.Data")>]
66
[<assembly: AssemblyProductAttribute("FSharp.Data")>]
77
[<assembly: AssemblyDescriptionAttribute("Library of F# type providers and data access tools")>]
8-
[<assembly: AssemblyVersionAttribute("8.0.0.0")>]
9-
[<assembly: AssemblyFileVersionAttribute("8.0.0.0")>]
8+
[<assembly: AssemblyVersionAttribute("8.1.0.0")>]
9+
[<assembly: AssemblyFileVersionAttribute("8.1.0.0")>]
1010
do ()
1111

1212
module internal AssemblyVersionInformation =
1313
let [<Literal>] AssemblyTitle = "FSharp.Data"
1414
let [<Literal>] AssemblyProduct = "FSharp.Data"
1515
let [<Literal>] AssemblyDescription = "Library of F# type providers and data access tools"
16-
let [<Literal>] AssemblyVersion = "8.0.0.0"
17-
let [<Literal>] AssemblyFileVersion = "8.0.0.0"
16+
let [<Literal>] AssemblyVersion = "8.1.0.0"
17+
let [<Literal>] AssemblyFileVersion = "8.1.0.0"

0 commit comments

Comments
 (0)