Wiki source code of Release Notes for XWiki Enterprise 4.1
Last modified by Thomas Mortagne on 2023/10/13
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
![]() |
18.1 | 5 | {{error}} |
![]() |
19.1 | 6 | A bug making impossible to install a XAR extension containing an attachment has been found in this version and is fixed in [[4.1.1>>ReleaseNotesXWikiEnterprise411]]. |
![]() |
20.1 | 7 | A regression when diffing document history was found in 4.1 and 4.1.1 and is fixed in [[4.1.2>>ReleaseNotesXWikiEnterprise412]]. |
8 | We thus recommend to not install this version and use 4.1.2 or later instead. | ||
![]() |
18.1 | 9 | {{/error}} |
10 | |||
![]() |
21.1 | 11 | {{error}} |
![]() |
22.1 | 12 | We've found an important issue in this release with our automatic data migration when upgrading from a version earlier than 4.0. Specifically the migration may fail when migrating wikis having stats, see [[XWIKI-7976>>https://jira.xwiki.org/browse/XWIKI-7976]] and when migrating DBs that was migrated from MySQL MyISAM previously, see [[XWIKI-7985>>https://jira.xwiki.org/browse/XWIKI-7985]]. In addition we've also realized that the migration process can be slow on large XWiki databases and we have speed up the process. All these issue are fixed in release 4.1.3. |
![]() |
21.1 | 13 | {{/error}} |
14 | |||
![]() |
15.3 | 15 | This is the second release of the 4.x cycle ([[Roadmap>>Main.Roadmap]]). This release brings Extension Manager improvements such as merging of configuration documents during extension upgrade, a more gentle learning curve by hiding internal documents from non-technical users, and lots of goodies for the developers such as easy sharing of variables between scripts in different languages. |
![]() |
1.1 | 16 | |
17 | = New and Noteworthy (since XWiki Enterprise 4.0 version) = | ||
18 | |||
![]() |
22.1 | 19 | Here are notable new features and improvements. For the full list of issues (including statistics) see the [[JIRA Dashboard>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11090]]. |
![]() |
1.1 | 20 | |
![]() |
4.2 | 21 | == Improvements to the Extension Manager == |
![]() |
1.1 | 22 | |
![]() |
20.2 | 23 | The speed and reliability of the [[Extension Repository>>extensions:Extension.Repository Application]] has been improved considerably. For example the [[XWiki.org Extension Repository>>extensions:Extension.WebHome]] is now much faster when you access it from XWiki Enterprise and you should now be able to browse and install extensions in no time. |
![]() |
1.1 | 24 | |
![]() |
4.2 | 25 | Upgrading applications with related configuration documents is now handled using the merge conflict resolution UI. Changes are displayed as if you were comparing versions from a document's history. |
![]() |
1.1 | 26 | |
![]() |
4.2 | 27 | {{image reference="EM-mergeConflict.png"/}} |
![]() |
1.1 | 28 | |
![]() |
4.2 | 29 | If extension installation fails, the error message is extracted from the logs and displayed. You can view the full stack trace by clicking on the error message. |
![]() |
1.1 | 30 | |
![]() |
4.2 | 31 | (in the image below the job of computing the install plan fails) |
32 | |||
33 | image:EM-extensionLog.png | ||
34 | |||
35 | The install and uninstall plans display extensions like in the dependency section. This way you can follow the link of an extension to find out more about what is going to be installed. | ||
36 | |||
37 | image:EM-uninstallPlan.png | ||
38 | |||
39 | The install and uninstall process is now completely asynchronous. You can see below how the progress is indicated. | ||
40 | |||
41 | image:EM-asyncInstall.png | ||
42 | |||
43 | See the [[Extension Manager Application documentation>>doc:extensions:Extension.Extension Manager Application]] for more details. | ||
44 | |||
45 | == Hide technical documents from non-technical users == | ||
46 | |||
47 | * Users who do not opt to see hidden documents do not see them on panels or in search results. | ||
![]() |
1.1 | 48 | * For advanced users, it is now possible to specify that a document should be hidden when editing the document (only //wiki// or //wysiwyg// edit modes):((( |
![]() |
13.5 | 49 | [[image:HideDocument.png||style="border:1px solid silver" width="240px"]] |
![]() |
1.1 | 50 | |
![]() |
13.2 | 51 | And now there's a new setting in the user profiles, letting users choose whether they want hidden documents to appear in search results and panels: |
![]() |
1.1 | 52 | |
![]() |
13.5 | 53 | [[image:ShowHiddenDocuments.png||style="border:1px solid silver" width="300px"]] |
![]() |
1.1 | 54 | |
55 | * If the user doesn't set explicitly the Hidden setting value in his profile, he won't see hidden documents by default. Thus seeing hidden documents is an explicit choice. | ||
56 | ))) | ||
57 | |||
58 | |||
![]() |
4.2 | 59 | == New types of charts == |
60 | |||
61 | We've [[added 2 new types of charts>>extensions:Extension.Chart Macro]], **bar3D** and **line3D**, which draw 3D charts. | ||
62 | |||
63 | For example the following code: | ||
64 | |||
![]() |
1.1 | 65 | {{code}} |
![]() |
4.2 | 66 | {{chart type='bar3D' source='inline' params='range:B2-B9;series:columns'}} |
67 | |=Date|=Value | ||
68 | |2012-02-21|1.97 | ||
69 | |2012-02-26|2.96 | ||
70 | |2012-03-04|3.93 | ||
71 | |2012-03-11|4.84 | ||
72 | |2012-03-18|5.83 | ||
73 | |2012-03-25|4.5 | ||
74 | |2012-04-01|3.85 | ||
75 | |2012-04-08|4.87 | ||
76 | {{/chart}} | ||
77 | {{/code}} | ||
![]() |
1.1 | 78 | |
![]() |
4.2 | 79 | Will be rendered as this: |
80 | |||
81 | [[image:chart-example.png]] | ||
82 | |||
83 | |||
84 | It's now possible to select [[custom colors in Chart graphs>>extensions:Extension.Chart Macro]]. For example: | ||
85 | |||
86 | {{code}} | ||
87 | {{chart type="pie" source="inline" params="range:B2-D5;series:columns;colors:C3E3F7,1D9FF5,015891,012A45" title="Chart Test" width="320" height="240"}} | ||
88 | | |X |Y |Z | ||
89 | |Q1|1.2|3.4|1.3 | ||
90 | |Q2|4.5|3.4|2.3 | ||
91 | |Q3|1.2|4.5|9.0 | ||
92 | |Q4|3.4|1.2|1.2 | ||
93 | {{/chart}} | ||
![]() |
1.1 | 94 | {{/code}} |
95 | |||
![]() |
4.2 | 96 | Will generate: |
97 | |||
98 | {{image reference="extensions:Extension.Chart Macro@customcolors.png"/}} | ||
99 | |||
100 | |||
![]() |
10.2 | 101 | == New macro for sending messages == |
102 | |||
103 | Whereas the Activity Stream allows users to send a message as well as observing messages and activities of other users, this macro allows the explicit message sending functionality to be duplicated in other places without including the activity stream as well. | ||
104 | |||
105 | The code: | ||
106 | |||
![]() |
10.3 | 107 | {{code language="none"}} |
![]() |
10.4 | 108 | {{messageSender /}} |
![]() |
10.2 | 109 | {{/code}} |
110 | |||
111 | Produces the following: | ||
112 | |||
113 | {{image reference="messageSenderMacro.png"/}} | ||
114 | |||
![]() |
14.2 | 115 | == Danish Translation == |
![]() |
10.2 | 116 | |
![]() |
14.3 | 117 | [[image:Denmark.png||width=50px]] XWiki Enterprise is now available in the Danish language. |
![]() |
1.1 | 118 | |
![]() |
15.2 | 119 | == Global and per-user timezone setting == |
![]() |
14.2 | 120 | |
![]() |
15.2 | 121 | Wiki administrators can now use a specific timezone regardless of the clock configuration on the wiki server. The following setting can be found under **Administration > Localization**. |
122 | Users will find the same setting, allowing them to see dates reflecting their current location. The user setting is accessible through **Profile > Preferences > Localization Preferences**. | ||
123 | |||
124 | {{image reference="timezone.jpg"/}} | ||
125 | |||
126 | |||
![]() |
4.2 | 127 | = For developers = |
128 | |||
![]() |
13.9 | 129 | * New rendering [[Compatibility Test Suite>>rendering:Main.CompatibilityTestSuite]] to make testing easier and simplify implementation of new syntax Parsers and Renderers. You can checkout the [[Compatibility report>>rendering:Main.SyntaxReport]] for all the syntaxes that are supported out of the box by XWiki. |
![]() |
4.2 | 130 | |
![]() |
13.9 | 131 | * New diff/merge module has been added to make easier to deal with diff and merge both from component and scripts. See [[Diff module >>extensions:Extension.Diff Module]] for details. |
![]() |
13.6 | 132 | |
![]() |
14.5 | 133 | == Easy variable sharing between scripts == |
134 | It's now much easier to share variable between languages. | ||
135 | You can now create a variable in a Groovy script and use it in a Velocity script. | ||
136 | |||
137 | For example:((( | ||
138 | {{code language="none"}} | ||
![]() |
16.1 | 139 | {{python}} |
140 | a = "This" | ||
141 | {{/python}} | ||
142 | |||
![]() |
14.5 | 143 | {{groovy}} |
![]() |
16.1 | 144 | b = "changes"; |
![]() |
14.5 | 145 | {{/groovy}} |
146 | |||
147 | {{velocity}} | ||
![]() |
16.1 | 148 | $a $b everything. |
![]() |
14.5 | 149 | {{/velocity}} |
150 | {{/code}} | ||
151 | ))) | ||
152 | |||
![]() |
14.6 | 153 | == Script access to Component Manager == |
![]() |
23.1 | 154 | With the [[new Component Access Script Service>>Documentation.DevGuide.Scripting||anchor="HXWikiComponentAccess"]] privileged scripts can now easily load components from the Component Manager (XWiki's dependency injection system). This is not available in Velocity because of it's limited capability to load classes. |
![]() |
14.5 | 155 | |
156 | For example:((( | ||
157 | {{code}} | ||
158 | {{groovy}} | ||
159 | def myComponent = services.component.getInstance(MyComponentRole.class) | ||
160 | {{/groovy}} | ||
161 | {{/code}} | ||
162 | ))) | ||
163 | |||
![]() |
14.6 | 164 | == Velocity interprets Strings in function calls == |
![]() |
14.5 | 165 | With the [[new Velocity uberspector>>doc:extensions:Extension.Velocity Module||anchor="HMethodArgumentsUberspector"]], Velocity will convert method arguments in string form to formal parameter types when the passed arguments don't match the method signature. |
166 | |||
167 | For example:((( | ||
168 | {{code}} | ||
169 | $obj.someMethod('VALUE') | ||
170 | // will forward to | ||
171 | obj.someMethod(SomeEnum.VALUE) | ||
172 | // if obj has a method with signature someMethod(SomeEnum) and not someMethod(String) | ||
173 | {{/code}} | ||
174 | |||
175 | But this is not limited to enums. The conversion is done using the [[Properties Module>>doc:extensions:Extension.Properties Module]] which means you can create and register custom converters for data types specific to your application domain. | ||
176 | ))) | ||
177 | |||
178 | |||
![]() |
13.6 | 179 | == Taming of Groovy scripts == |
180 | |||
181 | Since traditionally, Groovy scripts can enter into unstoppable infinite loops, use reflection to violate security assumptions, access server resources, or even crash the virtual machine, they have been off limits to non-administrators. | ||
182 | |||
183 | In a bid to open up new scripting options to less permitted users (especially in wiki farms where getting Programming Rights is a problem since it means having those rights on the whole farm), steps have been taken to make Groovy safer. | ||
184 | |||
185 | Groovy scripts are now technically allowed to users having simple Edit rights but the Groovy Sandbox is currently very restrictive (said differently, you cannot do anything useful with it at the moment! :)). Now that we have the mechanism in place our plan is to slowly open up allowed operations. | ||
186 | |||
187 | To enable and test this feature read the document for both the [[Commons Groovy Module>>extensions:Extension.GroovyModuleCommons]] and the [[Platform Groovy Module>>extensions:Extension.GroovyModulePlatform]]. | ||
188 | |||
189 | === Compilation customizers === | ||
190 | |||
191 | Customizers can be registered to alter the Groovy script as it is compiled such as filtering System.exit() calls and adding timeout checks to loops to prevent infinite looping. Learn more: http://www.jroller.com/melix/entry/upcoming_groovy_goodness_automatic_thread | ||
192 | |||
![]() |
14.7 | 193 | === Stop run-away scripts after a configurable timeout === |
![]() |
13.6 | 194 | |
195 | You can now configure your wiki to stop Groovy scripts after a configurable amount of run time. For example if you wish to have a timeout of 10 seconds for your XWiki runtime, you'd configure xwiki's ##xwiki.properties## with: | ||
196 | |||
197 | {{code language="none"}} | ||
198 | groovy.compilationCustomizers=timedinterrupt | ||
199 | groovy.customizer.timedInterrupt.timeout=10 | ||
200 | {{/code}} | ||
201 | |||
![]() |
14.7 | 202 | == Shorthand HQL queries in the Query Manager == |
![]() |
13.6 | 203 | |
204 | When you send a search query to the Query Manager such as {{code language="none"}}where doc.creationDate > '2008-01-01'{{/code}} It is now assumed that you meant: | ||
205 | |||
206 | {{code language="none"}} | ||
207 | select doc.fullName from XWikiDocument as doc where doc.creationDate > '2008-01-01' | ||
208 | {{/code}} | ||
209 | |||
210 | == Bug fixes and improvements == | ||
211 | |||
![]() |
22.1 | 212 | * Filenames of entries in XAR files are now [[always decoded using UTF-8 during import>>https://jira.xwiki.org/browse/XWIKI-6863]]. The previous behavior was to use the platform encoding. The filenames have always been encoded using UTF-8 in XAR files, but now also the Unicode extra fields are included, so unpacking XAR files with InfoZIP will result in the filenames beeing properly reencoded with the local filesystems character set. |
![]() |
15.2 | 213 | * Temporary files are now placed in a special sub-directory of the normal temporary directory, this sub-directory called "xwiki-temp" is deleted after each startup of the xwiki system so it is critical that nothing else it placed in it. This improvement means that temporary files such as cached attachments will be removed even if the JVM crashes. |
![]() |
13.6 | 214 | * Fixed wrong calculation of IDs for stats values making it impossible to upgrade a wiki to version 4.0 if statistics collection is enabled. |
215 | * Faster first startup time by not running a database migration when it is not needed. | ||
216 | * Simplify reverse proxy setup by making all HTTP redirects use relitive URLs. | ||
217 | * Add support for bold, italic and monospace in the TeX Renderer | ||
218 | * Was impossible to delete then recreate a subwiki with the same name, fixed. | ||
219 | * Fixed Javascript error when scrolling over Search Suggest results in Internet Explorer 6. | ||
220 | * Trying to change a document's parent from the REST service resulted in an error, fixed. | ||
221 | * It is now possible for non-administrators to execute cross-wiki XWQL queries. | ||
222 | * Move ComponentManager deprecated methods to Legacy modules | ||
223 | * New Groovy module in xwiki-commons | ||
224 | * Add legacy module structure for XWiki Rendering | ||
225 | * Have one Maven module per XWiki Rendering syntax | ||
226 | * Separate Event Syntax from Rendering API by moving it to a Syntax module | ||
227 | * Plain syntax and Event syntax have been moved out of Rendering API nto their own modules. | ||
![]() |
22.1 | 228 | * [[XWIKI-7913>>https://jira.xwiki.org/browse/XWIKI-7913]] Could not register a Javascript or CSS skin extension for the whole wiki. |
![]() |
1.1 | 229 | |
![]() |
13.6 | 230 | |
![]() |
22.1 | 231 | 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+%28fixVersion+%3D+%224.1-milestone-1%22+%7C%7C+fixVersion+%3D+%224.1-milestone-2%22+%7C%7C+fixVersion+%3D+%224.1-rc-1%22+%7C%7C+fixVersion+%3D+%224.1%22%29&tempMax=1000]] fixed in the 4.1 release cycle. |
![]() |
13.6 | 232 | |
233 | |||
![]() |
1.1 | 234 | == Upgrades == |
235 | |||
![]() |
13.6 | 236 | The following dependencies have been upgraded since XWiki Enterprise 4.0 |
![]() |
1.1 | 237 | |
![]() |
13.6 | 238 | === Upgraded in XWiki Enterprise Milestone 1 === |
![]() |
1.1 | 239 | |
![]() |
13.6 | 240 | * Tika 1.1 |
241 | * JGroups 3.0.10 | ||
242 | * Pygments 1.5 | ||
243 | * Selenium 2.21 | ||
244 | * Maven AspectJ Plugin 1.4 | ||
245 | * commons-io 2.3 | ||
246 | * Maven Shade plugin 1.6 | ||
247 | |||
248 | === Upgraded in XWiki Enterprise Milestone 2 === | ||
249 | |||
250 | * Restlet 2.0.14 | ||
251 | ** Prior to Restlet 2.0.14, there was a REST bug allowing arbitrary filesystem read access for registered users. | ||
252 | * Reflections 0.9.7 | ||
253 | |||
![]() |
1.1 | 254 | = Tested Browsers = |
255 | |||
256 | 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]]): | ||
257 | |||
![]() |
19.2 | 258 | {{browser name="firefox" version="13"/}} |
![]() |
1.1 | 259 | |
![]() |
19.2 | 260 | {{browser name="chrome" version="17"/}} |
![]() |
1.1 | 261 | |
![]() |
19.2 | 262 | {{browser name="iexplorer" version="8"/}} |
![]() |
1.1 | 263 | |
![]() |
19.2 | 264 | {{browser name="iexplorer" version="9"/}} |
265 | |||
266 | |||
![]() |
1.1 | 267 | = Tested Databases = |
268 | |||
![]() |
19.2 | 269 | {{database name="hsqldb" version="2.2.8"/}} |
![]() |
1.1 | 270 | |
![]() |
19.2 | 271 | {{database name="mysql" version="5.x"/}} |
![]() |
1.1 | 272 | |
![]() |
19.2 | 273 | {{database name='oracle' version= '11.x'/}} |
274 | |||
275 | {{database name='postgresql' version= '9.x'/}} | ||
276 | |||
277 | |||
![]() |
1.1 | 278 | = Known issues = |
279 | |||
![]() |
22.1 | 280 | * [[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]] |
![]() |
1.1 | 281 | |
282 | = Test Report = | ||
283 | |||
284 | You can check the [[manual test report>>TestReports.ManualTestReportXE41]] to learn about what was tested and the results on various browsers. | ||
285 | |||
286 | = Backward Compatibility and Migration Notes = | ||
287 | |||
288 | == General Notes == | ||
289 | |||
290 | {{info}} | ||
291 | If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases// in your //xwiki.cfg// file if you want to explicitly name some databases to be migrated as the default is now to migrate all databases. Database that are not migrated could not be accessed. | ||
292 | {{/info}} | ||
293 | |||
294 | You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above. | ||
295 | |||
296 | {{warning}} | ||
297 | 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. | ||
298 | {{/warning}} | ||
299 | |||
![]() |
15.5 | 300 | == Issues specific to XWiki Enterprise 4.1 == |
![]() |
13.8 | 301 | |
302 | The old experimental real-time synchronization plugin for the WYSIWYG content editor has been retired. We hope that its functionality will be replaced by the real-time editing feature developed on the [[Wiki 3.0>>https://github.com/xwiki-contrib/wiki30]] project. If you want to continue using the old plugin you need to: | ||
303 | |||
304 | * take the code from [[##xwiki-contrib/retired## GitHub repo>>https://github.com/xwiki-contrib/retired/tree/master/xwiki-platform-wysiwyg-plugin-sync]] | ||
305 | * add the client and server side as dependencies to the WYSIWYG client and server side respectively | ||
306 | * modify ##WysiwygEditorFactory## to register the factory of the sync plugin | ||
307 | * rebuild the editor and update the jars and client side resources on your XWiki Enterprise instance | ||
308 | |||
![]() |
1.1 | 309 | == API Breakages == |
310 | |||
311 | The following APIs were modified since version 4.0: | ||
312 | |||
![]() |
13.7 | 313 | * Breakage in Query module done to support adding several Filters to a Query:((( |
![]() |
1.1 | 314 | {{code language="none"}} |
![]() |
13.7 | 315 | org.xwiki.query.QueryFilter: Method 'public java.util.List filterResults(java.util.List)' has been added to an interface |
316 | {{/code}} | ||
317 | ))) | ||
318 | * This method should have been internal from the beginning:((( | ||
319 | {{code language="none"}} | ||
![]() |
10.4 | 320 | org.xwiki.environment.EnvironmentConfiguration: Class org.xwiki.environment.EnvironmentConfiguration removed |
![]() |
13.7 | 321 | {{/code}} |
322 | ))) | ||
323 | * The Job module is new and is still considered a "young API":((( | ||
324 | {{code language="none"}} | ||
![]() |
10.4 | 325 | org.xwiki.job.AbstractJob: Changed type of field status from org.xwiki.job.internal.DefaultJobStatus to org.xwiki.job.internal.AbstractJobStatus |
326 | org.xwiki.job.AbstractJob: Return type of method 'protected org.xwiki.job.internal.DefaultJobStatus createNewStatus(org.xwiki.job.Request)' has been changed to org.xwiki.job.internal.AbstractJobStatus | ||
327 | org.xwiki.job.AbstractJob: Method 'protected java.lang.String getId()' has been removed | ||
328 | org.xwiki.job.AbstractRequest: Return type of method 'public java.lang.String getId()' has been changed to java.util.List | ||
329 | org.xwiki.job.Job: Method 'public void join()' has been added to an interface | ||
330 | org.xwiki.job.Job: Method 'public boolean join(long, java.util.concurrent.TimeUnit)' has been added to an interface | ||
331 | org.xwiki.job.JobManager: Method 'public org.xwiki.job.event.status.JobStatus getJobStatus(java.util.List)' has been added to an interface | ||
332 | org.xwiki.job.Request: Return type of method 'public java.lang.String getId()' has been changed to java.util.List | ||
333 | org.xwiki.job.event.JobEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List | ||
334 | org.xwiki.job.event.JobFinishedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List | ||
335 | org.xwiki.job.event.JobStartedEvent: Return type of method 'public java.lang.String getJobId()' has been changed to java.util.List | ||
336 | org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getEndDate()' has been added to an interface | ||
337 | org.xwiki.job.event.status.JobStatus: Method 'public java.util.Date getStartDate()' has been added to an interface | ||
![]() |
13.7 | 338 | {{/code}} |
339 | ))) | ||
340 | * The Extension module is relatively new and is still undergoing some API tuning:((( | ||
341 | {{code language="none"}} | ||
342 | org.xwiki.extension.job.plan.ExtensionPlan: Return type of method 'public java.util.Collection getTree()' has been changed to org.xwiki.extension.job.plan.ExtensionPlanTree | ||
343 | org.xwiki.extension.version.VersionConstraint: Method 'public boolean isCompatible(org.xwiki.extension.version.Version)' has been added to an interface | ||
344 | {{/code}} | ||
345 | ))) | ||
346 | * This class was added in 3.2M2 by error in a user-public package. It's been moved again in the internal package as it should have been. We don't expect many users to be affected by this:((( | ||
347 | {{code language="none"}} | ||
![]() |
10.4 | 348 | com.xpn.xwiki.doc.merge.MergeUtils: Class com.xpn.xwiki.doc.merge.MergeUtils removed |
![]() |
13.7 | 349 | {{/code}} |
350 | ))) | ||
351 | * In 2.2M1 we refactored BaseCollection to add getXClass() but we forgot to add it to the ObjectInterface interface. Even though this could break user we think it's very limited since nobody should implement directly ObjectInterface; instead everyone should extend BaseClass or BaseCollection:((( | ||
352 | {{code language="none"}} | ||
![]() |
10.4 | 353 | com.xpn.xwiki.objects.ObjectInterface: Method 'public com.xpn.xwiki.objects.classes.BaseClass getXClass(com.xpn.xwiki.XWikiContext)' has been added to an interface |
![]() |
13.7 | 354 | {{/code}} |
355 | ))) | ||
356 | * The Autotag plugin has been extracted from the oldcore module and is now a module on its own so the following are not real breakages:((( | ||
357 | {{code language="none"}} | ||
![]() |
10.4 | 358 | com.xpn.xwiki.plugin.autotag.AutoTagPlugin: Class com.xpn.xwiki.plugin.autotag.AutoTagPlugin removed |
359 | com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI: Class com.xpn.xwiki.plugin.autotag.AutoTagPluginAPI removed | ||
360 | com.xpn.xwiki.plugin.autotag.FrenchStemmer: Class com.xpn.xwiki.plugin.autotag.FrenchStemmer removed | ||
361 | com.xpn.xwiki.plugin.autotag.Tag: Class com.xpn.xwiki.plugin.autotag.Tag removed | ||
362 | com.xpn.xwiki.plugin.autotag.TagCloud: Class com.xpn.xwiki.plugin.autotag.TagCloud removed | ||
![]() |
13.7 | 363 | {{/code}} |
364 | ))) | ||
365 | * The WYSIWYG Diff and Sync plugins have been extracted into their own modules so the following are not real breakages:((( | ||
366 | {{code language="none"}} | ||
![]() |
10.4 | 367 | org.xwiki.gwt.wysiwyg.client.Images: Method 'public com.google.gwt.resources.client.ImageResource sync()' has been removed |
368 | org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String sync()' has been removed | ||
369 | org.xwiki.gwt.wysiwyg.client.diff.AddDelta: Class org.xwiki.gwt.wysiwyg.client.diff.AddDelta removed | ||
370 | org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta: Class org.xwiki.gwt.wysiwyg.client.diff.ChangeDelta removed | ||
371 | org.xwiki.gwt.wysiwyg.client.diff.Chunk: Class org.xwiki.gwt.wysiwyg.client.diff.Chunk removed | ||
372 | org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta: Class org.xwiki.gwt.wysiwyg.client.diff.DeleteDelta removed | ||
373 | org.xwiki.gwt.wysiwyg.client.diff.Delta: Class org.xwiki.gwt.wysiwyg.client.diff.Delta removed | ||
374 | org.xwiki.gwt.wysiwyg.client.diff.Diff: Class org.xwiki.gwt.wysiwyg.client.diff.Diff removed | ||
375 | org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm: Class org.xwiki.gwt.wysiwyg.client.diff.DiffAlgorithm removed | ||
376 | org.xwiki.gwt.wysiwyg.client.diff.DiffException: Class org.xwiki.gwt.wysiwyg.client.diff.DiffException removed | ||
377 | org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.DifferentiationFailedException removed | ||
378 | org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException: Class org.xwiki.gwt.wysiwyg.client.diff.PatchFailedException removed | ||
379 | org.xwiki.gwt.wysiwyg.client.diff.Revision: Class org.xwiki.gwt.wysiwyg.client.diff.Revision removed | ||
380 | org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor: Class org.xwiki.gwt.wysiwyg.client.diff.RevisionVisitor removed | ||
381 | org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff: Class org.xwiki.gwt.wysiwyg.client.diff.SimpleDiff removed | ||
382 | org.xwiki.gwt.wysiwyg.client.diff.ToString: Class org.xwiki.gwt.wysiwyg.client.diff.ToString removed | ||
383 | org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.DiffNode removed | ||
384 | org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff: Class org.xwiki.gwt.wysiwyg.client.diff.myers.MyersDiff removed | ||
385 | org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode: Class org.xwiki.gwt.wysiwyg.client.diff.myers.PathNode removed | ||
386 | org.xwiki.gwt.wysiwyg.client.diff.myers.Snake: Class org.xwiki.gwt.wysiwyg.client.diff.myers.Snake removed | ||
387 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin removed | ||
388 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPluginFactory removed | ||
389 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncResult removed | ||
390 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncService removed | ||
391 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncServiceAsync removed | ||
392 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncStatus removed | ||
393 | org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools: Class org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncTools removed | ||
394 | org.xwiki.wysiwyg.server.plugin.sync.SyncEngine: Class org.xwiki.wysiwyg.server.plugin.sync.SyncEngine removed | ||
395 | org.xwiki.wysiwyg.server.plugin.sync.SyncException: Class org.xwiki.wysiwyg.server.plugin.sync.SyncException removed | ||
![]() |
1.1 | 396 | {{/code}} |
![]() |
13.7 | 397 | ))) |