diff --git a/.all-contributorsrc b/.all-contributorsrc index 6ac8be07a2..e04f5e839a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7745,6 +7745,15 @@ "contributions": [ "bug" ] + }, + { + "login": "dschach", + "name": "David Schach", + "avatar_url": "https://avatars.githubusercontent.com/u/636977?v=4", + "profile": "https://github.com/dschach", + "contributions": [ + "bug" + ] } ], "contributorsPerLine": 7, diff --git a/docs/pages/pmd/projectdocs/credits.md b/docs/pages/pmd/projectdocs/credits.md index 7cd1028586..0aa1211db0 100644 --- a/docs/pages/pmd/projectdocs/credits.md +++ b/docs/pages/pmd/projectdocs/credits.md @@ -226,875 +226,876 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d David M. Karr (fullname at gmail.com)
David M. Karr (fullname at gmail.com)

πŸ› David Renz
David Renz

πŸ’» πŸ› David Renz
David Renz

πŸ› + David Schach
David Schach

πŸ› Dawid Ciok
Dawid Ciok

πŸ› πŸ’» Debamoy Datta
Debamoy Datta

πŸ’» - Deleted user
Deleted user

πŸ› + Deleted user
Deleted user

πŸ› Dell Green
Dell Green

πŸ› Dem Pilafian
Dem Pilafian

πŸ› Den
Den

πŸ› Denis Borovikov
Denis Borovikov

πŸ’» πŸ› Dennie Reniers
Dennie Reniers

πŸ’» πŸ› Dennis Kieselhorst
Dennis Kieselhorst

πŸ› - Derek P. Moore
Derek P. Moore

πŸ› + Derek P. Moore
Derek P. Moore

πŸ› Dichotomia
Dichotomia

πŸ› Dionisio CortΓ©s FernΓ‘ndez
Dionisio CortΓ©s FernΓ‘ndez

πŸ’» πŸ› Dmitri Bourlatchkov
Dmitri Bourlatchkov

πŸ› Dmitriy Kuzmin
Dmitriy Kuzmin

πŸ› Dmytro Dashenkov
Dmytro Dashenkov

πŸ› Dr. Christian KohlschΓΌtter
Dr. Christian KohlschΓΌtter

πŸ› - Drew Hall
Drew Hall

πŸ› + Drew Hall
Drew Hall

πŸ› Dumitru Postoronca
Dumitru Postoronca

πŸ› Dylan Adams
Dylan Adams

πŸ› Eden Hao
Eden Hao

πŸ› Edward Klimoshenko
Edward Klimoshenko

πŸ› πŸ’» Egor Bredikhin
Egor Bredikhin

πŸ› Elan P. Kugelmass
Elan P. Kugelmass

πŸ› - Elder S.
Elder S.

πŸ› + Elder S.
Elder S.

πŸ› Eldrick Wega
Eldrick Wega

πŸ“– Emile
Emile

πŸ› Eric
Eric

πŸ› Eric Kintzer
Eric Kintzer

πŸ› Eric Perret
Eric Perret

πŸ› Eric Squires
Eric Squires

πŸ› - Erich L Foster
Erich L Foster

πŸ› + Erich L Foster
Erich L Foster

πŸ› Erik Bleske
Erik Bleske

πŸ› Erik C. Thauvin
Erik C. Thauvin

πŸ“– Ernst Reissner
Ernst Reissner

πŸ› Ethan Sargent
Ethan Sargent

πŸ› Ewan Tempero
Ewan Tempero

πŸ› F.W. Dekker
F.W. Dekker

πŸ› - FSchliephacke
FSchliephacke

πŸ› + FSchliephacke
FSchliephacke

πŸ› Facundo
Facundo

πŸ› Federico Giust
Federico Giust

πŸ› Fedor Sherstobitov
Fedor Sherstobitov

πŸ› Felix Lampe
Felix Lampe

πŸ› Filip Golonka
Filip Golonka

πŸ› Filipe Esperandio
Filipe Esperandio

πŸ’» πŸ› - Filippo Nova
Filippo Nova

πŸ› + Filippo Nova
Filippo Nova

πŸ› Francesco la Torre
Francesco la Torre

πŸ› Francisco Duarte
Francisco Duarte

πŸ› Frieder Bluemle
Frieder Bluemle

πŸ› Frits Jalvingh
Frits Jalvingh

πŸ’» πŸ› G. Bazior
G. Bazior

πŸ› Gabe Henkes
Gabe Henkes

πŸ› - Gary Gregory
Gary Gregory

πŸ› + Gary Gregory
Gary Gregory

πŸ› Genoud Magloire
Genoud Magloire

πŸ› Geoffrey555
Geoffrey555

πŸ› Georg Romstorfer
Georg Romstorfer

πŸ› Gili Tzabari
Gili Tzabari

πŸ› Gio
Gio

πŸ› Gol
Gol

πŸ› - Gold856
Gold856

πŸ› πŸ’» + Gold856
Gold856

πŸ› πŸ’» Gonzalo Exequiel Ibars Ingman
Gonzalo Exequiel Ibars Ingman

πŸ’» πŸ› GooDer
GooDer

πŸ› Gregor Riegler
Gregor Riegler

πŸ› Grzegorz Olszewski
Grzegorz Olszewski

πŸ› Gunther Schrijvers
Gunther Schrijvers

πŸ’» πŸ› Gustavo Krieger
Gustavo Krieger

πŸ› - Guy Elsmore-Paddock
Guy Elsmore-Paddock

πŸ› + Guy Elsmore-Paddock
Guy Elsmore-Paddock

πŸ› GΓΆrkem MΓΌlayim
GΓΆrkem MΓΌlayim

πŸ› Hanzel Godinez
Hanzel Godinez

πŸ› Haoliang Chen
Haoliang Chen

πŸ› Harsh Kukreja
Harsh Kukreja

πŸ› Hassan ALAMI
Hassan ALAMI

πŸ› Heber
Heber

πŸ› - Henning Schmiedehausen
Henning Schmiedehausen

πŸ’» πŸ› + Henning Schmiedehausen
Henning Schmiedehausen

πŸ’» πŸ› Henning von Bargen
Henning von Bargen

