Last modified by Thomas Mortagne on 2023/10/13

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. They share the same release notes as they are released together and have the same version.
6
7 This is the first and hopefully final release candidate of the 4.2 release cycle ([[Roadmap>>Main.Roadmap]]). Being a release candidate, this release contains bugfixes and polishing, most of them focused on the new distribution wizard.
8
9 {{warning}}
10 If you're upgrading from an older version and you use the new Distribution Wizard to upgrade your wiki pages you'll notice that it'll ask you to merge all pages that have been modified between your version and XWiki 4.2. This is because currently the Distribution Wizard doesn't know which version you have and thus asks you to perform the merge manually. This operation may take a long time (up to 20 minutes or so). Thus at the moment if you're upgrading from a previous version we recommend that you Cancel the Distribution Wizard and instead [[Import the new XAR>>Documentation.AdminGuide.Upgrade]]. This problem is [[reported in this issue>>https://jira.xwiki.org/browse/XWIKI-8252]] and should be fixed in the next release.
11 {{/warning}}
12
13 = New and Noteworthy (since XWiki 4.2 Milestone 3) =
14
15 == Improved Distribution Wizard ==
16
17 The look&feel of the Distribution Wizard has been greatly improved. We added an overview step to explain the goal of the wizard and list its steps.
18
19 {{image reference="DistributionWizard-WelcomeStep.png"/}}
20
21 The wizard is not yet production ready. It has a couple of issues we hope to fix very soon:
22
23 * information about core extensions is collected lazily and thus if you check distribution details just after starting XWiki you get incomplete information
24 * installing or checking the details of the user interface extension takes a couple of minutes depending on your internet bandwidth and the load of the remote extension repository
25 * some merge conflicts are reported even when the database is empty
26
27 {{image reference="DistributionWizard-UIStep.png"/}}
28
29 Invalid extensions are now marked differently in the last step.
30
31 {{image reference="DistributionWizard-ExtensionsStep.png"/}}
32
33 == Miscellaneous ==
34
35 * The Repository Application now registers an entry in the Application Panel:(((
36 {{image reference="repository.png"/}}
37 )))
38 * Better internationalization support for the [[Workspace Application>>extensions:Extension.Workspace Application]].
39
40 = For Developers =
41
42 == Upgrades ==
43
44 The following dependencies have been upgraded:
45
46 * Apache commons-codec 1.7
47
48 == Translations ==
49
50 The following translations have been updated:
51
52 {{language codes="fr"/}}
53
54 = Bug fixes and improvements =
55
56 See the full list of [[JIRA issues>>https://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%224.2-rc-1%22&tempMax=1000]] fixed in this release.
57
58 = Tested Browsers =
59
60 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>>dev:Community.BrowserSupportStrategy]]):
61
62 {{velocity}}
63 ## name = iexplorer, firefox, chrome, safari, opera
64 {{/velocity}}
65
66 {{browser name="firefox" version="15.0.1"/}}
67
68 = Known issues =
69
70 * [[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]]
71
72 = Backward Compatibility and Migration Notes =
73
74 == General Notes ==
75
76 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
77
78 {{warning}}
79 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.
80 {{/warning}}
81
82 == API Breakages ==
83
84 The following APIs were modified since XWiki 4.1.4:
85
86 * The logging module is new and is still considered a "young API". Added new methods to manipulate loggers levels.(((
87 {{code language="none"}}
88 org.xwiki.logging.LoggerManager: Method 'public org.xwiki.logging.LogLevel getLoggerLevel(java.lang.String)' has been added to an interface
89 org.xwiki.logging.LoggerManager: Method 'public java.util.Collection getLoggers()' has been added to an interface
90 org.xwiki.logging.LoggerManager: Method 'public void setLoggerLevel(java.lang.String, org.xwiki.logging.LogLevel)' has been added to an interface
91 {{/code}}
92 )))
93 * The Job module is new and is still considered a "young API". Added two new methods to check and remove custom properties.(((
94 {{code language="none"}}
95 org.xwiki.job.Request: Method 'public boolean containsProperty(java.lang.String)' has been added to an interface
96 org.xwiki.job.Request: Method 'public java.lang.Object removeProperty(java.lang.String)' has been added to an interface
97 {{/code}}
98 )))
99 * New ##InstalledExtension#isValid()## method.(((
100 {{code language="none"}}
101 org.xwiki.extension.InstalledExtension: Method 'public boolean isValid(java.lang.String)' has been added to an interface
102 {{/code}}
103 )))
104 * The Extension module is relatively new and is still undergoing some API tuning. New method to access environment extension. Also added new methods to execute custom checking before installing/uninstalling an extension and new methods to access local:installed extensions.(((
105 {{code language="none"}}
106 org.xwiki.extension.repository.CoreExtensionRepository: Method 'public org.xwiki.extension.CoreExtension getEnvironmentExtension()' has been added to an interface
107 org.xwiki.extension.handler.ExtensionHandler: Method 'public void checkInstall(org.xwiki.extension.Extension, java.lang.String, org.xwiki.job.Request)' has been added to an interface
108 org.xwiki.extension.handler.ExtensionHandler: Method 'public void checkUninstall(org.xwiki.extension.InstalledExtension, java.lang.String, org.xwiki.job.Request)' has been added to an interface
109 org.xwiki.extension.repository.InstalledExtensionRepository: Method 'public org.xwiki.extension.InstalledExtension getInstalledExtension(org.xwiki.extension.ExtensionId)' has been added to an interface
110 org.xwiki.extension.repository.LocalExtensionRepository: Method 'public org.xwiki.extension.LocalExtension getLocalExtension(org.xwiki.extension.ExtensionId)' has been added to an interface
111 {{/code}}
112 )))
113 * Fix method name typo (adding new method). This interface is not really supposed to be implemented except by internal class.(((
114 {{code language="none"}}
115 org.xwiki.properties.PropertyDescriptor: Method 'public java.lang.reflect.Field getField()' has been added to an interface
116 {{/code}}
117 )))
118 * The method getPreviousBlockByType() was moved to Legacy. There's no API breakage for the user.(((
119 {{code language="none"}}
120 org.xwiki.rendering.block.CompatibilityBlock: Method 'public java.util.List getChildrenByType(java.lang.Class, boolean)' has been added to an interface
121 {{/code}}
122 )))
123 * Added method to get the author of the macro.(((
124 {{code language="none"}}
125 org.xwiki.rendering.macro.wikibridge.WikiMacro: Method 'public org.xwiki.model.reference.DocumentReference getAuthorReference()' has been added to an interface
126 {{/code}}
127 )))
128 * Add a method to the oldcore/wikimacro bridge.(((
129 {{code language="none"}}
130 org.xwiki.rendering.macro.wikibridge.WikiMacroFactory: Method 'public boolean isAllowed(org.xwiki.model.reference.DocumentReference, org.xwiki.rendering.macro.wikibridge.WikiMacroVisibility)' has been added to an interface
131 {{/code}}
132 )))
133 * These classes below have never been used. It was supposed to be the start of the removal of Struts but since it hasn't progressed so far we're removing stray code from master. Experiments should be done on feature branches.(((
134 {{code language="none"}}
135 org.xwiki.container.servlet.XWikiServlet: Class org.xwiki.container.servlet.XWikiServlet removed
136 {{/code}}
137 )))
138 * Removed protected method (registerWikiMacros) that was not supposed to be used from outside (was protected for unit tests hacks).(((
139 {{code language="none"}}
140 com.xpn.xwiki.XWiki: Method 'protected void registerWikiMacros()' has been removed
141 {{/code}}
142 )))
143 * Chart plugin has been moved from oldcore to its own module. There's no API breakage for the user.(((
144 {{code language="none"}}
145 com.xpn.xwiki.plugin.charts.Chart: Class com.xpn.xwiki.plugin.charts.Chart removed
146 com.xpn.xwiki.plugin.charts.ChartCustomizer: Class com.xpn.xwiki.plugin.charts.ChartCustomizer removed
147 com.xpn.xwiki.plugin.charts.ChartImpl: Class com.xpn.xwiki.plugin.charts.ChartImpl removed
148 com.xpn.xwiki.plugin.charts.ChartingMacro: Class com.xpn.xwiki.plugin.charts.ChartingMacro removed
149 com.xpn.xwiki.plugin.charts.ChartingPlugin: Class com.xpn.xwiki.plugin.charts.ChartingPlugin removed
150 com.xpn.xwiki.plugin.charts.ChartingPluginApi: Class com.xpn.xwiki.plugin.charts.ChartingPluginApi removed
151 com.xpn.xwiki.plugin.charts.CustomXWikiRenderingEngine: Class com.xpn.xwiki.plugin.charts.CustomXWikiRenderingEngine removed
152 com.xpn.xwiki.plugin.charts.RadeoxHelper: Class com.xpn.xwiki.plugin.charts.RadeoxHelper removed
153 com.xpn.xwiki.plugin.charts.actions.ChartingAction: Class com.xpn.xwiki.plugin.charts.actions.ChartingAction removed
154 com.xpn.xwiki.plugin.charts.exceptions.ChartingException: Class com.xpn.xwiki.plugin.charts.exceptions.ChartingException removed
155 com.xpn.xwiki.plugin.charts.exceptions.ColumnIndexOutOfBoundsException: Class com.xpn.xwiki.plugin.charts.exceptions.ColumnIndexOutOfBoundsException removed
156 com.xpn.xwiki.plugin.charts.exceptions.DataSourceException: Class com.xpn.xwiki.plugin.charts.exceptions.DataSourceException removed
157 com.xpn.xwiki.plugin.charts.exceptions.EmptyDataSourceException: Class com.xpn.xwiki.plugin.charts.exceptions.EmptyDataSourceException removed
158 com.xpn.xwiki.plugin.charts.exceptions.GenerateException: Class com.xpn.xwiki.plugin.charts.exceptions.GenerateException removed
159 com.xpn.xwiki.plugin.charts.exceptions.InvalidArgumentException: Class com.xpn.xwiki.plugin.charts.exceptions.InvalidArgumentException removed
160 com.xpn.xwiki.plugin.charts.exceptions.InvalidParamException: Class com.xpn.xwiki.plugin.charts.exceptions.InvalidParamException removed
161 com.xpn.xwiki.plugin.charts.exceptions.MissingArgumentException: Class com.xpn.xwiki.plugin.charts.exceptions.MissingArgumentException removed
162 com.xpn.xwiki.plugin.charts.exceptions.MissingDataSourceException: Class com.xpn.xwiki.plugin.charts.exceptions.MissingDataSourceException removed
163 com.xpn.xwiki.plugin.charts.exceptions.MissingMandatoryParamException: Class com.xpn.xwiki.plugin.charts.exceptions.MissingMandatoryParamException removed
164 com.xpn.xwiki.plugin.charts.exceptions.NoHeaderColumnException: Class com.xpn.xwiki.plugin.charts.exceptions.NoHeaderColumnException removed
165 com.xpn.xwiki.plugin.charts.exceptions.NoHeaderRowException: Class com.xpn.xwiki.plugin.charts.exceptions.NoHeaderRowException removed
166 com.xpn.xwiki.plugin.charts.exceptions.ParamException: Class com.xpn.xwiki.plugin.charts.exceptions.ParamException removed
167 com.xpn.xwiki.plugin.charts.exceptions.RowIndexOutOfBoundsException: Class com.xpn.xwiki.plugin.charts.exceptions.RowIndexOutOfBoundsException removed
168 com.xpn.xwiki.plugin.charts.params.AbstractChartParam: Class com.xpn.xwiki.plugin.charts.params.AbstractChartParam removed
169 com.xpn.xwiki.plugin.charts.params.BooleanChartParam: Class com.xpn.xwiki.plugin.charts.params.BooleanChartParam removed
170 com.xpn.xwiki.plugin.charts.params.CategoryLabelPositionsChartParam: Class com.xpn.xwiki.plugin.charts.params.CategoryLabelPositionsChartParam removed
171 com.xpn.xwiki.plugin.charts.params.ChartParam: Class com.xpn.xwiki.plugin.charts.params.ChartParam removed
172 com.xpn.xwiki.plugin.charts.params.ChartParams: Class com.xpn.xwiki.plugin.charts.params.ChartParams removed
173 com.xpn.xwiki.plugin.charts.params.ChoiceChartParam: Class com.xpn.xwiki.plugin.charts.params.ChoiceChartParam removed
174 com.xpn.xwiki.plugin.charts.params.ColorChartParam: Class com.xpn.xwiki.plugin.charts.params.ColorChartParam removed
175 com.xpn.xwiki.plugin.charts.params.DateChartParam: Class com.xpn.xwiki.plugin.charts.params.DateChartParam removed
176 com.xpn.xwiki.plugin.charts.params.DateFormatChartParam: Class com.xpn.xwiki.plugin.charts.params.DateFormatChartParam removed
177 com.xpn.xwiki.plugin.charts.params.DateTickMarkPositionChartParam: Class com.xpn.xwiki.plugin.charts.params.DateTickMarkPositionChartParam removed
178 com.xpn.xwiki.plugin.charts.params.DateTickUnitChartParam: Class com.xpn.xwiki.plugin.charts.params.DateTickUnitChartParam removed
179 com.xpn.xwiki.plugin.charts.params.DefaultChartParams: Class com.xpn.xwiki.plugin.charts.params.DefaultChartParams removed
180 com.xpn.xwiki.plugin.charts.params.DefaultChartParams2: Class com.xpn.xwiki.plugin.charts.params.DefaultChartParams2 removed
181 com.xpn.xwiki.plugin.charts.params.DoubleChartParam: Class com.xpn.xwiki.plugin.charts.params.DoubleChartParam removed
182 com.xpn.xwiki.plugin.charts.params.FloatChartParam: Class com.xpn.xwiki.plugin.charts.params.FloatChartParam removed
183 com.xpn.xwiki.plugin.charts.params.FontChartParam: Class com.xpn.xwiki.plugin.charts.params.FontChartParam removed
184 com.xpn.xwiki.plugin.charts.params.HorizontalAlignmentChartParam: Class com.xpn.xwiki.plugin.charts.params.HorizontalAlignmentChartParam removed
185 com.xpn.xwiki.plugin.charts.params.IntegerChartParam: Class com.xpn.xwiki.plugin.charts.params.IntegerChartParam removed
186 com.xpn.xwiki.plugin.charts.params.ListChartParam: Class com.xpn.xwiki.plugin.charts.params.ListChartParam removed
187 com.xpn.xwiki.plugin.charts.params.LocaleChartParam: Class com.xpn.xwiki.plugin.charts.params.LocaleChartParam removed
188 com.xpn.xwiki.plugin.charts.params.MapChartParam: Class com.xpn.xwiki.plugin.charts.params.MapChartParam removed
189 com.xpn.xwiki.plugin.charts.params.NumberFormatChartParam: Class com.xpn.xwiki.plugin.charts.params.NumberFormatChartParam removed
190 com.xpn.xwiki.plugin.charts.params.NumberTickUnitChartParam: Class com.xpn.xwiki.plugin.charts.params.NumberTickUnitChartParam removed
191 com.xpn.xwiki.plugin.charts.params.PlotOrientationChartParam: Class com.xpn.xwiki.plugin.charts.params.PlotOrientationChartParam removed
192 com.xpn.xwiki.plugin.charts.params.Point2DChartParam: Class com.xpn.xwiki.plugin.charts.params.Point2DChartParam removed
193 com.xpn.xwiki.plugin.charts.params.RangeTypeChartParam: Class com.xpn.xwiki.plugin.charts.params.RangeTypeChartParam removed
194 com.xpn.xwiki.plugin.charts.params.RectangleAnchorChartParam: Class com.xpn.xwiki.plugin.charts.params.RectangleAnchorChartParam removed
195 com.xpn.xwiki.plugin.charts.params.RectangleEdgeChartParam: Class com.xpn.xwiki.plugin.charts.params.RectangleEdgeChartParam removed
196 com.xpn.xwiki.plugin.charts.params.RectangleInsetsChartParam: Class com.xpn.xwiki.plugin.charts.params.RectangleInsetsChartParam removed
197 com.xpn.xwiki.plugin.charts.params.RendererClassChartParam: Class com.xpn.xwiki.plugin.charts.params.RendererClassChartParam removed
198 com.xpn.xwiki.plugin.charts.params.ShapeChartParam: Class com.xpn.xwiki.plugin.charts.params.ShapeChartParam removed
199 com.xpn.xwiki.plugin.charts.params.StringChartParam: Class com.xpn.xwiki.plugin.charts.params.StringChartParam removed
200 com.xpn.xwiki.plugin.charts.params.StrokeChartParam: Class com.xpn.xwiki.plugin.charts.params.StrokeChartParam removed
201 com.xpn.xwiki.plugin.charts.params.TimePeriodClassChartParam: Class com.xpn.xwiki.plugin.charts.params.TimePeriodClassChartParam removed
202 com.xpn.xwiki.plugin.charts.params.VerticalAlignmentChartParam: Class com.xpn.xwiki.plugin.charts.params.VerticalAlignmentChartParam removed
203 com.xpn.xwiki.plugin.charts.plots.AreaPlotFactory: Class com.xpn.xwiki.plugin.charts.plots.AreaPlotFactory removed
204 com.xpn.xwiki.plugin.charts.plots.BarPlotFactory: Class com.xpn.xwiki.plugin.charts.plots.BarPlotFactory removed
205 com.xpn.xwiki.plugin.charts.plots.CategoryPlotFactory: Class com.xpn.xwiki.plugin.charts.plots.CategoryPlotFactory removed
206 com.xpn.xwiki.plugin.charts.plots.LinePlotFactory: Class com.xpn.xwiki.plugin.charts.plots.LinePlotFactory removed
207 com.xpn.xwiki.plugin.charts.plots.PiePlotFactory: Class com.xpn.xwiki.plugin.charts.plots.PiePlotFactory removed
208 com.xpn.xwiki.plugin.charts.plots.PlotFactory: Class com.xpn.xwiki.plugin.charts.plots.PlotFactory removed
209 com.xpn.xwiki.plugin.charts.plots.TableXYDatasetFactory: Class com.xpn.xwiki.plugin.charts.plots.TableXYDatasetFactory removed
210 com.xpn.xwiki.plugin.charts.plots.TimePlotFactory: Class com.xpn.xwiki.plugin.charts.plots.TimePlotFactory removed
211 com.xpn.xwiki.plugin.charts.plots.TimeSeriesCollectionFactory: Class com.xpn.xwiki.plugin.charts.plots.TimeSeriesCollectionFactory removed
212 com.xpn.xwiki.plugin.charts.plots.XYPlotFactory: Class com.xpn.xwiki.plugin.charts.plots.XYPlotFactory removed
213 com.xpn.xwiki.plugin.charts.source.DataSource: Class com.xpn.xwiki.plugin.charts.source.DataSource removed
214 com.xpn.xwiki.plugin.charts.source.DataSourceFactory: Class com.xpn.xwiki.plugin.charts.source.DataSourceFactory removed
215 com.xpn.xwiki.plugin.charts.source.DefaultDataSource: Class com.xpn.xwiki.plugin.charts.source.DefaultDataSource removed
216 com.xpn.xwiki.plugin.charts.source.MainDataSourceFactory: Class com.xpn.xwiki.plugin.charts.source.MainDataSourceFactory removed
217 com.xpn.xwiki.plugin.charts.source.ObjectDataSourceFactory: Class com.xpn.xwiki.plugin.charts.source.ObjectDataSourceFactory removed
218 com.xpn.xwiki.plugin.charts.source.ObjectidDataSourceFactory: Class com.xpn.xwiki.plugin.charts.source.ObjectidDataSourceFactory removed
219 com.xpn.xwiki.plugin.charts.source.TableDataSource: Class com.xpn.xwiki.plugin.charts.source.TableDataSource removed
220 com.xpn.xwiki.plugin.charts.source.TableDataSourceFactory: Class com.xpn.xwiki.plugin.charts.source.TableDataSourceFactory removed
221 com.xpn.xwiki.plugin.charts.wizard.DatasourceDefaultsHelper: Class com.xpn.xwiki.plugin.charts.wizard.DatasourceDefaultsHelper removed
222 com.xpn.xwiki.plugin.charts.wizard.FontHelper: Class com.xpn.xwiki.plugin.charts.wizard.FontHelper removed
223 {{/code}}
224 )))
225 * {{todo/}}Andreas, please explain why we have to break backward compatibility for the Chart module.(((
226 {{code language="none"}}
227 org.xwiki.chart.model.ChartModel: Method 'public org.jfree.chart.axis.Axis getAxis(int)' has been added to an interface
228 org.xwiki.chart.model.ChartModel: Method 'public java.lang.Number getCellValue(int, int)' has been removed
229 org.xwiki.chart.model.ChartModel: Method 'public int getColumnCount()' has been removed
230 org.xwiki.chart.model.ChartModel: Method 'public java.lang.String getColumnHeader(int)' has been removed
231 org.xwiki.chart.model.ChartModel: Method 'public org.jfree.data.general.Dataset getDataset()' has been added to an interface
232 org.xwiki.chart.model.ChartModel: Method 'public int getRowCount()' has been removed
233 org.xwiki.chart.model.ChartModel: Method 'public java.lang.String getRowHeader(int)' has been removed
234 org.xwiki.chart.model.DefaultChartModel: Class org.xwiki.chart.model.DefaultChartModel removed
235 org.xwiki.rendering.macro.chart.ChartDataSource: Field PARAMS has been removed, but it was previously a constant
236 org.xwiki.rendering.macro.chart.ChartDataSource: Field SOURCE has been removed, but it was previously a constant
237 {{/code}}
238 )))
239 * The getParametersMap() should never have been a public API. I was probably added there just as a way to reduce the Class Fan Out, which is the wrong solution.(((
240 {{code language="none"}}
241 org.xwiki.rendering.macro.chart.ChartMacroParameters: Method 'public java.util.Map getParametersMap()' has been removed
242 {{/code}}
243 )))
244 * Added a new sendMessageFromTemplate() method signature that uses a map of parameters instead of a VelocityContext(((
245 {{code language="none"}}
246 com.xpn.xwiki.plugin.mailsender.MailSender: Method 'public int sendMessageFromTemplate(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map)' has been added to an interface
247 {{/code}}
248 )))

Get Connected