Lagom 1.3 Migration Guide

§Lagom 1.3 Migration Guide

This guide explains how to migrate from Lagom 1.2 to Lagom 1.3.

§Build changes

§Maven

If you’re using a lagom.version property in the properties section of your root pom.xml, then simply update that to 1.3.2. Otherwise, you’ll need to go through every place that a Lagom dependency, including plugins, is used, and set the version there.

§sbt

It is not required, but is recommended, that you upgrade to sbt 0.13.13. To upgrade an existing project to sbt 0.13.13, open project/build.properties, and edit the sbt version to be 0.13.13, for example:

sbt.version=0.13.13

When creating new projects, the use of Activator is now deprecated. Instead, you should use sbt 0.13.13’s new support. This requires upgrading your sbt launcher to 0.13.13. This can be done by downloading and installing it from the sbt website.

Once you have upgraded sbt, you then need to upgrade Lagom. This can be done by editing the Lagom plugin version in project/plugins.sbt, for example:

addSbtPlugin("com.lightbend.lagom" % "sbt-plugin" % "1.3.2")

If using ConductR with sbt, you should upgrade the ConductR sbt plugin to at least 2.3.4.

In addition, when importing external Lagom projects into the Lagom development environment, lagomExternalProject is now deprecated, and should be replaced with lagomExternalJavadslProject or lagomExternalScaladslProject.

§Service Info

It is now compulsory for Play applications to provide a ServiceInfo programmatically to run in the development environment. If you were providing lagom.play.service-name and lagom.play.acls via application.conf in your Play application, the development mode’s runAll will still work, but this is now deprecated. If your Play app does not currently include a Guice module, you should add one and use the new bindServiceInfo method to configure the service name and ACLs that you wish to expose to the service gateway. The suggested location is <play_app_folder>/app/Module.java so that Guice will find it automatically.

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.