Last modified by Thomas Mortagne on 2023/10/13

Hide last authors
Guillaume Delhumeau 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
5 This is the release notes for [[XWiki Commons>>]], [[XWiki Rendering>>]], [[XWiki Platform>>]] and [[XWiki Enterprise>>]]. They share the same release notes as they are released together and have the same version.
Marius Dumitru Florea 30.2 7 This is mostly an improvements release on new performance report design, Solr search UI and Watchlist notifications. It also introduces the experimental support for flavors in the Distribution Wizard and a new Extension History section in the administration.
Guillaume Delhumeau 1.1 8
Thomas Mortagne 20.1 9 = New and Noteworthy (since XWiki 7.1M2) =
Guillaume Delhumeau 1.1 10
Thomas Mortagne 34.1 11 [[Full list of issues fixed and Dashboard for 7.1>>]].
Guillaume Delhumeau 1.1 12
Thomas Mortagne 3.1 13 == New performance report improvements ==
Guillaume Delhumeau 1.1 14
Thomas Mortagne 3.1 15 The debug performance tree has been made a bit more dynamic to be able to open/close nodes.
Guillaume Delhumeau 1.1 16
Vincent Massol 11.2 17 {{image reference="elapsedtimetree2.png" width="650px"/}}
Thomas Mortagne 3.1 18
Guillaume Delhumeau 11.1 19 == Flavor ==
21 {{warning}}
22 This feature is experimental and you should try it only for test purpose.
23 {{/warning}}
Thomas Mortagne 35.1 25 If no default distribution is configured, [[Distribution Wizard will now let you select the flavor to install>>Documentation.UserGuide.Features.DistributionWizard||anchor="HFlavor"]].
Guillaume Delhumeau 11.1 26
27 {{image reference="dw-flavor-step1.png"/}}
Eduard Moraru 15.1 29 == WatchList ==
Eduard Moraru 27.2 31 The realtime watchlist messages are now handled separately from the schedules (hourly, daily, weekly) notifications. We have a separate template for them and, because of this, can now display them in a more user-friendly way and they can be threaded/grouped by your email client by the document they occurred in. For more information and screenshots, please see the [[documentation>>extensions:Extension.Watchlist Application||anchor="HRealtimenotifications"]].
Eduard Moraru 15.1 32
Eduard Moraru 27.2 33 {{image reference="watchlistRealtimeChangesMailConversation.png"}}{{/image}}
Eduard Moraru 15.1 34
Thomas Mortagne 17.1 35 == New Solr search UI options ==
37 It's now possible to disable highlighting and faceting which are very slow tasks. Can be controlled directly from the search UI or from the Main.SolrSearchConfig document.
39 {{image reference="solr_options.png"/}}
Thomas Mortagne 21.1 41 See [[extensions:Extension.Solr Search Application||anchor="HSearchUIoptions"]].
Marius Dumitru Florea 29.1 43 == Extension History ==
45 The [[Extension Manager Application>>extensions:Extension.Extension Manager Application]] has a new section that shows the history of the extension-related actions (e.g. install, uninstall, repair, etc.) offering support for selective export, import and replay of history records. This basically means that an administrator can:
Marius Dumitru Florea 31.1 46
Marius Dumitru Florea 29.1 47 * keep track of the extensions that are installed/uninstalled on his wiki (see who performed the action and when, in reverse chronological order, most recent first)
48 * perform a couple of actions (e.g. install/upgrade a group of extensions) on a single wiki and then replay those actions on multiple wikis
Marius Dumitru Florea 31.1 50 {{image reference="extensionHistorySources.png"/}}
Marius Dumitru Florea 29.1 51
Guillaume Delhumeau 1.1 52 == Miscellaneous ==
Eduard Moraru 8.2 54 * The default document cache size has been increased from 100 to 500 elements
55 * Minor visual consistency improvement of the tag cloud header of the LiveTable
Guillaume Delhumeau 1.1 56
Thomas Mortagne 34.1 57 See the [[full list of JIRA issues>><version>%22&tempMax=1000]] fixed in this release.
Guillaume Delhumeau 1.1 58
59 = For Developers =
Thomas Mortagne 14.1 61 == Script oriented advanced extension search API ==
Guillaume Delhumeau 1.1 62
Thomas Mortagne 13.1 63 A new script oriented API has been added to use advanced extension search possibilities introduced in 7.0. See [[extensions:Extension.Extension Script Module||anchor="HSearch"]].
Guillaume Delhumeau 1.1 64
Marius Dumitru Florea 31.1 65 == Record and Replay Extension Actions ==
67 The [[Extension Module>>extensions:Extension.Extension Script Module]] has a new script service to access the extension history and to replay recorded history actions. The extension history records the extension related jobs (e.g. install, uninstall, etc.) along with the decisions taken by the user during the job execution (e.g. merge conflicts, delete unused pages). This means for instance that you can replay an upgrade without the need to handle again the merge conflicts.
Marius Dumitru Florea 31.2 69 The recording is performed by listening to the [[job events>>extensions:Extension.Job Module||anchor="HEvents"]] fired during the execution of an extension action, including the new ##QuestionAskedEvent## and ##QuestionAnsweredEvent## introduced in this release.
Guillaume Delhumeau 1.1 71 == Upgrades ==
73 The following dependencies have been upgraded:
Thomas Mortagne 34.1 75 * [[Bootstrap 3.3.4>>]]
76 * [[Bootswatch 3.3.4+1>>]]
77 * [[reflections 0.9.10>>]]
78 * [[Infinispan 7.2.2>>]]
Guillaume Delhumeau 1.1 79
80 == Miscellaneous ==
Guillaume Delhumeau 7.1 82 * Extension upgrade plan job now support checking specific list of installed extensions (instead of the top level installed extensions)
Thomas Mortagne 35.1 83 * You can now [[disable the automatic start of Distribution Wizard>>Documentation.UserGuide.Features.DistributionWizard||anchor="HDisabletheautomaticstartofDistributionWizard"]] with two new options.
Thomas Mortagne 9.1 84 * It's possible to disable minification from configuration file. Set ##debug.minify## to ##false##.
Guillaume Delhumeau 1.1 85
86 = Translations =
88 The following translations have been updated:
Thomas Mortagne 28.1 90 {{language codes="fr"/}}
Guillaume Delhumeau 1.1 91
92 = Tested Browsers & Databases =
Ramona Conoro 33.1 94 {{include reference="TestReports.ManualTestReportSummaryXWiki71RC1"/}}
Guillaume Delhumeau 1.1 95
96 = Known issues =
Thomas Mortagne 34.1 98 * [[Bugs we know about>>]]
Guillaume Delhumeau 1.1 99
100 = Backward Compatibility and Migration Notes =
102 == General Notes ==
104 When upgrading make sure you compare your ##xwiki.cfg##, and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that you should add so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
Denis Gervalle 16.1 106 == Mail API changes ==
108 The young mail API has been refactored to provide better and more detailed error reporting.
110 The MailState enumeration has been extended to report more detailed mail state (##prepare_success##, ##prepare_error##, ##send_success##, ##send_error## and ##send_fatal_error##). The MailListener interface has been extended to provide more detailed event. Now each mail batch should use new independent listener. The listener receive the batch identifier of its own batch when the mail preparation starts (###onPrepareBegin()##), and have to keep it for all subsequent events. Independent success and error events for both the prepare and send phases are provided for each message (###onPrepareMessageSuccess()##, ###onPrepareMessageError()##, ###onSendMessageSuccess()##, ###onSendMessagError()##). Moreover, premature interruption of the prepare phase is caught and reported (###onPrepareFatalError##). Inability of the send phase to retrieve a message for sending is also explicitly reported (###onSendMessageFatalError()##).
Thomas Mortagne 21.1 112 There is now more than one message state representing an error, therefore, the MailStatusResult interface has been extended with a ###getAllError()## method to retrieve all message status in error. Moreover, the ###getTotalMailCount()# may represent a partial total in case of failure of the prepare phase. In that case, it represents the number of mails sent to the send phase. As a consequence, ###isProcessed()# and ###waitTillProcess()# now considerer the batch to be processed when all successfully prepared mail has been sent, or failed to be prepared or sent.##
Denis Gervalle 16.1 113
114 The mail API is now tracking individual message based on the standard Message-ID headers, which made it fully compliant with RFC-822 WRT the mail identification. Caller that want to specify custom Message-ID may do so by extending MimeMessage to preserve the Message-ID of the message. Caller is also responsible to ensure that different messages are identified by unique message identifier.
Thomas Mortagne 21.1 116 {{warning}}
117 Sending multiple messages with the same Message-ID is no more supported since it does not respect the RFC-822 standard.
118 {{/warning}}
Denis Gervalle 16.1 119
Vincent Massol 16.2 120 Reusing the same Message-ID for retrying a failed message is allowed and will be tracked by the same status if the batch identifier is also reused.
Denis Gervalle 16.1 121
Guillaume Delhumeau 1.1 122 == API Breakages ==
Thomas Mortagne 22.1 124 The following APIs were modified since XWiki 7.0.1:
Guillaume Delhumeau 1.1 125
Thomas Mortagne 22.1 126 * Add support for advanced search(((
Guillaume Delhumeau 1.1 127 {{code language="none"}}
Thomas Mortagne 22.1 128 org.xwiki.extension.repository.ExtensionRepositoryManager: Method 'public org.xwiki.extension.repository.result.IterableResult search(' has been added to an interface
Guillaume Delhumeau 1.1 129 {{/code}}
Thomas Mortagne 22.1 130 )))
131 * Add support for named steps(((
132 {{code language="none"}}
133 org.xwiki.job.event.status.JobProgress: Method 'public org.xwiki.job.event.status.JobProgressStep getCurrentStep()' has been added to an interface
134 org.xwiki.job.event.status.JobProgress: Method 'public org.xwiki.job.event.status.JobProgressStep getRootStep()' has been added to an interface
135 org.xwiki.job.event.status.JobProgressManager: Method 'public void endStep(java.lang.Object)' has been added to an interface
136 org.xwiki.job.event.status.JobProgressManager: Method 'public void pushLevelProgress(java.lang.Object)' has been added to an interface
137 org.xwiki.job.event.status.JobProgressManager: Method 'public void startStep(java.lang.Object)' has been added to an interface
138 org.xwiki.job.event.status.JobProgressManager: Method 'public void startStep(java.lang.Object, java.lang.String)' has been added to an interface
139 org.xwiki.job.event.status.JobProgressManager: Method 'public void startStep(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object[])' has been added to an interface
140 org.xwiki.job.event.status.JobProgressManager: Method 'public void startStep(java.lang.Object, org.xwiki.logging.Message)' has been added to an interface
141 {{/code}}
142 )))
143 * Add new helper(((
144 {{code language="none"}}
145 org.xwiki.job.event.status.JobProgressManager: Method 'public java.lang.Object call(java.util.concurrent.Callable, java.lang.Object)' has been added to an interface
146 org.xwiki.job.event.status.JobProgressManager: Method 'public java.lang.Object call(java.util.concurrent.Callable, int, java.lang.Object)' has been added to an interface
147 {{/code}}
148 )))
149 * Add a new method to this young API(((
150 {{code language="none"}}
151 Method 'public org.xwiki.rendering.syntax.Syntax getOutputSyntax()' has been added to an interface
152 {{/code}}
153 )))
154 * Not really been removed but now return Object. Breaks code building that use this method but should be ok for runtime.(((
155 {{code language="none"}}
156 com.xpn.xwiki.XWiki: Method 'public com.xpn.xwiki.render.XWikiRenderingEngine getRenderingEngine()' has been removed
157 {{/code}}
158 )))
159 * Not used since a long time now (XWikiRenderingEngine is a component) and impossible to implement it without a trigerring most of the old rendering engine.(((
160 {{code language="none"}}
161 com.xpn.xwiki.XWiki: Method 'public void setRenderingEngine(com.xpn.xwiki.render.XWikiRenderingEngine)' has been removed
162 {{/code}}
163 )))
164 * Young API. Added handling of URL parameters(((
165 {{code language="none"}}
166 org.xwiki.url.ExtendedURL: In method 'public ExtendedURL(' the number of arguments has changed
167 {{/code}}
168 )))
169 * Never supposed to be an API(((
170 {{code language="none"}}
171 com.xpn.xwiki.plugin.scheduler.StatusListener: Class com.xpn.xwiki.plugin.scheduler.StatusListener removed
172 {{/code}}
173 )))
174 * Young API. Remove useless Session argument since the MimeMessage will be given a valid Session when it's deserialized from the mail content store for sending.(((
175 {{code language="none"}}
176 org.xwiki.mail.MimeMessageFactory: In method 'public java.lang.Object createMessage(javax.mail.Session, java.lang.Object, java.util.Map)' the number of arguments has changed
177 {{/code}}
178 )))
179 * Young API. Allow load a single message status and added sorting capabilities for multiple statuses.(((
180 {{code language="none"}}
181 org.xwiki.mail.MailStatusStore: In method 'public java.util.List load(java.util.Map, int, int)' the number of arguments has changed
182 org.xwiki.mail.MailStatusStore: Return type of method 'public java.util.List load(java.util.Map, int, int)' has been changed to org.xwiki.mail.MailStatus
183 org.xwiki.mail.MailStatusStore: Method 'public java.util.List load(java.util.Map, int, int, java.lang.String, boolean)' has been added to an interface
184 {{/code}}
185 )))
186 * Young API. Large refactoring for adding the ability to register new URL Resource Types(((
187 {{code language="none"}}
188 org.xwiki.resource.AbstractResourceReference: Parameter 2 of 'public void addParameter(java.lang.String, java.lang.String)' has changed its type to java.lang.Object
189 org.xwiki.resource.ResourceReference: Parameter 2 of 'public void addParameter(java.lang.String, java.lang.String)' has changed its type to java.lang.Object
190 org.xwiki.resource.ResourceReferenceHandlerManager: Method 'public boolean canHandle(java.lang.Object)' has been added to an interface
191 org.xwiki.resource.ResourceReferenceResolver: Removed field TYPE_URL
192 org.xwiki.resource.ResourceReferenceResolver: In method 'public org.xwiki.resource.ResourceReference resolve(java.lang.Object, java.util.Map)' the number of arguments has changed
193 org.xwiki.resource.ResourceType: Method 'public org.xwiki.resource.ResourceType fromString(java.lang.String)' has been removed
194 {{/code}}
195 )))
196 * Young API. Rename MimeMessageWrapper into ScriptMimeMessage (not a wrapper anymore). Velocity scripts are not affected by the change.(((
197 {{code language="none"}}
198 org.xwiki.mail.script.MailSenderScriptService: Return type of method 'public org.xwiki.mail.script.MimeMessageWrapper createMessage(java.lang.String, java.lang.Object, java.util.Map)' has been changed to org.xwiki.mail.script.ScriptMimeMessage
199 org.xwiki.mail.script.MailSenderScriptService: Return type of method 'public org.xwiki.mail.script.MimeMessageWrapper createMessage(java.lang.String, java.lang.Object)' has been changed to org.xwiki.mail.script.ScriptMimeMessage
200 org.xwiki.mail.script.MailSenderScriptService: Return type of method 'public org.xwiki.mail.script.MimeMessageWrapper createMessage()' has been changed to org.xwiki.mail.script.ScriptMimeMessage
201 org.xwiki.mail.script.MailSenderScriptService: Return type of method 'public org.xwiki.mail.script.MimeMessageWrapper createMessage(java.lang.String, java.lang.String)' has been changed to org.xwiki.mail.script.ScriptMimeMessage
202 org.xwiki.mail.script.MailSenderScriptService: Return type of method 'public org.xwiki.mail.script.MimeMessageWrapper createMessage(java.lang.String, java.lang.String, java.lang.String)' has been changed to org.xwiki.mail.script.ScriptMimeMessage
203 org.xwiki.mail.script.MimeMessageWrapper: Class org.xwiki.mail.script.MimeMessageWrapper removed
204 {{/code}}
205 )))
206 * Young API. Change of API to fix bug in waitForProcessin(). Scripting API has not been broken, only the Java API has(((
207 {{code language="none"}}
208 org.xwiki.mail.MailResult: Method 'public boolean isProcessed()' has been removed
209 org.xwiki.mail.MailResult: Method 'public void waitTillProcessed(long)' has been removed
210 org.xwiki.mail.MailStatusResult: Method 'public long getProcessedMailCount()' has been added to an interface
211 org.xwiki.mail.MailStatusResult: Method 'public long getSize()' has been removed
212 org.xwiki.mail.MailStatusResult: Method 'public long getTotalMailCount()' has been added to an interface
213 org.xwiki.mail.MailStatusResult: Method 'public boolean isProcessed()' has been added to an interface
214 org.xwiki.mail.MailStatusResult: Method 'public void waitTillProcessed(long)' has been added to an interface
215 {{/code}}
216 )))
217 * Young API. Class moved to the "script" package. Script service usage is unchanged.(((
218 {{code language="none"}}
219 org.xwiki.mail.MailStorageScriptService: Class org.xwiki.mail.MailStorageScriptService removed
220 {{/code}}
221 )))

Get Connected