- Update FSharp.Core to 6.0.1 by @Thorium
- Fix for a bug where FSharp.Data.DesignTime stays on la ock that prevents closing VS 2022 by @Thorium
- Add support for plain control types by @kant2002 in #1487
- It's a new world, major versions abound
- New option for JSON serialization (#1482) by @bonjune in #1485
- Adhere to RFC 4180 standard by @bonjune in #1484
- Csv Column Inference ignores newline character by @bonjune in #1483
- Publish FSharp.Data.RuntimeUtilities
- Update annoying assemblyinfo stuff because fake
- Roll forward the SDK so that you can use project in codespaces
- Fix json provider PreferDictionaries for array properties | Melvyn Laïly
- Add signature tests showing the wrong generation for array values when inferring dictionaries in json | Melvyn Laïly
- Enable TLS 1.2 in providers to be able to use it when requesting https samples | Melvyn Laïly
- Report complete exception from providers | Melvyn Laïly
- Add aria-label to the list of attributes used to find a name for html provided types | Melvyn Laïly
- Do not fail the build if the WorldBank api is offline | Melvyn Laïly
- Move source files into the folders of the projects they belong to | Melvyn Laïly
- Move non-http code from FSharp.Data.Http into a new FSharp.Data.Runtime.Utilities project | Melvyn Laïly
- Format code | Lennart Schlegge
- Refactor readLine function | Lennart Schlegge
- Extend test with quoted strings and separators | Lennart Schlegge
- Fix reading CSV from non seekable network stream | Lennart Schlegge
- Use nameof for all dynamically built quotations | Melvyn Laïly
- Update release notes | Melvyn Laïly
- Change the namespace of the public "InferenceMode" enum | Melvyn Laïly
- updated docs for html type provider example | aaron-jack-manning
- Fix WorldBank.fsx docs build | Melvyn Laïly
- Re-add solution level items missing or with broken paths | Melvyn Laïly
- Remove explicit PackageReference in projects + include paket.references | Melvyn Laïly
- Change the namespace of the
InferenceMode
enum fromFSharp.Data.Runtime.StructuralInference
toFSharp.Data
. - Move common runtime utilities out of
FSharp.Data.Http
and into a newFSharp.Data.Runtime.Utilities
assembly. - Add
aria-label
to the list of html attributes used to infer names of types provided by the HtmlProvider. - Enable TLS 1.2 when requesting http(s) samples from the type providers.
- Fix generated code of the json provider with
PreferDictionaries
when values are arrays.
- There are now multiple packages
- FSharp.Data -- includes everything
- FSharp.Data.Http -- http types/helpers
- FSharp.Data.Csv.Core -- csv types/helpers
- FSharp.Data.Json.Core -- json types/helpers
- FSharp.Data.Html.Core -- html types/helpers
- FSharp.Data.Xml.Core -- xml types/helpers
- FSharp.Data -- includes everything
- Identical to 4.2.10
- Reverted
- Implement "inline schemas": ability to add type hints into the type providers' source documents by @mlaily in #1447
- Typo fix, the parameter is plural ("Separators") by @nhirschey in #1433
- Typo fix, the parameter is plural ("Separators"). by @kleink in #1438
- Remove restrictions for getting innerText by @LiteracyFanatic in #1435
- pre-clean some code before applying fantomas by @dsyme in #1442
- update to .net 6 by @dsyme in #1443
- Format all code by @nojaf in #1441
- formatting: wider lists by @dsyme in #1444
- fix docs by @dsyme in #1446
- add GithubActionsTestLogger and use it in CI builds by @baronfel in #1449
- Skip json comments by @mlaily in #1448
- Some medium refactoring and little fixes by @mlaily in #1450
- Fix http tests by @mlaily in #1451
- Update TPSDK dependencies
- HtmlState: restore FormattedMode if still in pre after char ref
- HtmlNode.ToString(): fix self-closing tags on empty non-void elements
- non seekable multipart form files
- Fix internet cache invalidation
- Build against .NET 5
- Move
cssSelect
toHtmlNode
.
- FSharp.Data is now .NET Standard 2.0 only
Several other fixes:
- Fix CssSelect fails when there is no html tag
- Expose InnerResponse, Http properties
- Add DateTimeOffset for Csv Schema Inference
- Modified escaping of query string parameters
- Build fix: Remove dependency on http://europa.eu/rapid/conf/RSS20.xsd and update WorldBank to API to V2
- Remove dead links to tryfsharp.org
- HTML parsing for attributes not separated by a space
- Update JsonProvider.fsx
- Pluralizer - Add "slices" to special cases
- add ResolutionFolder=ResolutionFolder to docs
- fix links in docs/tools/generate.fsx
- Revamp docs generation and move to .NET Standard 2.0 only
- Rebuild using "Release" target
- Fix nuget package
- Update latest TPSDK, fixing Build with embedded resource broke
- Make appevyor build nuget package (though we still releas via '.\build Release')
- Fix for using on F# Interactive on .NET Core
- Add ParseList on JsonProvider
- Handle serialization of odd float values
- Adding HTML active patterns to expose internals of HtmlNode
- Further fix for excessive memory usage (hold TP instances weakly in file watcher callbacks)
- Require VS2017 or above (due to TPSDK fix)
- Fix for excessive memory usage (hold TP instances weakly in file watcher callbacks)
- NameUtils/Pluralizer: Fix unusual singularizations for some common words (choices; releases)
- Reduced cache time to partially address possible excess memory usage
- Update TPSDK and paket
- Fixed undisposed writers in CSV saving
- Fix for excessive memory usage (incorprating latest TPSDK)
- Add GetSchema method in XML type provider.
- (Breaking Change) Added support for DateTimeOffset to JSON, XML, CSV, and HTML providers.
- (Breaking Change) Added support for TimeSpan to JSON, XML, CSV, and HTML providers.
- Map XSD date to System.DateTime and XSD dateTime to System.DateTimeOffset.
- Fixed large float values being silently converted to int.MinValue when parsing JSON.
- Improved handling of invalid cookies.
- Fixes for #1091 - tidying up regex handling in script tags.
- (Breaking Change) Ignore culture when parsing JSON to better match the JSON spec.
- Fixed handling of empty cookie headers.
- (Breaking Change) Don't silently convert decimals and floats to integers in JsonProvider.
- Improved the performance of the type provider design time components.
- Preserve white-space when parsing XML.
- Recognise media type application/json-rpc as text.
- Fix parsing of escaped charaters in string literals within HTML script tags.
- Added constants for HTTP status codes.
- Added support for schemas (XSD) in the XmlProvider.
- Increased type caches TTL from 10 seconds to 5 minutes.
- Fixed memory leaks inside the the type provider design time components.
- Improved the performance of the type provider design time components.
- Drop PCL Profile 259, 7, 78 support in favour of netstandard2.0.
- Support F# RFC FST-1003 loading into .NET Core-based F# tooling.
- Integer values for optional parameter for the
System.Text.Encoding
are only supported when the F# compiler is run using .NET Framework. By default, new-style .NET SDK project files run the F# compiler with .NET Core. To force the use of an F# compiler running with .NET Framework see this guide.
- Added
ContentTypeWithEncoding
helper toHttpRequestHeaders
. JsonValue
will explicitly set content type charset to UTF-8 when making requests.- Prevent superfluous encoding of URL parameters.
- Add an optional parameter for the
System.Text.Encoding
to use when reading data to the CSV, HTML, and Json providers. This parameter is calledencoding
and should be present on all Load and AsyncLoad methods. - Fix handling of multipart form data payloads whose size exceeded ~80k bytes.
- Fix parsing of unquoted HTML attributes containing URLs.
- Fixed HTTP form body url encoding.
- Added GetColumnIndex and TryGetColumnIndex to CsvFile.
- Fixed outdated examples in the documentation that no longer worked.
- Fixed parsing of script elements with JavaScript string literals, regular expression literals, or comments, that looked like HTML tags.
- Fixed parsing of cookie values containing the '=' character.
- Prioritize dates over decimals in type inference.
- Fix regression introduced in 2.4.0 in HTTP stream reading.
- Fix css selectors not working outside the body element.
- Add support for Multipart Form Data content in the HTTP implementation.
- Added TryParse to JsonValue.
- Fix parsing of self closing HTML tags.
- FSharp.Core 4.3.0.0 (F# 3.0), .NET 4.0, and PCL profile 47 are no longer supported.
- Specify kind on Date header to UTC.
- Support for escaped special characters in CSS selectors.
- Fix crash when saving CSV files with nulls.
- Fix leakage of connections when HTTP requests time out.
- Fixed numbers not being preserved correctly when generating names.
- Fixed DOCTYPE being dropped when saving HTML documents.
- Added omission on the API that prevented creating HTML CDATA elements.
- Improved performance when parsing CDATA in HTML documents.
- Improve performance of number and DateTime parsing.
- Add support for HTML entities with Unicode characters above 65535.
- Improve resilience when parsing invalid Set-Cookie headers.
- Add support for specifying timeouts when doing HTTP request.
- Preserve response stream in case of HTTP failures.
- Handle cookies with commas in their value correctly.
- Fix runtime parsing of optional records with empty strings in JsonProvider.
- Added HTML CSS selectors to browse the DOM of parsed HTML files using the jQuery selectors syntax.
- Fix round tripping of XmlProvider generated types.
- Handle cookies with "http://"-prefixed domain value correctly.
- Fixed Pre and Code HTML tags loosing the formating.
- Added LINQPad samples.
- Fixed quotes not being escaped when saving CSV files.
- Fixed crash on systems where WebRequest.DefaultWebProxy is null.
- Improved JSON parsing performance by 20%.
- Fixed dependencies of NuGet package for PCL profiles 7 and 259.
- Support for PCL profile 7 and PCL profile 259.
- Added support for single column CSV files in CsvProvider.
- Fix saving of CSV files with cells spanning multiple lines.
- Fixed parsing of HTML tables with headers spanning multiple rows.
- Fixed parsing of HTML definition lists without description elements.
- Fix HtmlNode.hasClass to work on multi class elements.
- Relax the parsing of the charset field in HTTP response headers to accommodate servers not 100% compliant with RFC2616.
- Fix parsing of HTML lists with links.
- Fix parsing of HTML pages with tables and lists with the same name.
- Fix parsing of HTML documents with missing closing tags.
- Fixed compatibility with Mono 4.0.
- Support for trailing empty columns in CsvProvider.
- Fix datetime convertion when epoch date contains positive in timezone part.
- Allow arrays in addition to objects when detecting Json values inside Xml documents.
- Simplify generated API for collections in XmlProvider in more cases.
- Improved performance of JsonValue.Parse().
- Fixed crash processing HTTP responses without content type.
- Fixed encoding from content type not being used on the POST requests.
- Improved compatibility with different versions of FSharp.Core.
- Added BasicAuth helper to HttpRequestHeaders.
- Added constants for more HTTP methods.
- Added fix for
thead
element without nestedtr
element. - Improved global inference in XmlProvider.
- Write API for CsvProvider.
- Remove Freebase provider.
- Improve support for loading big CSV files in CsvProvider.
- Fix possible stack overflow in HTML parser.
- Exclude elements with aria-hidden attribute when parsing tables in HtmlProvider.
- Use ISO-8601 format when outputing dates.
- Fix parsing of HTML closing tags with numbers.
- Fixed handling of URI's with fragment but no query.
- Fixed arrays created with XML provider having unneeded parent tags on some situations.
- Allow to parse rows in CsvProvider without having to create a CsvFile.
- Add SkipRows parameter to CsvProvider.
- Improved parsing of numbers.
- Fixed XmlProvider so InferTypesFromValues=false works for elements in addition to attributes.
- Recognise media types application/*+json as text.
- Workarounded Mono bug causing HTTP POST requests to hang.
- Fixed parsing of HTML attributes without value.
- Fixed parsing of non-breaking spaces in HTML.
- Fixed parsing of CDATA in HTML script elements.
- Support for more currency symbols and percent, per mil, and basic point symbols when parsing numbers.
- Promoted TextConversions to top level.
- Improve generated table names in HtmlProvider.
- Added support for lists in addition to tables in HtmlProvider.
- Added TBA and TBD to list of default missing values.
- Make HTML parser API more C# friendly.
- Improve API of HTML operations.
- New logo.
- Added HTML parser and HtmlProvider.
- Detect and ignore trailing empty header columns in CSV/TSV files.
- Fixed strings with only whitespace being lost in JsonProvider.
- Fixed crash when disposing CsvProvider instances.
- Add support for UTF-32 characters in JsonValue and JsonProvider.
- Simplify generated API for collections in XmlProvider.
- Fixed handling of HTTP response cookies on some corner cases that .NET doesn't natively support.
- Fixed handling of HTTP response cookies on some corner cases that .NET doesn't natively support.
- Fixed crash on HTTP requests that return 0 bytes.
- Fixed HTTP decompression throwing AccessViolationException's on Windows Phone.
- Improved performance of JsonValue.ToString().
- Allow to serialize a JsonValue to a TextWriter.
- Fixed possible memory leak.
- Accept any MIME type in HTTP requests made by CsvProvider, JsonProvider, and XmlProvider (but still issue a preference).
- Fix usage of customizeHttpRequest on POST requests.
- Fixed problem on url creation when ampersands are used in query parameter values.
- Added InferTypesFromValues parameter to XmlProvider and JsonProvider to allow disabling infering booleans and numbers from strings.
- Support for non-UTF8 encodings in sample files for CsvProvider, JsonProvider, and XmlProvider.
- Fixed unnecessary character escaping in JsonValue.
- Be more relaxed about mixing different versions on FSharp.Data.
- Prevent locking of dll's when reading samples from embedded resources.
- Fixed wrong default encoding being used for HTTP requests and responses.
- Fixed parsing of some unicode characters in JsonValue and JsonProvider.
- Auto-detect files with tab separators in CsvProvider.
- Support for reading sample CSV, JSON, and XML from an embedded resource.
- Fix wrong error messages being returned when sample files are not found.
- Performance improvements.
- Support reuse by other type providers projects like ApiaryProvider.
- Fixed problems with HTTP requests not downloading fully.
- Added support for creating typed XML objects in XmlProvider.
- Added support for creating typed JSON and XML objects from untyped JsonValue and XElement objects.
- Fixed crash when data files used in a type provider used on a fsx file changed.
- Fixed problem parsing JSON values with keys with the double quote character.
- Added - to the list of default missing values.
- Re-added support for specifying known HTTP headers in the wrong casing.
- Fixed sending of HTTP requests when using a portable class library version of FSharp.Data in the full .NET version.
- Helpers for sending HTTP requests with JSON and XML content.
- Removed built-in HTTP certificates support, and moved it to a sample in the documentation.
- Respect the order of the attributes present in the JSON in JsonProvider.
- Always send User-Agent and Accept headers when making requests in the type providers.
- Added support for creating typed JSON objects in JsonProvider.
- Fixed Freebase provider throwing exceptions in the absense of network connectivity even when not used.
- Detect Json values inside Xml documents, and generate appropriate types, instead of considering a raw string.
- Performance improvements.
- Fixed bugs in naming algorithm.
- Improved documentation.
- Remove ApiaryProvider.
- Improve error reporting in the Freebase provider.
- Add stronger typing to Http.Request parameters.
- Respect character set header in HTTP responses.
- Allow to don't throw on HTTP errors.
- Allow to customize the HTTP request by passing a function.
- Added RequestStream and AsyncRequestStream methods to Http to allow accessing the response stream directly.
- Simplified API generated by XmlProvider.
- Fixed handling of optional elements in XmlProvider.
- Mono fixes.
- Allow to set the freebase api key globally by using the environment variable FREEBASE_API_KEY
- Fixed handling of optional records in JsonProvider.
- Reduced the number of cases where heterogeneous types are used in JsonProvider.
- Fixed option option being generated on some cases in JsonProvider.
- Treat "", null and missing values in the same way in JsonProvider.
- Fixed homogeneous arrays to have the same null skipping behaviour as heterogeneous arrays in JsonProvider.
- Fixed namespace declarations generating attributes in XmlProvider.
- Fixed CsvProvider generating column names with only a space.
- Return NaN for missing data in WorldBank indicators instead of throwing an exception.
- Don't throw exceptions in JsonValue.AsArray, JsonValue.Properties, and JsonValue.InnerText.
- Improved name generation algorithm to cope better with acronymns.
- Fixed wrong singularization of words ending with 'uses'.
- Fixed handling of repeated one letter names.
- Improve HTTP error messages.
- Support for more api patterns in ApiaryProvider.
- Tolerate invalid json and missing data in apiary specifications.
- Improved naming of generated types.
- Fixed 'SampleIsList' to work with xml and json spanning multiple lines.
- Fixed handling of nested arrays in JsonProvider.
- Fixed handling of optional arrays in JsonProvider.
- JsonValue.Post() allows to post the JSON to the specified uri using HTTP.
- Renamed the 'FSharp.Data.Json.Extensions' module to 'FSharp.Data.JsonExtensions'.
- Renamed the 'FSharp.Data.Csv.Extensions' module to 'FSharp.Data.CsvExtensions'.
- Moved the contents of the 'FSharp.Net', 'FSharp.Data.Csv', and 'FSharp.Data.Json' namespaces to the 'FSharp.Data' namespace.
- Reuse identical types in JsonProvider.
- Improve JsonProvider error messages to include full path of the json part that caused the problem.
- JsonValue.ToString() now formats (indents) the output by default (can be turned off by using SaveOptions.DisableFormatting).
- Adds specific types for Freebase individuals, so each individual X only has properties P where X.P actually returns interesting data. This makes Individuals much more useful for exploring sparse data, as you can "dot" through an individual and see exactly what properties actually have interesting data. The feature is on by default but can be turned off using UseRefinedTypes=false as a static parameter.
- Individuals10 and Individuals100 views of Freebase individuals, which increases the number of items in the table by 10x and 100x.
- IndividualsAZ view of Freebase individuals, which buckets the individuals by first character of name A-Z, with each bucket containing up to 10,000 individuals.
- Added SendingQuery event which triggers for overall Freebase MQL queries and can be run in the Freebase query editor, instead of for individual REST requests including cursor-advancing requests and documentation requests.
- Renamed CsvProvider and CsvFle 'Data' property to 'Rows'.
- Renamed CsvProvider static parameter 'SafeMode' to 'AssumeMissingValues'.
- Fixed parsing of values wrapped in quotes in arrays and heterogeneous types generated by JsonProvider.
- Added SourceLink support.
- Fixed the use of samples which also are valid filenames in CsvProvider.
- Allow to specify only the Schema without a Sample in CsvProvider.
- Support heterogeneous types at the top level in XmlProvider.
- Reference System.Xml.Linq in NuGet package.
- Filter out user domains in Freebase.
- Fix Zlib.Portable being referenced by Nuget on non PCL projects.
- Support for F# 3.1 and for new portable class library projects.
- Support for sending HTTP requests with a binary body.
- Support for HTTP compression in portable class library versions (adds dependency on Zlib.Portable).
- Fixed problem when using uri's with encoded slashes (%2F) in the sample parameter of CsvProvider, JsonProvider & XmlProvider.
- CsvProvider now has GetSample static method like the other providers in addition to the default constructor.
- Add AsyncLoad(string uri) and AsyncGetSample() to CsvProvider, JsonProvider and XmlProvider.
- Removed '.AsTuple' member from CsvProvider.
- Renamed 'SampleList' static property to 'SampleIsList'.
- Renamed 'Separator' static property to 'Separators'.
- When 'SampleIsList' is true, a 'GetSamples' method is generated.
- Fixed XmlProvider's SampleIsList not working correctly.
- Fix handling of optional elements in XmlProvider when using multiple samples.
- Fix XmlProvider handling of one letter XML tags.
- Fixed CsvProvider's SafeMode not working when there were more rows than the InferRows limit.
- Exceptions raised by CsvProvider and CsvFile were reporting the wrong line number when reading files with windows line endings.
- CsvInference is now part of the runtime so it can be reused by Deedle.
- Allow currency symbols on decimals.
- Fixed file change notification not invalidating type providers correctly.
- Fix generated code doing repeated work.
- Windows Phone 7 no longer supported.
- Added Japanese documentation.
- Prevent the NuGet package from adding a reference to FSharp.Data.DesignTime.
- Entity types generated by JsonProvider & XmlProvider are now directly below the type provider, instead of under a DomainTypes inner type.
- Source Code now builds under Mono.
- Expose optional parameters from CsvFile & Http methods as optional in C#.
- Support for heterogeneous XML attributes.
- Make CsvFile re-entrant.
- Support for compressed HTTP responses.
- Fix JSON conversion of 0 and 1 to booleans.
- Infer booleans for ints that only manifest 0 and 1.
- Support for partially overriding the Schema in CsvProvider.
- PreferOptionals and SafeMode parameters for CsvProvider.
- Fixed problem with portable version of FSharp.Net.Http.
- Fixed problem handling enumerates in FreebaseProvider.
- Fixed runtime problem accessing optional properties with a JSON null.
- Support for client certificates in FSharp.Net.Http.
- Support for Windows Phone 7.
- Performance improvements, support for big csv files, and support for Guid types.
- Save, Filter and Truncate operations for csv files.
- Allow to skip rows that don't match the schema in CsvProvider.
- Support for dynamic lookup in CSV files.
- Improvements to FSharp.Net.Http to support cookies and binary files.
- Improve Units of Measure support and allow to override the type inference in the CSV Provider.
- Update NuGet package links and icon reference.
- Update WorldBank internals to support more efficient implementation and FunScript.
- Support for Portable Class Libraries and Silverlight.
- Added Freebase provider.
- Improvements to the CSV provider.
- Performance improvements when handling large files.
- Fix boolean parsing bug and improve CSV provider.
- Minor update in missing fields handling.
- Support for different culture settings and CSV parsing according to RFC standard.
- CSV provider supports alternative separators and N/A values.
- Minor changes to support Experimental release.
- Support global unification in XML type provider.
- Build the library using .NET 4.0.
- CSV provider now supports dates.
- Improved method naming.
- Improved method naming.
- Latest version to match with the documentation.
- Initial release