All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- tapir
0.19.0-M9
For cats-effect 3 compatible modules:
For cats-effect 2 compatible modules:
Mostly source compatible, depending on all modules should allow you to use the library as before.
"com.busymachines" %% "pureharm-endpoint-tapir"
- now contains everything
tapir
related needed to defineEndpoint
s, sans dependency onhttp4s
- now contains everything
"com.busymachines" %% "pureharm-endpoint-docs-tapir"
- contains a simple helper method to print out YAML representation of OpenAPI
"com.busymachines" %% "pureharm-route-http4s-tapir"
- contains everything
http4s
related, and required to transformtapir
endpoints intohttp4s
routes
- contains everything
"com.busymachines" %% "pureharm-server-http4s"
- depends on
http4s-blaze-server
, contains helpers to run the server and bind ports, etc.
- depends on
- remove
PureharmHttp4sCirceInstances.pureharmHttps4sEntityJsonDecoder
, and drop dependency onhttp4s-circe
because it was essentially unused. - remove
Http4sRoutes
,RestDefs
fromPureharmRouteTypeAliases
(formerlyPureharmRestHttp4sTypeAliases
), see deprecations section
- deprecate
PureharmRestHttp4sTypeAliases
in favor ofPureharmRouteTypeAliases
- deprecate
RestDefs
in favor ofHttp4sRoutes
, they are source compatible.
- add
PureharmRouteAllImplicits
trait topureharm-route-http4s-tapir
- add
fromEnpoint
helper function inRestDefs
- add
PureharmEndpointAllTypeAliases
,PureharmEndpointAllImplicits
mixin traits topureharm-endpoint-tapir
- bump scalafmt to
3.0.1
- bump sbt to
1.5.5
- bump sbt-spiewak to
0.22.0
- bump sbt-scalafmt to
2.4.3
- bump sbt-scalajs-crossproject to
1.1.0
- bump sbt-scalajs to
1.7.0
- pureharm-testkit
0.3.0
- pureharm-effects-cats
0.4.0
- http4s
0.21.21
- pureharm-core-anomaly
0.2.0
- pureharm-core-sprout
0.2.0
- pureharm-effects-cats
0.2.0
- pureharm-json-circe
0.2.0
- pureharm-testkit
0.2.0
-
add implicit resolution for tapir
PlainCodec
s forSprout
, andSproutRefinedThrow
types. previously these have been removed because compilation was exponentially bad, and inference bad as well. Turns out, the trick was to put theNewType
instance first in the implicit parameter list, not second to greatly improve type inference. Which makes sense, there is only one such instance, while there could be many otherPlainCodec
ones.implicit def pureharmSproutTypeGenericPlainCodec[Old, New](implicit p: NewType[Old, New], // here c: tapir.Codec.PlainCodec[Old], //not here ): tapir.Codec.PlainCodec[New] = c.map[New](p.newType _)(p.oldType)
Version upgrades:
- bump
pureharm-json-circe
to0.1.1
Split out from pureharm as of version 0.0.7
.
- upgrade tapir to
0.17.19
- upgrade to pureharm
0.1.0
series + drop phantom type support.