πŸ’» HervΓ© Boutemy
HervΓ© Boutemy

πŸ› Himanshu Pandey
Himanshu Pandey

πŸ› Hokwang Lee
Hokwang Lee

πŸ› Hooperbloob
Hooperbloob

πŸ’» Hung PHAN
Hung PHAN

πŸ› - IDoCodingStuffs
IDoCodingStuffs

πŸ’» πŸ› + IDoCodingStuffs
IDoCodingStuffs

πŸ’» πŸ› Iccen Gan
Iccen Gan

πŸ› Ignacio Mariano Tirabasso
Ignacio Mariano Tirabasso

πŸ› Igor Melnichenko
Igor Melnichenko

πŸ› Igor Moreno
Igor Moreno

πŸ› Intelesis-MS
Intelesis-MS

πŸ› Iroha_
Iroha_

πŸ› - Ishan Srivastava
Ishan Srivastava

πŸ› + Ishan Srivastava
Ishan Srivastava

πŸ› Ivan Vakhrushev
Ivan Vakhrushev

πŸ› Ivano Guerini
Ivano Guerini

πŸ› Ivar Andreas Bonsaksen
Ivar Andreas Bonsaksen

πŸ› Ivo Ε mΓ­d
Ivo Ε mΓ­d

πŸ› JJengility
JJengility

πŸ› Jake Hemmerle
Jake Hemmerle

πŸ› - James Harrison
James Harrison

πŸ› πŸ’» + James Harrison
James Harrison

πŸ› πŸ’» Jamie Bisotti
Jamie Bisotti

πŸ› Jan
Jan

πŸ› Jan Aertgeerts
Jan Aertgeerts

πŸ’» πŸ› Jan BrΓΌmmer
Jan BrΓΌmmer

πŸ› Jan TΕ™Γ­ska
Jan TΕ™Γ­ska

πŸ› Jan-Lukas Else
Jan-Lukas Else

πŸ› - Jason Qiu
Jason Qiu

πŸ’» πŸ“– + Jason Qiu
Jason Qiu

πŸ’» πŸ“– Jason Williams
Jason Williams

πŸ› Jean-Paul Mayer
Jean-Paul Mayer

πŸ› Jean-Simon Larochelle
Jean-Simon Larochelle

πŸ› Jeff Bartolotta
Jeff Bartolotta

πŸ’» πŸ› Jeff Hube
Jeff Hube

πŸ’» πŸ› Jeff Jensen
Jeff Jensen

πŸ› - Jeff May
Jeff May

πŸ› + Jeff May
Jeff May

πŸ› Jens Gerdes
Jens Gerdes

πŸ› Jeroen Borgers
Jeroen Borgers

πŸ› πŸ’» πŸ“’ Jeroen Meijer
Jeroen Meijer

πŸ› Jeroen van Wilgenburg
Jeroen van Wilgenburg

πŸ“– Jerome Russ
Jerome Russ

πŸ› JerritEic
JerritEic

πŸ’» πŸ“– πŸ› - Jiri Pejchal
Jiri Pejchal

πŸ› + Jiri Pejchal
Jiri Pejchal

πŸ› Jithin Sunny
Jithin Sunny

πŸ› JiΕ™Γ­ Ε korpil
JiΕ™Γ­ Ε korpil

πŸ› Joao Machado
Joao Machado

πŸ› Jochen Krauss
Jochen Krauss

πŸ› Johan Hammar
Johan Hammar

πŸ› John Karp
John Karp

πŸ› - John Zhang
John Zhang

πŸ› + John Zhang
John Zhang

πŸ› John-Teng
John-Teng

πŸ’» πŸ› Jon Moroney
Jon Moroney

πŸ’» πŸ› Jonas Geiregat
Jonas Geiregat

πŸ› Jonas Keßler
Jonas Keßler

πŸ› Jonathan Wiesel
Jonathan Wiesel

πŸ’» πŸ› Jordan
Jordan

πŸ› - Jordi Llach
Jordi Llach

πŸ› + Jordi Llach
Jordi Llach

πŸ› Jorge SolΓ³rzano
Jorge SolΓ³rzano

πŸ› JorneVL
JorneVL

πŸ› Jose Palafox
Jose Palafox

πŸ› Jose Stovall
Jose Stovall

πŸ› Joseph
Joseph

πŸ’» Joseph Heenan
Joseph Heenan

πŸ› - Josh Feingold
Josh Feingold

πŸ’» πŸ› + Josh Feingold
Josh Feingold

πŸ’» πŸ› Josh Holthaus
Josh Holthaus

πŸ› Joshua S Arquilevich
Joshua S Arquilevich

πŸ› JoΓ£o Dinis Ferreira
JoΓ£o Dinis Ferreira

πŸ“– JoΓ£o Ferreira
JoΓ£o Ferreira

πŸ’» πŸ› JoΓ£o Pedro Schmitt
JoΓ£o Pedro Schmitt

πŸ› Juan MartΓ­n Sotuyo Dodero
Juan MartΓ­n Sotuyo Dodero

πŸ’» πŸ“– πŸ› 🚧 - Juan Pablo Civile
Juan Pablo Civile

πŸ› + Juan Pablo Civile
Juan Pablo Civile

πŸ› Julian Voronetsky
Julian Voronetsky

πŸ› Julien
Julien

πŸ› Julius
Julius

πŸ› JustPRV
JustPRV

πŸ› Justin Stroud
Justin Stroud

πŸ’» JΓΆrn Huxhorn
JΓΆrn Huxhorn

πŸ› - KThompso
KThompso

πŸ› + KThompso
KThompso

πŸ› Kai Amundsen
Kai Amundsen

πŸ› Karel Vervaeke
Karel Vervaeke

πŸ› Karl-Andero Mere
Karl-Andero Mere

πŸ› Karl-Philipp Richter
Karl-Philipp Richter

πŸ› Karsten Silz
Karsten Silz

πŸ› Kazuma Watanabe
Kazuma Watanabe

πŸ› - Kev
Kev

πŸ› + Kev
Kev

πŸ› Keve MΓΌller
Keve MΓΌller

πŸ› Kevin Guerra
Kevin Guerra

πŸ’» Kevin Jones
Kevin Jones

