Skip to content

Latest commit

 

History

History
117 lines (79 loc) · 4.27 KB

CHANGELOG.md

File metadata and controls

117 lines (79 loc) · 4.27 KB

Changelog

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.

unreleased

0.5.0-M3

dependency upgrades

0.5.0-M2

dependency upgrades

For cats-effect 3 compatible modules:

  • tapir 0.19.0-M8 — with the downstream break in source compat due to tapir.
  • http4s 0.23.3

For cats-effect 2 compatible modules:

  • tapir 0.18.3 — with the downstream break in source compat due to tapir.
  • http4s 0.22.4

0.5.0-M1

⚠️ breaking changes :warning

remodularize everything

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 define Endpoints, sans dependency on http4s
  • "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 transform tapir endpoints into http4s routes
  • "com.busymachines" %% "pureharm-server-http4s"
    • depends on http4s-blaze-server, contains helpers to run the server and bind ports, etc.

source changes

  • remove PureharmHttp4sCirceInstances.pureharmHttps4sEntityJsonDecoder, and drop dependency on http4s-circe because it was essentially unused.
  • remove Http4sRoutes, RestDefs from PureharmRouteTypeAliases (formerly PureharmRestHttp4sTypeAliases), see deprecations section

deprecations

  • deprecate PureharmRestHttp4sTypeAliases in favor of PureharmRouteTypeAliases
  • deprecate RestDefs in favor of Http4sRoutes, they are source compatible.

new features

  • add PureharmRouteAllImplicits trait to pureharm-route-http4s-tapir
  • add fromEnpoint helper function in RestDefs
  • add PureharmEndpointAllTypeAliases, PureharmEndpointAllImplicits mixin traits to pureharm-endpoint-tapir

internals

  • 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

0.4.0

dependency upgrades

0.3.0

dependency upgrades

0.2.0

  • add implicit resolution for tapir PlainCodecs for Sprout, and SproutRefinedThrow types. previously these have been removed because compilation was exponentially bad, and inference bad as well. Turns out, the trick was to put the NewType 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 other PlainCodec 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 to 0.1.1

0.1.0

Split out from pureharm as of version 0.0.7.

dependency upgrades

  • upgrade tapir to 0.17.19
  • upgrade to pureharm 0.1.0 series + drop phantom type support.