What's Changed
- fix: use @casename annotations for openapi enums by @runtologist in #2544
- feat: Allow dynamic schema in openapi by @runtologist in #2543
- Error handling methods on
Route
/Routes
that can accessRequest
by @987Nabil in #2546 - Support URL relative resolution, and use it in a ZClientAspect to follow redirects by @jgulotta in #2537
- Limit Scheme.Custom construction to calling decode by @987Nabil in #2533
- #2541 Fix bug where the OpenAPI generator fails to generate multiple methods for the same path. by @daharon in #2542
- Implement Routes#apply by @adamgfraser in #2550
- Add docs for serving static files by @zalbia in #2554
- Implement Routes#run and Route#run by @adamgfraser in #2552
- Middleware for adding swagger ui endpoint (#2494) by @987Nabil in #2556
- Don't flatten nested case classes for JsonSchema by @987Nabil in #2558
- Add transform methods on
Endpoint
, for input, output and errors by @987Nabil in #2551 - sourcing maxInitialLineLength through the config and propagating it to netty's configuration by @hdriviere in #2561
- Add prefix method to
Route
/Routes
by @987Nabil in #2547 - OpenAPI to Endpoint code gen (#1520) by @987Nabil in #2562
- Update scala versions by @vigoo in #2530
- chore: support mtls settings by @rajcspsg in #2443
- Add Flash, Flash.Message and Flash.Backend by @TomTriple in #2481
- Allow HandlerAspect.customAuthProvidingZIO To Fail With User Specified Response by @adamgfraser in #2493
- CodeGenSpec is flaky by @vigoo in #2564
- Add description and client code to websocket example (#1418) by @987Nabil in #2567
- add mapError and mapErrorZIO to Routes and Route by @yisraelU in #2568
- add methods to update the body of a request by @yisraelU in #2571
- feat: OpenAPI allow non-nominal cases in enum by @runtologist in #2578
- Allow creating a body from
Array[Byte]
by @kyri-petrou in #2581 - Content-Length, chunked transfer encoding and Host header improvements by @vigoo in #2563
- Add missing method to ArrayBody by @vigoo in #2585
- Optimize RichTextCodec by @kyri-petrou in #2597
- Schema based ops for en- and decoding bodies by @987Nabil in #2569
- Add missing default http headers (#2557) by @987Nabil in #2595
- Use
zio.Config.Secret
instead ofString
to avoid leaks (#2508) by @987Nabil in #2593 - Handle defects in handled routes (#2580) by @987Nabil in #2596
- Fix hanging on stream response errors by @kyri-petrou in #2599
- Only Handlers with Request input can have HandlerAspects applied (#2527) by @987Nabil in #2600
- Update testkit to use common DSL (#2559) by @987Nabil in #2601
- Implement QueryParam ordering by @easel in #2591
- feat: htmx attributes by @neo773 in #2589
- Update zio-schema, zio-schema-json, ... to 0.4.17 by @scala-steward in #2613
- Reproducer and fix for multipart/form-data bug by @vigoo in #2468
- Fix Client hanging on unexpected Channel closures by @kyri-petrou in #2610
- Speedup test suite execution by @kyri-petrou in #2624
- Update sbt to 1.9.8 by @scala-steward in #2615
- Update slf4j-api, slf4j-simple to 2.0.11 by @scala-steward in #2616
- Update zio, zio-streams, zio-test, ... to 2.0.21 by @scala-steward in #2612
- Update sbt-github-actions to 0.22.0 by @scala-steward in #2611
- Fixed #2373: don't propagate ReadTimeoutExceptions by @ekhov in #2619
- Initial scala.js setup by @987Nabil in #2630
- Fallback to smaller priority Accept headers by @kyri-petrou in #2636
- chore: update project plugins by @ezhil56x in #2618
- Remove inactive contributor amitksingh1490 from CODEOWNERS by @987Nabil in #2642
- Fix #2622: don't remove 'val' from case classes' parameters with names containing 'val' in them by @ekhov in #2634
- Micro-optimizations and improved
IOException
error handling by @kyri-petrou in #2638 - Fix OpenAPI example extraction by @987Nabil in #2635
- OpenAPI code gen collections fix (#2620) by @987Nabil in #2643
- Avoid unnecessary parsing of
content-type
header inServerInboundHandler
by @kyri-petrou in #2644 - Intoroduce query parameters with multiple values to Endpoint API by @ekhov in #2631
- Try to read oneOf, before handling empty schema type as Object (#2623) by @987Nabil in #2657
- Update Examples by @khajavi in #2656
- Rename
Handler.response
toHandler.fromResponse
by @khajavi in #2664 - Add finalizer for Netty channels created via
NettyConnectionPool
by @kyri-petrou in #2663 - Only write non default values to OpenAPI Json (#2549) by @987Nabil in #2661
- HttpContentCodec - Customizable encoding for Endpoint API by @987Nabil in #2655
- Simplify style attributes by @johnspade in #2675
- Improve performance & memory usage of
asMultipartFormStream
by @kyri-petrou in #2674 - QueryOps by @987Nabil in #2671
- OpenAPI: Don't generate request body, if it would be the null schema by @987Nabil in #2672
- Flaky JS Test by @987Nabil in #2670
- changed test site from google.com to example.com by @urbit-pilled in #2669
- Update slf4j-api, slf4j-simple to 2.0.12 by @scala-steward in #2665
- Snippet Utils: Handle Exceptions When Running Docs Commands on The Root Project by @khajavi in #2687
- Remove README Check on Build Phase by @khajavi in #2688
- Skip Publishing Jar Files for Documentation Project by @khajavi in #2690
- Enable Live Reload Docs by @khajavi in #2686
- Handler Documentation by @khajavi in #2689
- Request Documentation by @khajavi in #2692
- Response Documentation by @khajavi in #2696
- Documentation of Body Data Type by @khajavi in #2703
- fix: CodeGen should render UUID primitive type by @runtologist in #2709
- Documentation of Form and FormField by @khajavi in #2710
- feature: added Server Logging by @guptadeepak8 in #2649
- Documentation of Headers by @khajavi in #2711
- Documentation of Cookies by @khajavi in #2712
- feat: load scalaFmt only once by @runtologist in #2717
- Documentation of Routes, RoutePattern and PathCodec by @khajavi in #2720
- Documentation of Flash Messages by @khajavi in #2719
- feat: Proper imports for generated openapi code by @runtologist in #2718
- OpenAPI: Don't generate request body, if it would be the Annotated null schema by by @Petter-K in #2743
- Bump zio-schema to 1.0.1 and remove snapshot resolver by @guersam in #2730
- Update Path for Request Data Type by @khajavi in #2758
- Fix usage of
Accept */*
headers in endpoint API (#2699) by @987Nabil in #2760 - Update zio-schema to 1.1.0 by @987Nabil in #2761
- Documentation of ProtocolStack by @khajavi in #2756
- fix: added jsonplaceholder link by @guptadeepak8 in #2667
- Fix :Add raw in Html object by @guptadeepak8 in #2668
- Document HandlerAspect in middleware.md by @SmedbergM in #2729
- Documentation of Server Configuration by @khajavi in #2731
- chore: cache jmh benchmarks by @alankritdabral in #2750
- Update zio-sbt-website to 0.4.0-alpha.25 by @scala-steward in #2733
New Contributors
- @jgulotta made their first contribution in #2537
- @daharon made their first contribution in #2542
- @zalbia made their first contribution in #2554
- @hdriviere made their first contribution in #2561
- @kyri-petrou made their first contribution in #2581
- @easel made their first contribution in #2591
- @neo773 made their first contribution in #2589
- @ekhov made their first contribution in #2619
- @ezhil56x made their first contribution in #2618
- @johnspade made their first contribution in #2675
- @urbit-pilled made their first contribution in #2669
- @guptadeepak8 made their first contribution in #2649
- @Petter-K made their first contribution in #2743
- @SmedbergM made their first contribution in #2729
- @alankritdabral made their first contribution in #2750
Full Changelog: v3.0.0-RC4...v3.0.0-RC6