πŸ› πŸ’» Kevin Poorman
Kevin Poorman

πŸ› Kevin Wayne
Kevin Wayne

πŸ› Kieran Black
Kieran Black

πŸ› - Kirill Zubov
Kirill Zubov

πŸ› + Kirill Zubov
Kirill Zubov

πŸ› Kirk Clemens
Kirk Clemens

πŸ’» πŸ› Klaus Hartl
Klaus Hartl

πŸ› Koen Van Looveren
Koen Van Looveren

πŸ› Kris Scheibe
Kris Scheibe

πŸ’» πŸ› Krystian Dabrowski
Krystian Dabrowski

πŸ› πŸ’» Kunal Thanki
Kunal Thanki

πŸ› - LaLucid
LaLucid

πŸ’» + LaLucid
LaLucid

πŸ’» Larry Diamond
Larry Diamond

πŸ’» πŸ› Lars Knickrehm
Lars Knickrehm

πŸ› Laurent Bovet
Laurent Bovet

πŸ› πŸ’» Leo Gutierrez
Leo Gutierrez

πŸ› LiGaOg
LiGaOg

πŸ’» Liam Sharp
Liam Sharp

πŸ› - Lintsi
Lintsi

πŸ› + Lintsi
Lintsi

πŸ› Linus Fernandes
Linus Fernandes

πŸ› Lixon Lookose
Lixon Lookose

πŸ› Logesh
Logesh

πŸ› Lorenzo Gabriele
Lorenzo Gabriele

πŸ› LoΓ―c Ledoyen
LoΓ―c Ledoyen

πŸ› Lucas
Lucas

πŸ› - Lucas Silva
Lucas Silva

πŸ› + Lucas Silva
Lucas Silva

πŸ› Lucas Soncini
Lucas Soncini

πŸ’» πŸ› Luis Alcantar
Luis Alcantar

πŸ’» Lukasz Slonina
Lukasz Slonina

πŸ› Lukebray
Lukebray

πŸ› Lynn
Lynn

πŸ’» πŸ› Lyor Goldstein
Lyor Goldstein

πŸ› - MCMicS
MCMicS

πŸ› + MCMicS
MCMicS

πŸ› Macarse
Macarse

πŸ› Machine account for PMD
Machine account for PMD

πŸ’» Maciek Siemczyk
Maciek Siemczyk

πŸ› Maikel Steneker
Maikel Steneker

πŸ’» πŸ› Maksim Moiseikin
Maksim Moiseikin

πŸ› Manfred Koch
Manfred Koch

πŸ› - Manuel Moya Ferrer
Manuel Moya Ferrer

πŸ’» πŸ› + Manuel Moya Ferrer
Manuel Moya Ferrer

πŸ’» πŸ› Manuel Ryan
Manuel Ryan

πŸ› Marat Vyshegorodtsev
Marat Vyshegorodtsev

πŸ› Marcel HΓ€rle
Marcel HΓ€rle

πŸ› Marcello Fialho
Marcello Fialho

πŸ› Marcin DΔ…browski
Marcin DΔ…browski

πŸ’» Marcin Rataj
Marcin Rataj

πŸ› - Marcono1234
Marcono1234

πŸ› + Marcono1234
Marcono1234

πŸ› Mark Adamcin
Mark Adamcin

πŸ› Mark Hall
Mark Hall

πŸ’» πŸ› Mark Kolich
Mark Kolich

πŸ› Mark Pritchard
Mark Pritchard

πŸ› Markus Rathgeb
Markus Rathgeb

πŸ› Marquis Wang
Marquis Wang

πŸ› - MartGit
MartGit

πŸ› + MartGit
MartGit

πŸ› Martin Feldsztejn
Martin Feldsztejn

πŸ› Martin Lehmann
Martin Lehmann

πŸ› Martin Spamer
Martin Spamer

πŸ› Martin TarjΓ‘nyi
Martin TarjΓ‘nyi

πŸ› MatFl
MatFl

πŸ› Mateusz Stefanski
Mateusz Stefanski

πŸ› - Mathieu Gouin
Mathieu Gouin

πŸ› + Mathieu Gouin
Mathieu Gouin

πŸ› MatiasComercio
MatiasComercio

πŸ’» πŸ› Matt Benson
Matt Benson

πŸ› Matt De Poorter
Matt De Poorter

πŸ› Matt Hargett
Matt Hargett

πŸ’» πŸ’΅ Matt Harrah
Matt Harrah

πŸ› Matt Nelson
Matt Nelson

πŸ› - Matthew Amos
Matthew Amos

πŸ› + Matthew Amos
Matthew Amos

πŸ› Matthew Duggan
Matthew Duggan

πŸ› Matthew Hall
Matthew Hall

πŸ› MatΓ­as Fraga
MatΓ­as Fraga

πŸ’» πŸ› Maxime Robert
Maxime Robert

πŸ’» πŸ› MetaBF
MetaBF

πŸ› Metin Dagcilar
Metin Dagcilar

πŸ› - Michael
Michael

πŸ› + Michael
Michael

πŸ› Michael Bell
Michael Bell

πŸ› Michael Bernstein
Michael Bernstein

πŸ› Michael Clay
Michael Clay

πŸ› Michael Dombrowski
Michael Dombrowski

πŸ› Michael Hausegger
Michael Hausegger

πŸ› Michael Hoefer
Michael Hoefer

πŸ› - Michael Kolesnikov
Michael Kolesnikov

πŸ› + Michael Kolesnikov
Michael Kolesnikov

πŸ› Michael MΓΆbius
Michael MΓΆbius

πŸ› Michael N. Lipp
Michael N. Lipp

πŸ› Michael Pellegrini
Michael Pellegrini

πŸ› Michal Kordas
Michal Kordas

πŸ› MichaΕ‚ Borek
MichaΕ‚ Borek

πŸ› MichaΕ‚ KuliΕ„ski
MichaΕ‚ KuliΕ„ski

πŸ› - Miguel NΓΊΓ±ez DΓ­az-Montes
Miguel NΓΊΓ±ez DΓ­az-Montes

πŸ› + Miguel NΓΊΓ±ez DΓ­az-Montes
Miguel NΓΊΓ±ez DΓ­az-Montes

