Macro paradise 2.1.0-final

Eugene Burmako
19.11.2015

After a mostly uneventful one and a half years of bug fixing in the 2.0 series, today we release macro paradise 2.1.0 that accumulates multiple stability and tool compatibility improvements. I am very happy that the compiler plugin that was created as a result of an extended hackathon has scaled beyond a mere hack - successfully passing the test of two years in production and clocking 10k+ downloads per month.

Upcoming features in 2.x

The 2.x series is going to be solely about bug fixes, and the most important issues that we would like to eventually address involve Scala IDE support (#61 and #73). Another problem that often comes up is auto-detection of the missing macro paradise plugin (#13). If you would like to help with these issues, please let us know on gitter.

c.typecheck

Support for c.typecheck in macro annotations remains an unsolved mystery (#75). Introduced to make macro annotations as powerful as possible, c.typecheck has proven to be a tricky beast to tackle. Under certain circumstances / in certain lexical contexts / depending on the phase of the moon, c.typecheck can return incorrect results or outright crash the typer.

We've been trying to unravel this mystery for a long time, but I think that it's time to call it quits. With a heavy heart, I've labelled the corresponding issue (#75) as "wontfix" for the 2.x series. We will revisit this design challenge in the upcoming refresh of the macro system based on scala.meta, and in the meanwhile support for c.typecheck will remain in exactly the same that as it was originally released in 2.0.0-SNAPSHOT.

Migration notes

If you were using any stable release of macro paradise between 2.0.0 and 2.1.0-M5, migration should be as easy as changing the version number in your build. If you were on a pre-release version of 2.0.0 (sonatype tells me that you exist, guys), consult the migration notes for 2.0.0.