Collaboration/Deployment planning

For instructions on how to update this page, see Collaboration/Deployment planning/Recipe

Standard schedule

 * Tuesday 19:00-21:00 UTC: group0 (test wikis and mw.org)
 * Wednesday 19:00-21:00 UTC: group1 (non-Wikipedias, Catalan and Hebrew Wikipedias)
 * Thursday 19:00-21:00 UTC: group2 (other Wikipedias)
 * Full schedule: Deployments page on wikitech

1.3o.0-wmf.10 (July 18-20)

 * New features / bigger changes
 * - RCFilters: Allow experimental live update feature to be enabled with query string parameter
 * Bug fixes
 * - ChangesListStringOptionsFilter: Make isSelected respect ALL
 * - RCFilters: Correct language for invert button
 * - RCFilters: Reduce saved queries items height
 * - RCFilters: Scroll to top on view switch
 * - RCFilters: Don't call ChangeTags::tagUsageStatistics for now
 * - ChangesListSpecialPage: Don't short-circuit the ChangesList, instead format zero rows
 * - (Flow) Add mw-parser-output class to flow posts
 * No user impact
 * - rcfilters: LiveUpdateButtonWidget: Fix bad method call leading to weird warning

1.30.0-wmf.9 (July 11-13)

 * Cherry-picked to wmf.7
 *  - RCFilters: Fix typo in removing a saved query 
 *  - RCFilters: Followup I200720ffde8ad: Hide extended footer if gater is disabled 
 *  - RCFilters: Followup I5cede87633147: Set actual value rather than object 
 * New features / bigger changes
 * - Fix \n handling for HTMLUsersMultiselectField
 * - UsersMultiSelectWidget: Port from CapsuleMultiselectWidget to MenuTagMultiselectWidget
 * - (Echo) Improve UI for blacklist preference
 * - Fix font size / alignment of timestamps in enhanced recent changes
 * - RCFilters: Basic implementation of live updates
 * - (Echo) Adding the first step in order to enable the visualization of the Article Reminder feature.
 * - (Echo) Improve messages about page reminders
 * - (Echo) i18n tweak for article reminder category on preferences
 * Bug fixes
 * - (Flow) Do not override other flags on enhanced recent changes
 * - RCFilters: Reverse the sorting on tags
 * - RCFilters: Fix parameter name for "namespace"
 * - RCFilters: Remove  if extension table is empty
 * - RCFilters: Correct default view title
 * - RCFilters: Simplify "Saved filter settings" to "Saved filters"
 * - RCFilters: Always use the filled bookmark icon (unClip)
 * - RCFilters: Move legend into results (both js and nojs output)
 * - RCFilters: Make extra filters footer non-sticky
 * - RCFilters: Correct display of save filter popup
 * - RCFilters: Fix popup head with long message and icon
 * - RCFilters: Trim spaces in saved query names
 * - RCFilters: Change tooltip messages for view buttons
 * - RCFilters: Only show 'no filters' when actually none were found
 * - RCFilters: Respect ?enhanced=0 url regardless of preference
 * - RangeChronologicalPager: Don't clear $offset when $this->rangeConds is set
 * - RCFilters: Followup I436f00bc87db: Remove onPopupToggle listener
 * - (Echo) Fix alignment of the "Mark all read" button
 * - (Flow) Change "article" to "page"
 * - (WikimediaMessages) Follow-up 6401f1ec9b69: actually add the RTL version of the feedback icon
 * No user impact
 * - SpecialRecentchanges: Globals for config are bad, m'kay
 * - RCFilters: Only build tag list when experimental views are enabled
 * - (Echo) Replace EchoDiscussionParser::htmlToText with Sanitizer::stripAllTags
 * - (Flow) Don't mess with $wgHooks in DeletedContributionsLineEnding hook
 * - (Flow) Remove no-op onSkinMinervaDefaultModules hook logic
 * - (Flow) Split multi variable declaration
 * - (Flow) Force topics to be exported by UUID order
 * - (Flow) Dumps: filter out non-compliant characters (bad PCDATA) from revision text

1.30.0-wmf.7 (June 27-29)

 * New features / bigger changes
 * - RCFilters: Change to the new views redesign
 * - (Wikibase) Support Wikibase changes in enhanced recent changes on clients
 * Bug fixes
 * - RCFilters: Change the input icon on interaction
 * - RCFilters: Correct unbalanced margins in active filters display
 * - RCFilters: Reposition TagItemWidget to be center on the widget
 * - RC Filters: Fix tags for integrated filters
 * - RCFilters: Remove view triggers before checking emptiness of string
 * - RCFilters: Have the model accept multiple views
 * - RCFilters: Actually recognize a saved query default and delete when removed
 * - RCFilters: Invert the muted state of inverted namespace options
 * - RCFilters: Fix typo in removing a saved query
 * - RCFilters: Followup I200720ffde8ad: Hide extended footer if gater is disabled
 * - RCFilters: Followup I5cede87633147: Set actual value rather than object
 * - (ORES) Rework highlighting frontend to make it work everywhere
 * - (WikimediaEvents) Follow-up 6b83e12aee71: reenable fromrc handling, but without breaking visited links


 * No user impact
 * - RCFilters: Unify reading filters by views and adjust unit tests
 * - RCFilters: Add 'single_option' group type

