Skip to content

v1.32.0

Compare
Choose a tag to compare
@ghik ghik released this 01 Oct 14:24
· 1847 commits to master since this release

Changes in RPC/ADT macro engines:

  • @reifyEncodedAnnot removed, allowed @composite parameters to be @optional instead
  • introduced @reifyDefaultValue for reifying Scala-level default values of case class fields
  • introduced overloadedOnly flag for @rpcNamePrefix which causes it to be used only for overloads of RPC methods
  • introduced ImplicitNotFound typeclass for customizing implicit-not-found compilation errors for arbitrary types

REST framework:

  • support for headers in HTTP responses (requires custom serialization to RestResponse)
  • automatic handling of HEAD and OPTIONS requests
  • operationId in generated Operation objects now defaults to RPC methods plain name, without the HTTP method prefix (e.g. soSomething instead of post_doSomething) unless the method is overloaded.
  • nicer compilation error messages for various missing REST-related implicits
  • @operationIdPrefix annotation for prefix methods
  • operation adjusters can now be specified for prefix methods - will apply to all operations under a prefix method
  • introduced new type of adjuster: PathItemAdjuster for adjusting OpenAPI PathItem objects
  • introduced new adjuster annotations: @operationId, @nullable, @tags, @bodyDescription, @responseDescription, @pathDescription, @summary, @pathSummary, @title, @schemaDescription
  • configurable async context timeout and buffer size for Jetty-based client & server
  • OpenAPI generation now accepts predefined Components
  • various minor fixes and improvements

GenCodec:

  • compilation errors raised for missing dependencies are positioned on case class parameters which cause these errors
  • GenCodec.Auto removed