diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e901d25db..c9733b58e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -27,7 +27,6 @@ jobs:
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # 5.0.0
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Install dependencies
diff --git a/.github/workflows/examples-tests.yml b/.github/workflows/examples-tests.yml
index 1561c0612..5872c3057 100644
--- a/.github/workflows/examples-tests.yml
+++ b/.github/workflows/examples-tests.yml
@@ -27,7 +27,6 @@ jobs:
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # 5.0.0
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Install dependencies
diff --git a/.github/workflows/publish-artifacts-examples-tests.yml b/.github/workflows/publish-artifacts-examples-tests.yml
index 4de1f3d06..5418844ce 100644
--- a/.github/workflows/publish-artifacts-examples-tests.yml
+++ b/.github/workflows/publish-artifacts-examples-tests.yml
@@ -33,7 +33,6 @@ jobs:
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # 5.0.0
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Build libraries
@@ -64,7 +63,6 @@ jobs:
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # 5.0.0
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Download packages
@@ -124,7 +122,6 @@ jobs:
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # 5.0.0
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Setup GitHub Packages source
diff --git a/libraries/src/AWS.Lambda.Powertools.Idempotency/Idempotency.cs b/libraries/src/AWS.Lambda.Powertools.Idempotency/Idempotency.cs
index 3e953e73e..a9fdb2e3e 100644
--- a/libraries/src/AWS.Lambda.Powertools.Idempotency/Idempotency.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Idempotency/Idempotency.cs
@@ -166,9 +166,8 @@ public IdempotencyBuilder WithOptions(IdempotencyOptions options)
return this;
}
-#if NET8_0_OR_GREATER
///
- /// Set Customer JsonSerializerContext to append to IdempotencySerializationContext
+ /// Set Customer JsonSerializerContext to append to IdempotencySerializationContext
///
///
/// IdempotencyBuilder
@@ -177,6 +176,5 @@ public IdempotencyBuilder WithJsonSerializationContext(JsonSerializerContext con
IdempotencySerializer.AddTypeInfoResolver(context);
return this;
}
-#endif
}
}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Idempotency/IdempotencyOptionsBuilder.cs b/libraries/src/AWS.Lambda.Powertools.Idempotency/IdempotencyOptionsBuilder.cs
index 55b3141b0..c75915f0c 100644
--- a/libraries/src/AWS.Lambda.Powertools.Idempotency/IdempotencyOptionsBuilder.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Idempotency/IdempotencyOptionsBuilder.cs
@@ -40,7 +40,7 @@ public class IdempotencyOptionsBuilder
///
/// Default Hash function
///
- private string _hashFunction = "MD5";
+ private readonly string _hashFunction = "MD5";
///
/// Response hook function
@@ -160,15 +160,9 @@ public IdempotencyOptionsBuilder WithExpiration(TimeSpan duration)
///
/// Can be any algorithm supported by HashAlgorithm.Create
/// the instance of the builder (to chain operations)
-#if NET8_0_OR_GREATER
[Obsolete("Idempotency uses MD5 and does not support other hash algorithms.")]
-#endif
public IdempotencyOptionsBuilder WithHashFunction(string hashFunction)
{
-#if NET6_0
- // for backward compability keep this code in .net 6
- _hashFunction = hashFunction;
-#endif
return this;
}
diff --git a/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializationContext.cs b/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializationContext.cs
index 6f77b9cfb..eb101ef49 100644
--- a/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializationContext.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializationContext.cs
@@ -17,16 +17,12 @@
namespace AWS.Lambda.Powertools.Idempotency.Internal.Serializers;
-#if NET8_0_OR_GREATER
-
-
///
-/// The source generated JsonSerializerContext to be used to Serialize Idempotency types
+/// The source generated JsonSerializerContext to be used to Serialize Idempotency types
///
[JsonSerializable(typeof(string))]
[JsonSerializable(typeof(object))]
public partial class IdempotencySerializationContext : JsonSerializerContext
{
-}
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializer.cs b/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializer.cs
index 975a47f4b..46aa22979 100644
--- a/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Idempotency/Internal/Serializers/IdempotencySerializer.cs
@@ -29,16 +29,12 @@ private static void BuildDefaultOptions()
{
PropertyNameCaseInsensitive = true
};
-#if NET8_0_OR_GREATER
if (!RuntimeFeatureWrapper.IsDynamicCodeSupported)
{
_jsonOptions.TypeInfoResolverChain.Add(IdempotencySerializationContext.Default);
}
-#endif
}
-#if NET8_0_OR_GREATER
-
///
/// Adds a JsonTypeInfoResolver to the JsonSerializerOptions.
///
@@ -73,7 +69,6 @@ internal static void SetJsonOptions(JsonSerializerOptions options)
{
_jsonOptions = options;
}
-#endif
///
/// Serializes the specified object to a JSON string.
@@ -83,9 +78,6 @@ internal static void SetJsonOptions(JsonSerializerOptions options)
/// A JSON string representation of the object.
internal static string Serialize(object value, Type inputType)
{
-#if NET6_0
- return JsonSerializer.Serialize(value, _jsonOptions);
-#else
if (RuntimeFeatureWrapper.IsDynamicCodeSupported)
{
#pragma warning disable
@@ -100,7 +92,6 @@ internal static string Serialize(object value, Type inputType)
}
return JsonSerializer.Serialize(value, typeInfo);
-#endif
}
///
@@ -113,15 +104,11 @@ internal static string Serialize(object value, Type inputType)
[UnconditionalSuppressMessage("AOT", "IL3050:Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.", Justification = "False positive")]
internal static T Deserialize(string value)
{
-#if NET6_0
- return JsonSerializer.Deserialize(value,_jsonOptions);
-#else
if (RuntimeFeatureWrapper.IsDynamicCodeSupported)
{
return JsonSerializer.Deserialize(value, _jsonOptions);
}
return (T)JsonSerializer.Deserialize(value, GetTypeInfo(typeof(T)));
-#endif
}
}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Idempotency/Persistence/BasePersistenceStore.cs b/libraries/src/AWS.Lambda.Powertools.Idempotency/Persistence/BasePersistenceStore.cs
index 07a199131..603f981e9 100644
--- a/libraries/src/AWS.Lambda.Powertools.Idempotency/Persistence/BasePersistenceStore.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Idempotency/Persistence/BasePersistenceStore.cs
@@ -324,12 +324,8 @@ private static bool IsMissingIdempotencyKey(JsonElement data)
///
internal string GenerateHash(JsonElement data)
{
-#if NET8_0_OR_GREATER
// starting .NET 8 no option to change hash algorithm
using var hashAlgorithm = MD5.Create();
-#else
- using var hashAlgorithm = HashAlgorithm.Create(_idempotencyOptions.HashFunction);
-#endif
if (hashAlgorithm == null)
{
throw new ArgumentException("Invalid HashAlgorithm");
diff --git a/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializationContext.cs b/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializationContext.cs
index ecd26686d..5db1afe9b 100644
--- a/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializationContext.cs
+++ b/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializationContext.cs
@@ -3,8 +3,6 @@
namespace AWS.Lambda.Powertools.JMESPath.Serializers;
-#if NET8_0_OR_GREATER
-
///
/// The source generated JsonSerializerContext to be used to Serialize JMESPath types
///
@@ -16,6 +14,4 @@ namespace AWS.Lambda.Powertools.JMESPath.Serializers;
[JsonSerializable(typeof(JsonElement))]
public partial class JmesPathSerializationContext : JsonSerializerContext
{
-}
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializer.cs b/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializer.cs
index 79f1b903c..47bfff7ad 100644
--- a/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.JMESPath/Serializers/JMESPathSerializer.cs
@@ -16,12 +16,7 @@ internal static class JmesPathSerializer
/// System.String.
internal static string Serialize(object value, Type inputType)
{
-#if NET6_0
- return JsonSerializer.Serialize(value);
-#else
-
return JsonSerializer.Serialize(value, inputType, JmesPathSerializationContext.Default);
-#endif
}
///
@@ -32,11 +27,6 @@ internal static string Serialize(object value, Type inputType)
/// T.
internal static T Deserialize(string value)
{
-#if NET6_0
- return JsonSerializer.Deserialize(value);
-#else
-
return (T)JsonSerializer.Deserialize(value, typeof(T), JmesPathSerializationContext.Default);
-#endif
}
}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Internal/PowertoolsLogger.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Internal/PowertoolsLogger.cs
index 6ad3d34c2..26ee5ec64 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Internal/PowertoolsLogger.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Internal/PowertoolsLogger.cs
@@ -397,11 +397,7 @@ private object GetFormattedLogEntry(LogLevel logLevel, DateTime timestamp, objec
if (logObject is null)
throw new LogFormatException($"{logFormatter.GetType().FullName} returned Null value.");
-#if NET8_0_OR_GREATER
return PowertoolsLoggerHelpers.ObjectToDictionary(logObject);
-#else
- return logObject;
-#endif
}
catch (Exception e)
{
@@ -425,7 +421,6 @@ private static bool CustomFormatter(TState state, Exception exception, o
if (exception is not null)
return false;
-#if NET8_0_OR_GREATER
var stateKeys = new Dictionary();
if (state is IEnumerable> keyValuePairs)
{
@@ -434,16 +429,6 @@ private static bool CustomFormatter(TState state, Exception exception, o
stateKeys[kvp.Key] = PowertoolsLoggerHelpers.ObjectToDictionary(kvp.Value);
}
}
-#else
-var stateKeys = new Dictionary();
-if (state is IEnumerable> keyValuePairs)
-{
- foreach (var kvp in keyValuePairs)
- {
- stateKeys[kvp.Key] = kvp.Value;
- }
-}
-#endif
if (stateKeys.Count != 2)
return false;
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Logger.Scope.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Logger.Scope.cs
index 4a661da4e..771f3ebb4 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Logger.Scope.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Logger.Scope.cs
@@ -25,12 +25,8 @@ public static void AppendKey(string key, object value)
if (string.IsNullOrWhiteSpace(key))
throw new ArgumentNullException(nameof(key));
-#if NET8_0_OR_GREATER
Scope[key] = PowertoolsLoggerHelpers.ObjectToDictionary(value) ??
throw new ArgumentNullException(nameof(value));
-#else
- Scope[key] = value ?? throw new ArgumentNullException(nameof(value));
-#endif
}
///
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/CompositeJsonTypeInfoResolver.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/CompositeJsonTypeInfoResolver.cs
index 028c1cb40..aaf51d1cb 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/CompositeJsonTypeInfoResolver.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/CompositeJsonTypeInfoResolver.cs
@@ -1,5 +1,3 @@
-#if NET8_0_OR_GREATER
-
using System;
using System.Text.Json;
using System.Text.Json.Serialization.Metadata;
@@ -40,5 +38,4 @@ public JsonTypeInfo GetTypeInfo(Type type, JsonSerializerOptions options)
return null;
}
}
-}
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/LoggingSerializationContext.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/LoggingSerializationContext.cs
index d4d918e07..c95ad6ced 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/LoggingSerializationContext.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/LoggingSerializationContext.cs
@@ -5,8 +5,6 @@
namespace AWS.Lambda.Powertools.Logging.Serializers;
-#if NET8_0_OR_GREATER
-
///
/// Custom JSON serializer context for AWS.Lambda.Powertools.Logging
///
@@ -27,7 +25,4 @@ namespace AWS.Lambda.Powertools.Logging.Serializers;
[JsonSerializable(typeof(LogEntry))]
public partial class PowertoolsLoggingSerializationContext : JsonSerializerContext
{
-}
-
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsLoggingSerializer.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsLoggingSerializer.cs
index 22afec8f8..6cc93c515 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsLoggingSerializer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsLoggingSerializer.cs
@@ -23,11 +23,9 @@ internal class PowertoolsLoggingSerializer
private JsonSerializerOptions _jsonOptions;
private readonly object _lock = new();
-#if NET8_0_OR_GREATER
private readonly ConcurrentBag _additionalContexts = new();
private static JsonSerializerContext _staticAdditionalContexts;
private IJsonTypeInfoResolver _customTypeInfoResolver;
-#endif
///
/// Gets the JsonSerializerOptions instance.
@@ -79,10 +77,6 @@ internal void ConfigureNamingPolicy(LoggerOutputCase loggerOutputCase)
/// Thrown when the input type is not known to the serializer.
internal string Serialize(object value, Type inputType)
{
-#if NET6_0
- var options = GetSerializerOptions();
- return JsonSerializer.Serialize(value, options);
-#else
if (RuntimeFeatureWrapper.IsDynamicCodeSupported)
{
var jsonSerializerOptions = GetSerializerOptions();
@@ -99,12 +93,8 @@ internal string Serialize(object value, Type inputType)
}
return JsonSerializer.Serialize(value, typeInfo);
-
-#endif
}
-#if NET8_0_OR_GREATER
-
///
/// Adds a JsonSerializerContext to the serializer options.
///
@@ -177,8 +167,6 @@ private JsonTypeInfo GetTypeInfo(Type type)
return options.TypeInfoResolver?.GetTypeInfo(type, options);
}
-#endif
-
///
/// Builds and configures the JsonSerializerOptions.
///
@@ -209,7 +197,6 @@ private void BuildJsonSerializerOptions(JsonSerializerOptions options = null)
_jsonOptions.UnknownTypeHandling = options.UnknownTypeHandling;
_jsonOptions.AllowTrailingCommas = options.AllowTrailingCommas;
-#if NET8_0_OR_GREATER
// Handle type resolver extraction without setting it yet
if (options.TypeInfoResolver != null)
{
@@ -221,7 +208,6 @@ private void BuildJsonSerializerOptions(JsonSerializerOptions options = null)
AddSerializerContext(jsonContext);
}
}
-#endif
}
// Set output case and other properties
@@ -230,13 +216,11 @@ private void BuildJsonSerializerOptions(JsonSerializerOptions options = null)
_jsonOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping;
_jsonOptions.PropertyNameCaseInsensitive = true;
-#if NET8_0_OR_GREATER
// Set TypeInfoResolver last, as this makes options read-only
if (!RuntimeFeatureWrapper.IsDynamicCodeSupported)
{
_jsonOptions.TypeInfoResolver = GetCompositeResolver();
}
-#endif
}
}
@@ -253,14 +237,9 @@ internal void SetOutputCase()
_jsonOptions.DictionaryKeyPolicy = PascalCaseNamingPolicy.Instance;
break;
default: // Snake case
-#if NET8_0_OR_GREATER
// If is default (Not Set) and JsonOptions provided with DictionaryKeyPolicy or PropertyNamingPolicy, use it
_jsonOptions.DictionaryKeyPolicy ??= JsonNamingPolicy.SnakeCaseLower;
_jsonOptions.PropertyNamingPolicy ??= JsonNamingPolicy.SnakeCaseLower;
-#else
- _jsonOptions.PropertyNamingPolicy = SnakeCaseNamingPolicy.Instance;
- _jsonOptions.DictionaryKeyPolicy = SnakeCaseNamingPolicy.Instance;
-#endif
break;
}
}
@@ -274,11 +253,7 @@ private void AddConverters()
_jsonOptions.Converters.Add(new DateOnlyConverter());
_jsonOptions.Converters.Add(new TimeOnlyConverter());
-#if NET8_0_OR_GREATER
- _jsonOptions.Converters.Add(new LogLevelJsonConverter());
-#elif NET6_0
_jsonOptions.Converters.Add(new LogLevelJsonConverter());
-#endif
}
internal void SetOptions(JsonSerializerOptions options)
diff --git a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsSourceGeneratorSerializer.cs b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsSourceGeneratorSerializer.cs
index 95bd749ea..3584c3f4a 100644
--- a/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsSourceGeneratorSerializer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Logging/Serializers/PowertoolsSourceGeneratorSerializer.cs
@@ -1,5 +1,3 @@
-#if NET8_0_OR_GREATER
-
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text.Json;
@@ -61,6 +59,4 @@ public PowertoolsSourceGeneratorSerializer(
var jsonSerializerContext = constructor.Invoke(new object[] { options }) as TSgContext;
PowertoolsLoggingSerializer.AddStaticSerializerContext(jsonSerializerContext);
}
-}
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricUnit.cs b/libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricUnit.cs
index 2fbb389d9..ddf091c5e 100644
--- a/libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricUnit.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Metrics/Model/MetricUnit.cs
@@ -21,11 +21,7 @@ namespace AWS.Lambda.Powertools.Metrics;
///
/// Enum MetricUnit
///
-#if NET8_0_OR_GREATER
[JsonConverter(typeof(JsonStringEnumConverter))]
-#else
-[JsonConverter(typeof(JsonStringEnumConverter))]
-#endif
public enum MetricUnit
{
///
diff --git a/libraries/src/AWS.Lambda.Powertools.Metrics/Model/RootNode.cs b/libraries/src/AWS.Lambda.Powertools.Metrics/Model/RootNode.cs
index 496606cd1..91ccdc9f8 100644
--- a/libraries/src/AWS.Lambda.Powertools.Metrics/Model/RootNode.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Metrics/Model/RootNode.cs
@@ -65,11 +65,6 @@ public string Serialize()
{
if (string.IsNullOrWhiteSpace(AWS.GetNamespace())) throw new SchemaValidationException("namespace");
-#if NET8_0_OR_GREATER
-
return JsonSerializer.Serialize(this, typeof(RootNode), MetricsSerializationContext.Default);
-#else
- return JsonSerializer.Serialize(this);
-#endif
}
}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Metrics/Serializer/MetricsSerializationContext.cs b/libraries/src/AWS.Lambda.Powertools.Metrics/Serializer/MetricsSerializationContext.cs
index df77cc583..2b40ed343 100644
--- a/libraries/src/AWS.Lambda.Powertools.Metrics/Serializer/MetricsSerializationContext.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Metrics/Serializer/MetricsSerializationContext.cs
@@ -3,7 +3,6 @@
namespace AWS.Lambda.Powertools.Metrics;
-#if NET8_0_OR_GREATER
///
/// Source generator for Metrics types
///
@@ -21,5 +20,4 @@ namespace AWS.Lambda.Powertools.Metrics;
public partial class MetricsSerializationContext : JsonSerializerContext
{
-}
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Parameters/Internal/Transform/JsonTransformer.cs b/libraries/src/AWS.Lambda.Powertools.Parameters/Internal/Transform/JsonTransformer.cs
index 136f889fa..aa53bc782 100644
--- a/libraries/src/AWS.Lambda.Powertools.Parameters/Internal/Transform/JsonTransformer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Parameters/Internal/Transform/JsonTransformer.cs
@@ -42,12 +42,10 @@ public JsonTransformer()
/// JSON string.
/// JSON value type.
/// JSON value.
-#if NET6_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode",
Justification = "Types are expected to be known at compile time")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode",
Justification = "Types are expected to be preserved")]
-#endif
public T? Transform(string value)
{
if (typeof(T) == typeof(string))
diff --git a/libraries/src/AWS.Lambda.Powertools.Tracing/Internal/TracingAspect.cs b/libraries/src/AWS.Lambda.Powertools.Tracing/Internal/TracingAspect.cs
index 84bf02467..0be560ffb 100644
--- a/libraries/src/AWS.Lambda.Powertools.Tracing/Internal/TracingAspect.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Tracing/Internal/TracingAspect.cs
@@ -147,7 +147,6 @@ private void HandleResponse(string name, object result, TracingCaptureMode captu
// Skip if the result is VoidTaskResult
if (result.GetType().Name == "VoidTaskResult") return;
-#if NET8_0_OR_GREATER
if (!RuntimeFeatureWrapper.IsDynamicCodeSupported) // is AOT
{
_xRayRecorder.AddMetadata(
@@ -157,7 +156,6 @@ private void HandleResponse(string name, object result, TracingCaptureMode captu
);
return;
}
-#endif
_xRayRecorder.AddMetadata(
@namespace,
diff --git a/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/PowertoolsTracingSerializer.cs b/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/PowertoolsTracingSerializer.cs
index 9f2e9e8f8..35e61972c 100644
--- a/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/PowertoolsTracingSerializer.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/PowertoolsTracingSerializer.cs
@@ -1,6 +1,4 @@
-#if NET8_0_OR_GREATER
-
using System;
using System.Collections.Generic;
using System.Text.Json;
@@ -88,6 +86,4 @@ private static object ConvertValue(JsonElement element)
return null;
}
}
-}
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/TracingSerializerExtensions.cs b/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/TracingSerializerExtensions.cs
index e18368cb1..e8059f382 100644
--- a/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/TracingSerializerExtensions.cs
+++ b/libraries/src/AWS.Lambda.Powertools.Tracing/Serializers/TracingSerializerExtensions.cs
@@ -1,5 +1,3 @@
-#if NET8_0_OR_GREATER
-
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text.Json;
@@ -39,6 +37,4 @@ internal static JsonSerializerOptions GetDefaultOptions()
return serializer;
}
-}
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/src/Directory.Build.props b/libraries/src/Directory.Build.props
index 7d1e38a66..cb0627fbc 100644
--- a/libraries/src/Directory.Build.props
+++ b/libraries/src/Directory.Build.props
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
default
$(Version)
diff --git a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotencySerializerTests.cs b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotencySerializerTests.cs
index 065c985cb..819b01308 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotencySerializerTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotencySerializerTests.cs
@@ -14,9 +14,7 @@ public class IdempotencySerializerTests
{
public IdempotencySerializerTests()
{
-#if NET8_0_OR_GREATER
IdempotencySerializer.AddTypeInfoResolver(TestJsonSerializerContext.Default);
-#endif
}
[Fact]
@@ -59,8 +57,6 @@ public void BuildDefaultOptions_SetsCorrectProperties()
Assert.True(options.PropertyNameCaseInsensitive);
}
-#if NET8_0_OR_GREATER
-
[Fact]
public void GetTypeInfo_UnknownType_ThrowsException()
{
@@ -155,5 +151,4 @@ public void SetJsonOptions_UpdatesOptionsCorrectly()
Assert.Same(newOptions, options);
}
-#endif
}
\ No newline at end of file
diff --git a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotentAspectTests.cs b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotentAspectTests.cs
index 324ccd5c4..db271ee68 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotentAspectTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Internal/IdempotentAspectTests.cs
@@ -26,9 +26,7 @@ public async Task Handle_WhenFirstCall_ShouldPutInStore(Type type)
var store = Substitute.For();
Idempotency.Configure(builder =>
builder
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithPersistenceStore(store)
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -74,9 +72,7 @@ public async Task Handle_WhenSecondCall_AndNotExpired_ShouldGetFromStore(Type ty
// GIVEN
Idempotency.Configure(builder =>
builder
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithPersistenceStore(store)
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -113,9 +109,7 @@ public async Task Handle_WhenSecondCall_AndStatusInProgress_ShouldThrowIdempoten
Idempotency.Configure(builder =>
builder
.WithPersistenceStore(store)
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -154,9 +148,7 @@ public async Task
Idempotency.Configure(builder =>
builder
.WithPersistenceStore(store)
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -197,9 +189,7 @@ public async Task Handle_WhenThrowException_ShouldDeleteRecord_AndThrowFunctionE
Idempotency.Configure(builder =>
builder
.WithPersistenceStore(store)
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -227,9 +217,7 @@ public async Task Handle_WhenIdempotencyDisabled_ShouldJustRunTheFunction(Type t
Idempotency.Configure(builder =>
builder
.WithPersistenceStore(store)
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
@@ -336,9 +324,7 @@ public async Task Handle_WhenIdempotencyOnSubMethodAnnotated_AndKeyJMESPath_Shou
Idempotency.Configure(builder =>
builder
.WithPersistenceStore(store)
-#if NET8_0_OR_GREATER
.WithJsonSerializationContext(TestJsonSerializerContext.Default)
-#endif
.WithOptions(optionsBuilder => optionsBuilder.WithEventKeyJmesPath("Id"))
);
diff --git a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Persistence/BasePersistenceStoreTests.cs b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Persistence/BasePersistenceStoreTests.cs
index 104beb680..1afe2824e 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Persistence/BasePersistenceStoreTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Idempotency.Tests/Persistence/BasePersistenceStoreTests.cs
@@ -551,9 +551,7 @@ private static APIGatewayProxyRequest LoadApiGatewayProxyRequest()
var eventJson = File.ReadAllText("./resources/apigw_event.json");
try
{
-#if NET8_0_OR_GREATER
IdempotencySerializer.AddTypeInfoResolver(TestJsonSerializerContext.Default);
-#endif
var request = IdempotencySerializer.Deserialize(eventJson);
return request!;
}
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Formatter/LogFormatterTest.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Formatter/LogFormatterTest.cs
index 85250bed1..a7d4ef6d1 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Formatter/LogFormatterTest.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Formatter/LogFormatterTest.cs
@@ -241,19 +241,11 @@ public void Should_Log_CustomFormatter_When_Decorated()
// serializer works differently in .net 8 and AOT. In .net 6 it writes properties that have null
// in .net 8 it removes null properties
-#if NET8_0_OR_GREATER
consoleOut.Received(1).WriteLine(
Arg.Is(i =>
i.Contains(
"\"correlation_ids\":{\"aws_request_id\":\"requestId\"},\"lambda_function\":{\"name\":\"funtionName\",\"arn\":\"function::arn\",\"memory_limit_in_mb\":128,\"version\":\"version\",\"cold_start\":true},\"level\":\"Information\""))
);
-#else
- consoleOut.Received(1).WriteLine(
- Arg.Is(i =>
- i.Contains(
- "{\"message\":\"test\",\"service\":\"my_service\",\"correlation_ids\":{\"aws_request_id\":\"requestId\",\"x_ray_trace_id\":null,\"correlation_id\":null},\"lambda_function\":{\"name\":\"funtionName\",\"arn\":\"function::arn\",\"memory_limit_in_m_b\":128,\"version\":\"version\",\"cold_start\":true},\"level\":\"Information\",\"timestamp\":\"2024-01-01T00:00:00.0000000\",\"logger\":{\"name\":\"AWS.Lambda.Powertools.Logging.Logger\",\"sample_rate\""))
- );
-#endif
}
[Fact]
@@ -283,19 +275,11 @@ public void Should_Log_CustomFormatter_When_No_Decorated_Just_Log()
// serializer works differently in .net 8 and AOT. In .net 6 it writes properties that have null
// in .net 8 it removes null properties
-#if NET8_0_OR_GREATER
consoleOut.Received(1).WriteLine(
Arg.Is(i =>
i ==
"{\"message\":\"test\",\"service\":\"service_undefined\",\"correlation_ids\":{},\"lambda_function\":{\"cold_start\":true},\"level\":\"Information\",\"timestamp\":\"2024-01-01T00:00:00.0000000\",\"logger\":{\"name\":\"AWS.Lambda.Powertools.Logging.Logger\",\"sample_rate\":0}}")
);
-#else
- consoleOut.Received(1).WriteLine(
- Arg.Is(i =>
- i ==
- "{\"message\":\"test\",\"service\":\"service_undefined\",\"correlation_ids\":{\"aws_request_id\":null,\"x_ray_trace_id\":null,\"correlation_id\":null},\"lambda_function\":{\"name\":null,\"arn\":null,\"memory_limit_in_m_b\":null,\"version\":null,\"cold_start\":true},\"level\":\"Information\",\"timestamp\":\"2024-01-01T00:00:00.0000000\",\"logger\":{\"name\":\"AWS.Lambda.Powertools.Logging.Logger\",\"sample_rate\":0}}")
- );
-#endif
}
[Fact]
@@ -312,19 +296,11 @@ public void Should_Log_CustomFormatter_When_Decorated_No_Context()
_testHandler.TestCustomFormatterWithDecoratorNoContext("test");
-#if NET8_0_OR_GREATER
consoleOut.Received(1).WriteLine(
Arg.Is(i =>
i ==
"{\"message\":\"test\",\"service\":\"my_service\",\"correlation_ids\":{},\"lambda_function\":{\"cold_start\":true},\"level\":\"Information\",\"timestamp\":\"2024-01-01T00:00:00.0000000\",\"logger\":{\"name\":\"AWS.Lambda.Powertools.Logging.Logger\",\"sample_rate\":0.2}}")
);
-#else
- consoleOut.Received(1).WriteLine(
- Arg.Is(i =>
- i ==
- "{\"message\":\"test\",\"service\":\"my_service\",\"correlation_ids\":{\"aws_request_id\":null,\"x_ray_trace_id\":null,\"correlation_id\":null},\"lambda_function\":{\"name\":null,\"arn\":null,\"memory_limit_in_m_b\":null,\"version\":null,\"cold_start\":true},\"level\":\"Information\",\"timestamp\":\"2024-01-01T00:00:00.0000000\",\"logger\":{\"name\":\"AWS.Lambda.Powertools.Logging.Logger\",\"sample_rate\":0.2}}")
- );
-#endif
}
public void Dispose()
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Handlers/HandlerTests.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Handlers/HandlerTests.cs
index 0046ce5c8..9a4395917 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Handlers/HandlerTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Handlers/HandlerTests.cs
@@ -1,5 +1,4 @@
using System.Text.Json.Serialization;
-#if NET8_0_OR_GREATER
using System;
using System.Collections.Generic;
using System.IO;
@@ -558,8 +557,6 @@ public void EnvironmentVariableSampling_HandlerWithNoSampling_ShouldNotElevateIn
}
}
-#endif
-
public class ExampleClass
{
public string Name { get; set; }
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/PowertoolsLoggerBuilderTests.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/PowertoolsLoggerBuilderTests.cs
index bbb1c43b5..4cdae5ce8 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/PowertoolsLoggerBuilderTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/PowertoolsLoggerBuilderTests.cs
@@ -78,7 +78,6 @@ public void WithMinimumLogLevel_FiltersLowerLevels()
Assert.Contains("Warning message", logOutput);
}
-#if NET8_0_OR_GREATER
[Fact]
public void WithJsonOptions_AppliesFormatting()
{
@@ -107,7 +106,6 @@ public void WithJsonOptions_AppliesFormatting()
Assert.Contains("\"name\":\"TestName\"", logOutput);
Assert.Contains("\n", logOutput); // Indentation includes newlines
}
-#endif
[Fact]
public void WithTimestampFormat_FormatsTimestamp()
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLambdaSerializerTests.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLambdaSerializerTests.cs
index 4e422a671..c080716f9 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLambdaSerializerTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLambdaSerializerTests.cs
@@ -22,7 +22,6 @@ public PowertoolsLambdaSerializerTests()
_serializer = new PowertoolsLoggingSerializer();
}
-#if NET8_0_OR_GREATER
[Fact]
public void Constructor_ShouldNotThrowException()
{
@@ -199,40 +198,9 @@ public void Should_Serialize_Unknown_Type_When_Including_Outside_Context()
}
-#endif
public void Dispose()
{
}
-#if NET6_0
-
- [Fact]
- public void Should_Serialize_Net6()
- {
- // Arrange
- _serializer.ConfigureNamingPolicy(LoggingConstants.DefaultLoggerOutputCase);
- var testObject = new APIGatewayProxyRequest
- {
- Path = "asda",
- RequestContext = new APIGatewayProxyRequest.ProxyRequestContext
- {
- RequestId = "asdas"
- }
- };
-
- var log = new LogEntry
- {
- Name = "dasda",
- Message = testObject
- };
-
- var outptuMySerializer = _serializer.Serialize(log, null);
-
- // Assert
- Assert.Equal(
- "{\"cold_start\":false,\"x_ray_trace_id\":null,\"correlation_id\":null,\"timestamp\":\"0001-01-01T00:00:00\",\"level\":\"Trace\",\"service\":null,\"name\":\"dasda\",\"message\":{\"resource\":null,\"path\":\"asda\",\"http_method\":null,\"headers\":null,\"multi_value_headers\":null,\"query_string_parameters\":null,\"multi_value_query_string_parameters\":null,\"path_parameters\":null,\"stage_variables\":null,\"request_context\":{\"path\":null,\"account_id\":null,\"resource_id\":null,\"stage\":null,\"request_id\":\"asdas\",\"identity\":null,\"resource_path\":null,\"http_method\":null,\"api_id\":null,\"extended_request_id\":null,\"connection_id\":null,\"connected_at\":0,\"domain_name\":null,\"domain_prefix\":null,\"event_type\":null,\"message_id\":null,\"route_key\":null,\"authorizer\":null,\"operation_name\":null,\"error\":null,\"integration_latency\":null,\"message_direction\":null,\"request_time\":null,\"request_time_epoch\":0,\"status\":null},\"body\":null,\"is_base64_encoded\":false},\"sampling_rate\":null,\"extra_keys\":null,\"exception\":null,\"lambda_context\":null}",
- outptuMySerializer);
- }
-#endif
}
\ No newline at end of file
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLoggingSerializerTests.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLoggingSerializerTests.cs
index 58b42e3f6..901ec78f0 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLoggingSerializerTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Serializers/PowertoolsLoggingSerializerTests.cs
@@ -24,9 +24,7 @@ public PowertoolsLoggingSerializerTests()
{
_serializer = new PowertoolsLoggingSerializer();
_serializer.ConfigureNamingPolicy(LoggingConstants.DefaultLoggerOutputCase);
-#if NET8_0_OR_GREATER
ClearContext();
-#endif
}
[Fact]
@@ -50,18 +48,12 @@ public void SerializerOptions_ShouldHaveCorrectDefaultSettings()
converter => Assert.IsType(converter),
converter => Assert.IsType(converter),
converter => Assert.IsType(converter),
-#if NET8_0_OR_GREATER
converter => Assert.IsType(converter));
-#elif NET6_0
- converter => Assert.IsType(converter));
-#endif
Assert.Equal(JavaScriptEncoder.UnsafeRelaxedJsonEscaping, options.Encoder);
-#if NET8_0_OR_GREATER
Assert.Collection(options.TypeInfoResolverChain,
resolver => Assert.IsType(resolver));
-#endif
}
[Fact]
@@ -78,17 +70,11 @@ public void SerializerOptions_ShouldHaveCorrectDefaultSettings_WhenDynamic()
converter => Assert.IsType(converter),
converter => Assert.IsType(converter),
converter => Assert.IsType(converter),
-#if NET8_0_OR_GREATER
- converter => Assert.IsType(converter));
-#elif NET6_0
converter => Assert.IsType(converter));
-#endif
Assert.Equal(JavaScriptEncoder.UnsafeRelaxedJsonEscaping, options.Encoder);
-#if NET8_0_OR_GREATER
Assert.Empty(options.TypeInfoResolverChain);
-#endif
}
[Fact]
@@ -156,7 +142,6 @@ public void Serialize_ShouldHandleEnumValues()
Assert.Contains("\"level\":\"Error\"", json);
}
-#if NET8_0_OR_GREATER
[Fact]
public void Serialize_UnknownType_ThrowsInvalidOperationException()
{
@@ -236,7 +221,6 @@ private void ClearContext()
// Create a new serializer to clear any existing contexts
_serializer.SetOptions(new JsonSerializerOptions());
}
-#endif
private string SerializeTestObject(LoggerOutputCase? outputCase)
{
@@ -304,7 +288,6 @@ public void ConstantClassConverter_ShouldSerializeToString()
Assert.Contains("\"level\":\"Warning\"", json);
}
-#if NET6_0_OR_GREATER
[Fact]
public void DateOnlyConverter_ShouldSerializeToIsoDate()
{
@@ -332,7 +315,6 @@ public void TimeOnlyConverter_ShouldSerializeToIsoTime()
// Assert
Assert.Contains("\"time\":\"13:45:30\"", json);
}
-#endif
[Fact]
public void LogLevelJsonConverter_ShouldSerializeAllLogLevels()
@@ -370,10 +352,8 @@ public void Serialize_ComplexObjectWithMultipleConverters_ShouldConvertAllProper
Exception = new ArgumentException("Test argument"),
Stream = new MemoryStream(new byte[] { 4, 5, 6 }),
Level = LogLevel.Information,
-#if NET6_0_OR_GREATER
Date = new DateOnly(2023, 1, 15),
Time = new TimeOnly(14, 30, 0),
-#endif
};
// Act
@@ -384,10 +364,8 @@ public void Serialize_ComplexObjectWithMultipleConverters_ShouldConvertAllProper
Assert.Contains("\"exception\":{\"type\":\"System.ArgumentException\"", json);
Assert.Contains("\"stream\":\"BAUG\"", json);
Assert.Contains("\"level\":\"Information\"", json);
-#if NET6_0_OR_GREATER
Assert.Contains("\"date\":\"2023-01-15\"", json);
Assert.Contains("\"time\":\"14:30:00\"", json);
-#endif
}
private class ComplexTestObject
@@ -396,10 +374,8 @@ private class ComplexTestObject
public Exception Exception { get; set; }
public MemoryStream Stream { get; set; }
public LogLevel Level { get; set; }
-#if NET6_0_OR_GREATER
public DateOnly Date { get; set; }
public TimeOnly Time { get; set; }
-#endif
}
[Fact]
@@ -455,8 +431,6 @@ public void Serialize_WithValidObject_ReturnsJsonString()
Assert.Contains("Test", json);
}
-#if NET8_0_OR_GREATER
-
[Fact]
public void SetOptions_WithTypeInfoResolver_SetsCustomResolver()
{
@@ -479,7 +453,6 @@ public void SetOptions_WithTypeInfoResolver_SetsCustomResolver()
// Assert - options are properly configured
Assert.NotNull(serializerOptions.TypeInfoResolver);
}
-#endif
[Fact]
public void SetOutputCase_CamelCase_SetsPoliciesCorrectly()
@@ -521,15 +494,9 @@ public void SetOutputCase_SnakeCase_SetsPoliciesCorrectly()
// Act
var options = serializer.GetSerializerOptions();
-#if NET8_0_OR_GREATER
// Assert - in .NET 8 we use built-in SnakeCaseLower
Assert.Equal(JsonNamingPolicy.SnakeCaseLower, options.PropertyNamingPolicy);
Assert.Equal(JsonNamingPolicy.SnakeCaseLower, options.DictionaryKeyPolicy);
-#else
- // Assert - in earlier versions, we use custom SnakeCaseNamingPolicy
- Assert.IsType(options.PropertyNamingPolicy);
- Assert.IsType(options.DictionaryKeyPolicy);
-#endif
}
[Fact]
@@ -548,9 +515,7 @@ public void GetSerializerOptions_AddsAllConverters()
Assert.Contains(options.Converters, c => c is ConstantClassConverter);
Assert.Contains(options.Converters, c => c is DateOnlyConverter);
Assert.Contains(options.Converters, c => c is TimeOnlyConverter);
-#if NET8_0_OR_GREATER || NET6_0
Assert.Contains(options.Converters, c => c is LogLevelJsonConverter);
-#endif
}
// Test class for serialization
@@ -565,9 +530,7 @@ private class TestClass
public void Dispose()
{
-#if NET8_0_OR_GREATER
ClearContext();
-#endif
_serializer.SetOptions(null);
RuntimeFeatureWrapper.Reset();
}
diff --git a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Utilities/PowertoolsLoggerHelpersTests.cs b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Utilities/PowertoolsLoggerHelpersTests.cs
index f35753f88..5d397b349 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Utilities/PowertoolsLoggerHelpersTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Logging.Tests/Utilities/PowertoolsLoggerHelpersTests.cs
@@ -1,5 +1,3 @@
-#if NET8_0_OR_GREATER
-
using System;
using System.Collections.Generic;
using System.IO;
@@ -230,6 +228,4 @@ private static void ResetAllState()
};
PowertoolsLoggingBuilderExtensions.UpdateConfiguration(config);
}
-}
-
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/PowertoolsTracingSerializerTests.cs b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/PowertoolsTracingSerializerTests.cs
index fe766be38..32c3fc088 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/PowertoolsTracingSerializerTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/PowertoolsTracingSerializerTests.cs
@@ -1,4 +1,3 @@
-#if NET8_0_OR_GREATER
using System;
using System.Collections.Generic;
using System.Text.Json;
@@ -236,5 +235,4 @@ public class TestNullableObject
public class TestArrayObject
{
public int[] Values { get; set; }
-}
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TestJsonContext.cs b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TestJsonContext.cs
index 1145fee4d..d5c63c605 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TestJsonContext.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TestJsonContext.cs
@@ -1,5 +1,3 @@
-#if NET8_0_OR_GREATER
-
using System.Collections.Generic;
using System.Text.Json.Serialization;
@@ -28,8 +26,6 @@ public class TestComplexObject
public Dictionary NestedObject { get; set; }
}
-#endif
-
public class TestResponse
{
public string Message { get; set; }
diff --git a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TracingSerializerExtensionsTests.cs b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TracingSerializerExtensionsTests.cs
index 78e2adaae..163d97932 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TracingSerializerExtensionsTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/Serializers/TracingSerializerExtensionsTests.cs
@@ -1,5 +1,4 @@
-#if NET8_0_OR_GREATER
using Amazon.Lambda.Serialization.SystemTextJson;
using AWS.Lambda.Powertools.Tracing.Serializers;
using Xunit;
@@ -25,5 +24,4 @@ public void WithTracing_InitializesSerializer_Successfully()
var serialized = PowertoolsTracingSerializer.Serialize(testObject);
Assert.Contains("\"Name\":\"Test\"", serialized);
}
-}
-#endif
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/TracingAspectTests.cs b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/TracingAspectTests.cs
index 115032752..9836db9d7 100644
--- a/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/TracingAspectTests.cs
+++ b/libraries/tests/AWS.Lambda.Powertools.Tracing.Tests/TracingAspectTests.cs
@@ -8,10 +8,8 @@
using NSubstitute;
using Xunit;
-#if NET8_0_OR_GREATER
using AWS.Lambda.Powertools.Tracing.Serializers;
using AWS.Lambda.Powertools.Tracing.Tests.Serializers;
-#endif
namespace AWS.Lambda.Powertools.Tracing.Tests;
@@ -98,7 +96,6 @@ public async Task Around_AsyncMethod_HandlesResponseAndSegmentCorrectly()
_mockXRayRecorder.Received(1).EndSubsegment();
}
-#if NET8_0_OR_GREATER
[Fact]
public void Around_SyncMethod_HandlesResponseAndSegmentCorrectly_AOT()
{
@@ -162,7 +159,6 @@ public async Task Around_AsyncMethod_HandlesResponseAndSegmentCorrectly_AOT()
PowertoolsTracingSerializer.Serialize(result));
_mockXRayRecorder.Received(1).EndSubsegment();
}
-#endif
[Fact]
public async Task Around_VoidAsyncMethod_HandlesSegmentCorrectly()
diff --git a/libraries/tests/Directory.Build.props b/libraries/tests/Directory.Build.props
index d662fc454..1d380b84a 100644
--- a/libraries/tests/Directory.Build.props
+++ b/libraries/tests/Directory.Build.props
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
false
diff --git a/libraries/tests/e2e/InfraShared/FunctionConstruct.cs b/libraries/tests/e2e/InfraShared/FunctionConstruct.cs
index c3bb7d9eb..808aecf04 100644
--- a/libraries/tests/e2e/InfraShared/FunctionConstruct.cs
+++ b/libraries/tests/e2e/InfraShared/FunctionConstruct.cs
@@ -10,10 +10,10 @@ public class FunctionConstruct : Construct
public FunctionConstruct(Construct scope, string id, FunctionConstructProps props) : base(scope, id)
{
- var framework = props.Runtime == Runtime.DOTNET_6 ? "net6.0" : "net8.0";
+ var framework = "net8.0";
var distPath = $"{props.DistPath}/deploy_{props.Architecture.Name}_{props.Runtime.Name}.zip";
var command = props.IsAot
- ? $"dotnet-lambda package -pl {props.SourcePath} -cmd ../../../ -o {distPath} -f net8.0 -farch {props.Architecture.Name} -cifb public.ecr.aws/sam/build-dotnet8"
+ ? $"dotnet-lambda package -pl {props.SourcePath} -cmd ../../../ -o {distPath} -farch {props.Architecture.Name} -cifb public.ecr.aws/sam/build-dotnet8"
: $"dotnet-lambda package -pl {props.SourcePath} -o {distPath} -f {framework} -farch {props.Architecture.Name}";
Console.WriteLine(command);
diff --git a/libraries/tests/e2e/InfraShared/IdempotencyStack.cs b/libraries/tests/e2e/InfraShared/IdempotencyStack.cs
index 1718e8234..a69f08103 100644
--- a/libraries/tests/e2e/InfraShared/IdempotencyStack.cs
+++ b/libraries/tests/e2e/InfraShared/IdempotencyStack.cs
@@ -55,10 +55,6 @@ public IdempotencyStack(Construct scope, string id, IdempotencyStackProps props)
$"E2ETestLambda_X64_NET8_{utility}", path, props);
CreateFunctionConstruct(this, $"{utility}_arm_net8", Runtime.DOTNET_8, Architecture.ARM_64,
$"E2ETestLambda_ARM_NET8_{utility}", path, props);
- CreateFunctionConstruct(this, $"{utility}_X64_net6", Runtime.DOTNET_6, Architecture.X86_64,
- $"E2ETestLambda_X64_NET6_{utility}", path, props);
- CreateFunctionConstruct(this, $"{utility}_arm_net6", Runtime.DOTNET_6, Architecture.ARM_64,
- $"E2ETestLambda_ARM_NET6_{utility}", path, props);
}
}
diff --git a/libraries/tests/e2e/functions/core/logging/Function/src/Function/Function.csproj b/libraries/tests/e2e/functions/core/logging/Function/src/Function/Function.csproj
index 2e08d5e4a..da5b7acda 100644
--- a/libraries/tests/e2e/functions/core/logging/Function/src/Function/Function.csproj
+++ b/libraries/tests/e2e/functions/core/logging/Function/src/Function/Function.csproj
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
enable
enable
true
diff --git a/libraries/tests/e2e/functions/core/logging/Function/test/Function.Tests/FunctionTests.cs b/libraries/tests/e2e/functions/core/logging/Function/test/Function.Tests/FunctionTests.cs
index f4d7c1e4c..9d41fb9e8 100644
--- a/libraries/tests/e2e/functions/core/logging/Function/test/Function.Tests/FunctionTests.cs
+++ b/libraries/tests/e2e/functions/core/logging/Function/test/Function.Tests/FunctionTests.cs
@@ -42,8 +42,6 @@ public async Task AotILoggerFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_logging")]
- [InlineData("E2ETestLambda_ARM_NET6_logging")]
[InlineData("E2ETestLambda_X64_NET8_logging")]
[InlineData("E2ETestLambda_ARM_NET8_logging")]
public async Task FunctionTest(string functionName)
@@ -53,8 +51,6 @@ public async Task FunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_logging")]
- [InlineData("E2ETestLambda_ARM_NET6_logging")]
[InlineData("E2ETestLambda_X64_NET8_logging")]
[InlineData("E2ETestLambda_ARM_NET8_logging")]
public async Task StaticConfigurationFunctionTest(string functionName)
@@ -64,8 +60,6 @@ public async Task StaticConfigurationFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_logging")]
- [InlineData("E2ETestLambda_ARM_NET6_logging")]
[InlineData("E2ETestLambda_X64_NET8_logging")]
[InlineData("E2ETestLambda_ARM_NET8_logging")]
public async Task StaticILoggerConfigurationFunctionTest(string functionName)
@@ -75,8 +69,6 @@ public async Task StaticILoggerConfigurationFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_logging")]
- [InlineData("E2ETestLambda_ARM_NET6_logging")]
[InlineData("E2ETestLambda_X64_NET8_logging")]
[InlineData("E2ETestLambda_ARM_NET8_logging")]
public async Task ILoggerConfigurationFunctionTest(string functionName)
@@ -86,8 +78,6 @@ public async Task ILoggerConfigurationFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_logging")]
- [InlineData("E2ETestLambda_ARM_NET6_logging")]
[InlineData("E2ETestLambda_X64_NET8_logging")]
[InlineData("E2ETestLambda_ARM_NET8_logging")]
public async Task ILoggerBuilderFunctionTest(string functionName)
diff --git a/libraries/tests/e2e/functions/core/metrics/Function/src/Function/Function.csproj b/libraries/tests/e2e/functions/core/metrics/Function/src/Function/Function.csproj
index 1664858ed..9f6ed3a00 100644
--- a/libraries/tests/e2e/functions/core/metrics/Function/src/Function/Function.csproj
+++ b/libraries/tests/e2e/functions/core/metrics/Function/src/Function/Function.csproj
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
enable
enable
true
diff --git a/libraries/tests/e2e/functions/core/metrics/Function/test/Function.Tests/FunctionTests.cs b/libraries/tests/e2e/functions/core/metrics/Function/test/Function.Tests/FunctionTests.cs
index f0afeef3d..7ee4b0f28 100644
--- a/libraries/tests/e2e/functions/core/metrics/Function/test/Function.Tests/FunctionTests.cs
+++ b/libraries/tests/e2e/functions/core/metrics/Function/test/Function.Tests/FunctionTests.cs
@@ -37,8 +37,6 @@ public async Task AotFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_metrics")]
- [InlineData("E2ETestLambda_ARM_NET6_metrics")]
[InlineData("E2ETestLambda_X64_NET8_metrics")]
[InlineData("E2ETestLambda_ARM_NET8_metrics")]
public async Task FunctionTest(string functionName)
diff --git a/libraries/tests/e2e/functions/core/tracing/Function/src/Function/Function.csproj b/libraries/tests/e2e/functions/core/tracing/Function/src/Function/Function.csproj
index c8c004582..61eba2bd0 100644
--- a/libraries/tests/e2e/functions/core/tracing/Function/src/Function/Function.csproj
+++ b/libraries/tests/e2e/functions/core/tracing/Function/src/Function/Function.csproj
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
enable
enable
true
diff --git a/libraries/tests/e2e/functions/core/tracing/Function/test/Function.Tests/FunctionTests.cs b/libraries/tests/e2e/functions/core/tracing/Function/test/Function.Tests/FunctionTests.cs
index 919fd3745..9a7389686 100644
--- a/libraries/tests/e2e/functions/core/tracing/Function/test/Function.Tests/FunctionTests.cs
+++ b/libraries/tests/e2e/functions/core/tracing/Function/test/Function.Tests/FunctionTests.cs
@@ -33,8 +33,6 @@ public async Task AotFunctionTest(string functionName)
}
[Theory]
- [InlineData("E2ETestLambda_X64_NET6_tracing")]
- [InlineData("E2ETestLambda_ARM_NET6_tracing")]
[InlineData("E2ETestLambda_X64_NET8_tracing")]
[InlineData("E2ETestLambda_ARM_NET8_tracing")]
public async Task FunctionTest(string functionName)
diff --git a/libraries/tests/e2e/functions/idempotency/Function/src/Function/Function.csproj b/libraries/tests/e2e/functions/idempotency/Function/src/Function/Function.csproj
index 0dedeaeab..d55b6a596 100644
--- a/libraries/tests/e2e/functions/idempotency/Function/src/Function/Function.csproj
+++ b/libraries/tests/e2e/functions/idempotency/Function/src/Function/Function.csproj
@@ -1,6 +1,6 @@
- net6.0;net8.0
+ net8.0
enable
enable
true
diff --git a/libraries/tests/e2e/functions/idempotency/Function/test/Function.Tests/FunctionTests.cs b/libraries/tests/e2e/functions/idempotency/Function/test/Function.Tests/FunctionTests.cs
index b7bbe28c9..371d6294c 100644
--- a/libraries/tests/e2e/functions/idempotency/Function/test/Function.Tests/FunctionTests.cs
+++ b/libraries/tests/e2e/functions/idempotency/Function/test/Function.Tests/FunctionTests.cs
@@ -57,8 +57,6 @@ public async Task IdempotencyPayloadSubsetAotTest(string functionName, string ta
[Theory]
[InlineData("E2ETestLambda_X64_NET8_idempotency")]
[InlineData("E2ETestLambda_ARM_NET8_idempotency")]
- [InlineData("E2ETestLambda_X64_NET6_idempotency")]
- [InlineData("E2ETestLambda_ARM_NET6_idempotency")]
public async Task IdempotencyPayloadSubsetTest(string functionName)
{
_tableName = "IdempotencyTable";
@@ -69,8 +67,6 @@ public async Task IdempotencyPayloadSubsetTest(string functionName)
[Theory]
[InlineData("E2ETestLambda_X64_NET8_idempotency")]
[InlineData("E2ETestLambda_ARM_NET8_idempotency")]
- [InlineData("E2ETestLambda_X64_NET6_idempotency")]
- [InlineData("E2ETestLambda_ARM_NET6_idempotency")]
public async Task IdempotencyAttributeTest(string functionName)
{
_tableName = "IdempotencyTable";
@@ -81,8 +77,6 @@ public async Task IdempotencyAttributeTest(string functionName)
[Theory]
[InlineData("E2ETestLambda_X64_NET8_idempotency")]
[InlineData("E2ETestLambda_ARM_NET8_idempotency")]
- [InlineData("E2ETestLambda_X64_NET6_idempotency")]
- [InlineData("E2ETestLambda_ARM_NET6_idempotency")]
public async Task IdempotencyHandlerTest(string functionName)
{
_tableName = "IdempotencyTable";
@@ -93,8 +87,6 @@ public async Task IdempotencyHandlerTest(string functionName)
[Theory]
[InlineData("E2ETestLambda_X64_NET8_idempotency")]
[InlineData("E2ETestLambda_ARM_NET8_idempotency")]
- [InlineData("E2ETestLambda_X64_NET6_idempotency")]
- [InlineData("E2ETestLambda_ARM_NET6_idempotency")]
public async Task IdempotencyHandlerCustomKey(string functionName)
{
_tableName = "IdempotencyTable";
diff --git a/libraries/tests/e2e/infra/CoreStack.cs b/libraries/tests/e2e/infra/CoreStack.cs
index 15f3fd6da..526673e35 100644
--- a/libraries/tests/e2e/infra/CoreStack.cs
+++ b/libraries/tests/e2e/infra/CoreStack.cs
@@ -44,8 +44,6 @@ private void CreateFunctionConstructs(string utility)
CreateFunctionConstruct(new ConstructArgs(this, $"{utility}_X64_net8", Runtime.DOTNET_8, Architecture.X86_64, $"E2ETestLambda_X64_NET8_{utility}", basePath, distPath));
CreateFunctionConstruct(new ConstructArgs(this, $"{utility}_arm_net8", Runtime.DOTNET_8, Architecture.ARM_64, $"E2ETestLambda_ARM_NET8_{utility}", basePath, distPath));
- CreateFunctionConstruct(new ConstructArgs(this, $"{utility}_X64_net6", Runtime.DOTNET_6, Architecture.X86_64, $"E2ETestLambda_X64_NET6_{utility}", basePath, distPath));
- CreateFunctionConstruct(new ConstructArgs(this, $"{utility}_arm_net6", Runtime.DOTNET_6, Architecture.ARM_64, $"E2ETestLambda_ARM_NET6_{utility}", basePath, distPath));
}
private void CreateFunctionConstruct(ConstructArgs constructArgs)