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
f1b4ec8Thanks @floydspace! - update clients with new methods
- #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
b24f980Thanks @floydspace! - update services
- #80
4b16fbeThanks @floydspace! - simplify layers configuration (closes #78)
e540420Thanks @floydspace! - integrate aws-sdk abort signal with effect interruption
- #58
888dc8cThanks @floydspace! - use Effect.Tag instead of Context.GenericTag for service, upgrade sdk, handle only known errors
0cfcda0Thanks @floydspace! - upgrade effect to v3
b2f00dbThanks @floydspace! - update effect peer version
82eaea7Thanks @floydspace! - upgrade effect to v2.3 and fix breaking changes
88676aeThanks @floydspace! - use effect@~2.2 as maximum allowed peer version