πŸ› Mihai Ionut
Mihai Ionut

πŸ› Mikhail Kuchma
Mikhail Kuchma

πŸ› Mirek Hankus
Mirek Hankus

πŸ› Mitch Spano
Mitch Spano

πŸ› Mladjan Gadzic
Mladjan Gadzic

πŸ› MrAngry52
MrAngry52

πŸ› - Muminur Choudhury
Muminur Choudhury

πŸ› + Muminur Choudhury
Muminur Choudhury

πŸ› Mykhailo Palahuta
Mykhailo Palahuta

πŸ’» πŸ› Nagendra Kumar Singh
Nagendra Kumar Singh

πŸ› Nahuel Barrios
Nahuel Barrios

πŸ› Nakul Sharma
Nakul Sharma

πŸ› Nathan Braun
Nathan Braun

πŸ› Nathan Reynolds
Nathan Reynolds

πŸ› - Nathan Reynolds
Nathan Reynolds

πŸ› + Nathan Reynolds
Nathan Reynolds

πŸ› NathanaΓ«l
NathanaΓ«l

πŸ› Naveen
Naveen

πŸ’» Nazdravi
Nazdravi

πŸ› Neha-Dhonde
Neha-Dhonde

πŸ› Nicholas Doyle
Nicholas Doyle

πŸ› Nick Butcher
Nick Butcher

πŸ› - Nico Gallinal
Nico Gallinal

πŸ› + Nico Gallinal
Nico Gallinal

πŸ› Nicola Dal Maso
Nicola Dal Maso

πŸ› Nicolas Filotto
Nicolas Filotto

πŸ’» Nicolas Vervelle
Nicolas Vervelle

πŸ› Nicolas Vuillamy
Nicolas Vuillamy

πŸ“– Nikita Chursin
Nikita Chursin

πŸ› Niklas Baudy
Niklas Baudy

πŸ› - Nikolas Havrikov
Nikolas Havrikov

πŸ› + Nikolas Havrikov
Nikolas Havrikov

πŸ› Nilesh Virkar
Nilesh Virkar

πŸ› Nimit Patel
Nimit Patel

πŸ› Niranjan Harpale
Niranjan Harpale

πŸ› Nirvik Patel
Nirvik Patel

πŸ’» Noah Sussman
Noah Sussman

πŸ› Noah0120
Noah0120

πŸ› - Noam Tamim
Noam Tamim

πŸ› + Noam Tamim
Noam Tamim

πŸ› Noel Grandin
Noel Grandin

πŸ› Olaf Haalstra
Olaf Haalstra

πŸ› Oleg Andreych
Oleg Andreych

πŸ’» πŸ› Oleg Pavlenko
Oleg Pavlenko

πŸ› Oleksii Dykov
Oleksii Dykov

πŸ’» πŸ› Oliver Eikemeier
Oliver Eikemeier

πŸ› - Oliver Siegmar
Oliver Siegmar

πŸ’΅ + Oliver Siegmar
Oliver Siegmar

πŸ’΅ Olivier Parent
Olivier Parent

πŸ’» πŸ› Ollie Abbey
Ollie Abbey

πŸ’» πŸ› OverDrone
OverDrone

πŸ› Ozan Gulle
Ozan Gulle

πŸ’» πŸ› PUNEET JAIN
PUNEET JAIN

πŸ› Parbati Bose
Parbati Bose

πŸ› - Paul Berg
Paul Berg

πŸ› + Paul Berg
Paul Berg

πŸ› Paul Guyot
Paul Guyot

πŸ’» Pavel Bludov
Pavel Bludov

πŸ› Pavel Mička
Pavel Mička

πŸ› Pedro Nuno Santos
Pedro Nuno Santos

πŸ› Pedro Rijo
Pedro Rijo

πŸ› Pelisse Romain
Pelisse Romain

πŸ’» πŸ“– πŸ› - Per Abich
Per Abich

πŸ’» + Per Abich
Per Abich

πŸ’» Pete Davids
Pete Davids

πŸ› Peter Bruin
Peter Bruin

πŸ› Peter Chittum
Peter Chittum

πŸ’» πŸ› Peter Cudmore
Peter Cudmore

πŸ› Peter Kasson
Peter Kasson

πŸ› Peter Kofler
Peter Kofler

πŸ› - Peter Paul Bakker
Peter Paul Bakker

πŸ’» + Peter Paul Bakker
Peter Paul Bakker

πŸ’» Peter Rader
Peter Rader

πŸ› Pham Hai Trung
Pham Hai Trung

πŸ› Philip Graf
Philip Graf

πŸ’» πŸ› Philip Hachey
Philip Hachey

πŸ› Philippe Ozil
Philippe Ozil

πŸ› Phinehas Artemix
Phinehas Artemix

πŸ› - Phokham Nonava
Phokham Nonava

πŸ› + Phokham Nonava
Phokham Nonava

πŸ› Pim van der Loos
Pim van der Loos

πŸ’» ⚠️ Piotr SzymaΕ„ski
Piotr SzymaΕ„ski

πŸ› Piotrek Ε»ygieΕ‚o
Piotrek Ε»ygieΕ‚o

πŸ’» πŸ› πŸ“– Pranay Jaiswal
Pranay Jaiswal

πŸ› Prasad Kamath
Prasad Kamath

πŸ› Prasanna
Prasanna

πŸ› - Presh-AR
Presh-AR

πŸ› + Presh-AR
Presh-AR

πŸ› Puneet1726
Puneet1726

πŸ› RBRi
RBRi

πŸ› Rafael CortΓͺs
Rafael CortΓͺs

πŸ› RaheemShaik999
RaheemShaik999

πŸ› RajeshR
RajeshR

πŸ’» πŸ› Ramachandra Mohan
Ramachandra Mohan

πŸ› - Ramel0921
Ramel0921

πŸ› + Ramel0921
Ramel0921

πŸ› Raquel Pau
Raquel Pau

πŸ› Ravikiran Janardhana
Ravikiran Janardhana

πŸ› Reda Benhemmouche
Reda Benhemmouche

πŸ› Reinhard Schiedermeier
Reinhard Schiedermeier