1.30.0-wmf.6 (June 20-22)

 * New features / bigger changes
 * - RCFilters: Add 'views' concept and a namespace view to RCFilters
 * - RCFilters: Always replaceState the URL
 * Bug fixes
 * - (Flow) Emphasing Flow Beta feature activation message + add Special:MyLanguage
 * - RCFilters: Make frontend URL follow backend rules and add 'urlversion=2'
 * - RCFilters: Send form info even for empty checkboxes
 * - Add | to error message about invalid change tag characters
 * No user impact
 * - ChangesListSpecialPage: Add urlversion and make urlversion=2 ignore defaults

1.30.0-wmf.5 (June 13-15)

 * New features / bigger changes
 * Bug fixes
 * - RCFilters: Retain extra url params when comparing url equivalency
 * Cherry-picked to wmf.4
 * - (Flow) Revert "Throw when unserializing invalid Flow workflow metadata JSON"
 * No user impact

1.30.0-wmf.4 (June 6-8)

 * New features / bigger changes
 * - Enable $wgStructuredChangeFiltersEnableSaving by default
 * Bug fixes
 * - RCFilters: Set up custom color for yellow+blue combination
 * - RCFilters: Center the checkmark in the highlight menu
 * - RCFilters UI: Rename "Quick links" to "Saved filter settings"
 * - Change "...." (four dots) to "..." (three dots) in the only two messages that use it
 * - RCFilters UI: Use backwards-aligned anchorless popups now that they work
 * - RCFilters: Unify 'highlight' and 'selected' items
 * - RCFilters: Blur input on 'escape' key
 * - RCFilters: Add top spacing between RCFilters and top content
 * - RCFilters: Hide server-side 'empty results' message
 * - RCFilters UI: Make monobook override of the 'checkmark' more specific
 * - RCFilters UI: Compare states instead of params when switching URL
 * - RCFilters: Minimize url string
 * - (Echo) Fix user talk exception for blacklist
 * - (Echo) Fallback to dbname if source title doesn't exist
 * - (PageTriage) Switch from using $wgRCMaxAge to 90 days for defining "new"
 * No user impact
 * - RCFilters: Depend on the 'content' icon pack, for the 'history' icon
 * - RCFilters UI: Migrate FloatingMenuSelectWidget to MenuSelectWidget
 * - (Echo) Use the "movement" icon pack for the "expand" icon now that the core icon pack has been removed
 * - (Flow) Use "trash" icon instead of deprecated and removed "remove" icon

1.30.0-wmf.3 (May 30-June 1)

 * New features / bigger changes
 * - (Echo) Implement per-user notification blacklists
 * - (MW core) RCFilters: Style the Saved Links placeholder and add a title
 * - (MW core) RCFilters: Style saved links option menu
 * Bug fixes
 * - (PageTriage) Don't treat users who used to be blocked as blocked
 * - (MW core) RCFilters: Dismiss Apex' insistence to add checkmark to optionWidgets
 * No user impact
 * - (Flow) Replace $( document ).ready( ... ) by $( ... )
 * - (Flow) sizeof -> count, Interface -> interface
 * - (ORES) Forward request data to ORES API

1.30.0-wmf.2 (May 23-25)

 * New features / bigger changes
 * - (MW core) RCFilters UI: Add a placeholder to SavedLinksListWidget when it's empty
 * - (MW core) RCFilters UI: Add tooltip to saved links items
 * - (MW core) Gate option to save RC filters to default false
 * - (MW core) RCFilters UI: Add down indicator to SavedLinksListWidget button
 * - (PageTriage) Bringing back the top reviewers stats


 * Bug fixes
 * - (MW core) RCFilters UI: Actually backwards-compat instead of overriding false
 * - (MW core) RCFilters: Actually be consistent when storing 'highlight' state
 * - (MW core) RCFilters: Always put highlight values in the URL
 * - (MW core) RCFilters: Fix getFilterRepresentation to consider '0' as false
 * - (MW core) RCFilters: Rephrase 'unset' to 'remove' in default option menu
 * - (MW core) RCFilters: Treat saved query with multiple spaces as empty
 * - (MW core) RCFilters: Actually read/write highlight parameter
 * - (MW core) RCFilters UI: Don't remove removed saved links twice
 * - (Echo) Fix usage of $db->nextSequenceValue
 * - (PageTriage) Ensure the number of fitlered pages respects all filters
 * - (PageTriage) Fix checkbox checkedness setting
 * - (ORES) Do not error out when threshold can't be found


 * No user impact
 * - (MW core) Refactor filter-specific logic into group models
 * - (MW core) Factor out changetag name validation check
 * - (MW core) Add missing addQuotes to ChangesListSpecialPage
 * - (Echo) Trivial docfix in DiscussionParser
 * - (Flow) TalkpageManager: Add non-master mode to checkIfCreationIsPossible for API
 * - (PageTriage) Avoid PHP notices about unset indexes in ApiPageTriageList
 * - (PageTriage) Avoid DB_MASTER queries on HTTP GET in ArticleMetadata->getMetadata

