Release Notes for XWiki Enterprise 4.1 Release Candidate 1
This is the first and hopefully final release candidate of the 4.1 release cycle (Roadmap). Being a release candidate, this release is sparse on new features, concentrating instead on stabilization of the features brought in Milestone 1 and Milestone 2.
New and Noteworthy (since XWiki Enterprise 4.1 Milestone 2)
Extension Manager improvements
The merge conflict resolution UI is now displaying all document changes as if you are comparing two versions from a document's history.
For developers
Diff module
A new diff/merge module has been added to make easier to deal with diff and merge both from component and scripts. See Diff module for details.
Bug fixes and improvements
- The activity macro no longer allows sending messages. That functionality has been extracted into a reusable macro called messageSender. See and for more details.
- The Windows Installer should now work fine on Windows 7. The issue is that on Windows 7 the "Program Files" directory is now read only and since XWiki wanted to write in it it was causing startup issues. We've temporarily solved this in 4.1 by installing XWiki at the root of the C: drive for all Windows versions. This will be properly fixed in XWiki 4.2M1.
See the full list of JIRA issues fixed in this release.
Upgrades
No dependencies were upgraded in 4.1-rc-1
Translations
Danish translation has been added.
Test Report
You can check the manual test report to learn about what was tested and the results on various browsers.
Tested Browsers
Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of supported browsers):
- Firefox
- 13.0.1
Tested using the following Databases
For the list of supported databases please click here.
- HyperSQL
- 2.2.8
Known issues
Upgrade Notes
Version-specific Upgrade Notes
No major changes were made in this version so upgrading should be smooth. Please review release notes for all versions newer than the version you are upgrading from.
General Upgrade Notes
You may also want to import the default wiki XAR in order to benefit from all the improvements listed above.
API Breakages
The following APIs were modified since version 4.0:
- Breakage in Query module done to support adding several Filters to a Query:org.xwiki.query.QueryFilter: Method 'public java.util.List filterResults(java.util.List)' has been added to an interface
- This method should have been internal from the beginning:org.xwiki.environment.EnvironmentConfiguration: Class org.xwiki.environment.EnvironmentConfiguration removed
- The Job module is new and is still considered a "young API":org.xwiki.job.AbstractJob: Changed type of field status from org.xwiki.job.internal.DefaultJobStatus to org.xwiki.job.internal.AbstractJobStatus
org.xwiki.job.AbstractJob: Return type of method 'protected org.xwiki.job.internal.DefaultJobStatus createNewStatus(org.xwiki.job.Request)' has been changed to org.xwiki.job.internal.AbstractJobStatus
org.xwiki.job.AbstractJob: Method 'protected java.lang.String getId()' has been removed
org.xwiki.job.AbstractRequest: Return type of method 'public java.lang.String getId()' has been changed to java.util.List
org.xwiki.job.Job: Method 'public void join()' has been added to an interface
org.xwiki.job.Job: Method 'public boolean join(long, java.util.concurrent.TimeUnit)' has been added to an interface
org.xwiki.job.JobManager: Method 'public org.xwiki.job.event.status.JobStatus getJobStatus(java.util.List)' has been added to an interface
org.xwiki.job.Request: Return type of method 'public java.lang.String getId()' has been changed to java.util.List
org.xwiki.job.event.JobEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.JobFinishedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.JobStartedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List
org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getEndDate()' has been added to an interface
org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getStartDate()' has been added to an interface - The Extension module is relatively new and is still undergoing some API tuning:org.xwiki.extension.job.plan.ExtensionPlan: Return type of method 'public java.util.Collection getTree()' has been changed to org.xwiki.extension.job.plan.ExtensionPlanTree
org.xwiki.extension.version.VersionConstraint: Method 'public boolean isCompatible(org.xwiki.extension.version.Version)' has been added to an interface - This class was added in 3.2M2 by error in a user-public package. It's been moved again in the internal package as it should have been. We don't expect many users to be affected by this:com.xpn.xwiki.doc.merge.MergeUtils: Class com.xpn.xwiki.doc.merge.MergeUtils removed
- In 2.2M1 we refactored BaseCollection to add getXClass() but we forgot to add it to the ObjectInterface interface. Even though this could break user we think it's very limited since nobody should implement directly ObjectInterface; instead everyone should extend BaseClass or BaseCollection:com.xpn.xwiki.objects.ObjectInterface: Method 'public com.xpn.xwiki.objects.classes.BaseClass getXClass(com.xpn.xwiki.XWikiContext)' has been added to an interface
- The Autotag plugin has been extracted from the oldcore module and is now a module on its own so the following are not real breakages:com.xpn.xwiki.plugin.autotag.AutoTagPlugin: Class com.xpn.xwiki.plugin.autotag.AutoTagPlugin removed
com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI: Class com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI removed
com.xpn.xwiki.plugin.autotag.FrenchStemmer: Class com.xpn.xwiki.plugin.autotag.FrenchStemmer removed
com.xpn.xwiki.plugin.autotag.Tag: Class com.xpn.xwiki.plugin.autotag.Tag removed
com.xpn.xwiki.plugin.autotag.TagCloud: Class com.xpn.xwiki.plugin.autotag.TagCloud removed - The WYSIWYG Diff and Sync plugins have been extracted into their own modules so the following are not real breakages:org.xwiki.gwt.wysiwyg.client.Images: Method 'public com.google.gwt.resources.client.ImageResource sync()' has been removed
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String sync()' has been removed
org.xwiki.gwt.wysiwyg.client.diff.AddDelta: Class org.xwiki.gwt.wysiwyg.client.diff.AddDelta removed
org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta: Class org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta removed
org.xwiki.gwt.wysiwyg.client.diff.Chunk: Class org.xwiki.gwt.wysiwyg.client.diff.Chunk removed
org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta: Class org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta removed
org.xwiki.gwt.wysiwyg.client.diff.Delta: Class org.xwiki.gwt.wysiwyg.client.diff.Delta removed
org.xwiki.gwt.wysiwyg.client.diff.Diff: Class org.xwiki.gwt.wysiwyg.client.diff.Diff removed
org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm: Class org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm removed
org.xwiki.gwt.wysiwyg.client.diff.DiffException: Class org.xwiki.gwt.wysiwyg.client.diff.DiffException removed
org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException removed
org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException removed
org.xwiki.gwt.wysiwyg.client.diff.Revision: Class org.xwiki.gwt.wysiwyg.client.diff.Revision removed
org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor: Class org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor removed
org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff: Class org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff removed
org.xwiki.gwt.wysiwyg.client.diff.ToString: Class org.xwiki.gwt.wysiwyg.client.diff.ToString removed
org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode removed
org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff: Class org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff removed
org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode removed
org.xwiki.gwt.wysiwyg.client.diff.myers.Snake: Class org.xwiki.gwt.wysiwyg.client.diff.myers.Snake removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus removed
org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools removed
org.xwiki.wysiwyg.server.plugin.sync.SyncEngine: Class org.xwiki.wysiwyg.server.plugin.sync.SyncEngine removed
org.xwiki.wysiwyg.server.plugin.sync.SyncException: Class org.xwiki.wysiwyg.server.plugin.sync.SyncException removed