Changelog
Changelog
This list is not intended to be all-encompassing - it will document major and breaking API -changes with their rationale when appropriate:
v5.33.2.0 (uncut)
- *http4k-core : Fix tracking of uri templates during in-memory request redirection
- *http4k-core : Make LocalCookie serialisable
v5.33.1.0
- http4k-* : Upgrade some dependency versions.
v5.33.0.1
- http4k-multipart* : [Fix #1188] MultiPartFormBody reads body into memory even when stream is available
v5.33.0.0
- http4k-* : Upgrade some dependency versions, including Kotlin to 2.0.21
- http4k-core : [Unlikely break] Adding start time to HTTP Transaction. Should be a simple fix if you are already creating your own for some reason. :) H/T @npryce
- http4k-resilience4j : Add resilience4j timeout filter. H/T @ollieabbey
- http4k-format-* : Adding ability to create BiDiMapping lens. H/T @potfur
- http4k-server-apache - [Fix] Apache httpcomponents server throws when returning 204.
v5.32.4.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval Better diffing of failures in the IDE. @H/T @frednordin
- http4k-core Gzip mixed compression mode H/T @IlyaNerd
v5.32.3.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval Support for binary comparisons using BinaryApprovalTest. @H/T @oharaandrew314
v5.32.2.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval : Fix
withNameSuffix
which wasn’t checking the content type when you overrode the name suffix.§
v5.32.1.0
- http4k-core : Fix ordering of params on
Body.webForm()
- http4k-* : Tightened up nullable types and data class constructor visibility on various APIs
v5.32.0.0
- http4k-* : Upgrade some dependency versions.
- http4k-client-apache* : [Unlikely break]: Removed
insecureApacheHttpClient()
due to deprecated API. - http4k-webdriver* : [Unlikely break]: New Nullable types on WebDriver API led to tightening up our implementations.
v5.31.1.0
- http4k-* : Upgrade some dependency versions.
v5.31.0.0
- http4k-server-apache : [Possible Break] Upgrade httpcore to 5.3, which introduces stricter authority validation. This may break projects with custom version of ApacheServer.
v5.30.1.0
- http4k-* : Upgrade some dependency versions.
- http4k-client-jetty : [Fix] encoding of binary content in Jetty client. H/T @kwydler
- http4k-client-* : All websocket implementations implement a unified
WebsocketFactory
. @H/T @oharaandrew314
v5.30.0.0
- http4k-* : Upgrade some dependency versions.
- http4k-multipart : [Fix] Further fixes to deletion of temporary files. Should fix memory leak. @H/T @oharaandrew314
- http4k-server-jetty11 : [Fix] Received binary Websocket frames will no longer have their content coerced to text. @H/T @oharaandrew314
- http4k-* : [Breaking] Make
WsMessage
mode explicit. @H/T @oharaandrew314
Migration Guide
Previously, a WsMessage
was sent in either TEXT
or BINARY
mode based on whether the Body
was a MemoryBody
or StreamBody
, respectively.
:warning: Warning: If you were using the primary constructor of WsMessage
, you will need to explicitly provide a WsMessage.Mode
to resolve the new compiler errors.
val textMessage = WsMessage(MemoryBody("hi"), WsMessage.Mode.Text)
+changes with their rationale when appropriate:v5.34.0.0 (uncut)
- *http4k-core : [Unlikely break] Fix parsing of accept header. It may break direct usages of
Accept
class - *http4k-core : Fix tracking of uri templates during in-memory request redirection
- *http4k-core : Make LocalCookie serialisable
v5.33.1.0
- http4k-* : Upgrade some dependency versions.
v5.33.0.1
- http4k-multipart* : [Fix #1188] MultiPartFormBody reads body into memory even when stream is available
v5.33.0.0
- http4k-* : Upgrade some dependency versions, including Kotlin to 2.0.21
- http4k-core : [Unlikely break] Adding start time to HTTP Transaction. Should be a simple fix if you are already creating your own for some reason. :) H/T @npryce
- http4k-resilience4j : Add resilience4j timeout filter. H/T @ollieabbey
- http4k-format-* : Adding ability to create BiDiMapping lens. H/T @potfur
- http4k-server-apache - [Fix] Apache httpcomponents server throws when returning 204.
v5.32.4.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval Better diffing of failures in the IDE. @H/T @frednordin
- http4k-core Gzip mixed compression mode H/T @IlyaNerd
v5.32.3.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval Support for binary comparisons using BinaryApprovalTest. @H/T @oharaandrew314
v5.32.2.0
- http4k-* : Upgrade some dependency versions.
- http4k-testing-approval : Fix
withNameSuffix
which wasn’t checking the content type when you overrode the name suffix.§
v5.32.1.0
- http4k-core : Fix ordering of params on
Body.webForm()
- http4k-* : Tightened up nullable types and data class constructor visibility on various APIs
v5.32.0.0
- http4k-* : Upgrade some dependency versions.
- http4k-client-apache* : [Unlikely break]: Removed
insecureApacheHttpClient()
due to deprecated API. - http4k-webdriver* : [Unlikely break]: New Nullable types on WebDriver API led to tightening up our implementations.
v5.31.1.0
- http4k-* : Upgrade some dependency versions.
v5.31.0.0
- http4k-server-apache : [Possible Break] Upgrade httpcore to 5.3, which introduces stricter authority validation. This may break projects with custom version of ApacheServer.
v5.30.1.0
- http4k-* : Upgrade some dependency versions.
- http4k-client-jetty : [Fix] encoding of binary content in Jetty client. H/T @kwydler
- http4k-client-* : All websocket implementations implement a unified
WebsocketFactory
. @H/T @oharaandrew314
v5.30.0.0
- http4k-* : Upgrade some dependency versions.
- http4k-multipart : [Fix] Further fixes to deletion of temporary files. Should fix memory leak. @H/T @oharaandrew314
- http4k-server-jetty11 : [Fix] Received binary Websocket frames will no longer have their content coerced to text. @H/T @oharaandrew314
- http4k-* : [Breaking] Make
WsMessage
mode explicit. @H/T @oharaandrew314
Migration Guide
Previously, a WsMessage
was sent in either TEXT
or BINARY
mode based on whether the Body
was a MemoryBody
or StreamBody
, respectively.
:warning: Warning: If you were using the primary constructor of WsMessage
, you will need to explicitly provide a WsMessage.Mode
to resolve the new compiler errors.
val textMessage = WsMessage(MemoryBody("hi"), WsMessage.Mode.Text)
val binaryMessage = WsMessage(StreamBody(imageStream), WsMessage.Mode.Binary)
:bulb: Note: If you were using the secondary WsMessage
constructors, no changes are necessary.
val textMessage = WsMessage("hi") // Text like before
val binaryMessage = WsMessage(imageStream) // Binary like before