π Highlights
This release completes the cost-services trilogy with Cost and Usage Reports and BCM Data Exports, adds a brand-new Neptune graph database service, brings DynamoDB PartiQL support, and ships reproducible container builds. Cognito gets real Lambda triggers, API Gateway v2 gains HTTP_PROXY integrations, and there are solid conformance fixes across EventBridge, EKS, S3, and SNS. Welcome to the 4 first-time contributors.
π° Cost services complete: CUR + BCM Data Exports
With this release, @ShubhamDX completes the cost-services trio started in 1.5.15 (Pricing) and 1.5.16 (Cost Explorer). Cost and Usage Reports (cur:*) and BCM Data Exports (bcm-data-exports:*) are both now supported β finance and FinOps tooling can be exercised end-to-end against Floci.
πΈοΈ New: Neptune graph database
Floci now emulates AWS Neptune, bringing graph database support to the local AWS toolbox.
π DynamoDB PartiQL
ExecuteStatement, ExecuteTransaction, and BatchExecuteStatement are now implemented β applications that use the PartiQL-style SQL interface to DynamoDB will work against Floci without changes.
π Reproducible container builds
Container images now build deterministically via SOURCE_DATE_EPOCH, which means byte-identical images for a given Git revision β useful for supply-chain attestation, SBOM workflows, and downstream consumers verifying image provenance.
β¨ New Features
- feat(cur, bcm-data-exports): add Cost and Usage Reports + BCM Data Exports by @ShubhamDX in #850
- feat(neptune): add Neptune graph database support by @initeshjain in #881
- feat(dynamodb): implement
ExecuteStatement,ExecuteTransaction,BatchExecuteStatementby @hectorvent in #864 - feat(cognito): fire
PostConfirmationandPreSignUptriggers by @ricardomedina98 in #859 - feat(apigatewayv2):
HTTP_PROXYintegration with request parameter mapping by @ricardomedina98 in #860 - feat(apigateway): implement account management endpoints and models by @kapoorp99 in #867
- feat(sns): support
FilterPolicyScope=MessageBodyby @okinaka in #863 - feat(ses): add v2
PutAccountSuppressionAttributesby @okinaka in #853 - feat(ci): enable reproducible container builds via
SOURCE_DATE_EPOCHby @hectorvent in #884
π Bug Fixes
EventBridge / S3 / DynamoDB
- fix(eventbridge): propagate region for correct SQS queue resolution by @Arthur-0896 in #870
- fix(eventbridge): keep persisted rules from disappearing on reload by @yoshiyukiohta in #878
- fix(s3): return correct checksum algorithm on
PutObjectby @JESUSLUG in #877 - fix(dynamodb): honor legacy
Expectedcondition inUpdateItemby @hectorvent in #888
API Gateway v2 / EKS
- fix(apigatewayv2): include
authorizerIdon Route management API responses by @yoshiyukiohta in #887 - fix(eks): use container IP for readiness polling and handle startup failures by @hectorvent in #873
π§° Refactors & Internals
- chore: conventional commits enforcement by @hectorvent in #869
- chore(docker): add OCI image metadata labels by @hectorvent in #872
- fix: broken compatibility-tests Java by @hectorvent in #857
π New Contributors
A warm welcome to everyone making their first contribution to Floci:
- @ricardomedina98 in #859
- @yoshiyukiohta in #878
- @initeshjain in #881
- @JESUSLUG in #877
Full Changelog: 1.5.16...1.5.17