πŸ› Renato Oliveira
Renato Oliveira

πŸ’» πŸ› Rich DiCroce
Rich DiCroce

πŸ› - Richard Corfield
Richard Corfield

πŸ’» + Richard Corfield
Richard Corfield

πŸ’» Richard Corfield
Richard Corfield

πŸ› πŸ’» Riot R1cket
Riot R1cket

πŸ› Rishabh Jain
Rishabh Jain

πŸ› RishabhDeep Singh
RishabhDeep Singh

πŸ› Rob Baillie
Rob Baillie

πŸ› Robbie Martinus
Robbie Martinus

πŸ’» πŸ› - Robert Henry
Robert Henry

πŸ› + Robert Henry
Robert Henry

πŸ› Robert Mihaly
Robert Mihaly

πŸ› Robert Painsi
Robert Painsi

πŸ› Robert Russell
Robert Russell

πŸ› Robert SΓΆsemann
Robert SΓΆsemann

πŸ’» πŸ“– πŸ“’ πŸ› Robert Whitebit
Robert Whitebit

πŸ› Robin Richtsfeld
Robin Richtsfeld

πŸ› - Robin Stocker
Robin Stocker

πŸ’» πŸ› + Robin Stocker
Robin Stocker

πŸ’» πŸ› Robin Wils
Robin Wils

πŸ› RochusOest
RochusOest

πŸ› Rodolfo Noviski
Rodolfo Noviski

πŸ› Rodrigo Casara
Rodrigo Casara

πŸ› Rodrigo Fernandes
Rodrigo Fernandes

πŸ› Roman Salvador
Roman Salvador

πŸ’» πŸ› - Ronald Blaschke
Ronald Blaschke

πŸ› + Ronald Blaschke
Ronald Blaschke

πŸ› RΓ³bert Papp
RΓ³bert Papp

πŸ› Saikat Sengupta
Saikat Sengupta

πŸ› Saksham Handu
Saksham Handu

πŸ› Saladoc
Saladoc

πŸ› Salesforce Bob Lightning
Salesforce Bob Lightning

πŸ› Sam Carlberg
Sam Carlberg

πŸ› - Sashko
Sashko

πŸ’» + Sashko
Sashko

πŸ’» Satoshi Kubo
Satoshi Kubo

πŸ› Scott Kennedy
Scott Kennedy

πŸ› Scott Wells
Scott Wells

πŸ› πŸ’» Scrates1
Scrates1

πŸ› πŸ’» Scrsloota
Scrsloota

πŸ’» Sebastian BΓΆgl
Sebastian BΓΆgl

πŸ› - Sebastian Davids
Sebastian Davids

πŸ› + Sebastian Davids
Sebastian Davids

πŸ› Sebastian Schuberth
Sebastian Schuberth

πŸ› Sebastian Schwarz
Sebastian Schwarz

πŸ› Seren
Seren

πŸ› πŸ’» Sergey Gorbaty
Sergey Gorbaty

πŸ› Sergey Kozlov
Sergey Kozlov

πŸ› Sergey Yanzin
Sergey Yanzin

πŸ’» πŸ› - Seth Wilcox
Seth Wilcox

πŸ’» + Seth Wilcox
Seth Wilcox

πŸ’» Shai Bennathan
Shai Bennathan

πŸ› πŸ’» Shubham
Shubham

πŸ’» πŸ› Simon Abykov
Simon Abykov

πŸ’» πŸ› Simon Xiao
Simon Xiao

πŸ› Srinivasan Venkatachalam
Srinivasan Venkatachalam

πŸ› Stanislav Gromov
Stanislav Gromov

πŸ› - Stanislav Myachenkov
Stanislav Myachenkov

πŸ’» + Stanislav Myachenkov
Stanislav Myachenkov

πŸ’» Stefan Birkner
Stefan Birkner

πŸ› Stefan Bohn
Stefan Bohn

πŸ› Stefan Endrullis
Stefan Endrullis

πŸ› Stefan KlΓΆss-Schuster
Stefan KlΓΆss-Schuster

πŸ› Stefan Wolf
Stefan Wolf

πŸ› Stephan H. Wissel
Stephan H. Wissel

πŸ› - Stephen
Stephen

πŸ› + Stephen
Stephen

πŸ› Stephen Carter
Stephen Carter

πŸ› Stephen Friedrich
Stephen Friedrich

πŸ› Steve Babula
Steve Babula

πŸ’» Steven Stearns
Steven Stearns

πŸ› πŸ’» Stexxe
Stexxe

πŸ› Stian LΓ₯gstad
Stian LΓ₯gstad

πŸ› - StuartClayton5
StuartClayton5

πŸ› + StuartClayton5
StuartClayton5

πŸ› Supun Arunoda
Supun Arunoda

πŸ› Suren Abrahamyan
Suren Abrahamyan

πŸ› Suvashri
Suvashri

πŸ“– SwatiBGupta1110
SwatiBGupta1110

πŸ› SyedThoufich
SyedThoufich

πŸ› Szymon Sasin
Szymon Sasin

πŸ› - T-chuangxin
T-chuangxin

πŸ› + T-chuangxin
T-chuangxin

πŸ› TERAI Atsuhiro
TERAI Atsuhiro

πŸ› TIOBE Software
TIOBE Software

πŸ’» πŸ› Tarush Singh
Tarush Singh

πŸ’» Taylor Smock
Taylor Smock

πŸ› Techeira DamiΓ‘n
Techeira DamiΓ‘n

πŸ’» πŸ› Ted Husted
Ted Husted

πŸ› - TehBakker
TehBakker

πŸ› + TehBakker
TehBakker

πŸ› The Gitter Badger
The Gitter Badger

πŸ› Theodoor
Theodoor

πŸ› Thiago Henrique HΓΌpner
Thiago Henrique HΓΌpner

πŸ› Thibault Meyer
Thibault Meyer

πŸ› Thomas GΓΌttler
Thomas GΓΌttler

πŸ› Thomas Jones-Low
Thomas Jones-Low

πŸ› - Thomas Smith
Thomas Smith

πŸ’» πŸ› + Thomas Smith
Thomas Smith

