influxdb-client-csharp
influxdb-client-csharp copied to clipboard
Breaking change in 4.12.0 due to RestSharp update to 109+
Steps to reproduce:
Use version 4.11.0 and set a BaseUrl:
ApiClient.RestClient.BaseUrl = new Uri("http://some.url")
Upgrade to 4.12.0.
The code no longer builds even though the version upgrade was minor.
Expected behavior:
Either hide your third-party implementation details behind an interface. Or be aware of breaking changes in your own API via third-party library changes and increase your major version accordingly.
Actual behavior:
RestSharp made a breaking change to RestClient in SHA1:507ed8 and increased heir major version to 109 accordingly.
RestSharp as part of the influx client API was updated from 108.0.1 to 110.1.0 (i. e. >=109) between influx client 4.11.0 and 4.12.0.
Even though this is a breaking API change for influx client as well, there was no major version increase.
Specifications:
- Client Version: 4.12.0
- InfluxDB Version: irrelevant
- Platform: irrelevant
Hi @shuebner,
thanks for using our client,
How do you access to the ApiClient? The ApiClient is internal property of the InfluxDBClient: https://github.com/influxdata/influxdb-client-csharp/blob/9006c29ef6fab8bb0236462168e1b0695957e8f6/Client/InfluxDBClient.cs#L223.
You should set url via constructor:
const string url = "http://localhost:8086";
const string token = "my-token";
using var client = new InfluxDBClient(url, token)
Regards
This has nothing to do with either InfluxDBClient or the URL, but only ApiClient. The class ApiClient is public as is the RestClient property. This makes it part of the public API of the influx client library.
Influx published a breaking change in its API under a minor version increment.
That is unexpected and -- when following semver rules -- wrong.