Features
- Built-in EGit integration for LFS
- Register builtin LFS on startup. When EGit starts and the lfs bundle (org.eclipse.jgit.lfs) is available register the LFS implementation and check configuration.
- Allow install (enablement) of LFS support in Preferences (global) and on the repository (local).
- Apply smudge/clean filters where applicable and required.
- LFS integration using built-in JGit lfs filters fully works when using Gerrit with lfs plugin using ssh protocol.
- Authentication when transporting lfs objects over http still missing, this is tracked in JGit bug 535814
- 534604 Enable resource selection for launch variables
- 533344 Allow cherry-picking a Gerrit change
- 531953 Allow cherry-picking merge commits
- 529255 Github API: Support diff/patch generation via the Github API
Usability Improvements
- Add tracing of low-level JSch log messages
- Natural sort for refs in FetchResultTable
- Allow shortcuts for Gitflow commands
- 534404 Suggest complete repository path in NewRepositoryWizard
- 529449 Natural sort for tags in CreateTagDialog
- 478159 Show affected projects when deleting repository
- 510132 Add support for the "*" as wildcard character in the staging view filter
- 511628 Select repositories via double-click in RepositorySearchDialog
- 533019 Update staging view on repository config changes
- 532458 Remove some margins in staging view
Performance Improvements
- 535516 Use hash lookup for TreeViewers
- Ignore IndexChangedEvent if it originates from the same JGit process
- 500106 Improve asynchronous Eclipse workspace refreshes done by EGit
- Speed up the RepositoriesViewContentProvider
- Use PathFilterGroup instead of PathFilter if possible. TreeWalks looking for a single path can use PathFilterGroup instead of PathFilter. This should be a little bit faster.
- In EGit use mmap to map git packfiles into memory. Avoids allocating JGit buffer cache on the Java heap.
Bug Fixes
- 529141 Fix AssumeUnchangedOperation not working on directory/project
- 525769 Don't try to store incomplete credentials in secure store
- 470452 Improve check for uncommitted changes before cherry-pick
- 520693 Respect gitattributes in the compare editor
- 533230 Fix Repositories view blocking Eclipse on startup
- 533198 improve branch name validation performance which was bad for big repositories
- 533477 Fix substring matches in filter in branch selection dialogs
- 358206 Handle Gerrit Change-Ids for merge commits
- 533336 Keep Gerrit Change-Id for conflicting cherry-pick
- 531171 Remove problem characters from task related branch name suggestion
- 533019 Fix invalid thread access in staging view when config changes
- 525769 Don't try to store incomplete credentials in secure store
- 534440 Github API: Fix Repository.getWatchers(); add Repository.getStars()
Removal of deprecated methods
- Remove deprecated UIUtils#applyHyperlinkDetectorStyleRanges and #getHyperlinkDetectorStyleRanges.
- Remove deprecated InitOperation constructor
Use InitOperation#InitOperation(Repository, InitParameters) instead. - Remove deprecated GitFlowOperation#fetch(IProgressMonitor)
Use GitFlowOperation#fetch(IProgressMonitor, int) instead. - Remove deprecated FeatureTrackOperation constructor
Use FeatureTrackOperation#FeatureTrackOperation(GitFlowRepository, Ref, int) instead. - Remove deprecated GitSynchronizeData#getSrcRemoteName
- Remove deprecated GitSynchronizeData#getSrcMerge
- Remove deprecated RepositoryMapping#getSubmoduleRepository
Use #getMapping(IResource) and then #getRepository()} on the returned mapping instead; it will return a submodule repository if the resource is in one. - Remove deprecated RemoveFromIndexOperation(Repository, IResource[])
Use #RemoveFromIndexOperation(Collection) instead. - Remove deprecated IgnoreOperation#IgnoreOperation(IResource[])
Use #IgnoreOperation(Collection) instead. - Github API: Remove deprecated WatcherService
Use StargazerService instead. - Github API: Remove deprecated User#getGravatarId and #setGravatarId
- Github API: Remove deprecated Repository#getMasterBranch and #setMasterBranch
- Github API: Remove deprecated Gist#setUser and #getUser methods
Build and Release Engineering