Vespa 8 Migration Guide

Vespa 8 is now available on Vespa Cloud and the default for all new deployments. Applications control when they start using the new major version (see below), and must switch to Vespa 8 before 2022-09-22. There will be no further releases of Vespa 7 barring critical security fixes. This document lists changes between Vespa 7 and 8 that are specific for Vespa Cloud, as well as the steps needed to start using it. You should also read the Vespa 8 release notes.

Procedure to move an application to Vespa 8

Changes in deployment.xml

Changed syntax for global endpoints

The global-service-id attribute in the <prod> element has been removed, along with the active attribute in the <region> element. Instead, global endpoints are now configured with the new <endpoints> element. See the Migration guide for details.

Changes in build environment

JDK 17 and Maven 3.6+ are required

For applications with Java components, the build requirements are determined by the version of the cloud-tenant-base parent POM. With an open version range like [7, 999), a parent with major version 8 will be used when building the application; to temporarily retain the Vespa 7 build requirements, we recommend using the version range [7, 8).

Dev deployments

Deployments to dev and perf default to Vespa 8. To stay on Vespa 7, specify a version when deploying through the Vespa Cloud UI, or use vespa deploy --version <some 7 version> with Vespa CLI.

If your application has Java components, instead use mvn package -Dvespa.compile.version=7.594.36 when building—this will ensure a runtime with that version. Alternatively, restrict the parent version range as above; the default Vespa compile version is that of the parent.