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 second and last milestone of the XWiki 4.3 version ([[Roadmap>>xwiki:Main.Roadmap]]). This release brings a new and experimental Solr Search engine, new default date, user and group pickers, a new localization module allowing applications to register translations, REST API additions and various other improvements.
8
9 = New and Noteworthy (since XWiki 4.3 Milestone 1) =
10
11 == Experimental Solr based search engine ==
12
13 A new and experimental search engine based on [[Apache Solr>>http://lucene.apache.org/solr/]] is now available.
14
15 The new search UI offers advanced search features and results highlighting. Future versions will also include [[Faceted Search>>http://en.wikipedia.org/wiki/Faceted_search]].
16
17 {{image reference="solrSearchFilters.png"/}}
18
19 The new engine has it's own index, separate from the Lucene one, which is stored by default in the ##<permanent directory>/solr## folder. In the same folder you can also access Solr's configuration files together with the index's schema.xml which you can tweak to achieve better results. To change this folder's location, you can either pass the ##-Dsolr.solr.home## system property when you start the application container (tomcat/jetty/etc.) or you can set the ##search.solr.home## property in ##WEB-INF/xwiki.properties##.
20
21 For now, indexing is done only __manually__ by using the Search Administration UI. Because of this, in order to get any search results, you have to go to ##Administration > Applications > Search## and index/reindex the wiki. Any changes in the content of the wiki will not be searchable until you manually reindex. This limitation will be removed in future versions, once the feature matures.
22
23 {{image reference="solrSearchAdmin.png"/}}
24
25 This new search engine is not enable by default, since Lucene is still the default one, but, if you wish to try it out, it can be enable by going to ##Administration > Applications > Search > Search engine to use## and selecting ##Solr (Experimental)##.
26
27 == Default date picker ==
28
29 The date picker from [[AppWithinMinutes>>extensions:Extension.App Within Minutes Application]] is now the default picker for all [[XClass>>Documentation.DevGuide.DataModel]] properties of type Date. This means that you'll get a date picker when editing an object with a Date property even if you didn't use AppWithinMinutes to create the XClass.
30
31 {{image reference="DatePicker.png"/}}
32
33 If for some reason you don't want to use the new date picker then you can edit the XClass and uncheck "Use Date Picker" for the Date property.
34
35 == User and Group picker ==
36
37 We added a user and group picker that is used by default for all [[XClass>>Documentation.DevGuide.DataModel]] properties of type "List of Users" and "List of Groups". When multiple selection is enabled, each selected user is added to the list above the picker. You can remove individual users from the list of selected users or you can clear the entire list.
38
39 {{image reference="userPicker-editMultiple.png"/}}
40
41 In single selection mode whenever you select an user it overwrites the previously selected user.
42
43 {{image reference="userPicker-editSingle-objectEditor.png"/}}
44
45 The list of selected users is displayed in view mode in a similar way. For each user there is a link to their profile page.
46
47 {{image reference="userPicker-viewMultiple.png"/}}
48
49 The group picker behaves in the same way. The group alias is the name of the group document, the group name is the title of the group document while the group avatar is the first image attached to the group document.
50
51 {{image reference="groupPicker-editMultiple.png"/}}
52
53 The user and group picker can be configured to display a scope toggle that can be used to switch between local and global user/group suggestions.
54
55 {{image reference="userPicker-scope.png"/}}
56
57 You can check this if you edit a group from a subwiki (in a multiwiki environment).
58
59 {{image reference="groupSheet-edit.png"/}}
60
61 == New 'Title' and 'Content' fields for App Within Minutes ==
62
63 We added two new field types to the field palette: Title and Content. They are very useful if you want to store some of your data in the title and/or the content of your application entries. All the rest of the field types store their values in object properties, i.e. in an object attached to the application entry. See the [[App Within Minutes documentation>>extensions:Extension.App Within Minutes Application||anchor="HFieldPalette"]] for more details.
64
65 {{image reference="AWM-fieldPalette.png"/}}
66
67 == Miscellaneous ==
68
69 * Search Admin UI improvements ({{jira style="enum" url="https://jira.xwiki.org"}}XWIKI-8408{{/jira}}):(((
70 {{image reference="searchAdminUINew.png"/}}
71 )))
72 * Automatically register translations for the FAQ and IRCBot applications
73
74 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.3-milestone-2%22&tempMax=1000]] fixed in this release.
75
76 = For Developers =
77
78 == New Localization Module ==
79
80 A new localization module has been introduced to replace the old XWikiMessageTool.
81
82 See [[extensions:Extension.Localization Module]] for more details.
83
84 == REST API Improvements ==
85
86 Some improvements have been done to the REST API with respect to wiki management.
87
88 * XARs can be imported in Wikis by POSTing it to the /wikis/{wikiName}
89 * New wikis can be created using the /wikimanager resource. (This resource is only available with XWiki Enterprise Manager)
90
91 For more information see [[XWiki RESTful API>>Documentation.UserGuide.Features.XWikiRESTfulAPI]]
92
93 In addition there was an XWiki REST API refactoring done with the introduction of a new ##xwiki-platform-rest-api## module containing all resource declarations. This is important for client and modules willing to use the REST API so that they can have all the information about resources using Java annotation. See [[XWiki RESTful API>>Documentation.UserGuide.Features.XWikiRESTfulAPI]].
94
95 == Easy creation of new XClass property types ==
96
97 It's now possible to create your own [[XClass property types>>Documentation.DevGuide.DataModel||anchor="HXWikiClasses2CObjects2CandProperties"]] without having to patch XWiki's old core. [[Adding a new property type>>Documentation.DevGuide.CreatingNewXClassPropertyTypes]] is as easy as implementing a component. This means you can extend the [[class editor>>Documentation.UserGuide.Features.PageEditing||anchor="HClasseseditingmode"]] and even the [[App Within Minutes>>extensions:Extension.App Within Minutes Application||anchor="HFieldPalette-1"]].
98
99 == Execution context property declarations ==
100
101 Execution context properties can now be associated with various metadata attributes. See [[the documentation on the execution context>>Documentation.DevGuide.SavingData||anchor="HExecutionContext"]] for more information.
102
103 == New Scope property for wiki components and UI extensions ==
104
105 A scope can now be defined for [[wiki components>>extensions:Extension.WikiComponent Module]] and [[UI extensions>>extensions:Extension.UIExtension Module]], it allows to restrict for which wiki(s) or which user they will be available:
106
107 * Current Wiki, the component/UI extension will be available in the current wiki
108 * Global, the component/UI extension will be available in all the wikis (wiki farms)
109 * Current User, the component/UI extension will only be available for its author
110
111 == Upgrades ==
112
113 The following dependencies have been upgraded:
114
115 * [[guava 13.0.1>>http://code.google.com/p/guava-libraries/wiki/Release13]]
116 * [[Lucene 3.6.1>>https://wiki.apache.org/lucene-java/Lucene3.6.1]]
117 * [[XStream 1.4.3>>http://xstream.codehaus.org/changes.html]]
118 * [[commons-io 2.4>>http://commons.apache.org/io/upgradeto2_4.html]]
119 * [[httpclient 4.2.2>>http://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES.txt]]
120 * [[commons-configuration 1.9>>http://commons.apache.org/configuration/changes-report.html#a1.9]]
121 * [[jcl-over-slf4j and log4j-over-slf4j 1.7.2>>http://www.slf4j.org/news.html]]
122 * Groovy [[1.8.7>>http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=18317]] [[1.8.8>>http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=18684]]
123 * [[JGroups 3.2.0.Final>>http://belaban.blogspot.fr/2012/10/jgroups-320final-released.html]]
124 * [[Xerces-J 2.10.0>>http://xerces.apache.org/xerces2-j/releases.html]]
125 * [[JavaMail 1.4.5>>http://www.oracle.com/technetwork/java/javamail/index-138643.html]]
126
127 == Miscellaneous ==
128
129 * Fixed a bug about incorrect results in multi-wiki lucene search in the REST API.
130 * Add a ##java.util.Locale## converter which allow:
131 ** using Locale in rendering macro parameter(s)
132 ** support Java method with Locale parameter(s) in Velocity. See [[Method Arguments Uberspector>>extensions:Extension.Velocity Module||anchor="HMethodArgumentsUberspector"]] for more details.
133 * Various String language based API of ##com.xpn.xwiki.XWiki## and ##com.xpn.xwiki.doc.XWikiDocument## classes are now deprecated for their newly introduced ##java.util.Locale## equivalents.
134
135 = Translations =
136
137 The following translations have been updated:
138
139 {{language codes="da, de, fr"/}}
140
141 = Known issues =
142
143 * [[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]]
144
145 = Backward Compatibility and Migration Notes =
146
147 == General Notes ==
148
149 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
150
151 {{warning}}
152 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.
153 {{/warning}}
154
155 == Issues specific to XWiki 4.3 Milestone 2 ==
156
157 * The methods setUrlPatternMatcher and getUrlPatternMatcher have been removed from the core class com.xpn.xwiki.XWiki. The underlying URLPatternMatcher could not really be used as a singleton instance and was causing irregular failures in the basic authentication method. Thus these methods cannot be meaningfully relied upon and have therefore been removed.
158 * When setting the value using setValue (or setList) on a list field in an XWiki object, the list will now be copied. To be able to update the list, you must call getValue (or getList) and update the returned list. This is due to {{jira style="enum" url="https://jira.xwiki.org"}}XWIKI-8398{{/jira}}.
159 * The behaviour of ##com.xpn.xwiki.api.PropertyClass#getClassType()## (public API) and ##com.xpn.xwiki.objects.classes.PropertyClass#getClassType()## (protected API) has changed. They don't return the canonical Java class name of the property implementation anymore but an implementation hint. Here's the code:(((
160 {{code language="java"}}
161 /**
162 * Each type of XClass property is identified by a string that specifies the data type of the property value (e.g.
163 * 'String', 'Number', 'Date') without disclosing implementation details. The internal implementation of an XClass
164 * property type can change over time but its {@code classType} should not.
165 * <p>
166 * The {@code classType} can be used as a hint to lookup various components related to this specific XClass property
167 * type. See {@link com.xpn.xwiki.internal.objects.classes.PropertyClassProvider} for instance.
168 *
169 * @return an identifier for the data type of the property value (e.g. 'String', 'Number', 'Date')
170 */
171 public String getClassType()
172 {
173 // By default the hint is computed by removing the Class suffix, if present, from the Java simple class name
174 // (without the package). Subclasses can overwrite this method to use a different hint format.
175 return StringUtils.removeEnd(getClass().getSimpleName(), "Class");
176 }
177 {{/code}}
178
179 This means that instead of returning ##com.xpn.xwiki.objects.classes.DBListClass## these methods now return ##DBList##. This is due to {{jira style="enum" url="https://jira.xwiki.org"}}XWIKI-8355{{/jira}}.
180 )))
181
182 == API Breakages ==
183
184 The following APIs were modified since 4.2:
185
186 * [Young API] Introduce API to associate dependency status to the namespace.(((
187 {{code language="none"}}
188 org.xwiki.extension.InstalledExtension: Method 'public boolean isDependency(java.lang.String)' has been added to an interface
189 {{/code}}
190 )))
191
192 * [Young API] Introduce ExtensionRepositoryDescriptor as a replacement of ExtensionRepositoryId(((
193 {{code language="none"}}
194 org.xwiki.extension.ExtensionManagerConfiguration: Method 'public java.util.Collection getExtensionRepositoryDescriptors()' has been added to an interface
195 org.xwiki.extension.repository.ExtensionRepository: Method 'public org.xwiki.extension.repository.ExtensionRepositoryDescriptor getDescriptor()' has been added to an interface
196 org.xwiki.extension.repository.ExtensionRepositoryFactory: Method 'public org.xwiki.extension.repository.ExtensionRepository createRepository(org.xwiki.extension.repository.ExtensionRepositoryDescriptor)' has been added to an interface
197 org.xwiki.extension.repository.ExtensionRepositoryManager: Method 'public org.xwiki.extension.repository.ExtensionRepository addRepository(org.xwiki.extension.repository.ExtensionRepositoryDescriptor)' has been added to an interface
198 org.xwiki.extension.repository.ExtensionRepositorySource: Method 'public java.util.Collection getExtensionRepositoryDescriptors()' has been added to an interface
199 {{/code}}
200 )))
201
202 * The ##userdirectory## and ##usertools## plugins have been retired(((
203 {{code language="none"}}
204 com.xpn.xwiki.plugin.userdirectory.Group: Class com.xpn.xwiki.plugin.userdirectory.Group removed
205 com.xpn.xwiki.plugin.userdirectory.UserDirectoryPlugin: Class com.xpn.xwiki.plugin.userdirectory.UserDirectoryPlugin removed
206 com.xpn.xwiki.plugin.userdirectory.UserDirectoryPluginAPI: Class com.xpn.xwiki.plugin.userdirectory.UserDirectoryPluginAPI removed
207 com.xpn.xwiki.plugin.usertools.XWikiUserManagementTools: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementTools removed
208 com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsAPI: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsAPI removed
209 com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsImpl: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsImpl removed
210 {{/code}}
211 )))
212
213 * This should be fixed: a new 'sendMessageFromTemplate' method was added before the 4.2 release and then removed only from master (4.3-SNAPSHOT). We need to decide what we do with this method.(((
214 {{code language="none"}}
215 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 removed
216 {{/code}}
217 )))
218
219 * Many REST API module classes that were not meant to be public have been moved to internal package.(((
220 {{code language="none"}}
221 org.xwiki.rest.ComponentsObjectFactory: Class org.xwiki.rest.ComponentsObjectFactory removed
222 org.xwiki.rest.Constants: Field ALLOWED_VALUES_ATTRIBUTE_NAME has been removed, but it was previously a constant
223 org.xwiki.rest.Constants: Field RELEASABLE_COMPONENT_REFERENCES has been removed, but it was previously a constant
224 org.xwiki.rest.Constants: Field XWIKI_COMPONENT_MANAGER has been removed, but it was previously a constant
225 org.xwiki.rest.DomainObjectFactory: Class org.xwiki.rest.DomainObjectFactory removed
226 org.xwiki.rest.RangeIterable: Class org.xwiki.rest.RangeIterable removed
227 org.xwiki.rest.Utils: Class org.xwiki.rest.Utils removed
228 org.xwiki.rest.XWikiAuthentication: Class org.xwiki.rest.XWikiAuthentication removed
229 org.xwiki.rest.XWikiJaxRsApplication: Class org.xwiki.rest.XWikiJaxRsApplication removed
230 org.xwiki.rest.XWikiRestletJaxRsApplication: Class org.xwiki.rest.XWikiRestletJaxRsApplication removed
231 org.xwiki.rest.XWikiRestletServlet: Class org.xwiki.rest.XWikiRestletServlet removed
232 org.xwiki.rest.XWikiSecretVerifier: Class org.xwiki.rest.XWikiSecretVerifier removed
233 org.xwiki.rest.XWikiSetupCleanupFilter: Class org.xwiki.rest.XWikiSetupCleanupFilter removed
234 org.xwiki.rest.exceptions.QueryExceptionMapper: Class org.xwiki.rest.exceptions.QueryExceptionMapper removed
235 org.xwiki.rest.exceptions.XWikiExceptionMapper: Class org.xwiki.rest.exceptions.XWikiExceptionMapper removed
236 org.xwiki.rest.representations.TextPlainReader: Class org.xwiki.rest.representations.TextPlainReader removed
237 org.xwiki.rest.representations.comments.FormUrlEncodedCommentReader: Class org.xwiki.rest.representations.comments.FormUrlEncodedCommentReader removed
238 org.xwiki.rest.representations.comments.TextPlainCommentReader: Class org.xwiki.rest.representations.comments.TextPlainCommentReader removed
239 org.xwiki.rest.representations.objects.FormUrlEncodedObjectReader: Class org.xwiki.rest.representations.objects.FormUrlEncodedObjectReader removed
240 org.xwiki.rest.representations.objects.FormUrlEncodedPropertyReader: Class org.xwiki.rest.representations.objects.FormUrlEncodedPropertyReader removed
241 org.xwiki.rest.representations.objects.TextPlainPropertyReader: Class org.xwiki.rest.representations.objects.TextPlainPropertyReader removed
242 org.xwiki.rest.representations.pages.FormUrlEncodedPageReader: Class org.xwiki.rest.representations.pages.FormUrlEncodedPageReader removed
243 org.xwiki.rest.representations.pages.TextPlainPageReader: Class org.xwiki.rest.representations.pages.TextPlainPageReader removed
244 org.xwiki.rest.representations.tags.FormUrlEncodedTagsReader: Class org.xwiki.rest.representations.tags.FormUrlEncodedTagsReader removed
245 org.xwiki.rest.representations.tags.TextPlainTagsReader: Class org.xwiki.rest.representations.tags.TextPlainTagsReader removed
246 org.xwiki.rest.resources.BaseAttachmentsResource: Class org.xwiki.rest.resources.BaseAttachmentsResource removed
247 org.xwiki.rest.resources.BaseAttachmentsResource$AttachmentInfo: Class org.xwiki.rest.resources.BaseAttachmentsResource$AttachmentInfo removed
248 org.xwiki.rest.resources.BaseSearchResult: Class org.xwiki.rest.resources.BaseSearchResult removed
249 org.xwiki.rest.resources.BaseSearchResult$SearchScope: Class org.xwiki.rest.resources.BaseSearchResult$SearchScope removed
250 org.xwiki.rest.resources.BrowserAuthenticationResource: Class org.xwiki.rest.resources.BrowserAuthenticationResource removed
251 org.xwiki.rest.resources.ModificationsResource: Class org.xwiki.rest.resources.ModificationsResource removed
252 org.xwiki.rest.resources.RootResource: Class org.xwiki.rest.resources.RootResource removed
253 org.xwiki.rest.resources.SyntaxesResource: Class org.xwiki.rest.resources.SyntaxesResource removed
254 org.xwiki.rest.resources.attachments.AttachmentAtPageVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentAtPageVersionResource removed
255 org.xwiki.rest.resources.attachments.AttachmentHistoryResource: Class org.xwiki.rest.resources.attachments.AttachmentHistoryResource removed
256 org.xwiki.rest.resources.attachments.AttachmentResource: Class org.xwiki.rest.resources.attachments.AttachmentResource removed
257 org.xwiki.rest.resources.attachments.AttachmentVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentVersionResource removed
258 org.xwiki.rest.resources.attachments.AttachmentsAtPageVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentsAtPageVersionResource removed
259 org.xwiki.rest.resources.attachments.AttachmentsResource: Class org.xwiki.rest.resources.attachments.AttachmentsResource removed
260 org.xwiki.rest.resources.classes.ClassPropertiesResource: Class org.xwiki.rest.resources.classes.ClassPropertiesResource removed
261 org.xwiki.rest.resources.classes.ClassPropertyResource: Class org.xwiki.rest.resources.classes.ClassPropertyResource removed
262 org.xwiki.rest.resources.classes.ClassResource: Class org.xwiki.rest.resources.classes.ClassResource removed
263 org.xwiki.rest.resources.classes.ClassesResource: Class org.xwiki.rest.resources.classes.ClassesResource removed
264 org.xwiki.rest.resources.comments.CommentResource: Class org.xwiki.rest.resources.comments.CommentResource removed
265 org.xwiki.rest.resources.comments.CommentVersionResource: Class org.xwiki.rest.resources.comments.CommentVersionResource removed
266 org.xwiki.rest.resources.comments.CommentsResource: Class org.xwiki.rest.resources.comments.CommentsResource removed
267 org.xwiki.rest.resources.comments.CommentsVersionResource: Class org.xwiki.rest.resources.comments.CommentsVersionResource removed
268 org.xwiki.rest.resources.objects.AllObjectsForClassNameResource: Class org.xwiki.rest.resources.objects.AllObjectsForClassNameResource removed
269 org.xwiki.rest.resources.objects.BaseObjectsResource: Class org.xwiki.rest.resources.objects.BaseObjectsResource removed
270 org.xwiki.rest.resources.objects.ObjectAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectAtPageVersionResource removed
271 org.xwiki.rest.resources.objects.ObjectPropertiesAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectPropertiesAtPageVersionResource removed
272 org.xwiki.rest.resources.objects.ObjectPropertiesResource: Class org.xwiki.rest.resources.objects.ObjectPropertiesResource removed
273 org.xwiki.rest.resources.objects.ObjectPropertyAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectPropertyAtPageVersionResource removed
274 org.xwiki.rest.resources.objects.ObjectPropertyResource: Class org.xwiki.rest.resources.objects.ObjectPropertyResource removed
275 org.xwiki.rest.resources.objects.ObjectResource: Class org.xwiki.rest.resources.objects.ObjectResource removed
276 org.xwiki.rest.resources.objects.ObjectsAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectsAtPageVersionResource removed
277 org.xwiki.rest.resources.objects.ObjectsForClassNameResource: Class org.xwiki.rest.resources.objects.ObjectsForClassNameResource removed
278 org.xwiki.rest.resources.objects.ObjectsResource: Class org.xwiki.rest.resources.objects.ObjectsResource removed
279 org.xwiki.rest.resources.pages.ModifiablePageResource: Class org.xwiki.rest.resources.pages.ModifiablePageResource removed
280 org.xwiki.rest.resources.pages.PageChildrenResource: Class org.xwiki.rest.resources.pages.PageChildrenResource removed
281 org.xwiki.rest.resources.pages.PageHistoryResource: Class org.xwiki.rest.resources.pages.PageHistoryResource removed
282 org.xwiki.rest.resources.pages.PageResource: Class org.xwiki.rest.resources.pages.PageResource removed
283 org.xwiki.rest.resources.pages.PageTagsResource: Class org.xwiki.rest.resources.pages.PageTagsResource removed
284 org.xwiki.rest.resources.pages.PageTranslationHistoryResource: Class org.xwiki.rest.resources.pages.PageTranslationHistoryResource removed
285 org.xwiki.rest.resources.pages.PageTranslationResource: Class org.xwiki.rest.resources.pages.PageTranslationResource removed
286 org.xwiki.rest.resources.pages.PageTranslationVersionResource: Class org.xwiki.rest.resources.pages.PageTranslationVersionResource removed
287 org.xwiki.rest.resources.pages.PageTranslationsResource: Class org.xwiki.rest.resources.pages.PageTranslationsResource removed
288 org.xwiki.rest.resources.pages.PageVersionResource: Class org.xwiki.rest.resources.pages.PageVersionResource removed
289 org.xwiki.rest.resources.pages.PagesResource: Class org.xwiki.rest.resources.pages.PagesResource removed
290 org.xwiki.rest.resources.spaces.SpaceAttachmentsResource: Class org.xwiki.rest.resources.spaces.SpaceAttachmentsResource removed
291 org.xwiki.rest.resources.spaces.SpaceResource: Class org.xwiki.rest.resources.spaces.SpaceResource removed
292 org.xwiki.rest.resources.spaces.SpaceSearchResource: Class org.xwiki.rest.resources.spaces.SpaceSearchResource removed
293 org.xwiki.rest.resources.spaces.SpacesResource: Class org.xwiki.rest.resources.spaces.SpacesResource removed
294 org.xwiki.rest.resources.tags.PagesForTagsResource: Class org.xwiki.rest.resources.tags.PagesForTagsResource removed
295 org.xwiki.rest.resources.tags.TagsResource: Class org.xwiki.rest.resources.tags.TagsResource removed
296 org.xwiki.rest.resources.wikis.WikiAttachmentsResource: Class org.xwiki.rest.resources.wikis.WikiAttachmentsResource removed
297 org.xwiki.rest.resources.wikis.WikiPagesResource: Class org.xwiki.rest.resources.wikis.WikiPagesResource removed
298 org.xwiki.rest.resources.wikis.WikiSearchResource: Class org.xwiki.rest.resources.wikis.WikiSearchResource removed
299 org.xwiki.rest.resources.wikis.WikisResource: Class org.xwiki.rest.resources.wikis.WikisResource removed
300 {{/code}}
301 )))
302
303 * The version field has been moved from Page to PageSummary which is the superclass of Page(((
304 {{code language="none"}}
305 org.xwiki.rest.model.jaxb.Page: Removed field version
306 {{/code}}
307 )))
308
309 * Added methods for creating workspaces and retrieving workspace templates.(((
310 {{code language="none"}}
311 org.xwiki.workspace.WorkspaceManager: Method 'public com.xpn.xwiki.plugin.wikimanager.doc.XWikiServer createWorkspace(java.lang.String, com.xpn.xwiki.plugin.wikimanager.doc.XWikiServer, java.lang.String)' has been added to an interface
312 org.xwiki.workspace.WorkspaceManager: Method 'public java.util.List getWorkspaceTemplates()' has been added to an interface
313 {{/code}}
314 )))
315
316 * The plugin has been moved to its own module. Not a breakage.(((
317 {{code language="none"}}
318 com.xpn.xwiki.plugin.feed.FeedPlugin: Class com.xpn.xwiki.plugin.feed.FeedPlugin removed
319 com.xpn.xwiki.plugin.feed.FeedPlugin$EntriesComparator: Class com.xpn.xwiki.plugin.feed.FeedPlugin$EntriesComparator removed
320 com.xpn.xwiki.plugin.feed.FeedPlugin$SyndEntryComparator: Class com.xpn.xwiki.plugin.feed.FeedPlugin$SyndEntryComparator removed
321 com.xpn.xwiki.plugin.feed.FeedPluginApi: Class com.xpn.xwiki.plugin.feed.FeedPluginApi removed
322 com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource: Class com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource removed
323 com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource$PropertySelector: Class com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource$PropertySelector removed
324 com.xpn.xwiki.plugin.feed.SyndEntrySource: Class com.xpn.xwiki.plugin.feed.SyndEntrySource removed
325 com.xpn.xwiki.plugin.feed.SyndEntrySourceApi: Class com.xpn.xwiki.plugin.feed.SyndEntrySourceApi removed
326 com.xpn.xwiki.plugin.feed.UpdateThread: Class com.xpn.xwiki.plugin.feed.UpdateThread removed
327 com.xpn.xwiki.plugin.feed.XWikiFeedFetcher: Class com.xpn.xwiki.plugin.feed.XWikiFeedFetcher removed
328 com.xpn.xwiki.plugin.feed.XWikiFeedFetcher$CredentialSupplier: Class com.xpn.xwiki.plugin.feed.XWikiFeedFetcher$CredentialSupplier removed
329 {{/code}}
330 )))
331
332 * IRCBot is still a young API. Added a new initialize() method to support installing the IRC Bot application in a subwiki(((
333 {{code language="none"}}
334 org.xwiki.ircbot.IRCBot: Method 'public void initialize(java.lang.String)' has been added to an interface
335 {{/code}}
336 )))
337
338 * WikiComponent is still a young API. Moved the class to the internal package(((
339 {{code language="none"}}
340 org.xwiki.component.wiki.MethodOutputHandler: Class org.xwiki.component.wiki.MethodOutputHandler removed
341 org.xwiki.component.wiki.WikiComponentInvocationHandler: Class org.xwiki.component.wiki.WikiComponentInvocationHandler removed
342 {{/code}}
343 )))
344
345 * WikiComponent is still a young API. Replaced the getRole() method with getRoleType() to implement XWIKI-8233, "Allow wiki components to implement parameterized types"(((
346 {{code language="none"}}
347 org.xwiki.component.wiki.WikiComponent: Method 'public java.lang.Class getRole()' has been removed
348 org.xwiki.component.wiki.WikiComponent: Method 'public java.lang.reflect.Type getRoleType()' has been added to an interface
349 {{/code}}
350 )))
351
352 * WikiComponent is still a young API. Removed some unnecessary methods(((
353 {{code language="none"}}
354 org.xwiki.component.wiki.WikiComponent: Method 'public java.util.Map getHandledMethods()' has been removed
355 org.xwiki.component.wiki.WikiComponent: Method 'public java.util.List getImplementedInterfaces()' has been removed
356 {{/code}}
357 )))
358
359 * WikiComponent is still a young API. Added this method to implement XWIKI-8234, "Allow wiki components to be registered at different levels (user / wiki / global)"(((
360 {{code language="none"}}
361 org.xwiki.component.wiki.WikiComponent: Method 'public org.xwiki.model.reference.DocumentReference getAuthorReference()' has been added to an interface
362 org.xwiki.component.wiki.WikiComponent: Method 'public org.xwiki.component.wiki.WikiComponentScope getScope()' has been added to an interface
363 {{/code}}
364 )))
365
366 * UIExtension is still a young API. Replaced the List of Block by a Block since Block can now hold a list of Block(((
367 {{code language="none"}}
368 org.xwiki.uiextension.UIExtension: Return type of method 'public java.util.List execute()' has been changed to org.xwiki.rendering.block.Block
369 {{/code}}
370 )))
371
372 * UIExtension is still a young API. getName() has been renamed to getId()(((
373 {{code language="none"}}
374 org.xwiki.uiextension.UIExtension: Method 'public java.lang.String getId()' has been added to an interface
375 org.xwiki.uiextension.UIExtension: Method 'public java.lang.String getName()' has been removed
376 {{/code}}
377 )))
378
379 * Added a common method to all elements to set all the data from another element. Technically this does not really break anything because all elements are supposed to extends BaseElement(((
380 {{code language="none"}}
381 com.xpn.xwiki.objects.ElementInterface: Method 'public boolean apply(com.xpn.xwiki.objects.ElementInterface, boolean)' has been added to an interface
382 {{/code}}
383 )))
384
385 * Elemenents must be added to the wrapping NotifyOnList to ensure that the property is marked 'dirty' when updated. To avoid that this mechanism is circumvented, the field is made final.(((
386 {{code language="none"}}
387 com.xpn.xwiki.objects.ListProperty: Field list is now final
388 {{/code}}
389 )))
390
391 * Removed language field because the information is now stored as Locale instead of String and it should have never been protected anyway.(((
392 {{code language="none"}}
393 com.xpn.xwiki.doc.XWikiDocument: Removed field language
394 {{/code}}
395 )))
396
397 * URLPatternMatcher instances cannot generally be reused (because the underlaying Perl5Matcher cannot be reused) on different strings and with different patterns and a new instance must be produced on demand. It is, thus, meaningless to set an instance. If there is any code relying on this method, it is broken already. Thus, we should remove this without going through deprecation. We might as well remove the getter.(((
398 {{code language="none"}}
399 com.xpn.xwiki.XWiki: Method 'public void setUrlPatternMatcher(org.securityfilter.filter.URLPatternMatcher)' has been removed
400 com.xpn.xwiki.XWiki: Method 'public org.securityfilter.filter.URLPatternMatcher getUrlPatternMatcher()' has been removed
401 {{/code}}
402 )))
403
404 * Removed unused field(((
405 {{code language="none"}}
406 com.xpn.xwiki.tool.backup.ImportMojo: Field MPNAME_DESCRIPTION has been removed, but it was previously a constant
407 {{/code}}
408 )))

Get Connected