Bot releases are visible (Hide)
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
0.19.2 wasn't published due to problems with the release process.
Published by github-actions[bot] almost 3 years ago
0.20.0-M1 wasn't published due to problems with the release process.
Option[Part[T]]
, instead of an Part[Option[T]]
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
This release focus on security improvements, most notably extending Endpoint
with an additional type parameter A
for security inputs. In case security endpoints are defined, the security logic has to be provided first, followed by the server logic. Moreover, error outputs can be extended for partial endpoints by adding new error output variants.
More information on the change:
oneOf
outputs, which now allow arbitrary outputs, without the need to provide a status code.errorOutVariant
for extending error outputs with new variantsDecodeFailureHandler
is usedEndpoint
type with PublicEndpoint
ServerEndpoint[I, E, O, R, F]
with ServerEndpoint[R, F]
(e.g. ServerEndpointp[Any, Future]
), or with ServerEndpoint.Full[Unit, Unit, I, E, O, R, F]
if you need to preserve the types of inputs/outputs.serverLogic
variants. For example, AkkaHttpServerInterpreter().toRoute(helloWorld)(name => Future.successful(Right(s"Hello, $name!")))
should be replaced with AkkaHttpServerInterpreter().toRoute(helloWorld.serverLogicSuccess(name => Future.successful(s"Hello, $name!")))
.This should make the code compile using the new version. The next step would be to move security-related inputs from .in
to .securityIn
when defining the endpoint, and taking advantage of the security improvements (e.g. separate security and server logic).
ServerEndpoint
s. Replace .toRoute(endpoint)(logic)
with .toRoute(endpoint.serverLogic(logic))
serverLogicInfallible
is renamed to serverLogicSuccess
ServerLog
implementations has an extended interface - the whole request is now available[Interpreter]ServerOptions.customInterceptors(...)
should be replaced with .customInterceptors.[builderMethods]().options
ZEndpoint
is removed, ZServerEndpoint
is extended with capabilities405
is returned if multiple endpoints are being interpreted as a server, the request matches the path of some endpoint but not the methodoneOfMapping
is renamed to oneOfVariant
The current plan is to have two more cycles before a stable release: 0.20 and then 1.0, both with a milestone/RC phase.
A stable 1.0 release will mean that core
should not change until the next version in a binary-incompatible way - we have MiMA for that already set up. Other integration modules won't have this requirement as they depend on the integrations, so it would be hard to make any promises.
Hence - vote for the issues that you'd like fixed/implemented first and foremost, and let us know if you'd see any needs for breaking changes in core
!
addSegment
instead of addPath
for http4s (#1621) @yuriquePublished by github-actions[bot] almost 3 years ago
oneOfMapping
is renamed to oneOfVariant
(mostly with deprecations)Published by github-actions[bot] almost 3 years ago
This release brings some security improvements, most notably extending Endpoint
with an additional type parameter A
for security inputs.
More information on the change:
Migrating from previous versions:
Endpoint
type with PublicEndpoint
ServerEndpoint[I, E, O, R, F]
with ServerEndpoint[R, F]
(e.g. ServerEndpointp[Any, Future]
), or with ServerEndpoint.Full[Unit, Unit, I, E, O, R, F]
if you need to preserve the types of inputs/outputs.serverLogic
variants. For example, AkkaHttpServerInterpreter().toRoute(helloWorld)(name => Future.successful(Right(s"Hello, $name!")))
should be replaced with AkkaHttpServerInterpreter().toRoute(helloWorld.serverLogicSuccess(name => Future.successful(s"Hello, $name!")))
.This should make the code compile using the new version. The next step would be to move security-related inputs from .in
to .securityIn
when defining the endpoint, and taking advantage of the security improvements (e.g. separate security and server logic).
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
[Interpreter]ServerOptions.customInterceptors(...)
should be replaced with .customInterceptors.[builderMethods]().options
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] about 3 years ago