v2.40.0
Summary
We're excited to announce Batch resolvers in GraphQL Event Handler to tackle the infamous N+1 problem in GraphQL 💪, making it easier to work with batching in AWS AppSync.
Thanks to @danieljnchen, the validation utility now supports referencing internal schemas within your JSON files. 🌟
🌟 ⭐ A big thank you to our new contributors: @scampbell5, @matteofigus, and @danieljnchen.
Batch resolvers in Event Handler GraphQL
You can now use a batch resolver to handle batch requests coming from AWS AppSync. This is useful when AWS AppSync has batching enabled for Lambda Resolvers as it allows the aggregation of as many requests as possible before invoking your AWS Lambda function, effectively solving the N+1 problem in GraphQL.
Validation feature now supports custom handlers
You can now control JSON schema references with custom handlers. This is useful when you might want to optimize caching, reducing HTTP calls, or fetching them from non-HTTP endpoints.
Last but not least, @scampbell5 helps us fix the types for partition
and offset
in the KafkaEventRecord
Event Source Data Class.
Changes
🌟New features and non-breaking changes
- feat(event-handler): add appsync batch resolvers (#1998) by @mploski
- feat(validation): support JSON Schema referencing in validation utils (#4508) by @danieljnchen
📜 Documentation updates
- feat(event-handler): add appsync batch resolvers (#1998) by @mploski
- docs(public reference): add Brsk as a public reference (#4597) by @leandrodamascena
- docs(homepage): Fix homepage link (#4587) by @matteofigus
- docs(i-made-this): add new article about best practices for accelerating serverless development (#4518) by @ran-isenberg
🐛 Bug and hot fixes
- fix(event_sources): change partition and offset field types in KafkaEventRecord (#4515) by @scampbell5
🔧 Maintenance
- chore(layers): downgrade aws cdk to 2.145.0 (#4640) by @leandrodamascena
- chore(deps-dev): bump cfn-lint from 1.3.5 to 1.3.7 (#4634) by @dependabot
- chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 2 updates (#4635) by @dependabot
- feat(event-handler): add appsync batch resolvers (#1998) by @mploski
- chore(deps-dev): bump mypy-boto3-ssm from 1.34.91 to 1.34.132 in the boto-typing group (#4623) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.3.3 to 1.3.5 (#4628) by @dependabot
- chore(deps-dev): bump filelock from 3.15.3 to 3.15.4 (#4626) by @dependabot
- chore(deps-dev): bump mypy from 1.10.0 to 1.10.1 (#4624) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.194 to 0.1.198 (#4627) by @dependabot
- chore(deps-dev): bump mike from 2.1.1 to 2.1.2 (#4616) by @dependabot
- chore(deps-dev): bump pdoc3 from 0.10.0 to 0.11.0 (#4618) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.147.0 to 2.147.1 (#4615) by @dependabot
- chore(deps-dev): bump coverage from 7.5.3 to 7.5.4 (#4617) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.147.0 to 2.147.1 (#4614) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.146.0a0 to 2.147.0a0 (#4619) by @dependabot
- chore(deps-dev): bump cfn-lint from 1.3.0 to 1.3.3 (#4602) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.146.0 to 2.147.0 (#4603) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.146.0 to 2.147.0 (#4604) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.193 to 0.1.194 (#4601) by @dependabot
- chore(deps-dev): bump ruff from 0.4.9 to 0.4.10 (#4594) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.192 to 0.1.193 (#4596) by @dependabot
- chore(deps): bump pydantic from 1.10.16 to 1.10.17 (#4595) by @dependabot
- chore(deps): bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#4592) by @dependabot
- chore(deps-dev): bump mypy-boto3-dynamodb from 1.34.114 to 1.34.131 in the boto-typing group (#4593) by @dependabot
- chore(ci): introduce daily pre-releases (#4535) by @heitorlessa
- chore(ci): add the Batch Processor feature to nox tests (#4586) by @leandrodamascena
- chore(ci): add the Idempotency feature to nox tests (#4585) by @leandrodamascena
- chore(ci): add the Parser feature to nox tests (#4584) by @leandrodamascena
- chore(ci): add the Data Class feature to nox tests (#4583) by @leandrodamascena
- chore(ci): add the Event Handler feature to nox tests (#4581) by @leandrodamascena
- chore(ci): add the Streaming feature to nox tests (#4575) by @leandrodamascena
- chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates (#4580) by @dependabot
- chore(deps-dev): bump filelock from 3.15.1 to 3.15.3 (#4576) by @dependabot
- chore(deps-dev): bump cfn-lint from 0.87.7 to 1.3.0 (#4577) by @dependabot
- chore(deps-dev): bump sentry-sdk from 2.5.1 to 2.6.0 (#4579) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.189 to 0.1.192 (#4578) by @dependabot
- chore(ci): add the Data Masking feature to nox tests (#4574) by @leandrodamascena
- chore(ci): add the Typing feature to nox tests (#4572) by @leandrodamascena
- chore(ci): add the Validation feature to nox tests (#4571) by @leandrodamascena
- chore(ci): add the Feature Flags feature to nox tests (#4570) by @leandrodamascena
- chore(ci): add the Parameters feature to nox tests (#4569) by @leandrodamascena
- chore(ci): add the Middleware Factory feature to nox tests (#4568) by @leandrodamascena
- chore(ci): add the Tracer feature to nox tests (#4567) by @leandrodamascena
- chore(ci): add the Metrics feature to nox tests (#4552) by @leandrodamascena
- chore(deps-dev): bump hvac from 2.2.0 to 2.3.0 (#4563) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.188 to 0.1.189 (#4564) by @dependabot
- chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates (#4565) by @dependabot
- chore(ci): introduce tests with Nox (#4537) by @leandrodamascena
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.184 to 0.1.188 (#4550) by @dependabot
- chore(deps-dev): bump mkdocs-material from 9.5.26 to 9.5.27 (#4544) by @dependabot
- chore(deps-dev): bump aws-cdk-aws-lambda-python-alpha from 2.145.0a0 to 2.146.0a0 (#4542) by @dependabot
- chore(deps-dev): bump urllib3 from 1.26.18 to 1.26.19 in /layer (#4547) by @dependabot
- chore(deps): bump fastjsonschema from 2.19.1 to 2.20.0 (#4543) by @dependabot
- chore(deps): bump squidfunk/mkdocs-material from
96abcbb
to257eca8
in /docs (#4540) by @dependabot - chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.7 to 3.0.9 (#4539) by @dependabot
- chore(deps): bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#4538) by @dependabot
- chore(deps-dev): bump mypy-boto3-secretsmanager from 1.34.125 to 1.34.128 in the boto-typing group (#4541) by @dependabot
- chore(deps): bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates (#4546) by @dependabot
- chore(governance): fix errors when creating Gitpod environment (#4532) by @leandrodamascena
- chore(deps-dev): bump ruff from 0.4.8 to 0.4.9 (#4528) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.145.0 to 2.146.0 (#4526) by @dependabot
- chore(deps): bump redis from 5.0.5 to 5.0.6 (#4527) by @dependabot
- chore(deps-dev): bump aws-cdk from 2.145.0 to 2.146.0 (#4525) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.182 to 0.1.184 (#4529) by @dependabot
- chore(deps-dev): bump bandit from 1.7.8 to 1.7.9 (#4511) by @dependabot
- chore(deps-dev): bump cfn-lint from 0.87.6 to 0.87.7 (#4513) by @dependabot
- chore(deps-dev): bump filelock from 3.14.0 to 3.15.1 (#4512) by @dependabot
- chore(deps-dev): bump cdklabs-generative-ai-cdk-constructs from 0.1.179 to 0.1.182 (#4510) by @dependabot
- chore(deps): bump codecov/codecov-action from 4.4.1 to 4.5.0 (#4514) by @dependabot
- chore(deps-dev): bump mypy-boto3-secretsmanager from 1.34.109 to 1.34.125 in the boto-typing group (#4509) by @dependabot
This release was made possible by the following contributors:
@danieljnchen, @dependabot, @dependabot[bot], @github-actions, @github-actions[bot], @heitorlessa, @leandrodamascena, @matteofigus, @mploski, @ran-isenberg and @scampbell5