1.30.0-wmf.1 (May 9-11)

 * New features / bigger changes
 * - (MW core) RC Filters: Last revision filter group
 * - (MW core) RC Filters: always join with 'page'
 * - (MW core) Follow-up bac92e67ca0: make order of filter groups less misleading
 * - (MW core) RC Filters: watchlist
 * - (MW core) RC Filters: group.allSelected consider subsets
 * - (MW core) RC Filters: watch filter highlight
 * - (MW core) RCFilters: Only register watchlist filter group when user is logged in
 * - (MW core) RCFilters UI: Add a 'saved queries' quick filters feature
 * - (MW core) Followup I5cede8: Fixup SavedQueries styling and event
 * - (MW core) Followup I5cede8: Make the SavedQueries popup larger
 * - (MW core) Follow-up I5cede8: fix JS error when user has no filters saved
 * - (WikimediaEvents) Track clicks on the "top links" on the RC page
 * - (MW core) SpecialRecentchanges: Add class="mw-recentchanges-toplinks" to the "top links"
 * - (ORES) Align damaging thresholds to filters thresholds
 * - (ORES) Follow-up c047cd54d69ed: rename oresDamagingPref values back
 * - (WikimediaMessages) Rc Filters beta feature invitation tour
 * - (MW core) Fix contradictory RC filters and add back-compat
 * - (MW core) RC Filters: Single boolean filters are not contradictory
 * Bug fixes
 * - (MW core) RC Filters: Make filters header sticky
 * - (MW core) RC Filters: don't bind onMenuToggle twice
 * - (MW core) RCFilters: Override highlighted background
 * - (MW core) RC Filters: Rephrase learner level message
 * - (ORES) Update ores-help-damaging-pref message
 * - (ORES) Fix highlighting on Special:Contributions
 * - (ORES) RC Filters: Fix subset registrations
 * - (ORES) Delete i18n/en-gb.json - the translations are wrong
 * - (ORES) Don't throw exception when "the" damaging threshold (for old code) can't be found
 * - (ORES) Don't break the entire preferences page if the ORES API is down
 * - (ORES) Gracefully handle fetch stats errors
 * - (Echo) Fix counting of bundled mention notifications
 * - (Echo) Follow-up 739847c20: don't adjust the popup anchor position
 * - (Echo) Don't truncate notification header messages in bundles
 * - (Echo) Fix missing number in message
 * - (Flow) Fix unwatch icon in monobook
 * - (Flow) Fix truncation of "Browse topics" button
 * - (Flow) Remove arbitrary limit of 20 mentions
 * - (Flow) Set max mention count to 50
 * - (Flow) Make onEnhancedChangesListModifyBlockLineData expect 3 args
 * - (Flow) Follow-up c1beac48: fix JS error when clicking reply link
 * - (WikimediaMessages) RC Filters: Do not show 'invite' to users who have seen 'welcome'
 * - (WikimediaMessages) Rc Filters highight tour: highlight button is always visible
 * No user impact
 * - (MW core) RC Filters: support multiple namespaces
 * - (MW core) RC Filters: Support multiple tag filters
 * - (MW core) Change delimiter for multiple namespaces and tags
 * - (MW core) RCFilters UI: Create base classes for shared objects
 * - (MW core) RCFilter UI: allow getParametersFromFilters to accept filter list
 * - (ORES) Replace jshint/jscs with eslint
 * - (ORES) Rewrite highlight JS to use mw.Uri and generally be cleaner
 * - (ORES) Deduplicate ores-help-damaging-pref
 * - (ORES) Add batch size option for PurgeScoreCache
 * - (ORES) Use $wgOresRevisionsPerBatch == 0 to disable on-demand score fetch
 * - (ORES) Do not store scores for revisions not in recentchanges
 * - (ORES) Revert "Remove all (except meta) API funcationality hooks"
 * - (ORES) Follow-up 2b68933208: use variables
 * - (Flow) Don't use deprecated class
 * - (Flow) build: add jakub-onderka/php-console-highlighter
 * - (Flow) build: Update eslint to 0.4.0 and make pass
 * - (Flow) Stop loading deprecated OOUI core icon pack
 * - (Flow) Add test case names for SpamFilter, to make which fails obvious
 * - (Flow) extension.json: Drop no-op dependency on deprecated es5-shim module
 * - (Flow) Remove unused imports
 * - (Flow) Fix a lot of non-standard @var and @param PHPDoc lines
 * - (Echo) EventMapper: Don't retry failed lookup queries on the master on GET
 * - (WikimediaMessages) Move setting wgRCFiltersORESAvailable to the tour that actually uses it

