π Highlights
This release brings virtual-hosted-style S3 addressing backed by the new public localhost.floci.io DNS, broad DynamoDB conformance fixes, a new AWS Price List service, and the EventBridge TestEventPattern action. Windows users on Docker Desktop also get an important compatibility fix. Big thanks to the 8 first-time contributors below.
π New: localhost.floci.io public DNS
Floci now ships with a public DNS suffix β localhost.floci.io and *.localhost.floci.io resolve to 127.0.0.1 via authoritative DNS. This unlocks virtual-hostedβstyle S3 addressing out of the box, with no /etc/hosts edits, no custom resolver, and no localhost.localstack.cloud dependency. Just point your AWS SDK at http://<bucket>.s3.localhost.floci.io:4566 and it works.
For LocalStack migrators: localhost.localstack.cloud continues to work as a compatibility alias.
β¨ New Features
- feat(s3): virtual-hosted style addressing support β buckets are now reachable at
<bucket>.s3.localhost.floci.ioin addition to path-style by @hectorvent in #805 - feat(pricing): add AWS Price List Service support (
pricing:*) by @ShubhamDX in #821 - feat(ses): add SES v2 suppression list endpoints by @okinaka in #813
- feat(eventbridge): add
TestEventPatternaction by @marvikomo in #824
π Bug Fixes
S3 / SQS / SNS / SES
- fix(sqs): honor
MaximumMessageSizeattribute onSendMessageby @slang25 in #782 - fix(sqs): omit
Messagesfield from emptyReceiveMessageJSON response by @slang25 in #780 - fix(sqs): return MD5 of current request on FIFO dedup replay by @slang25 in #786
- fix(sns): enforce message size limits on
PublishandPublishBatchby @slang25 in #783 - fix(ses): allow
SendRawEmailwithoutSourcewhen MIMEFromis present by @okinaka in #800
DynamoDB
- fix(dynamodb): correct
UpdateExpressionsemantics andTransactWriteItemsidempotency by @bensont1 in #804 - fix(dynamodb): improve conformance across validation, expressions, and queries by @hectorvent in #826
API Gateway / CloudFormation / CloudWatch Logs
- fix(api-gateway): resolve sibling
{proxy+}collision with longest-prefix matching by @been-there-done-that in #811 - fix(cloudformation): provision
AWS::ApiGateway::Authorizerand wireMethod.AuthorizerIdby @ousamabenyounes in #796 - fix(cloudformation): preserve
Targets[].SqsParametersonAWS::Events::Ruleby @ousamabenyounes in #793 - fix(cloudwatch-logs): implement
PutSubscriptionFilterandDescribeSubscriptionFiltersby @been-there-done-that in #810
Lambda / Core
- fix(lambda): Lambda container networking when Floci runs in Docker by @fredpena in #765
- fix(core): Windows Docker compatibility β CRLF line endings (#739) by @Arthur-0896 in #790
π§° Refactors & Internals
- refactor: use
HexFormatfor digest encoding by @codingkiddo in #772 - fix(tests): enhance ElastiCache test reliability and optimize thread handling by @somayaj in #758
π Documentation
- docs: update container badges by @martincostello in #794
π New Contributors
A warm welcome to everyone making their first contribution to Floci:
- @codingkiddo in #772
- @ousamabenyounes in #796
- @slang25 in #783
- @martincostello in #794
- @marvikomo in #824
- @been-there-done-that in #811
- @bensont1 in #804
- @ShubhamDX in #821
Full Changelog: 1.5.14...1.5.15