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.30.0-wmf.14 (Aug 15-17)

 * New features / bigger changes
 * - Unwatch link for pages in Special:Watchlist
 * - (Echo) Add 'Mark all as read' button
 * Bug fixes
 * - RCFilters: preserve invert parameter in saved queries
 * - (Flow) Replace abandoned `@colorGray13` with current WikimediaUI one
 * - (Flow) Replace remaining greys with WikimediaUI palette ones

1.30.0-wmf.13 (Aug 8-10)

 * New features / bigger changes
 * - RCFilters: Add 'enhanced' view (Group by pages)
 * - RCFilters: Add 'advanced filters' label to the view selection
 * - SpecialWatchlist: Always apply a LIMIT
 * Bug fixes
 * - RCFilters: Unsticky the 'limit' preference temporarily
 * - RCFilters: Pluralize 'show last X changes' message
 * - Follow-up 31be7d0: send tags list if experimental mode is disabled
 * - RCFilters: Trim results to allow searching for spaces after trigger
 * - RCFilters: Scroll widget to top when switching view
 * - RCFilters: Don't reload results for redundant requests
 * - RCFilters: Normalize arbitrary values before adding them
 * - RCFilters: set live update button title
 * - RCFilters: Add vendor prefixes to loading animation
 * - RCFilters: Prevent live update fetch if model is in conflict
 * - RCFilters: Adjust styling of 'other review tools' button
 * - RCFilters: Normalize 'limit' to minimum 0, like the backend does
 * - RCFilters: Adjust server default variable names for limit/days
 * - RCFilters: Normalize user-generated default values
 * - RCFilters: Remove new changes visual cue for Live Update feature
 * - RCFilters: Bring back old vs new marker in live update
 * - RCFilters: Correct label for "View newest changes" button
 * - RCFilters: Allow non-sticky filters to be excluded from saved queries
 * - RCFilters: Show "from" link when live update is not available
 * - Set a min and max on the rclimit preference
 * - (Flow) Add for flow-dialog-cancelconfirm-{title,message}

1.30.0-wmf.12 (Aug 1-3)

 * Cherry-picked to wmf.11
 *  - RCFilters: Filter duplicates when filtering for multiple tags 
 *  - Follow-up 2a04f2d: don't pass [  ] as tag filter when tagfilter=  
 *  - RCFilters: Improve loading animation 
 *  - RCFilters UI: Unbreak limit and days widgets in non-experimental mode
 *  - RCFilters: Followup I78e23f85c3: Don't disable RCFilters system when fetching results 
 *  - RCFilters: Read base value of limit/days from preference 
 *  - Follow-up 94b6ba5453: cast default value to string
 * New features / bigger changes
 * - RCFilters: Make 'related links' collapsible
 * - RCFilters: Create a sticky preference for days/limit groups
 * - RCFilters: Allow setting a new query as default
 * - RCFilters: show new changes
 * Bug fixes
 * - RCFilters: Close limit/days popups after choosing value
 * - RCFilters: Reduce space between filters and saved queries button
 * - RCFilters: Trim input text before evaluation
 * - RCFilters: Open limit/days popups the other way
 * - RCFilters: Remember legend expand/collapse state
 * - (ORES) Messages for low and high accuracy likelybad filters
 * - (ORES) Treat RC_LOG and RC_EXTERNAL rows as unscorable
 * - (ORES) Follow-up a93bd12: also ignore RC_LOG/RC_EXTERNAL in non-RCFilters UI
 * - Cap 'days' param in RC/Watchlist at $wgRCMaxAge
 * - Split minoredit into minoredit and enotif_minoredit
 * No user impact
 * - ChangeTags: Remove $wgRequest abuse in modifyDisplayQuery
 * - Add unit tests for ChangeTags::modifyDisplayQuery
 * - RCFilters UI: Remove duplicate(!!) method mw.rcfilters.Controller#_getDefaultParams
 * - RCFilters: Make namespace and tag features no longer experimental
 * - RCFilters: Remove $wgStructuredChangeFiltersEnableSaving feature flag
 * - Remove StructuredChangeFiltersEnableSaving completely
 * - Enable jsduck for resources/src/mediawiki.rcfilters and make pass
 * - (ORES) Use instead of hardcoding "Logged actions"
 * - (ORES) Allow filter UI to be turned off

1.30.0-wmf.11 (July 25-27)

 * Cherry-picked to wmf.10
 *  - (Echo) Fix layout regression in notification popup footer 
 *  - (Thanks) Add missing jQueryMsg dependency for mobile diff view 
 * New features / bigger changes
 * - RCFilters: Add range group filters - limit, days and hours
 * - RC Filters: combine user registration and experience level filters
 * - RCFilters: proper group name for user experience level
 * - RCFilters: Emphasize UI when saved query is loaded
 * - RCFilters: Change loading animation
 * Bug fixes
 * - RCFilters: Only open one 'Whats This' popup at a time
 * - RCFilters: Change `What's this?` i18n based on user testing
 * - RC Filters: Tweak i18n for latest/not latest revision filter
 * - EnhancedChangesList: Don't render headings for empty days
 * - RCFilters: Don't emit wikipage.content on first load
 * - RCFilters: Increase the initial height of the loading box
 * - RCFilters: Make sure single_option always has 1 item selected
 * - RCFilters: Exclude 'hidden' filters from 'areCurrentFiltersEmpty' query
 * - RCFilters: Make the pulsating animation on the live update button not block clicks
 * - RCFilters: Don't empty the changes list on first load
 * - SpecialRecentchanges: Handle ?days= parameter more sanely
 * - (Flow) Add mw-parser-output to summaries and board widget
 * - (WikimediaMessages) Hooks::onBeforePageDisplay: Don't show a Beta Features invite on non-BF wikis
 * No user impact
 * - RCFilters: Add 'boolean' group
 * - RCFilters: Log filter groupings

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