[dev.regabi] all: merge master (ff0e93e) into dev.regabi

Conflicts:

- src/cmd/compile/internal/gc/walk.go

  gc/walk.go is changed in CL 290950 on the master branch but
  deleted in the dev.regabi branch and moved over to the walk
  package. This CL includes porting CL 290950 over to the new
  walk.

Merge List:

+ 2021-02-12 ff0e93ea31 doc/go1.16: note that package path elements beginning with '.' are disallowed
+ 2021-02-11 249da7ec02 CONTRIBUTORS: update for the Go 1.16 release
+ 2021-02-11 864d4f1c6b cmd/go: multiple small 'go help' fixes
+ 2021-02-11 26ceae85a8 spec: More precise wording in section on function calls.
+ 2021-02-11 930c2c9a68 cmd/go: reject embedded files that can't be packed into modules
+ 2021-02-11 e5b08e6d5c io/fs: allow backslash in ValidPath, reject in os.DirFS.Open
+ 2021-02-10 ed8079096f cmd/compile: mark concrete call of reflect.(*rtype).Method as REFLECTMETHOD
+ 2021-02-09 e9c9683597 cmd/go: suppress errors from 'go get -d' for packages that only conditionally exist
+ 2021-02-09 e0ac989cf3 archive/tar: detect out of bounds accesses in PAX records resulting from padded lengths
+ 2021-02-09 c9d6f45fec runtime/metrics: fix a couple of documentation typpos
+ 2021-02-09 cea4e21b52 io/fs: backslash is always a glob meta character
+ 2021-02-08 dc725bfb3c doc/go1.16: mention new vet check for asn1.Unmarshal

Change-Id: Ib28fffa7dfbff7f6cdbfaf4a304757fead7bbf19
This commit is contained in:
Cherry Zhang 2021-02-12 16:30:51 -05:00
commit d1fd9a8863
22 changed files with 499 additions and 56 deletions

View file

