Skip to content

Commit 46b04de

Browse files
Merge pull request #36 from localstack-dotnet/net-8-upgrade
Update for LocalStack.NET: .NET 8 support, new AWS services and more
2 parents e1233e1 + 95b7a33 commit 46b04de

File tree

71 files changed

+1750
-614
lines changed

Some content is hidden

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

71 files changed

+1750
-614
lines changed

.github/workflows/build-ubuntu.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616

1717
jobs:
1818
build-and-test:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-20.04
2020

2121
steps:
2222
- name: Checkout
@@ -38,10 +38,10 @@ jobs:
3838
with:
3939
dotnet-version: "6.0.x"
4040

41-
- name: Install .NET 7
41+
- name: Install .NET 8
4242
uses: actions/setup-dotnet@v1
4343
with:
44-
dotnet-version: "7.0.x"
44+
dotnet-version: "8.0.x"
4545

4646
- name: Build
4747
run: ./build.sh --target build

.github/workflows/build-windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ jobs:
3232
with:
3333
dotnet-version: "6.0.x"
3434

35-
- name: Install .NET 7
35+
- name: Install .NET 8
3636
uses: actions/setup-dotnet@v1
3737
with:
38-
dotnet-version: "7.0.x"
38+
dotnet-version: "8.0.x"
3939

4040
- name: Build
4141
run: .\build.ps1 --target build

.github/workflows/publish-nuget.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ jobs:
4242
with:
4343
dotnet-version: "6.0.x"
4444

45-
- name: Install .NET 7
45+
- name: Install .NET 8
4646
uses: actions/setup-dotnet@v1
4747
with:
48-
dotnet-version: "7.0.x"
48+
dotnet-version: "8.0.x"
4949

5050
- name: Build & Test
5151
run: ./build.sh

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,50 @@
11
# LocalStack .NET Client Change Log
22

