Releases: influxdata/influxdb-client-csharp
4.0.0-rc2
Migration Notice
- 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);
Breaking Changes
API
- 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 }
Features
- #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
Bug Fixes
CI
- #292: Use new Codecov uploader for reporting code coverage
4.0.0-rc1
Breaking Changes
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.
API
-
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:From
var client = FluxClientFactory.Create("http://localhost:8086/");
To
using var client = FluxClientFactory.Create("http://localhost:8086/");
-
The Query APIs uses
CancellationToken
instead ofICancellable
:From
await QueryApi.QueryAsync(flux, (cancellable, record) => { // process record Console.WriteLine($"record: {record}"); if (your_condition) { // cancel stream source.Cancel(); } })
To
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<...
v3.3.0
3.2.0
Deprecates
InfluxDBClient.HealthAsync()
: instead useInfluxDBClient.PingAsync()
Features
- #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
CI
- #264: Add build for
dotnet6
Bug Fixes
- #262: InfluxDB 2.1 Incompatibility with Session Cookie
3.1.0
Features
- #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
Dependencies
- #252: Update dependencies:
- NUnit to 3.13.2
- NUnit3TestAdapter to 4.0.0
3.0.0
Breaking Changes
Adds a Type
overload for POCOs to QueryAsync
. This will add object ConvertToEntity(FluxRecord, Type)
to IFluxResultMapper
Features
Bug Fixes
- #236: Mapping
long
type into Flux AST [LINQ]
2.1.0
2.0.0
2.0.0 [2021-07-09]
Breaking Changes
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
Deprecates
AuthorizationsApi.CreateAuthorizationAsync(Authorization)
: instead useAuthorizationsApi.CreateAuthorizationAsync(AuthorizationPostRequest)
Features
- #206: Use optional args to pass query parameters into API list call - useful for the ability to use pagination.
API
Dependencies
- #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
Documentation
- #213: API documentation is deployed to GitHub Pages
1.19.0
1.18.0
Features
- #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
Bug Fixes
- #183: Propagate runtime exception to EventHandler