🎉 Highlights
This release brings GraalVM 25 across all builds, expands Cognito with OAuth2 userInfo and custom schema attributes, and adds meaningful EC2 and CloudFormation conformance work. Welcome to the 3 first-time contributors.
☕ GraalVM 25 across the board
All Floci builds now run on GraalVM 25 (#1107), with a Maven Enforcer rule (#1101) keeping the build pinned. Expect the usual native-image performance characteristics, fast startup and low memory, with the improvements that come from the newer GraalVM release.
🔐 Cognito: OAuth2 + custom schema
Two notable Cognito additions:
- OAuth2
/oauth2/userInfoendpoint, standard OIDC userinfo flow now works against Floci (#1062) - Custom schema attributes and attribute deletion APIs, user pools with custom-schema setups round-trip correctly (#1060)
🖧 EC2: filling in the gaps
A coordinated set of EC2 fixes lands this cycle:
- Required VPC, subnet, and instance methods plus several syntax fixes (#959)
- Missing subnet attributes and instance block device
attachTime(#1087) - Volume throughput,
DescribeAddressesAttribute, and IAM instance profile parity (#1103)
This closes a class of issues where Terraform and CDK would either fail or report incorrect state on otherwise valid EC2 resources.
✨ New Features
- feat(ec2): add required methods for VPC, subnet, instance, and fix syntax errors by @Lucas-Cunhaa in #959
- feat(cognito): implement OAuth2
/oauth2/userInfoendpoint by @aprox2 in #1062 - feat(cognito): implement custom schema attributes and attribute deletion APIs by @iam-ssrivastav in #1060
- feat(ses): add SES v2 configuration set event destination operations by @okinaka in #1079
- feat(firehose): add
TagDeliveryStream,UntagDeliveryStream,ListTagsForDeliveryStreamby @iam-ssrivastav in #1061 - feat(kms): handle
RotateKeyOnDemandrotation limit by @kyounghoonJang in #1042
🐛 Bug Fixes
EC2
- fix(ec2): add missing subnet attributes and instance block device
attachTimeby @hectorvent in #1087 - fix(ec2): volume throughput,
DescribeAddressesAttribute, and IAM instance profile parity by @hectorvent in #1103
CloudFormation / API Gateway / EventBridge
- fix(cloudformation): forward
ApiGatewayV2Apiproperties to theapigatewayv2service by @botondbotos in #1086 - fix(apigateway): implement v1
deleteDeploymentendpoint and return correct JSON 404 error by @iam-ssrivastav in #1059 - fix(eventbridge): tag rules on custom buses whose name contains
"event-bus"by @hectorvent in #1102
S3 / DynamoDB / RDS
- fix(s3): reject
response-*overrides on unsigned requests by @hectorvent in #1098 - fix(dynamodb): merge nested map paths in
ProjectionExpressionby @hectorvent in #1099 - fix(rds): restore persisted runtime on startup by @albert-einshutoin in #1071
Core / Logging
- fix(logging): render port numbers without locale grouping separators by @hectorvent in #1104
🧰 Refactors & Internals
- build: move all builds to GraalVM 25 by @hectorvent in #1107
- build: enforce JDK 25 requirement with Maven Enforcer Plugin by @somayaj in #1101
👋 New Contributors
A warm welcome to everyone making their first contribution to Floci:
- @Lucas-Cunhaa in #959
- @botondbotos in #1086
- @aprox2 in #1062
Full Changelog: 1.5.20...1.5.21
⚠️ Upgrade notes
This release moves the build to GraalVM 25 / JDK 25. If you build Floci from source, ensure your toolchain is on JDK 25, the Maven Enforcer Plugin will fail the build otherwise. Pre-built native binaries and Docker images are unaffected.