1.29.0-wmf.21 (April 25-27)

 * New features / bigger changes
 * - (MW core) RCFilters: Adjust to use MenuTagMultiselectWidget
 * - (MW core) RCFilters: Followup I42be06913: Destroy tag widget when removing
 * - (Echo) Special:Notifications show unread by default if there's unread notifications
 * - (Echo) Add proper message when user group expiry is changed
 * - (Flow) Add owner titles to abuse filters
 * - (ORES) Disable ORES in Recentchangeslinked
 * - (ORES) Put the "r" behind a preference in non-beta mode
 * - (ORES) Make the preference for the "r" flag on the RC page also control highlighting
 * Bug fixes
 * - (MW core) RC Filters: Detect filters conflicts to by-pass db query
 * - (MW core) RCFilters UI: Fix FilterTagItemWidget styles
 * - (MW core) RCFilters UI: Unify li bullets with and without highlights
 * - (MW core) RCFilters UI: Change text for edit authorship group
 * - (MW core) RCFilters UI: Select tag when filter item is selected
 * - (MW core) RCFilters UI: Display 'no results found' if... no results were found!
 * - (MW core) RCFilters UI: Fix scrolling to item on tag click
 * - (MW core) RCFilters UI: Don't steal focus when clicking highlight button
 * - (MW core) RCFilters UI: Fix input direction in RTL again
 * - (MW core) RCFilters UI: Prevent label from stealing focus on click
 * - (MW core) RCFilters: Remove 'overflow:hidden' from filter header
 * - (MW core) RCFilters UI: Adjust styles to OOUI's newest release
 * - (MW core) RC Filters: Disable defaults for legacy filters in structured UI
 * - (Echo) Make date headings a proper semantic heading
 * - (Flow) WikitextEditorWidget: Update toolbar state when switching back
 * - (Flow) Add mention failure notifications to Flow
 * - (Echo) MentionStatus: prefer failure-type
 * - (Flow) Classify Flow edits as mw-edit
 * - (Flow) Make onEnhancedChangesListModifyBlockLineData expect 3 args
 * - (Flow) Fix frameless button on sidebar from having white border
 * - (Flow) SECURITY: Don't treat non-existent user as "any anon"
 * - (Flow) Separate message boxes from round-corner input widget group
 * - (Flow) Follow-up c1beac48: fix JS error when clicking reply link
 * - (ORES) Hack around the fact that setting $wgHiddenPrefs from GetPreferences doesn't fully work
 * - (ORES) Reword "damaging" to "have problems" in preferences
 * No user impact
 * - (Echo) Fix browser tests
 * - (Echo) Switch TestingAccessWrapper to librarized version
 * - (Flow) Switch TestingAccessWrapper to librarized version
 * - (ORES) Add ability to purge old rows to PurgeScoreCache
 * - (ORES) Add defaults for ores-damaging-flag-rc and oresHighlight
 * - (ORES) Make filters thresholds more configurable
 * - (Flow) MentionInspector: Use surface fragment instead of building transaction
 * - (Flow) Remove actions toolbar config override

1.29.0-wmf.20 (April 11-13)

 * New features / bigger changes
 * - (MW core) RecentChanges: Allow resetting date selection
 * Bug fixes
 * - (MW core) RCFilters UI: Check that filter exists before changing its state
 * - (MW core) RCFilters UI: Use pixel instead of em for distancing the highlight dots
 * - (MW core) RCFilters: React to popup 'ready' event
 * - (MW core) RCFilters: Work around IE11 rendering issues
 * - (MW core) RCFilters: correctly read default value for 'string_options' filters
 * - (Echo) Revert "Do not use fancy styled badge on Modern and CologneBlue"
 * - (WikimediaMessages) RCFilters Guided tour: Append the dot to the popup
 * - (WikimediaMessages) Use pixel values instead of ems for stillDot size

1.29.0-wmf.19 (April 4-6)

 * New features / bigger changes
 * - (ORES) Make thresholds used by filters configurable
 * - (ORES) Don't make the "r" red except when highlighting is active
 * - (WikimediaEvents) RCFilters: Log click actions on RC page and on pages linked from there
 * - (WikimediaMessages)RC filters: highlight guided tour
 * - (MW core) RC Filters: Hooks for highlight guided tour
 * Bug fixes
 * - (MW core) Special:RecentChangesLinked show "no results" message
 * - (Echo) Stop badge hacks from messing up the entire page on IE 11 on MonoBook
 * - (Echo) Fire 'ext.echo.badge.countChange' after DOM changes
 * - (Echo) Fix JS error when closing notification popup while animating a moving notification
 * - (Flow) Fix wikitext editor mini-toolbar to not use narrow mode
 * - (Flow) Fix focus when switching to wikitext editor
 * - (Flow) Add icon for "Newest topics" back
 * - Move oresWatchlistHideNonDamaging to watchlist/ores pref section
 * No user impact
 * - (MW core) SpecialRecentchanges.php: Use ResourceLoader::makeMessageSetScript
 * - (MW core) RCFilters: Remove isAllowedCallable and isAllowed
 * - (Echo) LoggerFactory is now namespaced, reference it properly

1.29.0-wmf.18 (March 28-30)

 * New features / bigger changes
 * - (Wikibase) Port Wikidata filter to new RCFilters system
 * - (Wikibase) Follow-up 4769299ef: fix fatal due to forgotten use statement
 * - (Wikibase) Follow-up 4769299ef: only register conflicts with ORES filters if they exist
 * - (MW core) RCFilters: Add conflicts for minor edits
 * - (MW core) RCFilters UI: Pass in userId to ChangesListHighlights schema
 * - (WikimediaEvents) Update revid for ChangesListHighlights schema
 * - (WikimediaEvents) Pass in userId to ChangesListFilters schema
 * Bug fixes
 * - (MW core) RCFilters UI: Only show full coverage message if item isn't highlighted
 * - (MW core) RCFilters: Only show filter capsule as conflicted if it's selected
 * - (MW core) RCFilters UI: Make the 'no results' message bold
 * - (MW core) RCFilters: Normalize overlay font-size for Monobook
 * - (ORES) Stats: Invert "false" thresholds so they're correct
 * Was cherry-picked on March 23rd
 * - (Flow) Make sure topiclist queries always join against workflow table
 * - (Flow) Don't attempt to do reverse pagination in flow-loadmore
 * - (Flow) Remove Storer
 * - (Echo) Make the invisible text in badges really invisible
 * - (Echo) Fix Illegal string offset 'ltr' in ResourceLoaderEchoImageModule.php
 * No user impact
 * - (MW core) rcfilters: Avoid $.type
 * - (MW core) RC Filters docs: Directly mention group classes
 * - (Flow) Fix space indenting to tabs in flow.sql
 * - (Echo) Use tabs to indent in json
 * - (Echo) Run MWEchoThankYouEditTest on clean DB tables
 * - (Echo) Simplify definition of 'ext.echo.badgeicons' module

