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

Commit 37e661a

Browse files
Releasing version 3.0.0
1 parent 66e1316 commit 37e661a

File tree

9 files changed

+622
-606
lines changed

9 files changed

+622
-606
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
All notable changes to the LaunchDarkly .NET SDK Redis integration will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
44

5+
## [3.0.0] - 2021-06-09
6+
This release is for use with versions 6.0.0 and higher of [`LaunchDarkly.ServerSdk`](https://github.com/launchdarkly/dotnet-server-sdk).
7+
8+
For more information about changes in the SDK database integrations, see the [5.x to 6.0 migration guide](https://docs-stg.launchdarkly.com/252/sdk/server-side/dotnet/migration-5-to-6).
9+
10+
Like the previous major version of this library, it uses version 2.x of `StackExchange.Redis`.
11+
12+
### Changed:
13+
- The namespace is now `LaunchDarkly.Sdk.Server.Integrations`.
14+
- The entry point is now `LaunchDarkly.Sdk.Server.Integrations.Redis` rather than `LaunchDarkly.Client.Integrations.Redis` (or, in earlier versions, `LaunchDarkly.Client.Redis.RedisComponents`).
15+
- The logger name is now `LaunchDarkly.Sdk.DataStore.Redis` rather than `LaunchDarkly.Client.Redis.RedisFeatureStoreCore`.
16+
17+
### Removed:
18+
- Removed the deprecated `RedisComponents` entry point and `RedisFeatureStoreBuilder`.
19+
- The package no longer has a dependency on `Common.Logging` but instead integrates with the SDK's logging mechanism.
20+
521
## [2.0.1] - 2021-06-01
622
### Fixed:
723
- The library was not fully compliant with the standard usage of Redis keys by other LaunchDarkly SDKs and by the Relay Proxy, as follows: although feature flag data was stored with the correct keys, the wrong key was used for the special value that indicates that the database has been initialized. As a result, if the Relay Proxy had stored data in Redis, the .NET SDK would not detect it, and if the .NET SDK had stored data in Redis, other SDKs might not detect it.
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
4-
<IsPackable>false</IsPackable>
5-
<RootNamespace>LaunchDarkly.Sdk.Server.SharedTests</RootNamespace>
6-
</PropertyGroup>
7-
8-
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
10-
<PackageReference Include="xunit" Version="2.4.1" />
11-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
12-
</ItemGroup>
13-
<ItemGroup>
14-
<ProjectReference Include="..\LaunchDarkly.ServerSdk.SharedTests\LaunchDarkly.ServerSdk.SharedTests.csproj" />
15-
</ItemGroup>
16-
</Project>
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
4+
<IsPackable>false</IsPackable>
5+
<RootNamespace>LaunchDarkly.Sdk.Server.SharedTests</RootNamespace>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
10+
<PackageReference Include="xunit" Version="2.4.1" />
11+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
12+
</ItemGroup>
13+
<ItemGroup>
14+
<ProjectReference Include="..\LaunchDarkly.ServerSdk.SharedTests\LaunchDarkly.ServerSdk.SharedTests.csproj" />
15+
</ItemGroup>
16+
</Project>
Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
5-
using static LaunchDarkly.Sdk.Server.Interfaces.DataStoreTypes;
6-
7-
namespace LaunchDarkly.Sdk.Server.SharedTests.DataStore
8-
{
9-
/// <summary>
10-
/// Simplifies building the input parameter for a data store's Init method.
11-
/// </summary>
12-
public class DataBuilder
13-
{
14-
private readonly IDictionary<DataKind, IDictionary<String, TestEntity>> _data =
15-
new Dictionary<DataKind, IDictionary<String, TestEntity>>();
16-
17-
public DataBuilder Add(DataKind kind, params TestEntity[] items)
18-
{
19-
IDictionary<String, TestEntity> itemsDict;
20-
if (!_data.TryGetValue(kind, out itemsDict))
21-
{
22-
itemsDict = new Dictionary<String, TestEntity>();
23-
_data[kind] = itemsDict;
24-
}
25-
foreach (var item in items)
26-
{
27-
itemsDict[item.Key] = item;
28-
}
29-
return this;
30-
}
31-
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
5+
using static LaunchDarkly.Sdk.Server.Interfaces.DataStoreTypes;
6+
7+
namespace LaunchDarkly.Sdk.Server.SharedTests.DataStore
8+
{
9+
/// <summary>
10+
/// Simplifies building the input parameter for a data store's Init method.
11+
/// </summary>
12+
public class DataBuilder
13+
{
14+
private readonly IDictionary<DataKind, IDictionary<String, TestEntity>> _data =
15+
new Dictionary<DataKind, IDictionary<String, TestEntity>>();
16+
17+
public DataBuilder Add(DataKind kind, params TestEntity[] items)
18+
{
19+
IDictionary<String, TestEntity> itemsDict;
20+
if (!_data.TryGetValue(kind, out itemsDict))
21+
{
22+
itemsDict = new Dictionary<String, TestEntity>();
23+
_data[kind] = itemsDict;
24+
}
25+
foreach (var item in items)
26+
{
27+
itemsDict[item.Key] = item;
28+
}
29+
return this;
30+
}
31+
3232
public FullDataSet<SerializedItemDescriptor> BuildSerialized()
3333
{
3434
return new FullDataSet<SerializedItemDescriptor>(
@@ -39,6 +39,6 @@ public FullDataSet<SerializedItemDescriptor> BuildSerialized()
3939
)
4040
)
4141
));
42-
}
43-
}
44-
}
42+
}
43+
}
44+
}

0 commit comments

Comments
 (0)