Eclipse Handly™ 0.4
Primary tabs
Release Date:
Wednesday, December 9, 2015
Deliverables:
This release will be delivered via a P2 repository.
Compatibility:
This release is heavily focused on API quality and takes a significant step towards finalizing core Handly APIs, a goal we plan to accomplish within the 0.5 time frame (Eclipse Neon). Due to the API rework involved, this release introduces a number of breaking changes and is expected to be much more disruptive than previous releases. See the Breaking Changes list below.
Target Environments:
This release requires at least Eclipse Juno (3.8) and is compatible with Eclipse Mars (4.5). Handly Xtext Integration supports Xtext 2.8 and 2.9. Handly requires Java 6 or later and has no operating system specific dependencies.
Milestones:
Name | Date | Description |
---|---|---|
M4 | 2015/10/30 | An attempt at API freeze towards the 0.4 release |
Final | 2015/12/11 |
Themes:
API Quality
Quite simply, the most important theme for this release.
- Introduce model adaptation API [472841]
(target milestone: 0.4) - Change the type of IHandleDelta#getFlags() from int to long [472900]
(target milestone: 0.4) - Consider using Iterable or List instead of arrays in API method return types [472914]
(target milestone: 0.4) - Make reconciling API more flexible [473417]
(target milestone: 0.4) - Revise ISourceElement#getElementAt contract [473509]
(target milestone: 0.4) - Rename ISourceFile#openBuffer(boolean, IProgressMonitor) to getBuffer [473799]
(target milestone: 0.4) - Consider Java 8 impact on Handly API design [474001]
(target milestone: 0.4) - Find a better name for IElementForEditorInputFactory [474217]
(target milestone: 0.4) - Overhaul handle's toString facility [475446]
(target milestone: 0.4) - Remove ISourceFileFactory [475573]
(target milestone: 0.4) - Make working copy API more flexible [475862]
(target milestone: 0.4) - SourceFile#createStructuralAst should take a progress monitor [475869]
(target milestone: 0.4) - Enable progress reporting when building structure of elements [475926]
(target milestone: 0.4) - Introduce forceAdd parameter into Handle#openWhenClosed [475929]
(target milestone: 0.4) - Introduce a buffer for 'non-primary working copy' [476031]
(target milestone: 0.4) - Buffers overhaul [476444]
(target milestone: 0.4) - Deprecate ISourceFile#openBuffer(IProgressMonitor) [476558]
(target milestone: 0.4) - Document thread safety guarantees of handles [476563]
(target milestone: 0.4) - SourceFileDocumentProvider overhaul [476617]
(target milestone: 0.4) - Introduce IBodyCache#putAll method [477157]
(target milestone: 0.4) - StructureHelper overhaul [479027]
(target milestone: 0.4) - Improve cancellation support in SourceElementLinkingHelper [479827]
(target milestone: 0.4) - Working copy enhancements [480397]
(target milestone: 0.4) - Allow ISourceFile#getFile() to return null [480766]
(target milestone: 0.4) - HandleDelta overhaul [480945]
(target milestone: 0.4)
Model Adaptation Facility
With model adaptation support, Handly can provide the benefits of a uniform handle-based API even for well-established models.
Breaking Changes
Not actually a theme, but a handy list of bugzillas with breaking changes in this release. In general, we try to preserve compatibility, but it's not always possible or even desirable (given the 0.x version).
- Change the type of IHandleDelta#getFlags() from int to long [472900]
(target milestone: 0.4) - Make reconciling API more flexible [473417]
(target milestone: 0.4) - Revise ISourceElement#getElementAt contract [473509]
(target milestone: 0.4) - Rename ISourceFile#openBuffer(boolean, IProgressMonitor) to getBuffer [473799]
(target milestone: 0.4) - Find a better name for IElementForEditorInputFactory [474217]
(target milestone: 0.4) - Overhaul handle's toString facility [475446]
(target milestone: 0.4) - Remove ISourceFileFactory [475573]
(target milestone: 0.4) - Make working copy API more flexible [475862]
(target milestone: 0.4) - SourceFile#createStructuralAst should take a progress monitor [475869]
(target milestone: 0.4) - Enable progress reporting when building structure of elements [475926]
(target milestone: 0.4) - Introduce forceAdd parameter into Handle#openWhenClosed [475929]
(target milestone: 0.4) - Buffers overhaul [476444]
(target milestone: 0.4) - SourceFileDocumentProvider overhaul [476617]
(target milestone: 0.4) - Introduce IBodyCache#putAll method [477157]
(target milestone: 0.4) - StructureHelper overhaul [479027]
(target milestone: 0.4) - Improve cancellation support in SourceElementLinkingHelper [479827]
(target milestone: 0.4) - Working copy enhancements [480397]
(target milestone: 0.4) - Allow ISourceFile#getFile() to return null [480766]
(target milestone: 0.4) - HandleDelta overhaul [480945]
(target milestone: 0.4)