1.29.0-wmf.17 (March 21-23)

 * New features / bigger changes
 * - (WikimediaMessages) RC Filters: guided tour for beta feature
 * - (WikimediaMessages) Follow-up I9f72ce29: Better RC Filters screenshot
 * - (WikimediaMessages) RCFilters tour: align Got It button to the left
 * - (ORES) Add ORES filters to new RCFilters
 * - (ORES) Minor follow-ups to 4a892c8fb
 * - (ORES) Update RCFilters conflict messages
 * - (ORES) Follow-up 4a892c8fb: also apply maybebadfaith hack in queryCallable
 * - (ORES) Allow the ORES extension features to be 'on' by default
 * - (ORES) Follow-ups to 980fb74d7: move classic highlights to watchlist in 'on' mode
 * - (ORES) Reword highlight preference
 * - (ORES) Hide oresRCHideNonDamaging pref if rcenhancedfilters is enabled
 * - (MW core) RCFilters UI: Add a 'what's this?' link to filter groups
 * - (ORES) Update "What's This" messages for RCFilters
 * - (ORES) Add ORES conflicts and What's This?
 * - (MW core) Track usage of highlight feature
 * - (WikimediaEvents) Schema for tracking usage of highlight feature
 * - (Flow) New editor switching widget
 * Bug fixes
 * - (Echo) Use words for describing notification counts in HTML text node
 * - (MW core) RCFilters UI: Use data-feature-in-structured-ui in the frontend
 * - (MW core) RCFilters UI: Adjust popup positioning again
 * - (MW core) RCFilters UI: Implement conflict global result message
 * - (MW core) Watchlist: Fix form and preference overriding
 * Was cherry-picked on Monday March 20th
 * - (MW core) RCFilters UI: Create tooltips for filter states
 * - (MW core) RCFilters UI: Followup Ic97c7c6aae7: Only add state message if item is selected
 * - (MW core) RCFilters UI: Don't set reset button title in "restore" mode
 * - (MW core) RCFilters: Scroll popup up to top when it is reopened
 * - (MW core) RCFilters UI: Close gap between popup and input
 * - (MW core) RCFilters UI: Remove custom margin from capsule item widgets
 * - (MW core) RCfilters UI: Change mute display for included filters
 * - (MW core) RCFilters UI: Rework conflicts to be objects in filter or group context
 * - (MW core) RCFilters UI: Adjust filter list header elements' alignment
 * - (MW core) RCFilters UI: Update fieldset as in load
 * - (MW core) RCFilters UI: Style adjustments for the FilterCapsuleMultiselectWidget
 * - (MW core) RCFilters: Update conflict messages
 * - (MW core) RecentChanges: Correct 'no matches found' message
 * - (MW core) SpecialRecentchanges: Unbreak $wgAllowCategorizedRecentChanges
 * No user impact
 * - (Flow) Change Special:Version description to 'Discussion system'
 * - (MW core) RCFilters: Prevent duplicate filter names
 * - (MW core) RCFilters: Don't allow underscore in filter or group names
 * - (MW core) RCFilters: Test abstract class func directly, not in subclass tests
 * - (MW core) RCFilters UI: Separate name from paramName in filters
 * - (ORES) Remove maybebadfaith naming hack

1.29.0-wmf.16 (March 14-16)

 * New features / bigger changes
 * - (MW core) Back-end of new RecentChanges page, refactoring
 * Bug fixes
 * - (MW core) RCFilters UI: Anchor the highlight popup
 * - (MW core) RCFilters UI: Add 'highlight' icon to highlight button
 * - (MW core) RC Filters UI: 'restore defaults' clears highlight
 * - (MW core) RC filters: update the state of the app on popstate.
 * - (MW core) RCFilters UI: Display popups above CapsuleItemWidgets
 * - (MW core) RCFilters UI: Prevent the popup from disappearing when input is out of view
 * - (ORES) Add highlight classes if a model is enabled
 * - (WikimediaEvents) Log usage of all new RC filters
 * - (WikimediaMessages) RC Filters Beta: new talk link
 * - (Echo) Fix RTL popup alignment for OOjs UI 0.19.5
 * - (Echo) Revert "Remove FloatableElement hack, no longer needed"
 * - (Echo) Add and listen to 'modified' event for popup clip
 * - (Flow) ContributionsQuery: Disregard bots whose group membership has expired
 * - (Flow) Add namespace translations for Western Punjabi (pnb)

