Update dependencies:
- #668:
NodaTime
to3.1.12
- #669:
Radzen.Blazor
to5.2.5
- #658: Add HttpHeaders as
IEnumerable<RestSharp.HttpParameter>
toHttpException
and facilitate access inWriteErrorEvent
. Includes new exampleHttpErrorHandling
.
Update dependencies:
- #659:
RestSharp
to112.0.0
- #663:
WireMock.Net
to1.6.1
ApiResponse
headers has been changed toIEnumerable<(string Name, string Value)>
- #649: Use HttpCompletionOption.ResponseHeadersRead for asynchronous QueryApi
Update dependencies:
- #652:
NUnit3TestAdapter
to4.6.0
- #654:
WireMock.Net
to1.5.62
- #661:
Microsoft.NET.Test.Sdk
to17.11.0
- #664:
Radzen.Blazor
to5.1.6
- #633: Add package XML documentation.
Update dependencies:
- #634:
CsvHelper
to32.0.3
- #635:
Microsoft.Extensions.ObjectPool
to8.0.6
- #638:
System.Reactive
to6.0.1
- #636:
Radzen.Blazor
to4.32.3
- #632: Use HttpCompletionOption.ResponseHeadersRead for streaming
Update dependencies:
- #608:
NUnit
to3.14.0
- #616:
Microsoft.NET.Test.Sdk
to17.9.0
- #626:
coverlet.collector
to6.0.2
- #628:
WireMock.Net
to1.5.51
- #590: Allows disable Trace verbose messages
Update dependencies:
- #597:
Microsoft.Extensions.ObjectPool
to8.0.0
- #572:
NodaTime.Serialization.JsonNet
to3.1.0
- #595:
System.Collections.Immutable
to8.0.0
- #599:
System.Configuration.ConfigurationManager
to8.0.0
- #593:
Radzen.Blazor
to4.22.1
- #596:
WireMock.Net
to1.5.40
- #598:
Microsoft.NET.Test.Sdk
to17.8.0
- #568:
Moq
to4.20.69
- #594:
Tomlyn.Signed
to0.17.0
- #528: Add HttpClient as a part of InfluxDBClientOptions
- #555: Chaining multiple conditions in LINQ queries
Update dependencies:
- #556:
Radzen.Blazor
to4.14.1
- #543:
Microsoft.NET.Test.Sdk
to17.6.3
- #524:
coverlet.collector
to6.0.0
- #550:
WireMock.Net
to1.5.32
- #529:
NUnit3TestAdapter
to4.5.0
- #510: Passing aggregation function to AggregateWindow for LINQ queries
Update dependencies:
- #497:
NodaTime
to3.1.9
- #485:
Newtonsoft.Json
to13.0.3
- #506:
Microsoft.Extensions.ObjectPool
to7.0.5
- #509:
RestSharp
to110.2.0
- #511:
Radzen.Blazor
to4.10.1
- #508:
WireMock.Net
to1.5.23
- #480:
NUnit3TestAdapter
to4.4.2
- #473:
Microsoft.NET.Test.Sdk
to17.5.0
- Revert [#408] conversion of double to string can result in a loss of precision
- #442: Allow to use
DateTimeKind.Local
andDateTimeKind.Local
as a timestamp for Data point
Update dependencies:
- #446:
Radzen.Blazor
to4.4.7
- #408: Conversion of double to string can result in a loss of precision
- #433: Add
.NET 7.0
to supported.NET
versions
Update dependencies:
- #430:
NodaTime
to3.1.6
- #432:
Radzen.Blazor
to4.4.2
InfluxDBClientFactory
:
using var client = new InfluxDBClient("http://localhost:8086", "my-token");
- #388: Initialize C# client without
InfluxDBClientFactory
- #426: Parsing HTTP headers with duplicated name
- #416: Add build for
.NET 7.0
Update dependencies:
- #418:
RestSharp
to108.0.3
- #423:
Newtonsoft.Json
to13.0.2
- #405:
NodaTime.Serialization.JsonNet
to3.0.1
- #413:
CsvHelper
to30.0.1
- #424:
Radzen.Blazor
to4.3.8
- #422:
WireMock.Net
to1.5.11
- #412:
Microsoft.NET.Test.Sdk
to17.4.0
- #417:
NUnit3TestAdapter
to4.3.1
- #376: Add
FluxRecord.Row
which stores response data in a list - #404: Expose
FluxCsvParser
asAnnotatedCsvParser
Update dependencies:
- #397:
CsvHelper
to30.0.0
- #384:
Microsoft.Extensions.ObjectPool
to6.0.10
- #402:
NodaTime
to3.1.5
- #392:
JsonSubTypes
to2.0.1
- #401:
Radzen.Blazor
to4.1.15
- #403:
Tomlyn.Signed
to0.16.1
- #400:
WireMock.Net
to1.5.9
- #398:
NUnit3TestAdapter
to4.3.0
- #399:
coverlet.collector
to3.2.0
- #353: Support for
double
types in LINQ expression [LINQ] - #360: Designated
HealthAsync
as obsolete inIInfluxDBClient
- #368: Use builtin support for synchronous HTTP requests from
RestSharp
- #355: Add an example how to use
EventHandler
forWriteApi
Update dependencies:
- #364:
System.Configuration.ConfigurationManager
to6.0.1
- #365:
Microsoft.Extensions.ObjectPool
to6.0.9
- #368:
RestSharp
to108.0.2
- #371:
NodaTime
to3.1.3
- #375:
Radzen.Blazor
to4.1.4
- #348: Append
task option
at the end of script
Update dependencies:
- #330: Redact the
Authorization
HTTP header from log
Update dependencies:
- #327: Add interfaces to client's APIs
- #329: Writing data to multiple destination by the background writer
- #326: Update dependencies:
- RestSharp to 108.0.1
- NodaTime to 3.1.0
- JsonSubTypes to 1.9.0
- Microsoft.Extensions.ObjectPool to 6.0.5
- Microsoft.NET.Test.Sdk to 17.2.0
- NUnit to 3.13.3
- WireMock.Net to 1.4.43
- Moq to 4.18.1
- Tomlyn.Signed to 0.14.3
- #319: Optionally align
limit()
andtail()
beforepivot()
function [LINQ] - #322: Possibility to specify default value for
start
andstop
parameter of range function [LINQ] - #323: Add callback function for handling the SSL Certificate Validation
- #316: Rename
InvocableScripts
toInvokableScripts
- #313: Using default
org
andbucket
inWriteApiAsync
- #317: Decompress Gzipped data
- #317: Logging HTTP headers from streaming request
- #304: Add
InvokableScriptsApi
to create, update, list, delete and invoke scripts by seamless way - #308: Add support for
TakeLast
expression [LINQ]
- #305: Authentication Cookies follow redirects
- #309: Query expression for joins of binary operators [LINQ]
RestSharp
library was updated the latest major version v107
. The new version of RestSharp
switched from the legacy HttpWebRequest
class to the standard well-known System.Net.Http.HttpClient
instead. This improves performance and solves lots of issues, like hanging connections, updated protocols support, and many other problems.
- New versions of
QueryApi
,QueryApiSync
,WriteApi
,WriteApiAsync
andFluxClient
methods uses default named argument values so you are able to easily migrate by:
- _client.GetQueryApi().QueryAsyncEnumerable<T>(fluxQuery, token);
+ _client.GetQueryApi().QueryAsyncEnumerable<T>(fluxQuery, cancellationToken: token);
-
The Client no longer supports the
ReadWriteTimeout
for HTTP Client. This settings is not supported by theHttpClient
. Use can useTimeout
property instead. -
The
FluxClient
usesIDisposable
interface to releasing underlying HTTP connections:var client = FluxClientFactory.Create("http://localhost:8086/");
using var client = FluxClientFactory.Create("http://localhost:8086/");
-
The Query APIs uses
CancellationToken
instead ofICancellable
:await QueryApi.QueryAsync(flux, (cancellable, record) => { // process record Console.WriteLine($"record: {record}"); if (your_condition) { // cancel stream source.Cancel(); } })
var source = new CancellationTokenSource(); await QueryApi.QueryAsync(flux, record => { // process record Console.WriteLine($"record: {record}"); if (your_condition) { // cancel stream source.Cancel(); } }, source.Token);
-
QueryApi
has changed method signatures:3.3.0 4.0.0 QueryAsync(String)
QueryAsync(String, String?, CancellationToken?)
QueryAsync(String, String)
QueryAsync(String, String?, CancellationToken?)
QueryAsync(Query)
QueryAsync(Query, String?, CancellationToken?)
QueryAsync(Query, String)
QueryAsync(Query, String?, CancellationToken?)
QueryAsync(String, Type)
QueryAsync(String, Type, String?, CancellationToken?)
QueryAsync(String, String, Type)
QueryAsync(String, Type, String?, CancellationToken?)
QueryAsync(Query, Type)
QueryAsync(Query, Type, String?, CancellationToken?)
QueryAsync(Query, String, Type)
QueryAsync(Query, Type, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, Object>, Action<Exception>, Action, Type)
QueryAsync(String, Type, Action<Object>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, Object>, Action<Exception>, Action, Type)
QueryAsync(Query, Type, Action<Object>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String)
QueryAsync<T>(String, String?, CancellationToken?)
QueryAsync<T>(String, String)
QueryAsync<T>(String, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query)
QueryAsync<T>(Query, String?, CancellationToken?)
QueryAsync<T>(Query, String)
QueryAsync<T>(Query, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsyncEnumerable<T>(Query, String, CancellationToken)
QueryAsyncEnumerable<T>(Query, String?, CancellationToken?)
QueryAsyncEnumerable<T>(String, CancellationToken)
QueryAsyncEnumerable<T>(String, String?, CancellationToken?)
QueryAsyncEnumerable<T>(String, String, CancellationToken)
QueryAsyncEnumerable<T>(String, String?, CancellationToken?)
QueryRawAsync(Query)
QueryRawAsync(Query, String?, CancellationToken?)
QueryRawAsync(Query, Action<ICancellable, String>)
QueryRawAsync(Query, Action<String>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryRawAsync(Query, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(Query, Action<String>, Action<Exception>?, Action?, String?, CancellationToken?)
-
QueryApiSync
has changed method signatures:3.3.0 4.0.0 QuerySync(String)
QuerySync(String, String?, CancellationToken?)
QuerySync(String, String)
QuerySync(String, String?, CancellationToken?)
QuerySync(Query)
QuerySync(Query, String?, CancellationToken?)
QuerySync(Query, String)
QuerySync(Query, String?, CancellationToken?)
QuerySync<T>(String)
QuerySync<T>(String, String?, CancellationToken?)
QuerySync<T>(String, String)
QuerySync<T>(String, String?, CancellationToken?)
QuerySync<T>(Query)
QuerySync<T>(Query, String?, CancellationToken?)
QuerySync<T>(Query, String)
QuerySync<T>(Query, String?, CancellationToken?)
-
WriteApi
has changed method signatures:3.3.0 4.0.0 WriteMeasurement<TM>(WritePrecision, TM)
WriteMeasurement<TM>(TM, WritePrecision?, String?, String?)
WriteMeasurement<TM>(String, String, WritePrecision, TM)
WriteMeasurement<TM>(TM, WritePrecision?, String?, String?)
WriteMeasurements<TM>(WritePrecision, TM[])
WriteMeasurements<TM>(TM[], WritePrecision?, String?, String?)
WriteMeasurements<TM>(String, String, WritePrecision, TM[])
WriteMeasurements<TM>(TM[], WritePrecision?, String?, String?)
WriteMeasurements<TM>(WritePrecision, List<TM>)
WriteMeasurements<TM>(List<TM>, WritePrecision?, String?, String?)
WriteMeasurements<TM>(String, String, WritePrecision, List<TM>)
WriteMeasurements<TM>(List<TM>, WritePrecision?, String?, String?)
WritePoint(PointData)
WritePoint(PointData, String?, String?)
WritePoint(String, String, PointData)
WritePoint(PointData, String?, String?)
WritePoints(PointData[])
WritePoints(PointData[], String?, String?)
WritePoints(String, String, PointData[])
WritePoints(PointData[], String?, String?)
WritePoints(List<PointData>)
WritePoints(List<PointData>, String?, String?)
WritePoints(String, String, List<PointData>)
WritePoints(List<PointData>, String?, String?)
WriteRecord(WritePrecision, String)
WriteRecord(String, WritePrecision?, String?, String?)
WriteRecord(String, String, WritePrecision, String)
WriteRecord(String, WritePrecision?, String?, String?)
WriteRecords(WritePrecision, String[])
WriteRecords(String[], WritePrecision?, String?, String?)
WriteRecords(String, String, WritePrecision, String[])
WriteRecords(String[], WritePrecision?, String?, String?)
WriteRecords(WritePrecision, List<String>)
WriteRecords(List<String>, WritePrecision?, String?, String?)
WriteRecords(String, String, WritePrecision, List<String>)
WriteRecords(List<String>, WritePrecision?, String?, String?)
-
WriteApiAsync
has changed method signatures:3.3.0 4.0.0 WriteMeasurementAsync<TM>(WritePrecision, TM, CancellationToken)
WriteMeasurementAsync<TM>(TM, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementAsync<TM>(String, String, WritePrecision, TM, CancellationToken)
WriteMeasurementAsync<TM>(TM, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, CancellationToken, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, CancellationToken, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, List<TM>, CancellationToken)
WriteMeasurementsAsync<TM>(List<TM>, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, List<TM>, CancellationToken)
WriteMeasurementsAsync<TM>(List<TM>, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsyncWithIRestResponse<TM>(IEnumerable<TM>, String, String, WritePrecision, CancellationToken)
WriteMeasurementsAsyncWithIRestResponse<TM>(IEnumerable<TM>, WritePrecision?, String?, String?, CancellationToken?)
WritePointAsync(PointData, CancellationToken)
WritePointAsync(PointData, String?, String?, CancellationToken?)
WritePointAsync(String, String, PointData, CancellationToken)
WritePointAsync(PointData, String?, String?, CancellationToken?)
WritePointsAsync(PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(CancellationToken, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(String, String, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(String, String, CancellationToken, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(List<PointData>, CancellationToken)
WritePointsAsync(List<PointData>, String?, String?, CancellationToken?)
WritePointsAsync(String, String, List<PointData>, CancellationToken)
WritePointsAsync(List<PointData>, String?, String?, CancellationToken?)
WritePointsAsyncWithIRestResponse(IEnumerable<PointData>, String, String, CancellationToken)
WritePointsAsyncWithIRestResponse(IEnumerable<PointData>, String?, String?, CancellationToken?)
WriteRecordAsync(WritePrecision, String, CancellationToken)
WriteRecordAsync(String, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordAsync(String, String, WritePrecision, String, CancellationToken)
WriteRecordAsync(String, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, CancellationToken, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, CancellationToken, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, List<String>, CancellationToken)
WriteRecordsAsync(List<String>, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, List<String>, CancellationToken)
WriteRecordsAsync(List<String>, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsyncWithIRestResponse(IEnumerable<String>, String, String, WritePrecision, CancellationToken)
WriteRecordsAsyncWithIRestResponse(IEnumerable<String>, WritePrecision?, String?, String?, CancellationToken?)
-
FluxClient
has changed method signatures:3.3.0 4.0.0 QueryAsync(String)
QueryAsync(String, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String)
QueryAsync<T>(String, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String)
QueryRawAsync(String, String?, CancellationToken?)
QueryRawAsync(String, String)
QueryRawAsync(String, String?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>, Action<Exception>, Action)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>, Action<Exception>, Action)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
-
Response type for
WriteApiAsync.WritePointsAsyncWithIRestResponse
isRestResponse[]
instead ofIRestResponse[]
. -
Response type for
WriteApiAsync.WriteMeasurementsAsyncWithIRestResponse
isRestResponse
instead ofIRestResponse
. -
Response type for
WriteApiAsync.WriteRecordsAsyncWithIRestResponse
isRestResponse
instead ofIRestResponse
. -
TelegrafsApi
usesTelegrafPluginRequest
to createTelegraf
configuration. -
Rename
TelegrafPlugin
types:- from
TelegrafPlugin.TypeEnum.Inputs
toTelegrafPlugin.TypeEnum.Input
- from
TelegrafPlugin.TypeEnum.Outputs
toTelegrafPlugin.TypeEnum.Output
- from
-
TasksApi.FindTasksByOrganizationIdAsync(string orgId)
requires pass OrganizationID
as a parameter. For find Tasks by Organization name you can use:_tasksApi.FindTasksAsync(org: "my-org")
. -
Removed
orgId
argument fromTelegrafsApi.GetRunsAsync
methods -
Change type of
PermissionResource.Type
tostring
. You are able to easily migrate by:- new PermissionResource { Type = PermissionResource.TypeEnum.Users, OrgID = _organization.Id } + new PermissionResource { Type = PermissionResource.TypeUsers, OrgID = _organization.Id }
This release also uses new version of InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi
, QueryApi
, BucketsApi
, OrganizationsApi
...
- Add
ConfigService
to retrieve InfluxDB's runtime configuration - Add
RemoteConnectionsService
to deal with registered remote InfluxDB connections - Add
MetricsService
to deal with exposed prometheus metrics - Update
TemplatesService
to deal withStack
andTemplate
API - Update
BackupService
to deal with new backup functions of InfluxDB - Update
RestoreService
to deal with new restore functions of InfluxDB - Remove
DocumentApi
in favour of InfluxDB Community Templates. For more info see - influxdb#19300, openapi#192 - Remove
DefaultSerive
:GetRoutes
operation is moved toRoutesService
GetTelegrafPlugin
operation is moved toTelegrafsService
PostSignin
operation is moved toSigninService
PostSignout
operation is moved toSignoutService
- Change type of
Duration.magnitude
fromint?
tolong?
TelegrafsService
usesTelegrafPluginRequest
to createTelegraf
configurationTelegrafsService
usesTelegrafPluginRequest
to updateTelegraf
configuration
- #282: Add support for AggregateWindow function [LINQ]
- #283: Allow to set a client certificates
- #291: Add possibility to generate Flux query without
pivot()
function [LINQ] - #289: Async APIs uses
CancellationToken
in allasync
methods - #294: Optimize serialization
PointData
into LineProtocol
- #287: Filter tasks by Organization ID
- #290: Change
PermissionResource.Type
toString
- #293: Type of
CheckBase.LatestCompleted
isDateTime
- #297: Get version from
X-Influxdb-Version
header
- #292: Use new Codecov uploader for reporting code coverage
- #283: Remove out of support
.NET Core
versions -2.2
,3.0
- #283: Add check to compilation warnings
- #283: Add check to correctness of code formatting
#283: Update dependencies:
- RestSharp to 107.3.0
- CsvHelper to 27.2.1
- NodaTime to 3.0.9
- Microsoft.Extensions.ObjectPool to 6.0.1
- System.Collections.Immutable to 6.0.0
- System.Configuration.ConfigurationManager to 6.0.0
- Microsoft.NET.Test.Sdk to 17.0.0
- NUnit3TestAdapter to 4.2.1
- WireMock.Net to 1.4.34
- Moq to 4.16.1
- System.Linq.Async to 6.0.1
- Tomlyn.Signed to 0.10.2
- coverlet.collector to 3.1.2
- #295: Add possibility to put generic type object as a value for
PointData
andPointData.Builder
- New versions of
QueryApi
,QueryApiSync
,WriteApi
,WriteApiAsync
andFluxClient
methods uses default named argument values so you are able to easily migrate by:
- _client.GetQueryApi().QueryAsyncEnumerable<T>(fluxQuery, token);
+ _client.GetQueryApi().QueryAsyncEnumerable<T>(fluxQuery, cancellationToken: token);
- Removed
orgId
argument fromTelegrafsApi.GetRunsAsync
methods - Change type of
PermissionResource.Type
tostring
. You are able to easily migrate by:- new PermissionResource { Type = PermissionResource.TypeEnum.Users, OrgID = _organization.Id } + new PermissionResource { Type = PermissionResource.TypeUsers, OrgID = _organization.Id }
- #291: Add possibility to generate Flux query without
pivot()
function [LINQ] - #289: Async APIs uses
CancellationToken
in allasync
methods - #294: Optimize serialization
PointData
into LineProtocol
- #292: Use new Codecov uploader for reporting code coverage
RestSharp
library was updated the latest major version v107
. The new version of RestSharp
switched from the legacy HttpWebRequest
class to the standard well-known System.Net.Http.HttpClient
instead. This improves performance and solves lots of issues, like hanging connections, updated protocols support, and many other problems.
-
The Client no longer supports the
ReadWriteTimeout
for HTTP Client. This settings is not supported by theHttpClient
. Use can useTimeout
property instead. -
The
FluxClient
usesIDisposable
interface to releasing underlying HTTP connections:var client = FluxClientFactory.Create("http://localhost:8086/");
using var client = FluxClientFactory.Create("http://localhost:8086/");
-
The Query APIs uses
CancellationToken
instead ofICancellable
:await QueryApi.QueryAsync(flux, (cancellable, record) => { // process record Console.WriteLine($"record: {record}"); if (your_condition) { // cancel stream source.Cancel(); } })
var source = new CancellationTokenSource(); await QueryApi.QueryAsync(flux, record => { // process record Console.WriteLine($"record: {record}"); if (your_condition) { // cancel stream source.Cancel(); } }, source.Token);
-
QueryApi
has changed method signatures:3.3.0 4.0.0 QueryAsync(String)
QueryAsync(String, String?, CancellationToken?)
QueryAsync(String, String)
QueryAsync(String, String?, CancellationToken?)
QueryAsync(Query)
QueryAsync(Query, String?, CancellationToken?)
QueryAsync(Query, String)
QueryAsync(Query, String?, CancellationToken?)
QueryAsync(String, Type)
QueryAsync(String, Type, String?, CancellationToken?)
QueryAsync(String, String, Type)
QueryAsync(String, Type, String?, CancellationToken?)
QueryAsync(Query, Type)
QueryAsync(Query, Type, String?, CancellationToken?)
QueryAsync(Query, String, Type)
QueryAsync(Query, Type, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(Query, Action<FluxRecord>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(String, String, Action<ICancellable, Object>, Action<Exception>, Action, Type)
QueryAsync(String, Type, Action<Object>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync(Query, String, Action<ICancellable, Object>, Action<Exception>, Action, Type)
QueryAsync(Query, Type, Action<Object>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String)
QueryAsync<T>(String, String?, CancellationToken?)
QueryAsync<T>(String, String)
QueryAsync<T>(String, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(String, String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query)
QueryAsync<T>(Query, String?, CancellationToken?)
QueryAsync<T>(Query, String)
QueryAsync<T>(Query, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsync<T>(Query, String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(Query, Action<T>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryAsyncEnumerable<T>(Query, String, CancellationToken)
QueryAsyncEnumerable<T>(Query, String?, CancellationToken?)
QueryAsyncEnumerable<T>(String, CancellationToken)
QueryAsyncEnumerable<T>(String, String?, CancellationToken?)
QueryAsyncEnumerable<T>(String, String, CancellationToken)
QueryAsyncEnumerable<T>(String, String?, CancellationToken?)
QueryRawAsync(Query)
QueryRawAsync(Query, String?, CancellationToken?)
QueryRawAsync(Query, Action<ICancellable, String>)
QueryRawAsync(Query, Action<String>, Action<Exception>?, Action?, String?, CancellationToken?)
QueryRawAsync(Query, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(Query, Action<String>, Action<Exception>?, Action?, String?, CancellationToken?)
-
QueryApiSync
has changed method signatures:3.3.0 4.0.0 QuerySync(String)
QuerySync(String, String?, CancellationToken?)
QuerySync(String, String)
QuerySync(String, String?, CancellationToken?)
QuerySync(Query)
QuerySync(Query, String?, CancellationToken?)
QuerySync(Query, String)
QuerySync(Query, String?, CancellationToken?)
QuerySync<T>(String)
QuerySync<T>(String, String?, CancellationToken?)
QuerySync<T>(String, String)
QuerySync<T>(String, String?, CancellationToken?)
QuerySync<T>(Query)
QuerySync<T>(Query, String?, CancellationToken?)
QuerySync<T>(Query, String)
QuerySync<T>(Query, String?, CancellationToken?)
-
WriteApi
has changed method signatures:3.3.0 4.0.0 WriteMeasurement<TM>(WritePrecision, TM)
WriteMeasurement<TM>(TM, WritePrecision?, String?, String?)
WriteMeasurement<TM>(String, String, WritePrecision, TM)
WriteMeasurement<TM>(TM, WritePrecision?, String?, String?)
WriteMeasurements<TM>(WritePrecision, TM[])
WriteMeasurements<TM>(TM[], WritePrecision?, String?, String?)
WriteMeasurements<TM>(String, String, WritePrecision, TM[])
WriteMeasurements<TM>(TM[], WritePrecision?, String?, String?)
WriteMeasurements<TM>(WritePrecision, List<TM>)
WriteMeasurements<TM>(List<TM>, WritePrecision?, String?, String?)
WriteMeasurements<TM>(String, String, WritePrecision, List<TM>)
WriteMeasurements<TM>(List<TM>, WritePrecision?, String?, String?)
WritePoint(PointData)
WritePoint(PointData, String?, String?)
WritePoint(String, String, PointData)
WritePoint(PointData, String?, String?)
WritePoints(PointData[])
WritePoints(PointData[], String?, String?)
WritePoints(String, String, PointData[])
WritePoints(PointData[], String?, String?)
WritePoints(List<PointData>)
WritePoints(List<PointData>, String?, String?)
WritePoints(String, String, List<PointData>)
WritePoints(List<PointData>, String?, String?)
WriteRecord(WritePrecision, String)
WriteRecord(String, WritePrecision?, String?, String?)
WriteRecord(String, String, WritePrecision, String)
WriteRecord(String, WritePrecision?, String?, String?)
WriteRecords(WritePrecision, String[])
WriteRecords(String[], WritePrecision?, String?, String?)
WriteRecords(String, String, WritePrecision, String[])
WriteRecords(String[], WritePrecision?, String?, String?)
WriteRecords(WritePrecision, List<String>)
WriteRecords(List<String>, WritePrecision?, String?, String?)
WriteRecords(String, String, WritePrecision, List<String>)
WriteRecords(List<String>, WritePrecision?, String?, String?)
-
WriteApiAsync
has changed method signatures:3.3.0 4.0.0 WriteMeasurementAsync<TM>(WritePrecision, TM, CancellationToken)
WriteMeasurementAsync<TM>(TM, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementAsync<TM>(String, String, WritePrecision, TM, CancellationToken)
WriteMeasurementAsync<TM>(TM, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, CancellationToken, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, CancellationToken, TM[])
WriteMeasurementsAsync<TM>(TM[], WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(WritePrecision, List<TM>, CancellationToken)
WriteMeasurementsAsync<TM>(List<TM>, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsync<TM>(String, String, WritePrecision, List<TM>, CancellationToken)
WriteMeasurementsAsync<TM>(List<TM>, WritePrecision?, String?, String?, CancellationToken?)
WriteMeasurementsAsyncWithIRestResponse<TM>(IEnumerable<TM>, String, String, WritePrecision, CancellationToken)
WriteMeasurementsAsyncWithIRestResponse<TM>(IEnumerable<TM>, WritePrecision?, String?, String?, CancellationToken?)
WritePointAsync(PointData, CancellationToken)
WritePointAsync(PointData, String?, String?, CancellationToken?)
WritePointAsync(String, String, PointData, CancellationToken)
WritePointAsync(PointData, String?, String?, CancellationToken?)
WritePointsAsync(PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(CancellationToken, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(String, String, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(String, String, CancellationToken, PointData[])
WritePointsAsync(PointData[], String?, String?, CancellationToken?)
WritePointsAsync(List<PointData>, CancellationToken)
WritePointsAsync(List<PointData>, String?, String?, CancellationToken?)
WritePointsAsync(String, String, List<PointData>, CancellationToken)
WritePointsAsync(List<PointData>, String?, String?, CancellationToken?)
WritePointsAsyncWithIRestResponse(IEnumerable<PointData>, String, String, CancellationToken)
WritePointsAsyncWithIRestResponse(IEnumerable<PointData>, String?, String?, CancellationToken?)
WriteRecordAsync(WritePrecision, String, CancellationToken)
WriteRecordAsync(String, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordAsync(String, String, WritePrecision, String, CancellationToken)
WriteRecordAsync(String, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, CancellationToken, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, CancellationToken, String[])
WriteRecordsAsync(String[], WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(WritePrecision, List<String>, CancellationToken)
WriteRecordsAsync(List<String>, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsync(String, String, WritePrecision, List<String>, CancellationToken)
WriteRecordsAsync(List<String>, WritePrecision?, String?, String?, CancellationToken?)
WriteRecordsAsyncWithIRestResponse(IEnumerable<String>, String, String, WritePrecision, CancellationToken)
WriteRecordsAsyncWithIRestResponse(IEnumerable<String>, WritePrecision?, String?, String?, CancellationToken?)
-
FluxClient
has changed method signatures:3.3.0 4.0.0 QueryAsync(String)
QueryAsync(String, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync(String, Action<ICancellable, FluxRecord>, Action<Exception>, Action)
QueryAsync(String, Action<FluxRecord>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String)
QueryAsync<T>(String, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryAsync<T>(String, Action<ICancellable, T>, Action<Exception>, Action)
QueryAsync<T>(String, Action<T>, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String)
QueryRawAsync(String, String?, CancellationToken?)
QueryRawAsync(String, String)
QueryRawAsync(String, String?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, Action<ICancellable, String>, Action<Exception>, Action)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>, Action<Exception>)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
QueryRawAsync(String, String, Action<ICancellable, String>, Action<Exception>, Action)
QueryRawAsync(String, Action<String>, String?, Action<Exception>?, Action?, CancellationToken?)
-
Response type for
WriteApiAsync.WritePointsAsyncWithIRestResponse
isRestResponse[]
instead ofIRestResponse[]
. -
Response type for
WriteApiAsync.WriteMeasurementsAsyncWithIRestResponse
isRestResponse
instead ofIRestResponse
. -
Response type for
WriteApiAsync.WriteRecordsAsyncWithIRestResponse
isRestResponse
instead ofIRestResponse
. -
TelegrafsApi
usesTelegrafPluginRequest
to createTelegraf
configuration. -
Rename
TelegrafPlugin
types:- from
TelegrafPlugin.TypeEnum.Inputs
toTelegrafPlugin.TypeEnum.Input
- from
TelegrafPlugin.TypeEnum.Outputs
toTelegrafPlugin.TypeEnum.Output
- from
-
TasksApi.FindTasksByOrganizationIdAsync(string orgId)
requires pass OrganizationID
as a parameter. For find Tasks by Organization name you can use:_tasksApi.FindTasksAsync(org: "my-org")
.
This release also uses new version of InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi
, QueryApi
, BucketsApi
, OrganizationsApi
...
- Add
ConfigService
to retrieve InfluxDB's runtime configuration - Add
RemoteConnectionsService
to deal with registered remote InfluxDB connections - Add
MetricsService
to deal with exposed prometheus metrics - Update
TemplatesService
to deal withStack
andTemplate
API - Update
BackupService
to deal with new backup functions of InfluxDB - Update
RestoreService
to deal with new restore functions of InfluxDB - Remove
DocumentApi
in favour of InfluxDB Community Templates. For more info see - influxdb#19300, openapi#192 - Remove
DefaultSerive
:GetRoutes
operation is moved toRoutesService
GetTelegrafPlugin
operation is moved toTelegrafsService
PostSignin
operation is moved toSigninService
PostSignout
operation is moved toSignoutService
- Change type of
Duration.magnitude
fromint?
tolong?
TelegrafsService
usesTelegrafPluginRequest
to createTelegraf
configurationTelegrafsService
usesTelegrafPluginRequest
to updateTelegraf
configuration
- #283: Remove out of support
.NET Core
versions -2.2
,3.0
- #283: Add check to compilation warnings
- #283: Add check to correctness of code formatting
#283: Update dependencies:
- RestSharp to 107.3.0
- CsvHelper to 27.2.1
- NodaTime to 3.0.9
- Microsoft.Extensions.ObjectPool to 6.0.1
- System.Collections.Immutable to 6.0.0
- System.Configuration.ConfigurationManager to 6.0.0
- Microsoft.NET.Test.Sdk to 17.0.0
- NUnit3TestAdapter to 4.2.1
- WireMock.Net to 1.4.34
- Moq to 4.16.1
- System.Linq.Async to 6.0.1
- Tomlyn.Signed to 0.10.2
- coverlet.collector to 3.1.2
- #287: Filter tasks by Organization ID
- #277: Add missing PermissionResources from Cloud API definition
- #281: Serialization query response into POCO with optional DateTime
InfluxDBClient.HealthAsync()
: instead useInfluxDBClient.PingAsync()
- #257: Add
PingService
to check status of OSS and Cloud instance - #260: Changed
internal
topublic
visibility ofInfluxDBClientOptions.Builder.ConnectionString
- #266: Add option to accept self-signed certificates
- #264: Add build for
dotnet6
- #262: InfluxDB 2.1 Incompatibility with Session Cookie
- #239: Add support for Asynchronous queries [LINQ]
- #240: Add IsMeasurement option to Column attribute for dynamic measurement names in POCO classes
- #246, #251: Add support for deserialization of POCO column property types with a "Parse" method, such as Guid
- #249: Add support for LINQ Contains subqueries [LINQ]
- #256: Add support for Anonymous authentication - anonymous authentication is used if the user does not specify a token or an username with password
- #252: Update dependencies:
- NUnit to 3.13.2
- NUnit3TestAdapter to 4.0.0
Adds a Type
overload for POCOs to QueryAsync
. This will add object ConvertToEntity(FluxRecord, Type)
to IFluxResultMapper
- #236: Mapping
long
type into Flux AST [LINQ]
- #222: Update dependencies:
- RestSharp to 106.12.0
This release introduces a support for new InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi
, QueryApi
, BucketsApi
, OrganizationsApi
...
UsersService
usesPostUser
to createUser
AuthorizationsService
usesAuthorizationPostRequest
to createAuthorization
BucketsService
usesPatchBucketRequest
to updateBucket
OrganizationsService
usesPostOrganizationRequest
to createOrganization
OrganizationsService
usesPatchOrganizationRequest
to updateOrganization
DashboardsService
usesPatchDashboardRequest
to updateDashboard
DeleteService
is used to delete time series data instead ofDefaultService
Run
contains list ofLogEvent
inLog
propertyDBRPs
contains list ofDBRP
inContent
propertyDBRPsService
usesDBRPCreate
to createDBRP
- Inheritance structure:
Check
<-CheckDiscriminator
<-CheckBase
NotificationEndpoint
<-NotificationEndpointDiscriminator
<-NotificationEndpointBase
NotificationRule
<-NotificationRuleDiscriminator
<-NNotificationRuleBase
- Flux AST literals extends the AST
Expression
object
AuthorizationsApi.CreateAuthorizationAsync(Authorization)
: instead useAuthorizationsApi.CreateAuthorizationAsync(AuthorizationPostRequest)
- #206: Use optional args to pass query parameters into API list call - useful for the ability to use pagination.
- #209: Update dependencies:
- CsvHelper to 27.1.0
- Newtonsoft.Json 13.0.1
- NodaTime to 3.0.5
- NodaTime.Serialization.JsonNet to 3.0.0
- Microsoft.Extensions.ObjectPool to 5.0.7
- #213: API documentation is deploy to GitHub Pages
- #194: Add possibility to handle HTTP response from InfluxDB server [write]
- #197: Optimize Flux Query for querying one time-series [LINQ]
- #205: Exponential random retry [write]
- #193: Create services without API implementation
- #202: Flux AST for Tag parameters which are not
String
[LINQ]
- #184: Add possibility to specify
WebProxy
for Client - #185: Use
group()
function in output Flux query. See details - Group function [LINQ] - #186: Produce a typed HTTP exception
- #188: Switch
pivot()
anddrop()
function to achieve better performance
- #183: Propagate runtime exception to EventHandler
- #146: Add support for querying by
LINQ
- #171: Add
QueryApiSync
for synchronous querying - #171: Add
IDomainObjectMapper
for custom mapping DomainObject from/to InfluxDB - #180: Add a mutable
PointData.Builder
to optimize building of immutablePointData
- #174: Add possibility to use
CancellationToken
in REST API - #179: Add possibility to use
CancellationToken
in the async write API (WriteApiAsync)
- #168: DateTime is always serialized into UTC
- #169: Fix domain structure for Flux AST
- #181: Remove download overhead for Queries
- #175: Update dependencies of
InfluxDB.Client
:- JsonSubTypes to 1.8.0
- Microsoft.Extensions.ObjectPool to 5.0.4
- Microsoft.Net.Http.Headers to 2.2.8
- System.Collections.Immutable to 5.0.0
- System.Configuration.ConfigurationManager to 5.0.0
- System.Reactive to 5.0.0
- #182: Update test dependencies:
- Microsoft.NET.Test.Sdk to 16.5.0
- #182: Add build for
dotnet5
, Fix code coverage report
- #154: Always use
ConfigureAwait(false)
to avoid unnecessary context switching and potential dead-locks. Avoid unnecessary await overhead. - #158: Remove unnecessary dependencies:
System.Net.Http
andMicrosoft.Bcl.AsyncInterfaces
- #165: Updated stable image to
influxdb:latest
and nightly toquay.io/influxdb/influxdb:nightly
- #143: Added validation that a configuration is present when is client configured via file
- #150: The unsigned numbers are serialized with
u
postfix
- #140: Updated default docker image to v2.0.3
- #136: CSV parser is able to parse export from UI
- #138: Updated default docker image to v2.0.2
- #121: Added IAsyncEnumerable<T> query overloads to QueryAPI
- #127: Added exponential backoff strategy for batching writes. Default value for
RetryInterval
is 5_000 milliseconds. - #128: Improved logging message for retries
- #122: Default port changed from 9999 to 8086
- #124: Removed labels in organization API, removed Pkg* structure and package service
- #119: No timestamp returned via POCO based QueryAsync<T>
- #97: Improved WriteApi performance
- #116: Moved api generator to separate module influxdb-clients-apigen
- #113: Fixed unnecessary API call when writing collection of DataPoints
- #102: Added WriteApiAsync for asynchronous write without batching
- #106: Fixed serialization of
\n
,\r
and\t
to Line Protocol,=
is valid sign for measurement name - #108: Replaced useless .ContinueWith in Api by direct call
- #96: The PointData builder is now immutable
- #94: Update swagger to latest version
- #103: Removed log system from Bucket, Dashboard, Organization, Task and Users API - influxdb#18459
- #104: Upgraded InfluxDB 1.7 to 1.8
- #84: Add possibility to authenticate by Basic Authentication or the URL query parameters
- #91: Added support "inf" in Duration
- #92: Remove trailing slash from connection URL
- #70: Optimized mapping of measurements into
PointData
- #69: Write buffer uses correct flush interval and batch size under heavy load
- #77: Clarify how to use a client with InfluxDB 1.8
- #74: update CsvHelper to [15.0.4,16.0)
- #61: Set User-Agent to influxdb-client-csharp/VERSION for all requests
- #64: Add authentication with Username and Password for Client.Legacy
- #63: Correctly parse CSV where multiple results include multiple tables
- #57: LogLevel Header also contains query parameters
- #58: CircleCI builds over dotnet 2.2, 3.0 and 3.1; Added build on Windows Server 2019
- #60: Deploy dev version to Nuget repository
- #52: Updated swagger to latest version
- #54: Added beta release to continuous integration
- #56: WriteApi is disposed after a buffer is fully processed
- #49: Optimized serialization to LineProtocol
- #46: Updated swagger to latest version
- #43 Added DeleteApi
- #42: Updated swagger to latest version
- #34: Renamed Point class to PointData and Task class to TaskType (improving the usability of this library)
- #40: Added
Async
suffix into asynchronous methods
- #59: Added support for Monitoring & Alerting
- #36: Updated swagger to latest version
- #31: Drop NaN and infinity values from fields when writing to InfluxDB
- #39: FluxCSVParser uses a CultureInfo for parsing string to double
- #29: Added support for gzip compression of query response and write body
- #27: The org parameter takes either the ID or Name interchangeably
- #25: Updated swagger to latest version
- #24: The data point without field should be ignored
- Client: The reference C# client that allows query, write and InfluxDB 2.0 management
- Client.Legacy: The reference C# client that allows you to perform Flux queries against InfluxDB 1.7+