https://wiki.mozilla.org/api.php?action=feedcontributions&user=Ahal&feedformat=atomMozillaWiki - User contributions [en]2024-03-28T21:41:38ZUser contributionsMediaWiki 1.27.4https://wiki.mozilla.org/index.php?title=ReleaseEngineering/Contribute&diff=1249247ReleaseEngineering/Contribute2023-12-19T14:15:28Z<p>Ahal: delete release services section</p>
<hr />
<div>Mozilla's Release Engineering team is responsible for the project's build, test, and release pipeline. 'Releng' deals with problems at great scale, and there's always room for new contributors!<br />
<br />
== What is Release Engineering? ==<br />
<br />
''"Release engineering deals with all activities in between regular development and delivery of a software product to the end user, i.e., integration, build, test execution, packaging and delivery of software"''<br />
<small>From the [http://releng.polymtl.ca/RELENG2014/html/index.html RELENG 2014 Workshop]</small><br />
<br />
[http://youtu.be/7j0NDGJVROI "Release Engineering As A Force Multiplier"] is a talk given by Mozilla's former Director of Release Engineering and is a highly recommended introduction to the field.<br />
<br />
== Release Engineering at Mozilla ==<br />
<br />
Release Engineering at Mozilla is concerned with building Mozilla's release pipeline - the infrastructure that takes the work developers do on our products and delivers it to our customers. This involves being responsible for Mozilla's build and test infrastructure, ie. continuous integration. Release Engineering at Mozilla works to make everybody else to be more efficient and more effective, thus allowing a relatively small organisation like Mozilla to compete with corporate giants and advance Mozilla's mission.<br />
<br />
On a day-to-day basis, Mozilla's release engineers write Python applications, maintain the pipeline, and configure & wrestle thousands of servers.<br />
<br />
== Contributing to Releng ==<br />
<br />
We're always looking for new contributors to help us advance the open web! If you have experience in Python, system administration, or configuration management - or you're looking to learn - we'd love to have you onboard.<br />
<br />
Mozilla's Release Engineering team is highly remote and distributed, and we live online. Our timezone spread means that there will always be someone online to help you contribute to the open web.<br />
<br />
=== Getting Started ===<br />
If you're interested in contributing to Release Engineering, find a project or bug you like to help with. Feel free to leave a comment in the bug asking how to get started.<br />
<br />
=== First Projects ===<br />
<br />
==== Mentored Bugs ====<br />
<br />
The Mozilla Project has the idea of a 'Good First Bugs' and 'Mentored Bugs'. A 'Good First Bug' is a bug which has been marked as a good first step into the Project and a 'Mentored Bug' is a bug which an experienced contributors has marked as one they will help a new contributor to fix.<br />
<br />
Here you can see [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=RelEng%20good%20first%20bugs&sharer_id=464696 RelEng good first bugs], and [https://codetribute.mozilla.org/projects/releng mentored bugs]. Don't be discouraged if you don't understand much (or anything!) about the bug, that's completely normal. Just ask for help and you'll be a contributor in no time.<br />
<br />
== Further Information ==<br />
<br />
This page is only intended as a starting guide, more information can be found starting from the [[ReleaseEngineering|main Release Engineering page]] or from the sources below.<br />
<br />
=== Matrix ===<br />
<br />
Come find us in the Matrix channel: [https://chat.mozilla.org/#/room/#firefox-ci:mozilla.org #firefox-ci:mozilla.org ] with your questions, we want you to be able to successfully work on code and submit useful patches so don't be afraid to ask about whatever is blocking you.<br />
<br />
=== Planet Releng ===<br />
<br />
To help the team keep in touch with each other and contributors, many members of Mozilla Releng write regular blog posts on what they're doing. You can find an RSS feed of those posts [http://planet.mozilla.org/releng/ here].<br />
<br />
=== Glossary of terms ===<br />
<br />
If you ever feel lost with all the jargon around you, here's a [https://docs.google.com/document/d/1VcEjW82jBxr77aYi3TVaha9S4uJwAkwEapXnhhMwcgg/edit# handy reference (Google doc)] .</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1249013Template:Version/Gecko/release/current2023-11-20T16:57:03Z<p>Ahal: </p>
<hr />
<div>120</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1249012Template:Version/Gecko/beta/current2023-11-20T16:56:49Z<p>Ahal: </p>
<hr />
<div>121</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1249011Template:Version/Gecko/central/current2023-11-20T16:56:36Z<p>Ahal: </p>
<hr />
<div>122</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1249010Template:Version/Gecko/release/next2023-11-20T16:56:23Z<p>Ahal: </p>
<hr />
<div>123</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1247745Template:NextReleaseDate2023-08-28T14:41:42Z<p>Ahal: </p>
<hr />
<div>2023-09-26</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1247744Template:Version/Gecko/release/current2023-08-28T14:40:49Z<p>Ahal: </p>
<hr />
<div>117</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1247743Template:Version/Gecko/beta/current2023-08-28T14:40:26Z<p>Ahal: </p>
<hr />
<div>118</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1247742Template:Version/Gecko/central/current2023-08-28T14:40:13Z<p>Ahal: </p>
<hr />
<div>119</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1247741Template:Version/Gecko/release/next2023-08-28T14:39:59Z<p>Ahal: </p>
<hr />
<div>120</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1245545Template:NextReleaseDate2023-02-13T18:54:59Z<p>Ahal: </p>
<hr />
<div>2023-03-14</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1245544Template:Version/Gecko/release/current2023-02-13T18:54:02Z<p>Ahal: </p>
<hr />
<div>110</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1245543Template:Version/Gecko/beta/current2023-02-13T18:53:25Z<p>Ahal: </p>
<hr />
<div>111</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1245542Template:Version/Gecko/central/current2023-02-13T18:52:58Z<p>Ahal: </p>
<hr />
<div>112</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1245541Template:Version/Gecko/release/next2023-02-13T18:52:43Z<p>Ahal: </p>
<hr />
<div>113</div>Ahalhttps://wiki.mozilla.org/index.php?title=Release_Management/Release_owners&diff=1243853Release Management/Release owners2022-09-08T14:22:41Z<p>Ahal: </p>
<hr />
<div>==Release Owners==<br />
<br />
* For any questions related to landing of particular features, Beta scheduling, preffing on/off a feature, release notes etc for a particular Firefox version on any channel, below would be the best contacts in addition to emailing release-mgmt@mozilla.com<br />
<br />
Currently, each release manager each takes a version of Firefox and follow it from nightly through beta, and release.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
!Firefox Version<br />
!Owner<br />
!Secondary<br />
!Engineering REO<br />
!Release Duty¹ <br />
!Corresponding ESR<br />
!Release Date<br />
|-<br />
|[[Releases/Firefox 121|Firefox 121]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 115.6)<br />
|2023-12-19<br />
|-<br />
|-<br />
|[[Releases/Firefox 120|Firefox 120]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 115.5)<br />
|2023-11-21<br />
|-<br />
|-<br />
|[[Releases/Firefox 119|Firefox 119]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 115.4)<br />
|2023-10-24<br />
|-<br />
|-<br />
|[[Releases/Firefox 118|Firefox 118]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 115.3)<br />
|2023-09-26<br />
|-<br />
|-<br />
|[[Releases/Firefox 117|Firefox 117]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.15, 115.2)<br />
|2023-08-29<br />
|-<br />
|-<br />
|[[Releases/Firefox 116|Firefox 116]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Cieara Meador<br />
|TBD<br />
|RelMan (ESR 102.14, 115.1)<br />
|2023-08-01<br />
|-<br />
|-<br />
|[[Releases/Firefox 115|Firefox 115]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.13, 115.0)<br />
|2023-07-04<br />
|-<br />
|-<br />
|[[Releases/Firefox 114|Firefox 114]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.12)<br />
|2023-06-06<br />
|-<br />
|-<br />
|[[Releases/Firefox 113|Firefox 113]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.11)<br />
|2023-05-09<br />
|-<br />
|-<br />
|[[Releases/Firefox 112|Firefox 112]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.10)<br />
|2023-04-11<br />
|-<br />
|-<br />
|[[Releases/Firefox 111|Firefox 111]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Jared Hirsch<br />
|TBD<br />
|RelMan (ESR 102.9)<br />
|2023-03-14<br />
|-<br />
|-<br />
|[[Releases/Firefox 110|Firefox 110]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.8)<br />
|2023-02-14<br />
|-<br />
|-<br />
|[[Releases/Firefox 109|Firefox 109]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.7)<br />
|2023-01-17<br />
|-<br />
|-<br />
|[[Releases/Firefox 108|Firefox 108]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.6)<br />
|2022-12-13<br />
|-<br />
|-<br />
|[[Releases/Firefox 107|Firefox 107]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|TBA<br />
|TBD<br />
|RelMan (ESR 102.5)<br />
|2022-11-15<br />
|-<br />
|-<br />
|[[Releases/Firefox 106|Firefox 106]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Prathiksha Guruprasad<br />
|masterwayz <sup>(CEST)</sup>, ahal <sup>(EDT)</sup><br />
|RelMan (ESR 102.4)<br />
|[https://docs.google.com/spreadsheets/d/1SJFtqzHfcDJgyHvk8xOjQ-RbHW50TQMNgs1cH-1kgk0/edit?usp=sharing 2022-10-18]<br />
|-<br />
|-<br />
|[[Releases/Firefox 105|Firefox 105]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|Taddes Korris <sup>(EST)</sup><br />
|jlorenzo<sup>(CEST)</sup>, gabriel<sup>(CDT)</sup><br />
|RelMan (ESR 102.3)<br />
|[https://docs.google.com/spreadsheets/d/1et0SQufCiB3MrQuSHE1joSM9JQdDIMPtrp4sXpG9TSo/edit?usp=sharing 2022-09-20]<br />
|-<br />
|-<br />
|[[Releases/Firefox 104|Firefox 104]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Hsin-Yi Tsai <br />
|jcristau<sup>(CEST)</sup>, gbrown<sup>(MDT)</sup><br />
|RelMan (ESR 91.13, 102.2)<br />
|[https://docs.google.com/spreadsheets/d/1eAFE630SMqO_8NoWgQTOPhyVKkoMFhLXpXZyBZq9aY8/edit?usp=sharing 2022-08-23]<br />
|-<br />
|-<br />
|[[Releases/Firefox 103|Firefox 103]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Frank Doty<br />
|ahal <sup>(EST)</sup>, hneiva <sup>(PST)</sup><br />
|RelMan (ESR 91.12, 102.1)<br />
|[https://docs.google.com/spreadsheets/d/1zl-ohQaUB7txxBmyPqnkRAzI0YS4200dQy_CHjd1nHY/edit?usp=sharing 2022-07-26]<br />
|-<br />
|-<br />
|[[Releases/Firefox 102|Firefox 102]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Marco Castelluccio<br />
|aki <sup>(MST)</sup>, gabriel <sup>(CST)</sup><br />
|RelMan (ESR 91.11, 102.0)<br />
|[https://docs.google.com/spreadsheets/d/1sqCJ92P7vh9g0ef7n4owM3yUE1j2zdYg9xfI848H4FQ/edit?usp=sharing 2022-06-28]<br />
|-<br />
|-<br />
|[[Releases/Firefox 101|Firefox 101]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|Amir Habibi<br />
|jcristau <sup>(CET)</sup>, gbrown <sup>(MST)</sup>, masterwayz <sup>(CET)</sup><br />
|RelMan (ESR 91.10)<br />
|[https://docs.google.com/spreadsheets/d/1Ofo5w5KsufZueuSaenIrqZXPEnxyJ_qQbaYMh8LN7YA/edit?usp=sharing 2022-05-31]<br />
|-<br />
|-<br />
|[[Releases/Firefox 100|Firefox 100]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Barret Rennie <sup>(EST)</sup><br />
|ahal <sup>(EST)</sup>, hneiva <sup>(PST)</sup><br />
|RelMan (ESR 91.9)<br />
|[https://docs.google.com/spreadsheets/d/1S4AfUkzqmZOY9Ps231_bOGvjtUZPXkt8a9CYEZLhpT4/edit?usp=sharing 2022-05-03]<br />
|-<br />
|-<br />
|[[Releases/Firefox 99|Firefox 99]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|James Graham<br />
|aki <sup>(MST)</sup>, gabriel <sup>(CST)</sup><br />
|RelMan (ESR 91.8)<br />
|[https://docs.google.com/spreadsheets/d/1CKKzi3M7wTVg3iFqofgF07mWchOWwu6GslxeoMiMYk4/edit?usp=sharing 2022-04-05]<br />
|-<br />
|-<br />
|[[Releases/Firefox 98|Firefox 98]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Bob Hood<br />
|jcristau <sup>(CET)</sup>, gbrown <sup>(MST)</sup><br />
|RelMan (ESR 91.7)<br />
|[https://docs.google.com/spreadsheets/d/12pXNfgkVAsOJC5lRPmL_VkvJnpbalMQy1nELs-SkC-c/edit?usp=sharing 2022-03-08]<br />
|-<br />
|-<br />
|[[Releases/Firefox 97|Firefox 97]]<br />
|RyanVM <sup>(EST)</sup><br />
|Donal <sup>(EST)</sup><br />
|Christian Holler <sup>(CET)</sup><br />
|ahal <sup>(EST)</sup>, hneiva <sup>(PST)</sup><br />
|RelMan (ESR 91.6)<br />
|[https://docs.google.com/spreadsheets/d/1VTl1569O3g4CP9HdogoHUZh-CD4mAsDlWUzH4VVX6-Q/edit?usp=sharing 2022-02-08]<br />
|-<br />
|[[Releases/Firefox 96|Firefox 96]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Yasmin Shash <sup>(EST)</sup><br />
|sclements <sup>(GMT)</sup>, jmaher <sup>(PST)</sup>, gabriel <sup>(CST)</sup><br />
|RelMan (ESR 91.5)<br />
|[https://docs.google.com/spreadsheets/d/1DMFIF7QocRh0cjjGjxUBfO2J7H3ixUxEmkRGQhiGwNE/edit?usp=sharing 2022-01-11]<br />
|-<br />
|[[Releases/Firefox 95|Firefox 95]]<br />
|Pascal <sup>(CET)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Lougenia Bailey <sup>(EST)</sup><br />
|jcristau <sup>(CET)</sup>, aki <sup>(MST)</sup><br />
|RelMan (ESR 91.4)<br />
|[https://docs.google.com/spreadsheets/d/1WJi2Z8TnQwr-wnPal1YwtWqcq1U3hnL3NAANa0CjnCw/edit?usp=sharing 2021-12-07]<br />
|-<br />
|[[Releases/Firefox 94|Firefox 94]]<br />
|RyanVM<br />
|Dianna<br />
|Marco Castelluccio<br />
|mtabara, hneiva<br />
|RelMan (ESR 91.3)<br />
|[https://docs.google.com/spreadsheets/d/1fPN3MlHOWDM_UFM5z68x8G_8B8FSKt-9_3sNtvAl4CM/edit?usp=sharing 2021-11-02]<br />
|-<br />
|[[Releases/Firefox 93|Firefox 93]]<br />
|Pascal<br />
|Dianna<br />
|Jan Odvarko<br />
|mtabara, gbrown<br />
|RelMan (ESR 78.15, 91.2)<br />
|[https://docs.google.com/spreadsheets/d/1WCNK6t4B_2etaLzIsjIyDHNCwr_5pJ3f0cBTurHoKcQ/edit 2021-10-05]<br />
|-<br />
|[[Releases/Firefox 92|Firefox 92]]<br />
|RyanVM<br />
|RelMan<br />
|Steven DeTar<br />
|sclements, ahal<br />
|RelMan (ESR 78.14, 91.1)<br />
|[https://docs.google.com/spreadsheets/d/1IsRhXuVx8URW9LlgVBQLSVMgtl34-26f7nV1BwjitIk/edit 2021-09-07]<br />
|-<br />
|[[Releases/Firefox 91|Firefox 91 (ESR)]]<br />
|Pascal<br />
|RelMan<br />
|Emma Malysz<br />
|mtabara, jmaher<br />
|RelMan (ESR 78.13, 91.0)<br />
|[https://docs.google.com/spreadsheets/d/1f18qaXtGqSUbCw5L9-50e9NG_VcZP5MWSQdtrq4UG9k/edit?usp=sharing 2021-08-10]<br />
|-<br />
|[[Releases/Firefox 90|Firefox 90]]<br />
|Julien<br />
|RelMan<br />
|Marco Castelluccio<br />
|mtabara<br />
|RelMan (ESR 78.12)<br />
|[https://docs.google.com/spreadsheets/d/1WxfHUxyGngdGPWVzIoEvf8ujcJ6qCS9LmRIdHBf1TQk/edit 2021-07-13]<br />
|-<br />
|[[Releases/Firefox 89|Firefox 89]]<br />
|Pascal<br />
|RelMan<br />
|Philip Luk<br />
|mtabara<br />
|RelMan (ESR 78.11)<br />
|[https://docs.google.com/spreadsheets/d/1g_4o_crls6uBNBICo7MlbjJpX0QSRd1V-ykuKM5gZpA/edit?usp=sharing 2021-06-01]<br />
|-<br />
|[[Releases/Firefox 88|Firefox 88]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|mtabara, ahal<br />
|RelMan (ESR 78.10)<br />
|[https://docs.google.com/spreadsheets/d/150qjJLObI1znPL-G4k_El4Mngzp1sldqSpWtKx9FP1I/edit?usp=sharing 2021-04-19]<br />
|-<br />
|[[Releases/Firefox 87|Firefox 87]]<br />
|Julien<br />
|RyanVM<br />
|Brian Grinstead<br />
|mtabara<br />
|RelMan (ESR 78.9)<br />
|[https://docs.google.com/spreadsheets/d/17iSr6pLI0HBg6mNICH-CdcgrfqRThOWzbl39GqhuoO8/edit 2021-03-23]<br />
|-<br />
|[[Releases/Firefox 86|Firefox 86]]<br />
|Pascal<br />
|RelMan<br />
|Steven DeTar<br />
|mtabara<br />
|RelMan (ESR 78.8)<br />
|[https://docs.google.com/spreadsheets/d/1OT0VLdcGV9QimiM1bQpPtk4GGKE7UYx5dXVXv-bIJHI/edit?usp=sharing 2021-02-23]<br />
|-<br />
|[[Releases/Firefox 85|Firefox 85]]<br />
|Julien<br />
|RelMan<br />
|Dave Hunt<br />
|mtabara, jmaher, sclements<br />
|RelMan (ESR 78.7)<br />
|[https://docs.google.com/spreadsheets/d/1sGAaJ314EJMQVN0e89jE_KN6-NKjgTN0N4JISRGLZGM/edit 2021-01-26]<br />
|-<br />
|[[Releases/Firefox 84|Firefox 84]]<br />
|RyanVM<br />
|RelMan<br />
|Brendan Dahl<br />
|jlorenzo<br />
|RelMan (ESR 78.6)<br />
|[https://docs.google.com/spreadsheets/d/1qzeDK1OOSDUsSSa9wCo10Aq4PI-iSxScM_W7ScxBXF0/edit 2020-12-15]<br />
|-<br />
|[[Releases/Firefox 83|Firefox 83]]<br />
|Pascal<br />
|RelMan<br />
|Blake Winton<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.5)<br />
|[https://docs.google.com/spreadsheets/d/1C4geok1QeLN8vkFWm1u_eucmiTrYIkouiueUbjujQwo/edit 2020-11-17]<br />
|-<br />
|[[Releases/Firefox 82|Firefox 82]]<br />
|Julien<br />
|RelMan<br />
|Janet Dragojevic<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.4)<br />
|[https://docs.google.com/spreadsheets/d/1Y0CzoNUBxrX3fWfB-Py9b2AIsJHMUbvsRg2XfaPuAXI/edit 2020-10-20]<br />
|-<br />
|[[Releases/Firefox 81|Firefox 81]]<br />
|RyanVM<br />
|RelMan<br />
|Jens Stutte<br />
|mtabara, bhearsum<br />
|RelMan (ESR 78.3)<br />
|[https://docs.google.com/spreadsheets/d/1SBoPiAKVdKpLFJohFJX7GRJzWSEoZbjwBSw5b1u9XSw/edit 2020-09-22]<br />
|-<br />
|[[Releases/Firefox 80|Firefox 80]]<br />
|Julien<br />
|RelMan<br />
|Jim Mathies<br />
|jlorenzo, aki<br />
|RelMan (ESR68.12, 78.2)<br />
|[https://docs.google.com/spreadsheets/d/1Anq3XZKTQcNsdrTmWT1gFRBLvxKM_G0T4WU-52orfYc/edit 2020-08-25]<br />
|-<br />
|[[Releases/Firefox 79|Firefox 79]]<br />
|RyanVM<br />
|RelMan<br />
|Kim Moir<br />
|tomprince<br />
|RelMan (ESR68.11, 78.1)<br />
|[https://docs.google.com/spreadsheets/d/1zLD81ERyXNzODH5M0mq3icfGHFeruOZpcSK-LoXNEfs/edit 2020-07-28]<br />
|-<br />
|[[Releases/Firefox 78|Firefox 78 (ESR)]]<br />
|Julien<br />
|RelMan<br />
|Gian-Carlo Pascutto<br />
|callek<br />
|RelMan (ESR68.10)<br />
|[https://docs.google.com/spreadsheets/d/1b0cAOFmILA_iBPAJ3DMVJLBiwsKeY00Ljk0eb7nYeow/edit 2020-06-30]<br />
|-<br />
|[[Releases/Firefox 77|Firefox 77]]<br />
|Pascal<br />
|RelMan<br />
|Rachel Tublitz<br />
|rail<br />
|RelMan (ESR68.9)<br />
|[https://docs.google.com/spreadsheets/d/1xqBNtQjXMx9nEDi1d8mhXSKCEKMgyRmZeZEsBSG4qh0/edit 2020-06-02]<br />
|-<br />
|[[Releases/Firefox 76|Firefox 76]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|jlund<br />
|Julien (ESR68.8)<br />
|[https://docs.google.com/spreadsheets/d/1wRSzUShqVrg0O_5fa2Mr611R-DjhpcFk6swJvScj_mQ/edit 2020-05-05]<br />
|-<br />
|[[Releases/Firefox 75|Firefox 75]]<br />
|Julien<br />
|RelMan<br />
|Jens Stutte<br />
|jlorenzo<br />
|Pascal (ESR68.7)<br />
|[https://docs.google.com/spreadsheets/d/10JMHUnaJSOvAmnDlogkcmUfBqrW0cKXWaSMlNcnJ1q4/edit 2020-04-07]<br />
|-<br />
|[[Releases/Firefox 74|Firefox 74]]<br />
|Pascal<br />
|RelMan<br />
|Ethan Tseng<br />
|sfraser (UTC)<br />
|Ryan (ESR68.6)<br />
|[https://docs.google.com/spreadsheets/d/1HQFtOPTZa2NlnPY6gO4svMxf3oKY8_SpYQZ7yt-Nc3I/edit 2020-03-10]<br />
|-<br />
|[[Releases/Firefox 73|Firefox 73]]<br />
|Ryan<br />
|Julien<br />
|Sean Voisen<br />
|jlund<br />
|Julien (ESR68.5)<br />
|[https://docs.google.com/spreadsheets/d/1w2AzxKZP6J_rquybiBn15995u8tROBaUUAiQ5nc69J8/edit 2020-02-11]<br />
|-<br />
|[[Releases/Firefox 72|Firefox 72]]<br />
|Julien<br />
|lizzard<br />
|Jim Mathies<br />
|mtabara, jlund<br />
|Pascal C (ESR68.4)<br />
|[https://docs.google.com/spreadsheets/d/10VEf3__QCWDb4EGom-W6qGPlu71R_fDQiTCLc-7Sggo/edit 2020-01-07]<br />
|-<br />
|[[Releases/Firefox 71|Firefox 71]]<br />
|Pascal<br />
|RyanVM<br />
|Florian Quèze<br />
|mtabara,jlund<br />
|lizzard (ESR68.3)<br />
|[https://docs.google.com/spreadsheets/d/1SCFDvnKGHSd7BvAvIAXA135IQnp0W4Mik9Y-jgImaJ8/edit 2019-12-03]<br />
|-<br />
|[[Releases/Firefox 70|Firefox 70]]<br />
|lizzard<br />
|Pascal<br />
|Janet Dragojevic<br />
|jlund<br />
|RyanVM (ESR68.2)<br />
|[https://docs.google.com/spreadsheets/d/1a0f8cDojanXaT44ATyK1KpK0OGcoI2eRIas4Mjk_C8Y/edit 2019-10-22] <br />
|-<br />
|[[Releases/Firefox 69|Firefox 69]]<br />
|RyanVM<br />
|lizzard<br />
|Kate Hudson<br />
|mhentges<br />
|Julien (ESR68.1)<br />
|[https://docs.google.com/spreadsheets/d/196B1HNyayCZx-JWcMqEHREY0oLIxhKqKx9ahU7p25Fw/edit 2019-09-03]<br />
|-<br />
|[[Releases/Firefox 68|Firefox 68 (ESR)]]<br />
|Julien<br />
|RyanVM<br />
|plawless<br />
|tomprince<br />
|Pascal (ESR68.0)<br />
|[https://docs.google.com/spreadsheets/d/1jtNuLGugHVgZTKR3NXQGngA_EjzSGxpRBzW-DvNK3EI/edit 2019-07-09]<br />
|-<br />
<br />
|[[Releases/Firefox 67|Firefox 67]]<br />
|Pascal<br />
|lizzard<br />
|Neha Kochar<br />
|sfraser<br />
|lizzard<br />
|[https://docs.google.com/document/d/1feDkXleRXMJJS9lxP_vbyBApIDoEr44KchAZoYHkS54/ 2019-05-21]<br />
<br />
|-<br />
|[[Releases/Firefox 66|Firefox 66]]<br />
|Lizzard<br />
|Pascal<br />
|Tim Spurway<br />
|mtabara, jlund<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1KnDiM3UmLbCPrc3UVZq6Z5Tdb2jnTfjpdyahSqgSGNE/ 2019-03-19]<br />
<br />
|-<br />
|[[Releases/Firefox 65|Firefox 65]]<br />
|RyanVM<br />
|Lizzard<br />
|jaws<br />
|jlund, mtabara<br />
|JCristau<br />
|[https://docs.google.com/document/d/1vI9KWvSMQ50R9YgdMX7nG7CSuOnTeRGN9sOH_D6_v_c/edit?usp=sharing 2019-01-29]<br />
|-<br />
<br />
|[[Releases/Firefox 64|Firefox 64]]<br />
|Julien<br />
|RyanVM<br />
|overholt<br />
|callek, sfraser<br />
|Liz<br />
|[https://docs.google.com/document/d/1MQa4J9OSTc1i60sFcVNyoFNLK8TLBXJlL9W12VoEUAc/edit?usp=sharing 2018-12-11]<br />
|-<br />
|[[Releases/Firefox 63|Firefox 63]]<br />
|Pascal<br />
|Ritu<br />
|David Durst<br />
|rail, aki, garbas<br />
|Julien<br />
|[https://docs.google.com/document/d/185O88wIwV-fRwqOKJaCCPVXjxhm70h8J4ApsJt1H9Rk/edit?usp=sharing 2018-10-23]<br />
|-<br />
|[[Releases/Firefox 62|Firefox 62]]<br />
|Lizzard<br />
|Pascal<br />
|Mike T <br />
|jlorenzo, tomprince <br />
|RyanVM<br />
|[https://docs.google.com/document/d/17FvsBOudLr15DgN-E82UamLhnweDHmGzQu4wIEi1QUg/edit?usp=sharing 2018-09-05]<br />
|-<br />
|Firefox 61<br />
|RyanVM<br />
|Ritu<br />
|Marion <br />
|mtabara, jlund<br />
|Julien<br />
|[https://docs.google.com/document/d/1cLYXPrlEES90PSKQHFLf3j0tiOUfUth2ye9Kfg9xLYY/edit?usp=sharing 2018-06-26]<br />
|-<br />
|Firefox 60 (ESR)<br />
|Julien<br />
|Ritu<br />
|Milan <br />
|aki, sfraser<br />
|Liz (52.8)<br />
|[https://docs.google.com/document/d/14D5Au23znkkqeLZu22cI7kSM0EowkC0cq0ppiZR2lg4/edit?usp=sharing 2018-05-09]<br />
|-<br />
|Firefox 59<br />
|Liz<br />
|RyanVM<br />
|Andrew Overholt<br />
|mtabara, bhearsum<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1ZOs9Ingbz0e-mWDu8yXGiMM-SnpBXThkLdXnplG4e2w/edit?usp=sharing 2018-03-13]<br />
|-<br />
|Firefox 58<br />
|Gerry<br />
|Julien<br />
|Mike Taylor <br />
|callek, sfraser, nthomas, rok, jlund<br />
|Ritu<br />
|[https://docs.google.com/document/d/1jPyeW14MyHyQX7kXBU8KN9jsxO2VQjP3GN_VpLiG9YM/edit?usp=sharing 2018-01-23]<br />
|-<br />
|Firefox 57<br />
|Ritu Kothari<br />
|Julien Cristau & Sylvestre<br />
|Jim Mathies<br />
|callek, jlorenzo, nthomas, sfraser, jlund<br />
|Liz<br />
|[https://docs.google.com/document/d/1jeypuqBqEyIh-4qxXT0UnE2aVjetN7uVD8W7L7TbWKg/edit?usp=sharing 2017-11-14]<br />
|-<br />
|Firefox 56<br />
|Liz Henry<br />
|Gerry Chang<br />
|Panos Astithas<br />
|kmoir, sfraser<br />
|Julien Cristau<br />
|2017-09-26<br />
|-<br />
|Firefox 55<br />
|Julien Cristau<br />
|Liz Henry<br />
|Mike Taylor<br />
|garbas, mtabara<br />
|Gerry Chang<br />
|2017-08-08<br />
|-<br />
|Firefox 54<br />
|Gerry Chang<br />
|Julien Cristau<br />
|Nathan Froyd<br />
|mtabara, aki<br />
|Ritu<br />
|2017-06-13<br />
|-<br />
|Firefox 53<br />
|Liz Henry<br />
|Gerry Chang<br />
|Randell Jesup<br />
|aki, jlorenzo<br />
|Julien Cristau<br />
|2017-04-18<br />
|-<br />
|Firefox 52 (ESR)<br />
|Julien Cristau<br />
|Sylvestre<br />
|RyanVM<br />
|jlorenzo, jlund<br />
|Gerry<br />
|2017-03-07<br />
|-<br />
|Firefox 51<br />
|Gerry Chang<br />
|Liz Henry<br />
|Milan<br />
|jlund, mtabara<br />
|Ritu<br />
|2017-01-24 <br />
|}<br />
<br />
=== Eng support ===<br />
This lists the Regression Engineering Owner for the release. Details at https://wiki.mozilla.org/Platform#Regression_Engineering_Owner_.28REO.29 <br />
<br />
=== ¹ - Releng Coverage Notes ===<br />
<br />
As of 2022, Releng covers a given release beginning the Monday following the previous release and ending at the end of release week.<br />
<br />
[[Category:Release_Management]]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1243447Template:NextReleaseDate2022-07-25T16:34:00Z<p>Ahal: </p>
<hr />
<div>2022-08-23</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1243446Template:Version/Gecko/release/current2022-07-25T16:28:12Z<p>Ahal: </p>
<hr />
<div>103</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1243445Template:Version/Gecko/beta/current2022-07-25T16:27:59Z<p>Ahal: </p>
<hr />
<div>104</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1243444Template:Version/Gecko/central/current2022-07-25T16:27:46Z<p>Ahal: </p>
<hr />
<div>105</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1243443Template:Version/Gecko/release/next2022-07-25T16:27:27Z<p>Ahal: </p>
<hr />
<div>106</div>Ahalhttps://wiki.mozilla.org/index.php?title=Release_Management/Release_owners&diff=1241098Release Management/Release owners2022-03-09T15:15:26Z<p>Ahal: </p>
<hr />
<div>==Release Owners==<br />
<br />
* For any questions related to landing of particular features, Beta scheduling, preffing on/off a feature, release notes etc for a particular Firefox version on any channel, below would be the best contacts in addition to emailing release-mgmt@mozilla.com<br />
<br />
Currently, each release manager each takes a version of Firefox and follow it from nightly through beta, and release.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
!Firefox Version<br />
!Owner<br />
!Secondary<br />
!Engineering REO<br />
!Release Duty¹ <br />
!Corresponding ESR<br />
!Release Date<br />
|-<br />
|[[Releases/Firefox 101|Firefox 101]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.10)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=394087960 2022-05-31]<br />
|-<br />
|-<br />
|[[Releases/Firefox 100|Firefox 100]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.9)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=23594076 2022-05-03]<br />
|-<br />
|-<br />
|[[Releases/Firefox 99|Firefox 99]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|James Graham<br />
|aki <sup>(MST)</sup>, gabriel <sup>(CST)</sup><br />
|RelMan (ESR 91.8)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=88226767 2022-04-05]<br />
|-<br />
|-<br />
|[[Releases/Firefox 98|Firefox 98]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Bob Hood<br />
|jcristau <sup>(CET)</sup>, gbrown <sup>(MST)</sup><br />
|RelMan (ESR 91.7)<br />
|[https://docs.google.com/spreadsheets/d/12pXNfgkVAsOJC5lRPmL_VkvJnpbalMQy1nELs-SkC-c/edit#gid=221890705 2022-03-08]<br />
|-<br />
|-<br />
|[[Releases/Firefox 97|Firefox 97]]<br />
|RyanVM <sup>(EST)</sup><br />
|Donal <sup>(EST)</sup><br />
|Christian Holler <sup>(CET)</sup><br />
|ahal <sup>(EST)</sup>, hneiva <sup>(PST)</sup><br />
|RelMan (ESR 91.6)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1678701594 2022-02-08]<br />
|-<br />
|[[Releases/Firefox 96|Firefox 96]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Yasmin Shash <sup>(EST)</sup><br />
|sclements <sup>(GMT)</sup>, jmaher <sup>(PST)</sup>, gbustamante <sup>(CST)</sup><br />
|RelMan (ESR 91.5)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=4204978 2022-01-11]<br />
|-<br />
|[[Releases/Firefox 95|Firefox 95]]<br />
|Pascal <sup>(CET)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Lougenia Bailey <sup>(EST)</sup><br />
|jcristau <sup>(CET)</sup>, aki <sup>(MST)</sup><br />
|RelMan (ESR 91.4)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1441752983 2021-12-07]<br />
|-<br />
|[[Releases/Firefox 94|Firefox 94]]<br />
|RyanVM<br />
|Dianna<br />
|Marco Castelluccio<br />
|mtabara, hneiva<br />
|RelMan (ESR 91.3)<br />
|[https://docs.google.com/spreadsheets/d/1fPN3MlHOWDM_UFM5z68x8G_8B8FSKt-9_3sNtvAl4CM/edit#gid=966123692 2021-11-02]<br />
|-<br />
|[[Releases/Firefox 93|Firefox 93]]<br />
|Pascal<br />
|Dianna<br />
|Jan Odvarko<br />
|mtabara, gbrown<br />
|RelMan (ESR 78.15, 91.2)<br />
|[https://docs.google.com/spreadsheets/d/1WCNK6t4B_2etaLzIsjIyDHNCwr_5pJ3f0cBTurHoKcQ/edit 2021-10-05]<br />
|-<br />
|[[Releases/Firefox 92|Firefox 92]]<br />
|RyanVM<br />
|RelMan<br />
|Steven DeTar<br />
|sclements, ahal<br />
|RelMan (ESR 78.14, 91.1)<br />
|[https://docs.google.com/spreadsheets/d/1IsRhXuVx8URW9LlgVBQLSVMgtl34-26f7nV1BwjitIk/edit 2021-09-07]<br />
|-<br />
|[[Releases/Firefox 91|Firefox 91 (ESR)]]<br />
|Pascal<br />
|RelMan<br />
|Emma Malysz<br />
|mtabara, jmaher<br />
|RelMan (ESR 78.13, 91.0)<br />
|[https://docs.google.com/spreadsheets/d/1f18qaXtGqSUbCw5L9-50e9NG_VcZP5MWSQdtrq4UG9k/edit?usp=sharing 2021-08-10]<br />
|-<br />
|[[Releases/Firefox 90|Firefox 90]]<br />
|Julien<br />
|RelMan<br />
|Marco Castelluccio<br />
|mtabara<br />
|RelMan (ESR 78.12)<br />
|[https://docs.google.com/spreadsheets/d/1WxfHUxyGngdGPWVzIoEvf8ujcJ6qCS9LmRIdHBf1TQk/edit 2021-07-13]<br />
|-<br />
|[[Releases/Firefox 89|Firefox 89]]<br />
|Pascal<br />
|RelMan<br />
|Philip Luk<br />
|mtabara<br />
|RelMan (ESR 78.11)<br />
|[https://docs.google.com/spreadsheets/d/1g_4o_crls6uBNBICo7MlbjJpX0QSRd1V-ykuKM5gZpA/edit?skip_itp2_check=true&pli=1#gid=1009056035 2021-06-01]<br />
|-<br />
|[[Releases/Firefox 88|Firefox 88]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|mtabara, ahal<br />
|RelMan (ESR 78.10)<br />
|[https://docs.google.com/spreadsheets/d/150qjJLObI1znPL-G4k_El4Mngzp1sldqSpWtKx9FP1I/edit?usp=drive_web&ouid=111694967096525819454 2021-04-19]<br />
|-<br />
|[[Releases/Firefox 87|Firefox 87]]<br />
|Julien<br />
|RyanVM<br />
|Brian Grinstead<br />
|mtabara<br />
|RelMan (ESR 78.9)<br />
|[https://docs.google.com/spreadsheets/d/17iSr6pLI0HBg6mNICH-CdcgrfqRThOWzbl39GqhuoO8/edit 2021-03-23]<br />
|-<br />
|[[Releases/Firefox 86|Firefox 86]]<br />
|Pascal<br />
|RelMan<br />
|Steven DeTar<br />
|mtabara<br />
|RelMan (ESR 78.8)<br />
|[https://docs.google.com/spreadsheets/d/1OT0VLdcGV9QimiM1bQpPtk4GGKE7UYx5dXVXv-bIJHI/edit#gid=341685384 2021-02-23]<br />
|-<br />
|[[Releases/Firefox 85|Firefox 85]]<br />
|Julien<br />
|RelMan<br />
|Dave Hunt<br />
|mtabara, jmaher, sclements<br />
|RelMan (ESR 78.7)<br />
|[https://docs.google.com/spreadsheets/d/1sGAaJ314EJMQVN0e89jE_KN6-NKjgTN0N4JISRGLZGM/edit 2021-01-26]<br />
|-<br />
|[[Releases/Firefox 84|Firefox 84]]<br />
|RyanVM<br />
|RelMan<br />
|Brendan Dahl<br />
|jlorenzo<br />
|RelMan (ESR 78.6)<br />
|[https://docs.google.com/spreadsheets/d/1qzeDK1OOSDUsSSa9wCo10Aq4PI-iSxScM_W7ScxBXF0/edit 2020-12-15]<br />
|-<br />
|[[Releases/Firefox 83|Firefox 83]]<br />
|Pascal<br />
|RelMan<br />
|Blake Winton<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.5)<br />
|[https://docs.google.com/spreadsheets/d/1C4geok1QeLN8vkFWm1u_eucmiTrYIkouiueUbjujQwo/edit 2020-11-17]<br />
|-<br />
|[[Releases/Firefox 82|Firefox 82]]<br />
|Julien<br />
|RelMan<br />
|Janet Dragojevic<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.4)<br />
|[https://docs.google.com/spreadsheets/d/1Y0CzoNUBxrX3fWfB-Py9b2AIsJHMUbvsRg2XfaPuAXI/edit 2020-10-20]<br />
|-<br />
|[[Releases/Firefox 81|Firefox 81]]<br />
|RyanVM<br />
|RelMan<br />
|Jens Stutte<br />
|mtabara, bhearsum<br />
|RelMan (ESR 78.3)<br />
|[https://docs.google.com/spreadsheets/d/1SBoPiAKVdKpLFJohFJX7GRJzWSEoZbjwBSw5b1u9XSw/edit 2020-09-22]<br />
|-<br />
|[[Releases/Firefox 80|Firefox 80]]<br />
|Julien<br />
|RelMan<br />
|Jim Mathies<br />
|jlorenzo, aki<br />
|RelMan (ESR68.12, 78.2)<br />
|[https://docs.google.com/spreadsheets/d/1Anq3XZKTQcNsdrTmWT1gFRBLvxKM_G0T4WU-52orfYc/edit 2020-08-25]<br />
|-<br />
|[[Releases/Firefox 79|Firefox 79]]<br />
|RyanVM<br />
|RelMan<br />
|Kim Moir<br />
|tomprince<br />
|RelMan (ESR68.11, 78.1)<br />
|[https://docs.google.com/spreadsheets/d/1zLD81ERyXNzODH5M0mq3icfGHFeruOZpcSK-LoXNEfs/edit 2020-07-28]<br />
|-<br />
|[[Releases/Firefox 78|Firefox 78 (ESR)]]<br />
|Julien<br />
|RelMan<br />
|Gian-Carlo Pascutto<br />
|callek<br />
|RelMan (ESR68.10)<br />
|[https://docs.google.com/spreadsheets/d/1b0cAOFmILA_iBPAJ3DMVJLBiwsKeY00Ljk0eb7nYeow/edit 2020-06-30]<br />
|-<br />
|[[Releases/Firefox 77|Firefox 77]]<br />
|Pascal<br />
|RelMan<br />
|Rachel Tublitz<br />
|rail<br />
|RelMan (ESR68.9)<br />
|[https://docs.google.com/spreadsheets/d/1xqBNtQjXMx9nEDi1d8mhXSKCEKMgyRmZeZEsBSG4qh0/edit 2020-06-02]<br />
|-<br />
|[[Releases/Firefox 76|Firefox 76]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|jlund<br />
|Julien (ESR68.8)<br />
|[https://docs.google.com/spreadsheets/d/1wRSzUShqVrg0O_5fa2Mr611R-DjhpcFk6swJvScj_mQ/edit 2020-05-05]<br />
|-<br />
|[[Releases/Firefox 75|Firefox 75]]<br />
|Julien<br />
|RelMan<br />
|Jens Stutte<br />
|jlorenzo<br />
|Pascal (ESR68.7)<br />
|[https://docs.google.com/spreadsheets/d/10JMHUnaJSOvAmnDlogkcmUfBqrW0cKXWaSMlNcnJ1q4/edit 2020-04-07]<br />
|-<br />
|[[Releases/Firefox 74|Firefox 74]]<br />
|Pascal<br />
|RelMan<br />
|Ethan Tseng<br />
|sfraser (UTC)<br />
|Ryan (ESR68.6)<br />
|[https://docs.google.com/spreadsheets/d/1HQFtOPTZa2NlnPY6gO4svMxf3oKY8_SpYQZ7yt-Nc3I/edit 2020-03-10]<br />
|-<br />
|[[Releases/Firefox 73|Firefox 73]]<br />
|Ryan<br />
|Julien<br />
|Sean Voisen<br />
|jlund<br />
|Julien (ESR68.5)<br />
|[https://docs.google.com/spreadsheets/d/1w2AzxKZP6J_rquybiBn15995u8tROBaUUAiQ5nc69J8/edit 2020-02-11]<br />
|-<br />
|[[Releases/Firefox 72|Firefox 72]]<br />
|Julien<br />
|lizzard<br />
|Jim Mathies<br />
|mtabara, jlund<br />
|Pascal C (ESR68.4)<br />
|[https://docs.google.com/spreadsheets/d/10VEf3__QCWDb4EGom-W6qGPlu71R_fDQiTCLc-7Sggo/edit 2020-01-07]<br />
|-<br />
|[[Releases/Firefox 71|Firefox 71]]<br />
|Pascal<br />
|RyanVM<br />
|Florian Quèze<br />
|mtabara,jlund<br />
|lizzard (ESR68.3)<br />
|[https://docs.google.com/spreadsheets/d/1SCFDvnKGHSd7BvAvIAXA135IQnp0W4Mik9Y-jgImaJ8/edit 2019-12-03]<br />
|-<br />
|[[Releases/Firefox 70|Firefox 70]]<br />
|lizzard<br />
|Pascal<br />
|Janet Dragojevic<br />
|jlund<br />
|RyanVM (ESR68.2)<br />
|[https://docs.google.com/spreadsheets/d/1a0f8cDojanXaT44ATyK1KpK0OGcoI2eRIas4Mjk_C8Y/edit 2019-10-22] <br />
|-<br />
|[[Releases/Firefox 69|Firefox 69]]<br />
|RyanVM<br />
|lizzard<br />
|Kate Hudson<br />
|mhentges<br />
|Julien (ESR68.1)<br />
|[https://docs.google.com/spreadsheets/d/196B1HNyayCZx-JWcMqEHREY0oLIxhKqKx9ahU7p25Fw/edit 2019-09-03]<br />
|-<br />
|[[Releases/Firefox 68|Firefox 68 (ESR)]]<br />
|Julien<br />
|RyanVM<br />
|plawless<br />
|tomprince<br />
|Pascal (ESR68.0)<br />
|[https://docs.google.com/spreadsheets/d/1jtNuLGugHVgZTKR3NXQGngA_EjzSGxpRBzW-DvNK3EI/edit 2019-07-09]<br />
|-<br />
<br />
|[[Releases/Firefox 67|Firefox 67]]<br />
|Pascal<br />
|lizzard<br />
|Neha Kochar<br />
|sfraser<br />
|lizzard<br />
|[https://docs.google.com/document/d/1feDkXleRXMJJS9lxP_vbyBApIDoEr44KchAZoYHkS54/ 2019-05-21]<br />
<br />
|-<br />
|[[Releases/Firefox 66|Firefox 66]]<br />
|Lizzard<br />
|Pascal<br />
|Tim Spurway<br />
|mtabara, jlund<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1KnDiM3UmLbCPrc3UVZq6Z5Tdb2jnTfjpdyahSqgSGNE/ 2019-03-19]<br />
<br />
|-<br />
|[[Releases/Firefox 65|Firefox 65]]<br />
|RyanVM<br />
|Lizzard<br />
|jaws<br />
|jlund, mtabara<br />
|JCristau<br />
|[https://docs.google.com/document/d/1vI9KWvSMQ50R9YgdMX7nG7CSuOnTeRGN9sOH_D6_v_c/edit?usp=sharing 2019-01-29]<br />
|-<br />
<br />
|[[Releases/Firefox 64|Firefox 64]]<br />
|Julien<br />
|RyanVM<br />
|overholt<br />
|callek, sfraser<br />
|Liz<br />
|[https://docs.google.com/document/d/1MQa4J9OSTc1i60sFcVNyoFNLK8TLBXJlL9W12VoEUAc/edit?usp=sharing 2018-12-11]<br />
|-<br />
|[[Releases/Firefox 63|Firefox 63]]<br />
|Pascal<br />
|Ritu<br />
|David Durst<br />
|rail, aki, garbas<br />
|Julien<br />
|[https://docs.google.com/document/d/185O88wIwV-fRwqOKJaCCPVXjxhm70h8J4ApsJt1H9Rk/edit?usp=sharing 2018-10-23]<br />
|-<br />
|[[Releases/Firefox 62|Firefox 62]]<br />
|Lizzard<br />
|Pascal<br />
|Mike T <br />
|jlorenzo, tomprince <br />
|RyanVM<br />
|[https://docs.google.com/document/d/17FvsBOudLr15DgN-E82UamLhnweDHmGzQu4wIEi1QUg/edit?usp=sharing 2018-09-05]<br />
|-<br />
|Firefox 61<br />
|RyanVM<br />
|Ritu<br />
|Marion <br />
|mtabara, jlund<br />
|Julien<br />
|[https://docs.google.com/document/d/1cLYXPrlEES90PSKQHFLf3j0tiOUfUth2ye9Kfg9xLYY/edit?usp=sharing 2018-06-26]<br />
|-<br />
|Firefox 60 (ESR)<br />
|Julien<br />
|Ritu<br />
|Milan <br />
|aki, sfraser<br />
|Liz (52.8)<br />
|[https://docs.google.com/document/d/14D5Au23znkkqeLZu22cI7kSM0EowkC0cq0ppiZR2lg4/edit?usp=sharing 2018-05-09]<br />
|-<br />
|Firefox 59<br />
|Liz<br />
|RyanVM<br />
|Andrew Overholt<br />
|mtabara, bhearsum<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1ZOs9Ingbz0e-mWDu8yXGiMM-SnpBXThkLdXnplG4e2w/edit?usp=sharing 2018-03-13]<br />
|-<br />
|Firefox 58<br />
|Gerry<br />
|Julien<br />
|Mike Taylor <br />
|callek, sfraser, nthomas, rok, jlund<br />
|Ritu<br />
|[https://docs.google.com/document/d/1jPyeW14MyHyQX7kXBU8KN9jsxO2VQjP3GN_VpLiG9YM/edit?usp=sharing 2018-01-23]<br />
|-<br />
|Firefox 57<br />
|Ritu Kothari<br />
|Julien Cristau & Sylvestre<br />
|Jim Mathies<br />
|callek, jlorenzo, nthomas, sfraser, jlund<br />
|Liz<br />
|[https://docs.google.com/document/d/1jeypuqBqEyIh-4qxXT0UnE2aVjetN7uVD8W7L7TbWKg/edit?usp=sharing 2017-11-14]<br />
|-<br />
|Firefox 56<br />
|Liz Henry<br />
|Gerry Chang<br />
|Panos Astithas<br />
|kmoir, sfraser<br />
|Julien Cristau<br />
|2017-09-26<br />
|-<br />
|Firefox 55<br />
|Julien Cristau<br />
|Liz Henry<br />
|Mike Taylor<br />
|garbas, mtabara<br />
|Gerry Chang<br />
|2017-08-08<br />
|-<br />
|Firefox 54<br />
|Gerry Chang<br />
|Julien Cristau<br />
|Nathan Froyd<br />
|mtabara, aki<br />
|Ritu<br />
|2017-06-13<br />
|-<br />
|Firefox 53<br />
|Liz Henry<br />
|Gerry Chang<br />
|Randell Jesup<br />
|aki, jlorenzo<br />
|Julien Cristau<br />
|2017-04-18<br />
|-<br />
|Firefox 52 (ESR)<br />
|Julien Cristau<br />
|Sylvestre<br />
|RyanVM<br />
|jlorenzo, jlund<br />
|Gerry<br />
|2017-03-07<br />
|-<br />
|Firefox 51<br />
|Gerry Chang<br />
|Liz Henry<br />
|Milan<br />
|jlund, mtabara<br />
|Ritu<br />
|2017-01-24 <br />
|}<br />
<br />
=== Eng support ===<br />
This lists the Regression Engineering Owner for the release. Details at https://wiki.mozilla.org/Platform#Regression_Engineering_Owner_.28REO.29 <br />
<br />
=== ¹ - Releng Coverage Notes ===<br />
<br />
As of 2022, Releng covers a given release beginning the Monday following the previous release and ending at the end of release week.<br />
<br />
[[Category:Release_Management]]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Release_Management/Release_owners&diff=1241097Release Management/Release owners2022-03-09T15:15:07Z<p>Ahal: </p>
<hr />
<div>==Release Owners==<br />
<br />
* For any questions related to landing of particular features, Beta scheduling, preffing on/off a feature, release notes etc for a particular Firefox version on any channel, below would be the best contacts in addition to emailing release-mgmt@mozilla.com<br />
<br />
Currently, each release manager each takes a version of Firefox and follow it from nightly through beta, and release.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
!Firefox Version<br />
!Owner<br />
!Secondary<br />
!Engineering REO<br />
!Release Duty¹ <br />
!Corresponding ESR<br />
!Release Date<br />
|-<br />
|[[Releases/Firefox 101|Firefox 101]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.10)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=394087960 2022-05-31]<br />
|-<br />
|-<br />
|[[Releases/Firefox 100|Firefox 100]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.9)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=23594076 2022-05-03]<br />
|-<br />
|-<br />
|[[Releases/Firefox 99|Firefox 99]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|James Graham<br />
|aki <sup>(MST)</sup>, gabriel <sup>(CST)</sup><br />
|RelMan (ESR 91.8)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=88226767 2022-04-05]<br />
|-<br />
|-<br />
|[[Releases/Firefox 98|Firefox 98]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Bob Hood<br />
|jcristau <sup>(CET)</sup>, gbrown <sup>(MST)</sup><br />
|RelMan (ESR 91.7)<br />
|[https://docs.google.com/spreadsheets/d/12pXNfgkVAsOJC5lRPmL_VkvJnpbalMQy1nELs-SkC-c/edit#gid=221890705 2022-03-08]<br />
|-<br />
|-<br />
|[[Releases/Firefox 97|Firefox 97]]<br />
|RyanVM <sup>(EST)</sup><br />
|Donal <sup>(EST)</sup><br />
|Christian Holler <sup>(CET)</sup><br />
|ahal <sup>(EST)</sup>, hneiva<sup>(PST)</sup><br />
|RelMan (ESR 91.6)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1678701594 2022-02-08]<br />
|-<br />
|[[Releases/Firefox 96|Firefox 96]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Yasmin Shash <sup>(EST)</sup><br />
|sclements <sup>(GMT)</sup>, jmaher <sup>(PST)</sup>, gbustamante <sup>(CST)</sup><br />
|RelMan (ESR 91.5)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=4204978 2022-01-11]<br />
|-<br />
|[[Releases/Firefox 95|Firefox 95]]<br />
|Pascal <sup>(CET)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Lougenia Bailey <sup>(EST)</sup><br />
|jcristau <sup>(CET)</sup>, aki <sup>(MST)</sup><br />
|RelMan (ESR 91.4)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1441752983 2021-12-07]<br />
|-<br />
|[[Releases/Firefox 94|Firefox 94]]<br />
|RyanVM<br />
|Dianna<br />
|Marco Castelluccio<br />
|mtabara, hneiva<br />
|RelMan (ESR 91.3)<br />
|[https://docs.google.com/spreadsheets/d/1fPN3MlHOWDM_UFM5z68x8G_8B8FSKt-9_3sNtvAl4CM/edit#gid=966123692 2021-11-02]<br />
|-<br />
|[[Releases/Firefox 93|Firefox 93]]<br />
|Pascal<br />
|Dianna<br />
|Jan Odvarko<br />
|mtabara, gbrown<br />
|RelMan (ESR 78.15, 91.2)<br />
|[https://docs.google.com/spreadsheets/d/1WCNK6t4B_2etaLzIsjIyDHNCwr_5pJ3f0cBTurHoKcQ/edit 2021-10-05]<br />
|-<br />
|[[Releases/Firefox 92|Firefox 92]]<br />
|RyanVM<br />
|RelMan<br />
|Steven DeTar<br />
|sclements, ahal<br />
|RelMan (ESR 78.14, 91.1)<br />
|[https://docs.google.com/spreadsheets/d/1IsRhXuVx8URW9LlgVBQLSVMgtl34-26f7nV1BwjitIk/edit 2021-09-07]<br />
|-<br />
|[[Releases/Firefox 91|Firefox 91 (ESR)]]<br />
|Pascal<br />
|RelMan<br />
|Emma Malysz<br />
|mtabara, jmaher<br />
|RelMan (ESR 78.13, 91.0)<br />
|[https://docs.google.com/spreadsheets/d/1f18qaXtGqSUbCw5L9-50e9NG_VcZP5MWSQdtrq4UG9k/edit?usp=sharing 2021-08-10]<br />
|-<br />
|[[Releases/Firefox 90|Firefox 90]]<br />
|Julien<br />
|RelMan<br />
|Marco Castelluccio<br />
|mtabara<br />
|RelMan (ESR 78.12)<br />
|[https://docs.google.com/spreadsheets/d/1WxfHUxyGngdGPWVzIoEvf8ujcJ6qCS9LmRIdHBf1TQk/edit 2021-07-13]<br />
|-<br />
|[[Releases/Firefox 89|Firefox 89]]<br />
|Pascal<br />
|RelMan<br />
|Philip Luk<br />
|mtabara<br />
|RelMan (ESR 78.11)<br />
|[https://docs.google.com/spreadsheets/d/1g_4o_crls6uBNBICo7MlbjJpX0QSRd1V-ykuKM5gZpA/edit?skip_itp2_check=true&pli=1#gid=1009056035 2021-06-01]<br />
|-<br />
|[[Releases/Firefox 88|Firefox 88]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|mtabara, ahal<br />
|RelMan (ESR 78.10)<br />
|[https://docs.google.com/spreadsheets/d/150qjJLObI1znPL-G4k_El4Mngzp1sldqSpWtKx9FP1I/edit?usp=drive_web&ouid=111694967096525819454 2021-04-19]<br />
|-<br />
|[[Releases/Firefox 87|Firefox 87]]<br />
|Julien<br />
|RyanVM<br />
|Brian Grinstead<br />
|mtabara<br />
|RelMan (ESR 78.9)<br />
|[https://docs.google.com/spreadsheets/d/17iSr6pLI0HBg6mNICH-CdcgrfqRThOWzbl39GqhuoO8/edit 2021-03-23]<br />
|-<br />
|[[Releases/Firefox 86|Firefox 86]]<br />
|Pascal<br />
|RelMan<br />
|Steven DeTar<br />
|mtabara<br />
|RelMan (ESR 78.8)<br />
|[https://docs.google.com/spreadsheets/d/1OT0VLdcGV9QimiM1bQpPtk4GGKE7UYx5dXVXv-bIJHI/edit#gid=341685384 2021-02-23]<br />
|-<br />
|[[Releases/Firefox 85|Firefox 85]]<br />
|Julien<br />
|RelMan<br />
|Dave Hunt<br />
|mtabara, jmaher, sclements<br />
|RelMan (ESR 78.7)<br />
|[https://docs.google.com/spreadsheets/d/1sGAaJ314EJMQVN0e89jE_KN6-NKjgTN0N4JISRGLZGM/edit 2021-01-26]<br />
|-<br />
|[[Releases/Firefox 84|Firefox 84]]<br />
|RyanVM<br />
|RelMan<br />
|Brendan Dahl<br />
|jlorenzo<br />
|RelMan (ESR 78.6)<br />
|[https://docs.google.com/spreadsheets/d/1qzeDK1OOSDUsSSa9wCo10Aq4PI-iSxScM_W7ScxBXF0/edit 2020-12-15]<br />
|-<br />
|[[Releases/Firefox 83|Firefox 83]]<br />
|Pascal<br />
|RelMan<br />
|Blake Winton<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.5)<br />
|[https://docs.google.com/spreadsheets/d/1C4geok1QeLN8vkFWm1u_eucmiTrYIkouiueUbjujQwo/edit 2020-11-17]<br />
|-<br />
|[[Releases/Firefox 82|Firefox 82]]<br />
|Julien<br />
|RelMan<br />
|Janet Dragojevic<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.4)<br />
|[https://docs.google.com/spreadsheets/d/1Y0CzoNUBxrX3fWfB-Py9b2AIsJHMUbvsRg2XfaPuAXI/edit 2020-10-20]<br />
|-<br />
|[[Releases/Firefox 81|Firefox 81]]<br />
|RyanVM<br />
|RelMan<br />
|Jens Stutte<br />
|mtabara, bhearsum<br />
|RelMan (ESR 78.3)<br />
|[https://docs.google.com/spreadsheets/d/1SBoPiAKVdKpLFJohFJX7GRJzWSEoZbjwBSw5b1u9XSw/edit 2020-09-22]<br />
|-<br />
|[[Releases/Firefox 80|Firefox 80]]<br />
|Julien<br />
|RelMan<br />
|Jim Mathies<br />
|jlorenzo, aki<br />
|RelMan (ESR68.12, 78.2)<br />
|[https://docs.google.com/spreadsheets/d/1Anq3XZKTQcNsdrTmWT1gFRBLvxKM_G0T4WU-52orfYc/edit 2020-08-25]<br />
|-<br />
|[[Releases/Firefox 79|Firefox 79]]<br />
|RyanVM<br />
|RelMan<br />
|Kim Moir<br />
|tomprince<br />
|RelMan (ESR68.11, 78.1)<br />
|[https://docs.google.com/spreadsheets/d/1zLD81ERyXNzODH5M0mq3icfGHFeruOZpcSK-LoXNEfs/edit 2020-07-28]<br />
|-<br />
|[[Releases/Firefox 78|Firefox 78 (ESR)]]<br />
|Julien<br />
|RelMan<br />
|Gian-Carlo Pascutto<br />
|callek<br />
|RelMan (ESR68.10)<br />
|[https://docs.google.com/spreadsheets/d/1b0cAOFmILA_iBPAJ3DMVJLBiwsKeY00Ljk0eb7nYeow/edit 2020-06-30]<br />
|-<br />
|[[Releases/Firefox 77|Firefox 77]]<br />
|Pascal<br />
|RelMan<br />
|Rachel Tublitz<br />
|rail<br />
|RelMan (ESR68.9)<br />
|[https://docs.google.com/spreadsheets/d/1xqBNtQjXMx9nEDi1d8mhXSKCEKMgyRmZeZEsBSG4qh0/edit 2020-06-02]<br />
|-<br />
|[[Releases/Firefox 76|Firefox 76]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|jlund<br />
|Julien (ESR68.8)<br />
|[https://docs.google.com/spreadsheets/d/1wRSzUShqVrg0O_5fa2Mr611R-DjhpcFk6swJvScj_mQ/edit 2020-05-05]<br />
|-<br />
|[[Releases/Firefox 75|Firefox 75]]<br />
|Julien<br />
|RelMan<br />
|Jens Stutte<br />
|jlorenzo<br />
|Pascal (ESR68.7)<br />
|[https://docs.google.com/spreadsheets/d/10JMHUnaJSOvAmnDlogkcmUfBqrW0cKXWaSMlNcnJ1q4/edit 2020-04-07]<br />
|-<br />
|[[Releases/Firefox 74|Firefox 74]]<br />
|Pascal<br />
|RelMan<br />
|Ethan Tseng<br />
|sfraser (UTC)<br />
|Ryan (ESR68.6)<br />
|[https://docs.google.com/spreadsheets/d/1HQFtOPTZa2NlnPY6gO4svMxf3oKY8_SpYQZ7yt-Nc3I/edit 2020-03-10]<br />
|-<br />
|[[Releases/Firefox 73|Firefox 73]]<br />
|Ryan<br />
|Julien<br />
|Sean Voisen<br />
|jlund<br />
|Julien (ESR68.5)<br />
|[https://docs.google.com/spreadsheets/d/1w2AzxKZP6J_rquybiBn15995u8tROBaUUAiQ5nc69J8/edit 2020-02-11]<br />
|-<br />
|[[Releases/Firefox 72|Firefox 72]]<br />
|Julien<br />
|lizzard<br />
|Jim Mathies<br />
|mtabara, jlund<br />
|Pascal C (ESR68.4)<br />
|[https://docs.google.com/spreadsheets/d/10VEf3__QCWDb4EGom-W6qGPlu71R_fDQiTCLc-7Sggo/edit 2020-01-07]<br />
|-<br />
|[[Releases/Firefox 71|Firefox 71]]<br />
|Pascal<br />
|RyanVM<br />
|Florian Quèze<br />
|mtabara,jlund<br />
|lizzard (ESR68.3)<br />
|[https://docs.google.com/spreadsheets/d/1SCFDvnKGHSd7BvAvIAXA135IQnp0W4Mik9Y-jgImaJ8/edit 2019-12-03]<br />
|-<br />
|[[Releases/Firefox 70|Firefox 70]]<br />
|lizzard<br />
|Pascal<br />
|Janet Dragojevic<br />
|jlund<br />
|RyanVM (ESR68.2)<br />
|[https://docs.google.com/spreadsheets/d/1a0f8cDojanXaT44ATyK1KpK0OGcoI2eRIas4Mjk_C8Y/edit 2019-10-22] <br />
|-<br />
|[[Releases/Firefox 69|Firefox 69]]<br />
|RyanVM<br />
|lizzard<br />
|Kate Hudson<br />
|mhentges<br />
|Julien (ESR68.1)<br />
|[https://docs.google.com/spreadsheets/d/196B1HNyayCZx-JWcMqEHREY0oLIxhKqKx9ahU7p25Fw/edit 2019-09-03]<br />
|-<br />
|[[Releases/Firefox 68|Firefox 68 (ESR)]]<br />
|Julien<br />
|RyanVM<br />
|plawless<br />
|tomprince<br />
|Pascal (ESR68.0)<br />
|[https://docs.google.com/spreadsheets/d/1jtNuLGugHVgZTKR3NXQGngA_EjzSGxpRBzW-DvNK3EI/edit 2019-07-09]<br />
|-<br />
<br />
|[[Releases/Firefox 67|Firefox 67]]<br />
|Pascal<br />
|lizzard<br />
|Neha Kochar<br />
|sfraser<br />
|lizzard<br />
|[https://docs.google.com/document/d/1feDkXleRXMJJS9lxP_vbyBApIDoEr44KchAZoYHkS54/ 2019-05-21]<br />
<br />
|-<br />
|[[Releases/Firefox 66|Firefox 66]]<br />
|Lizzard<br />
|Pascal<br />
|Tim Spurway<br />
|mtabara, jlund<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1KnDiM3UmLbCPrc3UVZq6Z5Tdb2jnTfjpdyahSqgSGNE/ 2019-03-19]<br />
<br />
|-<br />
|[[Releases/Firefox 65|Firefox 65]]<br />
|RyanVM<br />
|Lizzard<br />
|jaws<br />
|jlund, mtabara<br />
|JCristau<br />
|[https://docs.google.com/document/d/1vI9KWvSMQ50R9YgdMX7nG7CSuOnTeRGN9sOH_D6_v_c/edit?usp=sharing 2019-01-29]<br />
|-<br />
<br />
|[[Releases/Firefox 64|Firefox 64]]<br />
|Julien<br />
|RyanVM<br />
|overholt<br />
|callek, sfraser<br />
|Liz<br />
|[https://docs.google.com/document/d/1MQa4J9OSTc1i60sFcVNyoFNLK8TLBXJlL9W12VoEUAc/edit?usp=sharing 2018-12-11]<br />
|-<br />
|[[Releases/Firefox 63|Firefox 63]]<br />
|Pascal<br />
|Ritu<br />
|David Durst<br />
|rail, aki, garbas<br />
|Julien<br />
|[https://docs.google.com/document/d/185O88wIwV-fRwqOKJaCCPVXjxhm70h8J4ApsJt1H9Rk/edit?usp=sharing 2018-10-23]<br />
|-<br />
|[[Releases/Firefox 62|Firefox 62]]<br />
|Lizzard<br />
|Pascal<br />
|Mike T <br />
|jlorenzo, tomprince <br />
|RyanVM<br />
|[https://docs.google.com/document/d/17FvsBOudLr15DgN-E82UamLhnweDHmGzQu4wIEi1QUg/edit?usp=sharing 2018-09-05]<br />
|-<br />
|Firefox 61<br />
|RyanVM<br />
|Ritu<br />
|Marion <br />
|mtabara, jlund<br />
|Julien<br />
|[https://docs.google.com/document/d/1cLYXPrlEES90PSKQHFLf3j0tiOUfUth2ye9Kfg9xLYY/edit?usp=sharing 2018-06-26]<br />
|-<br />
|Firefox 60 (ESR)<br />
|Julien<br />
|Ritu<br />
|Milan <br />
|aki, sfraser<br />
|Liz (52.8)<br />
|[https://docs.google.com/document/d/14D5Au23znkkqeLZu22cI7kSM0EowkC0cq0ppiZR2lg4/edit?usp=sharing 2018-05-09]<br />
|-<br />
|Firefox 59<br />
|Liz<br />
|RyanVM<br />
|Andrew Overholt<br />
|mtabara, bhearsum<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1ZOs9Ingbz0e-mWDu8yXGiMM-SnpBXThkLdXnplG4e2w/edit?usp=sharing 2018-03-13]<br />
|-<br />
|Firefox 58<br />
|Gerry<br />
|Julien<br />
|Mike Taylor <br />
|callek, sfraser, nthomas, rok, jlund<br />
|Ritu<br />
|[https://docs.google.com/document/d/1jPyeW14MyHyQX7kXBU8KN9jsxO2VQjP3GN_VpLiG9YM/edit?usp=sharing 2018-01-23]<br />
|-<br />
|Firefox 57<br />
|Ritu Kothari<br />
|Julien Cristau & Sylvestre<br />
|Jim Mathies<br />
|callek, jlorenzo, nthomas, sfraser, jlund<br />
|Liz<br />
|[https://docs.google.com/document/d/1jeypuqBqEyIh-4qxXT0UnE2aVjetN7uVD8W7L7TbWKg/edit?usp=sharing 2017-11-14]<br />
|-<br />
|Firefox 56<br />
|Liz Henry<br />
|Gerry Chang<br />
|Panos Astithas<br />
|kmoir, sfraser<br />
|Julien Cristau<br />
|2017-09-26<br />
|-<br />
|Firefox 55<br />
|Julien Cristau<br />
|Liz Henry<br />
|Mike Taylor<br />
|garbas, mtabara<br />
|Gerry Chang<br />
|2017-08-08<br />
|-<br />
|Firefox 54<br />
|Gerry Chang<br />
|Julien Cristau<br />
|Nathan Froyd<br />
|mtabara, aki<br />
|Ritu<br />
|2017-06-13<br />
|-<br />
|Firefox 53<br />
|Liz Henry<br />
|Gerry Chang<br />
|Randell Jesup<br />
|aki, jlorenzo<br />
|Julien Cristau<br />
|2017-04-18<br />
|-<br />
|Firefox 52 (ESR)<br />
|Julien Cristau<br />
|Sylvestre<br />
|RyanVM<br />
|jlorenzo, jlund<br />
|Gerry<br />
|2017-03-07<br />
|-<br />
|Firefox 51<br />
|Gerry Chang<br />
|Liz Henry<br />
|Milan<br />
|jlund, mtabara<br />
|Ritu<br />
|2017-01-24 <br />
|}<br />
<br />
=== Eng support ===<br />
This lists the Regression Engineering Owner for the release. Details at https://wiki.mozilla.org/Platform#Regression_Engineering_Owner_.28REO.29 <br />
<br />
=== ¹ - Releng Coverage Notes ===<br />
<br />
As of 2022, Releng covers a given release beginning the Monday following the previous release and ending at the end of release week.<br />
<br />
[[Category:Release_Management]]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Release_Management/Release_owners&diff=1241096Release Management/Release owners2022-03-09T15:14:30Z<p>Ahal: </p>
<hr />
<div>==Release Owners==<br />
<br />
* For any questions related to landing of particular features, Beta scheduling, preffing on/off a feature, release notes etc for a particular Firefox version on any channel, below would be the best contacts in addition to emailing release-mgmt@mozilla.com<br />
<br />
Currently, each release manager each takes a version of Firefox and follow it from nightly through beta, and release.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
!Firefox Version<br />
!Owner<br />
!Secondary<br />
!Engineering REO<br />
!Release Duty¹ <br />
!Corresponding ESR<br />
!Release Date<br />
|-<br />
|[[Releases/Firefox 101|Firefox 101]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.10)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=394087960 2022-05-31]<br />
|-<br />
|-<br />
|[[Releases/Firefox 100|Firefox 100]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.9)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=23594076 2022-05-03]<br />
|-<br />
|-<br />
|[[Releases/Firefox 99|Firefox 99]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|James Graham<br />
|aki<sup>(MST)</sup>, gabriel<sup>(CST)</sup><br />
|RelMan (ESR 91.8)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=88226767 2022-04-05]<br />
|-<br />
|-<br />
|[[Releases/Firefox 98|Firefox 98]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|Bob Hood<br />
|jcristau<sup>(CET)</sup>, gbrown<sup>(MST)</sup><br />
|RelMan (ESR 91.7)<br />
|[https://docs.google.com/spreadsheets/d/12pXNfgkVAsOJC5lRPmL_VkvJnpbalMQy1nELs-SkC-c/edit#gid=221890705 2022-03-08]<br />
|-<br />
|-<br />
|[[Releases/Firefox 97|Firefox 97]]<br />
|RyanVM <sup>(EST)</sup><br />
|Donal <sup>(EST)</sup><br />
|Christian Holler <sup>(CET)</sup><br />
|ahal <sup>(EST)</sup>, hneiva<sup>(PST)</sup><br />
|RelMan (ESR 91.6)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1678701594 2022-02-08]<br />
|-<br />
|[[Releases/Firefox 96|Firefox 96]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Yasmin Shash <sup>(EST)</sup><br />
|sclements <sup>(GMT)</sup>, jmaher <sup>(PST)</sup>, gbustamante <sup>(CST)</sup><br />
|RelMan (ESR 91.5)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=4204978 2022-01-11]<br />
|-<br />
|[[Releases/Firefox 95|Firefox 95]]<br />
|Pascal <sup>(CET)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Lougenia Bailey <sup>(EST)</sup><br />
|jcristau <sup>(CET)</sup>, aki <sup>(MST)</sup><br />
|RelMan (ESR 91.4)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1441752983 2021-12-07]<br />
|-<br />
|[[Releases/Firefox 94|Firefox 94]]<br />
|RyanVM<br />
|Dianna<br />
|Marco Castelluccio<br />
|mtabara, hneiva<br />
|RelMan (ESR 91.3)<br />
|[https://docs.google.com/spreadsheets/d/1fPN3MlHOWDM_UFM5z68x8G_8B8FSKt-9_3sNtvAl4CM/edit#gid=966123692 2021-11-02]<br />
|-<br />
|[[Releases/Firefox 93|Firefox 93]]<br />
|Pascal<br />
|Dianna<br />
|Jan Odvarko<br />
|mtabara, gbrown<br />
|RelMan (ESR 78.15, 91.2)<br />
|[https://docs.google.com/spreadsheets/d/1WCNK6t4B_2etaLzIsjIyDHNCwr_5pJ3f0cBTurHoKcQ/edit 2021-10-05]<br />
|-<br />
|[[Releases/Firefox 92|Firefox 92]]<br />
|RyanVM<br />
|RelMan<br />
|Steven DeTar<br />
|sclements, ahal<br />
|RelMan (ESR 78.14, 91.1)<br />
|[https://docs.google.com/spreadsheets/d/1IsRhXuVx8URW9LlgVBQLSVMgtl34-26f7nV1BwjitIk/edit 2021-09-07]<br />
|-<br />
|[[Releases/Firefox 91|Firefox 91 (ESR)]]<br />
|Pascal<br />
|RelMan<br />
|Emma Malysz<br />
|mtabara, jmaher<br />
|RelMan (ESR 78.13, 91.0)<br />
|[https://docs.google.com/spreadsheets/d/1f18qaXtGqSUbCw5L9-50e9NG_VcZP5MWSQdtrq4UG9k/edit?usp=sharing 2021-08-10]<br />
|-<br />
|[[Releases/Firefox 90|Firefox 90]]<br />
|Julien<br />
|RelMan<br />
|Marco Castelluccio<br />
|mtabara<br />
|RelMan (ESR 78.12)<br />
|[https://docs.google.com/spreadsheets/d/1WxfHUxyGngdGPWVzIoEvf8ujcJ6qCS9LmRIdHBf1TQk/edit 2021-07-13]<br />
|-<br />
|[[Releases/Firefox 89|Firefox 89]]<br />
|Pascal<br />
|RelMan<br />
|Philip Luk<br />
|mtabara<br />
|RelMan (ESR 78.11)<br />
|[https://docs.google.com/spreadsheets/d/1g_4o_crls6uBNBICo7MlbjJpX0QSRd1V-ykuKM5gZpA/edit?skip_itp2_check=true&pli=1#gid=1009056035 2021-06-01]<br />
|-<br />
|[[Releases/Firefox 88|Firefox 88]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|mtabara, ahal<br />
|RelMan (ESR 78.10)<br />
|[https://docs.google.com/spreadsheets/d/150qjJLObI1znPL-G4k_El4Mngzp1sldqSpWtKx9FP1I/edit?usp=drive_web&ouid=111694967096525819454 2021-04-19]<br />
|-<br />
|[[Releases/Firefox 87|Firefox 87]]<br />
|Julien<br />
|RyanVM<br />
|Brian Grinstead<br />
|mtabara<br />
|RelMan (ESR 78.9)<br />
|[https://docs.google.com/spreadsheets/d/17iSr6pLI0HBg6mNICH-CdcgrfqRThOWzbl39GqhuoO8/edit 2021-03-23]<br />
|-<br />
|[[Releases/Firefox 86|Firefox 86]]<br />
|Pascal<br />
|RelMan<br />
|Steven DeTar<br />
|mtabara<br />
|RelMan (ESR 78.8)<br />
|[https://docs.google.com/spreadsheets/d/1OT0VLdcGV9QimiM1bQpPtk4GGKE7UYx5dXVXv-bIJHI/edit#gid=341685384 2021-02-23]<br />
|-<br />
|[[Releases/Firefox 85|Firefox 85]]<br />
|Julien<br />
|RelMan<br />
|Dave Hunt<br />
|mtabara, jmaher, sclements<br />
|RelMan (ESR 78.7)<br />
|[https://docs.google.com/spreadsheets/d/1sGAaJ314EJMQVN0e89jE_KN6-NKjgTN0N4JISRGLZGM/edit 2021-01-26]<br />
|-<br />
|[[Releases/Firefox 84|Firefox 84]]<br />
|RyanVM<br />
|RelMan<br />
|Brendan Dahl<br />
|jlorenzo<br />
|RelMan (ESR 78.6)<br />
|[https://docs.google.com/spreadsheets/d/1qzeDK1OOSDUsSSa9wCo10Aq4PI-iSxScM_W7ScxBXF0/edit 2020-12-15]<br />
|-<br />
|[[Releases/Firefox 83|Firefox 83]]<br />
|Pascal<br />
|RelMan<br />
|Blake Winton<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.5)<br />
|[https://docs.google.com/spreadsheets/d/1C4geok1QeLN8vkFWm1u_eucmiTrYIkouiueUbjujQwo/edit 2020-11-17]<br />
|-<br />
|[[Releases/Firefox 82|Firefox 82]]<br />
|Julien<br />
|RelMan<br />
|Janet Dragojevic<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.4)<br />
|[https://docs.google.com/spreadsheets/d/1Y0CzoNUBxrX3fWfB-Py9b2AIsJHMUbvsRg2XfaPuAXI/edit 2020-10-20]<br />
|-<br />
|[[Releases/Firefox 81|Firefox 81]]<br />
|RyanVM<br />
|RelMan<br />
|Jens Stutte<br />
|mtabara, bhearsum<br />
|RelMan (ESR 78.3)<br />
|[https://docs.google.com/spreadsheets/d/1SBoPiAKVdKpLFJohFJX7GRJzWSEoZbjwBSw5b1u9XSw/edit 2020-09-22]<br />
|-<br />
|[[Releases/Firefox 80|Firefox 80]]<br />
|Julien<br />
|RelMan<br />
|Jim Mathies<br />
|jlorenzo, aki<br />
|RelMan (ESR68.12, 78.2)<br />
|[https://docs.google.com/spreadsheets/d/1Anq3XZKTQcNsdrTmWT1gFRBLvxKM_G0T4WU-52orfYc/edit 2020-08-25]<br />
|-<br />
|[[Releases/Firefox 79|Firefox 79]]<br />
|RyanVM<br />
|RelMan<br />
|Kim Moir<br />
|tomprince<br />
|RelMan (ESR68.11, 78.1)<br />
|[https://docs.google.com/spreadsheets/d/1zLD81ERyXNzODH5M0mq3icfGHFeruOZpcSK-LoXNEfs/edit 2020-07-28]<br />
|-<br />
|[[Releases/Firefox 78|Firefox 78 (ESR)]]<br />
|Julien<br />
|RelMan<br />
|Gian-Carlo Pascutto<br />
|callek<br />
|RelMan (ESR68.10)<br />
|[https://docs.google.com/spreadsheets/d/1b0cAOFmILA_iBPAJ3DMVJLBiwsKeY00Ljk0eb7nYeow/edit 2020-06-30]<br />
|-<br />
|[[Releases/Firefox 77|Firefox 77]]<br />
|Pascal<br />
|RelMan<br />
|Rachel Tublitz<br />
|rail<br />
|RelMan (ESR68.9)<br />
|[https://docs.google.com/spreadsheets/d/1xqBNtQjXMx9nEDi1d8mhXSKCEKMgyRmZeZEsBSG4qh0/edit 2020-06-02]<br />
|-<br />
|[[Releases/Firefox 76|Firefox 76]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|jlund<br />
|Julien (ESR68.8)<br />
|[https://docs.google.com/spreadsheets/d/1wRSzUShqVrg0O_5fa2Mr611R-DjhpcFk6swJvScj_mQ/edit 2020-05-05]<br />
|-<br />
|[[Releases/Firefox 75|Firefox 75]]<br />
|Julien<br />
|RelMan<br />
|Jens Stutte<br />
|jlorenzo<br />
|Pascal (ESR68.7)<br />
|[https://docs.google.com/spreadsheets/d/10JMHUnaJSOvAmnDlogkcmUfBqrW0cKXWaSMlNcnJ1q4/edit 2020-04-07]<br />
|-<br />
|[[Releases/Firefox 74|Firefox 74]]<br />
|Pascal<br />
|RelMan<br />
|Ethan Tseng<br />
|sfraser (UTC)<br />
|Ryan (ESR68.6)<br />
|[https://docs.google.com/spreadsheets/d/1HQFtOPTZa2NlnPY6gO4svMxf3oKY8_SpYQZ7yt-Nc3I/edit 2020-03-10]<br />
|-<br />
|[[Releases/Firefox 73|Firefox 73]]<br />
|Ryan<br />
|Julien<br />
|Sean Voisen<br />
|jlund<br />
|Julien (ESR68.5)<br />
|[https://docs.google.com/spreadsheets/d/1w2AzxKZP6J_rquybiBn15995u8tROBaUUAiQ5nc69J8/edit 2020-02-11]<br />
|-<br />
|[[Releases/Firefox 72|Firefox 72]]<br />
|Julien<br />
|lizzard<br />
|Jim Mathies<br />
|mtabara, jlund<br />
|Pascal C (ESR68.4)<br />
|[https://docs.google.com/spreadsheets/d/10VEf3__QCWDb4EGom-W6qGPlu71R_fDQiTCLc-7Sggo/edit 2020-01-07]<br />
|-<br />
|[[Releases/Firefox 71|Firefox 71]]<br />
|Pascal<br />
|RyanVM<br />
|Florian Quèze<br />
|mtabara,jlund<br />
|lizzard (ESR68.3)<br />
|[https://docs.google.com/spreadsheets/d/1SCFDvnKGHSd7BvAvIAXA135IQnp0W4Mik9Y-jgImaJ8/edit 2019-12-03]<br />
|-<br />
|[[Releases/Firefox 70|Firefox 70]]<br />
|lizzard<br />
|Pascal<br />
|Janet Dragojevic<br />
|jlund<br />
|RyanVM (ESR68.2)<br />
|[https://docs.google.com/spreadsheets/d/1a0f8cDojanXaT44ATyK1KpK0OGcoI2eRIas4Mjk_C8Y/edit 2019-10-22] <br />
|-<br />
|[[Releases/Firefox 69|Firefox 69]]<br />
|RyanVM<br />
|lizzard<br />
|Kate Hudson<br />
|mhentges<br />
|Julien (ESR68.1)<br />
|[https://docs.google.com/spreadsheets/d/196B1HNyayCZx-JWcMqEHREY0oLIxhKqKx9ahU7p25Fw/edit 2019-09-03]<br />
|-<br />
|[[Releases/Firefox 68|Firefox 68 (ESR)]]<br />
|Julien<br />
|RyanVM<br />
|plawless<br />
|tomprince<br />
|Pascal (ESR68.0)<br />
|[https://docs.google.com/spreadsheets/d/1jtNuLGugHVgZTKR3NXQGngA_EjzSGxpRBzW-DvNK3EI/edit 2019-07-09]<br />
|-<br />
<br />
|[[Releases/Firefox 67|Firefox 67]]<br />
|Pascal<br />
|lizzard<br />
|Neha Kochar<br />
|sfraser<br />
|lizzard<br />
|[https://docs.google.com/document/d/1feDkXleRXMJJS9lxP_vbyBApIDoEr44KchAZoYHkS54/ 2019-05-21]<br />
<br />
|-<br />
|[[Releases/Firefox 66|Firefox 66]]<br />
|Lizzard<br />
|Pascal<br />
|Tim Spurway<br />
|mtabara, jlund<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1KnDiM3UmLbCPrc3UVZq6Z5Tdb2jnTfjpdyahSqgSGNE/ 2019-03-19]<br />
<br />
|-<br />
|[[Releases/Firefox 65|Firefox 65]]<br />
|RyanVM<br />
|Lizzard<br />
|jaws<br />
|jlund, mtabara<br />
|JCristau<br />
|[https://docs.google.com/document/d/1vI9KWvSMQ50R9YgdMX7nG7CSuOnTeRGN9sOH_D6_v_c/edit?usp=sharing 2019-01-29]<br />
|-<br />
<br />
|[[Releases/Firefox 64|Firefox 64]]<br />
|Julien<br />
|RyanVM<br />
|overholt<br />
|callek, sfraser<br />
|Liz<br />
|[https://docs.google.com/document/d/1MQa4J9OSTc1i60sFcVNyoFNLK8TLBXJlL9W12VoEUAc/edit?usp=sharing 2018-12-11]<br />
|-<br />
|[[Releases/Firefox 63|Firefox 63]]<br />
|Pascal<br />
|Ritu<br />
|David Durst<br />
|rail, aki, garbas<br />
|Julien<br />
|[https://docs.google.com/document/d/185O88wIwV-fRwqOKJaCCPVXjxhm70h8J4ApsJt1H9Rk/edit?usp=sharing 2018-10-23]<br />
|-<br />
|[[Releases/Firefox 62|Firefox 62]]<br />
|Lizzard<br />
|Pascal<br />
|Mike T <br />
|jlorenzo, tomprince <br />
|RyanVM<br />
|[https://docs.google.com/document/d/17FvsBOudLr15DgN-E82UamLhnweDHmGzQu4wIEi1QUg/edit?usp=sharing 2018-09-05]<br />
|-<br />
|Firefox 61<br />
|RyanVM<br />
|Ritu<br />
|Marion <br />
|mtabara, jlund<br />
|Julien<br />
|[https://docs.google.com/document/d/1cLYXPrlEES90PSKQHFLf3j0tiOUfUth2ye9Kfg9xLYY/edit?usp=sharing 2018-06-26]<br />
|-<br />
|Firefox 60 (ESR)<br />
|Julien<br />
|Ritu<br />
|Milan <br />
|aki, sfraser<br />
|Liz (52.8)<br />
|[https://docs.google.com/document/d/14D5Au23znkkqeLZu22cI7kSM0EowkC0cq0ppiZR2lg4/edit?usp=sharing 2018-05-09]<br />
|-<br />
|Firefox 59<br />
|Liz<br />
|RyanVM<br />
|Andrew Overholt<br />
|mtabara, bhearsum<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1ZOs9Ingbz0e-mWDu8yXGiMM-SnpBXThkLdXnplG4e2w/edit?usp=sharing 2018-03-13]<br />
|-<br />
|Firefox 58<br />
|Gerry<br />
|Julien<br />
|Mike Taylor <br />
|callek, sfraser, nthomas, rok, jlund<br />
|Ritu<br />
|[https://docs.google.com/document/d/1jPyeW14MyHyQX7kXBU8KN9jsxO2VQjP3GN_VpLiG9YM/edit?usp=sharing 2018-01-23]<br />
|-<br />
|Firefox 57<br />
|Ritu Kothari<br />
|Julien Cristau & Sylvestre<br />
|Jim Mathies<br />
|callek, jlorenzo, nthomas, sfraser, jlund<br />
|Liz<br />
|[https://docs.google.com/document/d/1jeypuqBqEyIh-4qxXT0UnE2aVjetN7uVD8W7L7TbWKg/edit?usp=sharing 2017-11-14]<br />
|-<br />
|Firefox 56<br />
|Liz Henry<br />
|Gerry Chang<br />
|Panos Astithas<br />
|kmoir, sfraser<br />
|Julien Cristau<br />
|2017-09-26<br />
|-<br />
|Firefox 55<br />
|Julien Cristau<br />
|Liz Henry<br />
|Mike Taylor<br />
|garbas, mtabara<br />
|Gerry Chang<br />
|2017-08-08<br />
|-<br />
|Firefox 54<br />
|Gerry Chang<br />
|Julien Cristau<br />
|Nathan Froyd<br />
|mtabara, aki<br />
|Ritu<br />
|2017-06-13<br />
|-<br />
|Firefox 53<br />
|Liz Henry<br />
|Gerry Chang<br />
|Randell Jesup<br />
|aki, jlorenzo<br />
|Julien Cristau<br />
|2017-04-18<br />
|-<br />
|Firefox 52 (ESR)<br />
|Julien Cristau<br />
|Sylvestre<br />
|RyanVM<br />
|jlorenzo, jlund<br />
|Gerry<br />
|2017-03-07<br />
|-<br />
|Firefox 51<br />
|Gerry Chang<br />
|Liz Henry<br />
|Milan<br />
|jlund, mtabara<br />
|Ritu<br />
|2017-01-24 <br />
|}<br />
<br />
=== Eng support ===<br />
This lists the Regression Engineering Owner for the release. Details at https://wiki.mozilla.org/Platform#Regression_Engineering_Owner_.28REO.29 <br />
<br />
=== ¹ - Releng Coverage Notes ===<br />
<br />
As of 2022, Releng covers a given release beginning the Monday following the previous release and ending at the end of release week.<br />
<br />
[[Category:Release_Management]]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1240455Template:NextReleaseDate2022-02-07T16:26:53Z<p>Ahal: </p>
<hr />
<div>2022-03-08</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1240454Template:Version/Gecko/release/current2022-02-07T16:25:38Z<p>Ahal: </p>
<hr />
<div>97.0</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1240453Template:Version/Gecko/beta/current2022-02-07T16:25:23Z<p>Ahal: </p>
<hr />
<div>98</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1240452Template:Version/Gecko/central/current2022-02-07T16:25:10Z<p>Ahal: </p>
<hr />
<div>99</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1240451Template:Version/Gecko/release/next2022-02-07T16:24:31Z<p>Ahal: </p>
<hr />
<div>98</div>Ahalhttps://wiki.mozilla.org/index.php?title=Release_Management/Release_owners&diff=1239931Release Management/Release owners2022-01-10T13:57:08Z<p>Ahal: </p>
<hr />
<div>==Release Owners==<br />
<br />
* For any questions related to landing of particular features, Beta scheduling, preffing on/off a feature, release notes etc for a particular Firefox version on any channel, below would be the best contacts in addition to emailing release-mgmt@mozilla.com<br />
<br />
Currently, each release manager each takes a version of Firefox and follow it from nightly through beta, and release.<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
!Firefox Version<br />
!Owner<br />
!Secondary<br />
!Engineering REO<br />
!Release Duty¹ <br />
!Corresponding ESR<br />
!Release Date<br />
|-<br />
|[[Releases/Firefox 101|Firefox 101]]<br />
|RyanVM <sup>(EST)</sup><br />
|Pascal <sup>(CET)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.10)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=394087960 2022-05-31]<br />
|-<br />
|-<br />
|[[Releases/Firefox 100|Firefox 100]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.9)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=23594076 2022-05-03]<br />
|-<br />
|-<br />
|[[Releases/Firefox 99|Firefox 99]]<br />
|Donal <sup>(EST)</sup><br />
|Dianna <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.8)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=88226767 2022-04-05]<br />
|-<br />
|-<br />
|[[Releases/Firefox 98|Firefox 98]]<br />
|Pascal <sup>(CET)</sup><br />
|Donal <sup>(EST)</sup><br />
|TBA<br />
|TBA<br />
|RelMan (ESR 91.7)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=899345969 2022-03-08]<br />
|-<br />
|-<br />
|[[Releases/Firefox 97|Firefox 97]]<br />
|RyanVM <sup>(EST)</sup><br />
|Donal <sup>(EST)</sup><br />
|Christian Holler <sup>(CET)<br />
|ahal <sup>(EST)</sup>, TBA<br />
|RelMan (ESR 91.6)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1678701594 2022-02-08]<br />
|-<br />
|[[Releases/Firefox 96|Firefox 96]]<br />
|Dianna <sup>(EST)</sup><br />
|RyanVM <sup>(EST)</sup><br />
|Yasmin Shash <sup>(EST)</sup><br />
|sclements <sup>(GMT)</sup>, jmaher <sup>(PST)</sup>, gbustamante <sup>(CST)</sup><br />
|RelMan (ESR 91.5)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=4204978 2022-01-11]<br />
|-<br />
|[[Releases/Firefox 95|Firefox 95]]<br />
|Pascal <sup>(CET)</sup><br />
|Dianna <sup>(EST)</sup><br />
|Lougenia Bailey <sup>(EST)</sup><br />
|jcristau <sup>(CET)</sup>, aki <sup>(MST)</sup><br />
|RelMan (ESR 91.4)<br />
|[https://docs.google.com/spreadsheets/d/1QAbF2mM-v7usT8hrNIAnaz7ybDaRzPR-YfN_8sxWGhc/edit#gid=1441752983 2021-12-07]<br />
|-<br />
|[[Releases/Firefox 94|Firefox 94]]<br />
|RyanVM<br />
|Dianna<br />
|Marco Castelluccio<br />
|mtabara, hneiva<br />
|RelMan (ESR 91.3)<br />
|[https://docs.google.com/spreadsheets/d/1fPN3MlHOWDM_UFM5z68x8G_8B8FSKt-9_3sNtvAl4CM/edit#gid=966123692 2021-11-02]<br />
|-<br />
|[[Releases/Firefox 93|Firefox 93]]<br />
|Pascal<br />
|Dianna<br />
|Jan Odvarko<br />
|mtabara, gbrown<br />
|RelMan (ESR 78.15, 91.2)<br />
|[https://docs.google.com/spreadsheets/d/1WCNK6t4B_2etaLzIsjIyDHNCwr_5pJ3f0cBTurHoKcQ/edit 2021-10-05]<br />
|-<br />
|[[Releases/Firefox 92|Firefox 92]]<br />
|RyanVM<br />
|RelMan<br />
|Steven DeTar<br />
|sclements, ahal<br />
|RelMan (ESR 78.14, 91.1)<br />
|[https://docs.google.com/spreadsheets/d/1IsRhXuVx8URW9LlgVBQLSVMgtl34-26f7nV1BwjitIk/edit 2021-09-07]<br />
|-<br />
|[[Releases/Firefox 91|Firefox 91 (ESR)]]<br />
|Pascal<br />
|RelMan<br />
|Emma Malysz<br />
|mtabara, jmaher<br />
|RelMan (ESR 78.13, 91.0)<br />
|[https://docs.google.com/spreadsheets/d/1f18qaXtGqSUbCw5L9-50e9NG_VcZP5MWSQdtrq4UG9k/edit?usp=sharing 2021-08-10]<br />
|-<br />
|[[Releases/Firefox 90|Firefox 90]]<br />
|Julien<br />
|RelMan<br />
|Marco Castelluccio<br />
|mtabara<br />
|RelMan (ESR 78.12)<br />
|[https://docs.google.com/spreadsheets/d/1WxfHUxyGngdGPWVzIoEvf8ujcJ6qCS9LmRIdHBf1TQk/edit 2021-07-13]<br />
|-<br />
|[[Releases/Firefox 89|Firefox 89]]<br />
|Pascal<br />
|RelMan<br />
|Philip Luk<br />
|mtabara<br />
|RelMan (ESR 78.11)<br />
|[https://docs.google.com/spreadsheets/d/1g_4o_crls6uBNBICo7MlbjJpX0QSRd1V-ykuKM5gZpA/edit?skip_itp2_check=true&pli=1#gid=1009056035 2021-06-01]<br />
|-<br />
|[[Releases/Firefox 88|Firefox 88]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|mtabara, ahal<br />
|RelMan (ESR 78.10)<br />
|[https://docs.google.com/spreadsheets/d/150qjJLObI1znPL-G4k_El4Mngzp1sldqSpWtKx9FP1I/edit?usp=drive_web&ouid=111694967096525819454 2021-04-19]<br />
|-<br />
|[[Releases/Firefox 87|Firefox 87]]<br />
|Julien<br />
|RyanVM<br />
|Brian Grinstead<br />
|mtabara<br />
|RelMan (ESR 78.9)<br />
|[https://docs.google.com/spreadsheets/d/17iSr6pLI0HBg6mNICH-CdcgrfqRThOWzbl39GqhuoO8/edit 2021-03-23]<br />
|-<br />
|[[Releases/Firefox 86|Firefox 86]]<br />
|Pascal<br />
|RelMan<br />
|Steven DeTar<br />
|mtabara<br />
|RelMan (ESR 78.8)<br />
|[https://docs.google.com/spreadsheets/d/1OT0VLdcGV9QimiM1bQpPtk4GGKE7UYx5dXVXv-bIJHI/edit#gid=341685384 2021-02-23]<br />
|-<br />
|[[Releases/Firefox 85|Firefox 85]]<br />
|Julien<br />
|RelMan<br />
|Dave Hunt<br />
|mtabara, jmaher, sclements<br />
|RelMan (ESR 78.7)<br />
|[https://docs.google.com/spreadsheets/d/1sGAaJ314EJMQVN0e89jE_KN6-NKjgTN0N4JISRGLZGM/edit 2021-01-26]<br />
|-<br />
|[[Releases/Firefox 84|Firefox 84]]<br />
|RyanVM<br />
|RelMan<br />
|Brendan Dahl<br />
|jlorenzo<br />
|RelMan (ESR 78.6)<br />
|[https://docs.google.com/spreadsheets/d/1qzeDK1OOSDUsSSa9wCo10Aq4PI-iSxScM_W7ScxBXF0/edit 2020-12-15]<br />
|-<br />
|[[Releases/Firefox 83|Firefox 83]]<br />
|Pascal<br />
|RelMan<br />
|Blake Winton<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.5)<br />
|[https://docs.google.com/spreadsheets/d/1C4geok1QeLN8vkFWm1u_eucmiTrYIkouiueUbjujQwo/edit 2020-11-17]<br />
|-<br />
|[[Releases/Firefox 82|Firefox 82]]<br />
|Julien<br />
|RelMan<br />
|Janet Dragojevic<br />
|jlorenzo, aki<br />
|RelMan (ESR 78.4)<br />
|[https://docs.google.com/spreadsheets/d/1Y0CzoNUBxrX3fWfB-Py9b2AIsJHMUbvsRg2XfaPuAXI/edit 2020-10-20]<br />
|-<br />
|[[Releases/Firefox 81|Firefox 81]]<br />
|RyanVM<br />
|RelMan<br />
|Jens Stutte<br />
|mtabara, bhearsum<br />
|RelMan (ESR 78.3)<br />
|[https://docs.google.com/spreadsheets/d/1SBoPiAKVdKpLFJohFJX7GRJzWSEoZbjwBSw5b1u9XSw/edit 2020-09-22]<br />
|-<br />
|[[Releases/Firefox 80|Firefox 80]]<br />
|Julien<br />
|RelMan<br />
|Jim Mathies<br />
|jlorenzo, aki<br />
|RelMan (ESR68.12, 78.2)<br />
|[https://docs.google.com/spreadsheets/d/1Anq3XZKTQcNsdrTmWT1gFRBLvxKM_G0T4WU-52orfYc/edit 2020-08-25]<br />
|-<br />
|[[Releases/Firefox 79|Firefox 79]]<br />
|RyanVM<br />
|RelMan<br />
|Kim Moir<br />
|tomprince<br />
|RelMan (ESR68.11, 78.1)<br />
|[https://docs.google.com/spreadsheets/d/1zLD81ERyXNzODH5M0mq3icfGHFeruOZpcSK-LoXNEfs/edit 2020-07-28]<br />
|-<br />
|[[Releases/Firefox 78|Firefox 78 (ESR)]]<br />
|Julien<br />
|RelMan<br />
|Gian-Carlo Pascutto<br />
|callek<br />
|RelMan (ESR68.10)<br />
|[https://docs.google.com/spreadsheets/d/1b0cAOFmILA_iBPAJ3DMVJLBiwsKeY00Ljk0eb7nYeow/edit 2020-06-30]<br />
|-<br />
|[[Releases/Firefox 77|Firefox 77]]<br />
|Pascal<br />
|RelMan<br />
|Rachel Tublitz<br />
|rail<br />
|RelMan (ESR68.9)<br />
|[https://docs.google.com/spreadsheets/d/1xqBNtQjXMx9nEDi1d8mhXSKCEKMgyRmZeZEsBSG4qh0/edit 2020-06-02]<br />
|-<br />
|[[Releases/Firefox 76|Firefox 76]]<br />
|RyanVM<br />
|RelMan<br />
|Tim Spurway<br />
|jlund<br />
|Julien (ESR68.8)<br />
|[https://docs.google.com/spreadsheets/d/1wRSzUShqVrg0O_5fa2Mr611R-DjhpcFk6swJvScj_mQ/edit 2020-05-05]<br />
|-<br />
|[[Releases/Firefox 75|Firefox 75]]<br />
|Julien<br />
|RelMan<br />
|Jens Stutte<br />
|jlorenzo<br />
|Pascal (ESR68.7)<br />
|[https://docs.google.com/spreadsheets/d/10JMHUnaJSOvAmnDlogkcmUfBqrW0cKXWaSMlNcnJ1q4/edit 2020-04-07]<br />
|-<br />
|[[Releases/Firefox 74|Firefox 74]]<br />
|Pascal<br />
|RelMan<br />
|Ethan Tseng<br />
|sfraser (UTC)<br />
|Ryan (ESR68.6)<br />
|[https://docs.google.com/spreadsheets/d/1HQFtOPTZa2NlnPY6gO4svMxf3oKY8_SpYQZ7yt-Nc3I/edit 2020-03-10]<br />
|-<br />
|[[Releases/Firefox 73|Firefox 73]]<br />
|Ryan<br />
|Julien<br />
|Sean Voisen<br />
|jlund<br />
|Julien (ESR68.5)<br />
|[https://docs.google.com/spreadsheets/d/1w2AzxKZP6J_rquybiBn15995u8tROBaUUAiQ5nc69J8/edit 2020-02-11]<br />
|-<br />
|[[Releases/Firefox 72|Firefox 72]]<br />
|Julien<br />
|lizzard<br />
|Jim Mathies<br />
|mtabara, jlund<br />
|Pascal C (ESR68.4)<br />
|[https://docs.google.com/spreadsheets/d/10VEf3__QCWDb4EGom-W6qGPlu71R_fDQiTCLc-7Sggo/edit 2020-01-07]<br />
|-<br />
|[[Releases/Firefox 71|Firefox 71]]<br />
|Pascal<br />
|RyanVM<br />
|Florian Quèze<br />
|mtabara,jlund<br />
|lizzard (ESR68.3)<br />
|[https://docs.google.com/spreadsheets/d/1SCFDvnKGHSd7BvAvIAXA135IQnp0W4Mik9Y-jgImaJ8/edit 2019-12-03]<br />
|-<br />
|[[Releases/Firefox 70|Firefox 70]]<br />
|lizzard<br />
|Pascal<br />
|Janet Dragojevic<br />
|jlund<br />
|RyanVM (ESR68.2)<br />
|[https://docs.google.com/spreadsheets/d/1a0f8cDojanXaT44ATyK1KpK0OGcoI2eRIas4Mjk_C8Y/edit 2019-10-22] <br />
|-<br />
|[[Releases/Firefox 69|Firefox 69]]<br />
|RyanVM<br />
|lizzard<br />
|Kate Hudson<br />
|mhentges<br />
|Julien (ESR68.1)<br />
|[https://docs.google.com/spreadsheets/d/196B1HNyayCZx-JWcMqEHREY0oLIxhKqKx9ahU7p25Fw/edit 2019-09-03]<br />
|-<br />
|[[Releases/Firefox 68|Firefox 68 (ESR)]]<br />
|Julien<br />
|RyanVM<br />
|plawless<br />
|tomprince<br />
|Pascal (ESR68.0)<br />
|[https://docs.google.com/spreadsheets/d/1jtNuLGugHVgZTKR3NXQGngA_EjzSGxpRBzW-DvNK3EI/edit 2019-07-09]<br />
|-<br />
<br />
|[[Releases/Firefox 67|Firefox 67]]<br />
|Pascal<br />
|lizzard<br />
|Neha Kochar<br />
|sfraser<br />
|lizzard<br />
|[https://docs.google.com/document/d/1feDkXleRXMJJS9lxP_vbyBApIDoEr44KchAZoYHkS54/ 2019-05-21]<br />
<br />
|-<br />
|[[Releases/Firefox 66|Firefox 66]]<br />
|Lizzard<br />
|Pascal<br />
|Tim Spurway<br />
|mtabara, jlund<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1KnDiM3UmLbCPrc3UVZq6Z5Tdb2jnTfjpdyahSqgSGNE/ 2019-03-19]<br />
<br />
|-<br />
|[[Releases/Firefox 65|Firefox 65]]<br />
|RyanVM<br />
|Lizzard<br />
|jaws<br />
|jlund, mtabara<br />
|JCristau<br />
|[https://docs.google.com/document/d/1vI9KWvSMQ50R9YgdMX7nG7CSuOnTeRGN9sOH_D6_v_c/edit?usp=sharing 2019-01-29]<br />
|-<br />
<br />
|[[Releases/Firefox 64|Firefox 64]]<br />
|Julien<br />
|RyanVM<br />
|overholt<br />
|callek, sfraser<br />
|Liz<br />
|[https://docs.google.com/document/d/1MQa4J9OSTc1i60sFcVNyoFNLK8TLBXJlL9W12VoEUAc/edit?usp=sharing 2018-12-11]<br />
|-<br />
|[[Releases/Firefox 63|Firefox 63]]<br />
|Pascal<br />
|Ritu<br />
|David Durst<br />
|rail, aki, garbas<br />
|Julien<br />
|[https://docs.google.com/document/d/185O88wIwV-fRwqOKJaCCPVXjxhm70h8J4ApsJt1H9Rk/edit?usp=sharing 2018-10-23]<br />
|-<br />
|[[Releases/Firefox 62|Firefox 62]]<br />
|Lizzard<br />
|Pascal<br />
|Mike T <br />
|jlorenzo, tomprince <br />
|RyanVM<br />
|[https://docs.google.com/document/d/17FvsBOudLr15DgN-E82UamLhnweDHmGzQu4wIEi1QUg/edit?usp=sharing 2018-09-05]<br />
|-<br />
|Firefox 61<br />
|RyanVM<br />
|Ritu<br />
|Marion <br />
|mtabara, jlund<br />
|Julien<br />
|[https://docs.google.com/document/d/1cLYXPrlEES90PSKQHFLf3j0tiOUfUth2ye9Kfg9xLYY/edit?usp=sharing 2018-06-26]<br />
|-<br />
|Firefox 60 (ESR)<br />
|Julien<br />
|Ritu<br />
|Milan <br />
|aki, sfraser<br />
|Liz (52.8)<br />
|[https://docs.google.com/document/d/14D5Au23znkkqeLZu22cI7kSM0EowkC0cq0ppiZR2lg4/edit?usp=sharing 2018-05-09]<br />
|-<br />
|Firefox 59<br />
|Liz<br />
|RyanVM<br />
|Andrew Overholt<br />
|mtabara, bhearsum<br />
|RyanVM<br />
|[https://docs.google.com/document/d/1ZOs9Ingbz0e-mWDu8yXGiMM-SnpBXThkLdXnplG4e2w/edit?usp=sharing 2018-03-13]<br />
|-<br />
|Firefox 58<br />
|Gerry<br />
|Julien<br />
|Mike Taylor <br />
|callek, sfraser, nthomas, rok, jlund<br />
|Ritu<br />
|[https://docs.google.com/document/d/1jPyeW14MyHyQX7kXBU8KN9jsxO2VQjP3GN_VpLiG9YM/edit?usp=sharing 2018-01-23]<br />
|-<br />
|Firefox 57<br />
|Ritu Kothari<br />
|Julien Cristau & Sylvestre<br />
|Jim Mathies<br />
|callek, jlorenzo, nthomas, sfraser, jlund<br />
|Liz<br />
|[https://docs.google.com/document/d/1jeypuqBqEyIh-4qxXT0UnE2aVjetN7uVD8W7L7TbWKg/edit?usp=sharing 2017-11-14]<br />
|-<br />
|Firefox 56<br />
|Liz Henry<br />
|Gerry Chang<br />
|Panos Astithas<br />
|kmoir, sfraser<br />
|Julien Cristau<br />
|2017-09-26<br />
|-<br />
|Firefox 55<br />
|Julien Cristau<br />
|Liz Henry<br />
|Mike Taylor<br />
|garbas, mtabara<br />
|Gerry Chang<br />
|2017-08-08<br />
|-<br />
|Firefox 54<br />
|Gerry Chang<br />
|Julien Cristau<br />
|Nathan Froyd<br />
|mtabara, aki<br />
|Ritu<br />
|2017-06-13<br />
|-<br />
|Firefox 53<br />
|Liz Henry<br />
|Gerry Chang<br />
|Randell Jesup<br />
|aki, jlorenzo<br />
|Julien Cristau<br />
|2017-04-18<br />
|-<br />
|Firefox 52 (ESR)<br />
|Julien Cristau<br />
|Sylvestre<br />
|RyanVM<br />
|jlorenzo, jlund<br />
|Gerry<br />
|2017-03-07<br />
|-<br />
|Firefox 51<br />
|Gerry Chang<br />
|Liz Henry<br />
|Milan<br />
|jlund, mtabara<br />
|Ritu<br />
|2017-01-24 <br />
|}<br />
<br />
=== Eng support ===<br />
This lists the Regression Engineering Owner for the release. Details at https://wiki.mozilla.org/Platform#Regression_Engineering_Owner_.28REO.29 <br />
<br />
=== ¹ - Releng Coverage Notes ===<br />
Release Engineering will provide 24/5 coverage (PT Sun-Fri) with varying levels of support for 57.0 and the 58.0 cycle. See [https://calendar.google.com/calendar/embed?src=mozilla.com_v37shpb9uef44a7dbmjngdai1c%40group.calendar.google.com Releng Releaseduty Coverage] calendar for specific availability and local timezone.<br />
<br />
Releng covers a given release beginning at the second beta for the cycle listed and ending on the first beta shipment of the follow-up cycle.<br />
<br />
[[Category:Release_Management]]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1235881Template:NextReleaseDate2021-05-31T17:34:30Z<p>Ahal: </p>
<hr />
<div>2021-07-13</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1235880Template:Version/Gecko/release/current2021-05-31T17:09:13Z<p>Ahal: </p>
<hr />
<div>89.0</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1235879Template:Version/Gecko/beta/current2021-05-31T17:08:56Z<p>Ahal: </p>
<hr />
<div>90</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1235878Template:Version/Gecko/central/current2021-05-31T17:07:38Z<p>Ahal: </p>
<hr />
<div>91</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1235877Template:Version/Gecko/release/next2021-05-31T17:07:11Z<p>Ahal: </p>
<hr />
<div>90</div>Ahalhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Upload_to_internal_Pypi&diff=1234846ReleaseEngineering/How To/Upload to internal Pypi2021-04-05T13:48:26Z<p>Ahal: /* Uploading to PyPi */</p>
<hr />
<div>__TOC__<br />
<br />
== Overview ==<br />
Mozharness no longer uses packages from the PuppetAgain repositories! Instead, it uses http://pypi.pub.build.mozilla.org/pub and http://pypi.pvt.build.mozilla.org/pub, both served from the same directory.<br />
<br />
== Steps ==<br />
In order to upload to internal Pypi a package you simply need to run the script bellow :<br />
* https://hg.mozilla.org/build/braindump/file/default/utils/publish_package_our_pypi.sh<br />
<br />
=== Downloading or Updating the repo ===<br />
'''publish_package_our_pypi.sh''' is available on the [https://hg.mozilla.org/build/braindump/file/default/utils/publish_package_our_pypi.sh braindump repository] which can be clone using:<br />
<pre>hg clone https://hg.mozilla.org/build/braindump/</pre><br />
<br />
''Note:'' Make sure that you are using the latest revision of the script. You can update your repo with '''hg pull''' from within the local repository folder.<br />
<br />
<br />
=== Obtaining Package File(s) ===<br />
Next you'll need to obtain the package file(s) you intend to upload. Sometimes the requester will provide the desired urls directly, in which case you can wget them and verify their md5 hash.<br />
<br />
If a package version was requested, you can use the 'utils/download_from_pypi' script, e.g:<br />
<pre> ./download_from_pypi scipy==1.2.3</pre><br />
<br />
This will download all release files for the specified version of the package and verify their sha256 hash. Multiple packages can also be specified:<br />
<pre>./download_from_pypi scipy==1.2.3 Pillow==6.1.0</pre><br />
<br />
This might result in more files than you need to upload (e.g, maybe you don't care about Python 2.7 wheels). You can use shell expansion to delete any packages you don't need:<br />
<pre>rm *cp27* *.egg *.exe</pre><br />
<br />
The downloaded files can now be fed into the upload script.<br />
<br />
=== Uploading to PyPi ===<br />
<br />
First ensure your repository is up-to-date.<br />
<br />
The upload script needs to use your LDAP username to upload. If your machine user is the same as your LDAP, all you have to do is run the following command:<br />
<pre>./publish_package_our_pypi.sh <path/to/file1> <path/to/file2> ...</pre><br />
<br />
If your machine user is different than your LDAP, you can set it with the $USER environment variable:<br />
<pre>USER=<ldap username> ./publish_package_our_pypi.sh <path/to/file1> <path/to/file2> ...</pre><br />
<br />
The script will practically copy the file to relengwebadmin and move it where the files are located for pypi internal (/mnt/netapp/relengwebadmin/pypi/pub) then will change the rights and upload the file to <br />
http://pypi.pub.build.mozilla.org/pub.<br />
<br />
If everything worked fine, you should now have a link that looks like this:<br />
'''http://pypi.pub.build.mozilla.org/pub/FILE-NAME-HERE'''<br />
<br />
== See also ==<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1286278 bug 1286278]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:NextReleaseDate&diff=1234550Template:NextReleaseDate2021-03-22T16:05:16Z<p>Ahal: </p>
<hr />
<div>2021-04-20</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/current&diff=1234549Template:Version/Gecko/release/current2021-03-22T16:03:38Z<p>Ahal: </p>
<hr />
<div>87.0</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/beta/current&diff=1234548Template:Version/Gecko/beta/current2021-03-22T16:02:53Z<p>Ahal: </p>
<hr />
<div>88</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/central/current&diff=1234547Template:Version/Gecko/central/current2021-03-22T16:02:02Z<p>Ahal: </p>
<hr />
<div>89</div>Ahalhttps://wiki.mozilla.org/index.php?title=Template:Version/Gecko/release/next&diff=1234546Template:Version/Gecko/release/next2021-03-22T16:01:38Z<p>Ahal: </p>
<hr />
<div>88</div>Ahalhttps://wiki.mozilla.org/index.php?title=ReleaseEngineering/How_To/Upload_to_internal_Pypi&diff=1234515ReleaseEngineering/How To/Upload to internal Pypi2021-03-18T20:15:48Z<p>Ahal: </p>
<hr />
<div>__TOC__<br />
<br />
== Overview ==<br />
Mozharness no longer uses packages from the PuppetAgain repositories! Instead, it uses http://pypi.pub.build.mozilla.org/pub and http://pypi.pvt.build.mozilla.org/pub, both served from the same directory.<br />
<br />
== Steps ==<br />
In order to upload to internal Pypi a package you simply need to run the script bellow :<br />
* https://hg.mozilla.org/build/braindump/file/default/utils/publish_package_our_pypi.sh<br />
<br />
=== Downloading or Updating the repo ===<br />
'''publish_package_our_pypi.sh''' is available on the [https://hg.mozilla.org/build/braindump/file/default/utils/publish_package_our_pypi.sh braindump repository] which can be clone using:<br />
<pre>hg clone https://hg.mozilla.org/build/braindump/</pre><br />
<br />
''Note:'' Make sure that you are using the latest revision of the script. You can update your repo with '''hg pull''' from within the local repository folder.<br />
<br />
<br />
=== Obtaining Package File(s) ===<br />
Next you'll need to obtain the package file(s) you intend to upload. Sometimes the requester will provide the desired urls directly, in which case you can wget them and verify their md5 hash.<br />
<br />
If a package version was requested, you can use the 'utils/download_from_pypi' script, e.g:<br />
<pre> ./download_from_pypi scipy==1.2.3</pre><br />
<br />
This will download all release files for the specified version of the package and verify their sha256 hash. Multiple packages can also be specified:<br />
<pre>./download_from_pypi scipy==1.2.3 Pillow==6.1.0</pre><br />
<br />
This might result in more files than you need to upload (e.g, maybe you don't care about Python 2.7 wheels). You can use shell expansion to delete any packages you don't need:<br />
<pre>rm *cp27* *.egg *.exe</pre><br />
<br />
The downloaded files can now be fed into the upload script.<br />
<br />
=== Uploading to PyPi ===<br />
The upload script expects that your machine/vm will have the same username as your Mozilla LDAP. If you aren't sure how to check this, open a new terminal and type:<br />
<pre>echo "Machine username is: $(whoami)"</pre><br />
<br />
If the machine username is not the same as your Mozilla LDAP, we recommend you to either create a new username with your Mozilla LDAP username or change '''$(whoami)''' inside the script to be equal to your LDAP username.<br />
<br />
If your repository is up-to-date and your machine user is the same with your LDAP, all you have to do now is run the following command:<br />
<pre>./publish_package_our_pypi.sh <path/to/file1> <path/to/file2> ...</pre><br />
<br />
The script will practically copy the file to relengwebadmin and move it where the files are located for pypi internal (/mnt/netapp/relengwebadmin/pypi/pub) then will change the rights and upload the file to <br />
http://pypi.pub.build.mozilla.org/pub.<br />
<br />
If everything worked fine, you should now have a link that looks like this:<br />
'''http://pypi.pub.build.mozilla.org/pub/FILE-NAME-HERE'''<br />
<br />
<br />
== See also ==<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1286278 bug 1286278]</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229556Sheriffing/Manifest Scheduling2020-07-28T15:20:17Z<p>Ahal: </p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Disable Manifest Scheduling ==<br />
<br />
If manifest scheduling is enabled and it is causing problems that make it too difficult to do your job, please reach out to :ahal or :marco and we can disable it for you. If neither of us are around, you can disable it yourselves by removing this line:<br />
<br />
https://hg.mozilla.org/integration/autoland/file/9be5f086895c29015c576caab51921b0fa83c656/taskcluster/taskgraph/decision.py#l78<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen also added a new "Test Groups" to the job panel. It contains a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
Thanks to work by Armen, the backfill action can now automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill you are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future. If used, "Add New Jobs" would simply run the same manifests that ran <br />
<br />
One risk here is that it will be more difficult (but still possible) to schedule a mozilla-central only task on autoland for the purposes of bisecting a regression caught on central. You'll now need to make sure that you use "Add New Jobs" ''on a backstop push'' as that will run all test manifests. Then you can bisect the task like normal.<br />
<br />
In the future we plan to get rid of all mozilla-central only tasks and run them on an interval on autoland instead.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229426Sheriffing/Manifest Scheduling2020-07-23T13:19:24Z<p>Ahal: /* Add New Jobs */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen also added a new "Test Groups" to the job panel. It contains a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
Thanks to work by Armen, the backfill action can now automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill you are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future. If used, "Add New Jobs" would simply run the same manifests that ran <br />
<br />
One risk here is that it will be more difficult (but still possible) to schedule a mozilla-central only task on autoland for the purposes of bisecting a regression caught on central. You'll now need to make sure that you use "Add New Jobs" ''on a backstop push'' as that will run all test manifests. Then you can bisect the task like normal.<br />
<br />
In the future we plan to get rid of all mozilla-central only tasks and run them on an interval on autoland instead.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229425Sheriffing/Manifest Scheduling2020-07-23T13:19:02Z<p>Ahal: /* Add New Jobs */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen also added a new "Test Groups" to the job panel. It contains a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
Thanks to work by Armen, the backfill action can now automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill you are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future. If used, "Add New Jobs" would simply run the same manifests that ran <br />
<br />
One risk here is that it will be more difficult (but still possible) to schedule a mozilla-central only task on autoland for the purposes of bisecting a regression caught on central. You'll now need to make sure that you use "Add New Jobs" *on a backstop push* as that will run all test manifests. Then you can bisect the task like normal.<br />
<br />
In the future we plan to get rid of all mozilla-central only tasks and run them on an interval on autoland instead.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229361Sheriffing/Manifest Scheduling2020-07-21T18:13:08Z<p>Ahal: /* Push Continuity */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen also added a new "Test Groups" to the job panel. It contains a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
Thanks to work by Armen, the backfill action can now automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill you are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229338Sheriffing/Manifest Scheduling2020-07-21T13:51:02Z<p>Ahal: /* Backfills */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen is also working on a new Treeherder feature that adds a "TestGroups" tab to the job panel. It'll contain a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
We're hoping to get this deployed before the trial commences.<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
Thanks to work by Armen, the backfill action can now automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill you are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229337Sheriffing/Manifest Scheduling2020-07-21T13:43:53Z<p>Ahal: /* Backfills */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen is also working on a new Treeherder feature that adds a "TestGroups" tab to the job panel. It'll contain a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
We're hoping to get this deployed before the trial commences.<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
The backfill action can automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill sheriffs are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229335Sheriffing/Manifest Scheduling2020-07-21T13:43:34Z<p>Ahal: /* Backfills */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen is also working on a new Treeherder feature that adds a "TestGroups" tab to the job panel. It'll contain a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
We're hoping to get this deployed before the trial commences.<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
The backfill action can automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill sheriffs are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|Link to filter tasks and backfilled tasks]]<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahalhttps://wiki.mozilla.org/index.php?title=Sheriffing/Manifest_Scheduling&diff=1229334Sheriffing/Manifest Scheduling2020-07-21T13:43:06Z<p>Ahal: /* Push Continuity */</p>
<hr />
<div>The "manifest scheduling" project is a major shift in Mozilla's CI system. It aims to reduce costs and improve regression detection by only running the exact tests that we need.<br />
<br />
== Changes ==<br />
<br />
Under the old system, the CI roughly performs these steps:<br />
<br />
# Compute all tests<br />
# Split them across a hardcoded number of tasks (i.e total chunks)<br />
# Figure out which tests should run<br />
# Schedule the tasks that contain at least one of the tests we want to run<br />
<br />
The major downside to the above system is that each task that contains a test we care about, also contains a whole lot of tests we don't care about. With "manifest scheduling" enabled, the steps now become:<br />
<br />
# Compute the tests we care about<br />
# Figure out how many chunks it would take to run them given a hardcoded time interval<br />
# Split them across said chunks<br />
# Schedule all chunks<br />
<br />
With this new method, we *only* schedule the exact set of manifests that we have deemed important. This should represent a huge improvement in CI efficiency.<br />
<br />
== Sheriffing Implications ==<br />
<br />
The benefits of "manifest scheduling" are fairly clear, but there are several drawbacks as well. Most of which are related to sheriffing.<br />
<br />
=== Push Continuity ===<br />
<br />
The main issue is that under "manifest scheduling" the same mochitest-1 task on push A, will run a completely different set of tests as it does on push B. In other words, it will no longer be possible to filter Treeherder by task label to identify test-level regressions (though it should still work for many types of infra related issues). Instead, sheriffs will need to filter Treeherder by "test path". Read this [https://medium.com/@armenzg/filter-treeherder-jobs-by-test-or-manifest-path-af0e1ae74e61 blog post] for details of the feature.<br />
<br />
[[File:Test path.png|UI showing active filter for a test path]]<br />
<br />
[[File:Filtered tasks.png|Push showing tasks that executed the same test path]]<br />
<br />
<br />
Armen is also working on a new Treeherder feature that adds a "TestGroups" tab to the job panel. It'll contain a list of manifests that the test task ran and each manifest will link to the test path filter outlined above. For example:<br />
[[File:Treeherder-test-groups-prototype.png]]<br />
<br />
We're hoping to get this deployed before the trial commences.<br />
<br />
=== Backfills ===<br />
<br />
Another major issue is backfilling. If tasks run different sets of tests on different pushes, then that will break the backfill action (as we'll need to make sure the exact same set of manifests were scheduled on each backfill push).<br />
<br />
The backfill action can automatically detect if "manifest scheduling" was used for the task. If not it will perform the normal standard backfill sheriffs are used to. If so, it will run the same set of manifests from the originating push on all of the backfilled pushes. Because it's possible to run more than one backfill at a time, we need a way to identify which tasks were backfilled from where. To that end, the symbols of backfilled tasks have been changed to something like `<group>-bk(<symbol>-<rev>-bk)`. For example, if `M-fis(bc3)` was backfilled from revision `abcdef`, then the symbol for the backfill tasks would be `M-fis-bk(bc3-abcdef-bk)`. This notifies sheriffs that the task was backfilled starting at revision `abcdef` and contains the same set of test manifests as on that push.<br />
<br />
[[File:Backfilled tasks.png|thumb|UI showing a failed task, two backfill requests and few retriggered tasks]]<br />
<br />
You can filter out a task you're backfilling and all backfilled tasks by selecting the task and selecting "Filter jobs containing these keywords" (text that shows once you hover the link). See the screenshot below for the location in the UI.<br />
<br />
[[File:Filter task and backfilled.png|thumb|Link to filter tasks and backfilled tasks]]<br />
Other than being aware of this change, there shouldn't be any differences in performing a backfill.<br />
<br />
You can read this [https://medium.com/@armenzg/new-backfill-action-26788d0db81a blog post] for more details.<br />
<br />
=== Add New Jobs ===<br />
<br />
There is currently no way to specify test manifests when adding new jobs via Treeherder's "Add New Jobs" UI. This means that it can't be used to fill in tasks for the purpose of bisecting a regression. There are plans to add this feature in the future.<br />
<br />
=== Retriggers ===<br />
<br />
Retriggers should remain unaffected. Though in the future there are plans to add an action that only retriggers the manifests that failed. This may or may not become the default.<br />
<br />
=== Intermittent Risk ===<br />
<br />
One risk of "manifest scheduling" is since tests are no longer running in a deterministic order, we may get more bad interactions between tests that produce intermittents. It's possible we see many new intermittent bugs after "manifest scheduling" is enabled (though by the same logic, these new intermittents should also be way less frequent).<br />
<br />
To mitigate this risk, we have only enabled "manifest scheduling" for suites that have the "run-by-manifest" feature. That is the harness restarts Firefox in between each new manifest. In practice, this seems to reduce nearly all of these "bad interaction" types of failures. Though it is still certainly possible for tests to influence one another even across restarts (e.g if they write stuff to disk outside of the profile for instance).<br />
<br />
Keep in mind that a "manifest" is the smallest atomic unit of tests that we'll ever schedule. So tests will always run as part of their larger manifest.</div>Ahal