Published

Add missing 2025/2026 data and a new Flickering Tests metric

Last modified by Vincent Massol on 2026/09/10 16:17

Two things in one change:

  1. New "Flickering Tests" metric (new section, with a chart), tracking flickering issues created vs closed per period and the resulting open backlog. Flickering tests are a plague for the project: they delay releases, they hide real bugs, they cost every developer time on every pull request, and they erode trust in the test suite. Data comes from the flickering label in JIRA, following the same 30-06 period convention and the same chart pattern as the existing Security Issues metric.

2. Filled in the missing data for the last periods on the metrics that can be computed:

  • Issues Activity: added 2025 and 2026 (and widened the chart range accordingly).
  • XWiki Releases: added 2025 (42) and 2026 (extrapolated 58); dropped the now-obsolete "extrapolated" note on 2024, whose real count turned out to be exactly the 45 that had been extrapolated.
  • Contrib Repository Creation: added 2025 (17) and 2026 (6), and refreshed the total repository count.
  • Contributed Extensions: added 2025 (27) and 2026 (14), and refreshed the total extension count.
  • XWiki Distribution Sizes: added the 30 versions released since 17.10.2, up to 18.7.0.
  • Bugs Killing: fixed the date of the most recent analysis entry, which said "February 2025" while the image it describes is bugs-february-2026.png.

Sources used: JIRA REST for the issue counts, nexus.xwiki.org for the release dates and distribution sizes, the GitHub API for the xwiki-contrib repository creation dates, and ExtensionCode.StatisticsPerDate on extensions.xwiki.org for the contributed extensions. Each figure was cross-checked by recomputing an already-published year and confirming it matched.

Not done in this change (they need screenshots, which I could not produce): Active Installs, Forum Activity, Commit Activity, Source Contributors and l10n Activity are all still showing October 2024 images.

All changes

Summary

Details