3+
### [v1.5.0](https://github.com/localstack-dotnet/localstack-dotnet-client/releases/tag/v1.5.0)
4+
5+
#### 1. New Features
6+
7+
- **Added Endpoints from [Localstack Python Client](https://github.com/localstack/localstack-python-client) v2.7:**
8+
- **RAM**
9+
- **AppConfigData**
10+
- **Pinpoint**
11+
- **EventBridge Pipes**
12+
13+
#### 2. General
14+
15+
- **Framework Support Updates:**
16+
- **.NET 8** support added.
17+
- **Deprecated** support for **.NET 7** and **.NET 4.6.1**.
18+
- Continued support for **.NET Standard 2.0** to maintain compatibility with older .NET versions.
19+
- **Upcoming Changes:**
20+
- In the next release, **.NET 6** support will be removed as it reaches end-of-life in November 2024.
21+
22+
- **Functional Tests Enhancements:**
23+
- **Removed** tests for legacy LocalStack versions and versions **v2.0** and **v2.2**.
24+
- **Note:** LocalStack.NET no longer guarantees compatibility with these versions.
25+
- **Added** functional test support for LocalStack versions:
26+
- **v2.3**
27+
- **v3.4**
28+
- **v3.7.1**
29+
- **New Tests:**
30+
- Introduced new tests for **CloudFormation**.
31+
32+
- **Package Updates:**
33+
- **AWSSDK.Core** minimum version set to **3.7.400.30**.
34+
35+
- **Testing Compatibility:**
36+
- Successfully tested against LocalStack versions:
37+
- **v1.3.1**
38+
- **v2.3**
39+
- **v3.4**
40+
- **v3.7.1**
41+
42+
#### 3. Warnings
43+
44+
- **Breaking Changes Postponed:**
45+
- The planned breaking changes have been postponed to the next release.
46+
- **Important:** Users should anticipate some breaking changes in the next release due to the removal of legacy support and configuration updates.
47+
348
### [v1.4.1](https://github.com/localstack-dotnet/localstack-dotnet-client/releases/tag/v1.4.1)
449

550
#### 1. New Features

Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
<Owners>LocalStack.NET</Owners>
66
<PackageProjectUrl>https://github.com/localstack-dotnet/localstack-dotnet-client</PackageProjectUrl>
77
<PackageIcon>localstack-dotnet-square.png</PackageIcon>
8-
<PackageMainVersion>1.4.1</PackageMainVersion>
9-
<PackageExtensionVersion>1.2.1</PackageExtensionVersion>
8+
<PackageMainVersion>1.5.0</PackageMainVersion>
9+
<PackageExtensionVersion>1.3.0</PackageExtensionVersion>
1010
<IncludeSymbols>true</IncludeSymbols>
1111
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
12-
<LangVersion>11.0</LangVersion>
12+
<LangVersion>12.0</LangVersion>
1313
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
1414
<AnalysisLevel>latest</AnalysisLevel>
1515
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

Directory.Packages.props

Lines changed: 142 additions & 127 deletions
Large diffs are not rendered by default.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 LocalStack.NET
3+
Copyright (c) 2024 LocalStack.NET
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

LocalStack.sln.DotSettings

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@
253253
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
254254
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
255255
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
256+
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002EMemberReordering_002EMigrations_002ECSharpFileLayoutPatternRemoveIsAttributeUpgrade/@EntryIndexedValue">True</s:Boolean>
256257
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
257258
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
258259
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>

LocalStack.slnx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<Solution>
2+
<Folder Name="/build/">
3+
<Project Path="build\LocalStack.Build\LocalStack.Build.csproj" />
4+
</Folder>
5+
<Folder Name="/test/">
6+
<Project Path="tests\LocalStack.Client.Extensions.Tests\LocalStack.Client.Extensions.Tests.csproj" />
7+
<Project Path="tests\LocalStack.Client.Functional.Tests\LocalStack.Client.Functional.Tests.csproj" />
8+
<Project Path="tests\LocalStack.Client.Integration.Tests\LocalStack.Client.Integration.Tests.csproj" />
9+
<Project Path="tests\LocalStack.Client.Tests\LocalStack.Client.Tests.csproj" />
10+
</Folder>
11+
<Folder Name="/test/common/">
12+
<Project Path="tests\common\LocalStack.Tests.Common\LocalStack.Tests.Common.csproj" Type="Classic C#" />
13+
</Folder>
14+
<Folder Name="/test/sandboxes/">
15+
<Project Path="tests\sandboxes\LocalStack.Client.Sandbox.DependencyInjection\LocalStack.Client.Sandbox.DependencyInjection.csproj" />
16+
<Project Path="tests\sandboxes\LocalStack.Client.Sandbox.WithGenericHost\LocalStack.Client.Sandbox.WithGenericHost.csproj" />
17+
<Project Path="tests\sandboxes\LocalStack.Client.Sandbox\LocalStack.Client.Sandbox.csproj" />
18+
<Project Path="tests\sandboxes\LocalStack.Container\LocalStack.Container.csproj" />
19+
</Folder>
20+
<Folder Name="/_Solution Items/">
21+
<File Path=".github\workflows\build-macos.yml" />
22+
<File Path=".github\workflows\build-ubuntu.yml" />
23+
<File Path=".github\workflows\build-windows.yml" />
24+
<File Path="build.ps1" />
25+
<File Path="build.sh" />
26+
<File Path=".github\workflows\publish-nuget.yml" />
27+
</Folder>
28+
<Project Path="src\LocalStack.Client.Extensions\LocalStack.Client.Extensions.csproj" />
29+
<Project Path="src\LocalStack.Client\LocalStack.Client.csproj" />
30+
</Solution>

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ The `RegionName` is important as LocalStack creates resources based on the speci
129129

130130
## Known Issues
131131

132-
- **LocalStack Versions v2.0.1 - v2.2:** In versions v2.0.1 through v2.2 of LocalStack, the URL routing logic was changed, causing issues with SQS and S3 operations. Two issues were opened in LocalStack regarding this: [issue #8928](https://github.com/localstack/localstack/issues/8928) and [issue #8924](https://github.com/localstack/localstack/issues/8924). LocalStack addressed this problem with [PR #8962](https://github.com/localstack/localstack/pull/8962). Therefore, when using LocalStack.NET, either use version v2.0 of LocalStack (there are no issues with the v1 series as well) or the upcoming v2.3 version, or use the latest container from Docker Hub.
132+
- **SNS with LocalStack v3.7.2 and v3.8.0:** During development on the new version, it was discovered that SNS functional tests are not working in LocalStack versions v3.7.2 and v3.8.0. This issue was reported in LocalStack [issue #11652](https://github.com/localstack/localstack/issues/11652). The LocalStack team identified a bug related to handling SNS URIs and resolved it in [PR #11653](https://github.com/localstack/localstack/pull/11653). The fix will be included in an upcoming release of LocalStack. In the meantime, if you're using SNS, it is recommended to stick to version v3.7.1 of LocalStack until the fix is available.
133+
134+
- **LocalStack Versions v2.0.1 - v2.2:** In versions v2.0.1 through v2.2 of LocalStack, the URL routing logic was changed, causing issues with SQS and S3 operations. Two issues were opened in LocalStack regarding this: [issue #8928](https://github.com/localstack/localstack/issues/8928) and [issue #8924](https://github.com/localstack/localstack/issues/8924). LocalStack addressed this problem with [PR #8962](https://github.com/localstack/localstack/pull/8962). Therefore, when using LocalStack.NET, either use version v2.0 of LocalStack (there are no issues with the v1 series as well) or the upcoming v2.3 version, or use the latest v3 series container from Docker Hub.
133135

134136
- **AWS_SERVICE_URL Environment Variable:** Unexpected behaviors might occur in LocalStack.NET when the `AWS_SERVICE_URL` environment variable is set. This environment variable is typically set by LocalStack in the container when using AWS Lambda, and AWS also uses this environment variable in the live environment. Soon, just like in LocalStack's official Python library, this environment variable will be prioritized by LocalStack.NET when configuring the LocalStack host, and there will be a general simplification in the configuration. You can follow this in the issues [issue #27](https://github.com/localstack-dotnet/localstack-dotnet-client/issues/27) and [issue #32](https://github.com/localstack-dotnet/localstack-dotnet-client/issues/32). You set the `AWS_SERVICE_URL` to empty string until this issue is resolved.
135137

@@ -139,6 +141,8 @@ Environment.SetEnvironmentVariable("AWS_SERVICE_URL", string.Empty);
139141

140142
- **IAmazonLambda Operations:** There's a general issue with `IAmazonLambda` operations. This matter is currently under investigation.
141143

144+
- **AWSSDK.SQS Compatibility:** Starting from version `3.7.300.*` of `AWSSDK.SQS`, there are compatibility issues with LocalStack v1 and v2 series versions. The [v3](https://hub.docker.com/r/localstack/localstack/tags?page=&page_size=&ordering=&name=3.4) series of LocalStack does not have these issues. Therefore, it is recommended to either update your LocalStack container to the v3 series or downgrade your `AWSSDK.SQS` to version `3.7.200.*` if you are using LocalStack v1 or v2 series containers. It is important to note that this is not a problem related to LocalStack.NET, but rather an issue with the LocalStack container and the AWS SDK for .NET.
145+
142146
## Developing
143147

144148
We appreciate contributions in the form of feedback, bug reports, and pull requests.

0 commit comments

Comments
 (0)