πŸ’» πŸ› ThrawnCA
ThrawnCA

πŸ› Thu Vo
Thu Vo

πŸ› Thunderforge
Thunderforge

πŸ’» πŸ› Tim van der Lippe
Tim van der Lippe

πŸ› Tobias Weimer
Tobias Weimer

πŸ’» πŸ› Tom Copeland
Tom Copeland

πŸ› πŸ’» πŸ“– - Tom Daly
Tom Daly

πŸ› + Tom Daly
Tom Daly

πŸ› Tomas
Tomas

πŸ› Tomer Figenblat
Tomer Figenblat

πŸ› Tomi De Lucca
Tomi De Lucca

πŸ’» πŸ› Torsten Kleiber
Torsten Kleiber

πŸ› TrackerSB
TrackerSB

πŸ› Tyson Stewart
Tyson Stewart

πŸ› - Ullrich Hafner
Ullrich Hafner

πŸ› + Ullrich Hafner
Ullrich Hafner

πŸ› Utku Cuhadaroglu
Utku Cuhadaroglu

πŸ’» πŸ› Valentin Brandl
Valentin Brandl

πŸ› Valeria
Valeria

πŸ› Valery Yatsynovich
Valery Yatsynovich

πŸ“– Vasily Anisimov
Vasily Anisimov

πŸ› Vibhor Goyal
Vibhor Goyal

πŸ› - Vickenty Fesunov
Vickenty Fesunov

πŸ› + Vickenty Fesunov
Vickenty Fesunov

πŸ› Victor NoΓ«l
Victor NoΓ«l

πŸ› Vincent Galloy
Vincent Galloy

πŸ’» Vincent HUYNH
Vincent HUYNH

πŸ› Vincent Maurin
Vincent Maurin

πŸ› Vincent Privat
Vincent Privat

πŸ› Vishhwas
Vishhwas

πŸ› - Vishv_Android
Vishv_Android

πŸ› + Vishv_Android
Vishv_Android

πŸ› Vitaly
Vitaly

πŸ› Vitaly Polonetsky
Vitaly Polonetsky

πŸ› Vojtech Polivka
Vojtech Polivka

πŸ› Vsevolod Zholobov
Vsevolod Zholobov

πŸ› Vyom Yadav
Vyom Yadav

πŸ’» Wang Shidong
Wang Shidong

πŸ› - Waqas Ahmed
Waqas Ahmed

πŸ› + Waqas Ahmed
Waqas Ahmed

πŸ› Wayne J. Earl
Wayne J. Earl

πŸ› Wchenghui
Wchenghui

πŸ› Wener
Wener

πŸ’» Will Winder
Will Winder

πŸ› William Brockhus
William Brockhus

πŸ’» πŸ› Wilson Kurniawan
Wilson Kurniawan

πŸ› - Wim Deblauwe
Wim Deblauwe

πŸ› + Wim Deblauwe
Wim Deblauwe

πŸ› Woongsik Choi
Woongsik Choi

πŸ› XenoAmess
XenoAmess

πŸ’» πŸ› Yang
Yang

πŸ’» YaroslavTER
YaroslavTER

πŸ› Yasar Shaikh
Yasar Shaikh

πŸ’» Young Chan
Young Chan

πŸ’» πŸ› - YuJin Kim
YuJin Kim

πŸ› + YuJin Kim
YuJin Kim

πŸ› Yuri Dolzhenko
Yuri Dolzhenko

πŸ› Yurii Dubinka
Yurii Dubinka

πŸ› Zoltan Farkas
Zoltan Farkas

πŸ› Zustin
Zustin

πŸ› aaronhurst-google
aaronhurst-google

πŸ› πŸ’» alexmodis
alexmodis

πŸ› - andreoss
andreoss

πŸ› + andreoss
andreoss

πŸ› andrey81inmd
andrey81inmd

πŸ’» πŸ› anicoara
anicoara

πŸ› arunprasathav
arunprasathav

πŸ› asiercamara
asiercamara

πŸ› astillich-igniti
astillich-igniti

πŸ’» avesolovksyy
avesolovksyy

πŸ› - avishvat
avishvat

πŸ› + avishvat
avishvat

πŸ› avivmu
avivmu

πŸ› axelbarfod1
axelbarfod1

πŸ› b-3-n
b-3-n

πŸ› balbhadra9
balbhadra9

πŸ› base23de
base23de

πŸ› bergander
bergander

πŸ› πŸ’» - berkam
berkam

πŸ’» πŸ› + berkam
berkam

πŸ’» πŸ› breizh31
breizh31

πŸ› caesarkim
caesarkim

πŸ› carolyujing
carolyujing

πŸ› cbfiddle
cbfiddle

πŸ› cesares-basilico
cesares-basilico

πŸ› chrite
chrite

πŸ› - ciufudean
ciufudean

πŸ“– + ciufudean
ciufudean

πŸ“– cobratbq
cobratbq

πŸ› coladict
coladict

πŸ› cosmoJFH
cosmoJFH

πŸ› cristalp
cristalp

πŸ› crunsk
crunsk

πŸ› cwholmes
cwholmes

πŸ› - cyberjj999
cyberjj999

πŸ› + cyberjj999
cyberjj999

πŸ› cyw3
cyw3

πŸ› πŸ“– d1ss0nanz
d1ss0nanz

πŸ› dague1
dague1

πŸ“– dalizi007
dalizi007

πŸ’» danbrycefairsailcom
danbrycefairsailcom

πŸ› dariansanity
dariansanity

πŸ› - darrenmiliband
darrenmiliband

πŸ› + darrenmiliband
darrenmiliband

πŸ› davidburstrom
davidburstrom

πŸ› dbirkman-paloalto
dbirkman-paloalto

πŸ› deepak-patra
deepak-patra

πŸ› dependabot[bot]
dependabot[bot]

πŸ’» πŸ› dinesh150
dinesh150

πŸ› diziaq
diziaq

πŸ› - dreaminpast123
dreaminpast123

πŸ› + dreaminpast123
dreaminpast123

πŸ› duanyanan
duanyanan

πŸ› dutt-sanjay
dutt-sanjay

πŸ› duursma
duursma

πŸ’» dylanleung
dylanleung

