I think we really need to try harder on the API compatibility front.
Several of the commits since 0.22 have introduced incompatible changes to
various APIs.
The following types of changes are not backward compatible:
- new parameters on an existing public method
ProjectBrowser.loadProject
Model.getXmiWriter
UmlFilePersister.writeProject
- new exceptions thrown by an existing public method
ProjectFilePersister.doLoad
ProjectFilePersister.doSave
ProgressListener.progress
UmlFilePersister.writeProject
- deleting or renaming public methods
UmlFilePersister.progress
Project.getURL
In the cases of big changes like the progress indicator for loading, it may
not be possible to maintain compatibility with a reasonable amount of
effort, but in those cases we should at least keep track of the
incompatibilities so that we can summarize them for plugin programmers at
the next release.
For smaller changes, there are usually well established methods to preserve
compatibility. For example when adding a new parameter, retain the old
method signature and have it call the new method with some default value for
the new parameter.
Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]