1.29.0-wmf.15 (March 7 - 9)

 * New features / bigger changes
 * - (WikimediaMessages) Configure the RC Filters beta feature
 * - (MW core) Unhide rcenhancedfilters preference
 * - (MW core) RCFilters UI: Ajaxify everything
 * - (MW core) RCFilters: Add loading animation
 * - (MW core) Follow-up 658af7f47: Use ignoreHidden for rcenhancedfilters
 * - (MW core) RCFilters UI: Add 'select' state and styles to capsule items
 * - (MW core) RCFilters UI: Add popup footer with feedback link
 * - (MW core) RC filters: custom help link for beta users
 * Bug fixes
 * - (MW core) RCFilters UI: Select filter when searching and add it on 'enter'
 * - (MW core) RC Filters: new feedback url
 * - (MW core) RCFilters UI: Adopt conflict colors
 * - (MW core) RCFilters UI: Adjust highlight button circle to new OOjsUI changes
 * - (MW core) RCFilters UI: Correct filter name font-size
 * - (MW core) RCFilters UI: Add highlight icon
 * - (MW core) RC Filters: Make highlight popup right-aligned
 * - (MW core) RC Filters: in enhanced RC mode, don't highlight groups
 * - (MW core) RCFilters UI: Delay the capsule popup
 * - (MW core) RCFilters UI: Dash the border 'none' highlight
 * - (MW core) RCFilters UI: Only mute 'fullyCovered' items in the capsule
 * - RCFilters UI: Add hover effect on filter list items
 * - (MW core) RCFilters UI: Adjust styles for filter list elements
 * - (Echo) NotificationBadgeWidget: Fix appearance of bottom buttons for OOUI changes
 * - (Echo) Avoid unintended mentions when changing content
 * - (Echo) Align the cross-wiki icon with the other notification icons
 * - (Flow) Fix switching widget when VE is not available
 * - (Flow) Use different technique for sidebar full height background
 * - (Flow) Make dropdown button links full width
 * - (Flow) Load VE plugin modules
 * - (Flow) Load mw core extensions through new module
 * - (Flow) Fix padding of large inputs
 * - (Flow) Remove toolbar border (shadow) in monobook as well
 * No user impact
 * - (MW core) Maintenance: init a user preference based on another preference
 * - (ORES) Fetch thresholds from live stats for filters
 * - (Echo) Support loading of secondary icons in RLEIM module
 * - (Echo) Log more info for unserialize failures, and don't treat them as errors
 * - (Echo) Remove FloatableElement hack, no longer needed
 * - (Flow) Fix Flow autoload data and gen-autoload.php
 * - (MW core) RCFilters UI: Add dm.FilterItem unit tests

1.29.0-wmf.14 (February 28 - March 2)

 * New features / bigger changes
 * - Import dump: support importing a board that exist in the farm
 * Was cherry-picked and deployed on February 22
 * - RCFilters UI: Highlight behavior
 * Bug fixes
 * - (MW core) RCFilters UI: Scroll to filter when selected
 * - (MW core) RCFilters UI: Limit filter popup height
 * - (MW core) RCFilters UI: Scroll the capsule to the top of the screen
 * - (MW core) RCFilters UI: Add 'direction' property to the wrapper
 * - (MW core) RCFilters UI: Style the 'old' RC option fieldset
 * - (MW core) RCFilters: Align trash icon with filter list
 * - (MW core) RCFilters UI: Fix mute state styling
 * - (MW core) RCFilters UI: Stop mousedown propagation when capsule item 'x' button is clicked
 * - (MW core) RCFilters UI: Reassess interaction after resetting filters
 * - (MW core) RCFilters UI: Fix CapsuleItemWidget popup styling
 * - (Flow) De-italicise placeholders
 * - (Flow) Follow-up I3dc3db6db: De-italicise surface placeholder
 * - (Flow) Don't hide/show editors, just detach/attach
 * - (Flow) Fix adjacent input widget border radii
 * - (Flow) Use new placeholder mixin
 * - (Flow) Fix margins & borders of editor/toolbar
 * - (Flow) Update TextInputWidget blue border margin fix
 * - (ORES) Make wording of filters in Special:Contribs as the same as ChangesLists


 * No user impact
 * - (Echo) Fix broken DatabaseUpdater::dropExtensionTable call
 * - (Echo) Remove test for internal diff engine acceptance
 * - (Echo) DiscussionParserTest only create users when needed
 * - (Echo) Remove unused DiscussionParser::stripIndents
 * - (Echo) Fix method name in LoadExtensionSchemaUpdates
 * - (Flow) Update pimple/pimple to 3.0.2

1.29.0-wmf.13 (February 21-23)

 * New features / bigger changes
 * Bug fixes
 * - (MW core) RCFilters UI: Cancel 'editItem' on CapsuleMultiselectWidget
 * No user impact
 * - (MW core) Split RCFilter's RL modules
 * - (Flow) Update pimple/pimple to 3.0.2
 * - (Flow) build: Bump stylelint and make pass
 * - (Flow) Replace deprecated suppress warning methods

1.29.0-wmf.12 (February 14-16)

 * New features / bigger changes
 * (MW core) - RCFilters UI: Filter interaction: conflicts
 * (MW core) - RCFilters UI: Define interaction states for filters
 * (MW core) - RC filters: AJAX and pushState/popState
 * (MW core) - RCFilters UI: Add popup for capsule items
 * (MW core) - Expand RC filters search to include desc and group title
 * (Echo) - Use internal diff engine (might have user impact if parsing is not exactly the same)
 * (PageTriage) - Remove 250-character limit for review notes and tagging explanations


 * Bug fixes
 * (MW core) - RCFilters UI: Destroy CapsuleItemWidget when it is removed
 * (MW core) - RCFilters UI: Fix filter list popup width
 * (MW core) - rcfilters: Style fixes and cleanup
 * (Echo) - Fix mentions failing editing empty pages
 * (Flow) - Use a bottom-positioned toolbar
 * (ORES) - Reduce number of revisions that can be requested (unclear whether this has user impact)
 * (ORES) - Make rcshow=oresreview bypass query optimizer failure


 * No user impact
 * (MW core) - RC filters: Let the group widget know its own name
 * (Echo) - Replace deprecated wfGetLBFactory and wfGetLB call
 * (PageTriage) - Drop unused ptrl_comment field

