XWiki Enterprise 2.5 Release Candidate 1

Last modified by Thomas Mortagne on 2023/10/13

First and hopefully last release candidate of the XWiki Enterprise 2.5 version (Roadmap).

This is mostly a bugfixing release before the 2.5 final.

New and Noteworthy (since XWiki Enterprise 2.5 Milestone 2)

New features

New macros for the Space List and Tag Cloud; display user avatars in annotations.

annotation-avatars.png

Improvements to the Extension Manager

Nicer URLs displayed for extensions, core extensions are also shown, fixed missing translations, provided script access to extensions.

Improvements to the User Directory

New avatar for subgroups, better UI, fixed a broken link.

group-avatar.png

WYSIWYG and Rendering improvements

Display macro parameter names instead of IDs, generalized the syntax for links, added support for query string for image links, fixed a random error when loading several WYSIWYG instances in parallel.

Performance improvements

Fixed a performance issue with the Jump To Page feature.

Security improvements

Fixed a few XSS bugs, fixed a broken check on rights from the Rest system, fixed a missing author update when editing classes.

Translations

  • All the translations have been updated

Known issues

Backward Compatibility and Migration Notes

General Notes

If you're running in a multiwiki setup you'll also need to define the property xwiki.store.migration.databases=all to your xwiki.cfg file or explicitly name all databases to be migrated as in xwiki.store.migration.databases=db1,db2,....

You may also want to import the default wiki XAR in order to benefit from the improvements listed above.

Always make sure you compare your xwiki.cfg file with the newest version since some configuration parameters were added. Note you should add xwiki.store.migration=1 so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.

API Breakages

The following APIs were modified since XWiki Enterprise 2.4:

