Release Notes for XWiki Enterprise 3.4 Milestone 1
This is the first and only milestone of the XWiki Enterprise 3.4 version (Roadmap). We're getting closer to the end of the 3.x cycle and the goal of this release (and the following one, which will be the last of the cycle) is to improve the current features.
New and Noteworthy (since XWiki Enterprise 3.3 version)
New default color theme
XWiki 2.1 is the default page syntax
Delete space menu
Simple space templates
You can now create simple space templates. If you go to Templates section of the wiki administration and create a new template provider you'll notice that you can choose the template type. "Space homepage" templates are used to create new spaces.
All the available space templates are listed on the Create Space dialog that you can access from the Add > Space menu.
XWiki Enterprise comes by default with a space dashboard template which can be used to create a new space whose home page is a dashboard.
Special characters in attachment name
Starting with this version, non-ASCII characters are not filtered anymore from the file name when uploading an attachment.
Minimized action menu
The action menu is now minimized when the page is scrolled. You can access it by hovering the top of the browser window.
Display macro
Thomas needs to document the macro on extensions.xwiki.org
Bug fixes and improvements
- Tree view from document index should work fine in Internet Explorer 9.
- Adding users to a group through the administration should work fine in Internet Explorer 9.
- Extension manager UI has been polished.
For Developers
- Component manager bug fixes and improvements (including an important optimization which should bring a significant speed improvement)
- StringUtils can be accessed in Velocity using $stringtool
- #stop Velocity directive is working again
- You can now stop the execution of a Velocity macro or template using #break($macro) and #break($template) respectively. $template can also be used to find the name of the current Velocity name space (usually the name of the current Velocity template).
- Markdown syntax support added.
- Changes to the code that migrates the XWiki database (Denis?)
- [XWIKI-7310] Change the default value of 'xwiki.virtual.usepath' to 1 (Edy?)
- [XWIKI-7323] Add a Maven "functional-test" custom lifecycle for functional tests (Vincent?)
- Oracle support improved
- [XWIKI-6368] - Exception "inconsistent datatypes" on VisitStats in Oracle 10g
- [XWIKI-7278] - Virtual mode fails on Oracle with "ORA-01435: user does not exist"
Upgrades
The following dependencies have been upgraded:
- AETHER 1.13.1
- Groovy 1.8.5
- Hibernate 3.6.8 Final
- jdeb 0.9
- Restlet 2.0.x
- SmartGWT 3.0
Translations
The following translations have been updated:
Supported Browsers
Sorin?
Known issues
Test Report
You can check the manual test report to learn about what was tested and the results on various browsers.
Backward Compatibility and Migration Notes
General 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 3.3:
ERROR: 7012: org.xwiki.component.manager.ComponentEventManager: Method 'public void notifyComponentUnregistered(org.xwiki.component.descriptor.ComponentDescriptor, org.xwiki.component.manager.ComponentManager)' has been added to an interface
ERROR: 7004: org.xwiki.component.annotation.ComponentAnnotationLoader: In method 'public void initialize(org.xwiki.component.manager.ComponentManager, java.lang.ClassLoader, java.util.List, java.util.List)' the number of arguments has changed
ERROR: 3005: org.xwiki.annotation.event.AbstractAnnotationEvent: Added abstract modifier to class
ERROR: 7009: org.xwiki.annotation.reference.IndexedObjectReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
ERROR: 4001: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
ERROR: 7002: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public java.util.List getEvents()' has been removed
ERROR: 7002: com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed
ERROR: 7002: org.xwiki.cache.eviction.EntryEvictionConfiguration: Method 'public void setAlgotithm(org.xwiki.cache.eviction.EntryEvictionConfiguration$Algorithm)' has been removed
ERROR: 7009: org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7002: org.xwiki.model.reference.DocumentReference: Method 'public void setWikiReference(org.xwiki.model.reference.WikiReference)' has been removed
ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference clone()' has been removed
ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public java.lang.Object clone()' has been removed
ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getChild()' has been removed
ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public java.lang.String getName()' is now final
ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getParent()' is now final
ERROR: 7014: org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.EntityType getType()' is now final
ERROR: 7002: org.xwiki.model.reference.EntityReference: Method 'public void setChild(org.xwiki.model.reference.EntityReference)' has been removed
ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7012: org.xwiki.model.reference.ObjectPropertyReferenceResolver: Method 'public org.xwiki.model.reference.ObjectPropertyReference resolve(java.lang.Object, java.lang.Object[])' has been added to an interface
ERROR: 7009: org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7012: org.xwiki.model.reference.ObjectReferenceResolver: Method 'public org.xwiki.model.reference.ObjectReference resolve(java.lang.Object, java.lang.Object[])' has been added to an interface
ERROR: 7009: org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7009: org.xwiki.model.reference.WikiReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.plugin.query.XWikiQuery createQueryFromRequest(java.lang.String)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiCriteria)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.util.List search(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.String searchAsTable(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
ERROR: 8001: org.xwiki.query.QueryExecutorProvider: Class org.xwiki.query.QueryExecutorProvider removed
ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Filter from the list of superclasses
ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Guard from the list of superclasses
ERROR: 5001: org.xwiki.rest.XWikiAuthentication: Removed org.restlet.Uniform from the list of superclasses
ERROR: 7004: org.xwiki.rest.XWikiAuthentication: In method 'public int authenticate(org.restlet.data.Request)' the number of arguments has changed
ERROR: 7006: org.xwiki.rest.XWikiAuthentication: Return type of method 'public int authenticate(org.restlet.data.Request)' has been changed to boolean
ERROR: 7002: org.xwiki.rest.XWikiAuthentication: Method 'public boolean checkSecret(org.restlet.data.Request, java.lang.String, char[])' has been removed
ERROR: 5001: org.xwiki.rest.XWikiRestletJaxRsApplication: Removed org.restlet.Uniform from the list of superclasses
ERROR: 5001: org.xwiki.rest.XWikiRestletServlet: Removed com.noelios.restlet.ext.servlet.ServerServlet from the list of superclasses
ERROR: 5001: org.xwiki.rest.XWikiSetupCleanupFilter: Removed org.restlet.Filter from the list of superclasses
ERROR: 5001: org.xwiki.rest.XWikiSetupCleanupFilter: Removed org.restlet.Uniform from the list of superclasses
ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected void afterHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 2 of 'protected void afterHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response
ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected int beforeHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 2 of 'protected int beforeHandle(org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response
ERROR: 7005: org.xwiki.rest.XWikiSetupCleanupFilter: Parameter 1 of 'protected javax.servlet.http.HttpServletRequest getHttpRequest(org.restlet.data.Request)' has changed its type to org.restlet.Request
ERROR: 5001: org.xwiki.rest.resources.BrowserAuthenticationResource: Removed org.restlet.Handler from the list of superclasses
ERROR: 5001: org.xwiki.rest.resources.BrowserAuthenticationResource: Removed org.restlet.resource.Resource from the list of superclasses
ERROR: 7005: org.xwiki.rest.resources.BrowserAuthenticationResource: Parameter 2 of 'public BrowserAuthenticationResource(org.restlet.Context, org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Request
ERROR: 7005: org.xwiki.rest.resources.BrowserAuthenticationResource: Parameter 3 of 'public BrowserAuthenticationResource(org.restlet.Context, org.restlet.data.Request, org.restlet.data.Response)' has changed its type to org.restlet.Response