Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit f6c3dd2

Browse files
LaunchDarklyReleaseBoteli-darklybwoskow-ldLaunchDarklyCIember-stevens
authored
prepare 8.0.0 release (#177)
## [8.0.0] - 2023-10-16 The latest version of this SDK supports the ability to manage migrations or modernizations, using migration flags. You might use this functionality if you are optimizing queries, upgrading to new tech stacks, migrating from one database to another, or other similar technology changes. Migration flags are part of LaunchDarkly's Early Access Program. This feature is available to all LaunchDarkly customers but may undergo additional changes before it is finalized. For detailed information about this version, refer to the list below. For information on how to upgrade from the previous version, read the [migration guide](https://docs.launchdarkly.com/sdk/server-side/dotnet/migration-7-to-8). ### Added: - A new `Migration` type which provides an out-of-the-box configurable migration framework. - For more advanced use cases, added new `MigrationVariation` and `TrackMigration` methods on LdClient. - `ApplicationInfo`, for configuration of application metadata that may be used in LaunchDarkly analytics or other product features. This does not affect feature flag evaluations. - Added `IsOffline` method to `ILdClient`. This was previously only available on the concrete `LdClient` implementation. ### Removed: - Remove support for `User` in `LdClient` methods. The `Context.FromUser` method can be used to convert a `User` to a `Context`. In a future version it may be removed. ### Changed: - Upgraded `LaunchDarkly.EventSource` to `5.1.0`. This will change the minimum `LaunchDarkly.Logging` version to `2.0.0` for all dependencies. --------- Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: LaunchDarklyCI <LaunchDarklyCI@users.noreply.github.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: ld-repository-standards[bot] <113625520+ld-repository-standards[bot]@users.noreply.github.com> Co-authored-by: Kane Parkinson <93555788+kparkinson-ld@users.noreply.github.com>
1 parent 271d3a0 commit f6c3dd2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+3823
-630
lines changed

.ldrelease/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ jobs:
2020

2121
branches:
2222
- name: main
23-
description: 7.x
23+
description: 8.x
24+
- name: 7.x
2425
- name: 6.x
2526
- name: 5.x
2627

CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Repository Maintainers
2+
* @launchdarkly/team-sdk-net

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ For using LaunchDarkly in *client-side* .NET applications, including mobile (Xam
1010

1111
## LaunchDarkly overview
1212

13-
[LaunchDarkly](https://www.launchdarkly.com) is a feature management platform that serves over 100 billion feature flags daily to help teams build better software, faster. [Get started](https://docs.launchdarkly.com/home/getting-started) using LaunchDarkly today!
13+
[LaunchDarkly](https://www.launchdarkly.com) is a feature management platform that serves trillions of feature flags daily to help teams build better software, faster. [Get started](https://docs.launchdarkly.com/home/getting-started) using LaunchDarkly today!
1414

1515
[![Twitter Follow](https://img.shields.io/twitter/follow/launchdarkly.svg?style=social&label=Follow&maxAge=2592000)](https://twitter.com/intent/follow?screen_name=launchdarkly)
1616

@@ -51,7 +51,7 @@ Public Key Token: f86add69004e6885
5151

5252
## Learn more
5353

54-
Check out our [documentation](https://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [complete reference guide for this SDK](https://docs.launchdarkly.com/docs/dotnet-sdk-reference).
54+
Read our [documentation](https://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [complete reference guide for this SDK](https://docs.launchdarkly.com/docs/dotnet-sdk-reference).
5555

5656
The authoritative description of all types, properties, and methods is in the [generated API documentation](https://launchdarkly.github.io/dotnet-server-sdk/).
5757

contract-tests/CallbackService.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class CallbackService
1919
private static readonly HttpClient _httpClient = new HttpClient();
2020

2121
private readonly Uri _uri;
22-
22+
2323
public CallbackService(Uri uri)
2424
{
2525
_uri = uri;
@@ -50,6 +50,23 @@ public async Task<T> PostAsync<T>(string path, object parameters)
5050
return ret;
5151
}
5252

53+
public async Task<string> PostStringAsync(string path, string parameter)
54+
{
55+
var resp = await _httpClient.PostAsync(_uri + path,
56+
new StringContent(
57+
parameter,
58+
Encoding.UTF8,
59+
"test/plain"));
60+
var body = resp.Content == null ? "" : await resp.Content.ReadAsStringAsync();
61+
if (!resp.IsSuccessStatusCode)
62+
{
63+
throw new Exception(string.Format("Callback to {0} returned HTTP error {1} {2}",
64+
_uri + path, (int)resp.StatusCode, body));
65+
}
66+
67+
return body;
68+
}
69+
5370
private async Task<HttpResponseMessage> PostInternalAsync(string path, object parameters)
5471
{
5572
var resp = await _httpClient.PostAsync(_uri + path,

contract-tests/Representations.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ public class SdkConfigParams
2929
public SdkConfigStreamParams Streaming { get; set; }
3030
public SdkConfigEventParams Events { get; set; }
3131
public SdkConfigBigSegmentsParams BigSegments { get; set; }
32+
public SdkTagParams Tags { get; set; }
33+
}
34+
35+
public class SdkTagParams
36+
{
37+
public string ApplicationId { get; set; }
38+
public string ApplicationVersion { get; set; }
3239
}
3340

3441
public class SdkConfigStreamParams
@@ -66,6 +73,8 @@ public class CommandParams
6673
public ContextBuildParams ContextBuild { get; set; }
6774
public ContextConvertParams ContextConvert { get; set; }
6875
public SecureModeHashParams SecureModeHash { get; set; }
76+
public MigrationVariationParams MigrationVariation { get; set; }
77+
public MigrationOperationParams MigrationOperation { get; set; }
6978
}
7079

7180
public class EvaluateFlagParams
@@ -159,4 +168,33 @@ public class SecureModeHashResponse
159168
{
160169
public string Result { get; set; }
161170
}
171+
172+
public class MigrationVariationParams {
173+
public string Key { get; set; }
174+
public Context Context { get; set; }
175+
public string DefaultStage { get; set; }
176+
}
177+
178+
public class MigrationVariationResponse {
179+
public string Result { get; set; }
180+
}
181+
182+
public class MigrationOperationParams {
183+
public string Operation { get; set; }
184+
public Context Context { get; set; }
185+
public string Key { get; set; }
186+
public string DefaultStage { get; set; }
187+
public string Payload { get; set; }
188+
public string ReadExecutionOrder { get; set; }
189+
public bool TrackConsistency { get; set; }
190+
public bool TrackLatency { get; set; }
191+
public bool TrackErrors { get; set; }
192+
public Uri OldEndpoint { get; set; }
193+
public Uri NewEndpoint { get; set; }
194+
}
195+
196+
public class MigrationOperationResponse {
197+
public string Result { get; set; }
198+
public string Error { get; set; }
199+
}
162200
}

0 commit comments

Comments
 (0)