zio/zio-http
A next-generation Scala framework for building scalable, correct, and efficient HTTP clients and servers
๐ Changes
- Update netty-codec-http, ... to 4.2.14.Final @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4148)
- Update netty-codec-http, ... to 4.2.13.Final @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4120)
- Update protobuf-java to 4.34.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4147)
- docs(datastar): comprehensive SDK reference reorganization and dispatchEvent examples @khajavi (#4145)
- Update zio-sbt-website to 0.5.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4144)
- Handle braces in absolute URL queries @987Nabil (#4125)
- docs(testkit): comprehensive documentation with examples, style fixes, and compilation fixes @khajavi (#4123)
- Update tapir-http4s-server, ... to 1.13.19 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4142)
- + 9 more
๐ Changes
- Fix typos in handler documentation @Siupahc (#4113)
- Bump webpack from 5.99.8 to 5.105.0 in /website @[dependabot[bot]](https://github.com/apps/dependabot) (#3947)
- Update zio-schema, zio-schema-json, ... to 1.8.5 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4111)
- Update tapir-http4s-server, ... to 1.13.18 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4114)
- Update sbt, scripted-plugin to 1.12.11 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4116)
- fix(datastar): render executeScript selector as CSS @987Nabil (#4115)
- Add Context7 configuration file @khajavi (#4109)
- docs(website): add llms.txt support for AI/LLM consumers @khajavi (#4104)
๐ Changes
- Update zio, zio-streams, zio-test to 2.1.25 @987Nabil (#4098)
- Update tapir-http4s-server, tapir-json-circe to 1.13.16 @987Nabil (#4099)
- chore: bump Datastar version to 1.0.0 @987Nabil (#4095)
- fix(ci): update Mima check to JDK 25 @987Nabil (#4097)
- fix(openapi): produce binary schema for non-multipart `outStream[Byte]` @shuch3ng (#4092)
- fix(ci): replace EOL GraalVM 17/21 with GraalVM 25 @987Nabil (#4096)
- feat(endpoint): add renderUrl method to Endpoint (#3162) @987Nabil (#4067)
- Update scalafmt-dynamic to 3.11.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4090)
- + 46 more
๐ Changes
- fix: escape single quotes in astToExpression string values @987Nabil (#4029)
- fix: use set() by default for header encoding, add() only for multi-valued headers @987Nabil (#4033)
- fix: Signal.ref race condition from unsynchronized mutable var (#4023) @987Nabil (#4028)
- fix: add missing Always and Never values to DatastarRetry @987Nabil (#4027)
- fix: readSignals reads GET signals from query parameter instead of header (#4020) @987Nabil (#4026)
- fix: use lowercase enum values for DatastarRequestCancellation (#4022) @987Nabil (#4030)
- Don't log unhandled errors failures of type response @davidlar (#4017)
- perf: use Scheme.unsafe.decode in URL parsing hot path @987Nabil (#4015)
- + 1 more
๐ Changes
- fix: escape \</script> in Datastar executeScript SSE rendering @987Nabil (#4013)
- chore: update zio-schema 1.8.3 @987Nabil (#4012)
- Update zio-schema, zio-schema-json, ... to 1.8.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#4014)
- feat(datastar): add dispatchEvent for firing custom DOM events from backend @987Nabil (#4011)
- feat(headers): support multiple CSP directives and CSP-Report-Only header @987Nabil (#4008)
- feat(middleware): add tracing middleware for OpenTelemetry integration @987Nabil (#4010)
- feat(middleware): add response-derived labels to metric middleware @987Nabil (#4007)
- feat(http): expose Body materialized content without internal class matching @987Nabil (#4005)
- + 9 more
๐ Changes
- Update tapir-http4s-server, ... to 1.13.10 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3995)
- fix: prevent response header interleaving on keep-alive connections (#3395) @987Nabil (#3994)
- feat: Add AuthType.Custom and AuthType.Or support to OpenAPI spec generation @seveneves (#3991)
- perf: cache headerType on Header.Custom via null-init field @guizmaii (#3983)
- fix: Handle nested sealed trait hierarchies in TextBinaryCodec and JsonSchema (#3801, #3946) @987Nabil (#3972)
- perf: pre-build fixed CORS headers at construction time @guizmaii (#3986)
- Update sbt-ide-settings to 1.1.4 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3993)
- perf: use ZIO.suspend to avoid flatMap in NettyFutureExecutor @guizmaii (#3990)
- + 28 more
๐ What's Changed
- Update sbt-scoverage to 2.4.4 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3911
- Update sbt, scripted-plugin to 1.12.0 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3909
- Update parsers to 4.14.5 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3910
- Update zio-json-yaml to 0.8.0 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3904
- Update protobuf-java to 4.33.4 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3900
- Update Scala 2.13 to 2.13.18 by @guizmaii in https://github.com/zio/zio-http/pull/3916
- Fix Routes.transform() to allow catchAllDefect to intercept defects by @987Nabil in https://github.com/zio/zio-http/pull/3899
- fixing OpenAPIGen crash by @kurgansoft in https://github.com/zio/zio-http/pull/3915
- + 23 more
โจ New Contributors
- @kurgansoft made their first contribution in https://github.com/zio/zio-http/pull/3915
- @andresctirado made their first contribution in https://github.com/zio/zio-http/pull/3863
- Full Changelog: https://github.com/zio/zio-http/compare/v3.8.0...v3.8.1
๐ What's Changed
- Update tapir-http4s-server, ... to 1.12.6 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3834
- Update scala-library, scala-reflect to 2.12.21 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3852
- Optimise `RequestStore` code by @guizmaii in https://github.com/zio/zio-http/pull/3878
- Revert "Revert "JSON Schema gen"" by @987Nabil in https://github.com/zio/zio-http/pull/3837
- Documentation of Ensure Header Middleware by @khajavi in https://github.com/zio/zio-http/pull/3840
- Allow : and @ unescaped in URL path and query by @QuinnHarris in https://github.com/zio/zio-http/pull/3870
- [CI] Avoid running each "Build and Test" job twice by @guizmaii in https://github.com/zio/zio-http/pull/3885
- Improve client timeout options (#2383) by @987Nabil in https://github.com/zio/zio-http/pull/3844
- + 8 more
โจ New Contributors
- @antonstamov made their first contribution in https://github.com/zio/zio-http/pull/3806
- Full Changelog: https://github.com/zio/zio-http/compare/v3.7.4...v3.8.0
๐ Changes
- Abort fetch requests when scope is complete @Kalin-Rudnicki (#3866)
- Fix rendering of data attributes and modifiers in Datastar @987Nabil (#3857)
- Update sbt-scalafix to 0.14.5 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3855)
๐ Changes
- Fix various issues with datastar rendering of names and updates @987Nabil (#3854)
- Update protobuf-java to 4.33.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3849)
- Update sbt-scoverage to 2.4.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3853)
๐ Changes
- Fix rendering bugs in datastar @987Nabil (#3847)
- Website: Meta Image @khajavi (#3835)
- Endpoint Documentation: Describing Authentication Types @khajavi (#3808)
๐ Changes
- Fix `DatastarEvent.PatchElements` rendering for multiline elements @987Nabil (#3833)
- Http conformance spec (#3083) @987Nabil (#3803)
- Update parsers to 4.14.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3826)
- Update tapir-http4s-server, ... to 1.12.5 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3828)
- Update zio, zio-streams, zio-test, ... to 2.1.23 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3829)
๐ฆ Why 3.7.0 so soon
- I forgot to add a constructor variant to `EndpointExecutor` when I was deprecating `EndpointLocator`.
- Since we stick strictly to semVer, new public API/method means new minor release.
๐ What's Changed
- Add missing EndpointExecutor constructor for URL + Auth via ZIO
- Update sbt-scoverage to 2.4.2 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3827
- Update tapir-http4s-server, ... to 1.12.4 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3821
- Update protobuf-java to 4.33.1 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3819
- Update sbt-github-actions to 0.29.0 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3818
- Full Changelog: https://github.com/zio/zio-http/compare/v3.6.0...v3.7.0
๐ Changes
- We now have a dev mode and we will add more and more features that depend on it, like #3645. See docs for more infos
- Added a lot of Datastar sdk capabilities for better DX and easier building of frontends
- Also @khajavi added a lot of docs ๐ So checkout https://ziohttp.com
๐ Changes
- Fix datastar examples @987Nabil (#3814)
- Read signals from Request via Schema into case class (#3791) @987Nabil (#3813)
- Autogenerate HEAD routes for GET routes via server config (#3789) @987Nabil (#3811)
- Add simple way to sent single DatastarEvent with low level API (#3792) @987Nabil (#3809)
- CDN script tags and site template for datastar #3794 @987Nabil (#3810)
- Migrate to datastar 1.0.0-RC6 (#3793) @987Nabil (#3804)
- Fetch with batched support (#3779) @987Nabil (#3807)
- Documentation of Forwarding Headers @khajavi (#3802)
- + 58 more
๐ Changes
- Fix regex validation in the OpenAPI @minedeljkovic (#3687)
- Opaque Bearer Authentication Guide @khajavi (#3620)
๐ฆ Dependencies
- Update zio, zio-streams, zio-test, ... to 2.1.21 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3676)
- Update sbt-scalajs, scalajs-compiler, ... to 1.20.1 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3680)
- Update sbt, scripted-plugin to 1.11.6 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3681)
- Update tapir-http4s-server, ... to 1.11.44 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3684)
- Update netty-codec-http, ... to 4.2.6.Final @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3685)
- Update sbt-github-actions to 0.28.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3690)
- Update protobuf-java to 4.32.1 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3691)
๐ Changes
- feat(codegen): Endpoint auth in codegen @mobley-trent (#3597)
- Polish template2 API (#3611) @987Nabil (#3674)
- Add support for a custom fallback handler for TestClient @merijn (#3619)
- Add another version of forward headers middleware (#3668) @987Nabil (#3669)
- Datastar integration (#3604) @987Nabil (#3649)
- Add leading slash if adding segment to URL with empty segments (#3646) @987Nabil (#3651)
- Fix unicode query encoding (#3635) @987Nabil (#3660)
- Always use more specific path matches before trying trailing (#3639) @987Nabil (#3665)
- + 7 more
๐ฆ dependencies
- Update zio-cli to 0.7.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3662)
- Update netty-codec-http, ... to 4.2.5.Final @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3673)
- Update tapir-http4s-server, ... to 1.11.43 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3670)
- Update zio-sbt-website to 0.4.0-alpha.34 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3659)
- Update zio-metrics-connectors, ... to 2.5.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3658)
- Update zio-metrics-connectors, ... to 2.4.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3652)
- Update sbt-github-actions to 0.27.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3654)
- Update compilerplugin, scalapb-runtime to 0.11.20 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3655)
- + 12 more
โ ๏ธโ ๏ธโ ๏ธ Do not use this version. Published by mistake by @guizmaii (I'm really sorry about that) Wait for the next one, which will be a new minor version, which will introduce new APIs and some breaking changes. Please skip this version โ ๏ธโ ๏ธโ ๏ธ
๐ What's Changed
- New Website by @khajavi in https://github.com/zio/zio-http/pull/3504. See https://ziohttp.com/
- Prevent OOM when receiving large request streams by @davidlar in https://github.com/zio/zio-http/pull/3174
- Implement dependencyless query de-/encoding (#3521) by @987Nabil in https://github.com/zio/zio-http/pull/3525
- Schema-based query params use field descriptions for OpenAPI (#3535) by @987Nabil in https://github.com/zio/zio-http/pull/3546
- Support optional schema of a transformed schema (#3540) by @987Nabil in https://github.com/zio/zio-http/pull/3545
- Fix optional header decoding (#3532) by @987Nabil in https://github.com/zio/zio-http/pull/3533
- New default implementation for text-based bodies (#3529) by @987Nabil in https://github.com/zio/zio-http/pull/3548
- Add `JsonSchema.fromZSchemaInlineDeepOrFail` (#3168) by @guersam in https://github.com/zio/zio-http/pull/3559
- + 11 more
๐ฆ Updates
- Update zio-sbt-website to 0.4.0-alpha.32 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3534
- Update netty-codec-http, ... to 4.2.2.Final by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3536
- Update sbt, scripted-plugin to 1.11.1 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3531
- Update scalafmt-dynamic to 3.9.7 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3524
- Update sbt and prefer LTS Java version in Netlify by @guizmaii in https://github.com/zio/zio-http/pull/3537
- Update sbt-protoc to 1.0.8 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3538
- Update tapir-http4s-server, ... to 1.11.33 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3519
- Update protobuf-java to 4.31.1 by @zio-scala-steward[bot] in https://github.com/zio/zio-http/pull/3518
- + 36 more
โจ New Contributors
- @brndt made their first contribution in https://github.com/zio/zio-http/pull/3564
- @Yummy-Yums made their first contribution in https://github.com/zio/zio-http/pull/3575
- Full Changelog: https://github.com/zio/zio-http/compare/v3.3.3...v3.4.0
๐ Changes
- Fixes related to en/decoding collections in headers/query params @987Nabil (#3520)
- Update/netty codec http 4.2.0.final @987Nabil (#3507)
๐ Changes
- Handler: catch NonFatal exceptions in by-name parameters @hearnadam (#3503)
- Use correct schema for optional primitives in StringSchemaCodec @987Nabil (#3517)
๐ Changes
- Fix mix-up of transform methods in StringSchemaCodec @987Nabil (#3515)
- Update tapir-http4s-server, ... to 1.11.32 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3509)
- Update tapir-http4s-server, ... to 1.11.30 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3506)
- Update protobuf-java to 4.31.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3492)
- Update parsers to 4.13.6 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3493)
- Update zio-cli to 0.7.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3499)
- Update tapir-http4s-server, ... to 1.11.28 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3490)
- Optimize `QueryParams#getAll` @kyri-petrou (#3500)
๐ Changes
- Update zio-json-yaml to 0.7.43 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3487)
- Update scala3-compiler, scala3-library, ... to 3.3.6 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3486)
- Update sbt-scalafix to 0.14.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3485)
- Update scalafmt-dynamic to 3.9.6 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3483)
- Add tests and docs for new CodecConfig options (#3477) @987Nabil (#3482)
- Update parsers to 4.13.5 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3470)
- Write empty collection/Option fields by default @987Nabil (#3481)
- Update scalafmt-dynamic to 3.9.5 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3471)
- + 18 more
๐ฆ Highlights
- Auth is now generated into OpenAPI, when set on an Endpoint
- Curl logging Middleware was added
๐ Changes
- Do not replace - with \_ in open api code gen @987Nabil (#3423)
- `Routes` specific not found handler, that middleware applies on (#3286) @987Nabil (#3419)
- remove unnecessary Server type tag in testkit @myazinn (#3430)
- Make uring provided and document so that the experimental incubator library is not on the classpath by default @russwyte (#3426)
- Simplify `Routes`/`RoutePattern` trees @987Nabil (#3409)
- Improve `Form#toQueryParams` performance (#3289) @987Nabil (#3412)
- docs: Config reference @igneus (#3367)
- feat: Encode Auth requirements in Endpoint API @mobley-trent (#3266)
- + 19 more
๐ Codec Changes
- ```scala
- case class Foo(a: Int, b: SimpleWrapper, c: NonEmptyChunk[String], chunk: Chunk[String])
- val headersFoo = Headers("a" -> "1", "b" -> "foo", "c" -> "2", "chunk" -> "foo", "chunk" -> "bar")
- val foo = headersFoo.header[Foo]
- ```
๐ฆ Scala 3 Union Type support
- Here an example
- ```scala
- val unionWithErrorEndpoint
- : Endpoint[Unit, Unit, NotFound[EntityId] | String, UUID | Unit, AuthType.None] =
- Endpoint(Method.GET / "api" / "union-with-error")
- .out[UUID]
- .orOut[Unit](Status.NoContent)
- .outError[NotFound[EntityId]](Status.NotFound)
- + 3 more
โก Performance improvements
- We merged multiple PRs for improving routes look up time.
- Also `zio-schema` and `zio-json` get huge performance boosts in recent versions, thanks to @plokhotnyuk and the versions have been updated in `zio-http`
๐ฆ One `Scope` per request handling
- Now, if a handler/route/routes needs a scope, you have to provide one. Adding a route to the server that requires a scope will lead to a compile error.
- You can either use `Handler.scoped` or `ZIO.scoped` to provide a scope where needed.
๐ Changes
- Update parsers to 4.13.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3390)
- Update sbt-github-actions to 0.25.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3388)
- Update scalafmt-core, scalafmt-dynamic to 3.9.3 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3391)
- Fix incorrect generation of URLs in HttpCliApp.fromEndpoints @franbh (#3386)
- Update protobuf-java to 4.30.0 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3387)
- Make newly added Routes take precedence over old ones (#3066) @987Nabil (#3337)
- Update scalafmt-core, scalafmt-dynamic to 3.9.2 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3370)
- Update zio-cli to 0.7.1 @[zio-scala-steward[bot]](https://github.com/apps/zio-scala-steward) (#3379)
- + 117 more
๐ ๐ Bug Fixes
- CI: Fix scala\_steward \&\& Add dependabot to maintain GHA workflows @guizmaii (#3298)
๐ฆ ๐งฐ Maintenance
- CI: Fix scala\_steward \&\& Add dependabot to maintain GHA workflows @guizmaii (#3298)
- SBT and SIGINT Signal Using CTL+C @khajavi (#3250)
- Update README.md @[zio-assistant[bot]](https://github.com/apps/zio-assistant) (#3145)
๐ What's Changed
- 3.0 release (#2982) by @987Nabil in https://github.com/zio/zio-http/pull/3119
- Update README.md by @zio-assistant in https://github.com/zio/zio-http/pull/3120
- Fix: Multipart Boundary Generation to Comply with RFC 2046 by @varshith257 in https://github.com/zio/zio-http/pull/3123
- Fixing partial provision of environment to Routes when resulting env is intersection type. by @pawelsadlo in https://github.com/zio/zio-http/pull/3128
- Setup Mima by @987Nabil in https://github.com/zio/zio-http/pull/3129
- Save one copy call by @987Nabil in https://github.com/zio/zio-http/pull/3137
โจ New Contributors
- @varshith257 made their first contribution in https://github.com/zio/zio-http/pull/3123
- Full Changelog: https://github.com/zio/zio-http/compare/v3.0.0...v3.0.1
๐ฆ Thanks for 3.0
- We finally made the 3.0 release ๐๐ . Which is also the first real production-ready release with stable API of zio-http.
- I am very happy to have reached this milestone.
- Thanks to all the contributors and users of ZIO HTTP!
- Especially thanks to:
- @jdegoes for his vision, code contribution, mentoring and sponsoring of the project.
- @vigoo for a lot of code contribution at the beginning of the 3.x series.
- @kyri-petrou for optimizations and bug fixes.
- @khajavi for his work on the documentation.
- + 3 more
๐ What's Changed since v3.0.0-RC10
- Caching and improvements for HttpContentCodec (#3029) by @987Nabil in https://github.com/zio/zio-http/pull/3074
- Update README.md by @zio-assistant in https://github.com/zio/zio-http/pull/3082
- Sanitize scala doc string for open api gen (#3047) by @987Nabil in https://github.com/zio/zio-http/pull/3071
- Update middleware.md by @neo773 in https://github.com/zio/zio-http/pull/3088
- [gen] normalized fields with annotations holding original field name by @hochgi in https://github.com/zio/zio-http/pull/3069
- [gen] map common abstract fields in trait (oneOf enum) to have (un)aliasing translation of types by @hochgi in https://github.com/zio/zio-http/pull/3089
- Fix OpenApi gen components from case class with arity > 22 by @narma in https://github.com/zio/zio-http/pull/3065
- Add `Endpoint#implementAsZIO` by @987Nabil in https://github.com/zio/zio-http/pull/3085
- + 17 more
๐ What's Changed since v.0.5.0
- Avoid redundant layer creation by @vigoo in https://github.com/zio/zio-http/pull/2040
- Make request logging middleware universial by @guersam in https://github.com/zio/zio-http/pull/2043
- Ability to set specific boundary when encoding body as multipart/form-data by @vigoo in https://github.com/zio/zio-http/pull/2042
- Add content-type header based on endpoint body by @vigoo in https://github.com/zio/zio-http/pull/2046
- Handle invalid base64 in basic authorization by @vigoo in https://github.com/zio/zio-http/pull/2047
- Header model cleanup by @vigoo in https://github.com/zio/zio-http/pull/2051
- Fix type signature of Http#@@ by @vigoo in https://github.com/zio/zio-http/pull/2054
- Unifying headers by @vigoo in https://github.com/zio/zio-http/pull/2055
- + 539 more
โจ New Contributors
- @guersam made their first contribution in https://github.com/zio/zio-http/pull/2043
- @liewhite made their first contribution in https://github.com/zio/zio-http/pull/2076
- @danbills made their first contribution in https://github.com/zio/zio-http/pull/2080
- @jorge-vasquez-2301 made their first contribution in https://github.com/zio/zio-http/pull/2101
- @jgranstrom made their first contribution in https://github.com/zio/zio-http/pull/2130
- @andrzejressel made their first contribution in https://github.com/zio/zio-http/pull/2161
- @rhueara-ca made their first contribution in https://github.com/zio/zio-http/pull/2147
- @dizinfector made their first contribution in https://github.com/zio/zio-http/pull/2156
- + 62 more
๐ฆ Query Codec
- This also enables using a case class to extract multiple parameters.
๐ฆ Client
- The ZClient got some rework done. Most important is, that there is now an explicit streaming and non-streaming API.
- The reason is, that for streaming bodies we depended on `Scope` for which some users used the default application scope.
๐ Replaced Endpoint Middleware with explicit security concept
- An example says more then 1000 words.
- ```scala
- private val basicAuthContext = HandlerAspect.customAuthProviding[AuthContext] { r =>
- {
- r.headers.get(Header.Authorization).flatMap {
- case Header.Authorization.Basic(uname, password) if Secret(uname.reverse) == password =>
- Some(AuthContext(uname))
- case _ =>
- + 21 more
๐ฆ Replaced Warning header and beautifyErrors with more explicit error config
- The default way to handover errors has been the warning header so far. That had multiple problems.
๐ What's Changed
- Use `Exit.succeed` when body extraction is side-effect free by @kyri-petrou in https://github.com/zio/zio-http/pull/2938
- Override URL's toString with encode by @guersam in https://github.com/zio/zio-http/pull/2939
- Reorg driver layers by @eyalfa in https://github.com/zio/zio-http/pull/2936
- Use ZIO Assistant to Update Readme by @khajavi in https://github.com/zio/zio-http/pull/2949
- Update README.md by @zio-assistant in https://github.com/zio/zio-http/pull/2950
- Fix application shutdown issue when `Server#install` is not called by @kyri-petrou in https://github.com/zio/zio-http/pull/2966
- Streaming response body content type by @eyalfa in https://github.com/zio/zio-http/pull/2967
- Multi-value segments for PathCodecs by @987Nabil in https://github.com/zio/zio-http/pull/2959
- + 63 more
โจ New Contributors
- @zio-assistant made their first contribution in https://github.com/zio/zio-http/pull/2950
- @pawelsadlo made their first contribution in https://github.com/zio/zio-http/pull/2996
- @geeeezmo made their first contribution in https://github.com/zio/zio-http/pull/3027
- @kdelija made their first contribution in https://github.com/zio/zio-http/pull/3059
- @Ahmadkhan02 made their first contribution in https://github.com/zio/zio-http/pull/3003
- Full Changelog: https://github.com/zio/zio-http/compare/v3.0.0-RC9...v3.0.0-RC10
๐ What's Changed
- Add line breaks in key features section by @gbarrett-makeit in https://github.com/zio/zio-http/pull/2874
- Fix serving of static files over SSL by @kyri-petrou in https://github.com/zio/zio-http/pull/2879
- Implement dynamic resizing of `StreamingForm.Buffer` by @kyri-petrou in https://github.com/zio/zio-http/pull/2882
- Don't share the Scope in `ContentTypeSpec` by @kyri-petrou in https://github.com/zio/zio-http/pull/2886
- Docs/improve readme by @syedbarimanjan in https://github.com/zio/zio-http/pull/2880
- Add a resourcePrefix for Middleware.serveResources by @sullivan- in https://github.com/zio/zio-http/pull/2887
- Some tiny doc fixes. by @sullivan- in https://github.com/zio/zio-http/pull/2884
- Remove invalid `HttpApp` references by @mijicd in https://github.com/zio/zio-http/pull/2881
- + 39 more
โจ New Contributors
- @gbarrett-makeit made their first contribution in https://github.com/zio/zio-http/pull/2874
- @syedbarimanjan made their first contribution in https://github.com/zio/zio-http/pull/2880
- @sullivan- made their first contribution in https://github.com/zio/zio-http/pull/2887
- @mijicd made their first contribution in https://github.com/zio/zio-http/pull/2881
- @seakayone made their first contribution in https://github.com/zio/zio-http/pull/2862
- @masonedmison made their first contribution in https://github.com/zio/zio-http/pull/2872
- Full Changelog: https://github.com/zio/zio-http/compare/v3.0.0-RC8...v3.0.0-RC9
๐ What's Changed
- Fix response compression for static files by @kyri-petrou in https://github.com/zio/zio-http/pull/2856
- Update README.md by @github-actions in https://github.com/zio/zio-http/pull/2858
- Avoid unsafely running effects when handling WS requests by @kyri-petrou in https://github.com/zio/zio-http/pull/2852
- Update dependencies and fix warnings by @kyri-petrou in https://github.com/zio/zio-http/pull/2853
- Fix client proxy closing connection prematurely by @kyri-petrou in https://github.com/zio/zio-http/pull/2861
- Fix connection pooled client timeouts by @kyri-petrou in https://github.com/zio/zio-http/pull/2860
- Documentation of Key Features of ZIO HTTP by @khajavi in https://github.com/zio/zio-http/pull/2825
- remove unused parameter by @mberndt123 in https://github.com/zio/zio-http/pull/2849
- + 7 more
๐ What's Changed
- Documentation of Client by @khajavi in https://github.com/zio/zio-http/pull/2723
- Update path regex to support RFC1738 safe chars and properly escape forward slash by @russwyte in https://github.com/zio/zio-http/pull/2762
- add `Config` instance for `URL` by @mberndt123 in https://github.com/zio/zio-http/pull/2772
- Update slf4j-api, slf4j-simple to 2.0.13 by @scala-steward in https://github.com/zio/zio-http/pull/2770
- Update zio, zio-streams, zio-test, ... to 2.0.22 by @scala-steward in https://github.com/zio/zio-http/pull/2768
- Mark `application/json` as NotBinary (#2752) by @guersam in https://github.com/zio/zio-http/pull/2764
- Documentation of Middleware and HandlerAspect by @khajavi in https://github.com/zio/zio-http/pull/2757
- Update scalafmt-core, scalafmt-dynamic to 3.8.1 by @scala-steward in https://github.com/zio/zio-http/pull/2754
- + 48 more
โจ New Contributors
- @russwyte made their first contribution in https://github.com/zio/zio-http/pull/2762
- @mberndt123 made their first contribution in https://github.com/zio/zio-http/pull/2772
- @eyalfa made their first contribution in https://github.com/zio/zio-http/pull/2765
- @github-actions made their first contribution in https://github.com/zio/zio-http/pull/2744
- @WesselVS made their first contribution in https://github.com/zio/zio-http/pull/2783
- @YassineMEJRI made their first contribution in https://github.com/zio/zio-http/pull/2788
- @lachezar made their first contribution in https://github.com/zio/zio-http/pull/2787
- @daveads made their first contribution in https://github.com/zio/zio-http/pull/2806
- + 3 more
