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.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) RC Filters: 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