[ERROR] org.xwiki.rendering.scaffolding.MockWikiModel: In method 'public java.lang.String getAttachmentURL(java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.scaffolding.MockWikiModel: In method 'public java.lang.String getDocumentEditURL(java.lang.String, java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.scaffolding.MockWikiModel: In method 'public java.lang.String getDocumentViewURL(java.lang.String, java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.scaffolding.MockWikiModel: Parameter 1 of 'public boolean isDocumentAvailable(java.lang.String)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.scaffolding.RenderingTestSuite: In method 'public void addTestsFromResource(java.lang.String, boolean)' the number of arguments has changed
[ERROR] org.xwiki.rendering.scaffolding.RenderingTestSuite: Method 'public void addTestsFromResource(java.lang.String, boolean, java.util.Map)' has been removed
[ERROR] org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro: Method 'protected boolean canExecuteScript()' has been removed
[ERROR] org.xwiki.rendering.macro.script.AbstractJSR223ScriptMacro: Method 'public java.util.List execute(org.xwiki.rendering.macro.script.JSR223ScriptMacroParameters, java.lang.String, org.xwiki.rendering.transformation.MacroTransformationContext)' has been removed
[ERROR] org.xwiki.rendering.macro.script.AbstractScriptMacro: Method 'protected boolean canHaveJarsParameters()' has been removed
[ERROR] org.xwiki.rendering.macro.script.AbstractScriptMacro: Method 'protected java.lang.ClassLoader getClassLoader(java.lang.String, java.lang.ClassLoader)' has been removed
[ERROR] org.xwiki.rendering.block.ImageBlock: Parameter 1 of 'public ImageBlock(org.xwiki.rendering.listener.Image, boolean)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.block.ImageBlock: Parameter 1 of 'public ImageBlock(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.block.ImageBlock: Method 'public org.xwiki.rendering.listener.Image getImage()' has been removed
[ERROR] org.xwiki.rendering.block.LinkBlock: Parameter 2 of 'public LinkBlock(java.util.List, org.xwiki.rendering.listener.Link, boolean)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.block.LinkBlock: Parameter 2 of 'public LinkBlock(java.util.List, org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.block.LinkBlock: Method 'public org.xwiki.rendering.listener.Link getLink()' has been removed
[ERROR] org.xwiki.rendering.block.PlainTextBlockFilter: Parameter 2 of 'public PlainTextBlockFilter(org.xwiki.rendering.parser.Parser, org.xwiki.rendering.renderer.LinkLabelGenerator)' has changed its type to org.xwiki.rendering.renderer.reference.link.LinkLabelGenerator
[ERROR] org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.Properties getInterWikiDefinitions()' has been added to an interface
[ERROR] org.xwiki.rendering.listener.AbstractImage: Class org.xwiki.rendering.listener.AbstractImage removed
[ERROR] org.xwiki.rendering.listener.Attachment: Class org.xwiki.rendering.listener.Attachment removed
[ERROR] org.xwiki.rendering.listener.CompositeListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.CompositeListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.CompositeListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.DefaultAttachment: Class org.xwiki.rendering.listener.DefaultAttachment removed
[ERROR] org.xwiki.rendering.listener.DocumentImage: Class org.xwiki.rendering.listener.DocumentImage removed
[ERROR] org.xwiki.rendering.listener.Image: Class org.xwiki.rendering.listener.Image removed
[ERROR] org.xwiki.rendering.listener.ImageListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.ImageType: Class org.xwiki.rendering.listener.ImageType removed
[ERROR] org.xwiki.rendering.listener.Link: Class org.xwiki.rendering.listener.Link removed
[ERROR] org.xwiki.rendering.listener.LinkListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.LinkListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.LinkType: Class org.xwiki.rendering.listener.LinkType removed
[ERROR] org.xwiki.rendering.listener.QueueListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.QueueListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.QueueListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.URLImage: Class org.xwiki.rendering.listener.URLImage removed
[ERROR] org.xwiki.rendering.listener.WrappingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.WrappingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.WrappingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.AbstractChainingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.AbstractChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.AbstractChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.BlockStateChainingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.BlockStateChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.BlockStateChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.ConsecutiveNewLineStateChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.ConsecutiveNewLineStateChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.EmptyBlockChainingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.EmptyBlockChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.EmptyBlockChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.LookaheadChainingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.LookaheadChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.LookaheadChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.TextOnNewLineStateChainingListener: Parameter 1 of 'public void beginLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.TextOnNewLineStateChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.listener.chaining.TextOnNewLineStateChainingListener: Parameter 1 of 'public void onImage(org.xwiki.rendering.listener.Image, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.rendering.parser.AttachmentParser: Class org.xwiki.rendering.parser.AttachmentParser removed
[ERROR] org.xwiki.rendering.parser.ImageParser: Class org.xwiki.rendering.parser.ImageParser removed
[ERROR] org.xwiki.rendering.parser.LinkParser: Class org.xwiki.rendering.parser.LinkParser removed
[ERROR] org.xwiki.rendering.renderer.LinkLabelGenerator: Class org.xwiki.rendering.renderer.LinkLabelGenerator removed
[ERROR] org.xwiki.rendering.renderer.LinkReferenceSerializer: Class org.xwiki.rendering.renderer.LinkReferenceSerializer removed
[ERROR] org.xwiki.rendering.renderer.URILabelGenerator: Class org.xwiki.rendering.renderer.URILabelGenerator removed
[ERROR] org.xwiki.rendering.renderer.XWikiSyntaxListenerChain: Class org.xwiki.rendering.renderer.XWikiSyntaxListenerChain removed
[ERROR] org.xwiki.rendering.renderer.xhtml.XHTMLImageRenderer: Class org.xwiki.rendering.renderer.xhtml.XHTMLImageRenderer removed
[ERROR] org.xwiki.rendering.renderer.xhtml.XHTMLLinkRenderer: Class org.xwiki.rendering.renderer.xhtml.XHTMLLinkRenderer removed
[ERROR] org.xwiki.rendering.wiki.WikiModel: In method 'public java.lang.String getAttachmentURL(java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.wiki.WikiModel: In method 'public java.lang.String getDocumentEditURL(java.lang.String, java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.wiki.WikiModel: In method 'public java.lang.String getDocumentViewURL(java.lang.String, java.lang.String, java.lang.String)' the number of arguments has changed
[ERROR] org.xwiki.rendering.wiki.WikiModel: Method 'public java.lang.String getImageURL(org.xwiki.rendering.listener.reference.ResourceReference, java.util.Map)' has been added to an interface
[ERROR] org.xwiki.rendering.wiki.WikiModel: Parameter 1 of 'public boolean isDocumentAvailable(java.lang.String)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference
[ERROR] org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.String getAttachmentURL(org.xwiki.model.reference.AttachmentReference, java.lang.String, boolean)' has been added to an interface
[ERROR] org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.String getAttachmentVersion(org.xwiki.model.reference.AttachmentReference)' has been added to an interface
[ERROR] org.xwiki.bridge.DocumentAccessBridge: Method 'public java.lang.String getDocumentURL(org.xwiki.model.reference.DocumentReference, java.lang.String, java.lang.String, java.lang.String, boolean)' has been added to an interface
[ERROR] org.xwiki.annotation.renderer.AbstractAnnotationRenderer: Return type of method 'public org.xwiki.rendering.renderer.LinkLabelGenerator getLinkLabelGenerator()' has been changed to org.xwiki.rendering.renderer.reference.link.LinkLabelGenerator
[ERROR] org.xwiki.annotation.renderer.LinkLabelGeneratorChainingListener: Changed type of field linkLabelGenerator from org.xwiki.rendering.renderer.LinkLabelGenerator to org.xwiki.rendering.renderer.reference.link.LinkLabelGenerator
[ERROR] org.xwiki.annotation.renderer.LinkLabelGeneratorChainingListener: Parameter 1 of 'public LinkLabelGeneratorChainingListener(org.xwiki.rendering.renderer.LinkLabelGenerator, org.xwiki.rendering.parser.StreamParser, org.xwiki.rendering.listener.chaining.ListenerChain)' has changed its type to org.xwiki.rendering.renderer.reference.link.LinkLabelGenerator
[ERROR] org.xwiki.annotation.renderer.LinkLabelGeneratorChainingListener: Parameter 1 of 'public void endLink(org.xwiki.rendering.listener.Link, boolean, java.util.Map)' has changed its type to org.xwiki.rendering.listener.reference.ResourceReference

Get Connected