🎉 Highlights
This release adds Lambda layer support, brings CloudFormation parity for SQS and Cognito resources, lands two new ELBv2 action families, and ships a tidy collection of S3, SNS, and authorizer fixes. Floci images are now also published to the AWS ECR Public Gallery alongside Docker Hub. Welcome to the 8 first-time contributors.
📦 Lambda layers
PublishLayerVersion, GetLayerVersion, ListLayerVersions, and DeleteLayerVersion are now supported, so functions that depend on shared layers can be tested locally without stubbing.
🧱 CloudFormation parity: SQS + Cognito
Two long-standing CloudFormation gaps are closed in this release:
- SQS —
ContentBasedDeduplicationis now applied, and SNS → SQS subscriptions are created correctly when defined in a template (#974) - Cognito —
AWS::Cognito::UserPoolandAWS::Cognito::UserPoolClientresources are now provisioned (#1007)
🐳 ECR Public Gallery
Floci images are now published to the AWS ECR Public Gallery in addition to Docker Hub — useful for users behind Docker Hub rate limits and for AWS-native CI environments (#1000).
🔐 Authorizer plumbing
Custom-authorizer flows are meaningfully more correct: REST API REQUEST authorizers now receive a fully populated APIGatewayRequestAuthorizerEvent (#1002), and HTTP API v2 routes can now use Lambda REQUEST authorizers (#1011). Cognito ID tokens also correctly include user attribute claims (#985).
✨ New Features
- feat(lambda): Lambda layer support —
PublishLayerVersion,GetLayerVersion,ListLayerVersions,DeleteLayerVersionby @dixitrathod16 in #1015 - feat(apigateway): add Lambda
REQUESTauthorizer support for HTTP API v2 routes by @dixitrathod16 in #1011 - feat(apigateway): persist
UpdateStagemethodSettingspatch operations on v1 stages by @ousamabenyounes in #1004 - feat(elbv2): add listener attribute and capacity reservation actions by @juano-morello in #1021
- feat(cognito): implement
UpdateGroup,ListUsersInGroup, andAdminConfirmSignUpby @iam-ssrivastav in #998 - feat(kms): add
RotateKeyOnDemandsupport by @kyounghoonJang in #990 - feat(ci): publish Docker images to ECR Public Gallery by @hectorvent in #1000
🐛 Bug Fixes
S3
- fix(s3): accept region-qualified virtual-host form
bucket.s3.<region>.<host>by @slang25 in #978 - fix(s3): restore object on delete marker removal and add missing version headers by @JESUSLUG in #966
- fix(s3): handle
PutBucketRequestPaymentinstead of falling through toCreateBucketby @ram-sarf in #994 - fix(s3): unblock
.well-known/*object keys hijacked by Cognito routes by @ousamabenyounes in #1003 - fix(s3): avoid misrouting presigned PUTs with tagging (#932) by @nblomquist in #995
- fix(s3): persist inline
x-amz-taggingheader onPutObjectby @opcode-sec in #987 - fix(s3): remove shadowed
hasQueryParamthat misrouted presigned PUT withx-amz-taggingheader by @hectorvent in #1023
SQS / SNS
- fix(sqs): CloudFormation does not apply
ContentBasedDeduplicationor create SNS→SQS subscriptions correctly by @Arthur-0896 in #974 - fix(sqs): accept bare queue name in
QueueUrlfield by @dagrammy in #980 - fix(sns): preserve binary message attributes through publish and fan-out by @slang25 in #989
- fix(sns):
PublishBatchshould fail individual entries instead of aborting whole batch by @ousamabenyounes in #1008
Cognito / STS / IAM
- fix(cognito): CloudFormation does not provision
AWS::Cognito::UserPool/AWS::Cognito::UserPoolClientresources by @Arthur-0896 in #1007 - fix(cognito-idp): include user attributes in ID token claims (#984) by @matthewdavidlloyd in #985
- fix(sts): honour 12-digit access key as account ID in STS responses by @slang25 in #983
- fix(iam): honour 12-digit access key in IAM resource ARNs by @simlau in #1017
API Gateway
- fix(apigateway): populate full
APIGatewayRequestAuthorizerEventforREQUESTauthorizers by @dixitrathod16 in #1002 - fix(apigateway): implement v1
deleteDeploymentendpoint and return correct response by @iam-ssrivastav in #1019
Lambda / ECR / RDS / Core
- fix(lambda): use
SO_REUSEADDRinstopReleasesPortSynchronouslytest by @hectorvent in #991 - fix(ecr): release registry port when container start fails by @juano-morello in #1010
- fix(rds): register
DbEndpointfor native reflection by @albert-einshutoin in #1014 - fix: init shows wrong status when TLS is enabled and adding AppConfig by @hectorvent in #1006
📚 Documentation
- docs(transcribe): add Transcribe service documentation by @tatakaisun in #975
- docs: add Resource Groups Tagging service docs by @tatakaisun in #976
- docs(pipes): add documentation and navigation for EventBridge Pipes by @DevSidd2006 in #1001
- docs(readme): update logo with animated version by @cristiandlahoz in #997
👋 New Contributors
A warm welcome to everyone making their first contribution to Floci:
- @tatakaisun in #975
- @dagrammy in #980
- @DevSidd2006 in #1001
- @juano-morello in #1010
- @opcode-sec in #987
- @kyounghoonJang in #990
- @matthewdavidlloyd in #985
- @simlau in #1017
Full Changelog: 1.5.18...1.5.19