github AVSystem/scala-commons v1.32.0

latest releases: v2.15.0, v2.14.0, v2.13.3...
5 years ago

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

Don't miss a new scala-commons release

NewReleases is sending notifications on new releases.