@ -30,6 +30,7 @@ Aaron Bieber <deftly@gmail.com>
Aaron Cannon <cannona@fireantproductions.com> Aaron Cannon <cannona@fireantproductions.com>
Aaron France <aaron.l.france@gmail.com> Aaron France <aaron.l.france@gmail.com>
Aaron Jacobs <jacobsa@google.com> Aaron Jacobs <jacobsa@google.com>
Aaron Jensen <jensen.aaro@gmail.com>
Aaron Kemp <kemp.aaron@gmail.com> Aaron Kemp <kemp.aaron@gmail.com>
Aaron Patterson <tenderlove@ruby-lang.org> Aaron Patterson <tenderlove@ruby-lang.org>
Aaron Stein <aaronstein12@gmail.com> Aaron Stein <aaronstein12@gmail.com>
@ -71,9 +72,11 @@ Ahmet Alp Balkan <ahmetb@google.com>
Ahmet Soormally <ahmet@mangomm.co.uk> Ahmet Soormally <ahmet@mangomm.co.uk>
Ahmy Yulrizka <yulrizka@gmail.com> Ahmy Yulrizka <yulrizka@gmail.com>
Ahsun Ahmed <ahmed.ahsun@gmail.com> Ahsun Ahmed <ahmed.ahsun@gmail.com>
Aidan Coyle <packrat386@gmail.com>
Aiden Scandella <ai@uber.com> Aiden Scandella <ai@uber.com>
Ainar Garipov <gugl.zadolbal@gmail.com> Ainar Garipov <gugl.zadolbal@gmail.com>
Aishraj Dahal <aishraj@users.noreply.github.com> Aishraj Dahal <aishraj@users.noreply.github.com>
Ajanthan Balachandran <balaajanthan@gmail.com>
Akhil Indurti <aindurti@gmail.com> Akhil Indurti <aindurti@gmail.com>
Akihiro Suda <suda.kyoto@gmail.com> Akihiro Suda <suda.kyoto@gmail.com>
Akshat Kumar <seed@mail.nanosouffle.net> Akshat Kumar <seed@mail.nanosouffle.net>
@ -104,9 +107,11 @@ Alex Buchanan <buchanae@gmail.com>
Alex Carol <alex.carol.c@gmail.com> Alex Carol <alex.carol.c@gmail.com>
Alex Gaynor <alex@alloy.us> Alex Gaynor <alex@alloy.us>
Alex Harford <alex.harford@saucelabs.com> Alex Harford <alex.harford@saucelabs.com>
Alex Hays <alex.hays@leftfieldlabs.com>
Alex Jin <toalexjin@gmail.com> Alex Jin <toalexjin@gmail.com>
Alex Kohler <alexjohnkohler@gmail.com> Alex Kohler <alexjohnkohler@gmail.com>
Alex Myasoedov <msoedov@gmail.com> Alex Myasoedov <msoedov@gmail.com>
Alex Opie <amtopie@gmail.com>
Alex Plugaru <alex@plugaru.org> <alexandru.plugaru@gmail.com> Alex Plugaru <alex@plugaru.org> <alexandru.plugaru@gmail.com>
Alex Schroeder <alex@gnu.org> Alex Schroeder <alex@gnu.org>
Alex Sergeyev <abc@alexsergeyev.com> Alex Sergeyev <abc@alexsergeyev.com>
@ -119,6 +124,7 @@ Alexander F Rødseth <alexander.rodseth@appeartv.com>
Alexander Greim <alexxx@iltempo.de> Alexander Greim <alexxx@iltempo.de>
Alexander Guz <kalimatas@gmail.com> Alexander Guz <kalimatas@gmail.com>
Alexander Kauer <alexander@affine.space> Alexander Kauer <alexander@affine.space>
Alexander Klauer <Alexander.Klauer@googlemail.com>
Alexander Kucherenko <alxkchr@gmail.com> Alexander Kucherenko <alxkchr@gmail.com>
Alexander Larsson <alexander.larsson@gmail.com> Alexander Larsson <alexander.larsson@gmail.com>
Alexander Lourier <aml@rulezz.ru> Alexander Lourier <aml@rulezz.ru>
@ -150,16 +156,19 @@ Alexey Naidonov <alexey.naidyonov@gmail.com>
Alexey Neganov <neganovalexey@gmail.com> Alexey Neganov <neganovalexey@gmail.com>
Alexey Palazhchenko <alexey.palazhchenko@gmail.com> Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
Alexey Semenyuk <alexsemenyuk88@gmail.com> Alexey Semenyuk <alexsemenyuk88@gmail.com>
Alexey Vilenskiy <bynovhack@gmail.com>
Alexis Hildebrandt <surryhill@gmail.com> Alexis Hildebrandt <surryhill@gmail.com>
Alexis Hunt <lexer@google.com> Alexis Hunt <lexer@google.com>
Alexis Imperial-Legrand <ail@google.com> Alexis Imperial-Legrand <ail@google.com>
Ali Farooq <ali.farooq0@pm.me> Ali Farooq <ali.farooq0@pm.me>
Ali Rizvi-Santiago <arizvisa@gmail.com> Ali Rizvi-Santiago <arizvisa@gmail.com>
Aliaksandr Valialkin <valyala@gmail.com> Aliaksandr Valialkin <valyala@gmail.com>
Alice Merrick <amerrick@google.com>
Alif Rachmawadi <subosito@gmail.com> Alif Rachmawadi <subosito@gmail.com>
Allan Simon <allan.simon@supinfo.com> Allan Simon <allan.simon@supinfo.com>
Allen Li <ayatane@google.com> Allen Li <ayatane@google.com>
Alok Menghrajani <alok.menghrajani@gmail.com> Alok Menghrajani <alok.menghrajani@gmail.com>
Alwin Doss <alwindoss84@gmail.com>
Aman Gupta <aman@tmm1.net> Aman Gupta <aman@tmm1.net>
Amarjeet Anand <amarjeetanandsingh@gmail.com> Amarjeet Anand <amarjeetanandsingh@gmail.com>
Amir Mohammad Saied <amir@gluegadget.com> Amir Mohammad Saied <amir@gluegadget.com>
@ -168,6 +177,8 @@ Amrut Joshi <amrut.joshi@gmail.com>
An Long <aisk1988@gmail.com> An Long <aisk1988@gmail.com>
An Xiao <hac@zju.edu.cn> An Xiao <hac@zju.edu.cn>
Anand K. Mistry <anand@mistry.ninja> Anand K. Mistry <anand@mistry.ninja>
Ananya Saxena <ananyasaxena1@gmail.com>
Anatol Pomozov <anatol.pomozov@gmail.com>
Anders Pearson <anders@columbia.edu> Anders Pearson <anders@columbia.edu>
Anderson Queiroz <contato@andersonq.eti.br> Anderson Queiroz <contato@andersonq.eti.br>
André Carvalho <asantostc@gmail.com> André Carvalho <asantostc@gmail.com>
@ -199,6 +210,7 @@ Andrew G. Morgan <agm@google.com>
Andrew Gerrand <adg@golang.org> Andrew Gerrand <adg@golang.org>
Andrew Harding <andrew@spacemonkey.com> Andrew Harding <andrew@spacemonkey.com>
Andrew Jackura <ajackura@google.com> Andrew Jackura <ajackura@google.com>
Andrew Kemm <andrewkemm@gmail.com>
Andrew Louis <alouis@digitalocean.com> Andrew Louis <alouis@digitalocean.com>
Andrew Lutomirski <andy@luto.us> Andrew Lutomirski <andy@luto.us>
Andrew Medvedev <andrew.y.medvedev@gmail.com> Andrew Medvedev <andrew.y.medvedev@gmail.com>
@ -216,6 +228,7 @@ Andrew Werner <andrew@upthere.com> <awerner32@gmail.com>
Andrew Wilkins <axwalk@gmail.com> Andrew Wilkins <axwalk@gmail.com>
Andrew Williams <williams.andrew@gmail.com> Andrew Williams <williams.andrew@gmail.com>
Andrew Z Allen <me@andrewzallen.com> Andrew Z Allen <me@andrewzallen.com>
Andrey Bokhanko <andreybokhanko@gmail.com>
Andrey Mirtchovski <mirtchovski@gmail.com> Andrey Mirtchovski <mirtchovski@gmail.com>
Andrey Petrov <andrey.petrov@shazow.net> Andrey Petrov <andrey.petrov@shazow.net>
Andrii Soldatenko <andrii.soldatenko@gmail.com> Andrii Soldatenko <andrii.soldatenko@gmail.com>
@ -230,6 +243,7 @@ Andy Maloney <asmaloney@gmail.com>
Andy Pan <panjf2000@gmail.com> Andy Pan <panjf2000@gmail.com>
Andy Walker <walkeraj@gmail.com> Andy Walker <walkeraj@gmail.com>
Andy Wang <cbeuw.andy@gmail.com> Andy Wang <cbeuw.andy@gmail.com>
Andy Williams <andy@andy.xyz>
Andzej Maciusovic <andzej.maciusovic@gmail.com> Andzej Maciusovic <andzej.maciusovic@gmail.com>
Anfernee Yongkun Gui <anfernee.gui@gmail.com> Anfernee Yongkun Gui <anfernee.gui@gmail.com>
Angelo Bulfone <mbulfone@gmail.com> Angelo Bulfone <mbulfone@gmail.com>
@ -274,6 +288,7 @@ Arne Hormann <arnehormann@gmail.com>
Arnout Engelen <arnout@bzzt.net> Arnout Engelen <arnout@bzzt.net>
Aron Nopanen <aron.nopanen@gmail.com> Aron Nopanen <aron.nopanen@gmail.com>
Artem Alekseev <artem.alekseev@intel.com> Artem Alekseev <artem.alekseev@intel.com>
Artem Khvastunov <artem.khvastunov@jetbrains.com>
Artem Kolin <artemkaxboy@gmail.com> Artem Kolin <artemkaxboy@gmail.com>
Arthur Fabre <arthur@arthurfabre.com> Arthur Fabre <arthur@arthurfabre.com>
Arthur Khashaev <arthur@khashaev.ru> Arthur Khashaev <arthur@khashaev.ru>
@ -281,8 +296,10 @@ Artyom Pervukhin <artyom.pervukhin@gmail.com>
Arvindh Rajesh Tamilmani <art@a-30.net> Arvindh Rajesh Tamilmani <art@a-30.net>
Ashish Gandhi <ag@ashishgandhi.org> Ashish Gandhi <ag@ashishgandhi.org>
Asim Shankar <asimshankar@gmail.com> Asim Shankar <asimshankar@gmail.com>
Assel Meher <asselmeher@gmail.com>
Atin Malaviya <amalaviy@akamai.com> Atin Malaviya <amalaviy@akamai.com>
Ato Araki <ato.araki@gmail.com> Ato Araki <ato.araki@gmail.com>
Atsushi Toyama <atsushi.tohyama.160.333@gmail.com>
Audrey Lim <audreylh@gmail.com> Audrey Lim <audreylh@gmail.com>
Audrius Butkevicius <audrius.butkevicius@gmail.com> Audrius Butkevicius <audrius.butkevicius@gmail.com>
Augusto Roman <aroman@gmail.com> Augusto Roman <aroman@gmail.com>
@ -291,6 +308,7 @@ Aurélien Rainone <aurelien.rainone@gmail.com>
Aurélio A. Heckert <aurium@gmail.com> Aurélio A. Heckert <aurium@gmail.com>
Austin Clements <austin@google.com> <aclements@csail.mit.edu> Austin Clements <austin@google.com> <aclements@csail.mit.edu>
Avi Flax <avi@timehop.com> Avi Flax <avi@timehop.com>
Aviv Klasquin Komissar <avivklas@gmail.com>
awaw fumin <awawfumin@gmail.com> awaw fumin <awawfumin@gmail.com>
Awn Umar <awn@cryptolosophy.io> Awn Umar <awn@cryptolosophy.io>
Axel Wagner <axel.wagner.hh@googlemail.com> Axel Wagner <axel.wagner.hh@googlemail.com>
@ -298,6 +316,7 @@ Ayan George <ayan@ayan.net>
Ayanamist Yang <ayanamist@gmail.com> Ayanamist Yang <ayanamist@gmail.com>
Ayke van Laethem <aykevanlaethem@gmail.com> Ayke van Laethem <aykevanlaethem@gmail.com>
Aymerick Jéhanne <aymerick@jehanne.org> Aymerick Jéhanne <aymerick@jehanne.org>
Ayzat Sadykov <ayzat.ziko.93@gmail.com>
Azat Kaumov <kaumov.a.r@gmail.com> Azat Kaumov <kaumov.a.r@gmail.com>
Baiju Muthukadan <baiju.m.mail@gmail.com> Baiju Muthukadan <baiju.m.mail@gmail.com>
Balaram Makam <bmakam.qdt@qualcommdatacenter.com> Balaram Makam <bmakam.qdt@qualcommdatacenter.com>
@ -308,10 +327,12 @@ Bartosz Grzybowski <melkorm@gmail.com>
Bartosz Oler <brtsz@google.com> Bartosz Oler <brtsz@google.com>
Bastian Ike <bastian.ike@gmail.com> Bastian Ike <bastian.ike@gmail.com>
Ben Burkert <ben@benburkert.com> Ben Burkert <ben@benburkert.com>
Ben Cartwright-Cox <Ben@Benjojo.co.uk>
Ben Eitzen <eitzenb@golang.org> Ben Eitzen <eitzenb@golang.org>
Ben Fried <ben.fried@gmail.com> Ben Fried <ben.fried@gmail.com>
Ben Haines <bhainesva@gmail.com> Ben Haines <bhainesva@gmail.com>
Ben Hoyt <benhoyt@gmail.com> Ben Hoyt <benhoyt@gmail.com>
Ben Kraft <benkraft@khanacademy.org>
Ben Laurie <ben@links.org> <benl@google.com> Ben Laurie <ben@links.org> <benl@google.com>
Ben Lubar <ben.lubar@gmail.com> Ben Lubar <ben.lubar@gmail.com>
Ben Lynn <benlynn@gmail.com> Ben Lynn <benlynn@gmail.com>
@ -319,6 +340,7 @@ Ben Olive <sionide21@gmail.com>
Ben Schwartz <bemasc@google.com> Ben Schwartz <bemasc@google.com>
Ben Shi <powerman1st@163.com> Ben Shi <powerman1st@163.com>
Ben Toews <mastahyeti@gmail.com> Ben Toews <mastahyeti@gmail.com>
Benjamin Barenblat <bbaren@google.com>
Benjamin Black <b@b3k.us> Benjamin Black <b@b3k.us>
Benjamin Cable <cable.benjamin@gmail.com> Benjamin Cable <cable.benjamin@gmail.com>
Benjamin Hsieh <tanookiben@users.noreply.github.com> Benjamin Hsieh <tanookiben@users.noreply.github.com>
@ -356,6 +378,7 @@ Bobby Powers <bobbypowers@gmail.com>
Boqin Qin <bobbqqin@gmail.com> Boqin Qin <bobbqqin@gmail.com>
Boris Nagaev <nagaev@google.com> Boris Nagaev <nagaev@google.com>
Borja Clemente <borja.clemente@gmail.com> Borja Clemente <borja.clemente@gmail.com>
Boshi Lian <bolian@microsoft.com>
Brad Burch <brad.burch@gmail.com> Brad Burch <brad.burch@gmail.com>
Brad Erickson <bderickson@gmail.com> Brad Erickson <bderickson@gmail.com>
Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com> Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
@ -368,10 +391,12 @@ Bradford Lamson-Scribner <brad.lamson@gmail.com>
Bradley Falzon <brad@teambrad.net> Bradley Falzon <brad@teambrad.net>
Brady Catherman <brady@gmail.com> Brady Catherman <brady@gmail.com>
Brady Sullivan <brady@bsull.com> Brady Sullivan <brady@bsull.com>
Branden J. Brown <zephyrtronium@gmail.com>
Brandon Bennett <bbennett@fb.com> Brandon Bennett <bbennett@fb.com>
Brandon Gilmore <varz@google.com> Brandon Gilmore <varz@google.com>
Brandon Philips <brandon@ifup.org> Brandon Philips <brandon@ifup.org>
Brandon Ryan <bjryan19@gmail.com> Brandon Ryan <bjryan19@gmail.com>
Brave Cow <rsr715@gmail.com>
Brayden Cloud <bcloud@google.com> Brayden Cloud <bcloud@google.com>
Brendan Daniel Tracey <tracey.brendan@gmail.com> Brendan Daniel Tracey <tracey.brendan@gmail.com>
Brendan O'Dea <bod@golang.org> Brendan O'Dea <bod@golang.org>
@ -389,6 +414,7 @@ Brian Slesinsky <skybrian@google.com>
Brian Smith <ohohvi@gmail.com> Brian Smith <ohohvi@gmail.com>
Brian Starke <brian.starke@gmail.com> Brian Starke <brian.starke@gmail.com>
Bryan Alexander <Kozical@msn.com> Bryan Alexander <Kozical@msn.com>
Bryan Boreham <bjboreham@gmail.com>
Bryan C. Mills <bcmills@google.com> Bryan C. Mills <bcmills@google.com>
Bryan Chan <bryan.chan@ca.ibm.com> Bryan Chan <bryan.chan@ca.ibm.com>
Bryan Ford <brynosaurus@gmail.com> Bryan Ford <brynosaurus@gmail.com>
@ -407,6 +433,7 @@ Carl Mastrangelo <notcarl@google.com>
Carl Shapiro <cshapiro@google.com> <cshapiro@golang.org> Carl Shapiro <cshapiro@google.com> <cshapiro@golang.org>
Carlisia Campos <carlisia@grokkingtech.io> Carlisia Campos <carlisia@grokkingtech.io>
Carlo Alberto Ferraris <cafxx@strayorange.com> Carlo Alberto Ferraris <cafxx@strayorange.com>
Carlos Alexandro Becker <caarlos0@gmail.com>
Carlos Amedee <carlos@golang.org> Carlos Amedee <carlos@golang.org>
Carlos Castillo <cookieo9@gmail.com> Carlos Castillo <cookieo9@gmail.com>
Carlos Cirello <uldericofilho@gmail.com> Carlos Cirello <uldericofilho@gmail.com>
@ -422,6 +449,7 @@ Casey Callendrello <squeed@gmail.com>
Casey Marshall <casey.marshall@gmail.com> Casey Marshall <casey.marshall@gmail.com>
Catalin Nicutar <cnicutar@google.com> Catalin Nicutar <cnicutar@google.com>
Catalin Patulea <catalinp@google.com> Catalin Patulea <catalinp@google.com>
Cathal O'Callaghan <cathalsocallaghan@gmail.com>
Cedric Staub <cs@squareup.com> Cedric Staub <cs@squareup.com>
Cezar Sá Espinola <cezarsa@gmail.com> Cezar Sá Espinola <cezarsa@gmail.com>
Chad Rosier <mrosier.qdt@qualcommdatacenter.com> Chad Rosier <mrosier.qdt@qualcommdatacenter.com>
@ -434,10 +462,14 @@ Charles Kenney <charlesc.kenney@gmail.com>
Charles L. Dorian <cldorian@gmail.com> Charles L. Dorian <cldorian@gmail.com>
Charles Lee <zombie.fml@gmail.com> Charles Lee <zombie.fml@gmail.com>
Charles Weill <weill@google.com> Charles Weill <weill@google.com>
Charlotte Brandhorst-Satzkorn <catzkorn@gmail.com>
Chauncy Cullitan <chauncyc@google.com> Chauncy Cullitan <chauncyc@google.com>
Chen Zhidong <njutczd@gmail.com>
Chen Zhihan <energiehund@gmail.com> Chen Zhihan <energiehund@gmail.com>
Cherry Zhang <cherryyz@google.com> Cherry Zhang <cherryyz@google.com>
Chew Choon Keat <choonkeat@gmail.com> Chew Choon Keat <choonkeat@gmail.com>
Chiawen Chen <golopot@gmail.com>
Chirag Sukhala <cchirag77@gmail.com>
Cholerae Hu <choleraehyq@gmail.com> Cholerae Hu <choleraehyq@gmail.com>
Chotepud Teo <AlexRouSg@users.noreply.github.com> Chotepud Teo <AlexRouSg@users.noreply.github.com>
Chris Ball <chris@printf.net> Chris Ball <chris@printf.net>
@ -460,6 +492,8 @@ Chris Raynor <raynor@google.com>
Chris Roche <rodaine@gmail.com> Chris Roche <rodaine@gmail.com>
Chris Smith <chrsmith@users.noreply.github.com> Chris Smith <chrsmith@users.noreply.github.com>
Chris Stockton <chrisstocktonaz@gmail.com> Chris Stockton <chrisstocktonaz@gmail.com>
Chris Taylor <taylorza@gmail.com>
Chris Waldon <christopher.waldon.dev@gmail.com>
Chris Zou <chriszou@ca.ibm.com> Chris Zou <chriszou@ca.ibm.com>
Christian Alexander <christian@linux.com> Christian Alexander <christian@linux.com>
Christian Couder <chriscool@tuxfamily.org> Christian Couder <chriscool@tuxfamily.org>
@ -467,6 +501,7 @@ Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>
Christian Muehlhaeuser <muesli@gmail.com> Christian Muehlhaeuser <muesli@gmail.com>
Christian Pellegrin <chri@evolware.org> Christian Pellegrin <chri@evolware.org>
Christian R. Petrin <christianpetrin@gmail.com> Christian R. Petrin <christianpetrin@gmail.com>
Christian Svensson <blue@cmd.nu>
Christine Hansmann <chhansmann@gmail.com> Christine Hansmann <chhansmann@gmail.com>
Christoffer Buchholz <christoffer.buchholz@gmail.com> Christoffer Buchholz <christoffer.buchholz@gmail.com>
Christoph Blecker <admin@toph.ca> Christoph Blecker <admin@toph.ca>
@ -474,6 +509,7 @@ Christoph Hack <christoph@tux21b.org>
Christopher Cahoon <chris.cahoon@gmail.com> Christopher Cahoon <chris.cahoon@gmail.com>
Christopher Guiney <chris@guiney.net> Christopher Guiney <chris@guiney.net>
Christopher Henderson <chris@chenderson.org> Christopher Henderson <chris@chenderson.org>
Christopher Hlubek <christopher.hlubek@networkteam.com>
Christopher Koch <chrisko@google.com> Christopher Koch <chrisko@google.com>
Christopher Loessl <cloessl+github@gmail.com> Christopher Loessl <cloessl+github@gmail.com>
Christopher Nelson <nadiasvertex@gmail.com> Christopher Nelson <nadiasvertex@gmail.com>
@ -506,7 +542,10 @@ Costin Chirvasuta <ctin@google.com>
Craig Citro <craigcitro@google.com> Craig Citro <craigcitro@google.com>
Cristian Staretu <unclejacksons@gmail.com> Cristian Staretu <unclejacksons@gmail.com>
Cuihtlauac ALVARADO <cuihtlauac.alvarado@orange.com> Cuihtlauac ALVARADO <cuihtlauac.alvarado@orange.com>
Cuong Manh Le <cuong@orijtech.com>
Curtis La Graff <curtis@lagraff.me>
Cyrill Schumacher <cyrill@schumacher.fm> Cyrill Schumacher <cyrill@schumacher.fm>
Dai Jie <gzdaijie@gmail.com>
Daisuke Fujita <dtanshi45@gmail.com> Daisuke Fujita <dtanshi45@gmail.com>
Daisuke Suzuki <daisuzu@gmail.com> Daisuke Suzuki <daisuzu@gmail.com>
Daker Fernandes Pinheiro <daker.fernandes.pinheiro@intel.com> Daker Fernandes Pinheiro <daker.fernandes.pinheiro@intel.com>
@ -525,12 +564,14 @@ Dan Peterson <dpiddy@gmail.com>
Dan Pupius <dan@medium.com> Dan Pupius <dan@medium.com>
Dan Scales <danscales@google.com> Dan Scales <danscales@google.com>
Dan Sinclair <dan.sinclair@gmail.com> Dan Sinclair <dan.sinclair@gmail.com>
Daniel Cohen <dcohen@gatech.edu>
Daniel Cormier <danielc@knowbe4.com> Daniel Cormier <danielc@knowbe4.com>
Daniël de Kok <me@danieldk.eu> Daniël de Kok <me@danieldk.eu>
Daniel Fleischman <danielfleischman@gmail.com> Daniel Fleischman <danielfleischman@gmail.com>
Daniel Ingram <ingramds@appstate.edu> Daniel Ingram <ingramds@appstate.edu>
Daniel Johansson <dajo2002@gmail.com> Daniel Johansson <dajo2002@gmail.com>
Daniel Kerwin <d.kerwin@gini.net> Daniel Kerwin <d.kerwin@gini.net>
Daniel Kessler <dkess@google.com>
Daniel Krech <eikeon@eikeon.com> Daniel Krech <eikeon@eikeon.com>
Daniel Kumor <rdkumor@gmail.com> Daniel Kumor <rdkumor@gmail.com>
Daniel Langner <s8572327@gmail.com> Daniel Langner <s8572327@gmail.com>
@ -538,10 +579,12 @@ Daniel Lidén <daniel.liden.87@gmail.com>
Daniel Lublin <daniel@lublin.se> Daniel Lublin <daniel@lublin.se>
Daniel Mangum <georgedanielmangum@gmail.com> Daniel Mangum <georgedanielmangum@gmail.com>
Daniel Martí <mvdan@mvdan.cc> Daniel Martí <mvdan@mvdan.cc>
Daniel McCarney <cpu@letsencrypt.org>
Daniel Morsing <daniel.morsing@gmail.com> Daniel Morsing <daniel.morsing@gmail.com>
Daniel Nadasi <dnadasi@google.com> Daniel Nadasi <dnadasi@google.com>
Daniel Nephin <dnephin@gmail.com> Daniel Nephin <dnephin@gmail.com>
Daniel Ortiz Pereira da Silva <daniel.particular@gmail.com> Daniel Ortiz Pereira da Silva <daniel.particular@gmail.com>
Daniel S. Fava <danielsfava@gmail.com>
Daniel Skinner <daniel@dasa.cc> Daniel Skinner <daniel@dasa.cc>
Daniel Speichert <daniel@speichert.pl> Daniel Speichert <daniel@speichert.pl>
Daniel Theophanes <kardianos@gmail.com> Daniel Theophanes <kardianos@gmail.com>
@ -563,6 +606,7 @@ Dave Cheney <dave@cheney.net>
Dave Day <djd@golang.org> Dave Day <djd@golang.org>
Dave Grijalva <dgrijalva@ngmoco.com> Dave Grijalva <dgrijalva@ngmoco.com>
Dave MacFarlane <driusan@gmail.com> Dave MacFarlane <driusan@gmail.com>
Dave Pifke <dave@pifke.org>
Dave Russell <forfuncsake@gmail.com> Dave Russell <forfuncsake@gmail.com>
David Anderson <danderson@google.com> David Anderson <danderson@google.com>
David Barnett <dbarnett@google.com> David Barnett <dbarnett@google.com>
@ -593,6 +637,7 @@ David McLeish <davemc@google.com>
David Ndungu <dnjuguna@gmail.com> David Ndungu <dnjuguna@gmail.com>
David NewHamlet <david@newhamlet.com> David NewHamlet <david@newhamlet.com>
David Presotto <presotto@gmail.com> David Presotto <presotto@gmail.com>
David Qu <davidqu12345@gmail.com>
David R. Jenni <david.r.jenni@gmail.com> David R. Jenni <david.r.jenni@gmail.com>
David Sansome <me@davidsansome.com> David Sansome <me@davidsansome.com>
David Stainton <dstainton415@gmail.com> David Stainton <dstainton415@gmail.com>
@ -642,6 +687,7 @@ Diwaker Gupta <diwakergupta@gmail.com>
Dmitri Goutnik <dgoutnik@gmail.com> Dmitri Goutnik <dgoutnik@gmail.com>
Dmitri Popov <operator@cv.dp-net.com> Dmitri Popov <operator@cv.dp-net.com>
Dmitri Shuralyov <dmitshur@golang.org> <dmitri@shuralyov.com> Dmitri Shuralyov <dmitshur@golang.org> <dmitri@shuralyov.com>
Dmitrii Okunev <xaionaro@gmail.com>
Dmitriy Cherchenko <dcherchenko@gmail.com> Dmitriy Cherchenko <dcherchenko@gmail.com>
Dmitriy Dudkin <dudkin.dmitriy@gmail.com> Dmitriy Dudkin <dudkin.dmitriy@gmail.com>
Dmitriy Shelenin <deemok@googlemail.com> <deemok@gmail.com> Dmitriy Shelenin <deemok@googlemail.com> <deemok@gmail.com>
@ -655,6 +701,7 @@ Dmitry Yakunin <nonamezeil@gmail.com>
Doga Fincan <doga@icloud.com> Doga Fincan <doga@icloud.com>
Domas Tamašauskas <puerdomus@gmail.com> Domas Tamašauskas <puerdomus@gmail.com>
Domen Ipavec <domen@ipavec.net> Domen Ipavec <domen@ipavec.net>
Dominic Della Valle <ddvpublic@Gmail.com>
Dominic Green <dominicgreen1@gmail.com> Dominic Green <dominicgreen1@gmail.com>
Dominik Honnef <dominik.honnef@gmail.com> Dominik Honnef <dominik.honnef@gmail.com>
Dominik Vogt <vogt@linux.vnet.ibm.com> Dominik Vogt <vogt@linux.vnet.ibm.com>
@ -696,6 +743,7 @@ Elias Naur <mail@eliasnaur.com> <elias.naur@gmail.com>
Elliot Morrison-Reed <elliotmr@gmail.com> Elliot Morrison-Reed <elliotmr@gmail.com>
Ellison Leão <ellisonleao@gmail.com> Ellison Leão <ellisonleao@gmail.com>
Emerson Lin <linyintor@gmail.com> Emerson Lin <linyintor@gmail.com>
Emil Bektimirov <lefelys@gmail.com>
Emil Hessman <emil@hessman.se> Emil Hessman <emil@hessman.se>
Emil Mursalimov <mursalimovemeel@gmail.com> Emil Mursalimov <mursalimovemeel@gmail.com>
Emilien Kenler <hello@emilienkenler.com> Emilien Kenler <hello@emilienkenler.com>
@ -760,6 +808,7 @@ Fatih Arslan <fatih@arslan.io>
Fazal Majid <majid@apsalar.com> Fazal Majid <majid@apsalar.com>
Fazlul Shahriar <fshahriar@gmail.com> Fazlul Shahriar <fshahriar@gmail.com>
Federico Bond <federicobond@gmail.com> Federico Bond <federicobond@gmail.com>
Federico Guerinoni <guerinoni.federico@gmail.com>
Federico Simoncelli <fsimonce@redhat.com> Federico Simoncelli <fsimonce@redhat.com>
Fedor Indutny <fedor@indutny.com> Fedor Indutny <fedor@indutny.com>
Fedor Korotkiy <dartslon@gmail.com> Fedor Korotkiy <dartslon@gmail.com>
@ -781,6 +830,7 @@ Florin Patan <florinpatan@gmail.com>
Folke Behrens <folke@google.com> Folke Behrens <folke@google.com>
Ford Hurley <ford.hurley@gmail.com> Ford Hurley <ford.hurley@gmail.com>
Francesc Campoy <campoy@golang.org> Francesc Campoy <campoy@golang.org>
Francesco Guardiani <francescoguard@gmail.com>
Francesco Renzi <rentziass@gmail.com> Francesco Renzi <rentziass@gmail.com>
Francisco Claude <fclaude@recoded.cl> Francisco Claude <fclaude@recoded.cl>
Francisco Rojas <francisco.rojas.gallegos@gmail.com> Francisco Rojas <francisco.rojas.gallegos@gmail.com>
@ -811,8 +861,10 @@ Gabriel Russell <gabriel.russell@gmail.com>
Gareth Paul Jones <gpj@foursquare.com> Gareth Paul Jones <gpj@foursquare.com>
Garret Kelly <gdk@google.com> Garret Kelly <gdk@google.com>
Garrick Evans <garrick@google.com> Garrick Evans <garrick@google.com>
Garry McNulty <garrmcnu@gmail.com>
Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com> Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
Gary Elliott <garyelliott@google.com> Gary Elliott <garyelliott@google.com>
Gaurav Singh <gaurav1086@gmail.com>
Gaurish Sharma <contact@gaurishsharma.com> Gaurish Sharma <contact@gaurishsharma.com>
Gautham Thambidorai <gautham.dorai@gmail.com> Gautham Thambidorai <gautham.dorai@gmail.com>
Gauthier Jolly <gauthier.jolly@gmail.com> Gauthier Jolly <gauthier.jolly@gmail.com>
@ -827,6 +879,7 @@ Georg Reinke <guelfey@gmail.com>
George Gkirtsou <ggirtsou@gmail.com> George Gkirtsou <ggirtsou@gmail.com>
George Hartzell <hartzell@alerce.com> George Hartzell <hartzell@alerce.com>
George Shammas <george@shamm.as> <georgyo@gmail.com> George Shammas <george@shamm.as> <georgyo@gmail.com>
George Tsilias <tsiliasg@gmail.com>
Gerasimos (Makis) Maropoulos <kataras2006@hotmail.com> Gerasimos (Makis) Maropoulos <kataras2006@hotmail.com>
Gerasimos Dimitriadis <gedimitr@gmail.com> Gerasimos Dimitriadis <gedimitr@gmail.com>
Gergely Brautigam <skarlso777@gmail.com> Gergely Brautigam <skarlso777@gmail.com>
@ -862,6 +915,7 @@ GitHub User @frennkie (6499251) <mail@rhab.de>
GitHub User @geedchin (11672310) <geedchin@gmail.com> GitHub User @geedchin (11672310) <geedchin@gmail.com>
GitHub User @GrigoriyMikhalkin (3637857) <grigoriymikhalkin@gmail.com> GitHub User @GrigoriyMikhalkin (3637857) <grigoriymikhalkin@gmail.com>
GitHub User @hengwu0 (41297446) <41297446+hengwu0@users.noreply.github.com> GitHub User @hengwu0 (41297446) <41297446+hengwu0@users.noreply.github.com>
GitHub User @hitzhangjie (3725760) <hit.zhangjie@gmail.com>
GitHub User @itchyny (375258) <itchyny@hatena.ne.jp> GitHub User @itchyny (375258) <itchyny@hatena.ne.jp>
GitHub User @jinmiaoluo (39730824) <jinmiaoluo@icloud.com> GitHub User @jinmiaoluo (39730824) <jinmiaoluo@icloud.com>
GitHub User @jopbrown (6345470) <msshane2008@gmail.com> GitHub User @jopbrown (6345470) <msshane2008@gmail.com>
@ -873,6 +927,7 @@ GitHub User @LotusFenn (13775899) <fenn.lotus@gmail.com>
GitHub User @ly303550688 (11519839) <yang.liu636@gmail.com> GitHub User @ly303550688 (11519839) <yang.liu636@gmail.com>
GitHub User @madiganz (18340029) <zacharywmadigan@gmail.com> GitHub User @madiganz (18340029) <zacharywmadigan@gmail.com>
GitHub User @maltalex (10195391) <code@bit48.net> GitHub User @maltalex (10195391) <code@bit48.net>
GitHub User @markruler (38225900) <csu0414@gmail.com>
GitHub User @Matts966 (28551465) <Matts966@users.noreply.github.com> GitHub User @Matts966 (28551465) <Matts966@users.noreply.github.com>
GitHub User @micnncim (21333876) <micnncim@gmail.com> GitHub User @micnncim (21333876) <micnncim@gmail.com>
GitHub User @mkishere (224617) <224617+mkishere@users.noreply.github.com> GitHub User @mkishere (224617) <224617+mkishere@users.noreply.github.com>
@ -886,6 +941,8 @@ GitHub User @ramenjuniti (32011829) <ramenjuniti@gmail.com>
GitHub User @saitarunreddy (21041941) <saitarunreddypalla@gmail.com> GitHub User @saitarunreddy (21041941) <saitarunreddypalla@gmail.com>
GitHub User @shogo-ma (9860598) <Choroma194@gmail.com> GitHub User @shogo-ma (9860598) <Choroma194@gmail.com>
GitHub User @skanehira (7888591) <sho19921005@gmail.com> GitHub User @skanehira (7888591) <sho19921005@gmail.com>
GitHub User @soolaugust (10558124) <soolaugust@gmail.com>
GitHub User @surechen (7249331) <surechen17@gmail.com>
GitHub User @tatsumack (4510569) <tatsu.mack@gmail.com> GitHub User @tatsumack (4510569) <tatsu.mack@gmail.com>
GitHub User @tell-k (26263) <ffk2005@gmail.com> GitHub User @tell-k (26263) <ffk2005@gmail.com>
GitHub User @tennashi (10219626) <tennashio@gmail.com> GitHub User @tennashi (10219626) <tennashio@gmail.com>
@ -908,6 +965,7 @@ Gordon Tyler <gordon@doxxx.net>
Graham King <graham4king@gmail.com> Graham King <graham4king@gmail.com>
Graham Miller <graham.miller@gmail.com> Graham Miller <graham.miller@gmail.com>
Grant Griffiths <ggp493@gmail.com> Grant Griffiths <ggp493@gmail.com>
Green Lightning <GreenLightning.git@googlemail.com>
Greg Poirier <greg.istehbest@gmail.com> Greg Poirier <greg.istehbest@gmail.com>
Greg Steuck <gnezdo+github@google.com> Greg Steuck <gnezdo+github@google.com>
Greg Thelen <gthelen@google.com> Greg Thelen <gthelen@google.com>
@ -920,6 +978,7 @@ Guilherme Garnier <guilherme.garnier@gmail.com>
Guilherme Goncalves <guilhermeaugustosg@gmail.com> Guilherme Goncalves <guilhermeaugustosg@gmail.com>
Guilherme Rezende <guilhermebr@gmail.com> Guilherme Rezende <guilhermebr@gmail.com>
Guillaume J. Charmes <guillaume@charmes.net> Guillaume J. Charmes <guillaume@charmes.net>
Guillaume Sottas <guillaumesottas@gmail.com>
Günther Noack <gnoack@google.com> Günther Noack <gnoack@google.com>
Guobiao Mei <meiguobiao@gmail.com> Guobiao Mei <meiguobiao@gmail.com>
Guoliang Wang <iamwgliang@gmail.com> Guoliang Wang <iamwgliang@gmail.com>
@ -936,6 +995,8 @@ HAMANO Tsukasa <hamano@osstech.co.jp>
Han-Wen Nienhuys <hanwen@google.com> Han-Wen Nienhuys <hanwen@google.com>
Hang Qian <hangqian90@gmail.com> Hang Qian <hangqian90@gmail.com>
Hanjun Kim <hallazzang@gmail.com> Hanjun Kim <hallazzang@gmail.com>
Hanlin Shi <shihanlin9@gmail.com>
Haoran Luo <haoran.luo@chaitin.com>
Haosdent Huang <haosdent@gmail.com> Haosdent Huang <haosdent@gmail.com>
Harald Nordgren <haraldnordgren@gmail.com> Harald Nordgren <haraldnordgren@gmail.com>
Hari haran <hariharan.uno@gmail.com> Hari haran <hariharan.uno@gmail.com>
@ -950,9 +1011,11 @@ Håvard Haugen <havard.haugen@gmail.com>
He Liu <liulonnie@gmail.com> He Liu <liulonnie@gmail.com>
Hector Chu <hectorchu@gmail.com> Hector Chu <hectorchu@gmail.com>
Hector Martin Cantero <hector@marcansoft.com> Hector Martin Cantero <hector@marcansoft.com>
Hein Khant Zaw <heinkhantzaw1@gmail.com>
Henning Schmiedehausen <henning@schmiedehausen.org> Henning Schmiedehausen <henning@schmiedehausen.org>
Henrik Edwards <henrik.edwards@gmail.com> Henrik Edwards <henrik.edwards@gmail.com>
Henrik Hodne <henrik@hodne.io> Henrik Hodne <henrik@hodne.io>
Henrique Vicente <henriquevicente@gmail.com>
Henry Adi Sumarto <henry.adisumarto@gmail.com> Henry Adi Sumarto <henry.adisumarto@gmail.com>
Henry Bubert <google@mindeco.de> Henry Bubert <google@mindeco.de>
Henry Chang <mr.changyuheng@gmail.com> Henry Chang <mr.changyuheng@gmail.com>
@ -969,6 +1032,7 @@ Hironao OTSUBO <motemen@gmail.com>
Hiroshi Ioka <hirochachacha@gmail.com> Hiroshi Ioka <hirochachacha@gmail.com>
Hitoshi Mitake <mitake.hitoshi@gmail.com> Hitoshi Mitake <mitake.hitoshi@gmail.com>
Holden Huang <ttyh061@gmail.com> Holden Huang <ttyh061@gmail.com>
Songlin Jiang <hollowman@hollowman.ml>
Hong Ruiqi <hongruiqi@gmail.com> Hong Ruiqi <hongruiqi@gmail.com>
Hongfei Tan <feilengcui008@gmail.com> Hongfei Tan <feilengcui008@gmail.com>
Horacio Duran <horacio.duran@gmail.com> Horacio Duran <horacio.duran@gmail.com>
@ -990,6 +1054,7 @@ Ian Haken <ihaken@netflix.com>
Ian Kent <iankent85@gmail.com> Ian Kent <iankent85@gmail.com>
Ian Lance Taylor <iant@golang.org> Ian Lance Taylor <iant@golang.org>
Ian Leue <ian@appboy.com> Ian Leue <ian@appboy.com>
Ian Tay <iantay@google.com>
Ian Zapolsky <ianzapolsky@gmail.com> Ian Zapolsky <ianzapolsky@gmail.com>
Ibrahim AshShohail <ibra.sho@gmail.com> Ibrahim AshShohail <ibra.sho@gmail.com>
Icarus Sparry <golang@icarus.freeuk.com> Icarus Sparry <golang@icarus.freeuk.com>
@ -997,9 +1062,11 @@ Iccha Sethi <icchasethi@gmail.com>
Idora Shinatose <idora.shinatose@gmail.com> Idora Shinatose <idora.shinatose@gmail.com>
Ignacio Hagopian <jsign.uy@gmail.com> Ignacio Hagopian <jsign.uy@gmail.com>
Igor Bernstein <igorbernstein@google.com> Igor Bernstein <igorbernstein@google.com>
Igor Bolotnikov <igor.v.bolotnikov@gmail.com>
Igor Dolzhikov <bluesriverz@gmail.com> Igor Dolzhikov <bluesriverz@gmail.com>
Igor Vashyst <ivashyst@gmail.com> Igor Vashyst <ivashyst@gmail.com>
Igor Zhilianin <igor.zhilianin@gmail.com> Igor Zhilianin <igor.zhilianin@gmail.com>
Ikko Ashimine <eltociear@gmail.com>
Illya Yalovyy <yalovoy@gmail.com> Illya Yalovyy <yalovoy@gmail.com>
Ilya Sinelnikov <sidhmangh@gmail.com> Ilya Sinelnikov <sidhmangh@gmail.com>
Ilya Tocar <ilya.tocar@intel.com> Ilya Tocar <ilya.tocar@intel.com>
@ -1037,6 +1104,7 @@ Jacob Blain Christen <dweomer5@gmail.com>
Jacob H. Haven <jacob@cloudflare.com> Jacob H. Haven <jacob@cloudflare.com>
Jacob Hoffman-Andrews <github@hoffman-andrews.com> Jacob Hoffman-Andrews <github@hoffman-andrews.com>
Jacob Walker <jacobwalker0814@gmail.com> Jacob Walker <jacobwalker0814@gmail.com>
Jaden Teng <long.asyn@gmail.com>
Jae Kwon <jae@tendermint.com> Jae Kwon <jae@tendermint.com>
Jake B <doogie1012@gmail.com> Jake B <doogie1012@gmail.com>
Jakob Borg <jakob@nym.se> Jakob Borg <jakob@nym.se>
@ -1044,6 +1112,7 @@ Jakob Weisblat <jakobw@mit.edu>
Jakub Čajka <jcajka@redhat.com> Jakub Čajka <jcajka@redhat.com>
Jakub Kaczmarzyk <jakubk@mit.edu> Jakub Kaczmarzyk <jakubk@mit.edu>
Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com> Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>
Jakub Warczarek <jakub.warczarek@gmail.com>
Jamal Carvalho <jamal.a.carvalho@gmail.com> Jamal Carvalho <jamal.a.carvalho@gmail.com>
James Aguilar <jaguilar@google.com> James Aguilar <jaguilar@google.com>
James Bardin <j.bardin@gmail.com> James Bardin <j.bardin@gmail.com>
@ -1056,9 +1125,11 @@ James Eady <jmeady@google.com>
James Fysh <james.fysh@gmail.com> James Fysh <james.fysh@gmail.com>
James Gray <james@james4k.com> James Gray <james@james4k.com>
James Hartig <fastest963@gmail.com> James Hartig <fastest963@gmail.com>
James Kasten <jdkasten@google.com>
James Lawrence <jljatone@gmail.com> James Lawrence <jljatone@gmail.com>
James Meneghello <rawrz0r@gmail.com> James Meneghello <rawrz0r@gmail.com>
James Myers <jfmyers9@gmail.com> James Myers <jfmyers9@gmail.com>
James Naftel <james.naftel@gmail.com>
James Neve <jamesoneve@gmail.com> James Neve <jamesoneve@gmail.com>
James Nugent <james@jen20.com> James Nugent <james@jen20.com>
James P. Cooper <jamespcooper@gmail.com> James P. Cooper <jamespcooper@gmail.com>
@ -1108,6 +1179,7 @@ Javier Kohen <jkohen@google.com>
Javier Revillas <jrevillas@massivedynamic.io> Javier Revillas <jrevillas@massivedynamic.io>
Javier Segura <javism@gmail.com> Javier Segura <javism@gmail.com>
Jay Conrod <jayconrod@google.com> Jay Conrod <jayconrod@google.com>
Jay Lee <BusyJayLee@gmail.com>
Jay Taylor <outtatime@gmail.com> Jay Taylor <outtatime@gmail.com>
Jay Weisskopf <jay@jayschwa.net> Jay Weisskopf <jay@jayschwa.net>
Jean de Klerk <deklerk@google.com> Jean de Klerk <deklerk@google.com>
@ -1140,14 +1212,17 @@ Jeremy Jay <jeremy@pbnjay.com>
Jeremy Schlatter <jeremy.schlatter@gmail.com> Jeremy Schlatter <jeremy.schlatter@gmail.com>
Jeroen Bobbeldijk <jerbob92@gmail.com> Jeroen Bobbeldijk <jerbob92@gmail.com>
Jeroen Simonetti <jeroen@simonetti.nl> Jeroen Simonetti <jeroen@simonetti.nl>
Jérôme Doucet <jerdct@gmail.com>
Jerrin Shaji George <jerrinsg@gmail.com> Jerrin Shaji George <jerrinsg@gmail.com>
Jess Frazelle <me@jessfraz.com> Jess Frazelle <me@jessfraz.com>
Jesse Szwedko <jesse.szwedko@gmail.com> Jesse Szwedko <jesse.szwedko@gmail.com>
Jesús Espino <jespinog@gmail.com> Jesús Espino <jespinog@gmail.com>
Jia Zhan <jzhan@uber.com> Jia Zhan <jzhan@uber.com>
Jiacai Liu <jiacai2050@gmail.com> Jiacai Liu <jiacai2050@gmail.com>
Jiahao Lu <lujjjh@gmail.com>
Jianing Yu <jnyu@google.com> Jianing Yu <jnyu@google.com>
Jianqiao Li <jianqiaoli@google.com> Jianqiao Li <jianqiaoli@google.com>
Jiayu Yi <yijiayu@gmail.com>
Jie Ma <jienius@outlook.com> Jie Ma <jienius@outlook.com>
Jihyun Yu <yjh0502@gmail.com> Jihyun Yu <yjh0502@gmail.com>
Jim Cote <jfcote87@gmail.com> Jim Cote <jfcote87@gmail.com>
@ -1183,6 +1258,7 @@ Joey Geiger <jgeiger@users.noreply.github.com>
Johan Brandhorst <johan.brandhorst@gmail.com> Johan Brandhorst <johan.brandhorst@gmail.com>
Johan Euphrosine <proppy@google.com> Johan Euphrosine <proppy@google.com>
Johan Jansson <johan.jansson@iki.fi> Johan Jansson <johan.jansson@iki.fi>
Johan Knutzen <johan@senri.se>
Johan Sageryd <j@1616.se> Johan Sageryd <j@1616.se>
John Asmuth <jasmuth@gmail.com> John Asmuth <jasmuth@gmail.com>
John Beisley <huin@google.com> John Beisley <huin@google.com>
@ -1210,6 +1286,7 @@ Johnny Luo <johnnyluo1980@gmail.com>
Jon Chen <jchen@justin.tv> Jon Chen <jchen@justin.tv>
Jon Johnson <jonjohnson@google.com> Jon Johnson <jonjohnson@google.com>
Jonas Bernoulli <jonas@bernoul.li> Jonas Bernoulli <jonas@bernoul.li>
Jonathan Albrecht <jonathan.albrecht@ibm.com>
Jonathan Allie <jonallie@google.com> Jonathan Allie <jonallie@google.com>
Jonathan Amsterdam <jba@google.com> Jonathan Amsterdam <jba@google.com>
Jonathan Boulle <jonathanboulle@gmail.com> Jonathan Boulle <jonathanboulle@gmail.com>
@ -1223,6 +1300,7 @@ Jonathan Pentecost <pentecostjonathan@gmail.com>
Jonathan Pittman <jmpittman@google.com> <jonathan.mark.pittman@gmail.com> Jonathan Pittman <jmpittman@google.com> <jonathan.mark.pittman@gmail.com>
Jonathan Rudenberg <jonathan@titanous.com> Jonathan Rudenberg <jonathan@titanous.com>
Jonathan Stacks <jonstacks13@gmail.com> Jonathan Stacks <jonstacks13@gmail.com>
Jonathan Swinney <jswinney@amazon.com>
Jonathan Wills <runningwild@gmail.com> Jonathan Wills <runningwild@gmail.com>
Jonathon Lacher <jonathon.lacher@gmail.com> Jonathon Lacher <jonathon.lacher@gmail.com>
Jongmin Kim <atomaths@gmail.com> Jongmin Kim <atomaths@gmail.com>
@ -1233,6 +1311,7 @@ Jordan Krage <jmank88@gmail.com>
Jordan Lewis <jordanthelewis@gmail.com> Jordan Lewis <jordanthelewis@gmail.com>
Jordan Liggitt <liggitt@google.com> Jordan Liggitt <liggitt@google.com>
Jordan Rhee <jordanrh@microsoft.com> Jordan Rhee <jordanrh@microsoft.com>
Jordan Rupprecht <rupprecht@google.com>
Jordi Martin <jordimartin@gmail.com> Jordi Martin <jordimartin@gmail.com>
Jorge Araya <jorgejavieran@yahoo.com.mx> Jorge Araya <jorgejavieran@yahoo.com.mx>
Jorge L. Fatta <jorge.fatta@auth0.com> Jorge L. Fatta <jorge.fatta@auth0.com>
@ -1276,6 +1355,7 @@ Julien Salleyron <julien.salleyron@gmail.com>
Julien Schmidt <google@julienschmidt.com> Julien Schmidt <google@julienschmidt.com>
Julio Montes <julio.montes@intel.com> Julio Montes <julio.montes@intel.com>
Jun Zhang <jim.zoumo@gmail.com> Jun Zhang <jim.zoumo@gmail.com>
Junchen Li <junchen.li@arm.com>
Junda Liu <junda@celer.network> Junda Liu <junda@celer.network>
Jungho Ahn <jhahn@google.com> Jungho Ahn <jhahn@google.com>
Junya Hayashi <ledmonster@gmail.com> Junya Hayashi <ledmonster@gmail.com>
@ -1287,6 +1367,7 @@ Justin Nuß <nuss.justin@gmail.com>
Justyn Temme <justyntemme@gmail.com> Justyn Temme <justyntemme@gmail.com>
Kai Backman <kaib@golang.org> Kai Backman <kaib@golang.org>
Kai Dong <dokia2357@gmail.com> Kai Dong <dokia2357@gmail.com>
Kai Lüke <kai@kinvolk.io>
Kai Trukenmüller <ktye78@gmail.com> Kai Trukenmüller <ktye78@gmail.com>
Kale Blankenship <kale@lemnisys.com> Kale Blankenship <kale@lemnisys.com>
Kaleb Elwert <kelwert@atlassian.com> Kaleb Elwert <kelwert@atlassian.com>
@ -1314,6 +1395,7 @@ Kazuhiro Sera <seratch@gmail.com>
KB Sriram <kbsriram@google.com> KB Sriram <kbsriram@google.com>
Keegan Carruthers-Smith <keegan.csmith@gmail.com> Keegan Carruthers-Smith <keegan.csmith@gmail.com>
Kei Son <hey.calmdown@gmail.com> Kei Son <hey.calmdown@gmail.com>
Keiichi Hirobe <chalenge.akane@gmail.com>
Keiji Yoshida <keijiyoshida.mail@gmail.com> Keiji Yoshida <keijiyoshida.mail@gmail.com>
Keisuke Kishimoto <keisuke.kishimoto@gmail.com> Keisuke Kishimoto <keisuke.kishimoto@gmail.com>
Keith Ball <inflatablewoman@gmail.com> Keith Ball <inflatablewoman@gmail.com>
@ -1322,6 +1404,7 @@ Keith Rarick <kr@xph.us>
Kelly Heller <pestophagous@gmail.com> Kelly Heller <pestophagous@gmail.com>
Kelsey Hightower <kelsey.hightower@gmail.com> Kelsey Hightower <kelsey.hightower@gmail.com>
Kelvin Foo Chuan Lyi <vmirage@gmail.com> Kelvin Foo Chuan Lyi <vmirage@gmail.com>
Kemal Elmizan <kemalelmizan@gmail.com>
Ken Friedenbach <kenliz@cruzio.com> Ken Friedenbach <kenliz@cruzio.com>
Ken Rockot <ken@oz.gs> <ken.rockot@gmail.com> Ken Rockot <ken@oz.gs> <ken.rockot@gmail.com>
Ken Sedgwick <ken@bonsai.com> Ken Sedgwick <ken@bonsai.com>
@ -1331,6 +1414,7 @@ Kenji Kaneda <kenji.kaneda@gmail.com>
Kenji Yano <kenji.yano@gmail.com> Kenji Yano <kenji.yano@gmail.com>
Kenneth Shaw <kenshaw@gmail.com> Kenneth Shaw <kenshaw@gmail.com>
Kenny Grant <kennygrant@gmail.com> Kenny Grant <kennygrant@gmail.com>
Kensei Nakada <handbomusic@gmail.com>
Kenta Mori <zoncoen@gmail.com> Kenta Mori <zoncoen@gmail.com>
Kerollos Magdy <kerolloz@yahoo.com> Kerollos Magdy <kerolloz@yahoo.com>
Ketan Parmar <ketanbparmar@gmail.com> Ketan Parmar <ketanbparmar@gmail.com>
@ -1342,10 +1426,12 @@ Kevin Gillette <extemporalgenome@gmail.com>
Kevin Kirsche <kev.kirsche@gmail.com> Kevin Kirsche <kev.kirsche@gmail.com>
Kevin Klues <klueska@gmail.com> <klueska@google.com> Kevin Klues <klueska@gmail.com> <klueska@google.com>
Kevin Malachowski <chowski@google.com> Kevin Malachowski <chowski@google.com>
Kevin Parsons <kevpar@microsoft.com>
Kevin Ruffin <kruffin@gmail.com> Kevin Ruffin <kruffin@gmail.com>
Kevin Vu <kevin.m.vu@gmail.com> Kevin Vu <kevin.m.vu@gmail.com>
Kevin Zita <bleedgreenandgold@gmail.com> Kevin Zita <bleedgreenandgold@gmail.com>
Keyan Pishdadian <kpishdadian@gmail.com> Keyan Pishdadian <kpishdadian@gmail.com>
Keyuan Li <keyuanli123@gmail.com>
Kezhu Wang <kezhuw@gmail.com> Kezhu Wang <kezhuw@gmail.com>
Khosrow Moossavi <khos2ow@gmail.com> Khosrow Moossavi <khos2ow@gmail.com>
Kieran Colford <kieran@kcolford.com> Kieran Colford <kieran@kcolford.com>
@ -1358,6 +1444,7 @@ Kirill Smelkov <kirr@nexedi.com>
Kirill Tatchihin <kirabsuir@gmail.com> Kirill Tatchihin <kirabsuir@gmail.com>
Kirk Han <kirk91.han@gmail.com> Kirk Han <kirk91.han@gmail.com>
Kirklin McDonald <kirklin.mcdonald@gmail.com> Kirklin McDonald <kirklin.mcdonald@gmail.com>
KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
Klaus Post <klauspost@gmail.com> Klaus Post <klauspost@gmail.com>
Kodie Goodwin <kodiegoodwin@gmail.com> Kodie Goodwin <kodiegoodwin@gmail.com>
Koichi Shiraishi <zchee.io@gmail.com> Koichi Shiraishi <zchee.io@gmail.com>
@ -1371,6 +1458,7 @@ Kris Kwiatkowski <kris@cloudflare.com>
Kris Nova <kris@nivenly.com> Kris Nova <kris@nivenly.com>
Kris Rousey <krousey@google.com> Kris Rousey <krousey@google.com>
Kristopher Watts <traetox@gmail.com> Kristopher Watts <traetox@gmail.com>
Krzysztof Dąbrowski <krzysdabro@live.com>
Kshitij Saraogi <kshitijsaraogi@gmail.com> Kshitij Saraogi <kshitijsaraogi@gmail.com>
Kun Li <likunarmstrong@gmail.com> Kun Li <likunarmstrong@gmail.com>
Kunpei Sakai <namusyaka@gmail.com> Kunpei Sakai <namusyaka@gmail.com>
@ -1412,8 +1500,10 @@ Leonardo Comelli <leonardo.comelli@gmail.com>
Leonel Quinteros <leonel.quinteros@gmail.com> Leonel Quinteros <leonel.quinteros@gmail.com>
Lev Shamardin <shamardin@gmail.com> Lev Shamardin <shamardin@gmail.com>
Lewin Bormann <lewin.bormann@gmail.com> Lewin Bormann <lewin.bormann@gmail.com>
Lewis Waddicor <nemesismk2@gmail.com>
Liam Haworth <liam@haworth.id.au> Liam Haworth <liam@haworth.id.au>
Lily Chung <lilithkchung@gmail.com> Lily Chung <lilithkchung@gmail.com>
Lingchao Xin <douglarek@gmail.com>
Lion Yang <lion@aosc.xyz> Lion Yang <lion@aosc.xyz>
Liz Rice <liz@lizrice.com> Liz Rice <liz@lizrice.com>
Lloyd Dewolf <foolswisdom@gmail.com> Lloyd Dewolf <foolswisdom@gmail.com>
@ -1427,6 +1517,7 @@ Luan Santos <cfcluan@gmail.com>
Lubomir I. Ivanov <neolit123@gmail.com> Lubomir I. Ivanov <neolit123@gmail.com>
Luca Bruno <luca.bruno@coreos.com> Luca Bruno <luca.bruno@coreos.com>
Luca Greco <luca.greco@alcacoop.it> Luca Greco <luca.greco@alcacoop.it>
Luca Spiller <luca@stackednotion.com>
Lucas Bremgartner <lucas.bremgartner@gmail.com> Lucas Bremgartner <lucas.bremgartner@gmail.com>
Lucas Clemente <lclemente@google.com> Lucas Clemente <lclemente@google.com>
Lucien Stuker <lucien.stuker@gmail.com> Lucien Stuker <lucien.stuker@gmail.com>
@ -1450,6 +1541,8 @@ Maarten Bezemer <maarten.bezemer@gmail.com>
Maciej Dębski <maciejd@google.com> Maciej Dębski <maciejd@google.com>
Madhu Rajanna <madhupr007@gmail.com> Madhu Rajanna <madhupr007@gmail.com>
Magnus Hiie <magnus.hiie@gmail.com> Magnus Hiie <magnus.hiie@gmail.com>
Mahdi Hosseini Moghaddam <seyed.mahdi.hosseini.moghaddam@ibm.com>
Maia Lee <maia.lee@leftfieldlabs.com>
Maicon Costa <maiconscosta@gmail.com> Maicon Costa <maiconscosta@gmail.com>
Mak Kolybabi <mak@kolybabi.com> Mak Kolybabi <mak@kolybabi.com>
Maksym Trykur <maksym.trykur@gmail.com> Maksym Trykur <maksym.trykur@gmail.com>
@ -1470,6 +1563,7 @@ Marcel Edmund Franke <marcel.edmund.franke@gmail.com>
Marcel van Lohuizen <mpvl@golang.org> Marcel van Lohuizen <mpvl@golang.org>
Marcelo Cantos <marcelo.cantos@gmail.com> Marcelo Cantos <marcelo.cantos@gmail.com>
Marcelo E. Magallon <marcelo.magallon@gmail.com> Marcelo E. Magallon <marcelo.magallon@gmail.com>
Marco Gazerro <gazerro@open2b.com>
Marco Hennings <marco.hennings@freiheit.com> Marco Hennings <marco.hennings@freiheit.com>
Marcus Weiner <marcus.weiner@gmail.com> Marcus Weiner <marcus.weiner@gmail.com>
Marcus Willock <crazcalm@gmail.com> Marcus Willock <crazcalm@gmail.com>
@ -1481,6 +1575,7 @@ Marius A. Eriksen <marius@grailbio.com>
Marius Nuennerich <mnu@google.com> Marius Nuennerich <mnu@google.com>
Mark Adams <mark@markadams.me> Mark Adams <mark@markadams.me>
Mark Bucciarelli <mkbucc@gmail.com> Mark Bucciarelli <mkbucc@gmail.com>
Mark Dain <mark@markdain.net>
Mark Glines <mark@glines.org> Mark Glines <mark@glines.org>
Mark Harrison <marhar@google.com> Mark Harrison <marhar@google.com>
Mark Percival <m@mdp.im> Mark Percival <m@mdp.im>
@ -1533,6 +1628,7 @@ Máté Gulyás <mgulyas86@gmail.com>
Matej Baćo <matejbaco@gmail.com> Matej Baćo <matejbaco@gmail.com>
Mateus Amin <mateus.amin@gmail.com> Mateus Amin <mateus.amin@gmail.com>
Mateusz Czapliński <czapkofan@gmail.com> Mateusz Czapliński <czapkofan@gmail.com>
Matheus Alcantara <matheusssilv97@gmail.com>
Mathias Beke <git@denbeke.be> Mathias Beke <git@denbeke.be>
Mathias Hall-Andersen <mathias@hall-andersen.dk> Mathias Hall-Andersen <mathias@hall-andersen.dk>
Mathias Leppich <mleppich@muhqu.de> Mathias Leppich <mleppich@muhqu.de>
@ -1566,6 +1662,7 @@ Matthew Waters <mwwaters@gmail.com>
Matthieu Hauglustaine <matt.hauglustaine@gmail.com> Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
Matthieu Olivier <olivier.matthieu@gmail.com> Matthieu Olivier <olivier.matthieu@gmail.com>
Matthijs Kooijman <matthijs@stdin.nl> Matthijs Kooijman <matthijs@stdin.nl>
Max Drosdo.www <g1ran1q@gmail.com>
Max Riveiro <kavu13@gmail.com> Max Riveiro <kavu13@gmail.com>
Max Schmitt <max@schmitt.mx> Max Schmitt <max@schmitt.mx>
Max Semenik <maxsem.wiki@gmail.com> Max Semenik <maxsem.wiki@gmail.com>
@ -1603,6 +1700,7 @@ Michael Hudson-Doyle <michael.hudson@linaro.org>
Michael Kasch <michael.kasch@gmail.com> Michael Kasch <michael.kasch@gmail.com>
Michael Käufl <golang@c.michael-kaeufl.de> Michael Käufl <golang@c.michael-kaeufl.de>
Michael Kelly <mjk@google.com> Michael Kelly <mjk@google.com>
Michaël Lévesque-Dion <mlevesquedion@google.com>
Michael Lewis <mikelikespie@gmail.com> Michael Lewis <mikelikespie@gmail.com>
Michael MacInnis <Michael.P.MacInnis@gmail.com> Michael MacInnis <Michael.P.MacInnis@gmail.com>
Michael Marineau <michael.marineau@coreos.com> Michael Marineau <michael.marineau@coreos.com>
@ -1624,6 +1722,7 @@ Michael Teichgräber <mteichgraeber@gmx.de> <mt4swm@googlemail.com>
Michael Traver <mtraver@google.com> Michael Traver <mtraver@google.com>
Michael Vetter <g.bluehut@gmail.com> Michael Vetter <g.bluehut@gmail.com>
Michael Vogt <mvo@ubuntu.com> Michael Vogt <mvo@ubuntu.com>
Michail Kargakis <mkargaki@redhat.com>
Michal Bohuslávek <mbohuslavek@gmail.com> Michal Bohuslávek <mbohuslavek@gmail.com>
Michal Cierniak <cierniak@google.com> Michal Cierniak <cierniak@google.com>
Michał Derkacz <ziutek@lnet.pl> Michał Derkacz <ziutek@lnet.pl>
@ -1633,6 +1732,7 @@ Michal Pristas <michal.pristas@gmail.com>
Michal Rostecki <mrostecki@suse.de> Michal Rostecki <mrostecki@suse.de>
Michalis Kargakis <michaliskargakis@gmail.com> Michalis Kargakis <michaliskargakis@gmail.com>
Michel Lespinasse <walken@google.com> Michel Lespinasse <walken@google.com>
Michele Di Pede <michele.di.pede@gmail.com>
Mickael Kerjean <mickael.kerjean@gmail.com> Mickael Kerjean <mickael.kerjean@gmail.com>
Mickey Reiss <mickeyreiss@gmail.com> Mickey Reiss <mickeyreiss@gmail.com>
Miek Gieben <miek@miek.nl> <remigius.gieben@gmail.com> Miek Gieben <miek@miek.nl> <remigius.gieben@gmail.com>
@ -1670,6 +1770,7 @@ Miquel Sabaté Solà <mikisabate@gmail.com>
Mirko Hansen <baaazen@gmail.com> Mirko Hansen <baaazen@gmail.com>
Miroslav Genov <mgenov@gmail.com> Miroslav Genov <mgenov@gmail.com>
Misty De Meo <mistydemeo@gmail.com> Misty De Meo <mistydemeo@gmail.com>
Mohamed Attahri <mohamed@attahri.com>
Mohit Agarwal <mohit@sdf.org> Mohit Agarwal <mohit@sdf.org>
Mohit kumar Bajoria <mohitbajo36@gmail.com> Mohit kumar Bajoria <mohitbajo36@gmail.com>
Mohit Verma <vmohit.93@gmail.com> Mohit Verma <vmohit.93@gmail.com>
@ -1683,6 +1784,7 @@ Môshe van der Sterre <moshevds@gmail.com>
Mostyn Bramley-Moore <mostyn@antipode.se> Mostyn Bramley-Moore <mostyn@antipode.se>
Mrunal Patel <mrunalp@gmail.com> Mrunal Patel <mrunalp@gmail.com>
Muhammad Falak R Wani <falakreyaz@gmail.com> Muhammad Falak R Wani <falakreyaz@gmail.com>
Muhammad Hamza Farrukh <hamzafarrukh141@gmail.com>
Muhammed Uluyol <uluyol0@gmail.com> Muhammed Uluyol <uluyol0@gmail.com>
Muir Manders <muir@mnd.rs> Muir Manders <muir@mnd.rs>
Mukesh Sharma <sharma.mukesh439@gmail.com> Mukesh Sharma <sharma.mukesh439@gmail.com>
@ -1692,6 +1794,7 @@ Naman Aggarwal <aggarwal.nam@gmail.com>
Nan Deng <monnand@gmail.com> Nan Deng <monnand@gmail.com>
Nao Yonashiro <owan.orisano@gmail.com> Nao Yonashiro <owan.orisano@gmail.com>
Naoki Kanatani <k12naoki@gmail.com> Naoki Kanatani <k12naoki@gmail.com>
Natanael Copa <ncopa@mirantis.com>
Nate Wilkinson <nathanwilk7@gmail.com> Nate Wilkinson <nathanwilk7@gmail.com>
Nathan Cantelmo <n.cantelmo@gmail.com> Nathan Cantelmo <n.cantelmo@gmail.com>
Nathan Caza <mastercactapus@gmail.com> Nathan Caza <mastercactapus@gmail.com>
@ -1708,6 +1811,7 @@ Nathaniel Cook <nvcook42@gmail.com>
Naveen Kumar Sangi <naveenkumarsangi@protonmail.com> Naveen Kumar Sangi <naveenkumarsangi@protonmail.com>
Neeilan Selvalingam <neeilan96@gmail.com> Neeilan Selvalingam <neeilan96@gmail.com>
Neelesh Chandola <neelesh.c98@gmail.com> Neelesh Chandola <neelesh.c98@gmail.com>
Nehal J Wani <nehaljw.kkd1@gmail.com>
Neil Lyons <nwjlyons@googlemail.com> Neil Lyons <nwjlyons@googlemail.com>
Neuman Vong <neuman.vong@gmail.com> Neuman Vong <neuman.vong@gmail.com>
Neven Sajko <nsajko@gmail.com> Neven Sajko <nsajko@gmail.com>
@ -1760,6 +1864,7 @@ Noel Georgi <git@frezbo.com>
Norberto Lopes <nlopes.ml@gmail.com> Norberto Lopes <nlopes.ml@gmail.com>
Norman B. Lancaster <qbradq@gmail.com> Norman B. Lancaster <qbradq@gmail.com>
Nuno Cruces <ncruces@users.noreply.github.com> Nuno Cruces <ncruces@users.noreply.github.com>
Obei Sideg <obei.sideg@gmail.com>
Obeyda Djeffal <djefobey@gmail.com> Obeyda Djeffal <djefobey@gmail.com>
Odin Ugedal <odin@ugedal.com> Odin Ugedal <odin@ugedal.com>
Oleg Bulatov <dmage@yandex-team.ru> Oleg Bulatov <dmage@yandex-team.ru>
@ -1769,12 +1874,17 @@ Oling Cat <olingcat@gmail.com>
Oliver Hookins <ohookins@gmail.com> Oliver Hookins <ohookins@gmail.com>
Oliver Powell <oliverpowell84@gmail.com> Oliver Powell <oliverpowell84@gmail.com>
Oliver Stenbom <ostenbom@pivotal.io> Oliver Stenbom <ostenbom@pivotal.io>
Oliver Tan <otan@cockroachlabs.com>
Oliver Tonnhofer <olt@bogosoft.com> Oliver Tonnhofer <olt@bogosoft.com>
Olivier Antoine <olivier.antoine@gmail.com> Olivier Antoine <olivier.antoine@gmail.com>
Olivier Duperray <duperray.olivier@gmail.com> Olivier Duperray <duperray.olivier@gmail.com>
Olivier Poitrey <rs@dailymotion.com> Olivier Poitrey <rs@dailymotion.com>
Olivier Saingre <osaingre@gmail.com> Olivier Saingre <osaingre@gmail.com>
Olivier Wulveryck <olivier.wulveryck@gmail.com>
Omar Jarjur <ojarjur@google.com> Omar Jarjur <ojarjur@google.com>
Onkar Jadhav <omjadhav2610@gmail.com>
Ori Bernstein <ori@eigenstate.org>
Ori Rawlings <orirawlings@gmail.com>
Oryan Moshe <iamoryanmoshe@gmail.com> Oryan Moshe <iamoryanmoshe@gmail.com>
Osamu TONOMORI <osamingo@gmail.com> Osamu TONOMORI <osamingo@gmail.com>
Özgür Kesim <oec-go@kesim.org> Özgür Kesim <oec-go@kesim.org>
@ -1798,7 +1908,9 @@ Pat Moroney <pat@pat.email>
Patrick Barker <barkerp@vmware.com> Patrick Barker <barkerp@vmware.com>
Patrick Crosby <patrick@stathat.com> Patrick Crosby <patrick@stathat.com>
Patrick Gavlin <pgavlin@gmail.com> Patrick Gavlin <pgavlin@gmail.com>
Patrick Gundlach <gundlach@speedata.de>
Patrick Higgins <patrick.allen.higgins@gmail.com> Patrick Higgins <patrick.allen.higgins@gmail.com>
Patrick Jones <ithuriel@google.com>
Patrick Lee <pattyshack101@gmail.com> Patrick Lee <pattyshack101@gmail.com>
Patrick Mézard <patrick@mezard.eu> Patrick Mézard <patrick@mezard.eu>
Patrick Mylund Nielsen <patrick@patrickmn.com> Patrick Mylund Nielsen <patrick@patrickmn.com>
@ -1811,6 +1923,9 @@ Paul Borman <borman@google.com>
Paul Boyd <boyd.paul2@gmail.com> Paul Boyd <boyd.paul2@gmail.com>
Paul Chang <paulchang@google.com> Paul Chang <paulchang@google.com>
Paul D. Weber <x0bdev@gmail.com> Paul D. Weber <x0bdev@gmail.com>
Paul Davis <43160081+Pawls@users.noreply.github.com>
Paul E. Murphy <murp@ibm.com>
Paul Forgey <paulf@tessier-ashpool.net>
Paul Hammond <paul@paulhammond.org> Paul Hammond <paul@paulhammond.org>
Paul Hankin <paulhankin@google.com> Paul Hankin <paulhankin@google.com>
Paul Jolly <paul@myitcv.org.uk> Paul Jolly <paul@myitcv.org.uk>
@ -1836,7 +1951,9 @@ Pavel Zinovkin <pavel.zinovkin@gmail.com>
Pavlo Sumkin <ymkins@gmail.com> Pavlo Sumkin <ymkins@gmail.com>
Pawel Knap <pawelknap88@gmail.com> Pawel Knap <pawelknap88@gmail.com>
Pawel Szczur <filemon@google.com> Pawel Szczur <filemon@google.com>
Paweł Szulik <pawel.szulik@intel.com>
Pei Xian Chee <luciolas1991@gmail.com> Pei Xian Chee <luciolas1991@gmail.com>
Pei-Ming Wu <p408865@gmail.com>
Percy Wegmann <ox.to.a.cart@gmail.com> Percy Wegmann <ox.to.a.cart@gmail.com>
Perry Abbott <perry.j.abbott@gmail.com> Perry Abbott <perry.j.abbott@gmail.com>
Petar Dambovaliev <petar.atanasov.1987@gmail.com> Petar Dambovaliev <petar.atanasov.1987@gmail.com>
@ -1876,6 +1993,7 @@ Philip Hofer <phofer@umich.edu>
Philip K. Warren <pkwarren@gmail.com> Philip K. Warren <pkwarren@gmail.com>
Philip Nelson <me@pnelson.ca> Philip Nelson <me@pnelson.ca>
Philipp Stephani <phst@google.com> Philipp Stephani <phst@google.com>
Phillip Campbell <15082+phillc@users.noreply.github.com>
Pierre Carru <pierre.carru@eshard.com> Pierre Carru <pierre.carru@eshard.com>
Pierre Durand <pierredurand@gmail.com> Pierre Durand <pierredurand@gmail.com>
Pierre Prinetti <pierreprinetti@gmail.com> Pierre Prinetti <pierreprinetti@gmail.com>
@ -1885,6 +2003,7 @@ Pieter Droogendijk <pieter@binky.org.uk>
Pietro Gagliardi <pietro10@mac.com> Pietro Gagliardi <pietro10@mac.com>
Piyush Mishra <piyush@codeitout.com> Piyush Mishra <piyush@codeitout.com>
Plekhanov Maxim <kishtatix@gmail.com> Plekhanov Maxim <kishtatix@gmail.com>
Poh Zi How <poh.zihow@gmail.com>
Polina Osadcha <polliosa@google.com> Polina Osadcha <polliosa@google.com>
Pontus Leitzler <leitzler@gmail.com> Pontus Leitzler <leitzler@gmail.com>
Povilas Versockas <p.versockas@gmail.com> Povilas Versockas <p.versockas@gmail.com>
@ -1904,14 +2023,17 @@ Quentin Perez <qperez@ocs.online.net>
Quentin Renard <contact@asticode.com> Quentin Renard <contact@asticode.com>
Quentin Smith <quentin@golang.org> Quentin Smith <quentin@golang.org>
Quey-Liang Kao <s101062801@m101.nthu.edu.tw> Quey-Liang Kao <s101062801@m101.nthu.edu.tw>
Quim Muntal <quimmuntal@gmail.com>
Quinn Slack <sqs@sourcegraph.com> Quinn Slack <sqs@sourcegraph.com>
Quinten Yearsley <qyearsley@chromium.org> Quinten Yearsley <qyearsley@chromium.org>
Quoc-Viet Nguyen <afelion@gmail.com> Quoc-Viet Nguyen <afelion@gmail.com>
Radek Simko <radek.simko@gmail.com>
Radek Sohlich <sohlich@gmail.com> Radek Sohlich <sohlich@gmail.com>
Radu Berinde <radu@cockroachlabs.com> Radu Berinde <radu@cockroachlabs.com>
Rafal Jeczalik <rjeczalik@gmail.com> Rafal Jeczalik <rjeczalik@gmail.com>
Raghavendra Nagaraj <jamdagni86@gmail.com> Raghavendra Nagaraj <jamdagni86@gmail.com>
Rahul Chaudhry <rahulchaudhry@chromium.org> Rahul Chaudhry <rahulchaudhry@chromium.org>
Rahul Wadhwani <rahulwadhwani21@gmail.com>
Raif S. Naffah <go@naffah-raif.name> Raif S. Naffah <go@naffah-raif.name>
Rajat Goel <rajat.goel2010@gmail.com> Rajat Goel <rajat.goel2010@gmail.com>
Rajath Agasthya <rajathagasthya@gmail.com> Rajath Agasthya <rajathagasthya@gmail.com>
@ -1935,6 +2057,7 @@ Ren Ogaki <re.yuz77777@gmail.com>
Rens Rikkerink <Ikkerens@users.noreply.github.com> Rens Rikkerink <Ikkerens@users.noreply.github.com>
Rhys Hiltner <rhys@justin.tv> Rhys Hiltner <rhys@justin.tv>
Ricardo Padilha <ricardospadilha@gmail.com> Ricardo Padilha <ricardospadilha@gmail.com>
Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>
Ricardo Seriani <ricardo.seriani@gmail.com> Ricardo Seriani <ricardo.seriani@gmail.com>
Richard Barnes <rlb@ipv.sx> Richard Barnes <rlb@ipv.sx>
Richard Crowley <r@rcrowley.org> Richard Crowley <r@rcrowley.org>
@ -1991,6 +2114,7 @@ Roman Kollár <roman.kollar.0@gmail.com>
Roman Shchekin <mrqtros@gmail.com> Roman Shchekin <mrqtros@gmail.com>
Ron Hashimoto <mail@h2so5.net> Ron Hashimoto <mail@h2so5.net>
Ron Minnich <rminnich@gmail.com> Ron Minnich <rminnich@gmail.com>
Ronnie Ebrin <ebrin.ronnie@protonmail.com>
Ross Chater <rdchater@gmail.com> Ross Chater <rdchater@gmail.com>
Ross Kinsey <rossikinsey@gmail.com> Ross Kinsey <rossikinsey@gmail.com>
Ross Light <light@google.com> <rlight2@gmail.com> Ross Light <light@google.com> <rlight2@gmail.com>
@ -2010,6 +2134,7 @@ Ryan Brown <ribrdb@google.com>
Ryan Canty <jrcanty@gmail.com> Ryan Canty <jrcanty@gmail.com>
Ryan Dahl <ry@tinyclouds.org> Ryan Dahl <ry@tinyclouds.org>
Ryan Hitchman <hitchmanr@gmail.com> Ryan Hitchman <hitchmanr@gmail.com>
Ryan Kohler <ryankohler@google.com>
Ryan Lower <rpjlower@gmail.com> Ryan Lower <rpjlower@gmail.com>
Ryan Roden-Corrent <ryan@rcorre.net> Ryan Roden-Corrent <ryan@rcorre.net>
Ryan Seys <ryan@ryanseys.com> Ryan Seys <ryan@ryanseys.com>
@ -2023,7 +2148,9 @@ S.Çağlar Onur <caglar@10ur.org>
Sabin Mihai Rapan <sabin.rapan@gmail.com> Sabin Mihai Rapan <sabin.rapan@gmail.com>
Sad Pencil <qh06@qq.com> Sad Pencil <qh06@qq.com>
Sai Cheemalapati <saicheems@google.com> Sai Cheemalapati <saicheems@google.com>
Sai Kiran Dasika <kirandasika30@gmail.com>
Sakeven Jiang <jc5930@sina.cn> Sakeven Jiang <jc5930@sina.cn>
Salaheddin M. Mahmud <salah.mahmud@gmail.com>
Salmān Aljammāz <s@0x65.net> Salmān Aljammāz <s@0x65.net>
Sam Arnold <sarnold64@bloomberg.net> Sam Arnold <sarnold64@bloomberg.net>
Sam Boyer <tech@samboyer.org> Sam Boyer <tech@samboyer.org>
@ -2033,6 +2160,7 @@ Sam Ding <samding@ca.ibm.com>
Sam Hug <samuel.b.hug@gmail.com> Sam Hug <samuel.b.hug@gmail.com>
Sam Thorogood <thorogood@google.com> <sam.thorogood@gmail.com> Sam Thorogood <thorogood@google.com> <sam.thorogood@gmail.com>
Sam Whited <sam@samwhited.com> Sam Whited <sam@samwhited.com>
Sam Xie <xsambundy@gmail.com>
Sameer Ajmani <sameer@golang.org> <ajmani@gmail.com> Sameer Ajmani <sameer@golang.org> <ajmani@gmail.com>
Sami Commerot <samic@google.com> Sami Commerot <samic@google.com>
Sami Pönkänen <sami.ponkanen@gmail.com> Sami Pönkänen <sami.ponkanen@gmail.com>
@ -2042,6 +2170,7 @@ Samuele Pedroni <pedronis@lucediurna.net>
Sander van Harmelen <sander@vanharmelen.nl> Sander van Harmelen <sander@vanharmelen.nl>
Sanjay Menakuru <balasanjay@gmail.com> Sanjay Menakuru <balasanjay@gmail.com>
Santhosh Kumar Tekuri <santhosh.tekuri@gmail.com> Santhosh Kumar Tekuri <santhosh.tekuri@gmail.com>
Santiago De la Cruz <51337247+xhit@users.noreply.github.com>
Sarah Adams <shadams@google.com> Sarah Adams <shadams@google.com>
Sardorbek Pulatov <sardorbek.pulatov@outlook.com> Sardorbek Pulatov <sardorbek.pulatov@outlook.com>
Sascha Brawer <sascha@brawer.ch> Sascha Brawer <sascha@brawer.ch>
@ -2062,6 +2191,7 @@ Sean Chittenden <seanc@joyent.com>
Sean Christopherson <sean.j.christopherson@intel.com> Sean Christopherson <sean.j.christopherson@intel.com>
Sean Dolphin <Sean.Dolphin@kpcompass.com> Sean Dolphin <Sean.Dolphin@kpcompass.com>
Sean Harger <sharger@google.com> Sean Harger <sharger@google.com>
Sean Hildebrand <seanwhildebrand@gmail.com>
Sean Liao <seankhliao@gmail.com> Sean Liao <seankhliao@gmail.com>
Sean Rees <sean@erifax.org> Sean Rees <sean@erifax.org>
Sebastiaan van Stijn <github@gone.nl> Sebastiaan van Stijn <github@gone.nl>
@ -2094,10 +2224,12 @@ Serhii Aheienko <serhii.aheienko@gmail.com>
Seth Hoenig <seth.a.hoenig@gmail.com> Seth Hoenig <seth.a.hoenig@gmail.com>
Seth Vargo <sethvargo@gmail.com> Seth Vargo <sethvargo@gmail.com>
Shahar Kohanim <skohanim@gmail.com> Shahar Kohanim <skohanim@gmail.com>
Shailesh Suryawanshi <ss.shailesh28@gmail.com>
Shamil Garatuev <garatuev@gmail.com> Shamil Garatuev <garatuev@gmail.com>
Shane Hansen <shanemhansen@gmail.com> Shane Hansen <shanemhansen@gmail.com>
Shang Jian Ding <sding3@ncsu.edu> Shang Jian Ding <sding3@ncsu.edu>
Shaozhen Ding <dsz0111@gmail.com> Shaozhen Ding <dsz0111@gmail.com>
Shaquille Que <shaquille@golang.org>
Shaquille Wyan Que <shaqqywyan@gmail.com> Shaquille Wyan Que <shaqqywyan@gmail.com>
Shaun Dunning <shaun.dunning@uservoice.com> Shaun Dunning <shaun.dunning@uservoice.com>
Shawn Elliott <selliott@microsoft.com> Shawn Elliott <selliott@microsoft.com>
@ -2108,8 +2240,11 @@ Shenghou Ma <minux@golang.org> <minux.ma@gmail.com>
Shengjing Zhu <zsj950618@gmail.com> Shengjing Zhu <zsj950618@gmail.com>
Shengyu Zhang <shengyu.zhang@chaitin.com> Shengyu Zhang <shengyu.zhang@chaitin.com>
Shi Han Ng <shihanng@gmail.com> Shi Han Ng <shihanng@gmail.com>
ShihCheng Tu <mrtoastcheng@gmail.com>
Shijie Hao <haormj@gmail.com> Shijie Hao <haormj@gmail.com>
Shin Fan <shinfan@google.com>
Shinji Tanaka <shinji.tanaka@gmail.com> Shinji Tanaka <shinji.tanaka@gmail.com>
Shinnosuke Sawada <6warashi9@gmail.com>
Shintaro Kaneko <kaneshin0120@gmail.com> Shintaro Kaneko <kaneshin0120@gmail.com>
Shivakumar GN <shivakumar.gn@gmail.com> Shivakumar GN <shivakumar.gn@gmail.com>
Shivani Singhal <shivani.singhal2804@gmail.com> Shivani Singhal <shivani.singhal2804@gmail.com>
@ -2121,17 +2256,21 @@ Silvan Jegen <s.jegen@gmail.com>
Simarpreet Singh <simar@linux.com> Simarpreet Singh <simar@linux.com>
Simon Drake <simondrake1990@gmail.com> Simon Drake <simondrake1990@gmail.com>
Simon Ferquel <simon.ferquel@docker.com> Simon Ferquel <simon.ferquel@docker.com>
Simon Frei <freisim93@gmail.com>
Simon Jefford <simon.jefford@gmail.com> Simon Jefford <simon.jefford@gmail.com>
Simon Rawet <simon@rawet.se> Simon Rawet <simon@rawet.se>
Simon Rozman <simon@rozman.si> Simon Rozman <simon@rozman.si>
Simon Ser <contact@emersion.fr>
Simon Thulbourn <simon+github@thulbourn.com> Simon Thulbourn <simon+github@thulbourn.com>
Simon Whitehead <chemnova@gmail.com> Simon Whitehead <chemnova@gmail.com>
Sina Siadat <siadat@gmail.com> Sina Siadat <siadat@gmail.com>
Sjoerd Siebinga <sjoerd.siebinga@gmail.com> Sjoerd Siebinga <sjoerd.siebinga@gmail.com>
Sokolov Yura <funny.falcon@gmail.com> Sokolov Yura <funny.falcon@gmail.com>
Song Gao <song@gao.io> Song Gao <song@gao.io>
Songjiayang <songjiayang1@gmail.com>
Soojin Nam <jsunam@gmail.com> Soojin Nam <jsunam@gmail.com>
Søren L. Hansen <soren@linux2go.dk> Søren L. Hansen <soren@linux2go.dk>
Sparrow Li <liyuancylx@gmail.com>
Spencer Kocot <spencerkocot@gmail.com> Spencer Kocot <spencerkocot@gmail.com>
Spencer Nelson <s@spenczar.com> Spencer Nelson <s@spenczar.com>
Spencer Tung <spencertung@google.com> Spencer Tung <spencertung@google.com>
@ -2140,12 +2279,14 @@ Srdjan Petrovic <spetrovic@google.com>
Sridhar Venkatakrishnan <sridhar@laddoo.net> Sridhar Venkatakrishnan <sridhar@laddoo.net>
Srinidhi Kaushik <shrinidhi.kaushik@gmail.com> Srinidhi Kaushik <shrinidhi.kaushik@gmail.com>
StalkR <stalkr@stalkr.net> StalkR <stalkr@stalkr.net>
Stan Hu <stanhu@gmail.com>
Stan Schwertly <stan@schwertly.com> Stan Schwertly <stan@schwertly.com>
Stanislav Afanasev <php.progger@gmail.com> Stanislav Afanasev <php.progger@gmail.com>
Steeve Morin <steeve.morin@gmail.com> Steeve Morin <steeve.morin@gmail.com>
Stefan Baebler <sbaebler@outbrain.com> Stefan Baebler <sbaebler@outbrain.com>
Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com> Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
Stepan Shabalin <neverliberty@gmail.com> Stepan Shabalin <neverliberty@gmail.com>
Stephan Klatt <stephan.klatt@gmail.com>
Stephan Renatus <srenatus@chef.io> Stephan Renatus <srenatus@chef.io>
Stephan Zuercher <zuercher@gmail.com> Stephan Zuercher <zuercher@gmail.com>
Stéphane Travostino <stephane.travostino@gmail.com> Stéphane Travostino <stephane.travostino@gmail.com>
@ -2163,13 +2304,16 @@ Steve Mynott <steve.mynott@gmail.com>
Steve Newman <snewman@google.com> Steve Newman <snewman@google.com>
Steve Phillips <elimisteve@gmail.com> Steve Phillips <elimisteve@gmail.com>
Steve Streeting <steve@stevestreeting.com> Steve Streeting <steve@stevestreeting.com>
Steve Traut <straut@google.com>
Steven Buss <sbuss@google.com> Steven Buss <sbuss@google.com>
Steven Elliot Harris <seharris@gmail.com> Steven Elliot Harris <seharris@gmail.com>
Steven Erenst <stevenerenst@gmail.com> Steven Erenst <stevenerenst@gmail.com>
Steven Hartland <steven.hartland@multiplay.co.uk> Steven Hartland <steven.hartland@multiplay.co.uk>
Steven Littiebrant <imgroxx@gmail.com> Steven Littiebrant <imgroxx@gmail.com>
Steven Maude <git@stevenmaude.co.uk>
Steven Wilkin <stevenwilkin@gmail.com> Steven Wilkin <stevenwilkin@gmail.com>
Stuart Jansen <sjansen@buscaluz.org> Stuart Jansen <sjansen@buscaluz.org>
Subham Sarkar <sarkar.subhams2@gmail.com>
Sue Spence <virtuallysue@gmail.com> Sue Spence <virtuallysue@gmail.com>
Sugu Sougoumarane <ssougou@gmail.com> Sugu Sougoumarane <ssougou@gmail.com>
Suharsh Sivakumar <suharshs@google.com> Suharsh Sivakumar <suharshs@google.com>
@ -2193,6 +2337,7 @@ Taesu Pyo <pyotaesu@gmail.com>
Tai Le <letientai299@gmail.com> Tai Le <letientai299@gmail.com>
Taj Khattra <taj.khattra@gmail.com> Taj Khattra <taj.khattra@gmail.com>
Takashi Matsuo <tmatsuo@google.com> Takashi Matsuo <tmatsuo@google.com>
Takashi Mima <tks.m1205@gmail.com>
Takayoshi Nishida <takayoshi.nishida@gmail.com> Takayoshi Nishida <takayoshi.nishida@gmail.com>
Takeshi YAMANASHI <9.nashi@gmail.com> Takeshi YAMANASHI <9.nashi@gmail.com>
Takuto Ikuta <tikuta@google.com> Takuto Ikuta <tikuta@google.com>
@ -2221,6 +2366,7 @@ Thanatat Tamtan <acoshift@gmail.com>
The Hatsune Daishi <nao20010128@gmail.com> The Hatsune Daishi <nao20010128@gmail.com>
Thiago Avelino <t@avelino.xxx> Thiago Avelino <t@avelino.xxx>
Thiago Fransosi Farina <thiago.farina@gmail.com> <tfarina@chromium.org> Thiago Fransosi Farina <thiago.farina@gmail.com> <tfarina@chromium.org>
Thom Wiggers <thom@thomwiggers.nl>
Thomas Alan Copeland <talan.copeland@gmail.com> Thomas Alan Copeland <talan.copeland@gmail.com>
Thomas Bonfort <thomas.bonfort@gmail.com> Thomas Bonfort <thomas.bonfort@gmail.com>
Thomas Bouldin <inlined@google.com> Thomas Bouldin <inlined@google.com>
@ -2245,6 +2391,7 @@ Tim Ebringer <tim.ebringer@gmail.com>
Tim Heckman <t@heckman.io> Tim Heckman <t@heckman.io>
Tim Henderson <tim.tadh@gmail.com> Tim Henderson <tim.tadh@gmail.com>
Tim Hockin <thockin@google.com> Tim Hockin <thockin@google.com>
Tim King <taking@google.com>
Tim Möhlmann <muhlemmer@gmail.com> Tim Möhlmann <muhlemmer@gmail.com>
Tim Swast <swast@google.com> Tim Swast <swast@google.com>
Tim Wright <tenortim@gmail.com> Tim Wright <tenortim@gmail.com>
@ -2252,8 +2399,10 @@ Tim Xu <xiaoxubeii@gmail.com>
Timmy Douglas <timmyd983@gmail.com> Timmy Douglas <timmyd983@gmail.com>
Timo Savola <timo.savola@gmail.com> Timo Savola <timo.savola@gmail.com>
Timo Truyts <alkaloid.btx@gmail.com> Timo Truyts <alkaloid.btx@gmail.com>
Timothy Gu <timothygu99@gmail.com>
Timothy Studd <tim@timstudd.com> Timothy Studd <tim@timstudd.com>
Tipp Moseley <tipp@google.com> Tipp Moseley <tipp@google.com>
Tiwei Bie <tiwei.btw@antgroup.com>
Tobias Assarsson <tobias.assarsson@gmail.com> Tobias Assarsson <tobias.assarsson@gmail.com>
Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com> Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com>
Tobias Klauser <tklauser@distanz.ch> Tobias Klauser <tklauser@distanz.ch>
@ -2268,11 +2417,13 @@ Tom Lanyon <tomlanyon@google.com>
Tom Levy <tomlevy93@gmail.com> Tom Levy <tomlevy93@gmail.com>
Tom Limoncelli <tal@whatexit.org> Tom Limoncelli <tal@whatexit.org>
Tom Linford <tomlinford@gmail.com> Tom Linford <tomlinford@gmail.com>
Tom Panton <tom@tomandtally.co.uk>
Tom Parkin <tom.parkin@gmail.com> Tom Parkin <tom.parkin@gmail.com>
Tom Payne <twpayne@gmail.com> Tom Payne <twpayne@gmail.com>
Tom Szymanski <tgs@google.com> Tom Szymanski <tgs@google.com>
Tom Thorogood <me+google@tomthorogood.co.uk> Tom Thorogood <me+google@tomthorogood.co.uk>
Tom Wilkie <tom@weave.works> Tom Wilkie <tom@weave.works>
Tom Zierbock <tomzierbock@gmail.com>
Tomas Dabasinskas <tomas@dabasinskas.net> Tomas Dabasinskas <tomas@dabasinskas.net>
Tommy Schaefer <tommy.schaefer@teecom.com> Tommy Schaefer <tommy.schaefer@teecom.com>
Tomohiro Kusumoto <zabio1192@gmail.com> Tomohiro Kusumoto <zabio1192@gmail.com>
@ -2298,6 +2449,7 @@ Tristan Colgate <tcolgate@gmail.com>
Tristan Ooohry <ooohry@gmail.com> Tristan Ooohry <ooohry@gmail.com>
Tristan Rice <rice@fn.lc> Tristan Rice <rice@fn.lc>
Troels Thomsen <troels@thomsen.io> Troels Thomsen <troels@thomsen.io>
Trong Bui <trong.buiquoc@gmail.com>
Trung Nguyen <trung.n.k@gmail.com> Trung Nguyen <trung.n.k@gmail.com>
Tsuji Daishiro <dram.dt.shonan@gmail.com> Tsuji Daishiro <dram.dt.shonan@gmail.com>
Tudor Golubenco <tudor.g@gmail.com> Tudor Golubenco <tudor.g@gmail.com>
@ -2308,6 +2460,7 @@ Tyler Bunnell <tylerbunnell@gmail.com>
Tyler Treat <ttreat31@gmail.com> Tyler Treat <ttreat31@gmail.com>
Tyson Andre <tysonandre775@gmail.com> Tyson Andre <tysonandre775@gmail.com>
Tzach Shabtay <tzachshabtay@gmail.com> Tzach Shabtay <tzachshabtay@gmail.com>
Tzu-Chiao Yeh <su3g4284zo6y7@gmail.com>
Tzu-Jung Lee <roylee17@currant.com> Tzu-Jung Lee <roylee17@currant.com>
Udalov Max <re.udalov@gmail.com> Udalov Max <re.udalov@gmail.com>
Ugorji Nwoke <ugorji@gmail.com> Ugorji Nwoke <ugorji@gmail.com>
@ -2316,6 +2469,7 @@ Ulrich Kunitz <uli.kunitz@gmail.com>
Umang Parmar <umangjparmar@gmail.com> Umang Parmar <umangjparmar@gmail.com>
Uriel Mangado <uriel@berlinblue.org> Uriel Mangado <uriel@berlinblue.org>
Urvil Patel <patelurvil38@gmail.com> Urvil Patel <patelurvil38@gmail.com>
Utkarsh Dixit <53217283+utkarsh-extc@users.noreply.github.com>
Uttam C Pawar <uttam.c.pawar@intel.com> Uttam C Pawar <uttam.c.pawar@intel.com>
Vadim Grek <vadimprog@gmail.com> Vadim Grek <vadimprog@gmail.com>
Vadim Vygonets <unixdj@gmail.com> Vadim Vygonets <unixdj@gmail.com>
@ -2327,6 +2481,7 @@ Venil Noronha <veniln@vmware.com>
Veselkov Konstantin <kostozyb@gmail.com> Veselkov Konstantin <kostozyb@gmail.com>
Viacheslav Poturaev <vearutop@gmail.com> Viacheslav Poturaev <vearutop@gmail.com>
Victor Chudnovsky <vchudnov@google.com> Victor Chudnovsky <vchudnov@google.com>
Victor Michel <victor@optimyze.cloud>
Victor Vrantchan <vrancean+github@gmail.com> Victor Vrantchan <vrancean+github@gmail.com>
Vignesh Ramachandra <vickyramachandra@gmail.com> Vignesh Ramachandra <vickyramachandra@gmail.com>
Vikas Kedia <vikask@google.com> Vikas Kedia <vikask@google.com>
@ -2341,6 +2496,7 @@ Visweswara R <r.visweswara@gmail.com>
Vitaly Zdanevich <zdanevich.vitaly@ya.ru> Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
Vitor De Mario <vitordemario@gmail.com> Vitor De Mario <vitordemario@gmail.com>
Vivek Sekhar <vsekhar@google.com> Vivek Sekhar <vsekhar@google.com>
Vivek V <iamvivekv96@gmail.com>
Vivian Liang <vliang88@gmail.com> Vivian Liang <vliang88@gmail.com>
Vlad Krasnov <vlad@cloudflare.com> Vlad Krasnov <vlad@cloudflare.com>
Vladimir Evgrafov <evgrafov.vladimir@gmail.com> Vladimir Evgrafov <evgrafov.vladimir@gmail.com>
@ -2392,6 +2548,7 @@ Wu Yunzhou <yunzhouwu@gmail.com>
Xi Ruoyao <xry23333@gmail.com> Xi Ruoyao <xry23333@gmail.com>
Xia Bin <snyh@snyh.org> Xia Bin <snyh@snyh.org>
Xiangdong Ji <xiangdong.ji@arm.com> Xiangdong Ji <xiangdong.ji@arm.com>
Xiaodong Liu <teaofmoli@gmail.com>
Xing Xing <mikespook@gmail.com> Xing Xing <mikespook@gmail.com>
Xingqang Bai <bxq2011hust@qq.com> Xingqang Bai <bxq2011hust@qq.com>
Xu Fei <badgangkiller@gmail.com> Xu Fei <badgangkiller@gmail.com>
@ -2459,6 +2616,7 @@ Zhou Peng <p@ctriple.cn>
Ziad Hatahet <hatahet@gmail.com> Ziad Hatahet <hatahet@gmail.com>
Ziheng Liu <lzhfromustc@gmail.com> Ziheng Liu <lzhfromustc@gmail.com>
Zorion Arrizabalaga <zorionk@gmail.com> Zorion Arrizabalaga <zorionk@gmail.com>
Zyad A. Ali <zyad.ali.me@gmail.com>
Максадбек Ахмедов <a.maksadbek@gmail.com> Максадбек Ахмедов <a.maksadbek@gmail.com>
Максим Федосеев <max.faceless.frei@gmail.com> Максим Федосеев <max.faceless.frei@gmail.com>
Роман Хавроненко <hagen1778@gmail.com> Роман Хавроненко <hagen1778@gmail.com>

