# Revision history for wai-handler-hal
## 0.5.0.0 -- 2025-12-14
- Breaking change: Replace unsafe `decodeUtf8` with `decodeUtf8Lenient`
for header and body decoding. Invalid UTF-8 sequences are now replaced
with Unicode replacement characters (U+FFFD) instead of throwing exceptions
from purely functional code.
## 0.4.0.2 -- 2025-08-14
- Union single and multi-value query parameters and headers when
converting a `hal` `ProxyRequest` to a `wai` `Request`
## 0.4.0.1 -- 2025-02-19
- Use a `NonEmpty` list when consuming the result of `getAddrInfo`.
- When resolving source IPs, do not require `AF_INET` (IPv4)
addresses. This allows IPv6 source addresses to be passed through to
the underlying `wai` `Application`.
## 0.4.0.0 -- 2024-01-17
- New function: `Wai.Handler.Hal.runWithOptions :: Options ->
Application -> ProxyRequest NoAuthorizer -> ProxyResponse`. This
provides a convenient way to pass custom `Options` without all the
bells and whistles of `runWithContext`.
- Instead of guessing whether a given response `Content-Type` should
be sent as text or base64-encoded binary, `Options` now contains a
`binaryMediaTypes :: [MediaType]`, which lists the media types that
should be base64-encoded. This should match the `binaryMediaTypes`
setting you have configured on the API Gateway that integrates with
your Lambda Function.
_See:_ [Content type conversion in API
Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings-workflow.html)
in the [Amazon API Gateway Developer
Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/).
## 0.3.0.0 -- 2023-12-17
- Accidental breaking change: more elaborate `Content-Type` headers
like `Content-Type: application/json; charset=utf-8` are now encoded
as if they were binary payloads. This release has been deprecated.
- Breaking change: add `Options` record parameter to `runWithContext`,
`toWaiRequest` and `fromWaiResponse`.
- Provide a `defaultOptions`.
- Make whether or not to run base64-encoding on the response body customizable
through `Options.binaryMimeType`.
## 0.2.0.0 -- 2023-03-17
- Breaking change: `toWaiRequest` now sorts request headers and query string
parameters.
## 0.1.2.0 -- 2022-06-03
- Fix construction of `rawPathInfo`.
## 0.1.1.0 -- 2021-10-14
- When API Gateway sends nonsense IPs during a test invocation, sub in
`127.0.0.1` instead of exploding.
[#3](https://github.com/bellroy/wai-handler-hal/issues/3)
- Removed debug `print`s left in by mistake.
## 0.1.0.0 -- 2021-04-15
- First version. Released on an unsuspecting world.