πŸ› dzeigler
dzeigler

πŸ› eant60
eant60

πŸ› - ekkirala
ekkirala

πŸ› + ekkirala
ekkirala

πŸ› emersonmoura
emersonmoura

πŸ› emouty
emouty

πŸ’» eugenepugach
eugenepugach

πŸ› fairy
fairy

πŸ› filiprafalowicz
filiprafalowicz

πŸ’» flxbl-io
flxbl-io

πŸ’΅ - foxmason
foxmason

πŸ› + foxmason
foxmason

πŸ› frankegabor
frankegabor

πŸ› frankl
frankl

πŸ› freafrea
freafrea

πŸ› fsapatin
fsapatin

πŸ› gearsethenry
gearsethenry

πŸ› gracia19
gracia19

πŸ› - guo fei
guo fei

πŸ› + guo fei
guo fei

πŸ› gurmsc5
gurmsc5

πŸ› gwilymatgearset
gwilymatgearset

πŸ’» πŸ› haigsn
haigsn

πŸ› hemanshu070
hemanshu070

πŸ› henrik242
henrik242

πŸ› hongpuwu
hongpuwu

πŸ› - hvbtup
hvbtup

πŸ’» πŸ› + hvbtup
hvbtup

πŸ’» πŸ› igniti GmbH
igniti GmbH

πŸ› ilovezfs
ilovezfs

πŸ› itaigilo
itaigilo

πŸ› jakivey32
jakivey32

πŸ› jbennett2091
jbennett2091

πŸ› jcamerin
jcamerin

πŸ› - jkeener1
jkeener1

πŸ› + jkeener1
jkeener1

πŸ› jmetertea
jmetertea

πŸ› johnra2
johnra2

πŸ’» johnzhao9
johnzhao9

πŸ› josemanuelrolon
josemanuelrolon

πŸ’» πŸ› kabroxiko
kabroxiko

πŸ’» πŸ› karthikaiyasamy
karthikaiyasamy

πŸ“– - karwer
karwer

πŸ› + karwer
karwer

πŸ› kaulonline
kaulonline

πŸ› kdaemonv
kdaemonv

πŸ› kdebski85
kdebski85

πŸ› πŸ’» kenji21
kenji21

πŸ’» πŸ› kfranic
kfranic

πŸ› khalidkh
khalidkh

πŸ› - koalalam
koalalam

πŸ› + koalalam
koalalam

πŸ› krzyk
krzyk

πŸ› lasselindqvist
lasselindqvist

πŸ› lgemeinhardt
lgemeinhardt

πŸ› lihuaib
lihuaib

πŸ› liqingjun123
liqingjun123

πŸ› lonelyma1021
lonelyma1021

πŸ› - lpeddy
lpeddy

πŸ› + lpeddy
lpeddy

πŸ› lujiefsi
lujiefsi

πŸ’» lukelukes
lukelukes

πŸ’» lyriccoder
lyriccoder

πŸ› marcelmore
marcelmore

πŸ› matchbox
matchbox

πŸ› matthiaskraaz
matthiaskraaz

πŸ› - meandonlyme
meandonlyme

πŸ› + meandonlyme
meandonlyme

πŸ› mikesive
mikesive

πŸ› milossesic
milossesic

πŸ› mluckam
mluckam

πŸ’» πŸ› mohan-chinnappan-n
mohan-chinnappan-n

πŸ’» mriddell95
mriddell95

πŸ› mrlzh
mrlzh

πŸ› - msloan
msloan

πŸ› + msloan
msloan

πŸ› mucharlaravalika
mucharlaravalika

πŸ› mvenneman
mvenneman

πŸ› nareshl119
nareshl119

πŸ› nicolas-harraudeau-sonarsource
nicolas-harraudeau-sonarsource

πŸ› noerremark
noerremark

πŸ› novsirion
novsirion

πŸ› - nwcm
nwcm

πŸ“– πŸ› πŸ’» + nwcm
nwcm

πŸ“– πŸ› πŸ’» oggboy
oggboy

πŸ› oinume
oinume

πŸ› orimarko
orimarko

πŸ’» πŸ› pablogomez2197
pablogomez2197

πŸ› pacvz
pacvz

πŸ’» pallavi agarwal
pallavi agarwal

πŸ› - parksungrin
parksungrin

πŸ› + parksungrin
parksungrin

πŸ› patpatpat123
patpatpat123

πŸ› patriksevallius
patriksevallius

πŸ› pbrajesh1
pbrajesh1

πŸ› phoenix384
phoenix384

πŸ› piotrszymanski-sc
piotrszymanski-sc

πŸ’» plan3d
plan3d

πŸ› - poojasix
poojasix

πŸ› + poojasix
poojasix

πŸ› prabhushrikant
prabhushrikant

πŸ› pujitha8783
pujitha8783

πŸ› r-r-a-j
r-r-a-j

πŸ› raghujayjunk
raghujayjunk

πŸ› rajeshveera
rajeshveera

πŸ› rajeswarreddy88
rajeswarreddy88

πŸ› - recdevs
recdevs

πŸ› + recdevs
recdevs

πŸ› reudismam
reudismam

πŸ’» πŸ› rijkt
rijkt

πŸ› rillig-tk
rillig-tk

πŸ› rmohan20
rmohan20

πŸ’» πŸ› rnveach
rnveach

πŸ› rxmicro
rxmicro

πŸ› - ryan-gustafson
ryan-gustafson

πŸ’» πŸ› + ryan-gustafson
ryan-gustafson

πŸ’» πŸ› sabi0
sabi0

πŸ› scais
scais

πŸ› schosin
schosin

πŸ› screamingfrog
screamingfrog

πŸ’΅ sebbASF
sebbASF

πŸ› sergeygorbaty
sergeygorbaty

πŸ’» - shilko2013
shilko2013

πŸ› + shilko2013
shilko2013

πŸ› shiomiyan
shiomiyan

πŸ“– simeonKondr
simeonKondr

πŸ› snajberk
snajberk

πŸ› sniperrifle2004
sniperrifle2004

πŸ› snuyanzin
snuyanzin

πŸ› πŸ’» soloturn
soloturn

πŸ› - soyodream
soyodream

