3.20.0
✅ Cache status: clean — no purge required after upgrading.
Highlights
-
🔔 A simpler notification panel The panel now shows just your unread notifications in a single list, and it can bring in notifications from the other wikis you are connected to.
-
🔍 A faster, steadier command palette Results turn up sooner as you type and the palette is ready almost as soon as you reach for it, with fixes for input methods, AltGr and non-QWERTY layouts, reading direction, namespace aliases, and screen reader announcements.
-
⚙️ Preference defaults set on the wiki Administrators can choose which preferences Citizen starts with, and hide the ones their wiki does not use, from
MediaWiki:Citizen-preferences.json— see Preferences. -
🛡️ Cached pages survive an upgrade Switch on
$wgCitizenCompatand pages your wiki cached under an older Citizen keep rendering acceptably while those caches expire — see Upgrading. -
⚡ Smoother all round Scrolling stays smooth where sticky headers and frosted glass used to make it stutter, and the notification panel no longer does its work twice on the way open.
Changelog
Features
- compat: ✨ keep cached pages rendering after a skin upgrade (by @alistair3149) (#1719)
e530167 - notifications: ✨ group the panel actions in a footer (by @alistair3149)
8db99af - notifications: ✨ read other wikis' notifications from the panel (by @alistair3149)
d5b2b03 - notifications: ✨ show each notification's icon in the panel (by @alistair3149)
922a578 - notifications: ✨ show only unread notifications in one list (by @alistair3149)
5847656 - preferences: ✨ set defaults and hide entries from the preferences JSON (by @alistair3149)
7d4d809
Bug Fixes
- commandPalette: 🐛 announce search results to screen readers (by @alistair3149)
7d760d6, closes #1745 - commandPalette: 🐛 cancel stale SMW queries where MediaWiki supports it (by @alistair3149)
03a87e7 - commandPalette: 🐛 cancel stale SMW suggestion requests too (by @alistair3149)
9add8ce - commandPalette: 🐛 follow the reading direction when navigating with arrows (by @alistair3149)
628b037, closes #1741 - commandPalette: 🐛 keep the palette usable with input methods and AltGr (by @alistair3149)
d5c8adb - commandPalette: 🐛 recognize namespace aliases when tagging a search (by @alistair3149)
868fbd4, closes #1730 - commandPalette: 🐛 restore palette loading after a broken style import (by @alistair3149)
45ebb95 - commandPalette: 🐛 stop reopening from discarding the query, and keep focus in (by @alistair3149)
5d07c1d, closes #1738 #1739 - header: 🐛 close the gap above sticky table headers when the navigation auto-hides (by @alistair3149)
da263be, closes #1716 - notifications: 🐛 expand the panel to full width on small screens (by @alistair3149)
8fe1a8c - notifications: 🐛 keep the footer reachable when the panel fails to load (by @alistair3149)
73d8a5d - notifications: 🐛 open the panel without a loading flash (by @alistair3149)
2157d34 - notifications: 🐛 show notifications from other wikis (by @alistair3149)
9e9e3d8, closes #1751 - search: 🐛 advertise the / shortcut in the search button tooltip (by @alistair3149)
5d866bd, closes #1742 - search: 🐛 trigger shortcuts on the character typed, not the key position (by @alistair3149)
cab46cf, closes #1731 - SemanticResultFormats: 🐛 restore distance filter and timeline styles (by @alistair3149)
955cc07 - toc: 🐛 keep the table of contents from vanishing while scrolling in Firefox (by @alistair3149)
90d122e, closes #1175
Performance Improvements
- commandPalette: ⚡️ open the palette faster after hovering the search button (by @alistair3149)
b8874b2 - commandPalette: ⚡️ show search results sooner while typing (by @alistair3149)
88aedfa - core: ⚡️ keep icons from re-rendering on every scroll frame (by @alistair3149)
2b092c4 - core: ⚡️ lighten the frosted glass blur to keep scrolling smooth (by @alistair3149)
9eb1fc8 - core: ⚡️ stop sticky header toggles from recalculating the whole page (by @alistair3149)
5e01b0a - notifications: ⚡️ stop paying twice to open the notification panel (by @alistair3149)
84e61cb
Miscellaneous Chores
- 🔧 ignore the playwright-cli working directory (by @alistair3149)
8dff0d6 - 🔧 wrap a line flagged by the 120-character sniff (by @alistair3149)
aab7261
