All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Haskell's Package Versioning Policy
fallibleRuntimeandfallibleRuntimeWithContextreport errors to AWS instead of returning{"Left": "some error"}.fallibleRuntimeandfallibleRuntimeWithContextno longer wrap their successful responses in{"Right": ...}.pureRuntime,pureRuntimeWithContext,fallibleRuntimeandfallibleRuntimeWithContextno longer crash the Lambda runtime if input can't be parsed from JSON.- By default, Aeson 2.2 is used. This a breaking change only for specific
cases when using or maintaining curated package sets (stackage, nix, etc).
Optionally, one can set the
use-aeson-2-2flag tofalseto use an older verison.
- Add support for aeson 2.2. Users can opt in by setting the
use-aeson-2-2flag totrue, which for many users will be set automatically. In a future breaking change release, this flag will default totrue.
- Support GHC 9.4 by eliminating compiler errors
-
Remove deprecated functions and classes:
AWS.Lambda.Combinators.withFallibleInterfaceAWS.Lambda.Combinators.withIOInterfaceAWS.Lambda.Combinators.withPureInterfaceAWS.Lambda.Context.HasLambdaContext(class)AWS.Lambda.Context.runReaderTLambdaContextAWS.Lambda.Runtime.Value.mRuntimeWithContext
-
Rename
mRuntimeWithContext'tomRuntimeWithContextin the following modules:AWS.Lambda.RuntimeAWS.Lambda.Runtime.Value
-
Remove dependency on
envy
instance FromJSON AWS.Lambda.Events.EventBridge.Detail.SSM.ParameterStoreChange.Operationnow accepts arbitraryTextinstead of the four currently-known operations.
- Add
AWS.Lambda.Events.EventBridge.EventBridgeEventtype for subscribing Lambda functions to AWS EventBridge Events - Add
AWS.Lambda.Events.EventBridge.Detail.SSM.ParameterStoreChangetype for parsing AWS Systems Manager Parameter Store Change events delivered via AWS EventBridge. - When the runtime encounters an error, write it out to the Cloudwatch logs (via stderr), and do so in a format that can be guaranteed and later extended.
- Eliminate redundant import compiler warnings
- Add
KafkaEventtype for subscribing Lambda functions to Kafka topics - Support
aeson ^>=2.0.0.0 - Drop official support for GHC 8.0.2
- Expand hedgehog bounds to include 1.1 to keep ahead of Stack nightly
- Add
ToJSONinstances forProxyRequesttypes, and test round-tripping as much as possible - Add
FromJSONinstance forProxyResponse, and test round-tripping as much as possible
- Drop http-conduit as a dependency for potentially smaller binaries
- Add more detailed error messages to context parsing failures
- Increase compatibility by loosening envy version bounds
- Add mRuntimeWithContext' and mRuntime
- Deprecate withIoInterface, withFallibleInterface, withPureInterface, HasLambdaContext, runRaderTLambdaContext, mRuntimeWithContext
- Fix an issue where errors from the runtime were not retried
- Constrain the envy version for correctly building with Cabal
- Fix documentation examples for Runtime and Combinators
- Add support for Value-based runtimes for handling JSON conversion errors explicitly
- Fix an issue where errors from the runtime were not retried
- Add support for triggered S3 events
- Fix an issue where errors from the runtime were not retried
- Expose
AWS.Lambda.Combinatorspackage for building other runtimes (e.g. to support Lambda Event triggers)
- Fix an issue where errors from the runtime were not retried
- Fix PVP bounds when building/uploading the package
- Incorrect error message when getting events from AWS
- Initial release!