Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 12 May 18:27
· 975 commits to main since this release
45af137

What's Changed

  • refactor: drop optional/required_param wrappers, call core helpers directly by @vieiralucas in #857
  • refactor: standardize state collections on BTreeMap (ecr, elbv2) by @vieiralucas in #855
  • refactor: convert cognito/elasticache/ses/eventbridge state to BTreeMap by @vieiralucas in #865
  • refactor: convert iam/kms/sqs state to BTreeMap by @vieiralucas in #866
  • refactor: convert apigw/apigwv2/ssm/dynamodb/bedrock/cloudformation state to BTreeMap by @vieiralucas in #867
  • refactor: extract test modules from large service files (Phase I) by @vieiralucas in #868
  • refactor: extract test modules from Phase J files (12 services) by @vieiralucas in #869
  • refactor(elasticache): extract free helpers to submodule (Phase I) by @vieiralucas in #870
  • refactor(route53): extract helpers + VPC handlers below impl block (Phase J) by @vieiralucas in #871
  • refactor: extract free helpers from 16 service files (Phase I/J) by @vieiralucas in #872
  • refactor: demote pub mod state/service across 32 crates (Phase K) by @vieiralucas in #873
  • refactor: finish ARN format! sweep (34 sites -> 0) by @vieiralucas in #874
  • refactor(sns): split service.rs (3152 -> 1564 lines) by @vieiralucas in #875
  • refactor(kms): split service.rs (3008 -> 1310 lines) by @vieiralucas in #876
  • refactor(eventbridge): split service.rs (3440 -> 1665 lines) by @vieiralucas in #877
  • refactor(apigateway): split service.rs (3413 -> 324 lines) by @vieiralucas in #878
  • refactor(ecs): split service.rs (3291 -> 296 lines) by @vieiralucas in #879
  • refactor(bedrock): extract tests to sibling file (2908 -> 1676 lines) by @vieiralucas in #880
  • refactor(dynamodb): extract free helper fns from service/mod.rs (2931 -> 424 lines) by @vieiralucas in #881
  • refactor(lambda): split service.rs (2935 -> 1616 lines) by @vieiralucas in #882
  • refactor(iam): extract evaluator tests (2895 -> 1019 lines) by @vieiralucas in #883
  • feat(ecs): implement Daemon + ExpressGatewayService 2026 ops by @vieiralucas in #884
  • feat(cloudfront): implement DistributionTenant + ConnectionFunction ops by @vieiralucas in #885
  • feat(conformance): @examples deep-diff strategy by @vieiralucas in #886
  • feat(conformance): Create->Get round-trip echo strategy by @vieiralucas in #887
  • feat(conformance): identifier-form fanout strategy by @vieiralucas in #888
  • feat(conformance): split 4xx by AWS error shape match by @vieiralucas in #889
  • feat(s3): close response field gaps surfaced by parity audit by @vieiralucas in #891
  • feat(lambda): emit full FunctionConfiguration response shape by @vieiralucas in #892
  • feat(lambda): real AccountUsage + full ESM + Versions + Code.Location by @vieiralucas in #893
  • refactor(iam): delete fabricated operations not in real AWS by @vieiralucas in #890
  • feat(dynamodb): emit ConsumedCapacity + ItemCollectionMetrics on data-plane ops by @vieiralucas in #894
  • feat(rds): add fields and dynamic values to db_instance_xml by @vieiralucas in #895
  • feat(elasticache): persist + render encryption/log/cluster fields on ReplicationGroup by @vieiralucas in #896
  • feat(kinesis): emit EnhancedMonitoring + StreamModeDetails + KeyId on DescribeStream and real StreamSummaries by @vieiralucas in #897
  • feat(ecs,ecr): emit always-present response fields on Task/Service/Image by @vieiralucas in #898
  • feat(dynamodb): accept table ARN (and sub-resource ARNs) anywhere TableName is read by @vieiralucas in #899
  • feat(sqs): accept queue ARN in QueueUrl fields by @vieiralucas in #900
  • feat(kms): accept alias/* in EnableKeyRotation/DisableKeyRotation/GetKeyRotationStatus by @vieiralucas in #901
  • feat(lambda): UpdateFunctionCode actually replaces code/image and recomputes hashes by @vieiralucas in #902
  • fix(lambda): normalize AddPermission action prefix and unify tag store by @vieiralucas in #904
  • feat(s3): enforce PublicAccessBlock on PutBucketPolicy and PutBucket/Object ACL by @vieiralucas in #907
  • feat(lambda): PublishVersion snapshots config + monotonic numbering by @vieiralucas in #903
  • fix(s3): DeleteObjects batch honors COMPLIANCE retention and legal hold by @vieiralucas in #909
  • feat(s3): fire ObjectCreated:CompleteMultipartUpload event and emit checksum by @vieiralucas in #910
  • fix(s3): update_object_encryption actually re-encrypts on algorithm flip by @vieiralucas in #911
  • feat(lambda): enforce reserved concurrency and resolve alias routing by @vieiralucas in #905
  • feat(iam): enforce sts:ExternalId on AssumeRole trust policy by @vieiralucas in #913
  • feat(logs): enforce retention on GetLogEvents and FilterLogEvents by @vieiralucas in #916
  • feat(s3): enforce BucketOwnerEnforced on ACL writes by @vieiralucas in #908
  • feat(organizations): CreateAccount lifecycle + CloseAccount + RemoveAccountFromOrganization by @vieiralucas in #918
  • feat(lambda): UpdateFunctionConfiguration accepts advanced fields and EphemeralStorage applies as tmpfs by @vieiralucas in #906
  • feat(iam): real Simulate{Custom,Principal}Policy via the IAM evaluator by @vieiralucas in #920
  • feat(elbv2): enforce deletion_protection.enabled on DeleteLoadBalancer by @vieiralucas in #923
  • feat(secretsmanager): enforce resource policy on cross-account GetSecretValue by @vieiralucas in #922
  • feat(acm): real X.509 self-signed PEM via rcgen on RequestCertificate by @vieiralucas in #924
  • feat(route53): admin-controllable health check status + last-failure reason by @vieiralucas in #925
  • feat(s3): validate KMS key id on PutBucketEncryption and use real JSON parse for IsPublic by @vieiralucas in #912
  • feat(ssm): enforce parameter Expiration policy on read by @vieiralucas in #927
  • feat(cloudformation): real Fn::GetAtt resolution per resource type by @vieiralucas in #926
  • feat(dynamodb): DescribeEndpoints + DescribeLimits become region-aware by @vieiralucas in #929
  • feat(eventbridge): add suffix / equals-ignore-case / cidr / wildcard / $or filter operators by @vieiralucas in #930
  • feat(scheduler): evaluate cron against ScheduleExpressionTimezone by @vieiralucas in #928
  • fix(kinesis): emit 56-digit sequence numbers like real AWS by @vieiralucas in #931
  • feat(cloudfront): Distribution Status transitions InProgress -> Deployed by @vieiralucas in #932
  • fix(ecr): GetLifecyclePolicy returns the actual lastEvaluatedAt by @vieiralucas in #933
  • fix(iam): ChangePassword validates and stores password by @vieiralucas in #915
  • feat(ssm): SendCommand goes through Pending -> InProgress -> Success by @vieiralucas in #921
  • feat(sqs): emit MD5OfMessageSystemAttributes on SendMessage by @vieiralucas in #934
  • feat(bedrock): dynamic token counts + BEDROCK_ECHO mode by @vieiralucas in #935
  • feat(elasticache): RebootCacheCluster restarts the engine container by @vieiralucas in #937
  • feat(stepfunctions): ASL intrinsic functions (States.*) by @vieiralucas in #938
  • feat(appas): RegisterScalableTarget emits ScalingActivity rows by @vieiralucas in #939
  • feat(iam): expand global condition keys (MFA, VPC, federation, CalledVia) by @vieiralucas in #941
  • feat(rds): DescribeEvents serves real events from in-memory ring by @vieiralucas in #942
  • feat(cloudformation): Fn::Base64 / Split / Select / Length / ToJsonString / Cidr by @vieiralucas in #944
  • feat(sns): EffectiveDeliveryPolicy merges user policy over default by @vieiralucas in #943
  • feat(acm): ExportCertificate encrypts private key with Passphrase by @vieiralucas in #936
  • feat(route53): GetChange transitions PENDING -> INSYNC after a few reads by @vieiralucas in #940
  • feat(kms): real RSA Sign/Verify/GetPublicKey for RSA_2048/3072/4096 by @vieiralucas in #917
  • feat(ses): honor account/config-set sending pause flags by @vieiralucas in #946
  • feat(cloudformation): substitute AWS::* pseudo-parameters by @vieiralucas in #948
  • feat(route53): TestDNSAnswer honors RRset routing policy + health by @vieiralucas in #947
  • feat(cloudformation): provision AWS::Lambda::Function by @vieiralucas in #951
  • feat(ssm): admin endpoint to override SendCommand status by @vieiralucas in #954
  • feat(acm): auto-flip RequestCertificate to ISSUED after a few reads by @vieiralucas in #952
  • feat(cloudformation): parse Outputs + ImportValue + ListExports by @vieiralucas in #955
  • feat(organizations): implement handshake invitation flow by @vieiralucas in #956
  • feat(ses): render Content.Template at SendEmail/SendBulkEmail by @vieiralucas in #961
  • feat(scheduler): wire Kinesis as a universal target by @vieiralucas in #963
  • feat(cloudformation): support Conditions + Fn::If/Equals/And/Or/Not by @vieiralucas in #949
  • feat(organizations): trusted services + delegated administrators by @vieiralucas in #957
  • test(bedrock): serialize BEDROCK_ECHO env mutation with embed test by @vieiralucas in #964
  • feat(ses): gate sends on verified sender identity by @vieiralucas in #945
  • feat(eventbridge): round-trip full target config on PutTargets by @vieiralucas in #967
  • feat(ecr): trigger image scan on PutImage when scan_on_push is enabled by @vieiralucas in #965
  • test(ses): seed verified identity in template-render test by @vieiralucas in #969
  • feat(organizations): EnableAllFeatures + policy-type management by @vieiralucas in #959
  • feat(ses): MailFromDomain MX/TXT records + status lifecycle by @vieiralucas in #966
  • feat(organizations): tagging + nav + effective/resource policy by @vieiralucas in #958
  • feat(cloudformation): support Mappings + Fn::FindInMap by @vieiralucas in #950
  • feat(iam): F4 polish - ResyncMFADevice EnableDate, Get/SetSecurityTokenServicePreferences by @vieiralucas in #953
  • feat(lambda): UpdateFunctionCode enforces CodeSigningConfig + stable RevisionId by @vieiralucas in #970
  • feat(lambda): GetFunction(Qualifier) returns version snapshot by @vieiralucas in #971
  • feat(ses): DKIM-sign outbound emails with per-identity RSA keys by @vieiralucas in #962
  • feat(lambda): Invoke runs from numbered version snapshot by @vieiralucas in #972
  • fix(sqs): cross-service FIFO delivery assigns sequence_number + surfaces invalid-param by @vieiralucas in #977
  • feat(cognito): real RSA-2048 RS256 JWT signing per pool by @vieiralucas in #968
  • feat(sns): POST SubscriptionConfirmation to HTTP/HTTPS endpoints by @vieiralucas in #976
  • feat(organizations): accept all five policy types by @vieiralucas in #960
  • feat(sns): track SubscriptionsDeleted per topic by @vieiralucas in #973
  • feat(kinesis): GetShardIterator supports AT_TIMESTAMP by @vieiralucas in #978
  • feat(sqs): enforce queue access policies via ResourcePolicyProvider by @vieiralucas in #980
  • feat(s3): add CRC32C and CRC64NVME checksum algorithms by @vieiralucas in #982
  • feat(eventbridge): enforce event bus policies via ResourcePolicyProvider by @vieiralucas in #981
  • feat(dynamodb): reject ConsistentRead on GSI + omit Items under Select=COUNT by @vieiralucas in #983
  • fix(s3): emit x-amz-transition-default-minimum-object-size on lifecycle GET by @sveitser in #975
  • fix(iam): include AWS managed policies in ListAttachedRolePolicies by @sveitser in #974
  • feat(cognito): expose pool JWKS + OIDC discovery endpoints by @vieiralucas in #979
  • feat(cognito): /oauth2/token endpoint (Y3) by @vieiralucas in #985
  • feat(kms): bind EncryptionContext into ciphertext AAD (G6) by @vieiralucas in #986
  • feat(ses): legacy v1 verified-email aliases (X9) by @vieiralucas in #987
  • feat(elbv2): validate Listener Protocol and Port (Q4) by @vieiralucas in #988
  • feat(ecr): registry-level scan-on-push fallback (GG6) by @vieiralucas in #989
  • feat(dynamodb): Scan honors IndexName + GSI/LSI projection (L5) by @vieiralucas in #992
  • feat(rds): RestoreDBInstanceFromDBSnapshot carries Tags (M11) by @vieiralucas in #993
  • feat(cognito): /oauth2/userInfo + /oauth2/revoke (Y5) by @vieiralucas in #994
  • feat(apigateway): GetExport derives OpenAPI from state (GG10) by @vieiralucas in #991
  • fix(dynamodb): GetResourcePolicy 404 PolicyNotFoundException (L6) by @vieiralucas in #990
  • feat(cognito): RefreshTokenRotation rotates refresh on grant (Y7) by @vieiralucas in #995
  • fix(rds): persist DB instance after bg container start (#914) by @vieiralucas in #997
  • feat(firehose): new fakecloud-firehose crate with S3 destination delivery (AA1) by @vieiralucas in #996
  • feat(glue): new fakecloud-glue Data Catalog crate (AA2) by @vieiralucas in #998
  • feat(cloudformation): provision AWS::SecretsManager::Secret (BB13) by @vieiralucas in #1000
  • feat(cloudwatch): new fakecloud-cloudwatch metrics + alarms crate (AA3) by @vieiralucas in #999
  • feat(cloudformation): provision AWS::Kinesis::Stream (BB23) by @vieiralucas in #1001
  • feat(cloudformation): provision AWS::KMS::Key + AWS::KMS::Alias (BB14) by @vieiralucas in #1002
  • feat(cloudformation): provision AWS::ECR::Repository (BB12) by @vieiralucas in #1003
  • feat(cloudformation): provision AWS::CloudWatch::Alarm (BB18) by @vieiralucas in #1004
  • feat(cloudformation): provision AWS::Kinesis::StreamConsumer (BB23 followup) by @vieiralucas in #1005
  • feat(cloudformation): provision Logs LogStream + MetricFilter + SubscriptionFilter (BB29) by @vieiralucas in #1006
  • feat(cloudformation): provision Events Connection + ApiDestination + Archive (BB28) by @vieiralucas in #1007
  • feat(cloudformation): provision IAM User/Group/ManagedPolicy/AccessKey/InstanceProfile (BB30) by @vieiralucas in #1008
  • feat(cloudformation): provision ELBv2 LB + TargetGroup + Listener + ListenerRule (BB17) by @vieiralucas in #1009
  • feat(cloudformation): provision Organizations Org + OU + Policy + ResourcePolicy (BB31) by @vieiralucas in #1010
  • feat(cloudformation): provision Cognito UserPool + UserPoolClient + UserPoolDomain (BB15) by @vieiralucas in #1011
  • feat(cloudformation): provision Lambda Permission/EventSourceMapping/LayerVersion/Url/Alias/Version (BB8) by @vieiralucas in #1012
  • feat(cloudformation): provision RDS metadata resource types (BB16) by @vieiralucas in #1013
  • feat(cloudformation): provision ECS Cluster + TaskDefinition + Service + CapacityProvider (BB11) by @vieiralucas in #1014
  • feat(cloudformation): provision ACM Certificate (BB22) by @vieiralucas in #1015
  • feat(cloudformation): provision ElastiCache metadata resource types (BB24) by @vieiralucas in #1016
  • feat(cfn): provision Route53 HostedZone, RecordSet, HealthCheck by @vieiralucas in #1017
  • feat(cfn): provision CloudFront metadata resources (8 types) by @vieiralucas in #1018
  • feat(cfn): provision Step Functions StateMachine + Activity + Version + Alias by @vieiralucas in #1019
  • feat(cfn): provision Logs Destination + ResourcePolicy + Delivery* + QueryDefinition by @vieiralucas in #1020
  • feat(cfn): provision WAFv2 WebACL + IPSet + RegexPatternSet + RuleGroup + LoggingConfiguration + WebACLAssociation by @vieiralucas in #1021
  • feat(cfn): provision EventBridge EventBus + EventBusPolicy + Endpoint by @vieiralucas in #1022
  • feat(cfn): provision IAM OIDCProvider + SAMLProvider + ServiceLinkedRole + VirtualMFADevice by @vieiralucas in #1023
  • feat(cloudwatch): add Dashboard CRUD ops + CFN provisioner by @vieiralucas in #1024
  • feat(cloudformation): provision AWS::ApiGateway::* resource types by @vieiralucas in #1025
  • feat(cloudformation): provision AWS::ApiGatewayV2::* resource types by @vieiralucas in #1026
  • feat(cloudformation): provision AWS::SES::* resource types by @vieiralucas in #1027
  • feat(cloudformation): provision AWS::SecretsManager::* extras by @vieiralucas in #1028
  • feat(cloudformation): provision AWS::RDS::DBInstance and DBCluster by @vieiralucas in #1029
  • feat(cloudformation): provision AWS::ElastiCache::CacheCluster and ReplicationGroup by @vieiralucas in #1030
  • feat(cloudformation): make ExecuteChangeSet apply real resource updates by @vieiralucas in #1031
  • fix(cloudformation): make CreateChangeSet/ExecuteChangeSet tolerate skeleton requests by @vieiralucas in #1032
  • feat(cloudformation): provision AWS::CertificateManager::Account by @vieiralucas in #1033
  • feat(cloudformation): provision AWS::Organizations::Account by @vieiralucas in #1034
  • feat(cloudformation): provision ECR policies + replication + pull-through cache by @vieiralucas in #1035
  • feat(cloudformation): provision ELBv2 ListenerCertificate and TrustStore by @vieiralucas in #1036
  • feat(cloudformation): provision Route53 DNSSEC and KeySigningKey by @vieiralucas in #1037
  • feat(cloudformation): provision AWS::KMS::ReplicaKey by @vieiralucas in #1038
  • feat(cloudformation): provision AWS::CloudFront::Distribution by @vieiralucas in #1039
  • refactor(lambda, iam): delete fabricated CapacityProvider, DurableExecution, and IAM mutating-action stubs by @vieiralucas in #1040
  • fix(s3): emit quoted ETag and ChecksumType in GetObjectAttributes by @vieiralucas in #1041
  • fix(dynamodb): emit real ItemCollectionMetrics on LSI tables by @vieiralucas in #1042
  • fix(lambda): emit StateReason and LastUpdateStatusReason fields by @vieiralucas in #1043
  • fix(lambda): round-trip advanced EventSourceMapping fields by @vieiralucas in #1044
  • fix(elasticache): emit parameter group, security groups, log delivery, and encryption flags on cache clusters by @vieiralucas in #1045
  • fix(ecs): emit capacityProviderName on Task by @vieiralucas in #1046
  • fix(rds): emit extended fields on DBSnapshot by @vieiralucas in #1047
  • feat(sns): retry HTTP delivery and route to RedrivePolicy DLQ by @vieiralucas in #1048
  • refactor(sns): unify cross-service publish path with direct fan-out by @vieiralucas in #1049
  • refactor(eventbridge): unify cross-service target dispatch by @vieiralucas in #1050
  • feat(logs): write CreateExportTask + CreateDelivery output to real S3 by @vieiralucas in #1051
  • feat(ecr): execute replication rules on PutImage by @vieiralucas in #1052
  • feat(ecr): enforce repository policy on cross-account image ops by @vieiralucas in #1053
  • feat(logs): route subscription filter destinations to Firehose by @vieiralucas in #1054
  • feat(logs): enforce retention on Logs Insights query results by @vieiralucas in #1055
  • feat(iam): enforce trust policy on AssumeRole via IAM evaluator by @vieiralucas in #1056
  • feat(iam): real DecodeAuthorizationMessage round-trip by @vieiralucas in #1057
  • feat(kms): real HMAC for GenerateMac/VerifyMac by @vieiralucas in #1058
  • feat(kms): enforce key_state on every crypto op by @vieiralucas in #1059
  • feat(kms): real RSA-OAEP unwrap on ImportKeyMaterial by @vieiralucas in #1060
  • feat(eventbridge): gate cross-account PutEvents through bus policy by @vieiralucas in #1061
  • feat(kinesis): honor StreamModeDetails on CreateStream + retention prune on read by @vieiralucas in #1062
  • feat(dynamodb): DynamoDB Streams data plane (L1) by @vieiralucas in #1063
  • feat(dynamodb): atomic TransactWriteItems + stream/kinesis emit (L2) by @vieiralucas in #1064
  • feat(dynamodb): atomic ExecuteTransaction + stream/kinesis emit (L3) by @vieiralucas in #1065
  • feat(dynamodb): PartiQL multi-account + comparators + key validation (L4) by @vieiralucas in #1066
  • feat(dynamodb): Query/Scan Limit-before-Filter + parallel Scan (L5) by @vieiralucas in #1067
  • feat(dynamodb): preserve GSI/LSI/tags/TTL/SSE/Stream across backup; reject ConsistentRead on GSI Scan (L6) by @vieiralucas in #1068
  • feat(kms): real RSA/ECC GenerateDataKeyPair returning parseable PKCS#8 + SPKI (G4) by @vieiralucas in #1069
  • test(kms): EncryptionContext round-trip + AAD-mismatch coverage (G6) by @vieiralucas in #1070
  • feat(scheduler): FlexibleTimeWindow + RetryPolicy budget before DLQ (K11) by @vieiralucas in #1071
  • feat(scheduler): universal targets for SES SendEmail + ECS RunTask + Kinesis (K12) by @vieiralucas in #1072
  • feat(lambda): Kinesis poller honors ReportBatchItemFailures (K14) by @vieiralucas in #1073
  • feat(rds): ModifyDBInstance accepts all mutable fields (M1) by @vieiralucas in #1074
  • feat(rds): ModifyDB[Cluster]ParameterGroup parses + DescribeDB[Cluster]Parameters reads (M2) by @vieiralucas in #1075
  • feat(rds): tag operations multiplex across resource types (M4) by @vieiralucas in #1076
  • feat(rds): real PromoteReadReplica + SwitchoverReadReplica (M5) by @vieiralucas in #1077
  • feat(rds): real cluster lifecycle ops (M6) by @vieiralucas in #1078
  • feat(rds): real PIT + cluster snapshot/PIT restore (M7) by @vieiralucas in #1079
  • feat(rds): real RestoreDBInstanceFromS3 (M8) by @vieiralucas in #1080
  • feat(rds): real BlueGreenDeployment lifecycle (M9) by @vieiralucas in #1081
  • feat(acm): real X.509 PEM via rcgen (V1) by @vieiralucas in #1082
  • feat(elbv2): enforce deletion_protection on DeleteLoadBalancer (Q1) by @vieiralucas in #1083
  • feat(rds): real DescribeDBLogFiles + DownloadDBLogFilePortion (M10) by @vieiralucas in #1084
  • feat(elasticache): CreateReplicationGroup accepts all fields (N1) by @vieiralucas in #1085
  • feat(route53): admin endpoint for health-check status (U1) by @vieiralucas in #1086
  • feat(rds): real Modify ops + ApplyPendingMaintenance + snapshot copy + tags (M11) by @vieiralucas in #1087
  • feat(ecs): real multi-container task launch (O1) by @vieiralucas in #1088
  • feat(cloudfront): real JS execution in TestFunction + TestConnectionFunction (T1) by @vieiralucas in #1089
  • feat(cognito): real RSA-2048 RS256 JWT signing (Y1) by @vieiralucas in #1090
  • feat(ses): enforce verified-identity gate on SendEmail v1+v2 (X1) by @vieiralucas in #1091
  • feat(wafv2): statement evaluation engine + action resolution (W1) by @vieiralucas in #1092
  • feat(logs): metric filters extract metrics on PutLogEvents (Z1) by @vieiralucas in #1094
  • feat(elasticache): CreateCacheCluster accepts all fields (N2) by @vieiralucas in #1095
  • feat(ecr): real replication rule execution + status tracking (P1) by @vieiralucas in #1093
  • feat(acm): auto-issue + admin endpoint for certificate status (V2) by @vieiralucas in #1096
  • feat(lambda): UpdateFunctionCode actually replaces code (D1) by @vieiralucas in #1097
  • feat(ecr): enforce repository policy on cross-account ops (P2) by @vieiralucas in #1098
  • feat(cloudfront): distribution status transitions + admin endpoint (T2) by @vieiralucas in #1099
  • feat(cognito): JWKS + OIDC discovery endpoints (Y2) by @vieiralucas in #1100
  • feat(iam): enforce trust policy on AssumeRole (F1) by @vieiralucas in #1101
  • feat(lambda): PublishVersion snapshots code+config (D2) by @vieiralucas in #1102
  • feat(apigatewayv2): WebSocket support + @connections data plane (S1) by @vieiralucas in #1103
  • feat(ecr): auto-trigger image scan on PutImage when configured (P3) by @vieiralucas in #1104
  • feat(iam): real SimulateCustomPolicy + SimulatePrincipalPolicy (F2) by @vieiralucas in #1105
  • feat(logs): CreateExportTask + CreateDelivery write to real S3 (Z2) by @vieiralucas in #1106
  • feat(route53): TestDNSAnswer evaluates routing policies + alias targets (U2) by @vieiralucas in #1107
  • feat(elasticache): ModifyReplicationGroup accepts auth/encryption/log/multi-AZ fields (N3) by @vieiralucas in #1108
  • feat(ecs): translate portMappings to docker --publish flags (O2) by @vieiralucas in #1109
  • feat(ses): account + config-set sending pause + suppression enforcement (X2) by @vieiralucas in #1110
  • feat(cloudformation): Fn::GetAtt resolves provisioner-specific attributes (BB1) by @vieiralucas in #1111
  • feat(lambda): AddPermission action prefix + tag store unified (D3) by @vieiralucas in #1112
  • feat(elbv2): WAFv2 evaluation in ALB dataplane (Q2) by @vieiralucas in #1113
  • feat(apigateway): authorizer enforcement before integration (R1) by @vieiralucas in #1114
  • fix(elbv2): allow too_many_arguments on evaluate_waf_outcome by @vieiralucas in #1115
  • feat(lambda): D4 reserved concurrency Reason + alias weight tests by @vieiralucas in #1116
  • feat(apigateway): enforce usage plan throttle + quota at data plane by @vieiralucas in #1117
  • feat(cloudformation): exports registry + ImportValue validation + DeleteStack guard (BB2) by @vieiralucas in #1118
  • feat(ecr): periodic lifecycle policy re-evaluation ticker (P4) by @vieiralucas in #1119
  • feat(apigatewayv2): @connections management API + connection metadata (S2) by @vieiralucas in #1120
  • feat(iam): wire MFA + federated provider + token issue time on STS sessions (F3) by @vieiralucas in #1121
  • feat(lambda): D5 ephemeral storage validation, SnapStart auto-On, tmpfs exec by @vieiralucas in #1122
  • feat(cloudfront): wall-clock timeout + ComputeUtilization for TestFunction (T1) by @vieiralucas in #1124
  • fix(tests): align e2e + conformance with shipped contract changes by @vieiralucas in #1129
  • feat(ecr): UpdateImageStorageClass + ListImageReferrers + in-use tracking (P5) by @vieiralucas in #1125
  • feat(acm): ExportCertificate emits PKCS#8 v2 encrypted PEM (V3) by @vieiralucas in #1126
  • fix(sdks/python): ruff format + verify SES sender in test by @vieiralucas in #1130
  • feat(cloudformation): memoized Conditions + AWS::NoValue (BB3) by @vieiralucas in #1123
  • feat(elbv2): emit ALB access + connection logs to S3 by @vieiralucas in #1127
  • fix: address Cubic findings from #1123/#1125/#1126/#1129/#1130 by @vieiralucas in #1131
  • feat(cognito): real RSA-2048 RS256 JWT signing per user pool (Y1) by @vieiralucas in #1133
  • fix(lambda): UpdateFunctionCode replaces code + recomputes hash/size (D1) by @vieiralucas in #1132
  • fix(elbv2): listener validation + WAF ARN + ipv6 SNAT bool (Q4) by @vieiralucas in #1134
  • docs(cloudfront): document boa-backed TestFunction + TestConnectionFunction (T1) by @vieiralucas in #1135
  • feat(iam): trust policy enforcement on AssumeRole/SAML/WebIdentity (F1) by @vieiralucas in #1137
  • feat(lambda): real PublishVersion snapshots + ListVersionsByFunction (D2) by @vieiralucas in #1136
  • feat(scheduler): FlexibleTimeWindow + RetryPolicy + tz support (K11) by @vieiralucas in #1138
  • test(dynamodb-streams): e2e coverage for ListStreams/DescribeStream/Get* + Lambda ESM (L1) by @vieiralucas in #1140
  • feat(rds): ModifyDBInstance accepts all mutable fields + PendingModifiedValues (M1) by @vieiralucas in #1139
  • feat(wafv2): real statement evaluator + action enforcement (W1) by @vieiralucas in #1141
  • feat(cognito): JWKS + OIDC discovery endpoints (Y2) by @vieiralucas in #1144
  • fix(lambda): AddPermission action prefix + tag store unification + UntagResource (D3) by @vieiralucas in #1142
  • feat(ses): verified-identity gate on SendCustomVerificationEmail (X1) by @vieiralucas in #1143
  • feat(cloudformation): Mappings + Fn::FindInMap (BB4) by @vieiralucas in #1145
  • feat(dynamodb): atomic TransactWriteItems + stream emission (L2) by @vieiralucas in #1147
  • feat(elasticache): CreateReplicationGroup accepts all fields (N1) by @vieiralucas in #1146
  • feat(ecs): multi-container task launch + per-container lifecycle (O1) by @vieiralucas in #1148
  • feat(apigateway): authorizer enforcement (TOKEN/REQUEST/COGNITO_USER_POOLS) (R1) by @vieiralucas in #1149
  • feat(rds): ModifyDBParameterGroup + DescribeDB(Cluster)Parameters real (M2) by @vieiralucas in #1153
  • feat(iam): real SimulateCustomPolicy + SimulatePrincipalPolicy (F2) by @vieiralucas in #1152
  • feat(cloudformation): Fn::Select/Split/Base64/Cidr/Length/ToJsonString/ForEach (BB5) by @vieiralucas in #1150
  • feat(organizations): CreateAccount + CloseAccount + lifecycle ops (H1) by @vieiralucas in #1151
  • feat(ssm): SendCommand async Pending -> InProgress -> Success (I1) by @vieiralucas in #1154
  • feat(organizations): handshake invitation flow + accept/decline/cancel (H2) by @vieiralucas in #1156
  • feat(cloudformation): pseudo-parameters AWS::Region/Partition/URLSuffix/NoValue/NotificationARNs (BB6) by @vieiralucas in #1155
  • feat(ssm): parameter policies (I2) by @vieiralucas in #1157
  • feat(rds): real DescribeEvents from emit_event buffer (M3) by @vieiralucas in #1158
  • feat(rds): tagging multiplexed across all resource types (M4) by @vieiralucas in #1159
  • feat(organizations): trusted services + delegated administrator (H3) by @vieiralucas in #1161
  • feat(route53): controllable HealthCheck status + admin endpoint (U1) by @vieiralucas in #1160
  • feat(acm): cert auto-issue lifecycle PENDING_VALIDATION -> ISSUED (V2) by @vieiralucas in #1162
  • feat(wafv2): inspection wired into ELBv2 + API Gateway v1+v2 dataplanes (W2) by @vieiralucas in #1163
  • feat(ses): verified-identity gate on send (v1 + v2) (X1) by @vieiralucas in #1164
  • feat(cloudfront): TestFunction stage selection + E2E coverage (T1) by @vieiralucas in #1165
  • feat(cloudformation): AWS::Lambda::Function provisioner (BB7) by @vieiralucas in #1167
  • feat(elasticache): CreateCacheCluster accepts all input fields (N2) by @vieiralucas in #1169
  • feat(rds): real PromoteReadReplica + SwitchoverReadReplica (M5) by @vieiralucas in #1168
  • feat(ecr): repository policy enforcement on cross-account image/layer ops (P2) by @vieiralucas in #1175
  • feat(organizations): tagging + nav + EffectivePolicy + ResourcePolicy (H4) by @vieiralucas in #1179
  • test(kms): prove RSA Sign verifies outside fakecloud (G1) by @vieiralucas in #1176
  • feat(route53): GetChange transition + DNSSEC RRSIG + query log delivery (U3) by @vieiralucas in #1173
  • feat(apigateway): API key requirement + usage plan throttle/quota (R2) by @vieiralucas in #1174
  • feat(dynamodb): atomic ExecuteTransaction with snapshot/revert + stream emission (L3) by @vieiralucas in #1172
  • feat(cloudformation): AWS::Lambda::{Permission,EventSourceMapping,LayerVersion,Url,Alias,Version} (BB8) by @vieiralucas in #1177
  • feat(elasticache): ModifyReplicationGroup accepts all rotation/encryption/log/multi-AZ fields (N3) by @vieiralucas in #1180
  • feat(iam): tighten ChangePassword + AccessDenied encoded msg + GCI auth (F4 follow-up) by @vieiralucas in #1171
  • feat(sns): HTTP/HTTPS SubscriptionConfirmation POST + ConfirmSubscription (K3) by @vieiralucas in #1183
  • feat(sqs): SSE-SQS managed encryption + MD5OfMessageSystemAttributes + Lambda poller visibility (K2) by @vieiralucas in #1182
  • feat(ssm): honest 501 on StartSession + admin session inject endpoint (I3) by @vieiralucas in #1170
  • feat(sns): unify direct + cross-service publish (filter policy + HTTP + FIFO) (K5) by @vieiralucas in #1184
  • fix(e2e): debounce sns_http_confirm test against loaded-runner flake by @vieiralucas in #1185
  • feat(cloudformation): AWS::ApiGateway::* provisioners (BB9) by @vieiralucas in #1181
  • feat(ses): account + config-set sending pause + suppression enforcement (X2) by @vieiralucas in #1166
  • feat(cognito): /oauth2/token with all 3 grants (Y3) by @vieiralucas in #1189
  • feat(rds): real Failover/Reboot/Start/Stop/Backtrack/ModifyDBCluster (M6) by @vieiralucas in #1188
  • feat(dynamodb): PartiQL real comparators + schema validation + stream emit (L4) by @vieiralucas in #1187
  • feat(sns): compute EffectiveDeliveryPolicy as merge of user policy over default (K6) by @vieiralucas in #1190
  • feat(cloudformation): AWS::ApiGatewayV2::* provisioners (BB10) by @vieiralucas in #1186
  • feat(cloudformation): AWS::ECS provisioners (BB11) by @vieiralucas in #1193
  • feat(cloudformation): AWS::ECR::* provisioners (BB12) by @vieiralucas in #1194
  • feat(logs): CreateExportTask + CreateDelivery write to real S3 (Z2) by @vieiralucas in #1191
  • feat(route53): TestDNSAnswer routing policies + cross-service alias resolution (U2) by @vieiralucas in #1192
  • feat(ses): real template rendering at SendEmail (v1 + v2) (X3) by @vieiralucas in #1195
  • feat(cloudformation): AWS::KMS::{Key,Alias,ReplicaKey} provisioners (BB14) by @vieiralucas in #1196
  • feat(cloudformation): AWS::SecretsManager::* provisioners (BB13) by @vieiralucas in #1197
  • feat(rds): real RestoreDBInstanceToPointInTime + RestoreDBClusterFromSnapshot (M7) by @vieiralucas in #1198
  • feat(ecs): real Docker HEALTHCHECK from container healthCheck definition (O4) by @vieiralucas in #1201
  • feat(ses): real DKIM signing on outgoing emails (X4) by @vieiralucas in #1202
  • feat(cloudformation): AWS::Cognito::* provisioners (BB15) by @vieiralucas in #1200
  • feat(application-autoscaling): DynamoDB capacity target-tracking + step scaling (EE1) by @vieiralucas in #1204
  • feat(ecs): real volume mounts (host bind + EFS stub + named) (O3) by @vieiralucas in #1199
  • feat(stepfunctions): generic aws-sdk:* integration via service registry (CC1) by @vieiralucas in #1203
  • feat(bedrock): echo mode + dynamic token counts (FF1) by @vieiralucas in #1205
  • feat(athena): minimal SQL parser + Glue catalog reads + S3 CSV result write (DD1) by @vieiralucas in #1207
  • feat(lambda): real eventstream chunks in InvokeWithResponseStream (GG1) by @vieiralucas in #1206
  • feat(eventbridge): full EventTarget field round-trip (K7) by @vieiralucas in #1210
  • feat(cloudformation): ELBv2 provisioner update + GetAtt (BB17) by @vieiralucas in #1209
  • feat(ecs): honor containerDefinitions.dependsOn ordering (O5) by @vieiralucas in #1211
  • feat(cloudfront): real Status InProgress -> Deployed for streaming distributions + ETag stability (T2) by @vieiralucas in #1212
  • feat(elasticache): real shard + replica count mutations (N4) by @vieiralucas in #1208
  • feat(cloudformation): CloudWatch Alarm + Dashboard UpdateStack support (BB18) by @vieiralucas in #1215
  • feat(cognito): /oauth2/authorize endpoint with code+token response types (Y4) by @vieiralucas in #1213
  • feat(stepfunctions): real .sync wait pattern (CC2) by @vieiralucas in #1214
  • feat(ecs): EnableExecuteCommand + propagateTags + ProtectFromScaleIn enforcement (O15) by @vieiralucas in #1216
  • feat(dynamodb): real PartiQL WHERE evaluator + INSERT validation + stream emission (L4) by @vieiralucas in #1217
  • feat(application-autoscaling): scheduled action executor + cross-service apply (EE4) by @vieiralucas in #1220
  • feat(cloudformation): real ExecuteChangeSet diff+apply (BB35) by @vieiralucas in #1218
  • feat(stepfunctions): waitForTaskToken pattern (CC3) by @vieiralucas in #1221
  • feat(application-autoscaling): ECS desiredCount scaling (EE2) by @vieiralucas in #1223
  • feat(apigatewayv2): WebSocket support (S1) by @vieiralucas in #1222
  • fix(acm): resolve conformance failures — protocol mapping + shape validation by @vieiralucas in #1224
  • feat(cognito-identity): full CRUD + credential issuance (Y6) by @vieiralucas in #1219
  • docs: parity matrix + limitations sections (HH1) by @vieiralucas in #1225
  • feat(cloudformation): ApplicationAutoScaling provisioner (BB25) by @vieiralucas in #1226
  • feat(cloudformation): WAFv2 GetAtt + tests (BB26) by @vieiralucas in #1227
  • feat(cloudformation): SES GetAtt + tests (BB27) by @vieiralucas in #1228
  • feat(cloudformation): Athena provisioner (BB32) by @vieiralucas in #1229
  • feat(cloudformation): Glue Database + Table + Partition provisioner (BB33) by @vieiralucas in #1230
  • feat(cloudformation): Firehose DeliveryStream provisioner (BB34) by @vieiralucas in #1231
  • feat(cloudformation): nested stacks + SAM transform + drift/events (BB38) by @vieiralucas in #1235
  • feat(stepfunctions): StartSyncExecution real execution (CC8) by @vieiralucas in #1236
  • fix(protocol): route bedrock-runtime credential scope to the bedrock handler by @moonming in #1237
  • feat(stepfunctions): CC10 Map distributed mode by @vieiralucas in #1239
  • feat(athena): DD3 named query resolution + ExecutionParameters substitution by @vieiralucas in #1241
  • feat(athena): DD2 ListDatabases + GetTableMetadata real Glue reads by @vieiralucas in #1240
  • feat(stepfunctions): CC9 Express logging delivery by @vieiralucas in #1238
  • feat(bedrock-agent): fakecloud-bedrock-agent crate with CRUD + conformance by @vieiralucas in #1242
  • feat(bedrock-agent-runtime): fakecloud-bedrock-agent-runtime crate by @vieiralucas in #1243
  • feat(s3): real SelectObjectContent with EventStream by @vieiralucas in #1244
  • feat(s3): real WriteGetObjectResponse stores body + metadata (GG3) by @vieiralucas in #1245
  • feat(elasticache): restore from snapshot with real RDB dump by @vieiralucas in #1246
  • feat(elasticache): ACL SETUSER, CONFIG SET, Memcached ConfigurationEndpoint by @vieiralucas in #1247
  • feat(apigateway): request validator + model validation in data plane by @vieiralucas in #1248
  • feat(apigateway): AWS direct service integration (R5) by @vieiralucas in #1250
  • feat(apigateway): VTL evaluator + MOCK/HTTP request+response templates by @vieiralucas in #1249
  • feat(apigateway): VPC_LINK integration (R6) by @vieiralucas in #1251
  • feat(apigateway): binary media types in data plane + UpdateRestApi patch by @vieiralucas in #1252
  • feat(apigateway): custom domain + base path mapping data plane (R8) by @vieiralucas in #1253
  • feat(apigatewayv2): JWT authorizer enforcement in HTTP data plane (S3) by @vieiralucas in #1254
  • feat(apigatewayv2): Lambda authorizer enforcement in HTTP data plane (S4) by @vieiralucas in #1255
  • feat(apigatewayv2): stage variables, custom domain routing, AWS service integrations by @vieiralucas in #1256
  • feat(apigatewayv2): access log delivery to CloudWatch Logs by @vieiralucas in #1257
  • feat(ses): X6 receipt-rule actions polish by @vieiralucas in #1258
  • feat(ecs): O6 - ulimits + linuxParameters + stopTimeout + user + tty + readonlyRootfs by @vieiralucas in #1259
  • feat(ses): X7 — event destinations for Kinesis, Firehose, and CloudWatch by @vieiralucas in #1260
  • feat(ses): X9 — SendBounce + deliverability simulator addresses by @vieiralucas in #1261
  • fix(kinesis): use opaque 56-digit decimal sequence numbers everywhere by @vieiralucas in #1262
  • feat(ecs): O12 - ECS_CONTAINER_METADATA_URI_V4 endpoint + env injection by @vieiralucas in #1263
  • O7: ECS awsvpc network mode with synthetic ENI attachments by @vieiralucas in #1264
  • feat(ecs): O8 - loadBalancers → ELBv2 RegisterTargets cross-service hook by @vieiralucas in #1265
  • feat(ecs): O11 - CreateService + RunTask accept volumeConfigurations by @vieiralucas in #1266
  • fix(wafv2): validate PutManagedRuleSetVersions and UpdateManagedRuleSetVersionExpiryDate inputs by @vieiralucas in #1267
  • fix(ecs): no-runtime service lifecycle + list_tasks default filter by @vieiralucas in #1268
  • fix(ecs): keep desired_status=RUNNING in no-runtime RunTask path by @vieiralucas in #1269
  • fix(e2e): skip ElastiCache tests when Docker unavailable by @vieiralucas in #1270
  • fix(ecs): keep desired_status=RUNNING in no-runtime service spawn paths by @vieiralucas in #1271
  • feat(ecs): CreateDaemon spawns tasks per capacity provider (O10) by @vieiralucas in #1272
  • feat(ecs): CODE_DEPLOY blue/green task sets (O16) by @vieiralucas in #1273
  • feat(ses): real GetMessageInsights delivery tracking data by @vieiralucas in #1274
  • feat(s3): S3 access points control plane + data plane routing (GG4) by @vieiralucas in #1275
  • feat(ecs): placement constraints and strategies by @vieiralucas in #1276
  • feat(ses): SMTP submission listener (X8) by @vieiralucas in #1277
  • feat(logs): real LiveTail/GetLogObject/GetLogFields (Z5) by @vieiralucas in #1278
  • feat(stepfunctions): nested startExecution[.sync] (CC5+CC6) by @vieiralucas in #1279
  • docs(parity): add Will-never-implement + Roadmap sections by @vieiralucas in #1280
  • fix(ssm): hard-fail SecureString PutParameter when KMS encrypt fails (S9) by @vieiralucas in #1282
  • feat(bedrock-agent-runtime): real eventstream framing for Invoke* (F6) by @vieiralucas in #1283
  • fix(iam): promote unrecognized-principal logs to warn (S1) by @vieiralucas in #1281
  • feat(logs): real GetLogRecord with pointer resolution (L7) by @vieiralucas in #1284
  • feat(logs): DescribeFieldIndexes returns parsed Fields (L3) by @vieiralucas in #1285
  • feat(glue): GetPartitions Expression filter pruning (X1) by @vieiralucas in #1286
  • feat(logs): FilterLogEvents array-pattern syntax (L8) by @vieiralucas in #1288
  • feat(glue): Job control plane CRUD + JobRun (X2) by @vieiralucas in #1287
  • feat(firehose): enforce BufferingHints range limits (R5) by @vieiralucas in #1289
  • feat(logs): anomaly state + injection admin endpoint (L1) by @vieiralucas in #1291
  • feat(logs): persist delivery configuration + standard templates (L2) by @vieiralucas in #1290
  • feat(sqs): cross-service injections honor SSE-SQS (S12) by @vieiralucas in #1292
  • feat(s3): GetObject enforces PublicAccessBlock.IgnorePublicAcls (R1) by @vieiralucas in #1294
  • feat(lambda): Invoke publishes AWS/Lambda CloudWatch metrics (R2) by @vieiralucas in #1295
  • feat(lambda): UpdateFunctionCode fetches real bytes from S3 (R4) by @vieiralucas in #1293
  • feat(ses): env-flagged outbound SMTP relay (D1) by @vieiralucas in #1296
  • feat(sns): email subscriptions deliver via SMTP relay (D2) by @vieiralucas in #1297
  • feat(cognito): CompromisedCredentialsRiskConfiguration BLOCK enforcement (S11) by @vieiralucas in #1298
  • feat(cognito): PreTokenGeneration trigger claim merge (Y8a) by @vieiralucas in #1299
  • feat(cognito): WebAuthn packed attestation parsing + verification (Y8b) by @vieiralucas in #1300
  • feat(introspection): PKI stub introspection endpoints (PKI-1) by @vieiralucas in #1301
  • feat(cognito): GetSigningCertificate returns real X.509 (PKI-2) by @vieiralucas in #1302
  • feat(kms): real ECDSA P-521 + drop fake-bytes Sign/Verify (PKI-3) by @vieiralucas in #1303
  • docs(apigateway): sync v1+v2 docs with shipped features (B3) by @vieiralucas in #1305
  • docs(kms): sync docs with shipped features (B8) by @vieiralucas in #1306
  • docs(lambda): sync docs with shipped features (B7) by @vieiralucas in #1307
  • docs(cloudformation): expand docs with shipped features (B9) by @vieiralucas in #1308
  • docs(s3): sync docs + SDK helpers (B6) by @vieiralucas in #1304
  • docs(elasticache+appas+orgs): sync docs + new pages (B12) by @vieiralucas in #1309
  • docs(bedrock-agent): new pages + SDK sub-clients (B11) by @vieiralucas in #1310
  • docs(logs): sync docs + SDK helpers (B5) by @vieiralucas in #1314
  • docs(ecs): sync docs + SDK helpers (B4) by @vieiralucas in #1313
  • docs(cognito): sync docs + SDK helpers (B2) by @vieiralucas in #1312
  • docs(analytics): stepfn + new athena/glue/firehose pages + SDK helpers (B10) by @vieiralucas in #1316
  • docs(ses): sync docs + SDK helpers with shipped features (B1) by @vieiralucas in #1311
  • docs(misc): sync 8 service pages + ACM chain-info helper (B13) by @vieiralucas in #1315
  • docs(introspection): full /_fakecloud/* endpoint reference (B14) by @vieiralucas in #1317
  • docs: swap parity matrix + refresh global service/op counts (B15) by @vieiralucas in #1318
  • docs(guides): refresh cross-service integration guide (B16) by @vieiralucas in #1319
  • feat(glue): introspection endpoints — jobs + job-runs (I6) by @vieiralucas in #1325
  • feat(logs): introspection endpoints — delivery config + field indexes (I9) by @vieiralucas in #1328
  • feat(cognito): introspection endpoint — pretokengen invocation log (I2) by @vieiralucas in #1321
  • feat(elasticache): introspection endpoint — ACLs (I8) by @vieiralucas in #1327
  • feat(ses): introspection endpoints — bounces, insights, smtp submissions, event-dest deliveries (I1) by @vieiralucas in #1320
  • feat(bedrock-agent): introspection endpoints — agents + invocations (I5) by @vieiralucas in #1324
  • feat(stepfunctions): introspection endpoints — sync executions + execution tree (I4) by @vieiralucas in #1323
  • feat(s3): introspection endpoints — access points + object-lambda responses (I3) by @vieiralucas in #1322
  • feat(athena): introspection endpoint — named queries (I7) by @vieiralucas in #1326
  • feat(ecs): introspection endpoint — task metadata (I11) by @vieiralucas in #1330
  • feat(organizations): introspection endpoint — accounts (I10) by @vieiralucas in #1329
  • release(v0.14.0): bump workspace + SDK versions by @vieiralucas in #1331
  • fix(ci/release): correct crates publish topological order by @vieiralucas in #1332

New Contributors

Full Changelog: v0.13.3...v0.14.0

What's Changed

  • refactor: drop optional/required_param wrappers, call core helpers directly by @vieiralucas in #857
  • refactor: standardize state collections on BTreeMap (ecr, elbv2) by @vieiralucas in #855
  • refactor: convert cognito/elasticache/ses/eventbridge state to BTreeMap by @vieiralucas in #865
  • refactor: convert iam/kms/sqs state to BTreeMap by @vieiralucas in #866
  • refactor: convert apigw/apigwv2/ssm/dynamodb/bedrock/cloudformation state to BTreeMap by @vieiralucas in #867
  • refactor: extract test modules from large service files (Phase I) by @vieiralucas in #868
  • refactor: extract test modules from Phase J files (12 services) by @vieiralucas in #869
  • refactor(elasticache): extract free helpers to submodule (Phase I) by @vieiralucas in #870
  • refactor(route53): extract helpers + VPC handlers below impl block (Phase J) by @vieiralucas in #871
  • refactor: extract free helpers from 16 service files (Phase I/J) by @vieiralucas in #872
  • refactor: demote pub mod state/service across 32 crates (Phase K) by @vieiralucas in #873
  • refactor: finish ARN format! sweep (34 sites -> 0) by @vieiralucas in #874
  • refactor(sns): split service.rs (3152 -> 1564 lines) by @vieiralucas in #875
  • refactor(kms): split service.rs (3008 -> 1310 lines) by @vieiralucas in #876
  • refactor(eventbridge): split service.rs (3440 -> 1665 lines) by @vieiralucas in #877
  • refactor(apigateway): split service.rs (3413 -> 324 lines) by @vieiralucas in #878
  • refactor(ecs): split service.rs (3291 -> 296 lines) by @vieiralucas in #879
  • refactor(bedrock): extract tests to sibling file (2908 -> 1676 lines) by @vieiralucas in #880
  • refactor(dynamodb): extract free helper fns from service/mod.rs (2931 -> 424 lines) by @vieiralucas in #881
  • refactor(lambda): split service.rs (2935 -> 1616 lines) by @vieiralucas in #882
  • refactor(iam): extract evaluator tests (2895 -> 1019 lines) by @vieiralucas in #883
  • feat(ecs): implement Daemon + ExpressGatewayService 2026 ops by @vieiralucas in #884
  • feat(cloudfront): implement DistributionTenant + ConnectionFunction ops by @vieiralucas in #885
  • feat(conformance): @examples deep-diff strategy by @vieiralucas in #886
  • feat(conformance): Create->Get round-trip echo strategy by @vieiralucas in #887
  • feat(conformance): identifier-form fanout strategy by @vieiralucas in #888
  • feat(conformance): split 4xx by AWS error shape match by @vieiralucas in #889
  • feat(s3): close response field gaps surfaced by parity audit by @vieiralucas in #891
  • feat(lambda): emit full FunctionConfiguration response shape by @vieiralucas in #892
  • feat(lambda): real AccountUsage + full ESM + Versions + Code.Location by @vieiralucas in #893
  • refactor(iam): delete fabricated operations not in real AWS by @vieiralucas in #890
  • feat(dynamodb): emit ConsumedCapacity + ItemCollectionMetrics on data-plane ops by @vieiralucas in #894
  • feat(rds): add fields and dynamic values to db_instance_xml by @vieiralucas in #895
  • feat(elasticache): persist + render encryption/log/cluster fields on ReplicationGroup by @vieiralucas in #896
  • feat(kinesis): emit EnhancedMonitoring + StreamModeDetails + KeyId on DescribeStream and real StreamSummaries by @vieiralucas in #897
  • feat(ecs,ecr): emit always-present response fields on Task/Service/Image by @vieiralucas in #898
  • feat(dynamodb): accept table ARN (and sub-resource ARNs) anywhere TableName is read by @vieiralucas in #899
  • feat(sqs): accept queue ARN in QueueUrl fields by @vieiralucas in #900
  • feat(kms): accept alias/* in EnableKeyRotation/DisableKeyRotation/GetKeyRotationStatus by @vieiralucas in #901
  • feat(lambda): UpdateFunctionCode actually replaces code/image and recomputes hashes by @vieiralucas in #902
  • fix(lambda): normalize AddPermission action prefix and unify tag store by @vieiralucas in #904
  • feat(s3): enforce PublicAccessBlock on PutBucketPolicy and PutBucket/Object ACL by @vieiralucas in #907
  • feat(lambda): PublishVersion snapshots config + monotonic numbering by @vieiralucas in #903
  • fix(s3): DeleteObjects batch honors COMPLIANCE retention and legal hold by @vieiralucas in #909
  • feat(s3): fire ObjectCreated:CompleteMultipartUpload event and emit checksum by @vieiralucas in #910
  • fix(s3): update_object_encryption actually re-encrypts on algorithm flip by @vieiralucas in #911
  • feat(lambda): enforce reserved concurrency and resolve alias routing by @vieiralucas in #905
  • feat(iam): enforce sts:ExternalId on AssumeRole trust policy by @vieiralucas in #913
  • feat(logs): enforce retention on GetLogEvents and FilterLogEvents by @vieiralucas in #916
  • feat(s3): enforce BucketOwnerEnforced on ACL writes by @vieiralucas in #908
  • feat(organizations): CreateAccount lifecycle + CloseAccount + RemoveAccountFromOrganization by @vieiralucas in #918
  • feat(lambda): UpdateFunctionConfiguration accepts advanced fields and EphemeralStorage applies as tmpfs by @vieiralucas in #906
  • feat(iam): real Simulate{Custom,Principal}Policy via the IAM evaluator by @vieiralucas in #920
  • feat(elbv2): enforce deletion_protection.enabled on DeleteLoadBalancer by @vieiralucas in #923
  • feat(secretsmanager): enforce resource policy on cross-account GetSecretValue by @vieiralucas in #922
  • feat(acm): real X.509 self-signed PEM via rcgen on RequestCertificate by @vieiralucas in #924
  • feat(route53): admin-controllable health check status + last-failure reason by @vieiralucas in #925
  • feat(s3): validate KMS key id on PutBucketEncryption and use real JSON parse for IsPublic by @vieiralucas in #912
  • feat(ssm): enforce parameter Expiration policy on read by @vieiralucas in #927
  • feat(cloudformation): real Fn::GetAtt resolution per resource type by @vieiralucas in #926
  • feat(dynamodb): DescribeEndpoints + DescribeLimits become region-aware by @vieiralucas in #929
  • feat(eventbridge): add suffix / equals-ignore-case / cidr / wildcard / $or filter operators by @vieiralucas in #930
  • feat(scheduler): evaluate cron against ScheduleExpressionTimezone by @vieiralucas in #928
  • fix(kinesis): emit 56-digit sequence numbers like real AWS by @vieiralucas in #931
  • feat(cloudfront): Distribution Status transitions InProgress -> Deployed by @vieiralucas in #932
  • fix(ecr): GetLifecyclePolicy returns the actual lastEvaluatedAt by @vieiralucas in #933
  • fix(iam): ChangePassword validates and stores password by @vieiralucas in #915
  • feat(ssm): SendCommand goes through Pending -> InProgress -> Success by @vieiralucas in #921
  • feat(sqs): emit MD5OfMessageSystemAttributes on SendMessage by @vieiralucas in #934
  • feat(bedrock): dynamic token counts + BEDROCK_ECHO mode by @vieiralucas in #935
  • feat(elasticache): RebootCacheCluster restarts the engine container by @vieiralucas in #937
  • feat(stepfunctions): ASL intrinsic functions (States.*) by @vieiralucas in #938
  • feat(appas): RegisterScalableTarget emits ScalingActivity rows by @vieiralucas in #939
  • feat(iam): expand global condition keys (MFA, VPC, federation, CalledVia) by @vieiralucas in #941
  • feat(rds): DescribeEvents serves real events from in-memory ring by @vieiralucas in #942
  • feat(cloudformation): Fn::Base64 / Split / Select / Length / ToJsonString / Cidr by @vieiralucas in #944
  • feat(sns): EffectiveDeliveryPolicy merges user policy over default by @vieiralucas in #943
  • feat(acm): ExportCertificate encrypts private key with Passphrase by @vieiralucas in #936
  • feat(route53): GetChange transitions PENDING -> INSYNC after a few reads by @vieiralucas in #940
  • feat(kms): real RSA Sign/Verify/GetPublicKey for RSA_2048/3072/4096 by @vieiralucas in #917
  • feat(ses): honor account/config-set sending pause flags by @vieiralucas in #946
  • feat(cloudformation): substitute AWS::* pseudo-parameters by @vieiralucas in #948
  • feat(route53): TestDNSAnswer honors RRset routing policy + health by @vieiralucas in #947
  • feat(cloudformation): provision AWS::Lambda::Function by @vieiralucas in #951
  • feat(ssm): admin endpoint to override SendCommand status by @vieiralucas in #954
  • feat(acm): auto-flip RequestCertificate to ISSUED after a few reads by @vieiralucas in #952
  • feat(cloudformation): parse Outputs + ImportValue + ListExports by @vieiralucas in #955
  • feat(organizations): implement handshake invitation flow by @vieiralucas in #956
  • feat(ses): render Content.Template at SendEmail/SendBulkEmail by @vieiralucas in #961
  • feat(scheduler): wire Kinesis as a universal target by @vieiralucas in #963
  • feat(cloudformation): support Conditions + Fn::If/Equals/And/Or/Not by @vieiralucas in #949
  • feat(organizations): trusted services + delegated administrators by @vieiralucas in #957
  • test(bedrock): serialize BEDROCK_ECHO env mutation with embed test by @vieiralucas in #964
  • feat(ses): gate sends on verified sender identity by @vieiralucas in #945
  • feat(eventbridge): round-trip full target config on PutTargets by @vieiralucas in #967
  • feat(ecr): trigger image scan on PutImage when scan_on_push is enabled by @vieiralucas in #965
  • test(ses): seed verified identity in template-render test by @vieiralucas in #969
  • feat(organizations): EnableAllFeatures + policy-type management by @vieiralucas in #959
  • feat(ses): MailFromDomain MX/TXT records + status lifecycle by @vieiralucas in #966
  • feat(organizations): tagging + nav + effective/resource policy by @vieiralucas in #958
  • feat(cloudformation): support Mappings + Fn::FindInMap by @vieiralucas in #950
  • feat(iam): F4 polish - ResyncMFADevice EnableDate, Get/SetSecurityTokenServicePreferences by @vieiralucas in #953
  • feat(lambda): UpdateFunctionCode enforces CodeSigningConfig + stable RevisionId by @vieiralucas in #970
  • feat(lambda): GetFunction(Qualifier) returns version snapshot by @vieiralucas in #971
  • feat(ses): DKIM-sign outbound emails with per-identity RSA keys by @vieiralucas in #962
  • feat(lambda): Invoke runs from numbered version snapshot by @vieiralucas in #972
  • fix(sqs): cross-service FIFO delivery assigns sequence_number + surfaces invalid-param by @vieiralucas in #977
  • feat(cognito): real RSA-2048 RS256 JWT signing per pool by @vieiralucas in #968
  • feat(sns): POST SubscriptionConfirmation to HTTP/HTTPS endpoints by @vieiralucas in #976
  • feat(organizations): accept all five policy types by @vieiralucas in #960
  • feat(sns): track SubscriptionsDeleted per topic by @vieiralucas in #973
  • feat(kinesis): GetShardIterator supports AT_TIMESTAMP by @vieiralucas in #978
  • feat(sqs): enforce queue access policies via ResourcePolicyProvider by @vieiralucas in #980
  • feat(s3): add CRC32C and CRC64NVME checksum algorithms by @vieiralucas in #982
  • feat(eventbridge): enforce event bus policies via ResourcePolicyProvider by @vieiralucas in #981
  • feat(dynamodb): reject ConsistentRead on GSI + omit Items under Select=COUNT by @vieiralucas in #983
  • fix(s3): emit x-amz-transition-default-minimum-object-size on lifecycle GET by @sveitser in #975
  • fix(iam): include AWS managed policies in ListAttachedRolePolicies by @sveitser in #974
  • feat(cognito): expose pool JWKS + OIDC discovery endpoints by @vieiralucas in #979
  • feat(cognito): /oauth2/token endpoint (Y3) by @vieiralucas in #985
  • feat(kms): bind EncryptionContext into ciphertext AAD (G6) by @vieiralucas in #986
  • feat(ses): legacy v1 verified-email aliases (X9) by @vieiralucas in #987
  • feat(elbv2): validate Listener Protocol and Port (Q4) by @vieiralucas in #988
  • feat(ecr): registry-level scan-on-push fallback (GG6) by @vieiralucas in #989
  • feat(dynamodb): Scan honors IndexName + GSI/LSI projection (L5) by @vieiralucas in #992
  • feat(rds): RestoreDBInstanceFromDBSnapshot carries Tags (M11) by @vieiralucas in #993
  • feat(cognito): /oauth2/userInfo + /oauth2/revoke (Y5) by @vieiralucas in #994
  • feat(apigateway): GetExport derives OpenAPI from state (GG10) by @vieiralucas in #991
  • fix(dynamodb): GetResourcePolicy 404 PolicyNotFoundException (L6) by @vieiralucas in #990
  • feat(cognito): RefreshTokenRotation rotates refresh on grant (Y7) by @vieiralucas in #995
  • fix(rds): persist DB instance after bg container start (#914) by @vieiralucas in #997
  • feat(firehose): new fakecloud-firehose crate with S3 destination delivery (AA1) by @vieiralucas in #996
  • feat(glue): new fakecloud-glue Data Catalog crate (AA2) by @vieiralucas in #998
  • feat(cloudformation): provision AWS::SecretsManager::Secret (BB13) by @vieiralucas in #1000
  • feat(cloudwatch): new fakecloud-cloudwatch metrics + alarms crate (AA3) by @vieiralucas in #999
  • feat(cloudformation): provision AWS::Kinesis::Stream (BB23) by @vieiralucas in #1001
  • feat(cloudformation): provision AWS::KMS::Key + AWS::KMS::Alias (BB14) by @vieiralucas in #1002
  • feat(cloudformation): provision AWS::ECR::Repository (BB12) by @vieiralucas in #1003
  • feat(cloudformation): provision AWS::CloudWatch::Alarm (BB18) by @vieiralucas in #1004
  • feat(cloudformation): provision AWS::Kinesis::StreamConsumer (BB23 followup) by @vieiralucas in #1005
  • feat(cloudformation): provision Logs LogStream + MetricFilter + SubscriptionFilter (BB29) by @vieiralucas in #1006
  • feat(cloudformation): provision Events Connection + ApiDestination + Archive (BB28) by @vieiralucas in #1007
  • feat(cloudformation): provision IAM User/Group/ManagedPolicy/AccessKey/InstanceProfile (BB30) by @vieiralucas in #1008
  • feat(cloudformation): provision ELBv2 LB + TargetGroup + Listener + ListenerRule (BB17) by @vieiralucas in #1009
  • feat(cloudformation): provision Organizations Org + OU + Policy + ResourcePolicy (BB31) by @vieiralucas in #1010
  • feat(cloudformation): provision Cognito UserPool + UserPoolClient + UserPoolDomain (BB15) by @vieiralucas in #1011
  • feat(cloudformation): provision Lambda Permission/EventSourceMapping/LayerVersion/Url/Alias/Version (BB8) by @vieiralucas in #1012
  • feat(cloudformation): provision RDS metadata resource types (BB16) by @vieiralucas in #1013
  • feat(cloudformation): provision ECS Cluster + TaskDefinition + Service + CapacityProvider (BB11) by @vieiralucas in #1014
  • feat(cloudformation): provision ACM Certificate (BB22) by @vieiralucas in #1015
  • feat(cloudformation): provision ElastiCache metadata resource types (BB24) by @vieiralucas in #1016
  • feat(cfn): provision Route53 HostedZone, RecordSet, HealthCheck by @vieiralucas in #1017
  • feat(cfn): provision CloudFront metadata resources (8 types) by @vieiralucas in #1018
  • feat(cfn): provision Step Functions StateMachine + Activity + Version + Alias by @vieiralucas in #1019
  • feat(cfn): provision Logs Destination + ResourcePolicy + Delivery* + QueryDefinition by @vieiralucas in #1020
  • feat(cfn): provision WAFv2 WebACL + IPSet + RegexPatternSet + RuleGroup + LoggingConfiguration + WebACLAssociation by @vieiralucas in #1021
  • feat(cfn): provision EventBridge EventBus + EventBusPolicy + Endpoint by @vieiralucas in #1022
  • feat(cfn): provision IAM OIDCProvider + SAMLProvider + ServiceLinkedRole + VirtualMFADevice by @vieiralucas in #1023
  • feat(cloudwatch): add Dashboard CRUD ops + CFN provisioner by @vieiralucas in #1024
  • feat(cloudformation): provision AWS::ApiGateway::* resource types by @vieiralucas in #1025
  • feat(cloudformation): provision AWS::ApiGatewayV2::* resource types by @vieiralucas in #1026
  • feat(cloudformation): provision AWS::SES::* resource types by @vieiralucas in #1027
  • feat(cloudformation): provision AWS::SecretsManager::* extras by @vieiralucas in #1028
  • feat(cloudformation): provision AWS::RDS::DBInstance and DBCluster by @vieiralucas in #1029
  • feat(cloudformation): provision AWS::ElastiCache::CacheCluster and ReplicationGroup by @vieiralucas in #1030
  • feat(cloudformation): make ExecuteChangeSet apply real resource updates by @vieiralucas in #1031
  • fix(cloudformation): make CreateChangeSet/ExecuteChangeSet tolerate skeleton requests by @vieiralucas in #1032
  • feat(cloudformation): provision AWS::CertificateManager::Account by @vieiralucas in #1033
  • feat(cloudformation): provision AWS::Organizations::Account by @vieiralucas in #1034
  • feat(cloudformation): provision ECR policies + replication + pull-through cache by @vieiralucas in #1035
  • feat(cloudformation): provision ELBv2 ListenerCertificate and TrustStore by @vieiralucas in #1036
  • feat(cloudformation): provision Route53 DNSSEC and KeySigningKey by @vieiralucas in #1037
  • feat(cloudformation): provision AWS::KMS::ReplicaKey by @vieiralucas in #1038
  • feat(cloudformation): provision AWS::CloudFront::Distribution by @vieiralucas in #1039
  • refactor(lambda, iam): delete fabricated CapacityProvider, DurableExecution, and IAM mutating-action stubs by @vieiralucas in #1040
  • fix(s3): emit quoted ETag and ChecksumType in GetObjectAttributes by @vieiralucas in #1041
  • fix(dynamodb): emit real ItemCollectionMetrics on LSI tables by @vieiralucas in #1042
  • fix(lambda): emit StateReason and LastUpdateStatusReason fields by @vieiralucas in #1043
  • fix(lambda): round-trip advanced EventSourceMapping fields by @vieiralucas in #1044
  • fix(elasticache): emit parameter group, security groups, log delivery, and encryption flags on cache clusters by @vieiralucas in #1045
  • fix(ecs): emit capacityProviderName on Task by @vieiralucas in #1046
  • fix(rds): emit extended fields on DBSnapshot by @vieiralucas in #1047
  • feat(sns): retry HTTP delivery and route to RedrivePolicy DLQ by @vieiralucas in #1048
  • refactor(sns): unify cross-service publish path with direct fan-out by @vieiralucas in #1049
  • refactor(eventbridge): unify cross-service target dispatch by @vieiralucas in #1050
  • feat(logs): write CreateExportTask + CreateDelivery output to real S3 by @vieiralucas in #1051
  • feat(ecr): execute replication rules on PutImage by @vieiralucas in #1052
  • feat(ecr): enforce repository policy on cross-account image ops by @vieiralucas in #1053
  • feat(logs): route subscription filter destinations to Firehose by @vieiralucas in #1054
  • feat(logs): enforce retention on Logs Insights query results by @vieiralucas in #1055
  • feat(iam): enforce trust policy on AssumeRole via IAM evaluator by @vieiralucas in #1056
  • feat(iam): real DecodeAuthorizationMessage round-trip by @vieiralucas in #1057
  • feat(kms): real HMAC for GenerateMac/VerifyMac by @vieiralucas in #1058
  • feat(kms): enforce key_state on every crypto op by @vieiralucas in #1059
  • feat(kms): real RSA-OAEP unwrap on ImportKeyMaterial by @vieiralucas in #1060
  • feat(eventbridge): gate cross-account PutEvents through bus policy by @vieiralucas in #1061
  • feat(kinesis): honor StreamModeDetails on CreateStream + retention prune on read by @vieiralucas in #1062
  • feat(dynamodb): DynamoDB Streams data plane (L1) by @vieiralucas in #1063
  • feat(dynamodb): atomic TransactWriteItems + stream/kinesis emit (L2) by @vieiralucas in #1064
  • feat(dynamodb): atomic ExecuteTransaction + stream/kinesis emit (L3) by @vieiralucas in #1065
  • feat(dynamodb): PartiQL multi-account + comparators + key validation (L4) by @vieiralucas in #1066
  • feat(dynamodb): Query/Scan Limit-before-Filter + parallel Scan (L5) by @vieiralucas in #1067
  • feat(dynamodb): preserve GSI/LSI/tags/TTL/SSE/Stream across backup; reject ConsistentRead on GSI Scan (L6) by @vieiralucas in #1068
  • feat(kms): real RSA/ECC GenerateDataKeyPair returning parseable PKCS#8 + SPKI (G4) by @vieiralucas in #1069
  • test(kms): EncryptionContext round-trip + AAD-mismatch coverage (G6) by @vieiralucas in #1070
  • feat(scheduler): FlexibleTimeWindow + RetryPolicy budget before DLQ (K11) by @vieiralucas in #1071
  • feat(scheduler): universal targets for SES SendEmail + ECS RunTask + Kinesis (K12) by @vieiralucas in #1072
  • feat(lambda): Kinesis poller honors ReportBatchItemFailures (K14) by @vieiralucas in #1073
  • feat(rds): ModifyDBInstance accepts all mutable fields (M1) by @vieiralucas in #1074
  • feat(rds): ModifyDB[Cluster]ParameterGroup parses + DescribeDB[Cluster]Parameters reads (M2) by @vieiralucas in #1075
  • feat(rds): tag operations multiplex across resource types (M4) by @vieiralucas in #1076
  • feat(rds): real PromoteReadReplica + SwitchoverReadReplica (M5) by @vieiralucas in #1077
  • feat(rds): real cluster lifecycle ops (M6) by @vieiralucas in #1078
  • feat(rds): real PIT + cluster snapshot/PIT restore (M7) by @vieiralucas in #1079
  • feat(rds): real RestoreDBInstanceFromS3 (M8) by @vieiralucas in #1080
  • feat(rds): real BlueGreenDeployment lifecycle (M9) by @vieiralucas in #1081
  • feat(acm): real X.509 PEM via rcgen (V1) by @vieiralucas in #1082
  • feat(elbv2): enforce deletion_protection on DeleteLoadBalancer (Q1) by @vieiralucas in #1083
  • feat(rds): real DescribeDBLogFiles + DownloadDBLogFilePortion (M10) by @vieiralucas in #1084
  • feat(elasticache): CreateReplicationGroup accepts all fields (N1) by @vieiralucas in #1085
  • feat(route53): admin endpoint for health-check status (U1) by @vieiralucas in #1086
  • feat(rds): real Modify ops + ApplyPendingMaintenance + snapshot copy + tags (M11) by @vieiralucas in #1087
  • feat(ecs): real multi-container task launch (O1) by @vieiralucas in #1088
  • feat(cloudfront): real JS execution in TestFunction + TestConnectionFunction (T1) by @vieiralucas in #1089
  • feat(cognito): real RSA-2048 RS256 JWT signing (Y1) by @vieiralucas in #1090
  • feat(ses): enforce verified-identity gate on SendEmail v1+v2 (X1) by @vieiralucas in #1091
  • feat(wafv2): statement evaluation engine + action resolution (W1) by @vieiralucas in #1092
  • feat(logs): metric filters extract metrics on PutLogEvents (Z1) by @vieiralucas in #1094
  • feat(elasticache): CreateCacheCluster accepts all fields (N2) by @vieiralucas in #1095
  • feat(ecr): real replication rule execution + status tracking (P1) by @vieiralucas in #1093
  • feat(acm): auto-issue + admin endpoint for certificate status (V2) by @vieiralucas in #1096
  • feat(lambda): UpdateFunctionCode actually replaces code (D1) by @vieiralucas in #1097
  • feat(ecr): enforce repository policy on cross-account ops (P2) by @vieiralucas in #1098
  • feat(cloudfront): distribution status transitions + admin endpoint (T2) by @vieiralucas in #1099
  • feat(cognito): JWKS + OIDC discovery endpoints (Y2) by @vieiralucas in #1100
  • feat(iam): enforce trust policy on AssumeRole (F1) by @vieiralucas in #1101
  • feat(lambda): PublishVersion snapshots code+config (D2) by @vieiralucas in #1102
  • feat(apigatewayv2): WebSocket support + @connections data plane (S1) by @vieiralucas in #1103
  • feat(ecr): auto-trigger image scan on PutImage when configured (P3) by @vieiralucas in #1104
  • feat(iam): real SimulateCustomPolicy + SimulatePrincipalPolicy (F2) by @vieiralucas in #1105
  • feat(logs): CreateExportTask + CreateDelivery write to real S3 (Z2) by @vieiralucas in #1106
  • feat(route53): TestDNSAnswer evaluates routing policies + alias targets (U2) by @vieiralucas in #1107
  • feat(elasticache): ModifyReplicationGroup accepts auth/encryption/log/multi-AZ fields (N3) by @vieiralucas in #1108
  • feat(ecs): translate portMappings to docker --publish flags (O2) by @vieiralucas in #1109
  • feat(ses): account + config-set sending pause + suppression enforcement (X2) by @vieiralucas in #1110
  • feat(cloudformation): Fn::GetAtt resolves provisioner-specific attributes (BB1) by @vieiralucas in #1111
  • feat(lambda): AddPermission action prefix + tag store unified (D3) by @vieiralucas in #1112
  • feat(elbv2): WAFv2 evaluation in ALB dataplane (Q2) by @vieiralucas in #1113
  • feat(apigateway): authorizer enforcement before integration (R1) by @vieiralucas in #1114
  • fix(elbv2): allow too_many_arguments on evaluate_waf_outcome by @vieiralucas in #1115
  • feat(lambda): D4 reserved concurrency Reason + alias weight tests by @vieiralucas in #1116
  • feat(apigateway): enforce usage plan throttle + quota at data plane by @vieiralucas in #1117
  • feat(cloudformation): exports registry + ImportValue validation + DeleteStack guard (BB2) by @vieiralucas in #1118
  • feat(ecr): periodic lifecycle policy re-evaluation ticker (P4) by @vieiralucas in #1119
  • feat(apigatewayv2): @connections management API + connection metadata (S2) by @vieiralucas in #1120
  • feat(iam): wire MFA + federated provider + token issue time on STS sessions (F3) by @vieiralucas in #1121
  • feat(lambda): D5 ephemeral storage validation, SnapStart auto-On, tmpfs exec by @vieiralucas in #1122
  • feat(cloudfront): wall-clock timeout + ComputeUtilization for TestFunction (T1) by @vieiralucas in #1124
  • fix(tests): align e2e + conformance with shipped contract changes by @vieiralucas in #1129
  • feat(ecr): UpdateImageStorageClass + ListImageReferrers + in-use tracking (P5) by @vieiralucas in #1125
  • feat(acm): ExportCertificate emits PKCS#8 v2 encrypted PEM (V3) by @vieiralucas in #1126
  • fix(sdks/python): ruff format + verify SES sender in test by @vieiralucas in #1130
  • feat(cloudformation): memoized Conditions + AWS::NoValue (BB3) by @vieiralucas in #1123
  • feat(elbv2): emit ALB access + connection logs to S3 by @vieiralucas in #1127
  • fix: address Cubic findings from #1123/#1125/#1126/#1129/#1130 by @vieiralucas in #1131
  • feat(cognito): real RSA-2048 RS256 JWT signing per user pool (Y1) by @vieiralucas in #1133
  • fix(lambda): UpdateFunctionCode replaces code + recomputes hash/size (D1) by @vieiralucas in #1132
  • fix(elbv2): listener validation + WAF ARN + ipv6 SNAT bool (Q4) by @vieiralucas in #1134
  • docs(cloudfront): document boa-backed TestFunction + TestConnectionFunction (T1) by @vieiralucas in #1135
  • feat(iam): trust policy enforcement on AssumeRole/SAML/WebIdentity (F1) by @vieiralucas in #1137
  • feat(lambda): real PublishVersion snapshots + ListVersionsByFunction (D2) by @vieiralucas in #1136
  • feat(scheduler): FlexibleTimeWindow + RetryPolicy + tz support (K11) by @vieiralucas in #1138
  • test(dynamodb-streams): e2e coverage for ListStreams/DescribeStream/Get* + Lambda ESM (L1) by @vieiralucas in #1140
  • feat(rds): ModifyDBInstance accepts all mutable fields + PendingModifiedValues (M1) by @vieiralucas in #1139
  • feat(wafv2): real statement evaluator + action enforcement (W1) by @vieiralucas in #1141
  • feat(cognito): JWKS + OIDC discovery endpoints (Y2) by @vieiralucas in #1144
  • fix(lambda): AddPermission action prefix + tag store unification + UntagResource (D3) by @vieiralucas in #1142
  • feat(ses): verified-identity gate on SendCustomVerificationEmail (X1) by @vieiralucas in #1143
  • feat(cloudformation): Mappings + Fn::FindInMap (BB4) by @vieiralucas in #1145
  • feat(dynamodb): atomic TransactWriteItems + stream emission (L2) by @vieiralucas in #1147
  • feat(elasticache): CreateReplicationGroup accepts all fields (N1) by @vieiralucas in #1146
  • feat(ecs): multi-container task launch + per-container lifecycle (O1) by @vieiralucas in #1148
  • feat(apigateway): authorizer enforcement (TOKEN/REQUEST/COGNITO_USER_POOLS) (R1) by @vieiralucas in #1149
  • feat(rds): ModifyDBParameterGroup + DescribeDB(Cluster)Parameters real (M2) by @vieiralucas in #1153
  • feat(iam): real SimulateCustomPolicy + SimulatePrincipalPolicy (F2) by @vieiralucas in #1152
  • feat(cloudformation): Fn::Select/Split/Base64/Cidr/Length/ToJsonString/ForEach (BB5) by @vieiralucas in #1150
  • feat(organizations): CreateAccount + CloseAccount + lifecycle ops (H1) by @vieiralucas in #1151
  • feat(ssm): SendCommand async Pending -> InProgress -> Success (I1) by @vieiralucas in #1154
  • feat(organizations): handshake invitation flow + accept/decline/cancel (H2) by @vieiralucas in #1156
  • feat(cloudformation): pseudo-parameters AWS::Region/Partition/URLSuffix/NoValue/NotificationARNs (BB6) by @vieiralucas in #1155
  • feat(ssm): parameter policies (I2) by @vieiralucas in #1157
  • feat(rds): real DescribeEvents from emit_event buffer (M3) by @vieiralucas in #1158
  • feat(rds): tagging multiplexed across all resource types (M4) by @vieiralucas in #1159
  • feat(organizations): trusted services + delegated administrator (H3) by @vieiralucas in #1161
  • feat(route53): controllable HealthCheck status + admin endpoint (U1) by @vieiralucas in #1160
  • feat(acm): cert auto-issue lifecycle PENDING_VALIDATION -> ISSUED (V2) by @vieiralucas in #1162
  • feat(wafv2): inspection wired into ELBv2 + API Gateway v1+v2 dataplanes (W2) by @vieiralucas in #1163
  • feat(ses): verified-identity gate on send (v1 + v2) (X1) by @vieiralucas in #1164
  • feat(cloudfront): TestFunction stage selection + E2E coverage (T1) by @vieiralucas in #1165
  • feat(cloudformation): AWS::Lambda::Function provisioner (BB7) by @vieiralucas in #1167
  • feat(elasticache): CreateCacheCluster accepts all input fields (N2) by @vieiralucas in #1169
  • feat(rds): real PromoteReadReplica + SwitchoverReadReplica (M5) by @vieiralucas in #1168
  • feat(ecr): repository policy enforcement on cross-account image/layer ops (P2) by @vieiralucas in #1175
  • feat(organizations): tagging + nav + EffectivePolicy + ResourcePolicy (H4) by @vieiralucas in #1179
  • test(kms): prove RSA Sign verifies outside fakecloud (G1) by @vieiralucas in #1176
  • feat(route53): GetChange transition + DNSSEC RRSIG + query log delivery (U3) by @vieiralucas in #1173
  • feat(apigateway): API key requirement + usage plan throttle/quota (R2) by @vieiralucas in #1174
  • feat(dynamodb): atomic ExecuteTransaction with snapshot/revert + stream emission (L3) by @vieiralucas in #1172
  • feat(cloudformation): AWS::Lambda::{Permission,EventSourceMapping,LayerVersion,Url,Alias,Version} (BB8) by @vieiralucas in #1177
  • feat(elasticache): ModifyReplicationGroup accepts all rotation/encryption/log/multi-AZ fields (N3) by @vieiralucas in #1180
  • feat(iam): tighten ChangePassword + AccessDenied encoded msg + GCI auth (F4 follow-up) by @vieiralucas in #1171
  • feat(sns): HTTP/HTTPS SubscriptionConfirmation POST + ConfirmSubscription (K3) by @vieiralucas in #1183
  • feat(sqs): SSE-SQS managed encryption + MD5OfMessageSystemAttributes + Lambda poller visibility (K2) by @vieiralucas in #1182
  • feat(ssm): honest 501 on StartSession + admin session inject endpoint (I3) by @vieiralucas in #1170
  • feat(sns): unify direct + cross-service publish (filter policy + HTTP + FIFO) (K5) by @vieiralucas in #1184
  • fix(e2e): debounce sns_http_confirm test against loaded-runner flake by @vieiralucas in #1185
  • feat(cloudformation): AWS::ApiGateway::* provisioners (BB9) by @vieiralucas in #1181
  • feat(ses): account + config-set sending pause + suppression enforcement (X2) by @vieiralucas in #1166
  • feat(cognito): /oauth2/token with all 3 grants (Y3) by @vieiralucas in #1189
  • feat(rds): real Failover/Reboot/Start/Stop/Backtrack/ModifyDBCluster (M6) by @vieiralucas in #1188
  • feat(dynamodb): PartiQL real comparators + schema validation + stream emit (L4) by @vieiralucas in #1187
  • feat(sns): compute EffectiveDeliveryPolicy as merge of user policy over default (K6) by @vieiralucas in #1190
  • feat(cloudformation): AWS::ApiGatewayV2::* provisioners (BB10) by @vieiralucas in #1186
  • feat(cloudformation): AWS::ECS provisioners (BB11) by @vieiralucas in #1193
  • feat(cloudformation): AWS::ECR::* provisioners (BB12) by @vieiralucas in #1194
  • feat(logs): CreateExportTask + CreateDelivery write to real S3 (Z2) by @vieiralucas in #1191
  • feat(route53): TestDNSAnswer routing policies + cross-service alias resolution (U2) by @vieiralucas in #1192
  • feat(ses): real template rendering at SendEmail (v1 + v2) (X3) by @vieiralucas in #1195
  • feat(cloudformation): AWS::KMS::{Key,Alias,ReplicaKey} provisioners (BB14) by @vieiralucas in #1196
  • feat(cloudformation): AWS::SecretsManager::* provisioners (BB13) by @vieiralucas in #1197
  • feat(rds): real RestoreDBInstanceToPointInTime + RestoreDBClusterFromSnapshot (M7) by @vieiralucas in #1198
  • feat(ecs): real Docker HEALTHCHECK from container healthCheck definition (O4) by @vieiralucas in #1201
  • feat(ses): real DKIM signing on outgoing emails (X4) by @vieiralucas in #1202
  • feat(cloudformation): AWS::Cognito::* provisioners (BB15) by @vieiralucas in #1200
  • feat(application-autoscaling): DynamoDB capacity target-tracking + step scaling (EE1) by @vieiralucas in #1204
  • feat(ecs): real volume mounts (host bind + EFS stub + named) (O3) by @vieiralucas in #1199
  • feat(stepfunctions): generic aws-sdk:* integration via service registry (CC1) by @vieiralucas in #1203
  • feat(bedrock): echo mode + dynamic token counts (FF1) by @vieiralucas in #1205
  • feat(athena): minimal SQL parser + Glue catalog reads + S3 CSV result write (DD1) by @vieiralucas in #1207
  • feat(lambda): real eventstream chunks in InvokeWithResponseStream (GG1) by @vieiralucas in #1206
  • feat(eventbridge): full EventTarget field round-trip (K7) by @vieiralucas in #1210
  • feat(cloudformation): ELBv2 provisioner update + GetAtt (BB17) by @vieiralucas in #1209
  • feat(ecs): honor containerDefinitions.dependsOn ordering (O5) by @vieiralucas in #1211
  • feat(cloudfront): real Status InProgress -> Deployed for streaming distributions + ETag stability (T2) by @vieiralucas in #1212
  • feat(elasticache): real shard + replica count mutations (N4) by @vieiralucas in #1208
  • feat(cloudformation): CloudWatch Alarm + Dashboard UpdateStack support (BB18) by @vieiralucas in #1215
  • feat(cognito): /oauth2/authorize endpoint with code+token response types (Y4) by @vieiralucas in #1213
  • feat(stepfunctions): real .sync wait pattern (CC2) by @vieiralucas in #1214
  • feat(ecs): EnableExecuteCommand + propagateTags + ProtectFromScaleIn enforcement (O15) by @vieiralucas in #1216
  • feat(dynamodb): real PartiQL WHERE evaluator + INSERT validation + stream emission (L4) by @vieiralucas in #1217
  • feat(application-autoscaling): scheduled action executor + cross-service apply (EE4) by @vieiralucas in #1220
  • feat(cloudformation): real ExecuteChangeSet diff+apply (BB35) by @vieiralucas in #1218
  • feat(stepfunctions): waitForTaskToken pattern (CC3) by @vieiralucas in #1221
  • feat(application-autoscaling): ECS desiredCount scaling (EE2) by @vieiralucas in #1223
  • feat(apigatewayv2): WebSocket support (S1) by @vieiralucas in #1222
  • fix(acm): resolve conformance failures — protocol mapping + shape validation by @vieiralucas in #1224
  • feat(cognito-identity): full CRUD + credential issuance (Y6) by @vieiralucas in #1219
  • docs: parity matrix + limitations sections (HH1) by @vieiralucas in #1225
  • feat(cloudformation): ApplicationAutoScaling provisioner (BB25) by @vieiralucas in #1226
  • feat(cloudformation): WAFv2 GetAtt + tests (BB26) by @vieiralucas in #1227
  • feat(cloudformation): SES GetAtt + tests (BB27) by @vieiralucas in #1228
  • feat(cloudformation): Athena provisioner (BB32) by @vieiralucas in #1229
  • feat(cloudformation): Glue Database + Table + Partition provisioner (BB33) by @vieiralucas in #1230
  • feat(cloudformation): Firehose DeliveryStream provisioner (BB34) by @vieiralucas in #1231
  • feat(cloudformation): nested stacks + SAM transform + drift/events (BB38) by @vieiralucas in #1235
  • feat(stepfunctions): StartSyncExecution real execution (CC8) by @vieiralucas in #1236
  • fix(protocol): route bedrock-runtime credential scope to the bedrock handler by @moonming in #1237
  • feat(stepfunctions): CC10 Map distributed mode by @vieiralucas in #1239
  • feat(athena): DD3 named query resolution + ExecutionParameters substitution by @vieiralucas in #1241
  • feat(athena): DD2 ListDatabases + GetTableMetadata real Glue reads by @vieiralucas in #1240
  • feat(stepfunctions): CC9 Express logging delivery by @vieiralucas in #1238
  • feat(bedrock-agent): fakecloud-bedrock-agent crate with CRUD + conformance by @vieiralucas in #1242
  • feat(bedrock-agent-runtime): fakecloud-bedrock-agent-runtime crate by @vieiralucas in #1243
  • feat(s3): real SelectObjectContent with EventStream by @vieiralucas in #1244
  • feat(s3): real WriteGetObjectResponse stores body + metadata (GG3) by @vieiralucas in #1245
  • feat(elasticache): restore from snapshot with real RDB dump by @vieiralucas in #1246
  • feat(elasticache): ACL SETUSER, CONFIG SET, Memcached ConfigurationEndpoint by @vieiralucas in #1247
  • feat(apigateway): request validator + model validation in data plane by @vieiralucas in #1248
  • feat(apigateway): AWS direct service integration (R5) by @vieiralucas in #1250
  • feat(apigateway): VTL evaluator + MOCK/HTTP request+response templates by @vieiralucas in #1249
  • feat(apigateway): VPC_LINK integration (R6) by @vieiralucas in #1251
  • feat(apigateway): binary media types in data plane + UpdateRestApi patch by @vieiralucas in #1252
  • feat(apigateway): custom domain + base path mapping data plane (R8) by @vieiralucas in #1253
  • feat(apigatewayv2): JWT authorizer enforcement in HTTP data plane (S3) by @vieiralucas in #1254
  • feat(apigatewayv2): Lambda authorizer enforcement in HTTP data plane (S4) by @vieiralucas in #1255
  • feat(apigatewayv2): stage variables, custom domain routing, AWS service integrations by @vieiralucas in #1256
  • feat(apigatewayv2): access log delivery to CloudWatch Logs by @vieiralucas in #1257
  • feat(ses): X6 receipt-rule actions polish by @vieiralucas in #1258
  • feat(ecs): O6 - ulimits + linuxParameters + stopTimeout + user + tty + readonlyRootfs by @vieiralucas in #1259
  • feat(ses): X7 — event destinations for Kinesis, Firehose, and CloudWatch by @vieiralucas in #1260
  • feat(ses): X9 — SendBounce + deliverability simulator addresses by @vieiralucas in #1261
  • fix(kinesis): use opaque 56-digit decimal sequence numbers everywhere by @vieiralucas in #1262
  • feat(ecs): O12 - ECS_CONTAINER_METADATA_URI_V4 endpoint + env injection by @vieiralucas in #1263
  • O7: ECS awsvpc network mode with synthetic ENI attachments by @vieiralucas in #1264
  • feat(ecs): O8 - loadBalancers → ELBv2 RegisterTargets cross-service hook by @vieiralucas in #1265
  • feat(ecs): O11 - CreateService + RunTask accept volumeConfigurations by @vieiralucas in #1266
  • fix(wafv2): validate PutManagedRuleSetVersions and UpdateManagedRuleSetVersionExpiryDate inputs by @vieiralucas in #1267
  • fix(ecs): no-runtime service lifecycle + list_tasks default filter by @vieiralucas in #1268
  • fix(ecs): keep desired_status=RUNNING in no-runtime RunTask path by @vieiralucas in #1269
  • fix(e2e): skip ElastiCache tests when Docker unavailable by @vieiralucas in #1270
  • fix(ecs): keep desired_status=RUNNING in no-runtime service spawn paths by @vieiralucas in #1271
  • feat(ecs): CreateDaemon spawns tasks per capacity provider (O10) by @vieiralucas in #1272
  • feat(ecs): CODE_DEPLOY blue/green task sets (O16) by @vieiralucas in #1273
  • feat(ses): real GetMessageInsights delivery tracking data by @vieiralucas in #1274
  • feat(s3): S3 access points control plane + data plane routing (GG4) by @vieiralucas in #1275
  • feat(ecs): placement constraints and strategies by @vieiralucas in #1276
  • feat(ses): SMTP submission listener (X8) by @vieiralucas in #1277
  • feat(logs): real LiveTail/GetLogObject/GetLogFields (Z5) by @vieiralucas in #1278
  • feat(stepfunctions): nested startExecution[.sync] (CC5+CC6) by @vieiralucas in #1279
  • docs(parity): add Will-never-implement + Roadmap sections by @vieiralucas in #1280
  • fix(ssm): hard-fail SecureString PutParameter when KMS encrypt fails (S9) by @vieiralucas in #1282
  • feat(bedrock-agent-runtime): real eventstream framing for Invoke* (F6) by @vieiralucas in #1283
  • fix(iam): promote unrecognized-principal logs to warn (S1) by @vieiralucas in #1281
  • feat(logs): real GetLogRecord with pointer resolution (L7) by @vieiralucas in #1284
  • feat(logs): DescribeFieldIndexes returns parsed Fields (L3) by @vieiralucas in #1285
  • feat(glue): GetPartitions Expression filter pruning (X1) by @vieiralucas in #1286
  • feat(logs): FilterLogEvents array-pattern syntax (L8) by @vieiralucas in #1288
  • feat(glue): Job control plane CRUD + JobRun (X2) by @vieiralucas in #1287
  • feat(firehose): enforce BufferingHints range limits (R5) by @vieiralucas in #1289
  • feat(logs): anomaly state + injection admin endpoint (L1) by @vieiralucas in #1291
  • feat(logs): persist delivery configuration + standard templates (L2) by @vieiralucas in #1290
  • feat(sqs): cross-service injections honor SSE-SQS (S12) by @vieiralucas in #1292
  • feat(s3): GetObject enforces PublicAccessBlock.IgnorePublicAcls (R1) by @vieiralucas in #1294
  • feat(lambda): Invoke publishes AWS/Lambda CloudWatch metrics (R2) by @vieiralucas in #1295
  • feat(lambda): UpdateFunctionCode fetches real bytes from S3 (R4) by @vieiralucas in #1293
  • feat(ses): env-flagged outbound SMTP relay (D1) by @vieiralucas in #1296
  • feat(sns): email subscriptions deliver via SMTP relay (D2) by @vieiralucas in #1297
  • feat(cognito): CompromisedCredentialsRiskConfiguration BLOCK enforcement (S11) by @vieiralucas in #1298
  • feat(cognito): PreTokenGeneration trigger claim merge (Y8a) by @vieiralucas in #1299
  • feat(cognito): WebAuthn packed attestation parsing + verification (Y8b) by @vieiralucas in #1300
  • feat(introspection): PKI stub introspection endpoints (PKI-1) by @vieiralucas in #1301
  • feat(cognito): GetSigningCertificate returns real X.509 (PKI-2) by @vieiralucas in #1302
  • feat(kms): real ECDSA P-521 + drop fake-bytes Sign/Verify (PKI-3) by @vieiralucas in #1303
  • docs(apigateway): sync v1+v2 docs with shipped features (B3) by @vieiralucas in #1305
  • docs(kms): sync docs with shipped features (B8) by @vieiralucas in #1306
  • docs(lambda): sync docs with shipped features (B7) by @vieiralucas in #1307
  • docs(cloudformation): expand docs with shipped features (B9) by @vieiralucas in #1308
  • docs(s3): sync docs + SDK helpers (B6) by @vieiralucas in #1304
  • docs(elasticache+appas+orgs): sync docs + new pages (B12) by @vieiralucas in #1309
  • docs(bedrock-agent): new pages + SDK sub-clients (B11) by @vieiralucas in #1310
  • docs(logs): sync docs + SDK helpers (B5) by @vieiralucas in #1314
  • docs(ecs): sync docs + SDK helpers (B4) by @vieiralucas in #1313
  • docs(cognito): sync docs + SDK helpers (B2) by @vieiralucas in #1312
  • docs(analytics): stepfn + new athena/glue/firehose pages + SDK helpers (B10) by @vieiralucas in #1316
  • docs(ses): sync docs + SDK helpers with shipped features (B1) by @vieiralucas in #1311
  • docs(misc): sync 8 service pages + ACM chain-info helper (B13) by @vieiralucas in #1315
  • docs(introspection): full /_fakecloud/* endpoint reference (B14) by @vieiralucas in #1317
  • docs: swap parity matrix + refresh global service/op counts (B15) by @vieiralucas in #1318
  • docs(guides): refresh cross-service integration guide (B16) by @vieiralucas in #1319
  • feat(glue): introspection endpoints — jobs + job-runs (I6) by @vieiralucas in https://github.co