API Changes and Migration Hints

Details of API changes in 3.0 compared to the previous release 2.3.1 are available in the Clirr API change report linked from the JGit download page.

Internal storage API moved to internal packages

Applications are not supposed to build against the internal storage API unless they can accept API churn and make necessary updates as versions change.

In order to construct specific Repository instances use the respective builder classes:

WindowCache reconfiguration

Instead of

WindowCacheConfig c = new WindowCacheConfig();
... set new configuration params ...
WindowCache.reconfigure(c);

use

WindowCacheConfig c = new WindowCacheConfig();
... set new configuration params ...
WIndowCacheConfig.install()

FollowFilter requires DiffConfig

Creation of a FollowFilter now needs an explicit DiffConfig, this was necessary to fix an NPE (see https://git.eclipse.org/r/#/c/12499)

public static FollowFilter create(String path, DiffConfig cfg)

Reflog interfaces moved

The interfaces ReflogReader and ReflogEntry exposed by ReflogCommand and Repository were moved to package org.eclipse.jgit.lib.