- (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