What's Changed
[1.3.56] — 2026-06-02
Added
- Cognito User Pools —
CUSTOM_AUTHflow with DefineAuthChallenge / CreateAuthChallenge / VerifyAuthChallengeResponse triggers —InitiateAuth/AdminInitiateAuth/RespondToAuthChallenge/AdminRespondToAuthChallengenow run the full custom-auth state machine through the configured Lambdas.DefineAuthChallengedecides next-step /issueTokens/failAuthentication;CreateAuthChallengebuilds public + private challenge parameters carried through the opaque session token;VerifyAuthChallengeResponseevaluates the answer. Session TTL honors the client'sAuthSessionValidity(minutes), capped at 3 answered rounds per AWS. Unblocks passwordless / magic-link / SMS-OTP flows that previously failed withUnsupported AuthFlow: CUSTOM_AUTH. Reported by @aahoughton. Contributed by @AdigaAkhil. - EKS Access Entries (modern IAM bindings — replace aws-auth ConfigMap) — 8 new ops at
/clusters/{name}/access-entries[/{principalArn}[/access-policies[/{policyArn}]]]:CreateAccessEntry,DescribeAccessEntry,ListAccessEntries,UpdateAccessEntry,DeleteAccessEntry,AssociateAccessPolicy,DisassociateAccessPolicy,ListAssociatedAccessPolicies.accessScopevalidated against{cluster, namespace}withnamespacesrequired when scope is namespace-bound; deleting an access entry cascades its associated policies. Unblocks Crossplaneaccessentry.eks.aws.upbound.io, Terraformaws_eks_access_entry+aws_eks_access_policy_association, and any tool using the post-1.29EKS IAM binding API. Reported by @b-rajesh.
Fixed
- Lambda —
_X_AMZN_TRACE_IDinjected forTracingConfig.Mode=Active— the runtime env var the AWS X-Ray SDK reads on every segment was never being set, soaws-xray-sdk-pythonraisedMissing AWS Lambda trace data for X-Rayon any active-tracing function. Now synthesized per invocation (Root=1-<8hex>-<24hex>;Parent=<16hex>;Sampled=1) and threaded into the warm worker pool (Python + Node bootstraps pop the event field intoos.environ/process.env), the provided-runtime executor (per-spawnproc_env), and the local subprocess executor. The docker RIE executor is documented as unsupported — AWS RIE itself drops X-Ray, the pool reuses containers so a baked env would go stale — and now logs a warning when Active mode is configured on that path. Reported by @arivazhaganjeganathan-abc. - Firehose — Lambda processor invoked in the delivery pipeline —
ProcessingConfiguration.Processors[].Type=Lambdawas persisted on the destination but never consulted at invocation time; records flowed straight to S3 without the configured transformation. The full AWS contract is now honored: per-batch event{invocationId, deliveryStreamArn, region, records:[{recordId, approximateArrivalTimestamp, data}]}, response{records:[{recordId, result, data}]}withresult ∈ {Ok, Dropped, ProcessingFailed}.Ok→ transformeddatawritten downstream;Dropped/ProcessingFailed→ omitted; Lambda not-found / crash / malformed body → records pass through unchanged (best-effort per AWS). Applies to bothPutRecord/PutRecordBatchandKinesisStreamAsSourcefan-out. Reported by @arivazhaganjeganathan-abc. - Cognito CUSTOM_AUTH —
issueTokenson the cap-boundary attempt now wins overMaxAttempts— a correct answer on the 3rd round (cap boundary) was being silently rejected withMax authentication attempts exceededbecause the cap check fired before theissueTokensbranch. The cap is meant to prevent a NEXT (4th) round, not penalize success on the boundary. Reordered:failAuthentication→issueTokens→ max-attempts → next round. Applies to bothRespondToAuthChallengeandAdminRespondToAuthChallenge. - DynamoDB — AWS-canonical error-message parity across 24 operations —
PutItemset-duplicates now include the collection contents (Input collection [a, a] contains duplicates.);UpdateItemsyntax errors carry token-context (token: "INVALID", near: "INVALID SYNTAX");QueryemptyKeyConditionExpressionshort-circuits before unused-EAV;ScanLimit=0quotes the value (Value '0' at 'limit');ScanSegmentnegative path returns the standard1 validation error detectedenvelope with lowercasesegment; redundant-parentheses check pre-fires onFilterExpression/KeyConditionExpressionso empty tables still reject (rather than silently passing);begins_withnon-string operand pre-validated at parse time.BatchExecuteStatementper-statementError.Codenow drops theExceptionsuffix to matchBatchStatementErrorCodeEnum(DuplicateItem/ResourceNotFound).TransactGetItemsreports per-action missing-key errors viaTransactionCanceledExceptioncancellation reasons (not a request-level error).CreateTable>2 KeySchemaerror dumps the Java-toStringKeySchemaElement(attributeName=…, keyType=…)shape.GetItem/TransactGetItemsProjectionExpressionparses syntactically + rejects reserved keywords up front.UpdateItempre-rejects mutation of hash / range key attributes regardless of whether the item exists.BatchWriteItem/TransactWriteItems/TransactGetItemssize-exceeded errors include the AWS-shape Java-toString dump in the envelope.