Last modified by Thomas Mortagne on 2017/03/24

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 Second (and last) milestone release of the 3.3 version.
6
7 {{error}}
8 We've found that this release is a lot more memory-hungry than XWiki Enterprise 3.1 and before. The technical reason is because we're caching the rendering of pages in the document cache and [[those objects are very big>>https://jira.xwiki.org/browse/XRENDERING-161]] (up to 27MB for a very large page). In XWiki Enterprise 3.3 RC1+ we've optimized the space taken in memory by those objects. As a consequence we recommend using a reduced document cache size with this version and/or increasing the memory allocated to the JVM.
9 {{/error}}
10
11 = New and Noteworthy (since XWiki Enterprise 3.3 Milestone 1) =
12
13 == New User Interface for the Extension Manager ==
14
15 Although there's no back-end repository where to search for new extensions yet, the new UI for the Extension Manager is starting to shape up. The previous experimental UI has been replaced by a new category in the Administration dedicated to the extension manager, with three different sections.
16
17 [[image:em.png||class="screenshot"]]
18
19 [[image:searchextensions.png||class="screenshot"]]
20
21 [[image:showextension.png||class="screenshot"]]
22
23 == Link Checker ==
24
25 It's now possible to [[check the statuses of all external links found in your wiki>>extensions:Extension.Link Checker Application]].
26
27 [[image:externallinks.png||class="screenshot"]]
28
29 == FAQ Application ==
30
31 A [[new FAQ application>>extensions:Extension.FAQ Application]] is now made available (but not bundled by default in XWiki Enterprise):
32
33 [[image:extensions:Extension.FAQ [email protected]||class="screenshot"]]
34
35 == Better support for exporting CJK documents as PDF ==
36
37 CJK characters, shorthand for Chinese, Japanese and Korean, need special fonts not provided in the standard 14 fonts required by the PDF specification, nor in the FreeFonts distributed and enabled by default with XWiki. Starting with this version we also distribute three new free fonts, along with the configuration needed to enable them for their target languages.
38
39 [[image:cjk.png||class="screenshot"]]
40
41 == Updated the installation process of Workspaces ==
42
43 The [[Workspace Application>>http://extensions.xwiki.org/xwiki/bin/view/Extension/Workspace+Application]] requires that an admin provides the initial workspace template (as before), but now it can be anything the admin wants to use as base. The admin only has to rename it to "workspace-template.xar" and attach it to the WorkspaceManager.Install page. The workspace-related pages and settings will be applied to the template automatically.
44
45 = For Developers =
46
47 == JSR330 Provider Support ==
48
49 XWiki now [[supports JSR330 Providers>>extensions:Extension.Component Module#HRegisteringandUsingaProvider]].
50
51 They are useful for the following use cases:
52 * You wish to break a cyclic dependency
53 * You wish to lazily get a component instance (instead of it getting injected when your Component is looked up the first time)
54 * You wish to control how you return the instance you're providing for. For example you may wish to read the Component Hint from a configuration file and return the instance of the Component matching that Hint dynamically
55
56 == Component Event Improvements ==
57
58 The registration and unregistration event triggered by a component manager is now perfectly paired. Registering an existing component role and hint now trigger the unregistration event before registering the new component.
59
60 == New Disposable interface for Components ==
61
62 To prepare the future uninstallation feature of the Extension Manager, singleton components could now implements the Disposable interface. This interface require a single dispose() methods that will be call when a singleton component is unregistered from its component manager. When a singleton component has been created, this could happen in three cases:
63 * the component role and hints is explicitly unregistered
64 * another component role with same hints is registered and therefore replace the existing component
65 * the component instance is explicitly released calling the release function in the manager
66
67 Components that require a singleton component should be aware that the instance provided is now subject release and should prevent from accessing a component that have been released. This could be done by observing the registration events of the component manager. The Unregister Event is always triggered when a component is released.
68
69 == Upgrades ==
70
71 The following dependencies have been upgraded:
72
73 * commons-lang 3.1
74 * Groovy 1.8.4
75 * LogBack 1.0
76 * Selenium 2.13.0
77 * SLF4J 1.6.4
78 * Maven AntRun Plugin 1.7
79 * Maven Shade Plugin 1.5
80 * Maven Checkstyle Plugin 2.8
81
82 == Miscellaneous ==
83
84 * The Dashboard feature which was part of several applications (XWiki Enterprise Application and Administration Application) has been extracted into in a separate [[Dashboard Application>>extensions:Extension.Dashboard Application]]. There's now a new ##Dashboard## space which is visible in the list of spaces on the XE home page.
85
86 == Translations ==
87
88 No translations have been updated.
89
90 = Supported Browsers =
91
92 Here's the list of supported browsers for this version (i.e. browsers that we've tested as working):
93
94 {{velocity}}
95 ## name = iexplorer, firefox, chrome, safari, opera
96 {{/velocity}}
97
98 {{browser name="iexplorer" version="8"/}}
99
100 {{browser name="iexplorer" version="9"/}}
101
102 {{browser name="firefox" version="3.6"/}}
103
104 {{browser name="firefox" version="8"/}}
105
106 {{browser name="chrome" version="15"/}}
107
108 = Known issues =
109
110 * [[Bugs we know about>>https://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+%3D+%22Top+Level+Projects%22+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
111
112 = Test Report =
113
114 You can check the [[manual test report>>TestReports.ManualTestReportXE33M2]] to learn about what was tested and the results on various browsers.
115
116 = Backward Compatibility and Migration Notes =
117
118 == General Notes ==
119
120 {{warning}}
121 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,...//.
122 {{/warning}}
123
124 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
125
126 {{warning}}
127 Always make sure you compare your ##xwiki.cfg## and ##xwiki.properties## files with the newest version since some configuration parameters were added. Note that 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.
128 {{/warning}}
129
130 == Entity references are now immutable ==
131
132 EntityReference (and derived classes, DocumentReference...) has been refactored and are now immutable. This change has been introduced to prevent dangerous issues where a reference hold by an object could be changed by another one. This have a lot of consequences on the reference API and this break the backward compatibility. The following change should be noticed:
133 * all setters on EntityReference is now protected and could not be used anymore by any public code. Deriving a reference to render it mutable is hardly discouraged.
134 * EntityReference#getChild() has been removed, since a single entity may have more than one child. A EntityReference#getReversedParentChain() method has been added to allow easy iteration from the root entity to their children in a given parent chain.
135 * EntityReference#clone() has been removed, a copy-construtor is still available, but is useless since an entity is immutable, there is no need to clone it
136 * EntityReference#replaceParent(oldParent,newParent) allow creating a new entity with one of the parent in the parent chain replaced
137 * EntityReference#appendParent() allow creating a new entity with an appended root parent, this one is useless on any derived class since the parent chain could not appended in them.
138
139 == API Breakages ==
140
141 The following APIs were modified since XWiki Enterprise 3.2:
142
143 {{code language="none"}}
144 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
145 org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.List getTransformationNames()' has been added to an interface
146 org.xwiki.rendering.configuration.RenderingConfiguration: Method 'public java.util.List getTransformations()' has been removed
147 org.xwiki.rendering.listener.chaining.TextOnNewLineStateChainingListener: Class org.xwiki.rendering.listener.chaining.TextOnNewLineStateChainingListener removed
148 org.xwiki.rendering.macro.box.AbstractBoxMacro: Return type of method 'protected org.xwiki.rendering.internal.macro.MacroContentParser getMacroContentParser()' has been changed to org.xwiki.rendering.macro.MacroContentParser
149 org.xwiki.rendering.transformation.icon.IconTransformationConfiguration: Method 'public void addMapping(java.lang.String, java.lang.String)' has been added to an interface
150 com.xpn.xwiki.api.XWiki: Method 'public com.xpn.xwiki.plugin.query.XWikiQuery createQueryFromRequest(java.lang.String)' has been removed
151 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearch(java.lang.String, java.lang.String)' has been removed
152 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
153 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
154 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchColumns(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
155 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
156 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String displaySearchOrder(java.lang.String, com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
157 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
158 com.xpn.xwiki.api.XWiki: Method 'public java.util.List search(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
159 com.xpn.xwiki.api.XWiki: Method 'public java.lang.String searchAsTable(com.xpn.xwiki.plugin.query.XWikiQuery)' has been removed
160 org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
161 org.xwiki.model.reference.AttachmentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
162 org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
163 org.xwiki.model.reference.ClassPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
164 org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
165 org.xwiki.model.reference.DocumentReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
166 org.xwiki.model.reference.DocumentReference: Method 'public void setWikiReference(org.xwiki.model.reference.WikiReference)' has been removed
167 org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference clone()' has been removed
168 org.xwiki.model.reference.EntityReference: Method 'public java.lang.Object clone()' has been removed
169 org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getChild()' has been removed
170 org.xwiki.model.reference.EntityReference: Method 'public java.lang.String getName()' is now final
171 org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.reference.EntityReference getParent()' is now final
172 org.xwiki.model.reference.EntityReference: Method 'public org.xwiki.model.EntityType getType()' is now final
173 org.xwiki.model.reference.EntityReference: Method 'public void setChild(org.xwiki.model.reference.EntityReference)' has been removed
174 org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
175 org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
176 org.xwiki.model.reference.EntityReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
177 org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
178 org.xwiki.model.reference.ObjectPropertyReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
179 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
180 org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
181 org.xwiki.model.reference.ObjectReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
182 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
183 org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setParent(org.xwiki.model.reference.EntityReference)' has been decreased from public to protected
184 org.xwiki.model.reference.SpaceReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
185 org.xwiki.model.reference.WikiReference: Accessibility of method 'public void setType(org.xwiki.model.EntityType)' has been decreased from public to protected
186 org.xwiki.query.QueryExecutorProvider: Class org.xwiki.query.QueryExecutorProvider removed
187 com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
188 com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public java.util.List getEvents()' has been removed
189 com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed
190 org.xwiki.annotation.reference.IndexedObjectReference: Accessibility of method 'public void setName(java.lang.String)' has been decreased from public to protected
191 org.xwiki.annotation.event.AbstractAnnotationEvent: Added abstract modifier to class
192 org.xwiki.cache.eviction.EntryEvictionConfiguration: Method 'public void setAlgotithm(org.xwiki.cache.eviction.EntryEvictionConfiguration$Algorithm)' has been removed
193 {{/code}}

Get Connected