The new property tycho.localArtifacts allows to control whether artifacts installed in the local Maven repository by previous Tycho builds should be considered by the resolver or not. The property can be specified on the command line and in the settings.xml:

If unset (or set to default), the behaviour is unchanged (local metadata is considered by the resolver, and there is a warning if locally built units were used)

If set to ignore, locally built artifact are ignored

(INCOMPATIBLE CHANGE) The build now fails if one of the children of a composite p2 repository can't be loaded, e.g. because of a temporary network failure. Before, the build would have continued and may have passed, potentially producing a different build result.

Note that a composite p2 repository may still enforce the old behaviour by setting the repository property p2.atomic.composite.loading to false. Using these non-atomic composite p2 repositories in a production build is discouraged because they suffer from p2 bug 356561, which is threatening build reproducibility.

Test Execution

Support for parallel test execution with JUnit >= 4.7 has been added.If you use Junit >= 4.7, you can now have test classes or methods executed by several threads in parallel by adding -Dparallel=classes|methods|both on the commandline or by configuring

Executing tests in parallel can be useful e.g. if you have long-running integration tests which are not CPU-bound. Under the hood, this feature was enabled by porting the junit4.7 surefire provider to Tycho.

Support for test frameworks is extensible now. This means you can add support for test frameworks other than JUnit if you provide an implementation of TestFrameworkProvider.

Packaging

The tycho-p2-director-plugin can now create product installations which have meta-requirements on the installer. This for example allows to execute custom touchpoint actions during the installation. See the integration test for an example.

Other

If several tycho versions were inadvertently mixed within the same reactor, this could lead to cryptic errors like ClassCastExceptions. This situation is now detected early and the build will fail with a clear error message.