View file

@ -174,10 +174,12 @@ Do not send CLs removing the interior tags from such phrases.
non-reproducible builds. non-reproducible builds.
</p> </p>
<p><!-- golang.org/issue/43052 --> <p><!-- golang.org/issue/43052, golang.org/issue/43985 -->
The <code>go</code> command now disallows non-ASCII import paths in module In module mode, the <code>go</code> command now disallows import paths that
mode. Non-ASCII module paths have already been disallowed so this change include non-ASCII characters or path elements with a leading dot character
affects module subdirectory paths that contain non-ASCII characters. (<code>.</code>). Module paths with these characters were already disallowed
(see <a href="/ref/mod#go-mod-file-ident">Module paths and versions</a>),
so this change affects only paths within module subdirectories.
</p> </p>
<h4 id="embed">Embedding Files</h4> <h4 id="embed">Embedding Files</h4>
@ -378,6 +380,16 @@ func TestFoo(t *testing.T) {
fixes. fixes.
</p> </p>
<h4 id="vet-asn1-unmarshal">New warning for asn1.Unmarshal</h4>
<p><!-- CL 243397 -->
The vet tool now warns about incorrectly passing a non-pointer or nil argument to
<a href="/pkg/encoding/asn1/#Unmarshal"><code>asn1.Unmarshal</code></a>.
This is like the existing checks for
<a href="/pkg/encoding/json/#Unmarshal"><code>encoding/json.Unmarshal</code></a>
and <a href="/pkg/encoding/xml/#Unmarshal"><code>encoding/xml.Unmarshal</code></a>.
</p>
<h2 id="runtime">Runtime</h2> <h2 id="runtime">Runtime</h2>
<p> <p>

View file

@ -1,6 +1,6 @@
<!--{ <!--{
"Title": "The Go Programming Language Specification", "Title": "The Go Programming Language Specification",
"Subtitle": "Version of Feb 2, 2021", "Subtitle": "Version of Feb 10, 2021",
"Path": "/ref/spec" "Path": "/ref/spec"
}--> }-->
@ -3446,7 +3446,7 @@ In a function call, the function value and arguments are evaluated in
After they are evaluated, the parameters of the call are passed by value to the function After they are evaluated, the parameters of the call are passed by value to the function
and the called function begins execution. and the called function begins execution.
The return parameters of the function are passed by value The return parameters of the function are passed by value
back to the calling function when the function returns. back to the caller when the function returns.
</p> </p>
<p> <p>

View file

@ -265,8 +265,27 @@ func parsePAXRecord(s string) (k, v, r string, err error) {
return "", "", s, ErrHeader return "", "", s, ErrHeader
} }
afterSpace := int64(sp + 1)
beforeLastNewLine := n - 1
// In some cases, "length" was perhaps padded/malformed, and
// trying to index past where the space supposedly is goes past
// the end of the actual record.
// For example:
// "0000000000000000000000000000000030 mtime=1432668921.098285006\n30 ctime=2147483649.15163319"
// ^ ^
// | |
// | afterSpace=35
// |
// beforeLastNewLine=29
// yet indexOf(firstSpace) MUST BE before endOfRecord.
//
// See https://golang.org/issues/40196.
if afterSpace >= beforeLastNewLine {
return "", "", s, ErrHeader
}
// Extract everything between the space and the final newline. // Extract everything between the space and the final newline.
rec, nl, rem := s[sp+1:n-1], s[n-1:n], s[n:] rec, nl, rem := s[afterSpace:beforeLastNewLine], s[beforeLastNewLine:n], s[n:]
if nl != "\n" { if nl != "\n" {
return "", "", s, ErrHeader return "", "", s, ErrHeader
} }

