ef1b035Thanks @floydspace! - bump aws-sdk and add new service methods
- Updated dependencies [
401b544]:- @effect-aws/commons@1.0.0-beta.5
- #207
1e2f72eThanks @github-actions! - Upgrade effect to beta.48 and resolve breaking change introduced by renaming ServiceMap to Context.
2c118a8Thanks @floydspace! - upgrade to latest effect v4
- Updated dependencies [
2c118a8]:- @effect-aws/commons@1.0.0-beta.3
-
0d321e6Thanks @floydspace! - remove unique symbol from service shape, discriminator is applyed as service identifier -
Updated dependencies [
0d321e6]:- @effect-aws/commons@1.0.0-beta.2
-
56d5efbThanks @floydspace! - use named imports instead of barrel -
Updated dependencies [
56d5efb]:- @effect-aws/commons@1.0.0-beta.1
- #198
57b06d0Thanks @floydspace! - Migrate to effect v4
- Updated dependencies [
57b06d0]:- @effect-aws/commons@1.0.0-beta.0
-
#203
853b777Thanks @floydspace! - add streaming pagination support to various AWS servicescloses #145
-
#201
9020433Thanks @devmatteini! - upgrade to named imports in all packages for better tree shakingcloses #196
- Updated dependencies [
582a7b0]:- @effect-aws/commons@0.3.1
aecc0afThanks @floydspace! - regenerate with new aws-sdk
- #165
192aad7Thanks @floydspace! - expose service shape type as alternative of inferring it with Context.Tag.Service
- #162
bccec21Thanks @floydspace! - Fix "cannot be named without a reference" error
- #150
6215146Thanks @floydspace! - add expected Cause.TimeoutException in error channel to all the methods
- Updated dependencies [
6215146]:- @effect-aws/commons@0.3.0
- Updated dependencies [
2bc82e9]:- @effect-aws/commons@0.2.1
-
#117
6989a08Thanks @floydspace! - fix service logger, so it respect loglevel configuration within current scopeFor example this snipped produced following output Before/After
import { S3 } from "@effect-aws/client-s3"; import { Effect, Logger, LogLevel } from "effect"; S3.listBuckets({}).pipe( Logger.withMinimumLogLevel(LogLevel.Warning), Effect.tap(() => Effect.logInfo("Done")), Effect.provide(Logger.structured), Effect.provide(S3.layer({ logger: true })), Effect.runPromise, );
Before
timestamp=2025-03-12T22:49:37.007Z level=INFO fiber=#5 message="{ \"clientName\": \"S3Client\", \"commandName\": \"ListBucketsCommand\", \"input\": {}, \"output\": { \"Buckets\": [], \"Owner\": { \"ID\": \"<REDACTED>\" } }, \"metadata\": { \"httpStatusCode\": 200, \"requestId\": \"<REDACTED>\", \"extendedRequestId\": \"<REDACTED>\", \"attempts\": 1, \"totalRetryDelay\": 0 } }" { message: 'Done', logLevel: 'INFO', timestamp: '2025-03-12T22:49:37.009Z', cause: undefined, annotations: {}, spans: {}, fiberId: '#0' }After
{ message: 'Done', logLevel: 'INFO', timestamp: '2025-03-12T22:51:13.799Z', cause: undefined, annotations: {}, spans: {}, fiberId: '#0' }closes #92
-
Updated dependencies [
6989a08]:- @effect-aws/commons@0.2.0
-
#106
e07e3c0Thanks @floydspace! - ## Refactored service configuration and layer managementSince this version the effectful logger is not added into native AWS client constructor. Providing logger by default causes risk of logging sensitive information. The logger should be added explicitly by the choice of a user. It can be done by using extended
loggeroption:import { DynamoDB } from "@effect-aws/client-dynamodb"; // using default logger DynamoDB.layer({ logger: true }); // or using custom logger (the same as default) DynamoDB.layer({ logger: { trace: Effect.logTrace, debug: Effect.logDebug, info: Effect.logInfo, warn: Effect.logWarning, error: Effect.logError, }, }); // and you could remap logger methods as you want DynamoDB.layer({ logger: { debug: Effect.logDebug, info: Effect.logDebug, warn: Effect.logWarning, error: Effect.logError, }, });
Additionally to that, the whole service configuration was refactored in better way, now it is not a strict layer dependency, but the global value which defaults to empty object. The global value can be configured by using the effect higher order function or the layer setter.
import { DynamoDBServiceConfig } from "@effect-aws/client-dynamodb"; // using effect higher order function DynamoDBServiceConfig.withDynamoDBServiceConfig({ logger: true }); // or using layer setter Layer.provide( DynamoDBServiceConfig.setDynamoDBServiceConfig({ logger: true }), );
This release is not a breaking change if you just use service methods and service layer, which in most cases should be the case.
If you had to use custom configuration, you should update your code to use new configuration methods.
-
#106
e07e3c0Thanks @floydspace! - drop support for effect version lower than 3.0.4 -
Updated dependencies [
e07e3c0,e07e3c0]:- @effect-aws/commons@0.1.0