- [documentation] Improved existing API javadoc and added missing documentation for service interfaces. #164 - Contributed on behalf of STMicroelectronics
- [graph] Fixed a bug that lead to incomplete
GModelIndex
initialization #143 - [example] Improved styling and cleaned up code of the workflow example #148 #156
- [gson] Ensure that
DefaultServerGsonConfigurator
properly disposes temporary DI diagram sessions after server initialization.#151 - [layout] Ensure that
LayoutEngine
is injected as optional field to avoidNullPointerExceptions
s if no implementation is bound #153 - [build] Remove dependency to
org.apache.commons.io
#157 - [emf] Inception of new
org.eclipse.glsp.server.emf
package + example models- Provides reusable base classes for EMF-based source models #159
- [graph] Introduced
GShapePrerenderedElementBuilder
to enable easy construction of shaped prerendered elements eg. foreign object elements. #168 - [diagram] Fixed a bug that could occur during saving by ensuring that all pending actions are dispatched before a client session is disposed. #172
- [protocol] Align server actions with the definitions in @eclipse-glsp-protocol #142
- Affects methods and return types of all action classes.
- [model] Source model refactoring #154
ModelSourceLoader
→SourceModelStorage
ModelSourceWatcher
→SourceModelWatcher
- Added method to
SourceModelStorage
- [model] Refactoring as part of adding new GLSP examples #159, #161
- Renamed
setRoot
toupdateRoot
in model state to better reflect dependent updates, remove re-generation of command stack in method but add index re-generation
- Renamed
- [operation] Refactoring as part of cleaning up operation handlers #164
- Renamed
CreateEdgeOperationHandler
toAbstractCreateEdgeOperationHandler
- Renamed
CreateNodeOperationHandler
toAbstractCreateNodeOperationHandler
- Renamed
- [gmodel] Move base diagram module and operation handlers that operate directly on GModels (as a model source) to the dedicated package
org.eclipse.glsp.server.gmodel
and add prefixGModel
in the class name #165 - [logging] Update from log4j 1.x to log4j 2.17.1. #163
- Affects logger creation across all classes
- [protocol] Rename
ModelSourceChangedAction
toSourceModelChangedAction
including handlers #171
- [websocket] Fixed issue that was caused by reusing a shared injector for each client connection #91
- [navigation] Added a utility class for 'JsonOpenerOptions' #92
- [diagram] Merged the
ServerLayoutConfiguration
API into theDiagramConfiguration
API. #95 - [model] Reworked model update flow. All aspects of the update process are now handled by the
ModelSubmissionHandler
#122 - [model] Reworked and split
ModelFactory
API into a dedicated component responsible for loading the model source (ModelSourceLoader
) and a component responsible for transforming the current modelstate into its GModel-representation (GModelFactory
) #96 - [protocol] Added implementation for
SetViewportAction
#99 - [model] Introduced
GArgumentable
interface which is implemented by allGModelElement
s. This can be used to provide additional information in form of anargs
map without having to extend theGModel
type #100 - [model] Extended default type mapping and added builder for
GArgumentable
elements and corresponding utility classes #105 - [protocol] Added
fileUri
property toSaveModelAction
and updatedSaveModelActionHandler
accordingly #103 - [protocol] Added optional
reason
string property toSetDirtyStateAction
. This property indicates the reason that caused to dirty state change and enables more fine granular handling of dirty state changes #101 - [build] Update dependencies of Google Guava (>= 30.1) and Google Guice (>= 5.0.0). #119
- [protocol] Refactor the base communication protocol to support initializing and disposing a client session. #123
- [server] The
org.apache.log4j
dependency is not reexported any more when consumed as p2 artifact. #43 - [di] Complete rework of DI architecture. Move away from one global injector per application. Instead use one global server injector and dedicated child injectors for each diagram session. #127
- [launch] Improve customizability of
DefaultGLSPServerLauncher
. #128 - [model] Add properties map in model state to store arbitrary properties that are persistent between handler calls. #132
- [server] Refactor json-rpc protocol and
DefaultGLSPServerImplementation
. #133 - [action] Rework
ActionHandler
&OperationHandler
API. #135 - [action] Introduce
dispatchAfterNextUpdate
functionality for theActionDispatcher
. This enables queuing of actions until the next model update has been processed. #141 - [protocol] Align server-side action definitions with protocol definition. #142
- [diagram] Merged the
ServerLayoutConfiguration
API into theDiagramConfiguration
API. The standaloneServerLayoutConfiguration
is now deprecated and no longer supported #95 - [model] Renamed
ModelFactory
toModelSourceLoader
and adapted interface method. This also affects implementing classes like theJsonFileModelFactory
#96 - [model] Reworked
ModelSubmissionHandler
API. This includes changes of method names and parameters #101 #197 - [build] Update dependencies of Google Guava (>= 30.1) and Google Guice (>= 5.0.0). #119
- [build] The
org.apache.log4j
dependency is not reexported any more when consumed as p2 artifact. You need to importorg.apache.log4j
in your own plugins if you use the log4j API there. #43 - [protocol] Refactor the base communication protocol to support initializing and disposing a client session. Remove now obsolete
InitializeClientSessionAction
andDisposeClientSessionAction
. #123 - [di] Complete rework of DI architecture. Your main module now has to extend
DiagramModule
instead ofGLSPModule
. Includes restructurings,cleanups and refactorings that affect most of the API components. #127 - [server] Refactor json-rpc protocol and
DefaultGLSPServerImplementation
. This includes changes of method names and parameters #133
This is the first release of Eclipse GLSP since it is hosted at the Eclipse Foundation. The 0.8.0 release includes new protocol message types and respective framework support for several new features, such as copy-paste, diagram navigation, etc. It also contains several clean-ups of the protocol and refactorings to simplify and streamline the API. The Eclipse Theia integration of GLSP features many improvements, such as problem marker integration, native context menu items and keybindings. Finally, several bug fixes and minor are part of this release as well.