View file

@ -368,6 +368,13 @@ func TestParsePAXRecord(t *testing.T) {
{"16 longkeyname=hahaha\n", "16 longkeyname=hahaha\n", "", "", false}, {"16 longkeyname=hahaha\n", "16 longkeyname=hahaha\n", "", "", false},
{"3 somelongkey=\n", "3 somelongkey=\n", "", "", false}, {"3 somelongkey=\n", "3 somelongkey=\n", "", "", false},
{"50 tooshort=\n", "50 tooshort=\n", "", "", false}, {"50 tooshort=\n", "50 tooshort=\n", "", "", false},
{"0000000000000000000000000000000030 mtime=1432668921.098285006\n30 ctime=2147483649.15163319", "0000000000000000000000000000000030 mtime=1432668921.098285006\n30 ctime=2147483649.15163319", "mtime", "1432668921.098285006", false},
{"06 k=v\n", "06 k=v\n", "", "", false},
{"00006 k=v\n", "00006 k=v\n", "", "", false},
{"000006 k=v\n", "000006 k=v\n", "", "", false},
{"000000 k=v\n", "000000 k=v\n", "", "", false},
{"0 k=v\n", "0 k=v\n", "", "", false},
{"+0000005 x=\n", "+0000005 x=\n", "", "", false},
} }
for _, v := range vectors { for _, v := range vectors {

View file

@ -480,8 +480,12 @@ func walkAddString(n *ir.AddStringExpr, init *ir.Nodes) ir.Node {
// walkCall walks an OCALLFUNC, OCALLINTER, or OCALLMETH node. // walkCall walks an OCALLFUNC, OCALLINTER, or OCALLMETH node.
func walkCall(n *ir.CallExpr, init *ir.Nodes) ir.Node { func walkCall(n *ir.CallExpr, init *ir.Nodes) ir.Node {
if n.Op() == ir.OCALLINTER { if n.Op() == ir.OCALLINTER || n.Op() == ir.OCALLMETH {
// We expect both interface call reflect.Type.Method and concrete
// call reflect.(*rtype).Method.
usemethod(n) usemethod(n)
}
if n.Op() == ir.OCALLINTER {
reflectdata.MarkUsedIfaceMethod(n) reflectdata.MarkUsedIfaceMethod(n)
} }
@ -899,6 +903,16 @@ func usemethod(n *ir.CallExpr) {
} }
} }
// Don't mark reflect.(*rtype).Method, etc. themselves in the reflect package.
// Those functions may be alive via the itab, which should not cause all methods
// alive. We only want to mark their callers.
if base.Ctxt.Pkgpath == "reflect" {
switch ir.CurFunc.Nname.Sym().Name { // TODO: is there a better way than hardcoding the names?
case "(*rtype).Method", "(*rtype).MethodByName", "(*interfaceType).Method", "(*interfaceType).MethodByName":
return
}
}
// Note: Don't rely on res0.Type.String() since its formatting depends on multiple factors // Note: Don't rely on res0.Type.String() since its formatting depends on multiple factors
// (including global variables such as numImports - was issue #19028). // (including global variables such as numImports - was issue #19028).
// Also need to check for reflect package itself (see Issue #38515). // Also need to check for reflect package itself (see Issue #38515).

View file

@ -2410,6 +2410,17 @@
// //
// For a detailed reference on modules, see https://golang.org/ref/mod. // For a detailed reference on modules, see https://golang.org/ref/mod.
// //
// By default, the go command may download modules from https://proxy.golang.org.
// It may authenticate modules using the checksum database at
// https://sum.golang.org. Both services are operated by the Go team at Google.
// The privacy policies for these services are available at
// https://proxy.golang.org/privacy and https://sum.golang.org/privacy,
// respectively.
//
// The go command's download behavior may be configured using GOPROXY, GOSUMDB,
// GOPRIVATE, and other environment variables. See 'go help environment'
// and https://golang.org/ref/mod#private-module-privacy for more information.
//
// //
// Module authentication using go.sum // Module authentication using go.sum
// //
@ -2868,20 +2879,23 @@
// legal reasons). Therefore, clients can still access public code served from // legal reasons). Therefore, clients can still access public code served from
// Bazaar, Fossil, or Subversion repositories by default, because those downloads // Bazaar, Fossil, or Subversion repositories by default, because those downloads
// use the Go module mirror, which takes on the security risk of running the // use the Go module mirror, which takes on the security risk of running the
// version control commands, using a custom sandbox. // version control commands using a custom sandbox.
// //
// The GOVCS variable can be used to change the allowed version control systems // The GOVCS variable can be used to change the allowed version control systems
// for specific packages (identified by a module or import path). // for specific packages (identified by a module or import path).
// The GOVCS variable applies both when using modules and when using GOPATH. // The GOVCS variable applies when building package in both module-aware mode
// When using modules, the patterns match against the module path. // and GOPATH mode. When using modules, the patterns match against the module path.
// When using GOPATH, the patterns match against the import path // When using GOPATH, the patterns match against the import path corresponding to
// corresponding to the root of the version control repository. // the root of the version control repository.
// //
// The general form of the GOVCS setting is a comma-separated list of // The general form of the GOVCS setting is a comma-separated list of
// pattern:vcslist rules. The pattern is a glob pattern that must match // pattern:vcslist rules. The pattern is a glob pattern that must match
// one or more leading elements of the module or import path. The vcslist // one or more leading elements of the module or import path. The vcslist
// is a pipe-separated list of allowed version control commands, or "all" // is a pipe-separated list of allowed version control commands, or "all"
// to allow use of any known command, or "off" to allow nothing. // to allow use of any known command, or "off" to disallow all commands.
// Note that if a module matches a pattern with vcslist "off", it may still be
// downloaded if the origin server uses the "mod" scheme, which instructs the
// go command to download the module using the GOPROXY protocol.
// The earliest matching pattern in the list applies, even if later patterns // The earliest matching pattern in the list applies, even if later patterns
// might also match. // might also match.
// //
@ -2889,7 +2903,7 @@
// //
// GOVCS=github.com:git,evil.com:off,*:git|hg // GOVCS=github.com:git,evil.com:off,*:git|hg
// //
// With this setting, code with an module or import path beginning with // With this setting, code with a module or import path beginning with
// github.com/ can only use git; paths on evil.com cannot use any version // github.com/ can only use git; paths on evil.com cannot use any version
// control command, and all other paths (* matches everything) can use // control command, and all other paths (* matches everything) can use
// only git or hg. // only git or hg.

View file

@ -36,6 +36,8 @@ import (
"cmd/go/internal/str" "cmd/go/internal/str"
"cmd/go/internal/trace" "cmd/go/internal/trace"
"cmd/internal/sys" "cmd/internal/sys"
"golang.org/x/mod/module"
) )
var IgnoreImports bool // control whether we ignore imports in packages var IgnoreImports bool // control whether we ignore imports in packages
@ -2090,6 +2092,9 @@ func validEmbedPattern(pattern string) bool {
// can't or won't be included in modules and therefore shouldn't be treated // can't or won't be included in modules and therefore shouldn't be treated
// as existing for embedding. // as existing for embedding.
func isBadEmbedName(name string) bool { func isBadEmbedName(name string) bool {
if err := module.CheckFilePath(name); err != nil {
return true
}
switch name { switch name {
// Empty string should be impossible but make it bad. // Empty string should be impossible but make it bad.
case "": case "":

View file

@ -176,20 +176,23 @@ packages or when the mirror refuses to serve a public package (typically for
legal reasons). Therefore, clients can still access public code served from legal reasons). Therefore, clients can still access public code served from
Bazaar, Fossil, or Subversion repositories by default, because those downloads Bazaar, Fossil, or Subversion repositories by default, because those downloads
use the Go module mirror, which takes on the security risk of running the use the Go module mirror, which takes on the security risk of running the
version control commands, using a custom sandbox. version control commands using a custom sandbox.
The GOVCS variable can be used to change the allowed version control systems The GOVCS variable can be used to change the allowed version control systems
for specific packages (identified by a module or import path). for specific packages (identified by a module or import path).
The GOVCS variable applies both when using modules and when using GOPATH. The GOVCS variable applies when building package in both module-aware mode
When using modules, the patterns match against the module path. and GOPATH mode. When using modules, the patterns match against the module path.
When using GOPATH, the patterns match against the import path When using GOPATH, the patterns match against the import path corresponding to
corresponding to the root of the version control repository. the root of the version control repository.
The general form of the GOVCS setting is a comma-separated list of The general form of the GOVCS setting is a comma-separated list of
pattern:vcslist rules. The pattern is a glob pattern that must match pattern:vcslist rules. The pattern is a glob pattern that must match
one or more leading elements of the module or import path. The vcslist one or more leading elements of the module or import path. The vcslist
is a pipe-separated list of allowed version control commands, or "all" is a pipe-separated list of allowed version control commands, or "all"
to allow use of any known command, or "off" to allow nothing. to allow use of any known command, or "off" to disallow all commands.
Note that if a module matches a pattern with vcslist "off", it may still be
downloaded if the origin server uses the "mod" scheme, which instructs the
go command to download the module using the GOPROXY protocol.
The earliest matching pattern in the list applies, even if later patterns The earliest matching pattern in the list applies, even if later patterns
might also match. might also match.
@ -197,7 +200,7 @@ For example, consider:
GOVCS=github.com:git,evil.com:off,*:git|hg GOVCS=github.com:git,evil.com:off,*:git|hg
With this setting, code with an module or import path beginning with With this setting, code with a module or import path beginning with
github.com/ can only use git; paths on evil.com cannot use any version github.com/ can only use git; paths on evil.com cannot use any version
control command, and all other paths (* matches everything) can use control command, and all other paths (* matches everything) can use
only git or hg. only git or hg.
@ -380,10 +383,9 @@ func runGet(ctx context.Context, cmd *base.Command, args []string) {
pkgs := load.PackagesAndErrors(ctx, pkgPatterns) pkgs := load.PackagesAndErrors(ctx, pkgPatterns)
load.CheckPackageErrors(pkgs) load.CheckPackageErrors(pkgs)
work.InstallPackages(ctx, pkgPatterns, pkgs) work.InstallPackages(ctx, pkgPatterns, pkgs)
// TODO(#40276): After Go 1.16, print a deprecation notice when building // TODO(#40276): After Go 1.16, print a deprecation notice when building and
// and installing main packages. 'go install pkg' or // installing main packages. 'go install pkg' or 'go install pkg@version'
// 'go install pkg@version' should be used instead. // should be used instead. Give the specific argument to use if possible.
// Give the specific argument to use if possible.
} }
if !modload.HasModRoot() { if !modload.HasModRoot() {
@ -1453,7 +1455,18 @@ func (r *resolver) checkPackagesAndRetractions(ctx context.Context, pkgPatterns
} }
} }
for _, pkg := range pkgs { for _, pkg := range pkgs {
if _, _, err := modload.Lookup("", false, pkg); err != nil { if dir, _, err := modload.Lookup("", false, pkg); err != nil {
if dir != "" && errors.Is(err, imports.ErrNoGo) {
// Since dir is non-empty, we must have located source files
// associated with either the package or its test — ErrNoGo must
// indicate that none of those source files happen to apply in this
// configuration. If we are actually building the package (no -d
// flag), the compiler will report the problem; otherwise, assume that
// the user is going to build or test it in some other configuration
// and suppress the error.
continue
}
base.SetExitStatus(1) base.SetExitStatus(1)
if ambiguousErr := (*modload.AmbiguousImportError)(nil); errors.As(err, &ambiguousErr) { if ambiguousErr := (*modload.AmbiguousImportError)(nil); errors.As(err, &ambiguousErr) {
for _, m := range ambiguousErr.Modules { for _, m := range ambiguousErr.Modules {

View file

@ -6,8 +6,6 @@ package modload
import "cmd/go/internal/base" import "cmd/go/internal/base"
// TODO(rsc): The "module code layout" section needs to be written.
var HelpModules = &base.Command{ var HelpModules = &base.Command{
UsageLine: "modules", UsageLine: "modules",
Short: "modules, module versions, and more", Short: "modules, module versions, and more",
@ -22,6 +20,17 @@ For a series of tutorials on modules, see
https://golang.org/doc/tutorial/create-module. https://golang.org/doc/tutorial/create-module.
For a detailed reference on modules, see https://golang.org/ref/mod. For a detailed reference on modules, see https://golang.org/ref/mod.
By default, the go command may download modules from https://proxy.golang.org.
It may authenticate modules using the checksum database at
https://sum.golang.org. Both services are operated by the Go team at Google.
The privacy policies for these services are available at
https://proxy.golang.org/privacy and https://sum.golang.org/privacy,
respectively.
The go command's download behavior may be configured using GOPROXY, GOSUMDB,
GOPRIVATE, and other environment variables. See 'go help environment'
and https://golang.org/ref/mod#private-module-privacy for more information.
`, `,
} }

View file

@ -0,0 +1,116 @@
# https://golang.org/issue/44106
# 'go get' should fetch the transitive dependencies of packages regardless of
# tags, but shouldn't error out if the package is missing tag-guarded
# dependencies.
# Control case: just adding the top-level module to the go.mod file does not
# fetch its dependencies.
go mod edit -require example.net/tools@v0.1.0
! go list -deps example.net/cmd/tool
stderr '^module example\.net/cmd provides package example\.net/cmd/tool and is replaced but not required; to add it:\n\tgo get example\.net/cmd@v0\.1\.0$'
go mod edit -droprequire example.net/tools
# 'go get -d' makes a best effort to fetch those dependencies, but shouldn't
# error out if dependencies of tag-guarded files are missing.
go get -d example.net/tools@v0.1.0
! go list example.net/tools
stderr '^package example.net/tools: build constraints exclude all Go files in .*[/\\]tools$'
go list -tags=tools -e -deps example.net/tools
stdout '^example.net/cmd/tool$'
stdout '^example.net/missing$'
go list -deps example.net/cmd/tool
! go list example.net/missing
stderr '^no required module provides package example.net/missing; to add it:\n\tgo get example.net/missing$'
# https://golang.org/issue/29268
# 'go get' should fetch modules whose roots contain test-only packages, but
# without the -t flag shouldn't error out if the test has missing dependencies.
go get -d example.net/testonly@v0.1.0
# With the -t flag, the test dependencies must resolve successfully.
! go get -d -t example.net/testonly@v0.1.0
stderr '^example.net/testonly tested by\n\texample.net/testonly\.test imports\n\texample.net/missing: cannot find module providing package example.net/missing$'
# 'go get -d' should succeed for a module path that does not contain a package,
# but fail for a non-package subdirectory of a module.
! go get -d example.net/missing/subdir@v0.1.0
stderr '^go get: module example.net/missing@v0.1.0 found \(replaced by ./missing\), but does not contain package example.net/missing/subdir$'
go get -d example.net/missing@v0.1.0
# Getting the subdirectory should continue to fail even if the corresponding
# module is already present in the build list.
! go get -d example.net/missing/subdir@v0.1.0
stderr '^go get: module example.net/missing@v0.1.0 found \(replaced by ./missing\), but does not contain package example.net/missing/subdir$'
-- go.mod --
module example.net/m
go 1.15
replace (
example.net/tools v0.1.0 => ./tools
example.net/cmd v0.1.0 => ./cmd
example.net/testonly v0.1.0 => ./testonly
example.net/missing v0.1.0 => ./missing
)
-- tools/go.mod --
module example.net/tools
go 1.15
// Requirements intentionally omitted.
-- tools/tools.go --
// +build tools
package tools
import (
_ "example.net/cmd/tool"
_ "example.net/missing"
)
-- cmd/go.mod --
module example.net/cmd
go 1.16
-- cmd/tool/tool.go --
package main
func main() {}
-- testonly/go.mod --
module example.net/testonly
go 1.15
-- testonly/testonly_test.go --
package testonly_test
import _ "example.net/missing"
func Test(t *testing.T) {}
-- missing/go.mod --
module example.net/missing
go 1.15
-- missing/README.txt --
There are no Go source files here.
-- missing/subdir/README.txt --
There are no Go source files here either.

View file

@ -10,6 +10,7 @@ package fs
import ( import (
"internal/oserror" "internal/oserror"
"time" "time"
"unicode/utf8"
) )
// An FS provides access to a hierarchical file system. // An FS provides access to a hierarchical file system.
@ -32,15 +33,22 @@ type FS interface {
// ValidPath reports whether the given path name // ValidPath reports whether the given path name
// is valid for use in a call to Open. // is valid for use in a call to Open.
// Path names passed to open are unrooted, slash-separated
// sequences of path elements, like “x/y/z”.
// Path names must not contain a “.” or “..” or empty element,
// except for the special case that the root directory is named “.”.
// Leading and trailing slashes (like “/x” or “x/”) are not allowed.
// //
// Paths are slash-separated on all systems, even Windows. // Path names passed to open are UTF-8-encoded,
// Backslashes must not appear in path names. // unrooted, slash-separated sequences of path elements, like “x/y/z”.
// Path names must not contain an element that is “.” or “..” or the empty string,
// except for the special case that the root directory is named “.”.
// Paths must not start or end with a slash: “/x” and “x/” are invalid.
//
// Note that paths are slash-separated on all systems, even Windows.
// Paths containing other characters such as backslash and colon
// are accepted as valid, but those characters must never be
// interpreted by an FS implementation as path element separators.
func ValidPath(name string) bool { func ValidPath(name string) bool {
if !utf8.ValidString(name) {
return false
}
if name == "." { if name == "." {
// special case // special case
return true return true
@ -50,9 +58,6 @@ func ValidPath(name string) bool {
for { for {
i := 0 i := 0
for i < len(name) && name[i] != '/' { for i < len(name) && name[i] != '/' {
if name[i] == '\\' {
return false
}
i++ i++
} }
elem := name[:i] elem := name[:i]

View file

@ -33,9 +33,10 @@ var isValidPathTests = []struct {
{"x/..", false}, {"x/..", false},
{"x/../y", false}, {"x/../y", false},
{"x//y", false}, {"x//y", false},
{`x\`, false}, {`x\`, true},
{`x\y`, false}, {`x\y`, true},
{`\x`, false}, {`x:y`, true},
{`\x`, true},
} }
func TestValidPath(t *testing.T) { func TestValidPath(t *testing.T) {

View file

@ -6,7 +6,6 @@ package fs
import ( import (
"path" "path"
"runtime"
) )
// A GlobFS is a file system with a Glob method. // A GlobFS is a file system with a Glob method.
@ -111,8 +110,8 @@ func glob(fs FS, dir, pattern string, matches []string) (m []string, e error) {
// recognized by path.Match. // recognized by path.Match.
func hasMeta(path string) bool { func hasMeta(path string) bool {
for i := 0; i < len(path); i++ { for i := 0; i < len(path); i++ {
c := path[i] switch path[i] {
if c == '*' || c == '?' || c == '[' || runtime.GOOS == "windows" && c == '\\' { case '*', '?', '[', '\\':
return true return true
} }
} }

View file

@ -17,6 +17,7 @@ var globTests = []struct {
}{ }{
{os.DirFS("."), "glob.go", "glob.go"}, {os.DirFS("."), "glob.go", "glob.go"},
{os.DirFS("."), "gl?b.go", "glob.go"}, {os.DirFS("."), "gl?b.go", "glob.go"},
{os.DirFS("."), `gl\ob.go`, "glob.go"},
{os.DirFS("."), "*", "glob.go"}, {os.DirFS("."), "*", "glob.go"},
{os.DirFS(".."), "*/glob.go", "fs/glob.go"}, {os.DirFS(".."), "*/glob.go", "fs/glob.go"},
} }
@ -32,7 +33,7 @@ func TestGlob(t *testing.T) {
t.Errorf("Glob(%#q) = %#v want %v", tt.pattern, matches, tt.result) t.Errorf("Glob(%#q) = %#v want %v", tt.pattern, matches, tt.result)
} }
} }
for _, pattern := range []string{"no_match", "../*/no_match"} { for _, pattern := range []string{"no_match", "../*/no_match", `\*`} {
matches, err := Glob(os.DirFS("."), pattern) matches, err := Glob(os.DirFS("."), pattern)
if err != nil { if err != nil {
t.Errorf("Glob error for %q: %s", pattern, err) t.Errorf("Glob error for %q: %s", pattern, err)

View file

@ -620,10 +620,21 @@ func DirFS(dir string) fs.FS {
return dirFS(dir) return dirFS(dir)
} }
func containsAny(s, chars string) bool {
for i := 0; i < len(s); i++ {
for j := 0; j < len(chars); j++ {
if s[i] == chars[j] {
return true
}
}
}
return false
}
type dirFS string type dirFS string
func (dir dirFS) Open(name string) (fs.File, error) { func (dir dirFS) Open(name string) (fs.File, error) {
if !fs.ValidPath(name) { if !fs.ValidPath(name) || runtime.GOOS == "windows" && containsAny(name, `\:`) {
return nil, &PathError{Op: "open", Path: name, Err: ErrInvalid} return nil, &PathError{Op: "open", Path: name, Err: ErrInvalid}
} }
f, err := Open(string(dir) + "/" + name) f, err := Open(string(dir) + "/" + name)

View file

@ -2719,6 +2719,40 @@ func TestDirFS(t *testing.T) {
if err := fstest.TestFS(DirFS("./testdata/dirfs"), "a", "b", "dir/x"); err != nil { if err := fstest.TestFS(DirFS("./testdata/dirfs"), "a", "b", "dir/x"); err != nil {
t.Fatal(err) t.Fatal(err)
} }
// Test that Open does not accept backslash as separator.
d := DirFS(".")
_, err := d.Open(`testdata\dirfs`)
if err == nil {
t.Fatalf(`Open testdata\dirfs succeeded`)
}
}
func TestDirFSPathsValid(t *testing.T) {
if runtime.GOOS == "windows" {
t.Skipf("skipping on Windows")
}
d := t.TempDir()
if err := os.WriteFile(filepath.Join(d, "control.txt"), []byte(string("Hello, world!")), 0644); err != nil {
t.Fatal(err)
}
if err := os.WriteFile(filepath.Join(d, `e:xperi\ment.txt`), []byte(string("Hello, colon and backslash!")), 0644); err != nil {
t.Fatal(err)
}
fsys := os.DirFS(d)
err := fs.WalkDir(fsys, ".", func(path string, e fs.DirEntry, err error) error {
if fs.ValidPath(e.Name()) {
t.Logf("%q ok", e.Name())
} else {
t.Errorf("%q INVALID", e.Name())
}
return nil
})
if err != nil {
t.Fatal(err)
}
} }
func TestReadFileProc(t *testing.T) { func TestReadFileProc(t *testing.T) {

View file

@ -16,13 +16,14 @@ Interface
Metrics are designated by a string key, rather than, for example, a field name in Metrics are designated by a string key, rather than, for example, a field name in
a struct. The full list of supported metrics is always available in the slice of a struct. The full list of supported metrics is always available in the slice of
Descriptions returned by All. Each Description also includes useful information Descriptions returned by All. Each Description also includes useful information
about the metric, such as how to display it (e.g. gauge vs. counter) and how difficult about the metric, such as how to display it (for example, gauge vs. counter)
or disruptive it is to obtain it (e.g. do you need to stop the world?). and how difficult or disruptive it is to obtain it (for example, do you need to
stop the world?).
Thus, users of this API are encouraged to sample supported metrics defined by the Thus, users of this API are encouraged to sample supported metrics defined by the
slice returned by All to remain compatible across Go versions. Of course, situations slice returned by All to remain compatible across Go versions. Of course, situations
arise where reading specific metrics is critical. For these cases, users are arise where reading specific metrics is critical. For these cases, users are
encouranged to use build tags, and although metrics may be deprecated and removed, encouraged to use build tags, and although metrics may be deprecated and removed,
users should consider this to be an exceptional and rare event, coinciding with a users should consider this to be an exceptional and rare event, coinciding with a
very large change in a particular Go implementation. very large change in a particular Go implementation.

View file

@ -32,9 +32,9 @@ func runtime_readMetrics(unsafe.Pointer, int, int)
// //
// Note that re-use has some caveats. Notably, Values should not be read or // Note that re-use has some caveats. Notably, Values should not be read or
// manipulated while a Read with that value is outstanding; that is a data race. // manipulated while a Read with that value is outstanding; that is a data race.
// This property includes pointer-typed Values (e.g. Float64Histogram) whose // This property includes pointer-typed Values (for example, Float64Histogram)
// underlying storage will be reused by Read when possible. To safely use such // whose underlying storage will be reused by Read when possible. To safely use
// values in a concurrent setting, all data must be deep-copied. // such values in a concurrent setting, all data must be deep-copied.
// //
// It is safe to execute multiple Read calls concurrently, but their arguments // It is safe to execute multiple Read calls concurrently, but their arguments
// must share no underlying memory. When in doubt, create a new []Sample from // must share no underlying memory. When in doubt, create a new []Sample from

View file

@ -33,7 +33,7 @@ type Value struct {
pointer unsafe.Pointer // contains non-scalar values. pointer unsafe.Pointer // contains non-scalar values.
} }
// Kind returns the a tag representing the kind of value this is. // Kind returns the tag representing the kind of value this is.
func (v Value) Kind() ValueKind { func (v Value) Kind() ValueKind {
return v.kind return v.kind
} }

24
test/reflectmethod7.go Normal file
View file

@ -0,0 +1,24 @@
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// See issue 44207.
package main
import "reflect"
type S int
func (s S) M() {}
func main() {
t := reflect.TypeOf(S(0))
fn, ok := reflect.PtrTo(t).MethodByName("M")
if !ok {
panic("FAIL")
}
fn.Func.Call([]reflect.Value{reflect.New(t)})
}