Page properties
Content
... ... @@ -83,7 +83,7 @@
83 83  
84 84  JIRA issues between ##30-06-YYYY## and ##30-06-(YYYY+1)##:
85 85  
86 -{{chart type="stackedbar" source="inline" params="range:B2-F20;series:columns;" title="Closed Issues per year" width="800" height="300"}}
86 +{{chart type="stackedbar" source="inline" params="range:B2-F22;series:columns;" title="Closed Issues per year" width="800" height="300"}}
87 87  |=Date|=Bugs|=Improvements|=New Features|=SubTasks|=Tasks
88 88  |2006|35|2|0|1|6
89 89  |2007|778|211|55|133|160
... ... @@ -104,6 +104,8 @@
104 104  |2022|644|292|108|0|438
105 105  |2023|709|218|54|1|515
106 106  |2024|771|240|110|0|614
107 +|2025|916|308|141|6|646
108 +|2026|762|210|88|0|822
107 107  {{/chart}}
108 108  
109 109  Source:
... ... @@ -116,6 +116,7 @@
116 116  * Activity has been stable for the past few years. This needs to be correlated with [[the size of the team>>||anchor="HSourceContributors"]] which has also remained relatively stable during the same period.
117 117  * In the 5.x cycle (From December 2012 to December 2013) we've increased a lot the number of bugs fixed thanks to our [[BFD strategy>>Community.XWikiDays]] (one per week during this period). In the 6.x cycle (Jan 2014 to Dec 2014) we've reduced this by doing other types of XWiki Days but still doing BFDs to keep bugs at bay.
118 118  * The number of Bugs + Improvements + New Features is remaining stable across the last years. The number of tasks is increasing and this is mostly due to more frequent dependency upgrades (and possibly the rate of new versions of dependencies).
121 +* 2025 was the strongest year ever for bugs closed (916), and in 2026 Tasks (822) went past Bugs (762) for the first time.
119 119  
120 120  = Bugs Killing =
121 121  
... ... @@ -135,7 +135,7 @@
135 135  {{/gallery}}
136 136  
137 137  Historical analysis:
138 -* February 2025:
141 +* February 2026:
139 139  ** Still mixing BFDs with other XWiki days (1 of 3 XWiki Days is not a BFD)
140 140  ** We're still drifting even if it's a bit better than in October 2024. However, that's probably not a real victory and globally bugs seem to be accumulating faster. We need to do something about it.
141 141  ** Results:
... ... @@ -152,6 +152,52 @@
152 152  * July 2014:
153 153  ** [[BFD>>Community.XWikiDays]] is working great so far, we're keeping up!
154 154  
158 += Flickering Tests =
159 +
160 +A flickering test (also called a //flaky// test) is a test that fails randomly, without any change to the code it tests: re-running the build makes it pass. We record them in [[JIRA>>https://jira.xwiki.org]] with the ##flickering## label, and we fill the ##Flickering Test## field with the fully-qualified reference of the failing test, so that our CI can recognize a known flicker and report it instead of failing the whole build.
161 +
162 +Flickering tests are a plague for the project:
163 +
164 +* **They delay releases.** A release cannot be cut on a red build, so the release manager has to re-run jobs and manually triage each failure before being able to release.
165 +* **They hide real bugs.** Once a test is known to flicker, its failures stop being trusted, and a genuine regression caught by that test goes unnoticed.
166 +* **They cost every developer time.** Each false failure on a pull request has to be investigated and re-run, on top of the CI resources being wasted.
167 +* **They erode trust in the test suite**, which in turn discourages writing new tests and makes the whole code base less safe to change.
168 +
169 +Flickering issues created vs closed between ##30-06-YYYY## and ##30-06-(YYYY+1)##, together with the number of flickering issues still open at the end of each period:
170 +
171 +(% id="flickeringTests" style="display: none" %)
172 +|=Year|=Created|=Closed|=Open at end
173 +|2016|12|2|10
174 +|2017|10|7|13
175 +|2018|6|6|13
176 +|2019|30|24|19
177 +|2020|39|17|41
178 +|2021|71|37|75
179 +|2022|32|17|90
180 +|2023|17|41|66
181 +|2024|46|49|63
182 +|2025|28|29|62
183 +|2026|29|31|60
184 +
185 +{{tableToChartJS type="line" table="flickeringTests" multipleDataSets="true" options="{~"width~": ~"640px~", ~"height~": ~"300px~"}"/}}
186 +
187 +Source:
188 +
189 +* [[JIRA>>https://jira.xwiki.org]] query examples:
190 +** Created: {{code language="none"}}created >= "2025-06-30" and created < "2026-06-30" and labels = flickering{{/code}}
191 +** Closed: {{code language="none"}}resolved >= "2025-06-30" and resolved < "2026-06-30" and labels = flickering and status = Closed{{/code}}
192 +** Still open: {{code language="none"}}labels = flickering and status != Closed{{/code}}
193 +* See [[Testing>>Community.Testing.WebHome]] for our testing practices.
194 +
195 +Analysis:
196 +
197 +* This measures //reported// flickering tests. A test that flickers but that nobody took the time to report doesn't show up here, so these numbers are a lower bound.
198 +* The first flickering issue was reported in October 2015, but the label only started being used systematically from 2019 on.
199 +* 2020-2022 is when the backlog exploded, going from 13 to 90 open issues. This matches the period during which we added a lot of functional (Docker-based) tests, without fixing at the same rate the flickers they brought in.
200 +* Since 2023 we close roughly as many as we create (2024: 46 created / 49 closed, 2025: 28/29, 2026: 29/31). That's better than drifting, but the backlog is only going down by a couple of issues per year (90 in 2022, 60 in 2026): at this rate it would take decades to clear it.
201 +* As of the 10th of September 2026 there are 56 open flickering issues, 25 of which have been open for more than 2 years and 9 for more than 4 years. The oldest one still open dates back to March 2020.
202 +* Since a flickering test is really a bug in our test suite, one option to consider would be to dedicate some [[XWiki Days>>Community.XWikiDays.WebHome]] to them, the same way BFDs are dedicated to bugs.
203 +
155 155  = l10n Activity =
156 156  
157 157  Since 2018 we've switched from using XWiki to using [[Weblate>>https://l10n.xwiki.org]].
... ... @@ -191,7 +191,9 @@
191 191  |2021|39
192 192  |2022|41
193 193  |2023|49
194 -|2024|45|Year not finished, extrapolated from 38 at 30/10/2024
243 +|2024|45
244 +|2025|42
245 +|2026|58|Year not finished, extrapolated from 40 at 10/09/2026
195 195  
196 196  {{tableToChartJS type="bar" table="xwikiReleases" options="{~"width~": ~"640px~", ~"height~": ~"300px~"}"/}}
197 197  
... ... @@ -198,6 +198,7 @@
198 198  Analysis:
199 199  * Stable release cycle which means we're globally following strictly our [[release strategy>>VersioningAndReleasePractices]] at a rate of 2 releases per month (i.e. 24 per year).
200 200  * Then we have bugfix releases for generally 2 branches (sometimes more). It's possible that we're increasing the number of bugfix releases, especially with our Security Policy that was introduced in November 2020.
252 +* 2026 is on track to be a record year, which correlates with the large number of security issues fixed that year (see [[Security Issues>>||anchor="HSecurityIssues"]]): each security fix has to be shipped on the supported branches.
201 201  
202 202  = Security Issues =
203 203  
... ... @@ -264,6 +264,8 @@
264 264  |2022|27
265 265  |2023|26
266 266  |2024|11
319 +|2025|17
320 +|2026|6
267 267  
268 268  {{tableToChartJS type="bar" table="contribRepoCreation" options="{~"width~": ~"640px~", ~"height~": ~"300px~"}"/}}
269 269  
... ... @@ -274,7 +274,7 @@
274 274  Analysis:
275 275  
276 276  * Sustained activity over years (even though it was higher in the years 2012-2017).
277 -* As of now, there's a total of 375 repositories. We would need to check how many are active or dead.
331 +* As of the 10th of September 2026, the ##xwiki-contrib## organization holds 368 repositories (the count went down because some repositories have been deleted over time, which also means the older years above are under-counted). We would need to check how many are active or dead.
278 278  
279 279  = Contributed Extensions =
280 280  
... ... @@ -302,6 +302,8 @@
302 302  |2022|27
303 303  |2023|24
304 304  |2024|16
359 +|2025|27
360 +|2026|14
305 305  
306 306  {{tableToChartJS type="bar" table="contributedExtensions" options="{~"width~": ~"640px~", ~"height~": ~"300px~"}"/}}
307 307  
... ... @@ -314,7 +314,8 @@
314 314  * Golden era was 2011-2016.
315 315  * Less contributions after 2016 but still over 20 per year (i.e. more than 2 per month).
316 316  * AS there are more and more extensions existing, the need to develop new ones is probably less.
317 -* As of 2024-10-30, there are 929 extensions in total (including those developed by the XWiki core Dev Team).
373 +* As of 2026-09-10, there are 969 extensions in total (including those developed by the XWiki core Dev Team).
374 +* 2025 bounced back to 27 contributed extensions, the best year since 2021.
318 318  
319 319  = XWiki Distribution Sizes =
320 320  
... ... @@ -741,6 +741,8 @@
741 741  |16.10.14|358
742 742  |16.10.15|358
743 743  |16.10.16|359
801 +|16.10.17|359
802 +|16.10.18|361
744 744  |17.0.0|363
745 745  |17.1.0|364
746 746  |17.2.0|364
... ... @@ -756,6 +756,8 @@
756 756  |17.4.6|367
757 757  |17.4.7|367
758 758  |17.4.8|368
818 +|17.4.9|368
819 +|17.4.10|368
759 759  |17.5.0|367
760 760  |17.6.0|367
761 761  |17.7.0|367
... ... @@ -764,6 +764,32 @@
764 764  |17.10.0|365
765 765  |17.10.1|367
766 766  |17.10.2|367
828 +|17.10.3|373
829 +|17.10.4|373
830 +|17.10.5|374
831 +|17.10.6|374
832 +|17.10.7|374
833 +|17.10.8|374
834 +|17.10.9|374
835 +|17.10.10|371
836 +|17.10.11|371
837 +|17.10.12|371
838 +|17.10.13|372
839 +|18.0.0|388
840 +|18.0.1|388
841 +|18.1.0|388
842 +|18.2.0|386
843 +|18.2.1|386
844 +|18.3.0|392
845 +|18.4.0|392
846 +|18.4.1|392
847 +|18.4.2|392
848 +|18.4.3|393
849 +|18.4.4|394
850 +|18.4.5|398
851 +|18.5.0|392
852 +|18.6.0|394
853 +|18.7.0|394
767 767  
768 768  {{tableToChartJS type="line" title="Size of Jetty/HSQLDB Zip files" table="xwikiJettySizes" options="{~"width~": ~"640px~", ~"height~": ~"300px~"}"/}}
769 769  
... ... @@ -774,6 +774,7 @@
774 774  Analysis:
775 775  
776 776  * The features et of XWiki increases (we're not successful at removing enough non-core features vs new added ones)
864 +* The 18.x branch crossed the 390 MB mark, i.e. we've added about 30 MB in a year.
777 777  
778 778  = External Analysis =
779 779  
Sep 10, 2026, 4:17:41 PM

Approved by Vincent Massol

Approvers

Approvers have not been explicitly defined for this Change Request. Approvers will be based entirely on approval rights.

Get Connected