Monix’s Newtypes

Build Maven Central

Macro-free helpers for defining newtypes in Scala, cross-compiled to Scala 3.


The packages are published on Maven Central.

libraryDependencies += "io.monix" %% "newtypes-core" % "0.2.3"

For the Circe integration:

// For Circe version 0.14.x
libraryDependencies += "io.monix" %% "newtypes-circe-v0-14" % "0.2.3"

For the PureConfig integration:

// For PureConfig version 0.17.x
libraryDependencies += "io.monix" %% "newtypes-pureconfig-v0-17" % "0.2.3"

NOTE: the version scheme is set to early-semver.



Encoding was shamelessly copied from the scala-newtype project by Cary Robbins et al.


This project welcomes contributions from anybody wishing to participate. All code or documentation that is provided must be licensed with the same license that Newtypes is licensed with (Apache 2.0, see LICENCE).

People are expected to follow the Scala Code of Conduct when discussing Newtypes on GitHub, Gitter channel, or other venues.

Feel free to open an issue if you notice a bug, have an idea for a feature, or have a question about the code. Pull requests are also gladly accepted. For more information, check out the contributor guide.


All code in this repository is licensed under the Apache License, Version 2.0. See LICENCE.