Wiki source code of Release Notes for XWiki 12.9

Last modified by Manuel Leduc on 2023/04/12

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]] and [[XWiki Platform>>http://platform.xwiki.org]]. They share the same release notes as they are released together and have the same version.
6
7 This release brings improved display of liked pages and users who like pages, usability improvements when changing page syntax, finer configuration options for skipping the recycle bin and a new and improved Ratings API.
8
9 {{error}}
10 Some important bugs have been discovered since XWiki 12.9 has been released:
11
12 {{jira url="https://jira.xwiki.org" source="jql"}}
13 category = 10000 and affectedVersion in (12.9-rc-1, 12.9) and (fixVersion != 12.9-rc-1 or fixVersion is empty) and priority = Blocker and resolution in (Fixed, Unresolved) and component != "Development Issues only"
14 {{/jira}}
15
16 If one or several of these bugs impact you, then you should wait for the next version to been released.
17 {{/error}}
18
19 = New and Noteworthy (since XWiki 12.8) =
20
21 [[Full list of issues fixed and Dashboard for 12.9>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=14622]].
22
23 {{releasenotechanges/}}
24
25 === Upgrades ===
26
27 The following runtime dependencies have been upgraded (they have a different release cycle than [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]] and [[XWiki Platform>>http://platform.xwiki.org]]):
28
29 * [[CSS4J 3.0.0>>https://jira.xwiki.org/browse/XWIKI-17898]]
30 * [[XWiki Syntax Highlighting Application 4.5.2>>https://jira.xwiki.org/browse/XWIKI-17932]]
31 * [[Help Center Application 1.5.2>>https://jira.xwiki.org/browse/XWIKI-17114]]
32 * [[CKEditor Integration 1.51>>https://jira.xwiki.org/browse/XWIKI-17919]]
33 * [[httpclient 4.5.13>>https://jira.xwiki.org/browse/XCOMMONS-2040]]
34 * [[cssparser 0.9.28>>https://jira.xwiki.org/browse/XCOMMONS-2044]]
35 * [[Woodstox 6.2.3>>https://jira.xwiki.org/browse/XCOMMONS-2053]]
36 * [[Snakeyaml 1.27>>https://jira.xwiki.org/browse/XCOMMONS-2027]]
37 * [[PostgresSQL connector 42.2.17>>https://jira.xwiki.org/browse/XWIKI-17928]]
38 * [[MariaDB connector 2.7.0>>https://jira.xwiki.org/browse/XWIKI-17865]]
39 * [[Jackson 2.11.3>>https://jira.xwiki.org/browse/XCOMMONS-2045]]
40 * [[JNR POSIX 3.1.2>>https://jira.xwiki.org/browse/XWIKI-17863]]
41 * [[JNR Netdb 1.2.0>>https://jira.xwiki.org/browse/XWIKI-17862]]
42 * [[JNR FFI 2.2.0>>https://jira.xwiki.org/browse/XWIKI-17861]]
43 * [[JNR Constants 0.10.0>>https://jira.xwiki.org/browse/XWIKI-17860]]
44 * [[JGroups 4.2.7>>https://jira.xwiki.org/browse/XCOMMONS-2041]]
45 * [[JFFI 1.3.0>>https://jira.xwiki.org/browse/XWIKI-17859]]
46 * [[JBoss Marshalling 2.0.10.Final>>https://jira.xwiki.org/browse/XCOMMONS-2035]]
47 * [[Hibernate 5.4.22>>https://jira.xwiki.org/browse/XWIKI-17929]]
48 * [[Commons Pool 2.9.0>>https://jira.xwiki.org/browse/XCOMMONS-2037]]
49 * [[Commons Net 3.7.2>>https://jira.xwiki.org/browse/XCOMMONS-2047]]
50 * [[Commons DBCP2 2.8.0>>https://jira.xwiki.org/browse/XCOMMONS-2034]]
51 * [[Commons CLI 1.4>>https://jira.xwiki.org/browse/XCOMMONS-2036]]
52 * [[Checker Qual 3.7.0>>https://jira.xwiki.org/browse/XCOMMONS-2046]]
53 * [[Caffeine 2.8.6>>https://jira.xwiki.org/browse/XCOMMONS-2048]]
54 * [[Byte Buddy 1.10.16>>https://jira.xwiki.org/browse/XCOMMONS-2028]]
55 * [[ASM 9.0>>https://jira.xwiki.org/browse/XCOMMONS-2030]]
56
57 = Translations =
58
59 The following translations have been updated:
60
61 {{language codes="es, fr, hr, lv, mr, no, ru, sk, zh"/}}
62
63 = Tested Browsers & Databases =
64
65 {{include reference="TestReports.ManualTestReportSummaryXWiki129.WebHome"/}}
66
67 {{comment}}
68 TODO: uncomment and update with proper links when the report is ready.
69
70 = Performances tests compared to <last super stable version> =
71
72 {{display reference="test:Performances.Jetty HSQLDB single wiki xxx to yyy" section="HSummary"/}}
73
74 More details on [[performance comparison on single wiki between x.x and y.y>>test:Performances.Jetty HSQLDB single wiki xxx to yyy]].
75 {{/comment}}
76
77 = Known issues =
78
79 * [[Bugs we know about>>https://jira.xwiki.org/issues/?jql=category%20%3D%2010000%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20updated%20DESC]]
80
81 = Backward Compatibility and Migration Notes =
82
83 == General Notes ==
84
85 * When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
86 ** ##xwiki.cfg##
87 ** ##xwiki.properties##
88 ** ##web.xml##
89 ** ##hibernate.cfg.xml##
90 * Add ##xwiki.store.migration=1## in ##xwiki.cfg## so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.
91
92 == Issues specific to XWiki 12.9 ==
93
94 === Ratings API ===
95
96 The [[Ratings API>>extensions:Extension.Ratings API]] have been rewritten in order to support more usecases, but we [[voluntarily broke the backward compatibility>>https://forum.xwiki.org/t/drop-backward-compatibility-on-old-ratings-api/7470]] when doing so. If you are upgrading from XWiki 12.7RC1 or after, or from an XWiki version on which [[Ratings Application>>extensions:Extension.Ratings Application]] is installed, you might see some logs like that at first restart:
97
98 {{code language="none"}}
99 2020-10-16 17:39:53,897 [main] WARN ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-distribution-flavor-mainwiki/12.8] on namespace [wiki:xwiki] (InvalidExtensionException: Dependency [org.xwiki.platform:xwiki-platform-oldcore-[12.8]] is incompatible with the core extension [org.xwiki.platform:xwiki-platform-oldcore/12.9-SNAPSHOT])
100 2020-10-16 17:39:53,897 [main] WARN ltInstalledExtensionRepository - Invalid extension [org.xwiki.platform:xwiki-platform-ratings-api/12.8] (InvalidExtensionException: Extension [org.xwiki.platform:xwiki-platform-ratings-api/12.8] already exists as a core extension)
101 2020-10-16 17:39:54,486 [main] ERROR .i.DefaultExtensionInitializer - Failed to initialize local extension [org.xwiki.platform:xwiki-platform-like-api/12.8]
102 java.lang.NoClassDefFoundError: org/xwiki/ratings/internal/SeparatePageRatingsManager
103 at java.lang.ClassLoader.defineClass1(Native Method)
104 at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
105 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
106 at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
107 at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
108 at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
109 at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
110 at java.security.AccessController.doPrivileged(Native Method)
111 at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
112 at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
113 at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
114 at org.xwiki.component.annotation.ComponentAnnotationLoader.getComponentsDescriptors(ComponentAnnotationLoader.java:161)
115 at org.xwiki.component.annotation.ComponentAnnotationLoader.register(ComponentAnnotationLoader.java:217)
116 at org.xwiki.component.annotation.ComponentAnnotationLoader.initialize(ComponentAnnotationLoader.java:138)
117 at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.loadComponents(JarExtensionHandler.java:251)
118 at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.install(JarExtensionHandler.java:183)
119 at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.initialize(JarExtensionHandler.java:144)
120 at org.xwiki.extension.handler.internal.DefaultExtensionHandlerManager.initialize(DefaultExtensionHandlerManager.java:154)
121 at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtensionInNamespace(DefaultExtensionInitializer.java:178)
122 at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtensionInNamespace(DefaultExtensionInitializer.java:151)
123 at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtension(DefaultExtensionInitializer.java:126)
124 at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initialize(DefaultExtensionInitializer.java:104)
125 at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initialize(DefaultExtensionInitializer.java:80)
126 at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
127 at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)
128 at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
129 at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
130 at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:189)
131 at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:115)
132 at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1002)
133 at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
134 at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:931)
135 at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:764)
136 at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360)
137 at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
138 at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
139 at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:844)
140 at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
141 at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
142 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
143 at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
144 at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
145 at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:513)
146 at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:154)
147 at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
148 at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:447)
149 at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
150 at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:784)
151 at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:753)
152 at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
153 at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
154 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
155 at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
156 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
157 at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:599)
158 at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:249)
159 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
160 at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
161 at org.eclipse.jetty.server.Server.start(Server.java:408)
162 at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
163 at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
164 at org.eclipse.jetty.server.Server.doStart(Server.java:372)
165 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
166 at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$1(XmlConfiguration.java:1929)
167 at java.security.AccessController.doPrivileged(Native Method)
168 at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1878)
169 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
170 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
171 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
172 at java.lang.reflect.Method.invoke(Method.java:498)
173 at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
174 at org.eclipse.jetty.start.Main.start(Main.java:491)
175 at org.eclipse.jetty.start.Main.main(Main.java:77)
176 Caused by: java.lang.ClassNotFoundException: org.xwiki.ratings.internal.SeparatePageRatingsManager
177 at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
178 at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
179 at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
180 ... 73 common frames omitted
181 {{/code}}
182
183 If not nice, those errors are expected: they are showing that our internal Extension Manager found that the Ratings API compatibility was broken. This error will prevent using the Ratings Application or the Like Application until you have completely performed the upgrade.
184
185 During the upgrade, you will be proposed to remove the old Ratings API extension: keep the default value for it (it should be checked) to avoid any inconsistency.
186
187 Also note that at first start, a data migration of Ratings and Likes will be performed, you might see some logs like that:
188
189 {{code language="none"}}
190 2020-10-16 17:40:31,319 [XWiki initialization] INFO .HibernateDataMigrationManager - R120901000XWIKI17761 - Move old Ratings XObject to the default Solr rating store.
191 2020-10-16 17:40:31,319 [XWiki initialization] INFO .HibernateDataMigrationManager - Checking Hibernate mapping and updating schema if needed for wiki [xwiki]
192 2020-10-16 17:40:31,508 [XWiki initialization] INFO .HibernateDataMigrationManager - Starting data migration [R120901000XWIKI17761] with version [120901000] on database [xwiki]
193 2020-10-16 17:40:31,633 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - [5] pages containing ratings xobjects have been found: those objects will be migrated to the new storage system and will be removed. The pages holding those xobjects will remain
194 2020-10-16 17:40:35,869 [XWiki Solr index thread] INFO .HibernateDataMigrationManager - Storage schema updates and data migrations are enabled
195 2020-10-16 17:40:36,415 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - All pages have been handled to migrate their Ratings xobject. Total: [5] pages handled and [5] xobjects migrated.
196 2020-10-16 17:40:36,415 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - Starting recomputation of average ratings on rated pages for consistency of data.
197 2020-10-16 17:40:37,088 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - Average ratings have been recomputed on all [4] pages.
198 2020-10-16 17:40:37,089 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - Starting migration of Likes information to the Ratings Solr Core.
199 2020-10-16 17:40:37,100 [XWiki initialization] INFO SolrDocumentMigration120900000 - [2] like information migrated.
200 2020-10-16 17:40:37,175 [XWiki initialization] INFO 0901000XWIKI17761DataMigration - The migration is now finished.
201 2020-10-16 17:40:37,178 [XWiki initialization] INFO .HibernateDataMigrationManager - Data migration [R120901000XWIKI17761] applied successfully, database [xwiki] upgraded to version [120901000]
202 {{/code}}
203
204 Finally if you have a custom extension or custom scripts using the Ratings API, you will be interested about this [[migration guide>>extensions:Extension.Ratings API||anchor="HMigrationfromoldRatingsAPI28before12.9RC129"]].
205
206 == API Breakages ==
207
208 The following APIs were modified since XWiki 12.8:
209
210 {{backwardCompatiblityReportXml version="12.9"/}}
211
212 = Credits =
213
214 The following people have contributed code and translations to this release (sorted alphabetically):
215
216 Carlos Amengual
217 DenisF
218 Eduard Moraru
219 Francisco GarcĂ­a Moreno
220 ignatescustefan
221 Jarle Sandmo
222 jason
223 Manuel Leduc
224 Marius Dumitru Florea
225 Simon Urli
226 Thomas Mortagne
227 Vincent Massol
228 xrichard

Get Connected