πŸ› + soyodream
soyodream

πŸ› sratz
sratz

πŸ› stonio
stonio

πŸ› sturton
sturton

πŸ’» πŸ› sudharmohan
sudharmohan

πŸ› suruchidawar
suruchidawar

πŸ› svenfinitiv
svenfinitiv

πŸ› - szymanp23
szymanp23

πŸ› πŸ’» + szymanp23
szymanp23

πŸ› πŸ’» tashiscool
tashiscool

πŸ› test-git-hook
test-git-hook

πŸ› testation21
testation21

πŸ’» πŸ› thanosa
thanosa

πŸ› tiandiyixian
tiandiyixian

πŸ› tobwoerk
tobwoerk

πŸ› - tprouvot
tprouvot

πŸ› πŸ’» + tprouvot
tprouvot

πŸ› πŸ’» trentchilders
trentchilders

πŸ› triandicAnt
triandicAnt

πŸ› trishul14
trishul14

πŸ› tsui
tsui

πŸ› wangzitom12306
wangzitom12306

πŸ› winhkey
winhkey

πŸ› - witherspore
witherspore

πŸ› + witherspore
witherspore

πŸ› wjljack
wjljack

πŸ› wuchiuwong
wuchiuwong

πŸ› xingsong
xingsong

πŸ› xioayuge
xioayuge

πŸ› xnYi9wRezm
xnYi9wRezm

πŸ’» πŸ› xuanuy
xuanuy

πŸ› - xyf0921
xyf0921

πŸ› + xyf0921
xyf0921

πŸ› yalechen-cyw3
yalechen-cyw3

πŸ› yasuharu-sato
yasuharu-sato

πŸ› zenglian
zenglian

πŸ› zgrzyt93
zgrzyt93

πŸ’» πŸ› zh3ng
zh3ng

πŸ› zt_soft
zt_soft

πŸ› - ztt79
ztt79

πŸ› + ztt79
ztt79

πŸ› zzzzfeng
zzzzfeng

πŸ› ÁrpΓ‘d MagosΓ‘nyi
ÁrpÑd MagosÑnyi

πŸ› 任贡杰
任贡杰

πŸ› diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 98690ffc88..7a8b084690 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -40,6 +40,8 @@ are no longer available. #### New Rules * The new Java rule {%rule java/multithreading/AvoidSynchronizedStatement %} finds synchronization blocks that could cause performance issues with virtual threads due to pinning. +* The new JavaScript rule {%rule ecmascript/performance/AvoidConsoleStatements %} finds any function calls + on the Console API (e.g. `console.log`). Using these in production code might negatively impact performance. ### πŸ› Fixed Issues * apex-performance @@ -59,6 +61,8 @@ are no longer available. * [#5162](https://github.com/pmd/pmd/issues/5162): \[java] SingularField: False-positive when preceded by synchronized block * java-multithreading * [#5175](https://github.com/pmd/pmd/issues/5175): \[java] Update AvoidSynchronizedAtMethodLevel message to mention ReentrantLock, new rule AvoidSynchronizedStatement +* javascript-performance + * [#5105](https://github.com/pmd/pmd/issues/5105): \[javascript] Prohibit any console methods * plsql * [#5125](https://github.com/pmd/pmd/pull/5125): \[plsql] Improve merge statement (order of merge insert/update flexible, allow prefixes in column names) * plsql-bestpractices diff --git a/pmd-javascript/src/main/resources/category/ecmascript/categories.properties b/pmd-javascript/src/main/resources/category/ecmascript/categories.properties index d8a50e2fe7..feac70cd37 100644 --- a/pmd-javascript/src/main/resources/category/ecmascript/categories.properties +++ b/pmd-javascript/src/main/resources/category/ecmascript/categories.properties @@ -5,7 +5,8 @@ rulesets.filenames=\ category/ecmascript/bestpractices.xml,\ category/ecmascript/codestyle.xml,\ - category/ecmascript/errorprone.xml + category/ecmascript/errorprone.xml,\ + category/ecmascript/performance.xml # #empty categories: @@ -13,5 +14,4 @@ rulesets.filenames=\ #category/ecmascript/design.xml, #category/ecmascript/documentation.xml, #category/ecmascript/multithreading.xml, -#category/ecmascript/performance.xml, #category/ecmascript/security.xml, diff --git a/pmd-javascript/src/main/resources/category/ecmascript/performance.xml b/pmd-javascript/src/main/resources/category/ecmascript/performance.xml index 10ce6520bb..e900a1d29e 100644 --- a/pmd-javascript/src/main/resources/category/ecmascript/performance.xml +++ b/pmd-javascript/src/main/resources/category/ecmascript/performance.xml @@ -1,5 +1,4 @@ - + + +Using the console for logging in production might negatively impact performance. +In addition, logging could expose sensitive data. + + 3 + + + + + + + + + diff --git a/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/rule/performance/AvoidConsoleStatementsTest.java b/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/rule/performance/AvoidConsoleStatementsTest.java new file mode 100644 index 0000000000..5899fef6da --- /dev/null +++ b/pmd-javascript/src/test/java/net/sourceforge/pmd/lang/ecmascript/rule/performance/AvoidConsoleStatementsTest.java @@ -0,0 +1,11 @@ +/* + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.ecmascript.rule.performance; + +import net.sourceforge.pmd.test.PmdRuleTst; + +class AvoidConsoleStatementsTest extends PmdRuleTst { + // no additional unit tests +} diff --git a/pmd-javascript/src/test/resources/net/sourceforge/pmd/lang/ecmascript/rule/performance/xml/AvoidConsoleStatements.xml b/pmd-javascript/src/test/resources/net/sourceforge/pmd/lang/ecmascript/rule/performance/xml/AvoidConsoleStatements.xml new file mode 100644 index 0000000000..5263077d4c --- /dev/null +++ b/pmd-javascript/src/test/resources/net/sourceforge/pmd/lang/ecmascript/rule/performance/xml/AvoidConsoleStatements.xml @@ -0,0 +1,58 @@ + + + + + Any console method should be flagged + 9 + + + + + Any console method via window.console should be flagged + 9 + + + + + Other similar methods shouldn't be flagged + 0 + + +