1.29.0-wmf.11 (February 7-9)

 * New features / bigger changes
 * Bug fixes
 * (MW core) - Follow-up 873d3c9ff: make RCFilters widget input use interface directionality
 * (Flow) - Always open the editor configured in the 'flow-editor' preference
 * No user impact

1.29.0-wmf.10 (January 31 - February 2)

 * New features / bigger changes
 * (MW core) - RCFilters UI: Add 'remove' and 'restore defaults' to filter list
 * (MW core) - RCFilters UI: Read default states of filters
 * Bug fixes
 * (Echo) - Remove 'text' as a valid notifications output format
 * (Flow) - Don't set Flow preferences in hooks
 * No user impact
 * (Echo) - Document return value EchoEventPresentationModel:getTruncatedX methods
 * (Flow) - Clean up alias file

1.29.0-wmf.9 (January 24-26)

 * New features / bigger changes
 * (MW core) - mediawiki.rcfilters: Add the remaining MW core filters
 * (MW core) - Follow-up e3da2e23: Fix typo in hideanons filter name
 * (MW core) - Create active/inactive behavior for complementary filters
 * (MW core) - rcfilters: Remove implemented filters from list of links
 * Bug fixes
 * (MW core) - RCFilters: Clean up focus handling in capsule widget
 * (Echo) - Remove calls to debouncedUpdateThemeClasses
 * (Flow) - SECURITY: Attribute Special:EnableFlow to initiating user
 * (Flow) - Rephrase Flow notifications preference
 * (ORES) - Do not add rc_patrol = 0 when querying user contributions
 * No user impact
 * (Echo) - build: Re-use MessageDirs in banana conf
 * (Echo) - Add i18n/api/ to banana config
 * (Flow) - build: Re-use MessageDirs in banana conf
 * (Flow) - Add i18n/api/ to banana config
 * (ORES) - build: Re-use MessageDirs in banana conf
 * (ORES) - Add regression test for when hidenondamaging is true in Special:Contributions
 * (ORES) - Remove default "return true" from all hook handlers

1.29.0-wmf.8 (January 17-19)

 * New features / bigger changes
 * (MW core) - Adding new interface for review filters to RecentChanges
 * (MW core) - Follow-up 873d3c9ff: move new RC filters UI below the custom links
 * (MW core) - Add userExpLevel filter in the RCFilters UI
 * Bug fixes
 * (Flow) - CanNotEditWidget: Hide properly when not active
 * (Flow) - Make 'hidepageedits' filter out all Flow changes
 * (Flow) - Throw when unserializing invalid Flow workflow metadata JSON
 * (Flow) - Show error if the JSON content is corrupt
 * (Flow) - TemplateHelper: Adjust for c67539341 in MW core
 * (Flow) - Replace deprecated mediawiki.UI Less variables with current ones
 * (ORES) - Small adjustment in "soft" color to make it more aligned with the color palette
 * No user impact
 * (Echo) - Fix wgMessagesDirs in php entry point
 * (Echo) - Replace $( document ).ready(...) by $(...)
 * (Echo) - Pass 2 parameters to addDeprecation
 * (Echo) - Use fake timer in Echo unit tests
 * (PageTriage) - ApiPageTriageList: Better document parameter weirdness

1.29.0-wmf.7 (January 3 - 5)

 * New features / bigger changes
 * Bug fixes
 * (Echo) - Follow-up d66771523c2: unbreak ext.echo.emailicons module
 * This was cherry-picked and deployed on Dec 14
 * (Echo) - Fixed variable interpolation in DataOutputFormatter.php
 * (Echo) - Add GENDER support to a few Echo messages
 * (Echo) - Use the right counter for the right badge
 * (Echo) - Adjust unread counter position based on length
 * (Echo) - Get undone revision id from hook param instead of request
 * (Echo) - Make mw.echo.alert text darker to pass WCAG test
 * (Flow) - Always use plaintextParams with getContentSnippet to prevent double-parsing
 * (Flow) - Make 'flow-skip-summary' clearer
 * (Thanks) - Replaced PNG icon with SVG icons for Thanks notifications
 * (Thanks) - Replaced thanks-ltr/rtl (secondary) icons with larger thanks-green-ltr/rtl (main) icons
 * No user impact
 * (Echo) - Fix typos and incomplete PHPDoc tags
 * (Echo) - Fix generation of sample 'reverted' notifications
 * (Echo) - Split API messages to a separate file
 * (Flow) - FlowFixInconsistentBoards: Run in update.php, fix updatelog
 * (Flow) - ApiFlow: Clean up submodule handling
 * (Flow) - ApiFlow: Determine write mode on a per-submodule basis
 * (ORES) - Split simple and js-based styles
 * (MW core)- Special:RC filter: userExpLevel
 * (Thanks) - Remove unneeded devDependencies "jshint"

