Skip to content

Latest commit

 

History

History
336 lines (211 loc) · 12.9 KB

File metadata and controls

336 lines (211 loc) · 12.9 KB

@effect-aws/client-iam

2.0.0-beta.7

Minor Changes

Patch Changes

  • Updated dependencies [401b544]:
    • @effect-aws/commons@1.0.0-beta.5

2.0.0-beta.4

Minor Changes

  • #207 1e2f72e Thanks @github-actions! - Upgrade effect to beta.48 and resolve breaking change introduced by renaming ServiceMap to Context.

Patch Changes

  • Updated dependencies [8835cec, 1e2f72e]:
    • @effect-aws/commons@1.0.0-beta.4

2.0.0-beta.3

Minor Changes

Patch Changes

  • Updated dependencies [2c118a8]:
    • @effect-aws/commons@1.0.0-beta.3

2.0.0-beta.2

Patch Changes

  • 0d321e6 Thanks @floydspace! - remove unique symbol from service shape, discriminator is applyed as service identifier

  • Updated dependencies [0d321e6]:

    • @effect-aws/commons@1.0.0-beta.2

2.0.0-beta.1

Patch Changes

  • 56d5efb Thanks @floydspace! - use named imports instead of barrel

  • Updated dependencies [56d5efb]:

    • @effect-aws/commons@1.0.0-beta.1

2.0.0-beta.0

Major Changes

Patch Changes

  • Updated dependencies [57b06d0]:
    • @effect-aws/commons@1.0.0-beta.0

1.11.0

Minor Changes

Patch Changes

1.10.9

Patch Changes

  • Updated dependencies [582a7b0]:
    • @effect-aws/commons@0.3.1

1.10.7

Patch Changes

1.10.6

Patch Changes

1.10.3

Patch Changes

  • #165 192aad7 Thanks @floydspace! - expose service shape type as alternative of inferring it with Context.Tag.Service

1.10.2

Patch Changes

1.10.0

Minor Changes

Patch Changes

  • Updated dependencies [6215146]:
    • @effect-aws/commons@0.3.0

1.9.5

Patch Changes

  • Updated dependencies [2bc82e9]:
    • @effect-aws/commons@0.2.1

1.9.3

Patch Changes

  • #117 6989a08 Thanks @floydspace! - fix service logger, so it respect loglevel configuration within current scope

    For 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

1.9.0

Minor Changes

  • #106 e07e3c0 Thanks @floydspace! - ## Refactored service configuration and layer management

    Since 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 logger option:

    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 }),
    );

    Breaking changes

    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.

Patch Changes

1.7.0

Minor Changes

  • #93 a96fbd8 Thanks @godu! - Destroy client after layer lifecycle to release idle connections.

1.6.0

Minor Changes

1.5.0

Minor Changes

1.4.1

Patch Changes

1.4.0

Minor Changes

1.3.0

Minor Changes

  • #58 888dc8c Thanks @floydspace! - use Effect.Tag instead of Context.GenericTag for service, upgrade sdk, handle only known errors

1.2.0

Minor Changes

1.1.1

Patch Changes

1.1.0

Minor Changes

1.0.2

Patch Changes

1.0.1

Patch Changes

  • #29 4b6c521 Thanks @godu! - improve tree shaking by using sideEffects flag

1.0.0

Major Changes