1.29.0-wmf.6 (December 13 - 15)

 * New features / bigger changes
 * Bug fixes
 * (Echo) - Fix unread notification count caching
 * (Echo) - Follow-up eed48aa7: remove unnecessary z-index
 * This fixes a minor display bug on the mobile version of Special:Notifications
 * (FlaggedRevs) - Remove validate from reviewers in simple configs
 * (FlaggedRevs) - Record move of stable settings in logs after page move
 * (FlaggedRevs) - Update logging system of FlaggedRevs
 * (FlaggedRevs) - Show log excerpt by default in review form
 * (PageTriage) - Call setHeaders in SpecialNewPagesFeed::execute
 * No user impact
 * (Echo) - Add extension.json, empty PHP entry point
 * It's possible that this could cause some breakage as it rolls out
 * (Echo) - build: Update mediawiki/mediawiki-codesniffer to 0.7.1
 * (Echo) - Update Maintenance scripts to use $this->requireExtension
 * (Echo) - Split up $wgEchoConfig
 * (Echo) - Update for API error i18n


 * (ORES) - 'damaging' filter on Special:RC / Special:Watchlist
 * (ORES) - 'goodfaith' filter on Special:RC / Special:Watchlist
 * (ORES) - Use getThreshold instead of getDamagingThreshold
 * (ORES) - Validate $type variable to prevent accidental injection
 * (Flow) - FlowFixInconsistentBoards: Don't output non-critical error info
 * (Flow) - Rename Flow\Import\SourceStore\Null to NullImportSourceStore
 * (Flow) - Update for API error i18n
 * (FlaggedRevs) - Simplify setup for protection-based configs
 * (FlaggedRevs) - Replace SpecialRecentChangesFilters and SpecialWatchlistFilters hooks with ChangesListSpecialPageFilters
 * (FlaggedRevs) - Update for API error i18n
 * (PageTriage) - Update for API error i18n
 * (PageTriage) - Defer secondary page metadata backfill DB writes
 * (MW core) - Special:RC 'hidemajor' filter
 * (MW core) - Special:RC filter: hideunpatrolled
 * (MW core) - Special:RC filter: hidehumans
 * (MW core) - Special:RC filters: hide page edits, new pages, log entries
 * (MW core) - RC/Watchlist: Filter out parameters that cannot be displayed
 * (MW core) - Special:RC tests: ignore order when asserting conditions

1.29.0-wmf.5 (December 6 - 8)

 * New features / bigger changes
 * Bug fixes
 * - (ORES) Use darker shade of yellow
 * - (Echo) Add help icon
 * - (Echo) Align echo alert colors to WikimediaUI color palette
 * - (Echo) Echo.alias for Bengali (bn)
 * - (Flow) Add script to fix inconsistent state for board name
 * No user impact
 * - (Flow) Add extension.json, empty PHP entry point
 * - (Flow) Update maintenance scripts to use $this->requireExtension
 * - (Flow) Remove duplicate $wgAvailableRights additions
 * - (Flow) Get rid of $wgFlowGroupPermissions hack
 * - (PageTriage) Correctly register WikiLove before toolbarView
 * - (PageTriage) Use ParserOutput instead of DB to check for categories
 * - (PageTriage) Improve JSDuck
 * - (PageTriage) Import templates from English Wikipedia

1.29.0-wmf.4 (November 29 - December 1)
Note: the November 22-24 deployment train was skipped
 * New features / bigger changes
 * (ORES) Visually report damaging confidence
 * (ORES) Add "Lowest" ORES sensitivity
 * Bug fixes
 * (Flow) Adjust to breaking change Icca471541173 in VisualEditor
 * (Flow) Fix editing the titles of topics with summaries
 * (Echo) Align Email format with Wikimedia color palette
 * (Flow) Use rollbackMasterChanges instead of rollback in SubmissionHandler
 * (Echo) Add Russian special page aliases for Ukrainian for backwards compatibility
 * (Echo) Fix missing doublecheck icon on Special:Notifications on mobile
 * (Flow) Stop assigning rights to the nonexistent 'suppress' group
 * (Flow) Namespace translations for Bengali
 * (Flow) Special page alias translations for Bengali
 * No user impact
 * (Flow) Stop logging when rows can't be formatted because of permission exception
 * (Flow) Delete unused flow_subscription table
 * (Flow) Add primary keys to the remaining Flow tables
 * (Echo) Add a primary key to the echo_notification table
 * (Echo) Remove mention of EchoBasicFormatter
 * (Flow) Remove wgResourceLoaderLESSImportPaths
 * (ORES) Update for API error i18n
 * (ORES) Only pull in damaging scores when damaging model is enabled
 * (ORES) Follow-up c3ee00bc: fix "Invalid option hidenondamaging" error
 * (ORES) Update dependencies and add missing license/repo information
 * (ORES) Introduce stylelint
 * (Echo) build: Replace jscs/jshint with eslint
 * (Flow) build: Replace jshint/jscs with eslint
 * (Flow) Follow-up 21a2cdb550: Stop passing config parameter to dm.List
 * (ORES) Add some more PHPCS sniffs
 * (ORES) Documentation, deprecation and code style fixes
 * (Flow) Clean up end markers of /* comment blocks */
 * (ORES) Clean up end markers of /* comment blocks */
 * (Flow) Simplify 'vendor' in .gitignore