diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index 84a03c743b95a..b839c7fdb3296 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -4,5 +4,6 @@ f4118e110a46de3ffb799e7d79bf15128d1646ea
ae0a783425b80b78376488619bf9106e69193fa4
9c1e36257c4df0929179462d6b2bdd00453ac8aa
6ae74d38e3d20d0ffcc66c7c3d28767fab76bdfb
-# Prefix all sprintf() calls
6ce530c5e90397d88e3a76a56db266c74d651584
+77bd236b8da064c90b19b84a35becfb3e43348db
+d0bc10e7432901098fe50bcccad53f487978c33d
diff --git a/.github/expected-missing-return-types.diff b/.github/expected-missing-return-types.diff
index d838ce9f7c759..81280511c164f 100644
--- a/.github/expected-missing-return-types.diff
+++ b/.github/expected-missing-return-types.diff
@@ -578,7 +578,7 @@ diff --git a/src/Symfony/Component/Translation/Extractor/ExtractorInterface.php
diff --git a/src/Symfony/Component/TypeInfo/Tests/Fixtures/DummyWithPhpDoc.php b/src/Symfony/Component/TypeInfo/Tests/Fixtures/DummyWithPhpDoc.php
--- a/src/Symfony/Component/TypeInfo/Tests/Fixtures/DummyWithPhpDoc.php
+++ b/src/Symfony/Component/TypeInfo/Tests/Fixtures/DummyWithPhpDoc.php
-@@ -15,5 +15,5 @@ final class DummyWithPhpDoc
+@@ -32,5 +32,5 @@ final class DummyWithPhpDoc
* @return Dummy
*/
- public function getNextDummy(mixed $dummy): mixed
@@ -613,14 +613,14 @@ diff --git a/src/Symfony/Component/VarDumper/Dumper/DataDumperInterface.php b/sr
diff --git a/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php b/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
--- a/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
+++ b/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
-@@ -172,5 +172,5 @@ class ProxyHelperTest extends TestCase
+@@ -173,5 +173,5 @@ class ProxyHelperTest extends TestCase
{
yield 'not type hinted __unserialize method' => [new class {
- public function __unserialize($array)
+ public function __unserialize($array): void
{
}
-@@ -192,5 +192,5 @@ class ProxyHelperTest extends TestCase
+@@ -193,5 +193,5 @@ class ProxyHelperTest extends TestCase
yield 'type hinted __unserialize method' => [new class {
- public function __unserialize(array $array)
diff --git a/.github/workflows/fabbot.yml b/.github/workflows/fabbot.yml
new file mode 100644
index 0000000000000..a187b49ee6991
--- /dev/null
+++ b/.github/workflows/fabbot.yml
@@ -0,0 +1,15 @@
+name: CS
+
+on:
+ pull_request:
+
+permissions:
+ contents: read
+
+jobs:
+ call-fabbot:
+ name: Fabbot
+ uses: symfony-tools/fabbot/.github/workflows/fabbot.yml@main
+ with:
+ package: Symfony
+ check_license: true
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 62ab3e5e6a3aa..e0a663386beee 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -43,13 +43,15 @@ jobs:
run: |
$env:Path = 'c:\php;' + $env:Path
mkdir c:\php && cd c:\php
- iwr -outf php-8.2.0-Win32-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-8.2.0-Win32-vs16-x86.zip
- 7z x php-8.2.0-Win32-vs16-x86.zip -y >nul
+ iwr -outf php.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-8.2.0-Win32-vs16-x86.zip
+ 7z x php.zip -y >nul
cd ext
- iwr -outf php_apcu-5.1.22-8.2-ts-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.22-8.2-ts-vs16-x86.zip
- 7z x php_apcu-5.1.22-8.2-ts-vs16-x86.zip -y >nul
- iwr -outf php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip
- 7z x php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip -y >nul
+ iwr -outf php_apcu.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.22-8.2-ts-vs16-x86.zip
+ 7z x php_apcu.zip -y >nul
+ iwr -outf php_igbinary.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_igbinary-3.2.16-8.2-ts-vs16-x86.zip
+ 7z x php_igbinary.zip -y >nul
+ iwr -outf php_redis.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip
+ 7z x php_redis.zip -y >nul
cd ..
Copy php.ini-development php.ini-min
"memory_limit=-1" >> php.ini-min
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
index c5351e435dea2..108d9d7a6c307 100644
--- a/.php-cs-fixer.dist.php
+++ b/.php-cs-fixer.dist.php
@@ -30,6 +30,7 @@
'@PHPUnit75Migration:risky' => true,
'@Symfony' => true,
'@Symfony:risky' => true,
+ 'phpdoc_var_annotation_correct_order' => true,
'protected_to_private' => false,
'header_comment' => ['header' => $fileHeaderComment],
])
diff --git a/CHANGELOG-7.2.md b/CHANGELOG-7.2.md
index d128815948827..74dfda18d3ec8 100644
--- a/CHANGELOG-7.2.md
+++ b/CHANGELOG-7.2.md
@@ -7,6 +7,47 @@ in 7.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v7.2.0...v7.2.1
+* 7.2.9 (2025-07-31)
+
+ * bug #61276 [DependencyInjection] Escape parameters before resolving env placeholders (MatTheCat)
+ * bug #61268 [Console] [Table] Fix unnecessary wrapping (schlndh)
+ * bug #61085 [Lock] Fix using fractional TTLs (manuelderuiter)
+ * bug #61271 [Messenger] disable detecting modified indexes with DBAL 4.3 (xabbuh)
+ * bug #61242 [Console] [Table] Fix invalid UTF-8 due to text wrapping (schlndh)
+ * bug #61234 [Cache] RedisTrait::doFetch should use pipeline with GET's instead of MGET for Relay\Cluster (dorrogeray)
+ * bug #61246 [VarDumper] Use unique identifier for `RequestContextProvider` (ToshY)
+ * bug #61261 [FrameworkBundle] Fix `lint:container --resolve-env-vars` (MatTheCat)
+ * bug #60296 [Serializer] Handle invalid mapping type property type (KorvinSzanto)
+ * bug #58995 [Config] Do not generate unreachable configuration paths (bobvandevijver)
+ * bug #60867 [WebProfilerBundle] Fix missing indent on non php files opended in the profiler (phcorp)
+ * bug #61223 [Mailer][Brevo] Update Webhook IPs (jarbey)
+ * bug #61201 [Console] Fix JSON description for negatable input flags (nicolas-grekas)
+ * bug #61220 [Cache] fix compatibility with different Relay versions (xabbuh)
+ * bug #61194 [Security] Fix added $token argument to UserCheckerInterface::checkPostAuth() (nicolas-grekas)
+ * bug #61161 [Lock] Fallback to `eval` when `LOAD` fails due to missing script (santysisi)
+ * bug #61158 [FrameworkBundle] Add missing html5-allow-no-tld to XSD file (nicolas-grekas)
+ * bug #61144 [VarDumper] Fix dumping on systems that don't have a working iconv (nicolas-grekas)
+ * bug #61138 [Console] fix profiler with overridden `run()` method (vinceAmstoutz)
+ * bug #61079 [Config] Fix support for attributes on class constants and enum cases (ruudk)
+ * bug #61111 [Translation] fix support of `TranslatableInterface` in `IdentityTranslator` (VincentLanglet)
+ * bug #61117 [Validator] fix handling required options (xabbuh)
+ * bug #61120 [DoctrineBridge] Prevent idle connection listener from running on subrequest (a.dmitryuk, dmitryuk)
+ * bug #61106 Fix `@var` phpdoc (fabpot)
+ * bug #61091 [Lock] [MongoDB] Enforce readPreference=primary and writeConcern=majority (notrix)
+ * bug #61105 [FrameworkBundle] fix phpdoc in `MicroKernelTrait` (santysisi)
+ * bug #61076 [ExpressionLanguage] Fix dumping of null safe operator (ivantsepp)
+ * bug #61056 [Validator] Allow mixed root on `CompoundConstraintTestCase` validator (thePanz)
+ * bug #61028 [Serializer] Fix `readonly` property initialization from incorrect scope (santysisi)
+ * bug #61073 [VarExporter] Dump implicit-nullable types as explicit to prevent the corresponding deprecation (nicolas-grekas)
+ * bug #61062 [Brevo Mailer] Webhook IP Addresses have changed (richardhj)
+ * bug #60975 [Form] Fix precision loss when rounding large integers in `NumberToLocalizedStringTransformer` (OskarStark)
+ * bug #60953 [DoctrineBridge] Restore compatibility with Doctrine ODM (pepeh)
+ * bug #61020 [Doctrine][FrameworkBundle][Serializer][Validator] Increase minimum version of type-info component (mitelg)
+ * bug #61031 [HttpClient] return early if handle has been cleaned up before (xabbuh)
+ * bug #60998 [TwigBridge] fix command option mode (`InputOption::VALUE_REQUIRED`) (gharlan)
+ * bug #60958 [Serializer] remove return type from `AbstractObjectNormalizer::getAllowedAttributes()` (xabbuh)
+ * bug #60507 [Console][Messenger] Fix: Allow `UnrecoverableExceptionInterface` to bypass retry in `RunCommandMessageHandler` (santysisi)
+
* 7.2.8 (2025-06-28)
* bug #60044 [Console] Table counts wrong column width when using colspan and `setColumnMaxWidth()` (vladimir-vv)
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 3e7f5ec2b6e78..ac9a78cee91b3 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -11,8 +11,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Bernhard Schussek (bschussek)
- Robin Chalas (chalas_r)
- Tobias Schultze (tobion)
- - Grégoire Pineau (lyrixx)
- Alexandre Daubois (alexandre-daubois)
+ - Grégoire Pineau (lyrixx)
- Thomas Calvet (fancyweb)
- Christophe Coevoet (stof)
- Wouter de Jong (wouterj)
@@ -24,7 +24,6 @@ The Symfony Connect username in parenthesis allows to get more information
- Ryan Weaver (weaverryan)
- Jérémy DERUSSÉ (jderusse)
- Jules Pietri (heah)
- - Roland Franssen
- Oskar Stark (oskarstark)
- Johannes S (johannes)
- Kris Wallsmith (kriswallsmith)
@@ -45,12 +44,12 @@ The Symfony Connect username in parenthesis allows to get more information
- Lukas Kahwe Smith (lsmith)
- Hamza Amrouche (simperfit)
- Martin Hasoň (hason)
+ - Mathias Arlaud (mtarld)
- Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei)
- Igor Wiedler
- Jan Schädlich (jschaedl)
- - Mathias Arlaud (mtarld)
- Mathieu Lechat (mat_the_cat)
- Simon André (simonandre)
- Vincent Langlet (deviling)
@@ -61,25 +60,23 @@ The Symfony Connect username in parenthesis allows to get more information
- Grégoire Paris (greg0ire)
- Alexandre Salomé (alexandresalome)
- William DURAND
- - ornicar
- Dany Maillard (maidmaid)
- - Eriksen Costa
- Diego Saint Esteben (dosten)
- - Dariusz Ruminski
- - stealth35 (stealth35)
- - Alexander Mols (asm89)
- Gábor Egyed (1ed)
- Francis Besset (francisbesset)
- - Mathieu Santostefano (welcomattic)
- - Titouan Galopin (tgalopin)
+ - Alexander Mols (asm89)
+ - stealth35 (stealth35)
+ - Eriksen Costa
- Pierre du Plessis (pierredup)
- - David Maicher (dmaicher)
+ - Titouan Galopin (tgalopin)
+ - Mathieu Santostefano (welcomattic)
- Tomasz Kowalczyk (thunderer)
+ - David Maicher (dmaicher)
- Bulat Shakirzyanov (avalanche123)
- - Iltar van der Berg
+ - Alexander Schranz (alexander-schranz)
- Miha Vrhovnik (mvrhov)
+ - Iltar van der Berg
- Gary PEGEOT (gary-p)
- - Alexander Schranz (alexander-schranz)
- Saša Stamenković (umpirsky)
- Allison Guilhem (a_guilhem)
- Mathieu Piot (mpiot)
@@ -87,986 +84,870 @@ The Symfony Connect username in parenthesis allows to get more information
- Sarah Khalil (saro0h)
- Laurent VOULLEMIER (lvo)
- Konstantin Kudryashov (everzet)
- - Guilhem N (guilhemn)
- Bilal Amarni (bamarni)
+ - Guilhem N (guilhemn)
- Eriksen Costa
- - Florin Patan (florinpatan)
+ - Ruud Kamphuis (ruudk)
- Vladimir Reznichenko (kalessil)
- - Peter Rehm (rpet)
+ - Florin Patan (florinpatan)
- Henrik Bjørnskov (henrikbjorn)
- - Ruud Kamphuis (ruudk)
- - David Buchmann (dbu)
+ - Peter Rehm (rpet)
- Tomas Norkūnas (norkunas)
- - Andrej Hudec (pulzarraider)
+ - David Buchmann (dbu)
- Jáchym Toušek (enumag)
+ - Andrej Hudec (pulzarraider)
+ - Eric Clemmons (ericclemmons)
- Hubert Lenoir (hubert_lenoir)
- Christian Raue
- - Eric Clemmons (ericclemmons)
- - Denis (yethee)
- - Alex Pott
- Michel Weimerskirch (mweimerskirch)
+ - Matthias Schmidt
+ - Douglas Greenshields (shieldo)
- Issei Murasawa (issei_m)
+ - Alex Pott
- Arnout Boks (aboks)
- - Douglas Greenshields (shieldo)
- - Frank A. Fiebig (fafiebig)
+ - Denis (yethee)
- Baldini
- Fran Moreno (franmomu)
+ - Frank A. Fiebig (fafiebig)
- Antoine Makdessi (amakdessi)
- - Charles Sarrazin (csarrazi)
- - Henrik Westphal (snc)
- Dariusz Górecki (canni)
+ - Henrik Westphal (snc)
+ - Charles Sarrazin (csarrazi)
+ - Massimiliano Arione (garak)
- Ener-Getick
- Graham Campbell (graham)
- Joel Wurtz (brouznouf)
- - Massimiliano Arione (garak)
- - Tugdual Saunier (tucksaun)
- - Lee McDermott
- Brandon Turner
- Luis Cordova (cordoval)
+ - Tugdual Saunier (tucksaun)
+ - Lee McDermott
- Phil E. Taylor (philetaylor)
- - Konstantin Myakshin (koc)
- - Daniel Holmes (dholmes)
- Julien Falque (julienfalque)
- - Toni Uebernickel (havvg)
+ - Konstantin Myakshin (koc)
- Bart van den Burg (burgov)
- - Vasilij Dusko | CREATION
- Jordan Alliot (jalliot)
- - Théo FIDRY
- - John Wards (johnwards)
+ - Daniel Holmes (dholmes)
+ - Vasilij Dusko | CREATION
+ - Toni Uebernickel (havvg)
- Valtteri R (valtzu)
- Yanick Witschi (toflar)
+ - Théo FIDRY
+ - John Wards (johnwards)
- Antoine Hérault (herzult)
- Konstantin.Myakshin
- - Jeroen Spee (jeroens)
- - Arnaud Le Blanc (arnaud-lb)
- - Sebastiaan Stok (sstok)
- Maxime STEINHAUSSER
- Rokas Mikalkėnas (rokasm)
- Tac Tacelosky (tacman1123)
- - gnito-org
- - Tim Nagel (merk)
- - Chris Wilkinson (thewilkybarkid)
- - Jérôme Vasseur (jvasseur)
- - Peter Kokot (peterkokot)
+ - Arnaud Le Blanc (arnaud-lb)
+ - matlec
+ - Jeroen Spee (jeroens)
+ - Sebastiaan Stok (sstok)
- Brice BERNARD (brikou)
+ - Peter Kokot (peterkokot)
+ - Jérôme Vasseur (jvasseur)
+ - Chris Wilkinson (thewilkybarkid)
+ - Tim Nagel (merk)
- Jacob Dreesen (jdreesen)
- - Nicolas Philippe (nikophil)
- - Martin Auswöger
+ - gnito-org
- Michal Piotrowski
- marc.weistroff
- Lars Strojny (lstrojny)
- - lenar
- Vladimir Tsykun (vtsykun)
+ - Nicolas Philippe (nikophil)
- Włodzimierz Gajda (gajdaw)
- Javier Spagnoletti (phansys)
- Adrien Brault (adrienbrault)
- - Florent Morselli (spomky_)
- soyuka
- - Florian Voutzinos (florianv)
- - Teoh Han Hui (teohhanhui)
- - Przemysław Bogusz (przemyslaw-bogusz)
+ - Florent Morselli (spomky_)
- Colin Frei
- - excelwebzone
+ - Przemysław Bogusz (przemyslaw-bogusz)
+ - Teoh Han Hui (teohhanhui)
+ - Florian Voutzinos (florianv)
+ - Maxime Helias (maxhelias)
- Paráda József (paradajozsef)
- - Maximilian Beckers (maxbeckers)
- Baptiste Clavié (talus)
+ - Maximilian Beckers (maxbeckers)
- Alexander Schwenn (xelaris)
- - Maxime Helias (maxhelias)
- - Fabien Pennequin (fabienpennequin)
- Dāvis Zālītis (k0d3r1s)
- Gordon Franke (gimler)
- - Malte Schlüter (maltemaltesich)
- - jeremyFreeAgent (jeremyfreeagent)
+ - Fabien Pennequin (fabienpennequin)
+ - Vasilij Dusko
- Michael Babker (mbabker)
- - Alexis Lefebvre
- - Hugo Alliaume (kocal)
- Christopher Hertel (chertel)
+ - Hugo Alliaume (kocal)
- Joshua Thijssen
- - Vasilij Dusko
+ - jeremyFreeAgent (jeremyfreeagent)
+ - Malte Schlüter (maltemaltesich)
+ - Alexis Lefebvre
- Daniel Wehner (dawehner)
- - Robert Schönthal (digitalkaoz)
- - Smaine Milianni (ismail1432)
- - François-Xavier de Guillebon (de-gui_f)
- Andreas Schempp (aschempp)
- - noniagriconomie
- Eric GELOEN (gelo)
- Gabriel Caruso
- - Stefano Sala (stefano.sala)
- - Ion Bazan (ionbazan)
- - Niels Keurentjes (curry684)
+ - Smaine Milianni (ismail1432)
+ - François-Xavier de Guillebon (de-gui_f)
- OGAWA Katsuhiro (fivestar)
+ - Robert Schönthal (digitalkaoz)
+ - Ion Bazan (ionbazan)
- Jhonny Lidfors (jhonne)
- - Juti Noppornpitak (shiroyuki)
+ - Niels Keurentjes (curry684)
+ - Stefano Sala (stefano.sala)
- Gregor Harlan (gharlan)
- - Anthony MARTIN
- Sebastian Hörl (blogsh)
+ - Hidenori Goto (hidenorigoto)
+ - Jonathan Scheiber (jmsche)
+ - Anthony MARTIN
- Tigran Azatyan (tigranazatyan)
- Florent Mata (fmata)
- - Jonathan Scheiber (jmsche)
- - Daniel Gomes (danielcsgomes)
- - Hidenori Goto (hidenorigoto)
- - Thomas Landauer (thomas-landauer)
- Arnaud Kleinpeter (nanocom)
- - Guilherme Blanco (guilhermeblanco)
+ - Juti Noppornpitak (shiroyuki)
- David Prévot (taffit)
- - Saif Eddin Gmati (azjezz)
- - Farhad Safarov (safarov)
- - SpacePossum
- - Richard van Laak (rvanlaak)
- - Andreas Braun
- - Pablo Godel (pgodel)
+ - Guilherme Blanco (guilhermeblanco)
+ - Thomas Landauer (thomas-landauer)
+ - Daniel Gomes (danielcsgomes)
- Alessandro Chitolina (alekitto)
- - Jan Rosier (rosier)
+ - jwdeitch
- Rafael Dohms (rdohms)
+ - Pablo Godel (pgodel)
+ - Saif Eddin Gmati (azjezz)
+ - Jan Rosier (rosier)
+ - Richard van Laak (rvanlaak)
+ - Farhad Safarov (safarov)
- Roman Martinuk (a2a4)
- - jwdeitch
- - Jérôme Parmentier (lctrs)
- - Ahmed TAILOULOUTE (ahmedtai)
- - Simon Berger
- - Jérémy Derussé
- - Matthieu Napoli (mnapoli)
- - Bob van de Vijver (bobvandevijver)
- Tomas Votruba (tomas_votruba)
- Arman Hosseini (arman)
- - Sokolov Evgeniy (ewgraf)
- Andréia Bohner (andreia)
- - Tom Van Looy (tvlooy)
- - Vyacheslav Pavlov
+ - Sokolov Evgeniy (ewgraf)
- Albert Casademont (acasademont)
- - George Mponos (gmponos)
+ - Jérémy Derussé
+ - Matthieu Napoli (mnapoli)
- Richard Shank (iampersistent)
- - Roland Franssen :)
+ - Ahmed TAILOULOUTE (ahmedtai)
+ - Bob van de Vijver (bobvandevijver)
+ - George Mponos (gmponos)
- Fritz Michael Gschwantner (fritzmg)
- - Romain Monteil (ker0x)
- - Sergey (upyx)
+ - Roland Franssen
+ - Vyacheslav Pavlov
+ - Jérôme Parmentier (lctrs)
+ - Simon Berger
+ - Tom Van Looy (tvlooy)
+ - Alessandro Lai (jean85)
+ - Daniel Burger
+ - Jannik Zschiesche
+ - Jesse Rushlow (geeshoe)
- Marco Pivetta (ocramius)
- - Antonio Pauletich (x-coder264)
- Vincent Touzet (vincenttouzet)
- - Fabien Bourigault (fbourigault)
- - Olivier Dolbeau (odolbeau)
- - Rouven Weßling (realityking)
- - Daniel Burger
- - Ben Davies (bendavies)
- - YaFou
- - Guillaume (guill)
+ - Antonio Pauletich (x-coder264)
+ - Samuel NELA (snela)
+ - Tyson Andre
- Clemens Tolboom
- - Oleg Voronkovich
- - Helmer Aaviksoo
- - Alessandro Lai (jean85)
- - 77web
- - Gocha Ossinkine (ossinkine)
- - matlec
- - Jesse Rushlow (geeshoe)
- - Matthieu Ouellette-Vachon (maoueh)
- - Michał Pipa (michal.pipa)
- - Dawid Nowak
- Philipp Wahala (hifi)
- - Jannik Zschiesche
- - Amal Raghav (kertz)
+ - Matthieu Ouellette-Vachon (maoueh)
+ - Gocha Ossinkine (ossinkine)
+ - Stiven Llupa (sllupa)
+ - Fabien Bourigault (fbourigault)
- Jonathan Ingram
+ - Ben Davies (bendavies)
+ - Rouven Weßling (realityking)
+ - Olivier Dolbeau (odolbeau)
+ - Sergey (upyx)
- Artur Kotyrba
+ - 77web
- Wouter J
- - Tyson Andre
+ - Romain Monteil (ker0x)
- GDIBass
- - Samuel NELA (snela)
- - Baptiste Leduc (korbeil)
- - Vincent AUBERT (vincent)
- - Nate Wiebe (natewiebe13)
+ - Dawid Nowak
+ - YaFou
+ - Oleg Voronkovich
+ - Guillaume (guill)
+ - Amal Raghav (kertz)
+ - Michał Pipa (michal.pipa)
+ - Marko Kaznovac (kaznovac)
+ - wkania
+ - Sergey Linnik (linniksa)
- Michael Voříšek
+ - Arnaud PETITPAS (apetitpa)
+ - Asis Pattisahusiwa
- zairig imad (zairigimad)
- - Colin O'Dell (colinodell)
- - Sébastien Alfaiate (seb33300)
- - James Halsall (jaitsu)
- - Christian Scheb
- Alex Hofbauer (alexhofbauer)
- - Mikael Pajunen
- - Warnar Boekkooi (boekkooi)
- - Justin Hileman (bobthecow)
- - Anthony GRASSIOT (antograssiot)
- - Dmitrii Chekaliuk (lazyhammer)
- - Clément JOBEILI (dator)
- - Andreas Möller (localheinz)
- - Marek Štípek (maryo)
- - Daniel Espendiller
- - Arnaud PETITPAS (apetitpa)
- Michael Käfer (michael_kaefer)
- - Dorian Villet (gnutix)
- - Martin Hujer (martinhujer)
- - Sergey Linnik (linniksa)
- - Richard Miller
+ - Nate Wiebe (natewiebe13)
- Quynh Xuan Nguyen (seriquynh)
- - Victor Bocharsky (bocharsky_bw)
- - Asis Pattisahusiwa
- - Aleksandar Jakovljevic (ajakov)
- - Mario A. Alvarez Garcia (nomack84)
- - Thomas Rabaix (rande)
- D (denderello)
- - DQNEO
+ - Anthony GRASSIOT (antograssiot)
+ - Mario A. Alvarez Garcia (nomack84)
+ - Christian Scheb
+ - Indra Gunawan (indragunawan)
+ - Colin O'Dell (colinodell)
+ - Thomas Rabaix (rande)
+ - Martin Hujer (martinhujer)
+ - Dmitrii Chekaliuk (lazyhammer)
+ - Vincent AUBERT (vincent)
- Chi-teck
- - Marko Kaznovac (kaznovac)
- - Stiven Llupa (sllupa)
- - Andre Rømcke (andrerom)
- - Bram Leeda (bram123)
- - Patrick Landolt (scube)
- - Karoly Gossler (connorhu)
+ - Aleksandar Jakovljevic (ajakov)
+ - Larry Garfield (crell)
+ - Richard Miller
+ - Warnar Boekkooi (boekkooi)
+ - Justin Hileman (bobthecow)
+ - Baptiste Leduc (korbeil)
+ - Daniel Espendiller
+ - James Halsall (jaitsu)
+ - DQNEO
+ - Clément JOBEILI (dator)
+ - Sébastien Alfaiate (seb33300)
+ - Marek Štípek (maryo)
+ - Andreas Möller (localheinz)
+ - Mikael Pajunen
+ - Dorian Villet (gnutix)
+ - Victor Bocharsky (bocharsky_bw)
+ - Stepan Anchugov (kix)
+ - Filippo Tessarotto (slamdunk)
- Timo Bakx (timobakx)
- - Quentin Devos
- - Giorgio Premi
- - Alan Poulain (alanpoulain)
- - Ruben Gonzalez (rubenrua)
- - Benjamin Dulau (dbenjamin)
- Markus Fasselt (digilist)
- Denis Brumann (dbrumann)
- - mcfedr (mcfedr)
- - Loick Piera (pyrech)
- - Remon van de Kamp
- - Mathieu Lemoine (lemoinem)
- - Christian Schmidt
- Andreas Hucks (meandmymonkey)
- - Artem Lopata
- - Indra Gunawan (indragunawan)
- - Noel Guilbert (noel)
- - Bastien Jaillot (bastnic)
- - Soner Sayakci
- - Stadly
- - Stepan Anchugov (kix)
+ - Nikolay Labinskiy (e-moe)
+ - Santiago San Martin (santysisi)
- bronze1man
+ - Pierre Minnieur (pminnieur)
+ - Bastien Jaillot (bastnic)
+ - Andre Rømcke (andrerom)
+ - Guilliam Xavier
- sun (sun)
- - Filippo Tessarotto (slamdunk)
- - Larry Garfield (crell)
- Leo Feyer
- - Nikolay Labinskiy (e-moe)
- - Martin Schuhfuß (usefulthink)
+ - Giorgio Premi
+ - Mathieu Lemoine (lemoinem)
+ - Stadly
+ - Ruben Gonzalez (rubenrua)
+ - Remon van de Kamp
+ - Patrick Landolt (scube)
+ - Bram Leeda (bram123)
+ - Christian Schmidt
+ - Noel Guilbert (noel)
- apetitpa
- - wkania
- - Guilliam Xavier
- - Pierre Minnieur (pminnieur)
- - Dominique Bongiraud
- - Hugo Monteiro (monteiro)
- - Dmitrii Poddubnyi (karser)
- - Julien Pauli
- - Jonathan H. Wage
- - Michael Lee (zerustech)
+ - Karoly Gossler (connorhu)
+ - Alan Poulain (alanpoulain)
+ - mcfedr (mcfedr)
+ - Benjamin Dulau (dbenjamin)
+ - Loick Piera (pyrech)
+ - Martin Schuhfuß (usefulthink)
+ - Quentin Devos
+ - François Pluchino (francoispluchino)
+ - Maciej Malarz (malarzm)
+ - Edi Modrić (emodric)
+ - Mantis Development
+ - Sven Paulus (subsven)
+ - Dustin Whittle (dustinwhittle)
+ - Priyadi Iman Nurcahyo (priyadi)
+ - Arjen van der Meijden
- Florian Lonqueu-Brochard (florianlb)
- - Joe Bennett (kralos)
- - Leszek Prabucki (l3l0)
- - Wojciech Kania
- - Thomas Lallement (raziel057)
+ - Jonathan H. Wage
- Yassine Guedidi (yguedidi)
- - François Zaninotto (fzaninotto)
- - Dustin Whittle (dustinwhittle)
- - Timothée Barray (tyx)
- - jeff
+ - Tristan Darricau (tristandsensio)
- John Kary (johnkary)
- - Võ Xuân Tiến (tienvx)
- fd6130 (fdtvui)
- - Antonio J. García Lagar (ajgarlag)
- - Priyadi Iman Nurcahyo (priyadi)
+ - Jan Sorgalla (jsor)
+ - Jérémie Augustin (jaugustin)
- Oleg Andreyev (oleg.andreyev)
- - Maciej Malarz (malarzm)
- - Marcin Sikoń (marphi)
- - Michele Orselli (orso)
- - Arjen van der Meijden
- - Sven Paulus (subsven)
+ - Võ Xuân Tiến (tienvx)
+ - Evert Harmeling (evertharmeling)
+ - Julien Brochet
+ - Joe Bennett (kralos)
- Peter Kruithof (pkruithof)
+ - Pascal Montoya
+ - Wojciech Kania
+ - jeff
+ - Michele Orselli (orso)
+ - Timothée Barray (tyx)
- Maxime Veber (nek-)
- - Valentine Boineau (valentineboineau)
- - Rui Marinho (ruimarinho)
+ - Marcin Sikoń (marphi)
+ - Thomas Lallement (raziel057)
+ - Leszek Prabucki (l3l0)
- Jeroen Noten (jeroennoten)
- - Possum
- - Jérémie Augustin (jaugustin)
- - Edi Modrić (emodric)
- - Pascal Montoya
- - Julien Brochet
- - François Pluchino (francoispluchino)
- - W0rma
- - Tristan Darricau (tristandsensio)
- - Jan Sorgalla (jsor)
- henrikbjorn
+ - Antonio J. García Lagar (ajgarlag)
+ - Rui Marinho (ruimarinho)
+ - François Zaninotto (fzaninotto)
+ - Hugo Monteiro (monteiro)
+ - Valentine Boineau (valentineboineau)
+ - Michael Lee (zerustech)
- Marcel Beerta (mazen)
- - Evert Harmeling (evertharmeling)
- - Mantis Development
- - Hidde Wieringa (hiddewie)
- - dFayet
+ - Dmitrii Poddubnyi (karser)
+ - jdhoek
+ - Philipp Cordes (corphi)
+ - Sullivan SENECHAL (soullivaneuh)
+ - Sylvain Fabre (sylfabre)
+ - Michel Roca (mroca)
+ - Chekote
+ - maxime.steinhausser
- Rob Frawley 2nd (robfrawley)
- - Renan (renanbr)
- - Nikita Konstantinov (unkind)
- - Dariusz
- - Daniel Gorgan
- - Francois Zaninotto
+ - Tim Goudriaan (codedmonkey)
+ - Elnur Abdurrakhimov (elnur)
+ - javaDeveloperKid
- Aurélien Pillevesse (aurelienpillevesse)
+ - Ray
+ - Anderson Müller
- Daniel Tschinder
- - Christian Schmidt
- - Alexander Kotynia (olden)
- - Matthieu Lempereur (mryamous)
- - Elnur Abdurrakhimov (elnur)
+ - Hidde Wieringa (hiddewie)
- Manuel Reinhard (sprain)
- - Zan Baldwin (zanbaldwin)
- - Tim Goudriaan (codedmonkey)
- - BoShurik
- - Adam Prager (padam87)
- - Benoît Burnichon (bburnichon)
- - maxime.steinhausser
- - Iker Ibarguren (ikerib)
- - Roman Ring (inori)
- - Xavier Montaña Carreras (xmontana)
- - Romaric Drigon (romaricdrigon)
- - Sylvain Fabre (sylfabre)
- - Xavier Perez
- - Arjen Brouwer (arjenjb)
- - Patrick McDougle (patrick-mcdougle)
- - Arnt Gulbrandsen
- - Michel Roca (mroca)
- - Marc Weistroff (futurecat)
- - Michał (bambucha15)
- - Danny Berger (dpb587)
- - Alif Rachmawadi
- - Anton Chernikov (anton_ch1989)
- - Pierre-Yves Lebecq (pylebecq)
- - Benjamin Leveque (benji07)
- - Jordan Samouh (jordansamouh)
- - David Badura (davidbadura)
- - Sullivan SENECHAL (soullivaneuh)
+ - Adrian Rudnik (kreischweide)
+ - Nikita Konstantinov (unkind)
+ - Matthieu Lempereur (mryamous)
- Uwe Jäger (uwej711)
- - javaDeveloperKid
- - Chris Smith (cs278)
- - Lynn van der Berg (kjarli)
- - Michaël Perrin (michael.perrin)
+ - Jurica Vlahoviček (vjurica)
- Eugene Leonovich (rybakit)
+ - Zan Baldwin (zanbaldwin)
+ - Fabien S (bafs)
- Joseph Rouff (rouffj)
+ - Xavier Perez
+ - Roman Ring (inori)
+ - Xavier Montaña Carreras (xmontana)
+ - Bob den Otter (bopp)
- Félix Labrecque (woodspire)
- Marvin Petker
- GordonsLondon
- - Ray
- - Philipp Cordes (corphi)
- - Fabien S (bafs)
- - Chekote
+ - David Badura (davidbadura)
+ - Michaël Perrin (michael.perrin)
- Thomas Adam
- - Anderson Müller
- - jdhoek
- - Jurica Vlahoviček (vjurica)
- - Bob den Otter (bopp)
+ - Romaric Drigon (romaricdrigon)
+ - Pierre-Yves Lebecq (pylebecq)
+ - Dariusz Ruminski
+ - Danny Berger (dpb587)
+ - Daniel Gorgan
+ - Benjamin Leveque (benji07)
+ - Michał (bambucha15)
+ - Marc Weistroff (futurecat)
+ - Renan (renanbr)
+ - dFayet
- Thomas Schulz (king2500)
+ - Francois Zaninotto
+ - Christian Schmidt
+ - Arjen Brouwer (arjenjb)
+ - Alexander Kotynia (olden)
+ - Arnt Gulbrandsen
+ - BoShurik
+ - Adam Prager (padam87)
+ - Benoît Burnichon (bburnichon)
+ - Lynn van der Berg (kjarli)
+ - Alif Rachmawadi
+ - Jordan Samouh (jordansamouh)
- Kyle
- - Dariusz Rumiński
- - Philippe SEGATORI (tigitz)
- - Frank de Jonge
- - Andrii Bodnar
- - Dane Powell
- - Sebastien Morel (plopix)
- - Christopher Davis (chrisguitarguy)
- - Loïc Frémont (loic425)
- - Matthieu Auger (matthieuauger)
+ - Iker Ibarguren (ikerib)
+ - Patrick McDougle (patrick-mcdougle)
+ - Chris Smith (cs278)
+ - Anton Chernikov (anton_ch1989)
- Sergey Belyshkin (sbelyshkin)
- - Kévin THERAGE (kevin_therage)
- - Herberto Graca
- - Yoann RENARD (yrenard)
- - Josip Kruslin (jkruslin)
- - renanbr
- - Sébastien Lavoie (lavoiesl)
- - Alex Rock (pierstoval)
- - Wodor Wodorski
- - Beau Simensen (simensen)
- - Magnus Nordlander (magnusnordlander)
+ - Warxcell (warxcell)
+ - jaugustin
+ - Dominique Bongiraud
+ - Florian Klein (docteurklein)
+ - Damien Alexandre (damienalexandre)
+ - Bertrand Zuchuat (garfield-fr)
+ - Baptiste Lafontaine (magnetik)
- Robert Kiss (kepten)
+ - Serkan Yildiz (srknyldz)
+ - Alex Rock (pierstoval)
- Alexandre Quercia (alquerci)
+ - Matthieu Auger (matthieuauger)
+ - Andrew Moore (finewolf)
+ - Mathieu Rochette (mathroc)
- Marcos Sánchez
+ - Jordane VASPARD (elementaire)
+ - Pavel Batanov (scaytrase)
+ - Thomas Bisignani (toma)
+ - Andrii Bodnar
+ - Simon Podlipsky (simpod)
- Emanuele Panzeri (thepanz)
- - Zmey
- - Santiago San Martin (santysisi)
+ - janschoenherr
- Kim Hemsø Rasmussen (kimhemsoe)
- - Maximilian Reichel (phramz)
+ - Loïc Frémont (loic425)
- Samaël Villette (samadu61)
- - jaugustin
- Pascal Luna (skalpa)
+ - Marc Morera (mmoreram)
+ - Cédric Anne
- Wouter Van Hecke
- - Baptiste Lafontaine (magnetik)
- - Michael Hirschler (mvhirsch)
+ - Beau Simensen (simensen)
- Michael Holm (hollo)
- - Robert Meijers
- - roman joly (eltharin)
- Blanchon Vincent (blanchonvincent)
- - Cédric Anne
- Christian Schmidt
+ - Atsuhiro KUBO (iteman)
+ - Emanuele Gaspari (inmarelibero)
- Ben Hakim
- Marco Petersen (ocrampete16)
+ - Lee Rowlands
+ - Christopher Davis (chrisguitarguy)
+ - Gustavo Piltcher
- Bohan Yang (brentybh)
- - Vilius Grigaliūnas
- - Jordane VASPARD (elementaire)
- - Thomas Bisignani (toma)
- - Florian Klein (docteurklein)
- - Pierre Ambroise (dotordu)
- - Raphaël Geffroy (raphael-geffroy)
- - Damien Alexandre (damienalexandre)
+ - Jan Decavele (jandc)
+ - Jerzy Zawadzki (jzawadzki)
+ - Aurelijus Valeiša (aurelijus)
+ - Emmanuel BORGES
+ - Craig Duncan (duncan3dc)
- Manuel Kießling (manuelkiessling)
- - Alexey Kopytko (sanmai)
- - Warxcell (warxcell)
- - SiD (plbsid)
- - Atsuhiro KUBO (iteman)
- - rudy onfroy (ronfroy)
- - Serkan Yildiz (srknyldz)
- - Andrew Moore (finewolf)
- - Bertrand Zuchuat (garfield-fr)
- - Marc Morera (mmoreram)
- Gabor Toth (tgabi333)
- - realmfoo
- Joppe De Cuyper (joppedc)
- - Simon Podlipsky (simpod)
- - Thomas Tourlourat (armetiz)
- - Andrey Esaulov (andremaha)
- - Grégoire Passault (gregwar)
- - Jerzy Zawadzki (jzawadzki)
- - Ismael Ambrosi (iambrosi)
- - Craig Duncan (duncan3dc)
- - Emmanuel BORGES
- - Mathieu Rochette (mathroc)
- Karoly Negyesi (chx)
- - Aurelijus Valeiša (aurelijus)
- - Jan Decavele (jandc)
- - Gustavo Piltcher
- - Lee Rowlands
+ - Vilius Grigaliūnas
+ - Philippe SEGATORI (tigitz)
+ - Sébastien Lavoie (lavoiesl)
+ - Michael Hirschler (mvhirsch)
+ - realmfoo
- Stepan Tanasiychuk (stfalcon)
+ - Raphaël Geffroy (raphael-geffroy)
+ - Herberto Graca
+ - Ismael Ambrosi (iambrosi)
+ - renanbr
+ - Grégoire Passault (gregwar)
+ - roman joly (eltharin)
+ - Andrey Esaulov (andremaha)
+ - Frank de Jonge
+ - Josip Kruslin (jkruslin)
+ - Kévin THERAGE (kevin_therage)
- Ivan Kurnosov
+ - Pierre Ambroise (dotordu)
+ - rudy onfroy (ronfroy)
+ - Maximilian Reichel (phramz)
+ - Francesc Rosàs (frosas)
+ - Benjamin Morel
- Tiago Ribeiro (fixe)
+ - Sebastien Morel (plopix)
+ - Magnus Nordlander (magnusnordlander)
+ - Dane Powell
+ - Thomas Tourlourat (armetiz)
+ - SiD (plbsid)
+ - Alexey Kopytko (sanmai)
- Raul Fraile (raulfraile)
- - Adrian Rudnik (kreischweide)
- - Pavel Batanov (scaytrase)
- - Francesc Rosàs (frosas)
- - Bongiraud Dominique
- - janschoenherr
- - Emanuele Gaspari (inmarelibero)
+ - Jack Worman (jworman)
+ - Yoann RENARD (yrenard)
+ - Wodor Wodorski
+ - Pavel Volokitin (pvolok)
+ - Ivan Mezinov
+ - Erin Millard
+ - Hamza Makraz (makraz)
+ - Zmey
- Artem (artemgenvald)
+ - ivan
+ - Lukáš Holeczy (holicz)
+ - SUMIDA, Ippei (ippey_s)
- Thierry T (lepiaf)
- Lorenz Schori
- - Lukáš Holeczy (holicz)
- Jeremy Livingston (jeremylivingston)
- - ivan
- - SUMIDA, Ippei (ippey_s)
+ - Nicolas LEFEVRE (nicoweb)
+ - Roumen Damianoff
- Urinbayev Shakhobiddin (shokhaa)
- Ahmed Raafat
- - Philippe Segatori
- - Thibaut Cheymol (tcheymol)
- - Vincent Chalamon
- - Raffaele Carelle
- - Erin Millard
- - Matthew Lewinski (lewinski)
- Islam Israfilov (islam93)
- - Ricard Clau (ricardclau)
- - Roumen Damianoff
- Thomas Royer (cydonia7)
- - Nicolas LEFEVRE (nicoweb)
+ - Harm van Tilborg (hvt)
+ - Haralan Dobrev (hkdobrev)
+ - Gonzalo Vilaseca (gonzalovilaseca)
+ - Francesco Levorato
+ - smoench
- Asmir Mustafic (goetas)
+ - Tobias Sjösten (tobiassjosten)
- Mateusz Sip (mateusz_sip)
- - Francesco Levorato
+ - C (dagardner)
+ - Dalibor Karlović
- Vitaliy Zakharov (zakharovvi)
- - Tobias Sjösten (tobiassjosten)
+ - Inal DJAFAR (inalgnu)
- Gyula Sallai (salla)
+ - Johann Pardanaud
- Hendrik Luup (hluup)
- - Inal DJAFAR (inalgnu)
- - C (dagardner)
+ - Pierre Rineau
+ - mondrake (mondrake)
- Martin Herndl (herndlm)
+ - Yaroslav Kiliba
- Dmytro Borysovskyi (dmytr0)
- - Johann Pardanaud
- - Pierre Rineau
- - Kai Dederichs
- Pavel Kirpitsov (pavel-kirpichyov)
- - Artur Eshenbrener
- - Issam Raouf (iraouf)
- - Harm van Tilborg (hvt)
- Thomas Perez (scullwm)
- Gwendolen Lynch
- - smoench
- Felix Labrecque
- - mondrake (mondrake)
- - Yaroslav Kiliba
- FORT Pierre-Louis (plfort)
- - Jan Böhmer
- Terje Bråten
- - Gonzalo Vilaseca (gonzalovilaseca)
- Tarmo Leppänen (tarlepp)
- Jakub Kucharovic (jkucharovic)
- Daniel STANCU
- Kristen Gilden
- Robbert Klarenbeek (robbertkl)
- - Dalibor Karlović
- - Hamza Makraz (makraz)
- Eric Masoero (eric-masoero)
- Vitalii Ekert (comrade42)
- Clara van Miert
- - Haralan Dobrev (hkdobrev)
- hossein zolfi (ocean)
- - Alexander Menshchikov
- - Clément Gautier (clementgautier)
- James Gilliland (neclimdul)
- - Sanpi (sanpi)
- - Eduardo Gulias (egulias)
- - giulio de donato (liuggio)
- - Ivan Mezinov
+ - Kirill chEbba Chebunin
+ - Nathanael Noblet (gnat)
- ShinDarth
- - Stéphane PY (steph_py)
+ - giulio de donato (liuggio)
+ - Marek Kalnik (marekkalnik)
+ - Matthias Althaus (althaus)
+ - Eduardo Gulias (egulias)
- Cătălin Dan (dancatalin)
- - Philipp Kräutli (pkraeutli)
- - Rhodri Pugh (rodnaph)
+ - Dimitri Gritsajuk (ottaviano)
+ - Daniel Tschinder
+ - Stéphane PY (steph_py)
- BrokenSourceCode
+ - Alex (aik099)
+ - Rhodri Pugh (rodnaph)
- Grzegorz (Greg) Zdanowski (kiler129)
- - Dimitri Gritsajuk (ottaviano)
- - Kirill chEbba Chebunin
- Pol Dellaiera (drupol)
- - Alex (aik099)
+ - Clément Gautier (clementgautier)
- Kieran Brahney
+ - Sanpi (sanpi)
- Fabien Villepinte
+ - Vyacheslav Salakhutdinov (megazoll)
- Greg Thornton (xdissent)
- Alex Bowers
+ - Gasan Guseynov (gassan)
+ - Philipp Kräutli (pkraeutli)
- Kev
- kor3k kor3k (kor3k)
- Costin Bereveanu (schniper)
- - Andrii Dembitskyi
- - Gasan Guseynov (gassan)
- - Marek Kalnik (marekkalnik)
- - Vyacheslav Salakhutdinov (megazoll)
- Maksym Slesarenko (maksym_slesarenko)
- Marc Biorklund (mbiork)
- - Hassan Amouhzi
- - Tamas Szijarto
- Michele Locati
- - Yannick Ihmels (ihmels)
- - Pavel Volokitin (pvolok)
- Arthur de Moulins (4rthem)
- - Matthias Althaus (althaus)
- - Saif Eddin G
- - Endre Fejes
- Tobias Naumann (tna)
- Daniel Beyer
- Ivan Sarastov (isarastov)
- flack (flack)
- Shein Alexey
- - Link1515
- Joe Lencioni
- - Daniel Tschinder
- - Diego Agulló (aeoris)
- vladimir.reznichenko
+ - Albert Jessurum (ajessu)
- Kai
- - Alain Hippolyte (aloneh)
- Grenier Kévin (mcsky_biig)
- Xavier HAUSHERR
- - Albert Jessurum (ajessu)
- - Romain Pierre
- - Laszlo Korte
- Alessandro Desantis
- hubert lecorche (hlecorche)
- Vladyslav Loboda
- Marc Morales Valldepérez (kuert)
+ - Karel Souffriau
- Vadim Kharitonov (vadim)
- Oscar Cubo Medina (ocubom)
- - Karel Souffriau
+ - Alain Hippolyte (aloneh)
- Christophe L. (christophelau)
- - a.dmitryuk
- - Anthon Pang (robocoder)
- Julien Galenski (ruian)
- - Benjamin Morel
- Ben Scott (bpscott)
- - Shyim
- Pablo Lozano (arkadis)
- - Brian King
- - quentin neyrat (qneyrat)
- - Chris Tanaskoski (devristo)
- - Steffen Roßkamp
- - Andrey Lebedev (alebedev)
- - Alexandru Furculita (afurculita)
- - Michel Salib (michelsalib)
- - Ben Roberts (benr77)
- - Ahmed Ghanem (ahmedghanem00)
- - Valentin Jonovs
- - geoffrey
- - Quentin Dequippe (qdequippe)
- - Benoit Galati (benoitgalati)
- - Benjamin (yzalis)
- - Jeanmonod David (jeanmonod)
- - Webnet team (webnet)
- - Christian Gripp (core23)
- - Tobias Bönner
- - Nicolas Rigaud
- - PHAS Developer
- - Ben Ramsey (ramsey)
- - Berny Cantos (xphere81)
- - Antonio Jose Cerezo (ajcerezo)
- - Maelan LE BORGNE
- - Thomas Talbot (ioni)
- - Marcin Szepczynski (czepol)
- - Lescot Edouard (idetox)
- - Dennis Fridrich (dfridrich)
- - Mohammad Emran Hasan (phpfour)
- - Florian Merle (florian-merle)
- - Dmitriy Mamontov (mamontovdmitriy)
- - Jan Schumann
- - Matheo Daninos (mathdns)
- - Neil Peyssard (nepey)
- - Niklas Fiekas
- - Mark Challoner (markchalloner)
- - Andreas Hennings
- - Markus Bachmann (baachi)
- - Gunnstein Lye (glye)
- - Erkhembayar Gantulga (erheme318)
- - Yi-Jyun Pan
- - Sergey Melesh (sergex)
- - Greg Anderson
- - Arnaud De Abreu (arnaud-deabreu)
- - lancergr
- - Benjamin Zaslavsky (tiriel)
- - Tri Pham (phamuyentri)
- - Angelov Dejan (angelov)
- - Ivan Nikolaev (destillat)
- - Gildas Quéméner (gquemener)
- - Ioan Ovidiu Enache (ionutenache)
- - Mokhtar Tlili (sf-djuba)
- - Maxim Dovydenok (dovydenok-maxim)
- - Laurent Masforné (heisenberg)
- - Claude Khedhiri (ck-developer)
- - Benjamin Georgeault (wedgesama)
- - Desjardins Jérôme (jewome62)
- - Arturs Vonda
- - Matthew Smeets
- - Toni Rudolf (toooni)
- - Stefan Gehrig (sgehrig)
- - vagrant
- - Matthias Krauser (mkrauser)
- - Benjamin Cremer (bcremer)
- - Maarten de Boer (mdeboer)
- - Asier Illarramendi (doup)
- - AKeeman (akeeman)
- - Martijn Cuppens
- - Restless-ET
- - Vlad Gregurco (vgregurco)
- - Artem Stepin (astepin)
- - Jérémy DECOOL (jdecool)
- - Boris Vujicic (boris.vujicic)
- - Dries Vints
- - Judicaël RUFFIEUX (axanagor)
- - Chris Sedlmayr (catchamonkey)
- - DerManoMann
- - Jérôme Tanghe (deuchnord)
- - Mathias STRASSER (roukmoute)
- - simon chrzanowski (simonch)
- - Kamil Kokot (pamil)
- - Seb Koelen
+ - Laszlo Korte
+ - Diego Agulló (aeoris)
+ - Valmonzo
+ - Matthew Lewinski (lewinski)
+ - Soner Sayakci
+ - Jan Böhmer
+ - Hassan Amouhzi
+ - a.dmitryuk
+ - Yannick Ihmels (ihmels)
+ - Endre Fejes
+ - Vincent Chalamon
+ - Philippe Segatori
+ - Raffaele Carelle
+ - Link1515
+ - Anthon Pang (robocoder)
+ - Thibaut Cheymol (tcheymol)
+ - Ricard Clau (ricardclau)
+ - Issam Raouf (iraouf)
- Christoph Mewes (xrstf)
- - Andrew M-Y (andr)
- - Krasimir Bosilkov (kbosilkov)
- - Marcin Michalski (marcinmichalski)
- - Vitaliy Tverdokhlib (vitaliytv)
- - Ariel Ferrandini (aferrandini)
- - BASAK Semih (itsemih)
- - Dirk Pahl (dirkaholic)
- - Cédric Lombardot (cedriclombardot)
- - Jérémy REYNAUD (babeuloula)
- - Faizan Akram Dar (faizanakram)
- - Arkadius Stefanski (arkadius)
- - Andy Palmer (andyexeter)
- - Jonas Flodén (flojon)
- - AnneKir
- - Tobias Weichart
- - Arnaud POINTET (oipnet)
- - Tristan Pouliquen
- - Miro Michalicka
- - Hans Mackowiak
- - M. Vondano
- - Dominik Zogg
- - Maximilian Zumbansen
- - Vadim Borodavko (javer)
- - Tavo Nieves J (tavoniievez)
- - Luc Vieillescazes (iamluc)
- - Erik Saunier (snickers)
- - François Dume (franek)
- - Jerzy Lekowski (jlekowski)
- - Raulnet
- - Petrisor Ciprian Daniel
- - Oleksiy (alexndlm)
- - William Arslett (warslett)
- - Giso Stallenberg (gisostallenberg)
- - Rob Bast
- - Roberto Espinoza (respinoza)
- - Steven RENAUX (steven_renaux)
- - Marvin Feldmann (breyndotechse)
- - Soufian EZ ZANTAR (soezz)
- - Marek Zajac
- - Adam Harvey
- - Klaus Silveira (klaussilveira)
- - ilyes kooli (skafandri)
- - Anton Bakai
- - battye
- - Nicolas Dousson
- - Axel Guckelsberger (guite)
- - Sam Fleming (sam_fleming)
- - Alex Bakhturin
- - Belhassen Bouchoucha (crownbackend)
- - Patrick Reimers (preimers)
- - Brayden Williams (redstar504)
- - insekticid
- - Jérémy M (th3mouk)
- - Trent Steel (trsteel88)
- - boombatower
- - Alireza Mirsepassi (alirezamirsepassi)
- - Jérôme Macias (jeromemacias)
- - Andrey Astakhov (aast)
- - ReenExe
- - Fabian Lange (codingfabian)
- - kylekatarnls (kylekatarnls)
- - Yoshio HANAWA
- - Jan van Thoor (janvt)
- - Joshua Nye
- - Martin Kirilov (wucdbm)
- Koen Reiniers (koenre)
- Kurt Thiemann
- - Nathan Dench (ndenc2)
- Gijs van Lammeren
+ - ilyes kooli (skafandri)
+ - Alireza Mirsepassi (alirezamirsepassi)
- Sebastian Bergmann
+ - Giso Stallenberg (gisostallenberg)
+ - Adam Harvey
- Nadim AL ABDOU (nadim)
- Matthew Grasmick
- - Miroslav Šustek (sustmi)
- Pablo Díez (pablodip)
- - Kevin McBride
+ - Romain Gautier (mykiwi)
- Sergio Santoro
- Jonas Elfering
- - Philipp Rieber (bicpi)
- - Dmitriy Derepko
- - Manuel de Ruiter (manuel)
- - Nathanael Noblet (gnat)
- nikos.sotiropoulos
- - BENOIT POLASZEK (bpolaszek)
+ - Yoshio HANAWA
- Eduardo Oliveira (entering)
- Oleksii Zhurbytskyi
+ - Bahman Mehrdad (bahman)
- Bilge
- - Anatoly Pashin (b1rdex)
- - Jonathan Johnson (jrjohnson)
- - Eugene Wissner
- - Ricardo Oliveira (ricardolotr)
- - Roy Van Ginneken (rvanginneken)
- - ondrowan
+ - Trent Steel (trsteel88)
- Barry vd. Heuvel (barryvdh)
+ - Ricardo Oliveira (ricardolotr)
+ - Jonathan Johnson (jrjohnson)
+ - Nicolas Dewez (nicolas_dewez)
- Antonin CLAUZIER (0x346e3730)
- - Chad Sikorra (chadsikorra)
+ - Jeroen Thora (bolle)
+ - Marek Zajac
+ - Markus Lanthaler (lanthaler)
+ - Greg ORIOL
+ - Leevi Graham (leevigraham)
+ - Zbigniew Malcherczyk (ferror)
+ - Roy Van Ginneken (rvanginneken)
+ - Nathan Dench (ndenc2)
+ - Denis Kulichkin (onexhovia)
+ - Adam Szaraniec
+ - Anatoly Pashin (b1rdex)
+ - Soufian EZ ZANTAR (soezz)
+ - Patrick Reimers (preimers)
+ - BENOIT POLASZEK (bpolaszek)
+ - Marvin Feldmann (breyndotechse)
- Evan S Kaufman (evanskaufman)
- mcben
+ - Klaus Silveira (klaussilveira)
+ - Roberto Espinoza (respinoza)
+ - Rob Bast
+ - Grummfy (grummfy)
- Jérôme Vieilledent (lolautruche)
- Roman Anasal
- Filip Procházka (fprochazka)
- Sergey Panteleev
- - Jeroen Thora (bolle)
- - Markus Lanthaler (lanthaler)
- Gigino Chianese (sajito)
- Remi Collet
- Piotr Kugla (piku235)
- Vicent Soria Durá (vicentgodella)
- - Michael Moravec
- - Leevi Graham (leevigraham)
- Anthony Ferrara
- tim
- Ioan Negulescu
- - Greg ORIOL
- Jakub Škvára (jskvara)
- Andrew Udvare (audvare)
- siganushka (siganushka)
- - alexpods
- Quentin Schuler (sukei)
- - Adam Szaraniec
- Dariusz Ruminski
- - Bahman Mehrdad (bahman)
- - Romain Gautier (mykiwi)
- Matthieu Bontemps
- Erik Trapman
- De Cock Xavier (xdecock)
- - Zbigniew Malcherczyk (ferror)
- - Nicolas Dewez (nicolas_dewez)
- - Denis Kulichkin (onexhovia)
- Scott Arciszewski
- - Xavier HAUSHERR
- - Norbert Orzechowicz (norzechowicz)
- - Robert-Jan de Dreu
- - Fabrice Bernhard (fabriceb)
+ - R. Achmad Dadang Nur Hidayanto (dadangnh)
+ - Bhavinkumar Nakrani (bhavin4u)
- Matthijs van den Bos (matthijs)
+ - Peter Bowyer (pbowyer)
- Markus S. (staabm)
+ - John Bafford (jbafford)
- PatNowak
- - Bhavinkumar Nakrani (bhavin4u)
- - Jaik Dean (jaikdean)
+ - Samuele Lilli (doncallisto)
+ - Chad Sikorra (chadsikorra)
+ - William Arslett (warslett)
+ - Dave Hulbert (dave1010)
+ - Marcin Chyłek (songoq)
- Krzysztof Piasecki (krzysztek)
+ - Oleksiy (alexndlm)
+ - Denis Gorbachev (starfall)
+ - Jerzy Lekowski (jlekowski)
+ - François Dume (franek)
- Pavel Popov (metaer)
+ - Fabrice Bernhard (fabriceb)
- Lenard Palko
+ - Jaik Dean (jaikdean)
- Nils Adermann (naderman)
+ - Joachim Løvgaard (loevgaard)
+ - Tavo Nieves J (tavoniievez)
+ - Vadim Borodavko (javer)
+ - Maximilian Zumbansen
+ - Anton Bakai
- Tom Klingenberg
- Gábor Fási
- - R. Achmad Dadang Nur Hidayanto (dadangnh)
+ - Gawain Lynch (gawain)
+ - Ivan Rey (ivanrey)
- Nate (frickenate)
- Stefan Kruppa
- Jacek Jędrzejewski (jacek.jedrzejewski)
- Shakhobiddin
- - Stefan Kruppa
- - Joachim Løvgaard (loevgaard)
- sasezaki
- Dawid Pakuła (zulusx)
+ - Dominik Zogg
+ - M. Vondano
- Florian Rey (nervo)
- - Peter Bowyer (pbowyer)
- Rodrigo Borrego Bernabé (rodrigobb)
- - John Bafford (jbafford)
- - Emanuele Iannone
- - Petr Duda (petrduda)
- Marcos Rezende (rezende79)
- - Denis Gorbachev (starfall)
+ - Petr Duda (petrduda)
- Martin Morávek (keeo)
- - Kevin Saliou (kbsali)
- Steven Surowiec (steves)
- Shawn Iwinski
- - Dieter
- - Samuele Lilli (doncallisto)
- - Gawain Lynch (gawain)
- mmokhi
+ - Kevin McBride
- Ryan
- Alexander Deruwe (aderuwe)
- - Dave Hulbert (dave1010)
- - Ivan Rey (ivanrey)
- - Johan Vlaar (johjohan)
+ - Hans Mackowiak
- M. (mbontemps)
- - Marcin Chyłek (songoq)
- Ned Schwartz
- - Ziumin
- Daniel Tiringer
- - Lenar Lõhmus
- Ilija Tovilo (ilijatovilo)
- - Maxime Pinot (maximepinot)
- Sander Toonen (xatoo)
+ - Guilherme Ferreira
- Zach Badgett (zachbadgett)
- Loïc Faugeron
+ - Miro Michalicka
- Aurélien Fredouelle
- Pavel Campr (pcampr)
- - Andrii Dembitskyi
- - Markus Staab
- Forfarle (forfarle)
- - Johnny Robeson (johnny)
+ - Yi-Jyun Pan
+ - Tobias Weichart
+ - Maxime Pinot (maximepinot)
+ - AnneKir
+ - W0rma
+ - Jonas Flodén (flojon)
- Disquedur
- - Guilherme Ferreira
+ - Andrii Dembitskyi
- Geoffrey Tran (geoff)
- Jannik Zschiesche
- Bernd Stellwag
- Jan Ole Behrens (deegital)
- - wicliff wolda (wickedone)
- - Mantas Var (mvar)
- - Ramunas Pabreza (doobas)
- - Yuriy Vilks (igrizzli)
- - Terje Bråten
- - Sebastian Krebs
- - Piotr Stankowski
- - Pierre-Emmanuel Tanguy (petanguy)
- - Julien Maulny
- - Gennadi Janzen
- - johan Vlaar
- - Paul Oms
- - James Hemery
- - wuchen90
- - Wouter van der Loop (toppy-hennie)
- - Ninos
- - julien57
- - Mátyás Somfai (smatyas)
- - MrMicky
- - Bastien DURAND (deamon)
- - Dmitry Simushev
- - alcaeus
- - Simon Leblanc (leblanc_simon)
- - Fred Cox
- - Simon DELICATA
- - Thibault Buathier (gwemox)
- - Julien Boudry
- - vitaliytv
- - Franck RANAIVO-HARISOA (franckranaivo)
- - Yi-Jyun Pan
- - Egor Taranov
- - Arnaud Frézet
- - Philippe Segatori
- - Jon Gotlin (jongotlin)
- - Adrian Nguyen (vuphuong87)
- - benjaminmal
- - Roy de Vos Burchart
- - Andrey Sevastianov
- - Oleksandr Barabolia (oleksandrbarabolia)
- - Khoo Yong Jun
- - Christin Gruber (christingruber)
- - Sebastian Blum
- - Daniel González (daniel.gonzalez)
- - Julien Turby
- - Ricky Su (ricky)
- - scyzoryck
- - Kyle Evans (kevans91)
- - Max Rath (drak3)
- - Cristoforo Cervino (cristoforocervino)
- - marie
- - Stéphane Escandell (sescandell)
- - Fractal Zombie
- - James Johnston
- - Noémi Salaün (noemi-salaun)
- - Sinan Eldem (sineld)
- - Gennady Telegin
- - Benedikt Lenzen (demigodcode)
- - ampaze
- - Alexandre Dupuy (satchette)
- - Michel Hunziker
- - Malte Blättermann
- - Ilya Levin (ilyachase)
- - Simeon Kolev (simeon_kolev9)
- - Joost van Driel (j92)
- - Jonas Elfering
- - Mihai Stancu
- - Nahuel Cuesta (ncuesta)
- - Chris Boden (cboden)
- - EStyles (insidestyles)
- - Christophe Villeger (seragan)
- - Krystian Marcisz (simivar)
- - Julien Fredon
- - Xavier Leune (xleune)
- - Hany el-Kerdany
- - Wang Jingyu
- - Baptiste CONTRERAS
- - Åsmund Garfors
- - Maxime Douailin
- - Jean Pasdeloup
- - Maxime COLIN (maximecolin)
- - Loïc Ovigne (oviglo)
- - Lorenzo Millucci (lmillucci)
- - Javier López (loalf)
- - Reinier Kip
- - Jérôme Tamarelle (jtamarelle-prismamedia)
- - Emil Masiakowski
- - Geoffrey Brier (geoffrey-brier)
- - Sofien Naas
+ - Markus Staab
+ - BASAK Semih (itsemih)
+ - Ariel Ferrandini (aferrandini)
+ - Johnny Robeson (johnny)
+ - Robert-Jan de Dreu
+ - Petrisor Ciprian Daniel
+ - Vitaliy Tverdokhlib (vitaliytv)
+ - Marcin Michalski (marcinmichalski)
+ - Cédric Lombardot (cedriclombardot)
+ - Krasimir Bosilkov (kbosilkov)
+ - Luc Vieillescazes (iamluc)
+ - Andrew M-Y (andr)
+ - Faizan Akram Dar (faizanakram)
+ - Martin Kirilov (wucdbm)
+ - Dirk Pahl (dirkaholic)
+ - Arkadius Stefanski (arkadius)
+ - Kamil Kokot (pamil)
+ - Raulnet
+ - simon chrzanowski (simonch)
+ - Chris Sedlmayr (catchamonkey)
+ - Arnaud POINTET (oipnet)
+ - Mathias STRASSER (roukmoute)
+ - Erik Saunier (snickers)
+ - Jérémy DECOOL (jdecool)
+ - DerManoMann
+ - Jérémy REYNAUD (babeuloula)
+ - Judicaël RUFFIEUX (axanagor)
+ - Andy Palmer (andyexeter)
+ - Dries Vints
+ - Boris Vujicic (boris.vujicic)
+ - Vlad Gregurco (vgregurco)
+ - Artem Stepin (astepin)
+ - Martijn Cuppens
+ - Asier Illarramendi (doup)
+ - Brayden Williams (redstar504)
+ - Maarten de Boer (mdeboer)
+ - Jérôme Tanghe (deuchnord)
+ - Benjamin Cremer (bcremer)
+ - vagrant
+ - Stefan Gehrig (sgehrig)
+ - Arturs Vonda
+ - Desjardins Jérôme (jewome62)
+ - Claude Khedhiri (ck-developer)
+ - Laurent Masforné (heisenberg)
+ - Maxim Dovydenok (dovydenok-maxim)
+ - Ioan Ovidiu Enache (ionutenache)
+ - Ivan Nikolaev (destillat)
+ - Emanuele Iannone
+ - Angelov Dejan (angelov)
+ - Tri Pham (phamuyentri)
+ - lancergr
+ - AKeeman (akeeman)
+ - Sergey Melesh (sergex)
+ - Arnaud De Abreu (arnaud-deabreu)
+ - Jérémy M (th3mouk)
+ - Erkhembayar Gantulga (erheme318)
+ - Neil Peyssard (nepey)
+ - Gunnstein Lye (glye)
+ - Toni Rudolf (toooni)
+ - Lescot Edouard (idetox)
+ - Andreas Hennings
+ - Matthias Krauser (mkrauser)
+ - Kevin Saliou (kbsali)
+ - Mark Challoner (markchalloner)
+ - Florian Merle (florian-merle)
+ - Niklas Fiekas
+ - Mohammad Emran Hasan (phpfour)
+ - Greg Anderson
+ - Markus Bachmann (baachi)
+ - Jan Schumann
+ - Dmitriy Mamontov (mamontovdmitriy)
+ - Benjamin Georgeault (wedgesama)
+ - Dennis Fridrich (dfridrich)
+ - Benjamin Zaslavsky (tiriel)
+ - Gildas Quéméner (gquemener)
+ - Restless-ET
+ - Mokhtar Tlili (sf-djuba)
+ - Ziumin
+ - Maelan LE BORGNE
+ - Berny Cantos (xphere81)
+ - PHAS Developer
+ - Thomas Talbot (ioni)
+ - Christian Gripp (core23)
+ - geoffrey
+ - Alexandru Furculita (afurculita)
+ - Johan Vlaar (johjohan)
+ - Chris Tanaskoski (devristo)
+ - quentin neyrat (qneyrat)
+ - Brian King
+ - Nicolas Rigaud
+ - Marcin Szepczynski (czepol)
+ - Valentin Jonovs
+ - Ben Ramsey (ramsey)
+ - Tobias Bönner
+ - Steffen Roßkamp
+ - Benjamin (yzalis)
+ - Ben Roberts (benr77)
+ - Antonio Jose Cerezo (ajcerezo)
+ - Webnet team (webnet)
+ - Ahmed Ghanem (ahmedghanem00)
+ - Andrey Lebedev (alebedev)
+ - Jeanmonod David (jeanmonod)
+ - Benoit Galati (benoitgalati)
+ - Quentin Dequippe (qdequippe)
+ - Matthew Smeets
+ - Michael Moravec
+ - Andrey Astakhov (aast)
+ - Eugene Wissner
+ - Norbert Orzechowicz (norzechowicz)
+ - lenar
+ - Xavier HAUSHERR
+ - Matheo Daninos (mathdns)
+ - battye
+ - Max Baldanza
+ - Steven RENAUX (steven_renaux)
+ - Philipp Rieber (bicpi)
+ - Manuel de Ruiter (manuel)
+ - Michel Salib (michelsalib)
+ - Jérôme Macias (jeromemacias)
+ - Axel Guckelsberger (guite)
+ - Alex Bakhturin
+ - Belhassen Bouchoucha (crownbackend)
+ - Sam Fleming (sam_fleming)
+ - Joshua Nye
+ - boombatower
+ - ReenExe
+ - Fabian Lange (codingfabian)
+ - kylekatarnls (kylekatarnls)
+ - Miroslav Šustek (sustmi)
+ - Jan van Thoor (janvt)
- Alexandre Parent
+ - Sofien Naas
- Daniel Badura
+ - Loïc Ovigne (oviglo)
- Brajk19
+ - Dustin Dobervich (dustin10)
+ - Martijn Evers
- Roger Guasch (rogerguasch)
+ - Vladimir Varlamov (iamvar)
- DT Inier (gam6itko)
- - Dustin Dobervich (dustin10)
- Luis Tacón (lutacon)
- Dmitrii Tarasov (dtarasov)
- - dantleech
- Philipp Kolesnikov
- - Jack Worman (jworman)
- Sebastian Marek (proofek)
- - Carlos Pereira De Amorim (epitre)
- zenmate
- - Andrii Popov (andrii-popov)
- - David Fuhr
- Malte Müns
- Rodrigo Aguilera
- - Vladimir Varlamov (iamvar)
- Aurimas Niekis (gcds)
- - Matthieu Calie (matth--)
+ - andrey1s
+ - Fabien Salles (blacked)
- Sem Schidler (xvilo)
- Benjamin Schoch (bschoch)
- - Martins Sipenko
- - Guilherme Augusto Henschel
- Rostyslav Kinash
+ - Marc Abramowitz
+ - Rimas Kudelis
- Christophe V. (cvergne)
- Mardari Dorel (dorumd)
- - Daisuke Ohata
- Vincent Simonin
- Pierrick VIGNAND (pierrick)
- - Alex Bogomazov (alebo)
- aaa2000 (aaa2000)
- Andrew Neil Forster (krciga22)
- Stefan Warman (warmans)
@@ -1074,2108 +955,583 @@ The Symfony Connect username in parenthesis allows to get more information
- Behnoush Norouzali (behnoush)
- Marko H. Tamminen (gzumba)
- Wesley Lancel
- - Xavier Briand (xavierbriand)
- - Ke WANG (yktd26)
+ - katario
- Ivo Bathke (ivoba)
+ - Ke WANG (yktd26)
+ - 243083df
+ - Luca Saba (lucasaba)
- Lukas Mencl
+ - Emil Einarsson
+ - Mickaël Isaert (misaert)
- David Molineus
- - Strate
+ - Gregor Nathanael Meyer (spackmat)
+ - Florent Viel (luxifer)
- Anton A. Sumin
- - Marko Petrovic
+ - Don Pinkster
+ - Miquel Rodríguez Telep (mrtorrent)
+ - Andreas Erhard (andaris)
- alexandre.lassauge
+ - Guillaume Aveline
- Israel J. Carberry
- - Miquel Rodríguez Telep (mrtorrent)
+ - Michael Devery (mickadoo)
- Tamás Nagy (t-bond)
+ - Kieran
+ - Robin van der Vleuten (robinvdvleuten)
+ - Kien Nguyen
- Sergey Kolodyazhnyy (skolodyazhnyy)
- umpirski
- Quentin de Longraye (quentinus95)
- Chris Heng (gigablah)
- Mickaël Buliard (mbuliard)
+ - Michael Roterman (wtfzdotnet)
+ - Morten Wulff (wulff)
- Jan Nedbal
- Cornel Cruceru (amne)
- Richard Bradley
- Jan Walther (janwalther)
- - Ulumuddin Cahyadi Yunus (joenoez)
- rtek
- - Mickaël Isaert (misaert)
- Adrien Jourdier (eclairia)
- Florian Pfitzer (marmelatze)
+ - Alaattin Kahramanlar (alaattin)
- Ivan Grigoriev (greedyivan)
+ - ornicar
- Johann Saunier (prophet777)
- Kevin SCHNEKENBURGER
- Geordie
- - Fabien Salles (blacked)
- Tim Düsterhus
- - Andreas Erhard (andaris)
- - alexpozzi
- - Michael Devery (mickadoo)
- - Gregor Nathanael Meyer (spackmat)
- Antoine Corcy
- Ahmed Ashraf (ahmedash95)
- Gert Wijnalda (cinamo)
- Aurimas Niekis (aurimasniekis)
- - Luca Saba (lucasaba)
- Sascha Grossenbacher (berdir)
- - Guillaume Aveline
- nathanpage
+ - _sir_kane (waly)
- Robin Lehrmann
- - Szijarto Tamas
- Thomas P
+ - Steve Grunwell
- Stephan Vock (glaubinix)
- Jaroslav Kuba
- - Benjamin Zikarsky (bzikarsky)
- Kristijan Kanalaš (kristijan_kanalas_infostud)
+ - Benjamin Zikarsky (bzikarsky)
- Rodrigo Méndez (rodmen)
+ - Oriol Viñals
+ - michaelwilliams
+ - Maks 3w (maks3w)
- sl_toto (sl_toto)
+ - Sascha Dens (saschadens)
+ - Renan Gonçalves (renan_saddam)
+ - Matt Janssen
- Marek Pietrzak (mheki)
- “Filip
- - Mickaël Andrieu (mickaelandrieu)
+ - Tristan Roussel
+ - RJ Garcia
+ - Jawira Portugal (jawira)
+ - Joschi Kuphal
+ - Oliver Hoff
- Simon Watiau (simonwatiau)
- - Ruben Jacobs (rubenj)
+ - Benjamin Grandfond (benjamin)
- Simon Schick (simonsimcity)
- - Tristan Roussel
- - NickSdot
+ - Ruben Jacobs (rubenj)
+ - Toon Verwerft (veewee)
+ - Delf Tonder (leberknecht)
+ - Thomas Ploch
- Niklas Keller
- - Alexandre parent
+ - Douglas Hammond (wizhippo)
- Cameron Porter
- Hossein Bukhamsin
- - Oliver Hoff
- Christian Sciberras (uuf6429)
- Thomas Nunninger
- origaminal
- Matteo Beccati (matteobeccati)
- - Renan Gonçalves (renan_saddam)
- Vitaliy Ryaboy (vitaliy)
- Kevin (oxfouzer)
- Paweł Wacławczyk (pwc)
- Oleg Zinchenko (cystbear)
- Baptiste Meyer (meyerbaptiste)
- Tales Santos (tsantos84)
- - Tomasz Kusy
- - Johannes Klauss (cloppy)
- Evan Villemez
+ - Alexander Miehe
+ - Morgan Auchede
- fzerorubigd
- - Thomas Ploch
- - Benjamin Grandfond (benjamin)
- Tiago Brito (blackmx)
- Gintautas Miselis (naktibalda)
- Richard van den Brand (ricbra)
- - Toon Verwerft (veewee)
- develop
- - flip111
- - Douglas Hammond (wizhippo)
- - VJ
- - RJ Garcia
- Adrien Lucas (adrienlucas)
- - Jawira Portugal (jawira)
- - Delf Tonder (leberknecht)
- - Ondrej Exner
- Mark Sonnabaum
- Chris Jones (magikid)
- Massimiliano Braglia (massimilianobraglia)
- - Thijs-jan Veldhuizen (tjveldhuizen)
+ - Alexandre parent
+ - Jakub Podhorsky (podhy)
+ - Jean-Baptiste GOMOND (mjbgo)
+ - Dmytro Boiko (eagle)
+ - Daniël Brekelmans (dbrekelmans)
+ - Andreas Leathley (iquito)
- Richard Quadling
- James Hudson (mrthehud)
+ - Roland Franssen :)
- Raphaëll Roussel
+ - Simon Heimberg (simon_heimberg)
+ - Sergey Zolotov (enleur)
+ - Benoît Bourgeois (bierdok)
- Michael Lutz
- jochenvdv
+ - Andrew Codispoti
+ - mweimerskirch
+ - Sebastian Grodzicki (sgrodzicki)
+ - Jan Kramer
- Oriol Viñals
+ - Jay Klehr
- Reedy
+ - Simo Heinonen (simoheinonen)
- Arturas Smorgun (asarturas)
- Aleksandr Volochnev (exelenz)
- - Robin van der Vleuten (robinvdvleuten)
+ - grizlik
+ - Thijs-jan Veldhuizen (tjveldhuizen)
+ - wanxiangchwng
- Grinbergs Reinis (shima5)
+ - Vladimir Luchaninov (luchaninov)
+ - NanoSector
+ - bogdan
- Michael Piecko (michael.piecko)
+ - Julien DIDIER (juliendidier)
- Toni Peric (tperic)
- - yclian
- - Nicolas DOUSSON
+ - Wybren Koelmans (wybren_koelmans)
+ - Davide Borsatto (davide.borsatto)
- radar3301
- - Aleksey Prilipko
- Jelle Raaijmakers (gmta)
- - Andrew Berry
- - Sylvain BEISSIER (sylvain-beissier)
- - Wybren Koelmans (wybren_koelmans)
- Roberto Nygaard
- - victor-prdh
- - Davide Borsatto (davide.borsatto)
- - Florian Hermann (fhermann)
- Vitaliy Zhuk (zhukv)
+ - mwsaz
- zenas1210
- Gert de Pagter
- - Julien DIDIER (juliendidier)
+ - Jason Woods
+ - Andrii Popov (andrii-popov)
- Ворожцов Максим (myks92)
- Randy Geraads
- Kevin van Sonsbeek (kevin_van_sonsbeek)
- - Simo Heinonen (simoheinonen)
- - Jay Klehr
- - Andreas Leathley (iquito)
- - Vladimir Luchaninov (luchaninov)
- - Sebastian Grodzicki (sgrodzicki)
- Mohamed Gamal
- Eric COURTIAL
- Xesxen
- - Jeroen van den Enden (endroid)
- Arun Philip
+ - flip111
+ - Baldur Rensch (brensch)
- Pascal Helfenstein
- Jesper Skytte (greew)
- - NanoSector
+ - Stéphan Kochen
- Petar Obradović
- - Baldur Rensch (brensch)
- - Carl Casbolt (carlcasbolt)
+ - Konstantin Grachev (grachevko)
+ - Alex (garrett)
+ - yclian
+ - David Marín Carreño (davefx)
+ - Tarjei Huse (tarjei)
+ - Paweł Niedzielski (steveb)
+ - stoccc
- Jiri Barous
+ - Simon Mönch
- Vladyslav Petrovych
+ - Robert Fischer (sandoba)
+ - Jörn Lang
+ - Amr Ezzat (amrezzat)
+ - Maksim Kotlyar (makasim)
+ - arai
+ - Carl Casbolt (carlcasbolt)
+ - Simon (kosssi)
+ - Derek ROTH
+ - Benjamin Laugueux
+ - Jose Gonzalez
+ - Moshe Weitzman (weitzman)
- Loïc Chardonnet
- - Alex Xandra Albert Sim
- - Sergey Yastrebov
- Carson Full (carsonfull)
- - Steve Grunwell
- - Yuen-Chi Lian
+ - Sergey Yastrebov
+ - Alex Xandra Albert Sim
- Mathias Brodala (mbrodala)
- - Robert Fischer (sandoba)
- - Tarjei Huse (tarjei)
- Travis Carden (traviscarden)
- - mfettig
- Besnik Br
- - Simon Mönch
- - Valmonzo
- Sherin Bloemendaal
- - Jose Gonzalez
- Jonathan (jlslew)
- Claudio Zizza
- aegypius
- Ilia (aliance)
- - Christian Stoller (naitsirch)
- COMBROUSE Dimitri
- Dave Marshall (davedevelopment)
- Jakub Kulhan (jakubkulhan)
- - Paweł Niedzielski (steveb)
- Shaharia Azam
- avorobiev
- Gerben Oolbekkink
- Gladhon
- Maximilian.Beckers
+ - skmedix (skmedix)
+ - Shin Ohno (ganchiku)
+ - Gabrielle Langer
+ - Lctrs
- Alex Kalineskou
+ - Calin Mihai Pristavu
- Evan Shaw
- - stoccc
- Grégoire Penverne (gpenverne)
- Venu
- Ryan Hendrickson
- Damien Fa
- Jonatan Männchen
+ - Carlos Buenosvinos (carlosbuenosvinos)
- Dennis Hotson
- - Andrew Tchircoff (andrewtch)
- Lars Vierbergen (vierbergenlars)
+ - Sander De la Marche (sanderdlm)
+ - Gálik Pál
+ - Marco Lipparini (liarco)
+ - Korvin Szanto
- Xav` (xavismeh)
- Barney Hanlon
+ - Adrian Günter (adrianguenter)
+ - Jordan Deitch
- Thorry84
- Romanavr
- - michaelwilliams
- - Alexandre Parent
- - 1emming
+ - Seb Koelen
+ - Hidde Boomsma (hboomsma)
- Eric Abouaf (neyric)
- - Nykopol (nykopol)
- - Thibault Richard (t-richard)
- - Jordan Deitch
- - Casper Valdemar Poulsen
+ - Daniel González (daniel.gonzalez)
+ - Ondrej Machulda (ondram)
+ - Alexander Grimalovsky (flying)
+ - Yosmany Garcia (yosmanyga)
+ - Thomas Durand
- Guillaume Verstraete
- - vladimir.panivko
+ - izzyp
+ - Fabien LUCAS (flucas2)
+ - Jon Dufresne
- Oliver Hader
+ - Gustavo Falco (gfalco)
- Josiah (josiah)
+ - Thomas Trautner (thomastr)
- Dennis Væversted (srnzitcom)
+ - Jason Tan (jt2k)
- AndrolGenhald
+ - Thibault Richard (t-richard)
- Asier Etxebeste
- - Joschi Kuphal
- - John Bohn (jbohn)
- - Jason Tan (jt2k)
+ - Matt Robinson (inanimatt)
+ - Alexander Li (aweelex)
- Edvin Hultberg
- shubhalgupta
- Felds Liscia (felds)
- Benjamin Lebon
- - Alexander Grimalovsky (flying)
- Andrew Hilobok (hilobok)
- Noah Heck (myesain)
- - Sébastien JEAN (sebastien76)
+ - Benoît Merlet (trompette)
- Christian Soronellas (theunic)
- - Max Baldanza
- Volodymyr Panivko
+ - Patrick Allaert
+ - Kristof Van Cauwenbergh (kristofvc)
- kick-the-bucket
- - Thomas Durand
- fedor.f
- - Yosmany Garcia (yosmanyga)
- Jeremiasz Major
- - Jibé Barth (jibbarth)
- Trevor North
- Degory Valentine
- - izzyp
+ - Laurent Bassin (lbassin)
- Jeroen Fiege (fieg)
- Martin (meckhardt)
- Wu (wu-agriconomie)
- Marcel Hernandez
- Evan C
+ - Geert De Deckere
- buffcode
+ - abdul malik ikhsan (samsonasik)
- Glodzienski
- - Natsuki Ikeguchi
+ - Ivan Menshykov
+ - Sinan Eldem (sineld)
- Krzysztof Łabuś (crozin)
- Xavier Lacot (xavier)
- - Jon Dufresne
- - possum
+ - Maxim Tugaev (tugmaks)
- Denis Zunke (donalberto)
- Adrien Roches (neirda24)
- - Thomas Trautner (thomastr)
- - _sir_kane (waly)
+ - Nicolas Dousson
- Olivier Maisonneuve
- - Gálik Pál
+ - Christian Stoller (naitsirch)
- Bálint Szekeres
- Andrei C. (moldman)
- Mike Meier (mykon)
- - Pedro Miguel Maymone de Resende (pedroresende)
+ - Vincent Composieux (eko)
+ - VJ
+ - Jordi Sala Morales (jsala)
+ - Tamas Szijarto
- stlrnz
- - Masterklavi
+ - Quentin Dreyer (qkdreyer)
+ - Vincent CHALAMON
+ - Sébastien JEAN (sebastien76)
- Adrien Wilmet (adrienfr)
+ - Pedro Miguel Maymone de Resende (pedroresende)
+ - Johnny Peck (johnnypeck)
+ - Gerard van Helden (drm)
+ - Cyril Quintin (cyqui)
- Franco Traversaro (belinde)
+ - Tomasz Ignatiuk
- Francis Turmel (fturmel)
- Kagan Balga (kagan-balga)
- Nikita Nefedov (nikita2206)
- Alex Bacart
- StefanoTarditi
- - cgonzalez
- - hugovms
- - Ben
- - Vincent Composieux (eko)
+ - ampaze
- Cyril Pascal (paxal)
- Pedro Casado (pdr33n)
- - Jayson Xu (superjavason)
- acoulton
+ - Guilherme Augusto Henschel
+ - Tomasz Kusy
- DemigodCode
- fago
- Jan Prieser
+ - Johannes Klauss (cloppy)
- Maximilian Bösing
- Matt Johnson (gdibass)
- Zhuravlev Alexander (scif)
- Stefano Degenkamp (steef)
- James Michael DuPont
- Tinjo Schöni
- - Carlos Buenosvinos (carlosbuenosvinos)
- Jake (jakesoft)
- Rustam Bakeev (nommyde)
- - Vincent CHALAMON
- Ivan Kurnosov
+ - DUPUCH (bdupuch)
- Christopher Hall (mythmakr)
- Patrick Dawkins (pjcdawkins)
+ - Artur Eshenbrener
+ - Florian Wolfsjaeger (flowolf)
- Paul Kamer (pkamer)
+ - MrMicky
- Rafał Wrzeszcz (rafalwrzeszcz)
- Reyo Stallenberg (reyostallenberg)
+ - Thibault Buathier (gwemox)
- Nguyen Xuan Quynh
- - Reen Lokum
- Dennis Langen (nijusan)
- - Quentin Dreyer (qkdreyer)
+ - Andreas Lutro (anlutro)
+ - Christin Gruber (christingruber)
- Francisco Alvarez (sormes)
- Martin Parsiegla (spea)
- - Maxim Tugaev (tugmaks)
- - ywisax
- Manuel Alejandro Paz Cetina
+ - Rootie
- Denis Charrier (brucewouaigne)
+ - Roy Klutman (royklutman)
+ - Nicole Cordes (ichhabrecht)
+ - Matthieu Calie (matth--)
+ - Ulumuddin Cahyadi Yunus (joenoez)
+ - alexpozzi
+ - NickSdot
- Youssef Benhssaien (moghreb)
- Mario Ramundo (rammar)
- - Ivan
- - Nico Haase
- - Philipp Scheit (pscheit)
- - Pierre Vanliefland (pvanliefland)
- - Roy Klutman (royklutman)
+ - David Romaní
- Sofiane HADDAG (sofhad)
- - Antoine M
- - frost-nzcr4
- - Shahriar56
- - Dhananjay Goratela
- - Kien Nguyen
- - Bozhidar Hristov
- - Oriol Viñals
- - arai
- - Achilles Kaloeridis (achilles)
- - Sébastien Despont (bouillou)
- - Laurent Bassin (lbassin)
- - Mouad ZIANI (mouadziani)
- - Tomasz Ignatiuk
- - andrey1s
- - Abhoryo
- - louismariegaborit
- - Fabian Vogler (fabian)
- - Korvin Szanto
- - Stéphan Kochen
- - Arjan Keeman
- - Alaattin Kahramanlar (alaattin)
- - Sergey Zolotov (enleur)
- - Nicole Cordes (ichhabrecht)
- - Maksim Kotlyar (makasim)
- - Thibaut THOUEMENT (thibaut_thouement)
- - Neil Ferreira
- - Julie Hourcade (juliehde)
- - Dmitry Parnas (parnas)
- - Loïc Beurlet
- - Ana Raro
- - Ana Raro
+ - Casper Valdemar Poulsen
+ - Andrew Berry
- Tony Malzhacker
- - Cosmin Sandu
- - Andreas Lutro (anlutro)
- - DUPUCH (bdupuch)
- - Cyril Quintin (cyqui)
- - Gerard van Helden (drm)
- - Florent Destremau (florentdestremau)
- - Florian Wolfsjaeger (flowolf)
- - Johnny Peck (johnnypeck)
- - Jordi Sala Morales (jsala)
- - Sander De la Marche (sanderdlm)
- - skmedix (skmedix)
- - Loic Chardonnet
- - Ivan Menshykov
- - David Romaní
- - Patrick Allaert
- - Alexander Li (aweelex)
- - Gustavo Falco (gfalco)
- - Matt Robinson (inanimatt)
- - Kristof Van Cauwenbergh (kristofvc)
- - Marco Lipparini (liarco)
- - Aleksey Podskrebyshev
- - Calin Mihai Pristavu
- - Gabrielle Langer
- - Jörn Lang
- - Adrian Günter (adrianguenter)
- - Amr Ezzat (amrezzat)
- - David Marín Carreño (davefx)
- - Fabien LUCAS (flucas2)
- - Alex (garrett)
- - Konstantin Grachev (grachevko)
- - Hidde Boomsma (hboomsma)
- - Ondrej Machulda (ondram)
- - Jason Woods
- - mwsaz
- - bogdan
- - wanxiangchwng
- - Geert De Deckere
- - grizlik
- - Derek ROTH
- - Jeremy Benoist
- - Ben Johnson
- - Jan Kramer
- - mweimerskirch
- - Andrew Codispoti
- - Benjamin Laugueux
- - Lctrs
- - Benoît Bourgeois (bierdok)
- - Dmytro Boiko (eagle)
- - Shin Ohno (ganchiku)
+ - Loïc Beurlet
+ - mfettig
+ - John Bohn (jbohn)
+ - hugovms
+ - Ben
+ - Andrew Tchircoff (andrewtch)
+ - Natsuki Ikeguchi
+ - Jesper Noordsij
+ - Adán Lobato (adanlobato)
+ - Neil Ferreira
- Matthieu Mota (matthieumota)
- - Jean-Baptiste GOMOND (mjbgo)
- - Jakub Podhorsky (podhy)
- - abdul malik ikhsan (samsonasik)
- - Henry Snoek (snoek09)
- - Morgan Auchede
- - Christian Morgan
- - Alexander Miehe
- - Daniël Brekelmans (dbrekelmans)
- - Simon (kosssi)
- - Sascha Dens (saschadens)
- - Simon Heimberg (simon_heimberg)
- - Morten Wulff (wulff)
- - Kieran
- - Don Pinkster
- Maksim Muruev
- - Emil Einarsson
- - 243083df
- - Thibault Duplessis
- - katario
- - Rimas Kudelis
- - Marc Abramowitz
- - Matthias Schmidt
- - Martijn Evers
- - Tony Tran
- - Balazs Csaba
- - Bill Hance (billhance)
- - Douglas Reith (douglas_reith)
- - Harry Walter (haswalt)
- - Jacques MOATI (jmoati)
- - Johnson Page (jwpage)
- - Kuba Werłos (kuba)
- - Ruben Gonzalez (rubenruateltek)
- - Michael Roterman (wtfzdotnet)
- - Philipp Keck
- - Pavol Tuka
- - Arno Geurts
- - Adán Lobato (adanlobato)
+ - datibbaw
+ - Daniel Alejandro Castro Arellano (lexcast)
+ - Ondrej Exner
+ - Masterklavi
+ - vladimir.panivko
+ - Sébastien Santoro (dereckson)
+ - Ian Irlen
+ - Marko Petrovic
+ - Matthieu Bontemps
+ - Stephan Vierkant (svierkant)
+ - Thiago Cordeiro (thiagocordeiro)
+ - Ana Raro
+ - Koen Kuipers (koku)
+ - Ana Raro
+ - Dragos Protung (dragosprotung)
+ - Carlos Quintana
+ - Mouad ZIANI (mouadziani)
+ - Jibé Barth (jibbarth)
+ - Dmitry Parnas (parnas)
+ - Brad Jones
- Ian Jenkins (jenkoian)
- - Marcos Gómez Vilches (markitosgv)
- - Matthew Davis (mdavis1982)
- - Paulo Ribeiro (paulo)
- - Marc Laporte
- - Michał Jusięga
- - Kay Wei
- - Dominik Ulrich
- - den
- - Gábor Tóth
- - Bastien THOMAS
- - ouardisoft
- - Daniel Cestari
- - Matt Janssen
- - Stéphane Delprat
- - Mior Muhammad Zaki (crynobone)
- - Elan Ruusamäe (glen)
- - Brunet Laurent (lbrunet)
- - Florent Viel (luxifer)
- - Maks 3w (maks3w)
- - Michiel Boeckaert (milio)
- - Mikhail Yurasov (mym)
- Robert Gruendler (pulse00)
- - Sebastian Paczkowski (sebpacz)
- Simon Terrien (sterrien)
- - Stephan Vierkant (svierkant)
- - Benoît Merlet (trompette)
- - Brad Jones
- - datibbaw
- - Dragos Protung (dragosprotung)
- - Koen Kuipers (koku)
+ - Sebastian Paczkowski (sebpacz)
- Nicolas de Marqué (nicola)
- - Thiago Cordeiro (thiagocordeiro)
- - Matthieu Bontemps
- - Ian Irlen
- - Rootie
- - Sébastien Santoro (dereckson)
- - Daniel Alejandro Castro Arellano (lexcast)
- - Jiří Bok
- - Vincent Chalamon
- - Farhad Hedayatifard
- - Alan ZARLI
- - Thomas Jarrand
- - Baptiste Leduc (bleduc)
- - soyuka
- - Piotr Zajac
- - Patrick Kaufmann
- - Ismail Özgün Turan (dadeather)
- - Mickael Perraud
- - Anton Dyshkant
- - Rafael Villa Verde
- - Zoran Makrevski (zmakrevski)
- - Yann LUCAS (drixs6o9)
- - Kirill Nesmeyanov (serafim)
- - Reece Fowell (reecefowell)
- - Muhammad Aakash
- - Charly Goblet (_mocodo)
- - Htun Htun Htet (ryanhhh91)
- - Guillaume Gammelin
- - Valérian Galliat
- - Sorin Pop (sorinpop)
- - Elías Fernández
- - d-ph
- - Stewart Malik
- - Frank Schulze (xit)
- - Renan Taranto (renan-taranto)
- - Ninos Ego
- - Samael tomas
- - Stefan Graupner (efrane)
- - Gemorroj (gemorroj)
- - Adrien Chinour
- - Jonas Claes
- - Mateusz Żyła (plotkabytes)
- - Rikijs Murgs
- - WoutervanderLoop.nl
- - Mihail Krasilnikov (krasilnikovm)
- - Uladzimir Tsykun
- - iamvar
- - Amaury Leroux de Lens (amo__)
- - Rene de Lima Barbosa (renedelima)
- - Christian Jul Jensen
- - Lukas Kaltenbach
- - Alexandre GESLIN
- - The Whole Life to Learn
- - Pierre Tondereau
- - Joel Lusavuvu (enigma97)
- - Valentin Barbu (jimie)
- - Alex Vo (votanlean)
- - Mikkel Paulson
- - ergiegonzaga
- - André Matthies
- - kurozumi (kurozumi)
- - Nicolas Lemoine
- - Piergiuseppe Longo
- - Kevin Auivinet
- - Liverbool (liverbool)
- - Valentin Nazarov
- - Dalibor Karlović
- - Aurélien MARTIN
- - Malte Schlüter
- - Jules Matsounga (hyoa)
- - Yewhen Khoptynskyi (khoptynskyi)
- - Nicolas Attard (nicolasattard)
- - Jérôme Nadaud (jnadaud)
- - Frank Naegler
- - Sam Malone
- - Damien Fernandes
- - Ha Phan (haphan)
- - Chris Jones (leek)
- - neghmurken
- - stefan.r
- - Florian Cellier
- - xaav
- - Jean-Christophe Cuvelier [Artack]
- - Mahmoud Mostafa (mahmoud)
- - Alexandre Tranchant (alexandre_t)
- - Anthony Moutte
- - Ahmed Abdou
- - shreyadenny
- - Daniel Iwaniec
- - Thomas Ferney (thomasf)
- - Pieter
- - Louis-Proffit
- - Dennis Tobar
- - Michael Tibben
- - Hallison Boaventura (hallisonboaventura)
- - Mas Iting
- - Billie Thompson
- - Albion Bame (abame)
- - Ganesh Chandrasekaran (gxc4795)
- - Sander Marechal
- - Ivan Nemets
- - Grégoire Hébert (gregoirehebert)
- - Franz Wilding (killerpoke)
- - Ferenczi Krisztian (fchris82)
- - Artyum Petrov
- - Oleg Golovakhin (doc_tr)
- - Guillaume Smolders (guillaumesmo)
- - Icode4Food (icode4food)
- - Radosław Benkel
- - Bert ter Heide (bertterheide)
- - Kevin Nadin (kevinjhappy)
- - jean pasqualini (darkilliant)
- - Iliya Miroslavov Iliev (i.miroslavov)
- - Safonov Nikita (ns3777k)
- - Ross Motley (rossmotley)
- - ttomor
- - Mei Gwilym (meigwilym)
- - Michael H. Arieli
- - Miloš Milutinović
- - Jitendra Adhikari (adhocore)
- - Kevin Jansen
- - Nicolas Martin (cocorambo)
- - Tom Panier (neemzy)
+ - Mikhail Yurasov (mym)
+ - Fabian Vogler (fabian)
+ - Brunet Laurent (lbrunet)
+ - Elan Ruusamäe (glen)
+ - Mior Muhammad Zaki (crynobone)
+ - Julie Hourcade (juliehde)
+ - Henry Snoek (snoek09)
+ - Wouter van der Loop (toppy-hennie)
+ - Adam
+ - johan Vlaar
+ - Ivan
+ - Jeroen van den Enden (endroid)
+ - Mantas Var (mvar)
+ - Pierre Vanliefland (pvanliefland)
+ - Nico Haase
+ - frost-nzcr4
+ - wuchen90
+ - Philipp Scheit (pscheit)
+ - SpacePossum
+ - Arjan Keeman
+ - Arnaud Frézet
+ - Terje Bråten
+ - Sylvain BEISSIER (sylvain-beissier)
+ - Bozhidar Hristov
+ - Thibaut THOUEMENT (thibaut_thouement)
+ - Cosmin Sandu
+ - wicliff wolda (wickedone)
+ - Florent Destremau (florentdestremau)
+ - Stéphane Delprat
+ - Andreas Braun
+ - James Hemery
+ - Michiel Boeckaert (milio)
+ - Bastien DURAND (deamon)
+ - Daniel Cestari
+ - Mátyás Somfai (smatyas)
+ - ouardisoft
+ - Sebastian Krebs
+ - Mickaël Andrieu (mickaelandrieu)
+ - Daisuke Ohata
+ - Simon Leblanc (leblanc_simon)
+ - Paul Oms
+ - Egor Taranov
+ - Piotr Stankowski
+ - Bastien THOMAS
+ - Gábor Tóth
+ - Yuriy Vilks (igrizzli)
+ - Ramunas Pabreza (doobas)
+ - Achilles Kaloeridis (achilles)
+ - den
+ - Pierre-Emmanuel Tanguy (petanguy)
+ - Julien Maulny
+ - Gennadi Janzen
+ - Shahriar56
+ - julien57
- Fred Cox
- - luffy1727
- - Luciano Mammino (loige)
- - LHommet Nicolas (nicolaslh)
- - fabios
- - eRIZ
- - Sander Coolen (scoolen)
- - Vic D'Elfant (vicdelfant)
- - Amirreza Shafaat (amirrezashafaat)
- - Laurent Clouet
- - Adoni Pavlakis (adoni)
- - Nicolas Le Goff (nlegoff)
- - Maarten Nusteling (nusje2000)
- - Peter van Dommelen
- - Anne-Sophie Bachelard
- - Gordienko Vladislav
- - Ahmed EBEN HASSINE (famas23)
- - Marvin Butkereit
- - Ben Oman
- - Chris de Kok
- - Eduard Bulava (nonanerz)
- - Andreas Kleemann (andesk)
- - Hubert Moreau (hmoreau)
- - Nicolas Appriou
- - Silas Joisten (silasjoisten)
- - Igor Timoshenko (igor.timoshenko)
- - Pierre-Emmanuel CAPEL
- - Manuele Menozzi
- - Yevhen Sidelnyk
- - “teerasak”
- - Anton Babenko (antonbabenko)
- - Irmantas Šiupšinskas (irmantas)
- - Benoit Mallo
- - Charles-Henri Bruyand
- - Danilo Silva
- - Giuseppe Campanelli
- - Valentin
- - pizzaminded
- - Nicolas Valverde
- - Konstantin S. M. Möllers (ksmmoellers)
- - Ken Stanley
- - ivan
- - Zachary Tong (polyfractal)
- - linh
- - Oleg Krasavin (okwinza)
- - Mario Blažek (marioblazek)
- - Jure (zamzung)
- - Michael Nelson
- - Ashura
- - Hryhorii Hrebiniuk
- - Nsbx
- - Eric Krona
- - Alex Plekhanov
- - johnstevenson
- - hamza
- - dantleech
- - Kajetan Kołtuniak (kajtii)
- - Dan (dantleech)
- - Sander Goossens (sandergo90)
- - Rudy Onfroy
- - Tero Alén (tero)
- - DerManoMann
- - Damien Fayet (rainst0rm)
- - MatTheCat
- - Guillaume Royer
- - Erfan Bahramali
- - Artem (digi)
- - boite
- - Silvio Ginter
- - Peter Culka
- - MGDSoft
- - Abdiel Carrazana (abdielcs)
- - joris
- - Vadim Tyukov (vatson)
- - alanzarli
- - Arman
- - Gabi Udrescu
- - Adamo Crespi (aerendir)
- - David Wolter (davewww)
- - Sortex
- - chispita
- - Wojciech Sznapka
- - Emmanuel Dreyfus
- - Luis Pabon (luispabon)
- - boulei_n
- - Anna Filina (afilina)
- - Gavin (gavin-markup)
- - Ksaveras Šakys (xawiers)
- - Shaun Simmons
- - Ariel J. Birnbaum
- - Yannick
- - Patrick Luca Fazzi (ap3ir0n)
- - Tim Lieberman
- - Danijel Obradović
- - Pablo Borowicz
- - Ondřej Frei
- - Bruno Rodrigues de Araujo (brunosinister)
- - Máximo Cuadros (mcuadros)
- - Arkalo2
- - Jacek Wilczyński (jacekwilczynski)
- - Christoph Kappestein
- - Camille Baronnet
- - EXT - THERAGE Kevin
- - tamirvs
- - gauss
- - julien.galenski
- - Florian Guimier
- - Maxime PINEAU
- - Igor Kokhlov (verdet)
- - Christian Neff (secondtruth)
- - Chris Tiearney
- - Oliver Hoff
- - Minna N
- - Ole Rößner (basster)
- - andersmateusz
- - Laurent Moreau
- - Faton (notaf)
- - Tom Houdmont
- - tamar peled
- - mark burdett
- - Per Sandström (per)
- - Goran Juric
- - Laurent G. (laurentg)
- - Jean-Baptiste Nahan
- - Thomas Decaux
- - Nicolas Macherey
- - Asil Barkin Elik (asilelik)
- - Bhujagendra Ishaya
- - Guido Donnari
- - Jérôme Dumas
- - Mert Simsek (mrtsmsk0)
- - Lin Clark
- - Christophe Meneses (c77men)
- - Jeremy David (jeremy.david)
- - Andrei O
- - gr8b
- - Michał Marcin Brzuchalski (brzuchal)
- - Jordi Rejas
- - Troy McCabe
- - Ville Mattila
- - gstapinato
- - gr1ev0us
- - Léo VINCENT
- - mlazovla
- - Alejandro Diaz Torres
- - Bradley Zeggelaar
- - Karl Shea
- - Valentin
- - Markus Baumer
- - Max Beutel
- - adnen chouibi
- - Nathan Sepulveda
- - Łukasz Chruściel (lchrusciel)
- - Jan Vernieuwe (vernija)
- - Antanas Arvasevicius
- - Adam Kiss
- - Pierre Dudoret
- - Michal Trojanowski
- - Thomas
- - j.schmitt
- - Georgi Georgiev
- - Norbert Schultheisz
- - Maximilian Berghoff (electricmaxxx)
- - SOEDJEDE Felix (fsoedjede)
- - Evgeny Anisiforov
- - otsch
- - TristanPouliquen
- - Dominic Luidold
- - Piotr Antosik (antek88)
- - Nacho Martin (nacmartin)
- - Thomas Bibaut
- - Thibaut Chieux
- - mwos
- - Aydin Hassan
- - Volker Killesreiter (ol0lll)
- - Vedran Mihočinec (v-m-i)
- - Rafał Treffler
- - Sergey Novikov (s12v)
- - creiner
- - Jan Pintr
- - ProgMiner
- - Marcos Quesada (marcos_quesada)
- - Matthew (mattvick)
- - MARYNICH Mikhail (mmarynich-ext)
- - Viktor Novikov (nowiko)
- - Paul Mitchum (paul-m)
- - Angel Koilov (po_taka)
- - RevZer0 (rav)
- - Yura Uvarov (zim32)
- - Dan Finnie
- - remieuronews
- - Marek Binkowski
- - Ken Marfilla (marfillaster)
- - Max Grigorian (maxakawizard)
- - allison guilhem
- - benatespina (benatespina)
- - Denis Kop
- - Fabrice Locher
- - Konstantin Chigakov
- - Kamil Szalewski (szal1k)
- - Jean-Guilhem Rouel (jean-gui)
- - Yoann MOROCUTTI
- - Ivan Yivoff
- - EdgarPE
- - jfcixmedia
- - Dominic Tubach
- - Martijn Evers
- - Alexander Onatskiy
- - Philipp Fritsche
- - Léon Gersen
- - tarlepp
- - Giuseppe Arcuti
- - Dustin Wilson
- - Benjamin Paap (benjaminpaap)
- - Claus Due (namelesscoder)
- - Christian
- - Alexandru Patranescu
- - Sébastien Lévêque (legenyes)
- - ju1ius
- - Denis Golubovskiy (bukashk0zzz)
- - Arkadiusz Rzadkowolski (flies)
- - Serge (nfx)
- - Oksana Kozlova (oksanakozlova)
- - Quentin Moreau (sheitak)
- - Mikkel Paulson
- - Michał Strzelecki
- - Bert Ramakers
- - Hugo Fonseca (fonsecas72)
- - Marc Duboc (icemad)
- - uncaught
- - Martynas Narbutas
- - Timothée BARRAY
- - Nilmar Sanchez Muguercia
- - Pierre LEJEUNE (darkanakin41)
- - Bailey Parker
- - curlycarla2004
- - Javier Ledezma
- - Kevin Auvinet
- - Antanas Arvasevicius
- - Kris Kelly
- - Eddie Abou-Jaoude (eddiejaoude)
- - Haritz Iturbe (hizai)
- - Nerijus Arlauskas (nercury)
- - Stanislau Kviatkouski (7-zete-7)
- - Rutger Hertogh
- - Diego Sapriza
- - Joan Cruz
- - inspiran
- - Alex Demchenko
- - Richard van Velzen
- - Cristobal Dabed
- - Daniel Mecke (daniel_mecke)
- - Matteo Giachino (matteosister)
- - Serhii Polishchuk (spolischook)
- - Tadas Gliaubicas (tadcka)
- - Thanos Polymeneas (thanos)
- - Atthaphon Urairat
- - Benoit Garret
- - HellFirePvP
- - Maximilian Ruta (deltachaos)
- - Jon Green (jontjs)
- - Jakub Sacha
- - Julius Kiekbusch
- - Kamil Musial
- - Lucas Bustamante
- - Olaf Klischat
- - Andrii
- - orlovv
- - Claude Dioudonnat
- - Jonathan Hedstrom
- - Peter Smeets (darkspartan)
- - Julien Bianchi (jubianchi)
- - Michael Dawart (mdawart)
- - Robert Meijers
- - Tijs Verkoyen
- - James Sansbury
- - Marcin Chwedziak
- - Dan Kadera
- - hjkl
- - Dan Wilga
- - Thijs Reijgersberg
- - Florian Heller
- - Oleksii Svitiashchuk
- - Andrew Tch
- - Alexander Cheprasov
- - Tristan Bessoussa (sf_tristanb)
- - Rodrigo Díez Villamuera (rodrigodiez)
- - Brad Treloar
- - pritasil
- - Stephen Clouse
- - e-ivanov
- - Nathanaël Martel (nathanaelmartel)
- - Nicolas Jourdan (nicolasjc)
- - Benjamin Dos Santos
- - Abderrahman DAIF (death_maker)
- - Yann Rabiller (einenlum)
- - GagnarTest (gagnartest)
- - Jochen Bayer (jocl)
- - Tomas Javaisis
- - Constantine Shtompel
- - VAN DER PUTTE Guillaume (guillaume_vdp)
- - Patrick Carlo-Hickman
- - Bruno MATEU
- - Jeremy Bush
- - Lucas Bäuerle
- - Laurens Laman
- - Thomason, James
- - Dario Savella
- - Gordienko Vladislav
- - Joas Schilling
- - Ener-Getick
- - Markus Thielen
- - Peter Trebaticky
- - Moza Bogdan (bogdan_moza)
- - Viacheslav Sychov
- - Zuruuh
- - Nicolas Sauveur (baishu)
- - Helmut Hummel (helhum)
- - Matt Brunt
- - David Vancl
- - Carlos Ortega Huetos
- - Péter Buri (burci)
- - Evgeny Efimov (edefimov)
- - jack.thomas (jackthomasatl)
- - John VanDeWeghe
- - kaiwa
- - Charles Sanquer (csanquer)
- - Albert Ganiev (helios-ag)
- - Neil Katin
- - Oleg Mifle
- - V1nicius00
- - David Otton
- - Will Donohoe
- - peter
- - Tugba Celebioglu
- - Jeroen de Boer
- - Oleg Sedinkin (akeylimepie)
- - Jérémy Jourdin (jjk801)
- - BRAMILLE Sébastien (oktapodia)
- - Artem Kolesnikov (tyomo4ka)
- - Markkus Millend
- - Clément
- - Gustavo Adrian
- - Jorrit Schippers (jorrit)
- - Yann (yann_eugone)
- - Matthias Neid
- - danilovict2
- - Yannick
- - Kuzia
- - spdionis
- - maxime.perrimond
- - rchoquet
- - v.shevelev
- - rvoisin
- - Dan Brown
- - gitlost
- - Taras Girnyk
- - Simon Mönch
- - Barthold Bos
- - cthulhu
- - Andoni Larzabal (andonilarz)
- - Wolfgang Klinger (wolfgangklingerplan2net)
- - Staormin
- - Dmitry Derepko
- - Rémi Leclerc
- - Jan Vernarsky
- - Ionut Cioflan
- - John Edmerson Pizarra
- - Sergio
- - Jonas Hünig
- - Mehrdad
- - Amine Yakoubi
- - Eduardo García Sanz (coma)
- - Arend Hummeling
- - Makdessi Alex
- - Dmitrii Baranov
- - fduch (fduch)
- - Juan Miguel Besada Vidal (soutlink)
- - Takashi Kanemoto (ttskch)
- - Aleksei Lebedev
- - dlorek
- - Stuart Fyfe
- - Jason Schilling (chapterjason)
- - David de Boer (ddeboer)
- - Eno Mullaraj (emullaraj)
- - Guillem Fondin (guillemfondin)
- - Nathan PAGE (nathix)
- - Ryan Rogers
- - Arnaud
- - Klaus Purer
- - Dmitrii Lozhkin
- - Gilles Doge (gido)
- - Marion Hurteau (marionleherisson)
- - Oscar Esteve (oesteve)
- - Sobhan Sharifi (50bhan)
- - Peter Potrowl
- - abulford
- - Philipp Kretzschmar
- - Jairo Pastor
- - Ilya Vertakov
- - Brooks Boyd
- - Axel Venet
- - Stephen
- - Roger Webb
- - Dmitriy Simushev
- - Pawel Smolinski
- - Yury (daffox)
- - John Espiritu (johnillo)
- - Tomasz (timitao)
- - Nguyen Tuan Minh (tuanminhgp)
- - Oxan van Leeuwen
- - pkowalczyk
- - dbrekelmans
- - Mykola Zyk
- - Soner Sayakci
- - Max Voloshin (maxvoloshin)
- - Nicolas Fabre (nfabre)
- - Raul Rodriguez (raul782)
- - Piet Steinhart
- - mousezheng
- - Radoslaw Kowalewski
- - mshavliuk
- - Rémy LESCALLIER
- - MightyBranch
- - Kacper Gunia (cakper)
- - Derek Lambert (dlambert)
- - Mark Pedron (markpedron)
- - Peter Thompson (petert82)
- - Victor Macko (victor_m)
- - Ismail Turan
- - error56
- - Felicitus
- - Jorge Vahldick (jvahldick)
- - Krzysztof Przybyszewski (kprzybyszewski)
- - Vladimir Mantulo (mantulo)
- - Boullé William (williamboulle)
- - Jesper Noordsij
- - Bart Baaten
- - Frederic Godfrin
- - Paul Matthews
- - aim8604
- - Jakub Kisielewski
- - Vacheslav Silyutin
- - Aleksandr Dankovtsev
- - Maciej Zgadzaj
- - Juan Traverso
- - David Legatt (dlegatt)
- - Alain Flaus (halundra)
- - Arthur Woimbée
- - tsufeki
- - Théo DELCEY
- - Philipp Strube
- - Wim Hendrikx
- - Andrii Serdiuk (andreyserdjuk)
- - Clement Herreman (clemherreman)
- - dangkhoagms (dangkhoagms)
- - Dan Ionut Dumitriu (danionut90)
- - Evgeny (disparity)
- - Floran Brutel (notFloran) (floran)
- - Vladislav Rastrusny (fractalizer)
- - Vlad Gapanovich (gapik)
- - Alexander Kurilo (kamazee)
- - nyro (nyro)
- - Konstantin Bogomolov
- - Marco
- - Marc Torres
- - Mark Spink
- - gndk
- - Alberto Aldegheri
- - Dalibor Karlović
- - Cesar Scur (cesarscur)
- - Cyril Vermandé (cyve)
- - Daniele Orru' (danydev)
- - Raul Garcia Canet (juagarc4)
- - Sagrario Meneses
- - Dmitri Petmanson
- - heccjj
- - Alexandre Melard
- - Rafał Toboła
- - Dominik Schwind (dominikschwind)
- - Stefano A. (stefano93)
- - PierreRebeilleau
- - AlbinoDrought
- - Sergey Yuferev
- - Monet Emilien
- - voodooism
- - Tobias Stöckler
- - Mario Young
- - martkop26
- - Raphaël Davaillaud
- - Sander Hagen
- - Alexander Menk
- - cilefen (cilefen)
- - Prasetyo Wicaksono (jowy)
- - Mo Di (modi)
- - Victor Truhanovich (victor_truhanovich)
- - Pablo Schläpfer
- - Christian Rishøj
- - Nikos Charalampidis
- - Caligone
- - Roromix
- - Patrick Berenschot
- - SuRiKmAn
- - Xavier RENAUDIN
- - rtek
- - Christian Wahler (christian)
- - Jelte Steijaert (jelte)
- - Maxime AILLOUD (mailloud)
- - David Négrier (moufmouf)
- - Quique Porta (quiqueporta)
- - Tobias Feijten (tobias93)
- - mohammadreza honarkhah
- - Jessica F Martinez
- - paullallier
- - Artem Oliinyk (artemoliynyk)
- - Andrea Quintino (dirk39)
- - Andreas Heigl (heiglandreas)
- - Tomasz Szymczyk (karion)
- - Peter Dietrich (xosofox)
- - Alex Vasilchenko
- - sez-open
- - fruty
- - ConneXNL
- - Aharon Perkel
- - matze
- - Adam Wójs (awojs)
- - Justin Reherman (jreherman)
- - Rubén Calvo (rubencm)
- - Abdul.Mohsen B. A. A
- - Cédric Girard
- - Peter Jaap Blaakmeer
- - Robert Worgul
- - Swen van Zanten
- - Agustin Gomes
- - pthompson
- - Malaney J. Hill
- - Patryk Kozłowski
- - Alexandre Pavy
- - Tim Ward
- - Adiel Cristo (arcristo)
- - Christian Flach (cmfcmf)
- - Dennis Jaschinski (d.jaschinski)
- - Fabian Kropfhamer (fabiank)
- - Jeffrey Cafferata (jcidnl)
- - Junaid Farooq (junaidfarooq)
- - Lars Ambrosius Wallenborn (larsborn)
- - Pavel Starosek (octisher)
- - Oriol Mangas Abellan (oriolman)
- - Sebastian Göttschkes (sgoettschkes)
- - Marcin Nowak
- - Frankie Wittevrongel
- - Tatsuya Tsuruoka
- - Ross Tuck
- - omniError
- - Zander Baldwin
- - László GÖRÖG
- - djordy
- - Kévin Gomez (kevin)
- - Mihai Nica (redecs)
- - Andrei Igna
- - Adam Prickett
- - azine
- - Luke Towers
- - Wojciech Zimoń
- - Vladimir Melnik
- - Anton Kroshilin
- - Pierre Tachoire
- - Dawid Sajdak
- - Maxime THIRY
- - Norman Soetbeer
- - Ludek Stepan
- - Benjamin BOUDIER
- - Frederik Schwan
- - Mark van den Berg
- - Aaron Stephens (astephens)
- - Craig Menning (cmenning)
- - Balázs Benyó (duplabe)
- - Erika Heidi Reinaldo (erikaheidi)
- - William Thomson (gauss)
- - Javier Espinosa (javespi)
- - Marc J. Schmidt (marcjs)
- - František Maša
- - Sebastian Schwarz
- - Flohw
- - karolsojko
- - Marco Jantke
- - Saem Ghani
- - Claudiu Cristea
- - Zacharias Luiten
- - Sebastian Utz
- - Adrien Gallou (agallou)
- - Andrea Sprega (asprega)
- - Maks Rafalko (bornfree)
- - Conrad Kleinespel (conradk)
- - Clément LEFEBVRE (nemoneph)
- - Viktor Bajraktar (njutn95)
- - Walter Dal Mut (wdalmut)
- - abluchet
- - Ruud Arentsen
- - Harald Tollefsen
- - PabloKowalczyk
- - Matthieu
- - ZiYao54
- - Arend-Jan Tetteroo
- - Albin Kerouaton
- - Sébastien HOUZÉ
- - sebastian
- - Mbechezi Nawo
- - wivaku
- - Markus Reinhold
- - Jingyu Wang
- - es
- - steveYeah
- - Asrorbek (asrorbek)
- - Samy D (dinduks)
- - Keri Henare (kerihenare)
- - Andre Eckardt (korve)
- - Cédric Lahouste (rapotor)
- - Samuel Vogel (samuelvogel)
- - Osayawe Ogbemudia Terry (terdia)
- - Berat Doğan
- - Christian Kolb
- - Guillaume LECERF
- - Alan Scott
- - Juanmi Rodriguez Cerón
- - twifty
- - David Szkiba
- - Andy Raines
- - François Poguet
- - Anthony Ferrara
- - Geoffrey Pécro (gpekz)
- - Klaas Cuvelier (kcuvelier)
- - Flavien Knuchel (knuch)
- - Mathieu TUDISCO (mathieutu)
- - Dmytro Dzubenko
- - Martijn Croonen
- - Peter Ward
- - markusu49
- - Steve Frécinaux
- - Constantine Shtompel
- - Jules Lamur
- - Renato Mendes Figueiredo
- - xdavidwu
- - Benjamin RICHARD
- - Raphaël Droz
- - Vladimir Pakhomchik
- - pdommelen
- - Eric Stern
- - ShiraNai7
- - Cedrick Oka
- - Antal Áron (antalaron)
- - Guillaume Sainthillier (guillaume-sainthillier)
- - Ivan Pepelko (pepelko)
- - Vašek Purchart (vasek-purchart)
- - Janusz Jabłoński (yanoosh)
- - Jens Hatlak
- - Fleuv
- - Tayfun Aydin
- - Łukasz Makuch
- - Arne Groskurth
- - Ilya Chekalsky
- - Ostrzyciel
- - George Giannoulopoulos
- - Thibault G
- - Alexander Pasichnik (alex_brizzz)
- - Felix Eymonot (hyanda)
- - Luis Ramirez (luisdeimos)
- - Ilia Sergunin (maranqz)
- - Daniel Richter (richtermeister)
- - Sandro Hopf (senaria)
- - ChrisC
- - André Laugks
- - jack.shpartko
- - Willem Verspyck
- - Kim Laï Trinh
- - Johan de Ruijter
- - InbarAbraham
- - Jason Desrosiers
- - m.chwedziak
- - marbul
- - Filippos Karailanidis
- - Andreas Frömer
- - Jeroen Bouwmans
- - Bikal Basnet
- - Philip Frank
- - David Brooks
- - Lance McNearney
- - Illia Antypenko (aivus)
- - Jelizaveta Lemeševa (broken_core)
- - Dominik Ritter (dritter)
- - Frank Neff (fneff)
- - Volodymyr Kupriienko (greeflas)
- - Ilya Biryukov (ibiryukov)
- - Mathieu Ledru (matyo91)
- - Roma (memphys)
- - Jozef Môstka (mostkaj)
- - Florian Caron (shalalalala)
- - Serhiy Lunak (slunak)
- - Wojciech Błoszyk (wbloszyk)
- - Giorgio Premi
- - Matthias Bilger
- - abunch
- - tamcy
- - Lukas Naumann
- - Mikko Pesari
- - Krzysztof Pyrkosz
- - Aurélien Fontaine
- - ncou
- - Ian Carroll
- - Dennis Fehr
- - caponica
- - jdcook
- - 🦅KoNekoD
- - Daniel Kay (danielkay-cp)
- - Matt Daum (daum)
- - Malcolm Fell (emarref)
- - Alberto Pirovano (geezmo)
- - inwebo veritas (inwebo)
- - Pascal Woerde (pascalwoerde)
- - Pete Mitchell (peterjmit)
- - phuc vo (phucwan)
- - Tom Corrigan (tomcorrigan)
- - Luis Galeas
- - Bogdan Scordaliu
- - Sven Scholz
- - Martin Pärtel
- - Daniel Rotter (danrot)
- - Frédéric Bouchery (fbouchery)
- - Jacek Kobus (jackks)
- - Patrick Daley (padrig)
- - Phillip Look (plook)
- - Foxprodev
- - Artfaith
- - Tom Kaminski
- - developer-av
- - Max Summe
- - Ema Panz
- - Hugo Sales
- - Dale.Nash
- - DidierLmn
- - Pedro Silva
- - Chihiro Adachi (chihiro-adachi)
- - Clément R. (clemrwan)
- - Jeroen de Graaf
- - Hossein Hosni
- - Ulrik McArdle
- - BiaDd
- - Oleksii Bulba
- - Ramon Cuñat
- - mboultoureau
- - Raphaëll Roussel
- - Vitalii
- - Tadcka
- - Bárbara Luz
- - Abudarham Yuval
- - Beth Binkovitz
- - adhamiamirhossein
- - Maxim Semkin
- - Gonzalo Míguez
- - Jan Vernarsky
- - BrokenSourceCode
- - Fabian Haase
- - roog
- - parinz1234
- - seho-nl
- - Romain Geissler
- - Martin Auswöger
- - Adrien Moiruad
- - Viktoriia Zolotova
- - Tomaz Ahlin
- - Nasim
- - Randel Palu
- - Anamarija Papić (anamarijapapic)
- - AnotherSymfonyUser (arderyp)
- - Marcus Stöhr (dafish)
- - Daniel González Zaballos (dem3trio)
- - Emmanuel Vella (emmanuel.vella)
- - Giuseppe Petraroli (gpetraroli)
- - Guillaume BRETOU (guiguiboy)
- - Ibon Conesa (ibonkonesa)
- - Yoann Chocteau (kezaweb)
- - Nikita Popov (nikic)
- - nuryagdy mustapayev (nueron)
- - Carsten Nielsen (phreaknerd)
- - Valérian Lepeule (vlepeule)
- - Michael Olšavský
- - Jay Severson
- - Benny Born
- - Vincent Vermeulen
- - Stefan Moonen
- - Emirald Mateli
- - Robert
- - Ivan Tse
- - René Kerner
- - Nathaniel Catchpole
- - Jontsa
- - Igor Plantaš
- - upchuk
- - Adrien Samson (adriensamson)
- - Samuel Gordalina (gordalina)
- - Maksym Romanowski (maxromanovsky)
- - Nicolas Eeckeloo (neeckeloo)
- - Andriy Prokopenko (sleepyboy)
- - Dariusz Ruminski
- - Starfox64
- - Ivo Valchev
- - Thomas Hanke
- - ffd000
- - Daniel Tschinder
- - Arnaud CHASSEUX
- - Zlatoslav Desyatnikov
- - Wickex
- - tuqqu
- - Wojciech Gorczyca
- - Ahmad Al-Naib
- - Neagu Cristian-Doru (cristian-neagu)
- - Mathieu Morlon (glutamatt)
- - NIRAV MUKUNDBHAI PATEL (niravpatel919)
- - Owen Gray (otis)
- - Rafał Muszyński (rafmus90)
- - Sébastien Decrême (sebdec)
- - Timothy Anido (xanido)
- - Robert-Jan de Dreu
- - Mara Blaga
- - Rick Prent
- - skalpa
- - Kai
- - Bartłomiej Zając
- - Pieter Jordaan
- - Tournoud (damientournoud)
- - Michael Dowling (mtdowling)
- - Karlos Presumido (oneko)
- - Pierre Foresi (pforesi)
- - Tony Vermeiren (tony)
- - Bart Wach
- - Jos Elstgeest
- - Kirill Lazarev
- - Thomas Counsell
- - Joe
- - BilgeXA
- - mmokhi
- - Serhii Smirnov
- - Robert Queck
- - Peter Bouwdewijn
- - Kurt Thiemann
- - Martins Eglitis
- - Daniil Gentili
- - Eduard Morcinek
- - Wouter Diesveld
- - Romain
- - Matěj Humpál
- - Kasper Hansen
- - Nico Hiort af Ornäs
- - Eddy
- - Amine Matmati
- - Kristen Gilden
- - caalholm
- - Nouhail AL FIDI (alfidi)
- - Fabian Steiner (fabstei)
- - Felipy Amorim (felipyamorim)
- - Guillaume Loulier (guikingone)
- - Michael Lively (mlivelyjr)
- - Pierre Grimaud (pgrimaud)
- - Abderrahim (phydev)
- - Attila Bukor (r1pp3rj4ck)
- - Thomas Boileau (tboileau)
- - Alexander Janssen (tnajanssen)
- - Thomas Chmielowiec (chmielot)
- - Jānis Lukss
- - simbera
- - Julien BERNARD
- - Michael Zangerle
- - rkerner
- - Alex Silcock
- - Raphael Hardt
- - Ivan Nemets
- - Dave Long
- - Qingshan Luo
- - Michael Olšavský
- - Ergie Gonzaga
- - Matthew J Mucklo
- - AnrDaemon
- - SnakePin
- - Matthew Covey
- - Tristan Kretzer
- - Adriaan Zonnenberg
- - Charly Terrier (charlypoppins)
- - Dcp (decap94)
- - Emre Akinci (emre)
- - Rachid Hammaoui (makmaoui)
- - Chris Maiden (matason)
- - psampaz (psampaz)
- - Andrea Ruggiero (pupax)
- - Stan Jansen (stanjan)
- - Maxwell Vandervelde
- - karstennilsen
- - kaywalker
- - Sebastian Ionescu
- - Robert Kopera
- - Pablo Ogando Ferreira
- - Thomas Ploch
- - Victor Prudhomme
- - Simon Neidhold
- - Wouter Ras
- - Gil Hadad
- - Valentin VALCIU
- - Jeremiah VALERIE
- - Alexandre Beaujour
- - Franck Ranaivo-Harisoa
- - Grégoire Rabasse
- - Cas van Dongen
- - Patrik Patie Gmitter
- - George Yiannoulopoulos
- - Yannick Snobbert
- - Kevin Dew
- - James Cowgill
- - Žan V. Dragan
- - sensio
- - Julien Menth (cfjulien)
- - Lyubomir Grozdanov (lubo13)
- - Nicolas Schwartz (nicoschwartz)
- - Tim Jabs (rubinum)
- - Schvoy Norbert (schvoy)
- - Stéphane Seng (stephaneseng)
- - Peter Schultz
- - Robert Korulczyk
- - Jonathan Gough
- - Benhssaein Youssef
- - Benoit Leveque
- - bill moll
- - chillbram
- - Benjamin Bender
- - PaoRuby
- - Holger Lösken
- - Bizley
- - Jared Farrish
- - Yohann Tilotti
- - karl.rixon
- - raplider
- - Konrad Mohrfeldt
- - Lance Chen
- - Ciaran McNulty (ciaranmcnulty)
- - Dominik Piekarski (dompie)
- - Andrew (drew)
- - j4nr6n (j4nr6n)
- - Rares Sebastian Moldovan (raresmldvn)
- - Stelian Mocanita (stelian)
- - Gautier Deuette
- - dsech
- - wallach-game
- - Gilbertsoft
- - tadas
- - Bastien Picharles
- - Kirk Madera
- - Linas Ramanauskas
- - mamazu
- - Keith Maika
- - izenin
- - Mephistofeles
- - Oleh Korneliuk
- - Emmanuelpcg
- - Rini Misini
- - Attila Szeremi
- - Evgeny Ruban
- - Hoffmann András
- - LubenZA
- - Victor Garcia
- - Juan Mrad
- - Denis Yuzhanin
- - k-sahara
- - Flavian Sierk
- - Rik van der Heijden
- - knezmilos13
- - Thomas Beaujean
- - alireza
- - Michael Bessolov
- - sauliusnord
- - Zdeněk Drahoš
- - Dan Harper
- - moldcraft
- - Marcin Kruk
- - Antoine Bellion (abellion)
- - Ramon Kleiss (akathos)
- - Alexey Buyanow (alexbuyanow)
- - Antonio Peric-Mazar (antonioperic)
- - César Suárez (csuarez)
- - Bjorn Twachtmann (dotbjorn)
- - Marek Víger (freezy)
- - Goran (gog)
- - Wahyu Kristianto (kristories)
- - Tobias Genberg (lorceroth)
- - Michael Simonson (mikes)
- - Nicolas Badey (nico-b)
- - Florent Blaison (orkin)
- - Olivier Scherler (oscherler)
- - Flo Gleixner (redflo)
- - Romain Jacquart (romainjacquart)
- - Shane Preece (shane)
- - Stephan Wentz (temp)
- - Johannes Goslar
- - Mike Gladysch
- - Geoff
- - georaldc
- - wusuopu
- - Markus Staab
- - Wouter de Wild
- - Peter Potrowl
- - povilas
- - andreybolonin1989@gmail.com
- - Gavin Staniforth
- - bahram
- - Alessandro Tagliapietra (alex88)
- - Nikita Starshinov (biji)
- - Alex Teterin (errogaht)
- - Gunnar Lium (gunnarlium)
- - Malte Wunsch (maltewunsch)
- - Marie Minasyan (marie.minassyan)
- - Pavel Stejskal (spajxo)
- - Szymon Kamiński (szk)
- - Tiago Garcia (tiagojsag)
- - Artiom
- - Jakub Simon
- - TheMhv
- - Eviljeks
- - Juliano Petronetto
- - robin.de.croock
- - Brandon Antonio Lorenzo
- - Bouke Haarsma
- - Boris Medvedev
- - mlievertz
- - Radosław Kowalewski
- - Enrico Schultz
- - tpetry
- - Nikita Sklyarov
- - JustDylan23
- - Juraj Surman
- - Martin Eckhardt
- - natechicago
- - DaikiOnodera
- - Victor
- - Andreas Allacher
- - Abdelilah Jabri
- - Alexis
- - Leonid Terentyev
- - Sergei Gorjunov
- - Jonathan Poston
- - Adrian Olek (adrianolek)
- - Camille Dejoye (cdejoye)
- - cybernet (cybernet2u)
- - Jody Mickey (jwmickey)
- - Przemysław Piechota (kibao)
- - Martin Schophaus (m_schophaus_adcada)
- - Martynas Sudintas (martiis)
- - Anton Sukhachev (mrsuh)
- - Pavlo Pelekh (pelekh)
- - Stefan Kleff (stefanxl)
- - RichardGuilland
- - Marcel Siegert
- - ryunosuke
- - Bruno BOUTAREL
- - Athorcis
- - John Stevenson
- - everyx
- - Richard Heine
- - Francisco Facioni (fran6co)
- - Stanislav Gamaiunov (happyproff)
- - Iwan van Staveren (istaveren)
- - Alexander McCullagh (mccullagh)
- - Paul L McNeely (mcneely)
- - Povilas S. (povilas)
- - Laurent Negre (raulnet)
- - Sergey Fokin (tyraelqp)
- - Victoria Quirante Ruiz (victoria)
- - Evrard Boulou
- - pborreli
- - Ibrahim Bougaoua
- - Boris Betzholz
- - Eric Caron
- - Arnau González
- - GurvanVgx
- - Jiri Falis
- - 2manypeople
- - Wing
- - Thomas Bibb
- - Stefan Koopmanschap
- - George Sparrow
- - Toro Hill
- - Joni Halme
- - Matt Farmer
- - André Laugks
- - catch
- - aetxebeste
- - Roberto Guido
- - ElisDN
- - roromix
- - Vitali Tsyrkin
- - Juga Paazmaya
- - Alexandre Segura
- - afaricamp
- - Josef Cech
- - riadh26
- - AntoineDly
- - Konstantinos Alexiou
- - Andrii Boiko
- - Dilek Erkut
- - mikocevar
- - Harold Iedema
- - WaiSkats
- - Morimoto Ryosuke
- - Ikhsan Agustian
- - Benoit Lévêque (benoit_leveque)
- - Bernat Llibre Martín (bernatllibre)
- - Simon Bouland (bouland)
- - Christoph König (chriskoenig)
- - Dmytro Pigin (dotty)
- - Abdouarrahmane FOUAD (fabdouarrahmane)
- - Jakub Janata (janatjak)
- - Jm Aribau (jmaribau)
- - Maciej Paprocki (maciekpaprocki)
- - Matthew Foster (mfoster)
- - Paul Seiffert (seiffert)
- - Vasily Khayrulin (sirian)
- - Stas Soroka (stasyan)
- - Thomas Dubuffet (thomasdubuffet)
- - Stefan Hüsges (tronsha)
- - Jake Bishop (yakobeyak)
- - Dan Blows
- - popnikos
- - Matt Wells
- - Nicolas Appriou
- - Javier Alfonso Bellota de Frutos
- - stloyd
- - Tito Costa
- - Andreas
- - Chris Tickner
- - Andrew Coulton
- - Ulugbek Miniyarov
- - Jeremy Benoist
- - Antoine Beyet
- - Michal Gebauer
- - René Landgrebe
- - Phil Davis
- - Thiago Melo
- - Gleb Sidora
- - David Stone
- - Giorgio Premi
- - Gerhard Seidel (gseidel)
- - Jovan Perovic (jperovic)
- - Pablo Maria Martelletti (pmartelletti)
- - Sebastian Drewer-Gutland (sdg)
- - Sander van der Vlugt (stranding)
- - casdal
- - Florian Bogey
- - Waqas Ahmed
- - Bert Hekman
- - Luis Muñoz
- - Matthew Donadio
- - Kris Buist
- - Houziaux mike
- - Phobetor
- - Eric Schildkamp
- - Yoann MOROCUTTI
- - d.huethorst
- - Markus
- - Zayan Goripov
- - agaktr
- - Janusz Mocek
- - Johannes
- - Mostafa
- - kernig
- - Thomas Chmielowiec
- - shdev
- - Andrey Ryaguzov
- - Gennadi Janzen
- - SenTisso
- - Stefan
- - Peter Bex
- - Manatsawin Hanmongkolchai
- - Gunther Konig
- - Joe Springe
- - Mickael GOETZ
- - Tobias Speicher
- - Jesper Noordsij
- - DerStoffel
- - Flinsch
- - Maciej Schmidt
- - botbotbot
- - tatankat
- - Cláudio Cesar
- - Sven Nolting
- - Timon van der Vorm
- - nuncanada
- - Thierry Marianne
- - František Bereň
- - G.R.Dalenoort
- - Jeremiah VALERIE
- - Mike Francis
- - Nil Borodulia
- - Adam Katz
- - Almog Baku (almogbaku)
- - Boris Grishenko (arczinosek)
- - Arrakis (arrakis)
- - Danil Khaliullin (bifidokk)
- - Benjamin Schultz (bschultz)
- - Christian Grasso (chris54721)
- - Vladimir Khramtsov (chrome)
- - Gerd Christian Kunze (derdu)
- - Stephanie Trumtel (einahp)
- - Denys Voronin (hurricane)
- - Ionel Scutelnicu (ionelscutelnicu)
- - Jordan de Laune (jdelaune)
- - Juan Gonzalez Montes (juanwilde)
- - Kamil Madejski (kmadejski)
- - Mathieu Dewet (mdewet)
- - none (nelexa)
- - Nicolas Tallefourtané (nicolab)
- - Botond Dani (picur)
- - Rémi Faivre (rfv)
- - Radek Wionczek (rwionczek)
- - tinect (tinect)
- - Nick Stemerdink
- - Bernhard Rusch
- - David Stone
- - Vincent Bouzeran
- - fabi
- - Grayson Koonce
- - Ruben Jansen
- - Wissame MEKHILEF
- - Mihai Stancu
- - shreypuranik
- - Thibaut Salanon
- - Romain Dorgueil
- - Christopher Parotat
- - Andrey Helldar
- - Dennis Haarbrink
- - Daniel Kozák
- - Urban Suppiger
- - 蝦米
- - Julius Beckmann (h4cc)
- - Julien JANVIER (jjanvier)
- - Karim Cassam Chenaï (ka)
- - Lorenzo Adinolfi (loru88)
- - Marcello Mönkemeyer (marcello-moenkemeyer)
- - Ahmed Shamim Hassan (me_shaon)
- - Michal Kurzeja (mkurzeja)
- - Nicolas Bastien (nicolas_bastien)
- - Nikola Svitlica (thecelavi)
- - Andrew Zhilin (zhil)
- - Sjors Ottjes
- - azjezz
- - VojtaB
- - Andy Stanberry
- - Felix Marezki
- - Normunds
- - Yuri Karaban
- - Walter Doekes
- - Johan
- - Thomas Rothe
- - Edwin
- - Troy Crawford
- - Kirill Roskolii
- - Jeroen van den Nieuwenhuisen
- - nietonfir
- - Andriy
- - Taylor Otwell
- - alefranz
- - David Barratt
- - Andrea Giannantonio
- - Pavel.Batanov
- - avi123
- - Pavel Prischepa
- - Philip Dahlstrøm
- - Pierre Schmitz
- - Sami Mussbach
- - qzylalala
- - alsar
- - downace
- - Aarón Nieves Fernández
- - Mikolaj Czajkowski
- - Ahto Türkson
- - Paweł Stasicki
- - Ph3nol
- - Kirill Saksin
- - Shiro
- - Reda DAOUDI
- - Koalabaerchen
- - michalmarcinkowski
- - Warwick
- - Chris
- - Farid Jalilov
- - Christiaan Wiesenekker
- - Ariful Alam
- - Florent Olivaud
- - Foxprodev
- - Eric Hertwig
- - JakeFr
- - Dmitry Hordinky
- - Oliver Klee
- - Niels Robin-Aubertin
- - Simon Sargeant
- - efeen
- - Mikko Ala-Fossi
- - Jan Christoph Beyer
- - withbest
- - Nicolas Pion
- - Muhammed Akbulut
- - Daniel Tiringer
- - Xesau
- - Koray Zorluoglu
- - Roy-Orbison
- - Aaron Somi
- - kshida
- - Yasmany Cubela Medina (bitgandtter)
- - Michał Dąbrowski (defrag)
- - Aryel Tupinamba (dfkimera)
- - Elías (eliasfernandez)
- - Hans Höchtl (hhoechtl)
- - Simone Fumagalli (hpatoio)
- - Brian Graham (incognito)
- - Kevin Vergauwen (innocenzo)
- - Alessio Baglio (ioalessio)
- - Johannes Müller (johmue)
- - Jordi Llonch (jordillonch)
- - julien_tempo1 (julien_tempo1)
- - Roman Igoshin (masterro)
- - Nicholas Ruunu (nicholasruunu)
- - Pierre Rebeilleau (pierrereb)
- - Milos Colakovic (project2481)
- - Raphael de Almeida (raphaeldealmeida)
- - Rénald Casagraude (rcasagraude)
- - Robin Duval (robin-duval)
- - Mohammad Ali Sarbanha (sarbanha)
- - Sergii Dolgushev (sergii-swds)
- - Steeve Titeca (stiteca)
- - Thomas Citharel (tcit)
- - Artem Lopata (bumz)
- - Soha Jin
- - alex
- - Alex Niedre
- - evgkord
- - Roman Orlov
- - Simon Ackermann
- - Andreas Allacher
- - VolCh
- - Alexey Popkov
- - Gijs Kunze
- - Artyom Protaskin
- - Steven Dubois
- - Nathanael d. Noblet
- - Yurun
- - helmer
- - ged15
- - Simon Asika
- - CDR
- - Daan van Renterghem
- - Bálint Szekeres
- - Boudry Julien
- - amcastror
- - Bram Van der Sype (brammm)
- - Guile (guile)
- - Mark Beech (jaybizzle)
- - Julien Moulin (lizjulien)
- - Raito Akehanareru (raito)
- - Mauro Foti (skler)
- - Thibaut Arnoud (thibautarnoud)
- - Valmont Pehaut-Pietri (valmonzo)
- - Yannick Warnier (ywarnier)
- - Jörn Lang
- - Kevin Decherf
- - Paul LE CORRE
- - Christian Weiske
- - Maria Grazia Patteri
- - klemens
- - dened
- - muchafm
- - jpauli
- - Dmitry Korotovsky
- - Michael van Tricht
- - ReScO
- - Tim Strehle
- - Sébastien COURJEAN
- - cay89
- - Sam Ward
- - Hans N. Hjort
- - Marko Vušak
- - Walther Lalk
- - Adam
- - Ivo
- - vltrof
- - Ismo Vuorinen
- - Markus Staab
- - Valentin
- - Gerard
- - Sören Bernstein
- - michael.kubovic
- - devel
- - Iain Cambridge
- - taiiiraaa
- - Ali Tavafi
- - gedrox
- - Viet Pham
- - Alan Bondarchuk
- - Pchol
- - Benjamin Ellis
- - Shamimul Alam
- - Cyril HERRERA
- - dropfen
- - RAHUL K JHA
- - Andrey Chernykh
- - Edvinas Klovas
- - Drew Butler
- - Peter Breuls
- - Kevin EMO
- - Chansig
- - Tischoi
- - divinity76
- - vdauchy
- - Andreas Hasenack
- - J Bruni
- - Alexey Prilipko
- - vlakoff
- - Anthony Tenneriello
- - thib92
- - Yiorgos Kalligeros
- - Rudolf Ratusiński
- - Bertalan Attila
- - Arek Bochinski
- - Rafael Tovar
- - Amin Hosseini (aminh)
- - AmsTaFF (amstaff)
- - Simon Müller (boscho)
- - Yannick Bensacq (cibou)
- - Cyrille Bourgois (cyrilleb)
- - Damien Vauchel (damien_vauchel)
- - Dmitrii Fedorenko (dmifedorenko)
- - William Pinaud (docfx)
- - Frédéric G. Marand (fgm)
- - Freek Van der Herten (freekmurze)
- - Luca Genuzio (genuzio)
- - Ben Gamra Housseine (hbgamra)
- - Andrew Marcinkevičius (ifdattic)
- - Ioana Hazsda (ioana-hazsda)
- - Jan Marek (janmarek)
- - Mark de Haan (markdehaan)
- - Maxime Corteel (mcorteel)
- - Dan Patrick (mdpatrick)
- - Mathieu MARCHOIS (mmar)
- - Nei Rauni Santos (nrauni)
- - Geoffrey Monte (numerogeek)
- - Martijn Boers (plebian)
- - Plamen Mishev (pmishev)
- - Pedro Magalhães (pmmaga)
- - Rares Vlaseanu (raresvla)
- - Trevor N. Suarez (rican7)
- - Sergii Dolgushev (serhey)
- - Clément Bertillon (skigun)
- - Rein Baarsma (solidwebcode)
- - tante kinast (tante)
- - Stephen Lewis (tehanomalousone)
- - Ahmed HANNACHI (tiecoders)
- - Vincent LEFORT (vlefort)
- - Walid BOUGHDIRI (walidboughdiri)
- - Wim Molenberghs (wimm)
- - Darryl Hein (xmmedia)
- - Vladimir Sadicov (xtech)
- - Marcel Berteler
- - Ruud Seberechts
- - sdkawata
- - Frederik Schmitt
- - Peter van Dommelen
- - Tim van Densen
- - Andrzej
- - Alexander Zogheb
- - tomasz-kusy
- - Rémi Blaise
- - Nicolas Séverin
- - patrickmaynard
- - Houssem
- - Joel Marcey
- - zolikonta
- - Daniel Bartoníček
- - Michael Hüneburg
- - David Christmann
- - root
- - pf
- - Zoli Konta
- - Vincent Chalnot
- - Roeland Jago Douma
- - Patrizio Bekerle
- - Tom Maguire
- - Mateusz Lerczak
- - Tim Porter
- - Richard Quadling
- - Will Rowe
- - Rainrider
- - David Zuelke
- - Adrian
- - Oliver Eglseder
- - neFAST
- - Peter Gribanov
- - zcodes
- - Pierre Rineau
- - Florian Morello
- - Maxim Lovchikov
- - ivelin vasilev
- - adenkejawen
- - Florent SEVESTRE (aniki-taicho)
- - Ari Pringle (apringle)
- - Dan Ordille (dordille)
- - Jan Eichhorn (exeu)
- - Georg Ringer (georgringer)
- - Grégory Pelletier (ip512)
- - Johan Wilfer (johanwilfer)
- - John Nickell (jrnickell)
- - Martin Mayer (martin)
- - Grzegorz Łukaszewicz (newicz)
- - Nico Müller (nicomllr)
- - Omar Yepez (oyepez003)
- - Jonny Schmid (schmidjon)
- - Toby Griffiths (tog)
+ - Simon DELICATA
+ - vitaliytv
+ - Franck RANAIVO-HARISOA (franckranaivo)
+ - Yi-Jyun Pan
+ - Philippe Segatori
+ - Jayson Xu (superjavason)
+ - Oleksandr Barabolia (oleksandrbarabolia)
+ - Sébastien Despont (bouillou)
+ - Maxime Douailin
+ - benjaminmal
+ - Dominik Ulrich
+ - Kay Wei
+ - Reen Lokum
+ - Michał Jusięga
+ - Marc Laporte
+ - Jean Pasdeloup
+ - Roy de Vos Burchart
+ - Jon Gotlin (jongotlin)
+ - Andrey Sevastianov
+ - James Johnston
+ - Joost van Driel (j92)
+ - Khoo Yong Jun
+ - Adrian Nguyen (vuphuong87)
+ - Julien Fredon
+ - Paulo Ribeiro (paulo)
+ - Sebastian Blum
+ - Matthew Davis (mdavis1982)
+ - Abhoryo
+ - Xavier Leune (xleune)
+ - Marcos Gómez Vilches (markitosgv)
+ - Baptiste CONTRERAS
+ - Julien Turby
+ - Lorenzo Millucci (lmillucci)
+ - Ricky Su (ricky)
+ - Cristoforo Cervino (cristoforocervino)
+ - scyzoryck
+ - Arno Geurts
+ - Florian Hermann (fhermann)
+ - Kyle Evans (kevans91)
+ - Max Rath (drak3)
+ - marie
+ - Stéphane Escandell (sescandell)
+ - Pavol Tuka
+ - Fractal Zombie
+ - Philipp Keck
+ - Noémi Salaün (noemi-salaun)
+ - Gennady Telegin
+ - Benedikt Lenzen (demigodcode)
+ - Alexandre Dupuy (satchette)
+ - Michel Hunziker
+ - Malte Blättermann
+ - Ilya Levin (ilyachase)
+ - Simeon Kolev (simeon_kolev9)
+ - Jonas Elfering
+ - Mihai Stancu
+ - louismariegaborit
+ - Nahuel Cuesta (ncuesta)
+ - Ruben Gonzalez (rubenruateltek)
+ - Chris Boden (cboden)
+ - Kuba Werłos (kuba)
+ - Johnson Page (jwpage)
+ - Jacques MOATI (jmoati)
+ - EStyles (insidestyles)
+ - Christophe Villeger (seragan)
+ - Harry Walter (haswalt)
+ - Krystian Marcisz (simivar)
+ - David Fuhr
+ - Hany el-Kerdany
+ - Dhananjay Goratela
+ - Åsmund Garfors
+ - Maxime COLIN (maximecolin)
+ - ywisax
+ - Javier López (loalf)
+ - Xavier Briand (xavierbriand)
+ - Douglas Reith (douglas_reith)
+ - Reinier Kip
+ - noniagriconomie
+ - Bill Hance (billhance)
+ - Jérôme Tamarelle (jtamarelle-prismamedia)
+ - Carlos Pereira De Amorim (epitre)
+ - Emil Masiakowski
+ - Geoffrey Brier (geoffrey-brier)
+ - Balazs Csaba
+ - Nykopol (nykopol)
+ - Tony Tran
+ - Alex Bogomazov (alebo)
+ - Martins Sipenko
+ - Michael Hüneburg
+ - root
+ - Vincent Chalnot
+ - Roeland Jago Douma
+ - Patrizio Bekerle
+ - Tom Maguire
+ - Mateusz Lerczak
+ - Tim Porter
+ - Richard Quadling
+ - Will Rowe
+ - Rainrider
+ - David Zuelke
+ - Adrian
+ - Oliver Eglseder
+ - neFAST
+ - Peter Gribanov
+ - zcodes
+ - Pierre Rineau
+ - Maxim Lovchikov
+ - adenkejawen
+ - Florent SEVESTRE (aniki-taicho)
+ - Jan Eichhorn (exeu)
+ - Georg Ringer (georgringer)
+ - Johan Wilfer (johanwilfer)
+ - Martin Mayer (martin)
+ - Ruud Seberechts
+ - ivelin vasilev
+ - John Nickell (jrnickell)
+ - Toby Griffiths (tog)
+ - Paul Le Corre
+ - Grzegorz Łukaszewicz (newicz)
+ - Nico Müller (nicomllr)
+ - Omar Yepez (oyepez003)
+ - carlos-ea
- Ashura
- Götz Gottwald
- Alessandra Lai
@@ -3192,10 +1548,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Thanh Trần
- Robert Campbell
- Matt Lehner
- - carlos-ea
- Olexandr Kalaidzhy
- Helmut Januschka
- - Jérémy Benoist
- Hein Zaw Htet™
- Ruben Kruiswijk
- Cosmin-Romeo TANASE
@@ -3205,15 +1559,15 @@ The Symfony Connect username in parenthesis allows to get more information
- youssef saoubou
- Joseph Maarek
- Alexander Menk
- - Alex Pods
- timaschew
- Jelle Kapitein
- Jochen Mandl
- - elattariyassine
- Asrorbek Sultanov
- Marin Nicolae
- Gerrit Addiks
- Buster Neece
+ - lerminou
+ - Jenne van der Meer
- Albert Prat
- Alessandro Loffredo
- Ian Phillips
@@ -3221,16 +1575,18 @@ The Symfony Connect username in parenthesis allows to get more information
- Remi Collet
- Haritz
- Matthieu Prat
- - Brieuc Thomas
- zors1
- Peter Simoncic
- - lerminou
- Adam Bramley
+ - thecaliskan
- Ahmad El-Bardan
+ - martijn
- mantulo
+ - Andrew Brown
- pdragun
- - Paul Le Corre
+ - Erik van Wingerden
- Noel Light-Hilary
+ - Gilles Gauthier
- Filipe Guerra
- Jean Ragouin
- Gerben Wijnja
@@ -3241,12 +1597,8 @@ The Symfony Connect username in parenthesis allows to get more information
- Per Modin
- David Windell
- Frank Jogeleit
- - Ondřej Frei
- Gabriel Birke
- Derek Bonner
- - martijn
- - Jenne van der Meer
- - annesosensio
- NothingWeAre
- Storkeus
- goabonga
@@ -3265,7 +1617,6 @@ The Symfony Connect username in parenthesis allows to get more information
- sam-bee
- Vlad Dumitrache
- wetternest
- - Erik van Wingerden
- Valouleloup
- Pathpat
- Jaymin G
@@ -3276,678 +1627,4455 @@ The Symfony Connect username in parenthesis allows to get more information
- Matheus Gontijo
- Gerrit Drost
- Linnaea Von Lavia
- - Andrew Brown
- Javan Eskander
- Lenar Lõhmus
- - Cristian Gonzalez
- MusikAnimal
- AlberT
- hainey
- - Juan M Martínez
- - Gilles Gauthier
+ - Dominik Hajduk (dominikalp)
+ - gondo (gondo)
- Benjamin Franzke
- Pavinthan
+ - David Joos (djoos)
- Sylvain METAYER
+ - Dennis Smink (dsmink)
- ddebree
- Gyula Szucs
- - Dmitriy
- Tomas Liubinas
+ - Jan Hort
+ - Klaas Naaijkens
+ - Bojan
+ - Rafał
+ - Adria Lopez (adlpz)
+ - Adrien Peyre (adpeyre)
+ - Alexandre Jardin (alexandre.jardin)
+ - Bart Brouwer (bartbrouwer)
+ - baron (bastien)
+ - Bastien Clément (bastienclement)
+ - Rosio (ben-rosio)
+ - Simon Paarlberg (blamh)
+ - Anne-Sophie Bachelard
+ - Masao Maeda (brtriver)
+ - Alexander Dmitryuk (coden1)
+ - Valery Maslov (coderberg)
+ - Damien Harper (damien.harper)
+ - Darius Leskauskas (darles)
+ - david perez (davidpv)
+ - Denis Klementjev (dklementjev)
+ - Dominik Pesch (dombn)
+ - Tomáš Polívka (draczris)
+ - Duncan de Boer (farmer-duck)
+ - Franz Liedke (franzliedke)
+ - Gaylord Poillon (gaylord_p)
+ - Javier Núñez Berrocoso (javiernuber)
+ - Hadrien Cren (hcren)
+ - Gusakov Nikita (hell0w0rd)
+ - Halil Hakan Karabay (hhkrby)
+ - Jaap van Otterdijk (jaapio)
+ - Jelle Bekker (jbekker)
+ - Dave Heineman (dheineman)
+ - Giovanni Albero (johntree)
+ - Mikhail Prosalov (mprosalov)
+ - Jorge Martin (jorgemartind)
+ - Kubicki Kamil (kubik)
+ - Ronny López (ronnylt)
+ - Joeri Verdeyen (jverdeyen)
+ - Kevin Herrera (kherge)
+ - guangwu
+ - Luis Ramón López López (lrlopez)
+ - Vladislav Nikolayev (luxemate)
+ - Martin Mandl (m2mtech)
+ - Mehdi Mabrouk (mehdidev)
+ - Bart Reunes (metalarend)
+ - Muriel (metalmumu)
+ - Michael Pohlers (mick_the_big)
+ - Misha Klomp (mishaklomp)
+ - mlpo (mlpo)
+ - Marcel Pociot (mpociot)
+ - Ulrik Nielsen (mrbase)
+ - Marek Šimeček (mssimi)
+ - Cayetano Soriano Gallego (neoshadybeat)
+ - Artem (nexim)
+ - Olivier Laviale (olvlvl)
+ - Pierre Gasté (pierre_g)
+ - Pablo Monterde Perez (plebs)
+ - Pierre-Olivier Vares (povares)
+ - Jimmy Leger (redpanda)
+ - Julius (sakalys)
+ - Dmitry (staratel)
+ - Marcin Szepczynski (szepczynski)
+ - Simone Di Maulo (toretto460)
+ - Cyrille Jouineau (tuxosaurus)
+ - Florian Morello
+ - Wim Godden (wimg)
+ - Yorkie Chadwick (yorkie76)
+ - Maxime Aknin (3m1x4m)
+ - Lauris Binde (laurisb)
+ - Zakaria AMMOURA (zakariaamm)
+ - Shrey Puranik
+ - Pavel Barton
+ - michal
+ - GuillaumeVerdon
+ - valmonzo
+ - Dmitry Danilson
+ - Marien Fressinaud
+ - ureimers
+ - akimsko
+ - Youpie
+ - Jason Stephens
+ - Korvin Szanto
+ - Taylan Kasap
+ - Michael Orlitzky
+ - Nicolas A. Bérard-Nault
+ - Quentin Favrie
+ - Matthias Derer
+ - Francois Martin
+ - Saem Ghani
+ - Kévin
+ - Stefan Oderbolz
+ - Tamás Szigeti
+ - Gabriel Moreira
+ - Alexey Popkov
+ - ChS
+ - Jannik Zschiesche
+ - Alexis MARQUIS
+ - Joseph Deray
+ - Damian Sromek
+ - Evgeniy Tetenchuk
+ - Sjoerd Adema
+ - Kai Eichinger
+ - Evgeniy Koval
+ - Lars Moelleken
+ - dasmfm
+ - Karel Syrový
+ - Claas Augner
+ - Mathias Geat
+ - neodevcode
+ - Angel Fernando Quiroz Campos (angelfqc)
+ - Arnaud Buathier (arnapou)
+ - Curtis (ccorliss)
+ - chesteroni (chesteroni)
+ - Mauricio Lopez (diaspar)
+ - HADJEDJ Vincent (hadjedjvincent)
+ - Ismail Asci (ismailasci)
+ - Jeffrey Moelands (jeffreymoelands)
+ - Ondřej Mirtes (mirtes)
+ - vladyslavstartsev
+ - ToshY
+ - Paulius Jarmalavičius (pjarmalavicius)
+ - Ramon Ornelas (ramonornela)
+ - helmi
+ - Sylvain Lorinet
+ - Ruslan Zavacky (ruslanzavacky)
+ - Jakub Caban (lustmored)
+ - Stefano Cappellini (stefano_cappellini)
+ - Till Klampaeckel (till)
+ - Tobias Weinert (tweini)
+ - Wotre
+ - Sepehr Lajevardi
+ - George Bateman
+ - Xavier HAUSHERR
+ - Edwin Hageman
+ - Mantas Urnieža
+ - temperatur
+ - Paul Andrieux
+ - Sezil
+ - misterx
+ - Cas
+ - Vincent Godé
- Ivo Valchev
- - Jan Hort
- - Klaas Naaijkens
- - Bojan
- - Rafał
- - Adria Lopez (adlpz)
- - Adrien Peyre (adpeyre)
- - Aaron Scherer (aequasi)
- - Alexandre Jardin (alexandre.jardin)
- - Bart Brouwer (bartbrouwer)
- - baron (bastien)
- - Bastien Clément (bastienclement)
- - Rosio (ben-rosio)
- - Simon Paarlberg (blamh)
- - Masao Maeda (brtriver)
- - Alexander Dmitryuk (coden1)
- - Valery Maslov (coderberg)
- - Damien Harper (damien.harper)
- - Darius Leskauskas (darles)
- - david perez (davidpv)
- - David Joos (djoos)
- - Denis Klementjev (dklementjev)
- - Dominik Pesch (dombn)
- - Dominik Hajduk (dominikalp)
- - Tomáš Polívka (draczris)
- - Dennis Smink (dsmink)
- - Duncan de Boer (farmer-duck)
- - Franz Liedke (franzliedke)
- - Gaylord Poillon (gaylord_p)
- - gondo (gondo)
- - Joris Garonian (grifx)
- - Grummfy (grummfy)
- - Hadrien Cren (hcren)
- - Gusakov Nikita (hell0w0rd)
- - Halil Hakan Karabay (hhkrby)
- - Oz (import)
- - Jaap van Otterdijk (jaapio)
- - Javier Núñez Berrocoso (javiernuber)
- - Jelle Bekker (jbekker)
- - Giovanni Albero (johntree)
- - Jorge Martin (jorgemartind)
- - Joeri Verdeyen (jverdeyen)
+ - Michael Steininger
+ - Nardberjean
+ - Dylan
+ - ghazy ben ahmed
+ - Karolis
+ - Myke79
+ - jersoe
+ - Brian Debuire
+ - Eric Grimois
+ - Christian Schiffler
+ - Piers Warmers
+ - Pavol Tuka
+ - klyk50
+ - Colin Michoudet
+ - jc
+ - BenjaminBeck
+ - Aurelijus Rožėnas
+ - Beno!t POLASZEK
+ - Armando
+ - Jordan Hoff
+ - znerol
+ - Christian Eikermann
+ - Sergei Shitikov
+ - Steffen Keuper
+ - Jens Schulze
+ - Tema Yud
+ - Olatunbosun Egberinde
+ - Jiri Korenek
+ - Alexis Lefebvre
+ - Johannes
+ - Dominic Tubach
+ - Andras Debreczeni
+ - sarah-eit
+ - rhel-eo
+ - patrick-mcdougle
+ - Vladimir Sazhin
+ - lol768
+ - Michel Bardelmeijer
+ - Menno Holtkamp
+ - Tomas Kmieliauskas
+ - Dariusz Czech
+ - Ikko Ashimine
+ - Alexandru Bucur
+ - Erwin Dirks
+ - cmfcmf
+ - Markus Ramšak
+ - Billie Thompson
+ - Philipp
+ - jamogon
+ - Tom Hart
+ - Vyacheslav Slinko
+ - Benjamin Laugueux
+ - Jakub Chábek
+ - Johannes
+ - Jörg Rühl
+ - George Dietrich
+ - jannick-holm
+ - wesleyh
+ - Ser5
+ - Michael Hudson-Doyle
+ - Matthew Burns
+ - Daniel Bannert
+ - Karim Miladi
+ - Michael Genereux
+ - Greg Korba
+ - Camille Islasse
+ - Tyler Stroud
+ - Clemens Krack
+ - Bruno Baguette
+ - Jack Wright
+ - MrNicodemuz
+ - demeritcowboy
+ - Paweł Tomulik
+ - Eric J. Duran
+ - omerida
+ - Anatol Belski
+ - Blackfelix
+ - Pavel Witassek
+ - Michal Forbak
+ - Drew Butler
+ - Alexey Berezuev
+ - pawel-lewtak
+ - Pierrick Charron
+ - Steve Müller
+ - Andras Ratz
+ - Benjamin RICHARD
+ - andreabreu98
+ - Jérémie Broutier
+ - Marcus
+ - gechetspr
+ - brian978
+ - Michael Schneider
+ - n-aleha
+ - Richard Čepas
+ - Talha Zekeriya Durmuş
+ - Javier
+ - Alexis BOYER
+ - bch36
+ - Kaipi Yann
+ - wiseguy1394
+ - adam-mospan
+ - AUDUL
+ - Steve Hyde
+ - AbdelatifAitBara
+ - nerdgod
+ - Sam Williams
+ - Ettore Del Negro
+ - Guillaume Aveline
+ - Adrian Philipp
+ - James Michael DuPont
+ - Simone Ruggieri
+ - Kasperki
+ - dima-gr
+ - Daniel Strøm
+ - Rodolfo Ruiz
+ - tsilefy
+ - Enrico
+ - Adrien Foulon
+ - Sylvain Just
+ - Ryan Rud
+ - vlechemin
+ - Brian Corrigan
+ - Ladislav Tánczos
+ - Brian Freytag
+ - Skorney
+ - Lucas Matte
+ - Success Go
+ - fmarchalemisys
+ - MGatner
+ - mieszko4
+ - Steve Preston
+ - ibasaw
+ - Wojciech Skorodecki
+ - Neophy7e
+ - Evert Jan Hakvoort
+ - rewrit3
+ - Filippos Karailanidis
+ - David Ronchaud
+ - A. Pauly
+ - Chris McGehee
+ - Shaun Simmons
+ - Bogdan
+ - Pierre-Louis LAUNAY
+ - Arseny Razin
+ - Benjamin Rosenberger
+ - Michael Gwynne
+ - Eduardo Conceição
+ - changmin.keum
+ - Jon Cave
+ - Sébastien HOUZE
+ - Abdulkadir N. A.
+ - Markus Klein
+ - Adam Klvač
+ - Bruno Nogueira Nascimento Wowk
+ - Tomanhez
+ - satalaondrej
+ - jonmldr
+ - Yevgen Kovalienia
+ - Lebnik
+ - Shude
+ - RTUnreal
+ - Richard Hodgson
+ - Sven Fabricius
+ - Ondřej Führer
+ - Sema
+ - Ayke Halder
+ - Thorsten Hallwas
+ - Brian Freytag
+ - Arend Hummeling
+ - Joseph FRANCLIN
+ - Marco Pfeiffer
+ - Alex Nostadt
+ - Michael Squires
+ - Egor Gorbachev
+ - Julian Krzefski
+ - Derek Stephen McLean
+ - Norman Soetbeer
+ - zorn
+ - Yuriy Potemkin
+ - Emilie Lorenzo
+ - enomotodev
+ - Vincent
+ - Benjamin Long
+ - Fabio Panaccione
+ - Kévin Gonella
+ - Ben Miller
+ - Peter Gribanov
+ - Matteo Galli
+ - Bart Ruysseveldt
+ - Ash014
+ - kwiateusz
+ - Nowfel2501
+ - Ilya Bulakh
+ - David Soria Parra
+ - Arrilot
+ - Dawid Nowak
+ - Simon Frost
+ - Gert de Pagter
+ - Sergiy Sokolenko
+ - Harry Wiseman
+ - Cantepie
+ - llupa
+ - djama
+ - detinkin
+ - Loenix
+ - Ahmed Abdulrahman
+ - Penny Leach
+ - Kevin Mian Kraiker
+ - Yurii K
+ - Richard Trebichavský
+ - g123456789l
+ - Mark Ogilvie
+ - Jonathan Vollebregt
+ - oscartv
+ - Michal Čihař
+ - parhs
+ - Emilien Escalle
+ - jwaguet
+ - Diego Campoy
+ - Oncle Tom
+ - Sam Anthony
+ - Christian Stocker
+ - Oussama Elgoumri
+ - David Lima
+ - Steve Marvell
+ - Lesnykh Ilia
+ - Shyim
+ - darnel
+ - Nicolas
+ - Sergio Santoro
+ - tirnanog06
+ - Andrejs Leonovs
+ - Alfonso Fernández García
+ - phc
+ - Дмитрий Пацура
+ - Signor Pedro
+ - Lin Lu
+ - RFreij
+ - Matthias Larisch
+ - Maxime P
+ - Sean Templeton
+ - Willem Mouwen
+ - db306
+ - Bohdan Pliachenko
+ - Dr. Gianluigi "Zane" Zanettini
+ - Michaël VEROUX
+ - Julia
+ - arduanov
+ - Fabien
+ - David Courtey (david-crty)
+ - Martin Komischke
+ - Yendric
+ - Loïc Vernet (coil)
+ - ADmad
+ - Gerard Berengue Llobera (bere)
+ - Hugo Posnic
+ - Nicolas Roudaire
+ - Marc Jauvin
+ - Matthias Meyer
+ - Temuri Takalandze (abgeo)
+ - Bernard van der Esch (adeptofvoltron)
+ - Andreas Forsblom (aforsblo)
+ - Aleksejs Kovalovs (aleksejs1)
+ - Alex Olmos (alexolmos)
+ - Robin Kanters (anddarerobin)
+ - Antoine (antoinela_adveris)
+ - Juan Ases García (ases)
+ - Siragusa (asiragusa)
+ - Daniel Basten (axhm3a)
+ - Albert Bakker (babbert)
+ - Benedict Massolle (bemas)
+ - Ronny (big-r)
+ - Bernd Matzner (bmatzner)
+ - Vladimir Vasilev (bobahvas)
+ - Anton (bonio)
+ - Bram Tweedegolf (bram_tweedegolf)
+ - Brandon Kelly (brandonkelly)
+ - Choong Wei Tjeng (choonge)
+ - Bermon Clément (chou666)
+ - Citia (citia)
+ - Kousuke Ebihara (co3k)
+ - Christoph Vincent Schaefer (cvschaefer)
+ - Kamil Piwowarski (cyklista)
+ - Damon Jones (damon__jones)
+ - David Gorges (davidgorges)
+ - Alexandre Fiocre (demos77)
+ - Gustavo Adrian
+ - Chris Shennan (chrisshennan)
+ - Abdouni Karim (abdounikarim)
+ - Łukasz Giza (destroyer)
+ - Dušan Kasan (dudo1904)
+ - Joao Paulo V Martins (jpjoao)
+ - Sebastian Landwehr (dword123)
+ - Adel ELHAIBA (eadel)
+ - Julien Manganne (juuuuuu)
+ - Damián Nohales (eagleoneraptor)
+ - Gerry Vandermaesen (gerryvdm)
+ - Elliot Anderson (elliot)
+ - Yohan Giarelli (frequence-web)
+ - Erwan Nader (ernadoo)
+ - Ian Littman (iansltx)
+ - Fabien D. (fabd)
+ - Carsten Eilers (fnc)
+ - Sorin Gitlan (forapathy)
+ - Fraller Balázs (fracsi)
+ - Jorge Maiden (jorgemaiden)
+ - Lesueurs Frédéric (fredlesueurs)
+ - Arash Tabrizian (ghost098)
+ - Greg Szczotka (greg606)
+ - Nathan DIdier (icz)
+ - Vladislav Krupenkin (ideea)
+ - Peter Orosz (ill_logical)
+ - Ilia Lazarev (ilzrv)
+ - Imangazaliev Muhammad (imangazaliev)
+ - wesign (inscrutable01)
+ - j0k (j0k)
+ - joris de wit (jdewit)
+ - JG (jege)
+ - Jose Manuel Gonzalez (jgonzalez)
+ - Pierre-Chanel Gauthier (kmecnin)
+ - Joachim Krempel (jkrempel)
+ - Joshua Behrens (joshuabehrens)
+ - Justin Rainbow (jrainbow)
+ - JuntaTom (juntatom)
+ - Ismail Faizi (kanafghan)
+ - Karolis Daužickas (kdauzickas)
+ - Kérian MONTES-MORIN (kerianmm)
+ - Krzysztof Menżyk (krymen)
+ - Nicholas Byfleet (nickbyfleet)
+ - Ala Eddine Khefifi (nayzo)
+ - Kenjy Thiébault (kthiebault)
+ - Matt Ketmo (mattketmo)
+ - samuel laulhau (lalop)
+ - Matt Drollette (mdrollette)
+ - Laurent Bachelier (laurentb)
+ - Adam Monsen (meonkeys)
+ - Luís Cobucci (lcobucci)
+ - Aurimas Rimkus (patrikas)
+ - Petr Jaroš (petajaros)
+ - Seyedramin Banihashemi (ramin)
+ - Mehdi Achour (machour)
+ - Jérémy (libertjeremy)
+ - Mamikon Arakelyan (mamikon)
+ - Philipp Hoffmann (philipphoffmann)
+ - Daniel Perez Pinazo (pitiflautico)
+ - scourgen hung (scourgen)
+ - Mark Schmale (masch)
+ - Moritz Borgmann (mborgmann)
+ - Ralf Kühnel (ralfkuehnel)
+ - Marco Wansinck (mwansinck)
+ - Mike Milano (mmilano)
+ - Guillaume Lajarige (molkobain)
+ - Diego Aguiar (mollokhan)
+ - Steffen Persch (n3o77)
+ - emilienbouard (neime)
+ - Nicolas Bondoux (nsbx)
+ - Cedric Kastner (nurtext)
+ - ollie harridge (ollietb)
+ - Pawel Szczepanek (pauluz)
+ - Sebastian Busch (sebu)
+ - Philippe Degeeter (pdegeeter)
+ - PLAZANET Pierre (pedrotroller)
+ - Christian López Espínola (penyaskito)
+ - Pavel Golovin (pgolovin)
+ - Alex Carol (picard89)
+ - Igor Tarasov (polosatus)
+ - Maksym Pustynnikov (pustynnikov)
+ - Ramazan APAYDIN (rapaydin)
+ - Babichev Maxim (rez1dent3)
+ - Sergey Stavichenko (sergey_stavichenko)
+ - Andrea Giuliano (shark)
+ - André Filipe Gonçalves Neves (seven)
+ - Schuyler Jager (sjager)
+ - craigmarvelley
+ - Ángel Guzmán Maeso (shakaran)
+ - Bruno Ziegler (sfcoder)
+ - Tom Newby (tomnewbyau)
+ - Verlhac Gaëtan (viviengaetan)
+ - Şəhriyar İmanov (shehriyari)
+ - Roman Tymoshyk (tymoshyk)
+ - Volker (skydiablo)
+ - Julien Sanchez (sumbobyboys)
+ - Ron Gähler (t-ronx)
+ - Guillermo Gisinger (t3chn0r)
+ - Tomáš Korec (tomkorec)
+ - Andrew Clark (tqt_andrew_clark)
+ - Aaron Piotrowski (trowski)
+ - David Lumaye (tux1124)
+ - Moritz Kraft (userfriendly)
+ - Víctor Mateo (victormateo)
+ - Vincent MOULENE (vints24)
+ - David Grüner (vworldat)
+ - Eugene Babushkin (warl)
+ - Wouter Sioen (wouter_sioen)
+ - Xavier Amado (xamado)
+ - Jesper Søndergaard Pedersen (zerrvox)
+ - Florent Cailhol
+ - Konrad
+ - Kevin Weber
+ - Kovacs Nicolas
+ - eminjk
+ - Stano Turza
+ - Antoine Leblanc
+ - Andre Johnson
+ - MaPePeR
+ - Andreas Streichardt
+ - Alexandre Segura
+ - Marco Pfeiffer
+ - Vivien
+ - Pascal Hofmann
+ - david-binda
+ - smokeybear87
+ - damaya
+ - szymek
+ - Marc Bennewitz
+ - Adam Elsodaney (archfizz)
+ - Carl Julian Sauter
+ - Dionysis Arvanitis
+ - Alexandru Năstase
+ - Sergey Fedotov
+ - Gabriel Solomon (gabrielsolomon)
+ - Konstantin Scheumann
+ - Josef Hlavatý
+ - Michael
+ - fh-github@fholzhauer.de
+ - rogamoore
+ - AbdElKader Bouadjadja
+ - ddegentesh
+ - DSeemiller
+ - Jan Emrich
+ - Anne-Julia Seitz
+ - mindaugasvcs
+ - Mark Topper
+ - Xavier REN
+ - Kevin Meijer
+ - max
+ - Ahmad Mayahi (ahmadmayahi)
+ - Mohamed Karnichi (amiral)
+ - Andrew Carter (andrewcarteruk)
+ - Gregório Bonfante Borba (bonfante)
+ - Bogdan Rancichi (devck)
+ - Daniel Kolvik (dkvk)
+ - Marc Lemay (flug)
+ - Courcier Marvin (helyakin)
+ - Henne Van Och (hennevo)
+ - Muharrem Demirci (mdemirci)
+ - Evgeny Z (meze)
+ - Aleksandar Dimitrov (netbull)
+ - Pierre-Henry Soria 🌴 (pierrehenry)
+ - Pierre Geyer (ptheg)
+ - Thomas BERTRAND (sevrahk)
+ - Vladislav (simpson)
+ - Marin Bînzari (spartakusmd)
+ - Stefanos Psarras (stefanos)
+ - Matej Žilák (teo_sk)
+ - Vladislav Vlastovskiy (vlastv)
+ - Yannick Vanhaeren (yvh)
+ - Ignacio Alveal
- Kevin Verschaeve (keversc)
- - Kevin Herrera (kherge)
- - Kubicki Kamil (kubik)
- - Lauris Binde (laurisb)
- - Luis Ramón López López (lrlopez)
- - Vladislav Nikolayev (luxemate)
- - Martin Mandl (m2mtech)
- - Mehdi Mabrouk (mehdidev)
- - Bart Reunes (metalarend)
- - Muriel (metalmumu)
- - Michael Pohlers (mick_the_big)
- - Misha Klomp (mishaklomp)
- - mlpo (mlpo)
- - Marcel Pociot (mpociot)
- - Mikhail Prosalov (mprosalov)
- - Ulrik Nielsen (mrbase)
- - Marek Šimeček (mssimi)
+ - RENAUDIN Xavier (xorrox)
+ - Pontus Mårdnäs
+ - Ryan Linnit
+ - Sebastian Göttschkes (sgoettschkes)
+ - es
+ - David Szkiba
+ - Vladimir Pakhomchik
+ - drublic
+ - Simon / Yami
+ - Maciej Paprocki (maciekpaprocki)
+ - Abdelhakim ABOULHAJ
+ - PatrickRedStar
+ - Gary Houbre (thegarious)
+ - Zan Baldwin (zanderbaldwin)
+ - Thomas Cochard (tcochard)
+ - Mark Pedron (markpedron)
+ - Guillaume Loulier (guikingone)
+ - Ricardo de Vries (ricardodevries)
+ - Tristan Bessoussa (sf_tristanb)
+ - Alessandro Tagliapietra (alex88)
+ - Aaron Scherer (aequasi)
+ - Chris Maiden (matason)
+ - Michal Trojanowski
+ - Quentin Moreau (sheitak)
+ - Stefan Kruppa
+ - Julien Boudry
+ - insekticid
+ - Romain Pierre
+ - alexpods
+ - dantleech
+ - Jontsa
+ - JK Groupe
+ - cgonzalez
+ - Raphael Davaillaud
+ - Radosław Kowalewski
+ - Dmitry Hordinky
+ - William Pinaud (docfx)
+ - Paul Ferrett
+ - MightyBranch
+ - victor-prdh
+ - Jeremy Benoist
+ - Miloš Milutinović
+ - pizzaminded
+ - johnstevenson
+ - Roromix
+ - Nathaniel Catchpole
+ - gauss
+ - Per Sandström (per)
+ - azine
+ - Goran Juric
+ - heccjj
+ - Igor Plantaš
+ - Arkalo2
+ - Jiri Falis
+ - taiiiraaa
+ - Ali Tavafi
- Dmitriy Tkachenko (neka)
- - Cayetano Soriano Gallego (neoshadybeat)
- - Artem (nexim)
- - Nicolas ASSING (nicolasassing)
- - Olivier Laviale (olvlvl)
- - Pierre Gasté (pierre_g)
- - Pablo Monterde Perez (plebs)
- - Pierre-Olivier Vares (povares)
- - Jimmy Leger (redpanda)
- - Ronny López (ronnylt)
- - Julius (sakalys)
- - Dmitry (staratel)
- - Marcin Szepczynski (szepczynski)
- - Tito Miguel Costa (titomiguelcosta)
- - Simone Di Maulo (toretto460)
- - Cyrille Jouineau (tuxosaurus)
- - Lajos Veres (vlajos)
- - Vladimir Chernyshev (volch)
- - Wim Godden (wimg)
- - Yorkie Chadwick (yorkie76)
- - Zakaria AMMOURA (zakariaamm)
- - Maxime Aknin (3m1x4m)
- - Pavel Barton
- - Exploit.cz
- - GuillaumeVerdon
- - Dmitry Danilson
- - Marien Fressinaud
- - ureimers
- - akimsko
- - Youpie
- - Jason Stephens
- - Korvin Szanto
- - srsbiz
- - Taylan Kasap
- - Michael Orlitzky
- - Nicolas A. Bérard-Nault
- - Quentin Favrie
- - Matthias Derer
- - Francois Martin
- - vladyslavstartsev
+ - Peter Zwosta
+ - Jeroen De Dauw (jeroendedauw)
+ - Wing
+ - Kai Dederichs
+ - Andrii Dembitskyi
+ - Enrico Schultz
+ - tpetry
+ - Nikita Sklyarov
+ - Dmitriy Derepko
+ - ondrowan
+ - Ninos
+ - Dmitry Simushev
+ - Juraj Surman
+ - Wang Jingyu
+ - JustDylan23
+ - DaikiOnodera
+ - Aleksey Prilipko
+ - Victor
+ - Andreas Allacher
+ - Dan Kadera
+ - Christian Morgan
+ - Alexis
+ - withbest
+ - Abdelilah Jabri
+ - Ben Johnson
+ - Mickael Perraud
+ - Frank Schulze (xit)
+ - soyuka
+ - Yann LUCAS (drixs6o9)
+ - Farhad Hedayatifard
+ - Vincent Chalamon
+ - Nicolas Appriou
+ - Sorin Pop (sorinpop)
+ - Stewart Malik
+ - Alan ZARLI
+ - Renan Taranto (renan-taranto)
+ - Valérian Galliat
+ - Stefan Graupner (efrane)
+ - Charly Goblet (_mocodo)
+ - Anton Dyshkant
+ - Adrien Chinour
+ - Jiří Bok
+ - Thomas Jarrand
+ - Baptiste Leduc (bleduc)
+ - Piotr Zajac
+ - Patrick Kaufmann
+ - Ismail Özgün Turan (dadeather)
+ - Rafael Villa Verde
+ - Zoran Makrevski (zmakrevski)
+ - Kirill Nesmeyanov (serafim)
+ - Gemorroj (gemorroj)
+ - Reece Fowell (reecefowell)
+ - Htun Htun Htet (ryanhhh91)
+ - Guillaume Gammelin
+ - Elías Fernández
+ - d-ph
+ - Samael tomas
+ - Mahmoud Mostafa (mahmoud)
+ - Damien Fernandes
+ - Mateusz Żyła (plotkabytes)
+ - Jean-Christophe Cuvelier [Artack]
+ - Rene de Lima Barbosa (renedelima)
+ - Rikijs Murgs
+ - Mikkel Paulson
+ - WoutervanderLoop.nl
+ - Yewhen Khoptynskyi (khoptynskyi)
+ - Mihail Krasilnikov (krasilnikovm)
+ - Alex Vo (votanlean)
+ - Jonas Claes
+ - iamvar
+ - Amaury Leroux de Lens (amo__)
+ - Piergiuseppe Longo
+ - Nicolas Lemoine
+ - Christian Jul Jensen
+ - Valentin Barbu (jimie)
+ - Lukas Kaltenbach
+ - Daniel Iwaniec
+ - Alexandre GESLIN
+ - The Whole Life to Learn
+ - Pierre Tondereau
+ - Joel Lusavuvu (enigma97)
+ - kurozumi (kurozumi)
+ - Liverbool (liverbool)
+ - Aurélien MARTIN
+ - Malte Schlüter
+ - Jules Matsounga (hyoa)
+ - Nicolas Attard (nicolasattard)
+ - Jérôme Nadaud (jnadaud)
+ - Frank Naegler
+ - Sam Malone
+ - Ha Phan (haphan)
+ - Chris Jones (leek)
+ - neghmurken
+ - stefan.r
+ - Florian Cellier
+ - xaav
+ - Alexandre Tranchant (alexandre_t)
+ - Ahmed Abdou
+ - shreyadenny
+ - Pieter
+ - Kevin Auivinet
+ - ergiegonzaga
+ - Leonid Terentyev
+ - Luciano Mammino (loige)
+ - Radosław Benkel
+ - Laurent Clouet
+ - Dennis Tobar
+ - Ganesh Chandrasekaran (gxc4795)
+ - Michael Tibben
+ - Icode4Food (icode4food)
+ - Hallison Boaventura (hallisonboaventura)
+ - Billie Thompson
+ - Mas Iting
+ - Thomas Ferney (thomasf)
+ - Grégoire Hébert (gregoirehebert)
+ - Louis-Proffit
+ - Albion Bame (abame)
+ - Ferenczi Krisztian (fchris82)
+ - Guillaume Smolders (guillaumesmo)
+ - Iliya Miroslavov Iliev (i.miroslavov)
+ - Sander Marechal
+ - Ivan Nemets
+ - Franz Wilding (killerpoke)
+ - Artyum Petrov
+ - Oleg Golovakhin (doc_tr)
+ - Bert ter Heide (bertterheide)
+ - Kevin Nadin (kevinjhappy)
+ - jean pasqualini (darkilliant)
+ - Safonov Nikita (ns3777k)
+ - Mei Gwilym (meigwilym)
+ - Jitendra Adhikari (adhocore)
+ - Kevin Jansen
+ - Nicolas Martin (cocorambo)
+ - Tom Panier (neemzy)
+ - luffy1727
+ - LHommet Nicolas (nicolaslh)
+ - fabios
+ - eRIZ
+ - Sander Coolen (scoolen)
+ - Vic D'Elfant (vicdelfant)
+ - Amirreza Shafaat (amirrezashafaat)
+ - Maarten Nusteling (nusje2000)
+ - Gordienko Vladislav
+ - Peter van Dommelen
+ - Ahmed EBEN HASSINE (famas23)
+ - Hubert Moreau (hmoreau)
+ - Marvin Butkereit
+ - dantleech
+ - Anton Babenko (antonbabenko)
+ - Chris de Kok
+ - Eduard Bulava (nonanerz)
+ - Damien Fayet (rainst0rm)
+ - Andreas Kleemann (andesk)
+ - Valentin
+ - Dalibor Karlović
+ - Nicolas Valverde
+ - Eric Krona
+ - Alex Plekhanov
+ - Igor Timoshenko (igor.timoshenko)
+ - Hryhorii Hrebiniuk
+ - Pierre-Emmanuel CAPEL
+ - Mario Blažek (marioblazek)
+ - Manuele Menozzi
+ - Ashura
+ - Yevhen Sidelnyk
+ - “teerasak”
+ - Irmantas Šiupšinskas (irmantas)
+ - Benoit Mallo
+ - Charles-Henri Bruyand
+ - Danilo Silva
+ - Giuseppe Campanelli
+ - Konstantin S. M. Möllers (ksmmoellers)
+ - Ken Stanley
+ - ivan
+ - Zachary Tong (polyfractal)
+ - linh
+ - Oleg Krasavin (okwinza)
+ - Jure (zamzung)
+ - Michael Nelson
+ - Nsbx
+ - hamza
+ - Kajetan Kołtuniak (kajtii)
+ - Dan (dantleech)
+ - Artem (digi)
+ - Sander Goossens (sandergo90)
+ - Rudy Onfroy
+ - DerManoMann
+ - MatTheCat
+ - Erfan Bahramali
+ - boite
+ - tamar peled
+ - Sergei Gorjunov
+ - tamirvs
+ - Silvio Ginter
+ - David Wolter (davewww)
+ - Peter Culka
+ - Arman
+ - MGDSoft
+ - Abdiel Carrazana (abdielcs)
+ - alanzarli
+ - joris
+ - Anna Filina (afilina)
+ - Vadim Tyukov (vatson)
+ - Yannick
+ - Gabi Udrescu
+ - Adamo Crespi (aerendir)
+ - Sortex
+ - chispita
+ - Wojciech Sznapka
+ - Emmanuel Dreyfus
+ - Luis Pabon (luispabon)
+ - boulei_n
+ - Shaun Simmons
+ - Ariel J. Birnbaum
+ - Patrick Luca Fazzi (ap3ir0n)
+ - Tim Lieberman
+ - Danijel Obradović
+ - Pablo Borowicz
+ - Ben Oman
+ - Ondřej Frei
+ - Bruno Rodrigues de Araujo (brunosinister)
+ - Máximo Cuadros (mcuadros)
+ - Jacek Wilczyński (jacekwilczynski)
+ - Christoph Kappestein
+ - Camille Baronnet
+ - EXT - THERAGE Kevin
+ - julien.galenski
+ - Florian Guimier
+ - Maxime PINEAU
+ - Igor Kokhlov (verdet)
+ - Christian Neff (secondtruth)
+ - Chris Tiearney
+ - Oliver Hoff
+ - Minna N
+ - andersmateusz
+ - Laurent Moreau
+ - Faton (notaf)
+ - Tom Houdmont
+ - mark burdett
+ - Piotr Antosik (antek88)
+ - Laurent G. (laurentg)
+ - Ville Mattila
+ - Jean-Baptiste Nahan
+ - SOEDJEDE Felix (fsoedjede)
+ - Thomas Decaux
+ - Mert Simsek (mrtsmsk0)
+ - Nicolas Macherey
+ - Asil Barkin Elik (asilelik)
+ - Nacho Martin (nacmartin)
+ - Bhujagendra Ishaya
+ - gr8b
+ - Guido Donnari
+ - Markus Baumer
+ - Jérôme Dumas
+ - Georgi Georgiev
+ - Norbert Schultheisz
+ - otsch
+ - Christophe Meneses (c77men)
+ - Jeremy David (jeremy.david)
+ - adnen chouibi
+ - Andrei O
+ - Łukasz Chruściel (lchrusciel)
+ - Max Beutel
+ - Jordi Rejas
+ - Troy McCabe
+ - gstapinato
+ - gr1ev0us
+ - Léo VINCENT
+ - mlazovla
+ - Alejandro Diaz Torres
+ - Bradley Zeggelaar
+ - Karl Shea
+ - Bouke Haarsma
+ - Valentin
+ - Nathan Sepulveda
+ - Jan Vernieuwe (vernija)
+ - Antanas Arvasevicius
+ - Adam Kiss
+ - Pierre Dudoret
+ - Thomas
+ - j.schmitt
+ - Maximilian Berghoff (electricmaxxx)
+ - Volker Killesreiter (ol0lll)
+ - Evgeny Anisiforov
+ - Tristan Pouliquen
+ - Dominic Luidold
+ - Thomas Bibaut
+ - Thibaut Chieux
+ - mwos
+ - Aydin Hassan
+ - Vedran Mihočinec (v-m-i)
+ - Jonathan Poston
+ - Sébastien Lévêque (legenyes)
+ - Rafał Treffler
+ - Ken Marfilla (marfillaster)
+ - Sergey Novikov (s12v)
+ - Arkadiusz Rzadkowolski (flies)
+ - creiner
+ - Marcos Quesada (marcos_quesada)
+ - Jan Pintr
+ - Jean-Guilhem Rouel (jean-gui)
+ - ProgMiner
+ - remieuronews
+ - Christian
+ - Matthew (mattvick)
+ - MARYNICH Mikhail (mmarynich-ext)
+ - Viktor Novikov (nowiko)
+ - Paul Mitchum (paul-m)
+ - Angel Koilov (po_taka)
+ - Marek Binkowski
+ - Max Grigorian (maxakawizard)
+ - allison guilhem
+ - benatespina (benatespina)
+ - Denis Kop
+ - Fabrice Locher
+ - Konstantin Chigakov
+ - Kamil Szalewski (szal1k)
+ - Yoann MOROCUTTI
+ - Ivan Yivoff
+ - jfcixmedia
+ - Martijn Evers
+ - Alexander Onatskiy
+ - Philipp Fritsche
+ - Léon Gersen
+ - tarlepp
+ - Giuseppe Arcuti
+ - Dustin Wilson
+ - Saif Eddin G
+ - Claus Due (namelesscoder)
+ - Alexandru Patranescu
+ - ju1ius
+ - Denis Golubovskiy (bukashk0zzz)
+ - Serge (nfx)
+ - Oksana Kozlova (oksanakozlova)
+ - Mikkel Paulson
+ - Dan Wilga
+ - Jon Green (jontjs)
+ - Michał Strzelecki
+ - Marcin Chwedziak
+ - Bert Ramakers
+ - Alex Demchenko
+ - Hugo Fonseca (fonsecas72)
+ - Marc Duboc (icemad)
+ - Martynas Narbutas
+ - Timothée BARRAY
+ - Nilmar Sanchez Muguercia
+ - Pierre LEJEUNE (darkanakin41)
+ - Bailey Parker
+ - curlycarla2004
+ - Javier Ledezma
+ - Antanas Arvasevicius
+ - Kris Kelly
+ - Eddie Abou-Jaoude (eddiejaoude)
+ - Haritz Iturbe (hizai)
+ - Rutger Hertogh
+ - Diego Sapriza
+ - Joan Cruz
+ - inspiran
+ - Richard van Velzen
+ - Cristobal Dabed
+ - Daniel Mecke (daniel_mecke)
+ - Serhii Polishchuk (spolischook)
+ - Tadas Gliaubicas (tadcka)
+ - Thanos Polymeneas (thanos)
+ - Atthaphon Urairat
+ - Benoit Garret
+ - Maximilian Ruta (deltachaos)
+ - Jakub Sacha
+ - Julius Kiekbusch
+ - Kamil Musial
+ - Lucas Bustamante
+ - Olaf Klischat
+ - orlovv
+ - Adrian Olek (adrianolek)
+ - EdgarPE
+ - Claude Dioudonnat
+ - Jonathan Hedstrom
+ - Peter Smeets (darkspartan)
+ - Julien Bianchi (jubianchi)
+ - Michael Dawart (mdawart)
+ - Robert Meijers
+ - Tijs Verkoyen
+ - James Sansbury
+ - hjkl
+ - Thijs Reijgersberg
+ - Nicolas Jourdan (nicolasjc)
+ - Florian Heller
+ - Evgeny Efimov (edefimov)
+ - Oleksii Svitiashchuk
+ - Péter Buri (burci)
+ - Yann Rabiller (einenlum)
+ - Alexander Cheprasov
+ - Andrew Tch
+ - Peter Trebaticky
+ - Rodrigo Díez Villamuera (rodrigodiez)
+ - Brad Treloar
+ - Nicolas Sauveur (baishu)
+ - pritasil
+ - Abderrahman DAIF (death_maker)
+ - Stephen Clouse
+ - e-ivanov
+ - Nathanaël Martel (nathanaelmartel)
+ - Benjamin Dos Santos
+ - GagnarTest (gagnartest)
+ - Jochen Bayer (jocl)
+ - Tomas Javaisis
+ - HellFirePvP
+ - Constantine Shtompel
+ - VAN DER PUTTE Guillaume (guillaume_vdp)
+ - Patrick Carlo-Hickman
+ - Bruno MATEU
+ - Jeremy Bush
+ - Lucas Bäuerle
+ - Laurens Laman
+ - Thomason, James
+ - Dario Savella
+ - Gordienko Vladislav
+ - Joas Schilling
+ - Ener-Getick
+ - Markus Thielen
+ - Moza Bogdan (bogdan_moza)
+ - Viacheslav Sychov
+ - Zuruuh
+ - Helmut Hummel (helhum)
+ - Matt Brunt
+ - David Vancl
+ - Carlos Ortega Huetos
+ - jack.thomas (jackthomasatl)
+ - John VanDeWeghe
+ - kaiwa
+ - Charles Sanquer (csanquer)
+ - Albert Ganiev (helios-ag)
+ - Neil Katin
+ - Oleg Mifle
+ - David Otton
+ - V1nicius00
+ - Will Donohoe
+ - Takashi Kanemoto (ttskch)
+ - peter
+ - Andoni Larzabal (andonilarz)
+ - Tugba Celebioglu
+ - Yann (yann_eugone)
+ - Jeroen de Boer
+ - Staormin
+ - Oleg Sedinkin (akeylimepie)
+ - Dan Brown
+ - Jérémy Jourdin (jjk801)
+ - David de Boer (ddeboer)
+ - BRAMILLE Sébastien (oktapodia)
+ - maxime.perrimond
+ - Guillem Fondin (guillemfondin)
+ - Markkus Millend
+ - Artem Kolesnikov (tyomo4ka)
+ - Gustavo Adrian
+ - Jorrit Schippers (jorrit)
+ - Matthias Neid
+ - danilovict2
+ - Kuzia
+ - spdionis
+ - rchoquet
+ - v.shevelev
+ - rvoisin
+ - gitlost
+ - Taras Girnyk
+ - Simon Mönch
+ - Barthold Bos
+ - cthulhu
+ - Wolfgang Klinger (wolfgangklingerplan2net)
+ - Rémi Leclerc
+ - Jan Vernarsky
+ - Ionut Cioflan
+ - John Edmerson Pizarra
+ - Sergio
+ - Jonas Hünig
+ - Mehrdad
+ - Amine Yakoubi
+ - Eno Mullaraj (emullaraj)
+ - Arnaud CHASSEUX
+ - Eduardo García Sanz (coma)
+ - Makdessi Alex
+ - Dmitrii Baranov
+ - fduch (fduch)
+ - Aleksei Lebedev
+ - dlorek
+ - Stuart Fyfe
+ - Jason Schilling (chapterjason)
+ - Yannick
+ - Camille Dejoye (cdejoye)
+ - Pawel Smolinski
+ - Nathan PAGE (nathix)
+ - Nicolas Fabre (nfabre)
+ - Arnaud
+ - Klaus Purer
+ - Vladimir Mantulo (mantulo)
+ - Dmitrii Lozhkin
+ - Radoslaw Kowalewski
+ - Marion Hurteau (marionleherisson)
+ - Gilles Doge (gido)
+ - Oscar Esteve (oesteve)
+ - Sobhan Sharifi (50bhan)
+ - Peter Potrowl
+ - abulford
+ - Ilya Vertakov
+ - Brooks Boyd
+ - Axel Venet
+ - Roger Webb
+ - Yury (daffox)
+ - John Espiritu (johnillo)
+ - Tomasz (timitao)
+ - Nguyen Tuan Minh (tuanminhgp)
+ - Oxan van Leeuwen
+ - pkowalczyk
+ - dbrekelmans
+ - Mykola Zyk
+ - Soner Sayakci
+ - Max Voloshin (maxvoloshin)
+ - Raul Rodriguez (raul782)
+ - Piet Steinhart
+ - mousezheng
+ - mshavliuk
+ - Rémy LESCALLIER
+ - Kacper Gunia (cakper)
+ - Derek Lambert (dlambert)
+ - Peter Thompson (petert82)
+ - Victor Macko (victor_m)
+ - error56
+ - Felicitus
+ - Jorge Vahldick (jvahldick)
+ - Krzysztof Przybyszewski (kprzybyszewski)
+ - Boullé William (williamboulle)
+ - Bart Baaten
+ - Clement Herreman (clemherreman)
+ - Frederic Godfrin
+ - Dalibor Karlović
+ - Paul Matthews
+ - Jakub Kisielewski
+ - Vacheslav Silyutin
+ - Aleksandr Dankovtsev
+ - Maciej Zgadzaj
+ - David Legatt (dlegatt)
+ - Alain Flaus (halundra)
+ - Arthur Woimbée
+ - tsufeki
+ - Théo DELCEY
+ - Philipp Strube
+ - Wim Hendrikx
+ - Andrii Serdiuk (andreyserdjuk)
+ - dangkhoagms (dangkhoagms)
+ - Jesper Noordsij
+ - Dan Ionut Dumitriu (danionut90)
+ - Evgeny (disparity)
+ - Floran Brutel (notFloran) (floran)
+ - Vladislav Rastrusny (fractalizer)
+ - Vlad Gapanovich (gapik)
+ - nyro (nyro)
+ - Konstantin Bogomolov
+ - Marco
+ - Marc Torres
+ - Mark Spink
+ - Alberto Aldegheri
+ - Cesar Scur (cesarscur)
+ - Cyril Vermandé (cyve)
+ - Daniele Orru' (danydev)
+ - Raul Garcia Canet (juagarc4)
+ - Dmitri Petmanson
+ - Tobias Stöckler
+ - Alexandre Melard
+ - Rafał Toboła
+ - Dominik Schwind (dominikschwind)
+ - Stefano A. (stefano93)
+ - PierreRebeilleau
+ - AlbinoDrought
+ - Sergey Yuferev
+ - Monet Emilien
+ - voodooism
+ - Mario Young
+ - cybernet (cybernet2u)
+ - martkop26
+ - Orestis
+ - Raphaël Davaillaud
+ - Pablo Schläpfer
+ - Sander Hagen
+ - Alexander Menk
+ - Agustin Gomes
+ - Peter Jaap Blaakmeer
+ - Prasetyo Wicaksono (jowy)
+ - cilefen (cilefen)
+ - Mo Di (modi)
+ - ConneXNL
+ - Victor Truhanovich (victor_truhanovich)
+ - Adam Wójs (awojs)
+ - Tomasz Szymczyk (karion)
+ - Christian Rishøj
+ - Nikos Charalampidis
+ - Caligone
+ - Ismail Turan
+ - Patrick Berenschot
+ - SuRiKmAn
+ - matze
+ - Xavier RENAUDIN
+ - Christian Wahler (christian)
+ - Jelte Steijaert (jelte)
+ - Maxime AILLOUD (mailloud)
+ - David Négrier (moufmouf)
+ - Quique Porta (quiqueporta)
+ - Tobias Feijten (tobias93)
+ - mohammadreza honarkhah
+ - Jessica F Martinez
+ - paullallier
+ - Artem Oliinyk (artemoliynyk)
+ - Andrea Quintino (dirk39)
+ - Andreas Heigl (heiglandreas)
+ - Alex Vasilchenko
+ - sez-open
+ - fruty
+ - Aharon Perkel
+ - Justin Reherman (jreherman)
+ - Miłosz Guglas (miloszowi)
+ - Rubén Calvo (rubencm)
+ - Abdul.Mohsen B. A. A
+ - Cédric Girard
+ - Robert Worgul
+ - Swen van Zanten
+ - Malaney J. Hill
+ - Robert Korulczyk
+ - Patryk Kozłowski
+ - Alexandre Pavy
+ - Zander Baldwin
+ - Tim Ward
+ - Jeffrey Cafferata (jcidnl)
+ - Adiel Cristo (arcristo)
+ - Andrei Igna
+ - Christian Flach (cmfcmf)
+ - Marcin Nowak
+ - Mark van den Berg
+ - Fabian Kropfhamer (fabiank)
+ - Junaid Farooq (junaidfarooq)
+ - Pavel Starosek (octisher)
+ - Oriol Mangas Abellan (oriolman)
+ - Tatsuya Tsuruoka
+ - omniError
+ - László GÖRÖG
+ - djordy
+ - Mihai Nica (redecs)
+ - Adam Prickett
+ - Luke Towers
+ - Wojciech Zimoń
+ - Vladimir Melnik
+ - Anton Kroshilin
+ - Pierre Tachoire
+ - Juan Traverso
+ - Dawid Sajdak
+ - Maxime THIRY
+ - Norman Soetbeer
+ - Ludek Stepan
+ - Benjamin BOUDIER
+ - Frederik Schwan
+ - Aaron Stephens (astephens)
+ - Craig Menning (cmenning)
+ - Balázs Benyó (duplabe)
+ - Erika Heidi Reinaldo (erikaheidi)
+ - William Thomson (gauss)
+ - Javier Espinosa (javespi)
+ - Marc J. Schmidt (marcjs)
+ - František Maša
+ - Sebastian Schwarz
+ - Flohw
+ - karolsojko
- Saem Ghani
- - Kévin
- - Stefan Oderbolz
- - valmonzo
- - Tamás Szigeti
- - Gabriel Moreira
- - Alexey Popkov
- - ChS
- - toxxxa
- - michal
- - Jannik Zschiesche
- - Alexis MARQUIS
- - Joseph Deray
- - Damian Sromek
- - Ben
- - Evgeniy Tetenchuk
- - Sjoerd Adema
- - Shrey Puranik
- - Kai Eichinger
- - Evgeniy Koval
- - Lars Moelleken
- - dasmfm
- - Karel Syrový
- - Claas Augner
- - Mathias Geat
- - neodevcode
- - Angel Fernando Quiroz Campos (angelfqc)
- - Arnaud Buathier (arnapou)
- - Curtis (ccorliss)
- - chesteroni (chesteroni)
- - Mauricio Lopez (diaspar)
- - HADJEDJ Vincent (hadjedjvincent)
- - Daniele Cesarini (ijanki)
- - Ismail Asci (ismailasci)
- - Jeffrey Moelands (jeffreymoelands)
- - Jakub Caban (lustmored)
- - Ondřej Mirtes (mirtes)
- - Paulius Jarmalavičius (pjarmalavicius)
- - Ramon Ornelas (ramonornela)
- - Ricardo de Vries (ricardodevries)
- - Ruslan Zavacky (ruslanzavacky)
- - Stefano Cappellini (stefano_cappellini)
- - Thomas Dutrion (theocrite)
- - Till Klampaeckel (till)
- - Tobias Weinert (tweini)
- - Wotre
- - goohib
- - Tom Counsell
- - Sepehr Lajevardi
- - George Bateman
- - Xavier HAUSHERR
- - Edwin Hageman
- - Mantas Urnieža
- - temperatur
- - ToshY
- - Paul Andrieux
- - Sezil
- - misterx
- - Cas
- - arend
- - Vincent Godé
- - helmi
- - Michael Steininger
- - Nardberjean
- - Dylan
- - ghazy ben ahmed
- - Karolis
- - Myke79
- - jersoe
- - Brian Debuire
- - Eric Grimois
- - Christian Schiffler
- - Piers Warmers
- - Sylvain Lorinet
- - Pavol Tuka
- - klyk50
- - Colin Michoudet
- - jc
- - BenjaminBeck
- - Aurelijus Rožėnas
- - Beno!t POLASZEK
- - Armando
- - Jordan Hoff
- - znerol
- - Christian Eikermann
- - Sergei Shitikov
- - Steffen Keuper
- - Kai Eichinger
- - Antonio Angelino
- - Jens Schulze
- - Tema Yud
- - Matt Fields
- - Olatunbosun Egberinde
- - Johannes
- - Andras Debreczeni
- - Knallcharge
- - Vladimir Sazhin
- - Michel Bardelmeijer
- - Tomas Kmieliauskas
- - Ikko Ashimine
- - Erwin Dirks
- - Markus Ramšak
- - Billie Thompson
- - Philipp
- - lol768
- - jamogon
- - Tom Hart
- - Vyacheslav Slinko
- - Benjamin Laugueux
- - guangwu
- - Lane Shukhov
- - Jakub Chábek
- - William Pinaud (DocFX)
+ - Marco Jantke
+ - Maks Rafalko (bornfree)
+ - alifanau
+ - Claudiu Cristea
+ - Jonathan Gough
+ - Samy D (dinduks)
+ - Zacharias Luiten
+ - Clément LEFEBVRE (nemoneph)
+ - Sebastian Utz
+ - Adrien Gallou (agallou)
+ - twifty
+ - Andrea Sprega (asprega)
+ - Conrad Kleinespel (conradk)
+ - Viktor Bajraktar (njutn95)
+ - Walter Dal Mut (wdalmut)
+ - abluchet
+ - Ruud Arentsen
+ - Harald Tollefsen
+ - PabloKowalczyk
+ - Matthieu
+ - Arend-Jan Tetteroo
+ - Albin Kerouaton
+ - sebastian
+ - Mbechezi Nawo
+ - wivaku
+ - Markus Reinhold
+ - steveYeah
+ - Asrorbek (asrorbek)
+ - Ross Tuck
+ - Keri Henare (kerihenare)
+ - Andre Eckardt (korve)
+ - Cédric Lahouste (rapotor)
+ - Samuel Vogel (samuelvogel)
+ - Osayawe Ogbemudia Terry (terdia)
+ - Berat Doğan
+ - Christian Kolb
+ - Guillaume LECERF
+ - Alan Scott
+ - markusu49
+ - Juanmi Rodriguez Cerón
+ - Andy Raines
+ - François Poguet
+ - Anthony Ferrara
+ - Geoffrey Pécro (gpekz)
+ - Klaas Cuvelier (kcuvelier)
+ - Flavien Knuchel (knuch)
+ - Mathieu TUDISCO (mathieutu)
+ - Dmytro Dzubenko
+ - Martijn Croonen
+ - Peter Ward
+ - Steve Frécinaux
+ - Constantine Shtompel
+ - Jules Lamur
+ - Volodymyr Kupriienko (greeflas)
+ - Renato Mendes Figueiredo
+ - Sagrario Meneses
+ - Illia Antypenko (aivus)
+ - Vašek Purchart (vasek-purchart)
+ - xdavidwu
+ - Alexander Pasichnik (alex_brizzz)
+ - Raphaël Droz
+ - Antal Áron (antalaron)
+ - Dominik Ritter (dritter)
+ - ShiraNai7
+ - Cedrick Oka
+ - Guillaume Sainthillier (guillaume-sainthillier)
+ - Ivan Pepelko (pepelko)
+ - Janusz Jabłoński (yanoosh)
+ - Jens Hatlak
+ - Fleuv
+ - Tayfun Aydin
+ - Łukasz Makuch
+ - Arne Groskurth
+ - pthompson
+ - Ilya Chekalsky
+ - Ostrzyciel
+ - George Giannoulopoulos
+ - Thibault G
+ - Luis Ramirez (luisdeimos)
+ - Ilia Sergunin (maranqz)
+ - Daniel Richter (richtermeister)
+ - Sandro Hopf (senaria)
+ - ChrisC
+ - André Laugks
+ - jack.shpartko
+ - Mathieu Ledru (matyo91)
+ - Willem Verspyck
+ - Kim Laï Trinh
+ - Johan de Ruijter
+ - InbarAbraham
+ - Jason Desrosiers
+ - m.chwedziak
+ - marbul
+ - Andreas Frömer
+ - Jeroen Bouwmans
+ - Bikal Basnet
+ - Philip Frank
+ - David Brooks
+ - Lance McNearney
+ - Jelizaveta Lemeševa (broken_core)
+ - Daniel Rotter (danrot)
+ - jprivet-dev
+ - Ilya Biryukov (ibiryukov)
+ - Frank Neff (fneff)
+ - Ema Panz
+ - Roma (memphys)
+ - Dale.Nash
+ - Jozef Môstka (mostkaj)
+ - Daniel Tschinder
+ - Wojciech Błoszyk (wbloszyk)
+ - Florian Caron (shalalalala)
+ - Serhiy Lunak (slunak)
+ - Martin Pärtel
+ - Giorgio Premi
+ - Tom Corrigan (tomcorrigan)
+ - abunch
+ - 🦅KoNekoD
+ - Lukas Naumann
+ - Mikko Pesari
+ - Krzysztof Pyrkosz
+ - ncou
+ - Ian Carroll
+ - Dennis Fehr
+ - jdcook
+ - Daniel Kay (danielkay-cp)
+ - Matt Daum (daum)
+ - Malcolm Fell (emarref)
+ - Alberto Pirovano (geezmo)
+ - inwebo veritas (inwebo)
+ - Pascal Woerde (pascalwoerde)
+ - Pete Mitchell (peterjmit)
+ - phuc vo (phucwan)
+ - Luis Galeas
+ - CDR
+ - Bogdan Scordaliu
+ - Sven Scholz
+ - Frédéric Bouchery (fbouchery)
+ - Jacek Kobus (jackks)
+ - Patrick Daley (padrig)
+ - Phillip Look (plook)
+ - Foxprodev
+ - Artfaith
+ - Tom Kaminski
+ - developer-av
+ - Max Summe
+ - DidierLmn
+ - Pedro Silva
+ - Ivan Tse
+ - Chihiro Adachi (chihiro-adachi)
+ - Clément R. (clemrwan)
+ - Yoann Chocteau (kezaweb)
+ - Jeroen de Graaf
+ - Emmanuel Vella (emmanuel.vella)
+ - Hossein Hosni
+ - Marcus Stöhr (dafish)
+ - Ulrik McArdle
+ - BiaDd
+ - Jay Severson
+ - Oleksii Bulba
+ - Raphaëll Roussel
+ - Ramon Cuñat
+ - mboultoureau
+ - AnotherSymfonyUser (arderyp)
+ - Vitalii
+ - Tadcka
+ - Bárbara Luz
+ - Abudarham Yuval
+ - Beth Binkovitz
+ - adhamiamirhossein
+ - Maxim Semkin
+ - Gonzalo Míguez
+ - Jan Vernarsky
+ - Fabian Haase
+ - roog
+ - parinz1234
+ - seho-nl
+ - Romain Geissler
+ - Viktoriia Zolotova
+ - Tomaz Ahlin
+ - Nasim
+ - Randel Palu
+ - Anamarija Papić (anamarijapapic)
+ - Daniel González Zaballos (dem3trio)
+ - Przemysław Piechota (kibao)
+ - Giuseppe Petraroli (gpetraroli)
+ - Ibon Conesa (ibonkonesa)
+ - Nikita Popov (nikic)
+ - nuryagdy mustapayev (nueron)
+ - Carsten Nielsen (phreaknerd)
+ - Valérian Lepeule (vlepeule)
+ - Vincent Vermeulen
+ - Stefan Moonen
+ - Robert Meijers
+ - Emirald Mateli
+ - René Kerner
+ - Michael Olšavský
+ - upchuk
+ - Tony Vermeiren (tony)
+ - Adrien Samson (adriensamson)
+ - Samuel Gordalina (gordalina)
+ - Nicolas Eeckeloo (neeckeloo)
+ - Andriy Prokopenko (sleepyboy)
+ - Dariusz Ruminski
+ - Starfox64
+ - Ivo Valchev
+ - Thomas Hanke
+ - ffd000
+ - Zlatoslav Desyatnikov
+ - Wickex
+ - tuqqu
+ - Wojciech Gorczyca
+ - Ahmad Al-Naib
+ - Neagu Cristian-Doru (cristian-neagu)
+ - Mathieu Morlon (glutamatt)
+ - NIRAV MUKUNDBHAI PATEL (niravpatel919)
+ - Owen Gray (otis)
+ - Sébastien Decrême (sebdec)
+ - Timothy Anido (xanido)
+ - Mara Blaga
+ - Rick Prent
+ - skalpa
+ - Bartłomiej Zając
+ - Pieter Jordaan
+ - Tournoud (damientournoud)
+ - Michael Dowling (mtdowling)
+ - Romain
+ - Karlos Presumido (oneko)
+ - Pierre Foresi (pforesi)
+ - Bart Wach
+ - Jos Elstgeest
+ - Kirill Lazarev
+ - Joe
+ - BilgeXA
+ - mmokhi
+ - Serhii Smirnov
+ - Robert Queck
+ - Peter Bouwdewijn
+ - Kurt Thiemann
+ - Daniil Gentili
+ - Thomas Counsell
+ - Pierre Grimaud (pgrimaud)
+ - Eduard Morcinek
+ - Wouter Diesveld
+ - Sebastian Ionescu
+ - Thomas Ploch
+ - Matěj Humpál
+ - Kristen Gilden
+ - Nico Hiort af Ornäs
+ - Eddy
+ - Felipy Amorim (felipyamorim)
+ - Amine Matmati
+ - Kasper Hansen
+ - Benny Born
+ - Thomas Boileau (tboileau)
+ - caalholm
+ - Hugo Sales
+ - Nouhail AL FIDI (alfidi)
+ - Michael Lively (mlivelyjr)
+ - Abderrahim (phydev)
+ - Attila Bukor (r1pp3rj4ck)
+ - Mickael GOETZ
+ - Alexander Janssen (tnajanssen)
+ - Thomas Chmielowiec (chmielot)
+ - Jānis Lukss
+ - Julien BERNARD
+ - Michael Zangerle
+ - rkerner
+ - Alex Silcock
+ - Raphael Hardt
+ - Ivan Nemets
+ - Dave Long
+ - Qingshan Luo
+ - Matthew J Mucklo
+ - AnrDaemon
+ - SnakePin
+ - Matthew Covey
+ - Tristan Kretzer
+ - Adriaan Zonnenberg
+ - Charly Terrier (charlypoppins)
+ - Dcp (decap94)
+ - Emre Akinci (emre)
+ - Rachid Hammaoui (makmaoui)
+ - psampaz (psampaz)
+ - Andrea Ruggiero (pupax)
+ - Stan Jansen (stanjan)
+ - Maxwell Vandervelde
+ - karstennilsen
+ - kaywalker
+ - Robert Kopera
+ - Jody Mickey (jwmickey)
+ - Victor Prudhomme
+ - Wouter Ras
+ - Simon Neidhold
+ - Patrik Patie Gmitter
+ - j4nr6n (j4nr6n)
+ - Gil Hadad
+ - Stelian Mocanita (stelian)
+ - Valentin VALCIU
+ - Franck Ranaivo-Harisoa
+ - Jeremiah VALERIE
+ - Alexandre Beaujour
+ - Martins Eglitis
+ - Grégoire Rabasse
+ - Cas van Dongen
+ - George Yiannoulopoulos
+ - Kevin Dew
+ - James Cowgill
+ - Žan V. Dragan
+ - sensio
+ - Julien Menth (cfjulien)
+ - Nicolas Schwartz (nicoschwartz)
+ - Tim Jabs (rubinum)
+ - Schvoy Norbert (schvoy)
+ - Aurélien Fontaine
+ - Stéphane Seng (stephaneseng)
+ - Benhssaein Youssef
+ - Benoit Leveque
+ - bill moll
+ - chillbram
+ - Benjamin Bender
+ - PaoRuby
+ - Holger Lösken
+ - Bizley
+ - Jared Farrish
+ - karl.rixon
+ - Konrad Mohrfeldt
+ - Lance Chen
+ - Ciaran McNulty (ciaranmcnulty)
+ - Dominik Piekarski (dompie)
+ - Andrew (drew)
+ - Rares Sebastian Moldovan (raresmldvn)
+ - Gautier Deuette
+ - dsech
+ - wallach-game
+ - Gilbertsoft
+ - Matthias Bilger
+ - tadas
+ - Bastien Picharles
+ - Linas Ramanauskas
+ - Martin Schophaus (m_schophaus_adcada)
+ - Olivier Scherler (oscherler)
+ - mamazu
+ - Marek Víger (freezy)
+ - Keith Maika
+ - izenin
+ - Mephistofeles
+ - Oleh Korneliuk
+ - Emmanuelpcg
+ - Rini Misini
+ - Attila Szeremi
+ - Pablo Ogando Ferreira
+ - Hoffmann András
+ - LubenZA
+ - Victor Garcia
+ - Juan Mrad
+ - Denis Yuzhanin
+ - k-sahara
+ - Flavian Sierk
+ - Rik van der Heijden
+ - Thomas Beaujean
+ - alireza
+ - Michael Bessolov
+ - sauliusnord
+ - Zdeněk Drahoš
+ - Dan Harper
+ - moldcraft
+ - Marcin Kruk
+ - Antoine Bellion (abellion)
+ - Ramon Kleiss (akathos)
+ - Alexey Buyanow (alexbuyanow)
+ - Antonio Peric-Mazar (antonioperic)
+ - Bjorn Twachtmann (dotbjorn)
+ - Goran (gog)
+ - Wahyu Kristianto (kristories)
+ - Tobias Genberg (lorceroth)
+ - Nicolas Badey (nico-b)
+ - Florent Blaison (orkin)
+ - Flo Gleixner (redflo)
+ - Romain Jacquart (romainjacquart)
+ - Shane Preece (shane)
+ - Stephan Wentz (temp)
+ - Johannes Goslar
+ - Mike Gladysch
+ - Geoff
+ - georaldc
+ - wusuopu
+ - Markus Staab
+ - Peter Potrowl
+ - Juliano Petronetto
+ - povilas
+ - Martynas Sudintas (martiis)
+ - Marie Minasyan (marie.minassyan)
+ - Gavin Staniforth
+ - Anton Sukhachev (mrsuh)
+ - bahram
+ - Gunnar Lium (gunnarlium)
+ - Pavlo Pelekh (pelekh)
+ - Nikita Starshinov (biji)
+ - andreybolonin1989@gmail.com
+ - Kirk Madera
+ - Alex Teterin (errogaht)
+ - Stefan Kleff (stefanxl)
+ - Boris Betzholz
+ - Marcel Siegert
+ - Kélian Bousquet (kells)
+ - RichardGuilland
+ - Sergey Fokin (tyraelqp)
+ - Pavel Stejskal (spajxo)
+ - Arnau González
+ - ryunosuke
+ - Tiago Garcia (tiagojsag)
+ - TheMhv
+ - Eviljeks
+ - everyx
+ - Richard Heine
+ - Francisco Facioni (fran6co)
+ - Stanislav Gamaiunov (happyproff)
+ - Iwan van Staveren (istaveren)
+ - Alexander McCullagh (mccullagh)
+ - Paul L McNeely (mcneely)
+ - Povilas S. (povilas)
+ - Laurent Negre (raulnet)
+ - Victoria Quirante Ruiz (victoria)
+ - Evrard Boulou
+ - pborreli
+ - Ibrahim Bougaoua
+ - Eric Caron
+ - GurvanVgx
+ - 2manypeople
+ - Thomas Bibb
+ - Athorcis
+ - Szymon Kamiński (szk)
+ - Stefan Koopmanschap
+ - George Sparrow
+ - Chris Tickner
+ - Toro Hill
+ - Matt Farmer
+ - Benoit Lévêque (benoit_leveque)
+ - André Laugks
+ - aetxebeste
+ - Andrew Coulton
+ - Roberto Guido
+ - Wouter de Wild
+ - mikocevar
+ - ElisDN
+ - Vitali Tsyrkin
+ - Juga Paazmaya
+ - Alexandre Segura
+ - afaricamp
+ - Josef Cech
+ - riadh26
+ - AntoineDly
+ - Konstantinos Alexiou
+ - Andrii Boiko
+ - Dilek Erkut
+ - Harold Iedema
+ - WaiSkats
+ - Morimoto Ryosuke
+ - Ikhsan Agustian
+ - raplider
+ - Simon Bouland (bouland)
+ - Christoph König (chriskoenig)
+ - Dmytro Pigin (dotty)
+ - Abdouarrahmane FOUAD (fabdouarrahmane)
+ - Jakub Janata (janatjak)
+ - Jm Aribau (jmaribau)
+ - Matthew Foster (mfoster)
+ - Tobias Speicher
+ - Paul Seiffert (seiffert)
+ - Vasily Khayrulin (sirian)
+ - Stas Soroka (stasyan)
+ - Thomas Dubuffet (thomasdubuffet)
+ - Stefan Hüsges (tronsha)
+ - Jake Bishop (yakobeyak)
+ - Dan Blows
+ - popnikos
+ - Matt Wells
+ - Nicolas Appriou
+ - Javier Alfonso Bellota de Frutos
+ - stloyd
+ - Tito Costa
+ - Andreas
+ - Ulugbek Miniyarov
+ - Antoine Beyet
+ - Michal Gebauer
+ - Gerhard Seidel (gseidel)
+ - René Landgrebe
+ - Phil Davis
+ - Houziaux mike
+ - Thiago Melo
+ - Gleb Sidora
+ - Thomas Chmielowiec
+ - David Stone
+ - Giorgio Premi
+ - Jovan Perovic (jperovic)
+ - Pablo Maria Martelletti (pmartelletti)
+ - Sander van der Vlugt (stranding)
+ - Sebastian Drewer-Gutland (sdg)
+ - casdal
+ - Waqas Ahmed
+ - Bert Hekman
+ - Luis Muñoz
+ - Matthew Donadio
+ - Kris Buist
+ - Phobetor
+ - Eric Schildkamp
+ - Yoann MOROCUTTI
+ - d.huethorst
+ - Markus
+ - DerStoffel
+ - agaktr
+ - Janusz Mocek
- Johannes
- - Jörg Rühl
- - George Dietrich
- - jannick-holm
- - wesleyh
- - Menno Holtkamp
- - Ser5
- - Michael Hudson-Doyle
- - Matthew Burns
- - Daniel Bannert
- - Karim Miladi
- - Michael Genereux
- - Greg Korba
- - Camille Islasse
- - patrick-mcdougle
- - Tyler Stroud
- - Dariusz Czech
- - Clemens Krack
- - Bruno Baguette
- - Jack Wright
- - MrNicodemuz
- - Anonymous User
- - demeritcowboy
- - Paweł Tomulik
- - Eric J. Duran
- - Blackfelix
- - Pavel Witassek
- - Alexandru Bucur
- - Alexis Lefebvre
- - cmfcmf
- - sarah-eit
- - Michal Forbak
- - CarolienBEER
+ - Mostafa
+ - kernig
+ - shdev
+ - Andrey Ryaguzov
+ - Gennadi Janzen
+ - SenTisso
+ - Peter Bex
+ - Manatsawin Hanmongkolchai
+ - Gunther Konig
+ - Joe Springe
+ - Jesper Noordsij
+ - Jeremiah VALERIE
+ - Flinsch
+ - Maciej Schmidt
+ - botbotbot
+ - tatankat
+ - Cláudio Cesar
+ - Sven Nolting
+ - Timon van der Vorm
+ - nuncanada
+ - František Bereň
+ - G.R.Dalenoort
+ - Mike Francis
+ - Adrien Moiruad
+ - Nil Borodulia
+ - Vladimir Khramtsov (chrome)
+ - Adam Katz
+ - Julius Beckmann (h4cc)
+ - Almog Baku (almogbaku)
+ - Boris Grishenko (arczinosek)
+ - Arrakis (arrakis)
+ - Andrey Helldar
+ - Danil Khaliullin (bifidokk)
+ - Lorenzo Adinolfi (loru88)
+ - Benjamin Schultz (bschultz)
+ - Christian Grasso (chris54721)
+ - Gerd Christian Kunze (derdu)
+ - Stephanie Trumtel (einahp)
+ - Denys Voronin (hurricane)
+ - Ionel Scutelnicu (ionelscutelnicu)
+ - Juan Gonzalez Montes (juanwilde)
+ - Kamil Madejski (kmadejski)
+ - Mathieu Dewet (mdewet)
+ - none (nelexa)
+ - Nicolas Tallefourtané (nicolab)
+ - Botond Dani (picur)
+ - Rémi Faivre (rfv)
+ - Radek Wionczek (rwionczek)
+ - tinect (tinect)
+ - Nick Stemerdink
+ - Bernhard Rusch
+ - David Stone
+ - Vincent Bouzeran
+ - Ruben Jansen
+ - Thibaut Salanon
+ - Romain Dorgueil
+ - Christopher Parotat
+ - Dennis Haarbrink
+ - Daniel Kozák
+ - Urban Suppiger
+ - Julien JANVIER (jjanvier)
+ - Karim Cassam Chenaï (ka)
+ - Ahmed Shamim Hassan (me_shaon)
+ - Mikko Ala-Fossi
+ - Marcello Mönkemeyer (marcello-moenkemeyer)
+ - Michal Kurzeja (mkurzeja)
+ - nietonfir
+ - Nikola Svitlica (thecelavi)
+ - Nicolas Bastien (nicolas_bastien)
+ - Sjors Ottjes
+ - VojtaB
+ - Andy Stanberry
+ - Felix Marezki
+ - Normunds
+ - Yuri Karaban
+ - Walter Doekes
+ - Thomas Rothe
+ - Edwin
+ - Troy Crawford
+ - Kirill Roskolii
+ - Jeroen van den Nieuwenhuisen
+ - Andriy
+ - Taylor Otwell
+ - Ph3nol
+ - alefranz
+ - David Barratt
+ - Andrea Giannantonio
+ - Pavel.Batanov
+ - avi123
+ - Pavel Prischepa
+ - Philip Dahlstrøm
+ - Pierre Schmitz
+ - Sami Mussbach
+ - qzylalala
+ - alsar
+ - Aarón Nieves Fernández
+ - Ahto Türkson
+ - Paweł Stasicki
+ - Kirill Saksin
+ - Shiro
+ - Reda DAOUDI
+ - michalmarcinkowski
+ - Warwick
+ - Chris
+ - Farid Jalilov
+ - Christiaan Wiesenekker
+ - Nicolas Pion
+ - Ariful Alam
+ - Florent Olivaud
+ - Foxprodev
+ - Eric Hertwig
+ - JakeFr
+ - Oliver Klee
+ - Niels Robin-Aubertin
+ - Simon Sargeant
+ - efeen
+ - Jan Christoph Beyer
+ - Muhammed Akbulut
+ - Nathanael d. Noblet
+ - Daniel Tiringer
+ - Rénald Casagraude (rcasagraude)
+ - Xesau
+ - Koray Zorluoglu
+ - Steeve Titeca (stiteca)
+ - Roy-Orbison
+ - Aaron Somi
+ - Elías (eliasfernandez)
+ - kshida
+ - Yasmany Cubela Medina (bitgandtter)
+ - Brian Graham (incognito)
+ - Michał Dąbrowski (defrag)
+ - Aryel Tupinamba (dfkimera)
+ - Hans Höchtl (hhoechtl)
+ - Jeremy Benoist
+ - Kevin Vergauwen (innocenzo)
+ - Alessio Baglio (ioalessio)
+ - Johannes Müller (johmue)
+ - Jordi Llonch (jordillonch)
+ - julien_tempo1 (julien_tempo1)
+ - Roman Igoshin (masterro)
+ - Nicholas Ruunu (nicholasruunu)
+ - Pierre Rebeilleau (pierrereb)
+ - Milos Colakovic (project2481)
+ - Raphael de Almeida (raphaeldealmeida)
+ - Mohammad Ali Sarbanha (sarbanha)
+ - Sergii Dolgushev (sergii-swds)
+ - Thomas Citharel (tcit)
+ - Alex Niedre
+ - evgkord
+ - Helmer Aaviksoo
+ - Roman Orlov
+ - Simon Ackermann
+ - Andreas Allacher
+ - VolCh
+ - Alexey Popkov
+ - Gijs Kunze
+ - Artyom Protaskin
+ - Steven Dubois
+ - Yurun
+ - ged15
+ - Simon Asika
+ - Daan van Renterghem
+ - Raito Akehanareru (raito)
+ - Valmont Pehaut-Pietri (valmonzo)
+ - Bálint Szekeres
+ - amcastror
+ - Bram Van der Sype (brammm)
+ - Guile (guile)
+ - Mark Beech (jaybizzle)
+ - Julien Moulin (lizjulien)
+ - Mauro Foti (skler)
+ - Thibaut Arnoud (thibautarnoud)
+ - Yannick Warnier (ywarnier)
+ - Jörn Lang
+ - Kevin Decherf
+ - Paul LE CORRE
+ - Christian Weiske
+ - Maria Grazia Patteri
+ - dened
+ - muchafm
+ - Dmitry Korotovsky
+ - Michael van Tricht
+ - ReScO
+ - Tim Strehle
+ - Sébastien COURJEAN
+ - cay89
+ - Sam Ward
+ - Hans N. Hjort
+ - Marko Vušak
+ - Walther Lalk
+ - Adam
+ - vltrof
+ - Ismo Vuorinen
+ - Markus Staab
+ - Valentin
+ - Gerard
+ - Sören Bernstein
+ - michael.kubovic
+ - devel
+ - Iain Cambridge
+ - Artem Lopata
+ - Viet Pham
+ - Alan Bondarchuk
+ - Pchol
+ - Benjamin Ellis
+ - Shamimul Alam
+ - Cyril HERRERA
+ - dropfen
+ - RAHUL K JHA
+ - Andrey Chernykh
+ - Edvinas Klovas
- Drew Butler
- - Alexey Berezuev
- - pawel-lewtak
- - Pierrick Charron
- - Steve Müller
- - omerida
- - Andras Ratz
- - andreabreu98
- - Marcus
- - gechetspr
- - brian978
- - Michael Schneider
- - n-aleha
- - Richard Čepas
- - Talha Zekeriya Durmuş
- - Anatol Belski
- - Javier
- - Alexis BOYER
- - bch36
- - Kaipi Yann
- - wiseguy1394
- - adam-mospan
- - AUDUL
- - Steve Hyde
- - AbdelatifAitBara
- - nerdgod
- - Sam Williams
- - Ettore Del Negro
- - Guillaume Aveline
- - Adrian Philipp
- - James Michael DuPont
- - Simone Ruggieri
- - Markus Tacker
+ - Peter Breuls
+ - Chansig
+ - Kevin EMO
+ - Tischoi
+ - Sergii Dolgushev (serhey)
+ - divinity76
+ - Amin Hosseini (aminh)
+ - vdauchy
+ - Andreas Hasenack
+ - J Bruni
+ - vlakoff
+ - Anthony Tenneriello
+ - thib92
+ - Yiorgos Kalligeros
+ - Rudolf Ratusiński
+ - Bertalan Attila
+ - Arek Bochinski
+ - Rafael Tovar
+ - AmsTaFF (amstaff)
+ - Simon Müller (boscho)
+ - Yannick Bensacq (cibou)
+ - Cyrille Bourgois (cyrilleb)
+ - Damien Vauchel (damien_vauchel)
+ - Dmitrii Fedorenko (dmifedorenko)
+ - Frédéric G. Marand (fgm)
+ - Freek Van der Herten (freekmurze)
+ - Luca Genuzio (genuzio)
+ - Ioana Hazsda (ioana-hazsda)
+ - Jan Marek (janmarek)
+ - Mark de Haan (markdehaan)
+ - Maxime Corteel (mcorteel)
+ - Mathieu MARCHOIS (mmar)
+ - Nei Rauni Santos (nrauni)
+ - Geoffrey Monte (numerogeek)
+ - Martijn Boers (plebian)
+ - Plamen Mishev (pmishev)
+ - fabi
+ - Rares Vlaseanu (raresvla)
+ - Trevor N. Suarez (rican7)
+ - Clément Bertillon (skigun)
+ - Ahmed HANNACHI (tiecoders)
+ - Rein Baarsma (solidwebcode)
+ - tante kinast (tante)
+ - Stephen Lewis (tehanomalousone)
+ - Vincent LEFORT (vlefort)
+ - Andrew Marcinkevičius (ifdattic)
+ - Dan Patrick (mdpatrick)
+ - Ben Gamra Housseine (hbgamra)
+ - Darryl Hein (xmmedia)
+ - Wim Molenberghs (wimm)
+ - David Christmann
+ - Walid BOUGHDIRI (walidboughdiri)
+ - Marcel Berteler
+ - sdkawata
+ - Frederik Schmitt
+ - Peter van Dommelen
+ - Tim van Densen
+ - Andrzej
+ - tomasz-kusy
+ - Rémi Blaise
+ - Nicolas Séverin
+ - patrickmaynard
+ - Houssem
+ - Joel Marcey
+ - zolikonta
+ - Daniel Bartoníček
+ - Grégory Pelletier (ip512)
+ - natechicago
+ - Julien Pauli
+ - Juan Miguel Besada Vidal (soutlink)
- Tomáš Votruba
- - Kasperki
- - dima-gr
- - Daniel Strøm
- - Tammy D
- - Rodolfo Ruiz
- - tsilefy
- - Enrico
- - Adrien Foulon
- - Sylvain Just
- - Ryan Rud
- - Ondrej Slinták
- - Jérémie Broutier
- - vlechemin
- - Brian Corrigan
- - Ladislav Tánczos
- - Brian Freytag
- - Skorney
- - Lucas Matte
- - Success Go
- - fmarchalemisys
- - MGatner
- - mieszko4
- - Steve Preston
- - ibasaw
- - koyolgecen
- - Wojciech Skorodecki
- - Kevin Frantz
- - Neophy7e
- - Evert Jan Hakvoort
- - bokonet
- - Arrilot
- - andrey-tech
- - David Ronchaud
- - Chris McGehee
- - Shaun Simmons
- - Pierre-Louis LAUNAY
- - Arseny Razin
- - A. Pauly
- - djama
- - Benjamin Rosenberger
- - Vladyslav Startsev
- - Michael Gwynne
- - Eduardo Conceição
- - changmin.keum
- - Jon Cave
- - Sébastien HOUZE
- - Abdulkadir N. A.
- - Markus Klein
- - Adam Klvač
- - Bruno Nogueira Nascimento Wowk
- - Tomanhez
- - satalaondrej
- - Matthias Dötsch
- - jonmldr
- - Nowfel2501
- - Yevgen Kovalienia
- - Lebnik
- - Shude
- - RTUnreal
- - Richard Hodgson
- - Sven Fabricius
+ - Ross Motley (rossmotley)
+ - Cedric BERTOLINI (alsciende)
+ - Lyubomir Grozdanov (lubo13)
+ - Grayson Koonce
+ - Simone Fumagalli (hpatoio)
+ - Peter Dietrich (xosofox)
+ - Brandon Antonio Lorenzo
+ - Rafał Muszyński (rafmus90)
+ - Thierry Marianne
+ - Brieuc Thomas
+ - Ole Rößner (basster)
+ - Jonny Schmid (schmidjon)
- Antonio Mansilla
- - Ondřej Führer
- - Bogdan
- - Sema
- - Ayke Halder
- - Thorsten Hallwas
- - Brian Freytag
+ - Johan
+ - Michael Simonson (mikes)
+ - Jordan de Laune (jdelaune)
+ - Michał Marcin Brzuchalski (brzuchal)
+ - César Suárez (csuarez)
+ - Thomas Dutrion (theocrite)
+ - Daniele Cesarini (ijanki)
+ - Silas Joisten (silasjoisten)
+ - uncaught
+ - Boris Medvedev
+ - Alexander Bauer (abauer)
+ - Nicolas ASSING (nicolasassing)
+ - Maksym Romanowski (maxromanovsky)
+ - Juan Luis (juanlugb)
+ - robin.de.croock
+ - Frankie Wittevrongel
+ - Ondřej Frei
+ - excelwebzone
+ - Martin Auswöger
+ - Vladimir Sadicov (xtech)
+ - Andrew Zhilin (zhil)
+ - Valentin Nazarov
+ - Guillaume Royer
- Arend Hummeling
- - Joseph FRANCLIN
- - Marco Pfeiffer
- - Alex Nostadt
- - Michael Squires
- - Egor Gorbachev
- - Julian Krzefski
- - Derek Stephen McLean
- - PatrickRedStar
- - Norman Soetbeer
- - zorn
- - Yuriy Potemkin
- - Emilie Lorenzo
- - prudhomme victor
- - enomotodev
- - Vincent
- - Benjamin Long
- - Fabio Panaccione
- - Kévin Gonella
- - Ben Miller
- - Peter Gribanov
- - Matteo Galli
- - Bart Ruysseveldt
- - Ash014
- - Loenix
- - kwiateusz
- - Ilya Bulakh
- - David Soria Parra
- - Simon Frost
- - Sergiy Sokolenko
- - Cantepie
- - detinkin
- - Ahmed Abdulrahman
- - dinitrol
- - Penny Leach
- - Kevin Mian Kraiker
- - Yurii K
- - Richard Trebichavský
- - Rich Sage
- - g123456789l
- - Mark Ogilvie
- - Jonathan Vollebregt
- - oscartv
- - DanSync
- - Peter Zwosta
- - Michal Čihař
- - parhs
- - Harry Wiseman
- - Emilien Escalle
- - jwaguet
- - Diego Campoy
- - Oncle Tom
- - Roland Franssen :)
- - Sam Anthony
- - Christian Stocker
- - Oussama Elgoumri
- - Gert de Pagter
- - David Lima
- - Steve Marvell
- - Dawid Nowak
- - Lesnykh Ilia
- - Shyim
- sabruss
- - darnel
- - Nicolas
- - Sergio Santoro
- - tirnanog06
- - Andrejs Leonovs
- - llupa
- - Alfonso Fernández García
- - phc
- - Дмитрий Пацура
- - Signor Pedro
- - RFreij
- - Matthias Larisch
- - Maxime P
- - Sean Templeton
- - Willem Mouwen
- - db306
- - Bohdan Pliachenko
- - Dr. Gianluigi "Zane" Zanettini
- - Michaël VEROUX
- - Julia
- - Lin Lu
- - arduanov
- - sualko
- - Marc Bennewitz
- - Fabien
- - Martin Komischke
- - Yendric
- - ADmad
- - Hugo Posnic
- - Nicolas Roudaire
- - Marc Jauvin
- - Matthias Meyer
- - Abdouni Karim (abdounikarim)
- - Temuri Takalandze (abgeo)
- - Bernard van der Esch (adeptofvoltron)
- - Andreas Forsblom (aforsblo)
- - Aleksejs Kovalovs (aleksejs1)
- - Alex Olmos (alexolmos)
- - Cedric BERTOLINI (alsciende)
- - Robin Kanters (anddarerobin)
- - Antoine (antoinela_adveris)
- - Juan Ases García (ases)
- - Siragusa (asiragusa)
- - Daniel Basten (axhm3a)
- - Albert Bakker (babbert)
- - Benedict Massolle (bemas)
- - Gerard Berengue Llobera (bere)
- - Ronny (big-r)
- - Bernd Matzner (bmatzner)
- - Vladimir Vasilev (bobahvas)
- - Anton (bonio)
- - Bram Tweedegolf (bram_tweedegolf)
- - Brandon Kelly (brandonkelly)
- - Choong Wei Tjeng (choonge)
- - Bermon Clément (chou666)
- - Chris Shennan (chrisshennan)
- - Citia (citia)
- - Kousuke Ebihara (co3k)
- - Loïc Vernet (coil)
- - Christoph Vincent Schaefer (cvschaefer)
- - Kamil Piwowarski (cyklista)
- - Damon Jones (damon__jones)
- - David Courtey (david-crty)
- - David Gorges (davidgorges)
- - Alexandre Fiocre (demos77)
- - Łukasz Giza (destroyer)
- - Daniel Londero (dlondero)
- - Dušan Kasan (dudo1904)
- - Sebastian Landwehr (dword123)
- - Adel ELHAIBA (eadel)
- - Damián Nohales (eagleoneraptor)
- - Elliot Anderson (elliot)
- - Erwan Nader (ernadoo)
- - Fabien D. (fabd)
- - Carsten Eilers (fnc)
- - Sorin Gitlan (forapathy)
- - Fraller Balázs (fracsi)
- - Lesueurs Frédéric (fredlesueurs)
- - Yohan Giarelli (frequence-web)
- - Gerry Vandermaesen (gerryvdm)
- - Arash Tabrizian (ghost098)
- - Greg Szczotka (greg606)
- - Ian Littman (iansltx)
- - Nathan DIdier (icz)
- - Vladislav Krupenkin (ideea)
- - Peter Orosz (ill_logical)
- - Ilia Lazarev (ilzrv)
- - Imangazaliev Muhammad (imangazaliev)
- - wesign (inscrutable01)
+ - Knallcharge
+ - gndk
+ - Markus Tacker
+ - Fabian Steiner (fabstei)
- Arkadiusz Kondas (itcraftsmanpl)
- - j0k (j0k)
- - joris de wit (jdewit)
- - JG (jege)
- - Jérémy CROMBEZ (jeremy)
- - Jose Manuel Gonzalez (jgonzalez)
- - Joachim Krempel (jkrempel)
- - Jorge Maiden (jorgemaiden)
- - Joshua Behrens (joshuabehrens)
- - Joao Paulo V Martins (jpjoao)
- - Justin Rainbow (jrainbow)
- - Juan Luis (juanlugb)
- - JuntaTom (juntatom)
- - Julien Manganne (juuuuuu)
- - Ismail Faizi (kanafghan)
- - Karolis Daužickas (kdauzickas)
- - Kérian MONTES-MORIN (kerianmm)
- - Sébastien Armand (khepin)
- - Pierre-Chanel Gauthier (kmecnin)
- - Krzysztof Menżyk (krymen)
- - Kenjy Thiébault (kthiebault)
- - samuel laulhau (lalop)
- - Laurent Bachelier (laurentb)
- - Luís Cobucci (lcobucci)
- - Jérémy (libertjeremy)
- - Mehdi Achour (machour)
- - Mamikon Arakelyan (mamikon)
- - Mark Schmale (masch)
- - Matt Ketmo (mattketmo)
- - Moritz Borgmann (mborgmann)
- - Matt Drollette (mdrollette)
- - Adam Monsen (meonkeys)
- - Mike Milano (mmilano)
- - Guillaume Lajarige (molkobain)
- - Diego Aguiar (mollokhan)
- - Steffen Persch (n3o77)
- - Ala Eddine Khefifi (nayzo)
- - emilienbouard (neime)
- - Nicholas Byfleet (nickbyfleet)
- - Nicolas Bondoux (nsbx)
- - Cedric Kastner (nurtext)
- - ollie harridge (ollietb)
- - Aurimas Rimkus (patrikas)
- - Pawel Szczepanek (pauluz)
- - Philippe Degeeter (pdegeeter)
- - PLAZANET Pierre (pedrotroller)
- - Christian López Espínola (penyaskito)
- - Petr Jaroš (petajaros)
- - Pavel Golovin (pgolovin)
- - Philipp Hoffmann (philipphoffmann)
- - Alex Carol (picard89)
- - Daniel Perez Pinazo (pitiflautico)
- - Igor Tarasov (polosatus)
- - Maksym Pustynnikov (pustynnikov)
- - Ralf Kühnel (ralfkuehnel)
- - Seyedramin Banihashemi (ramin)
- - Ramazan APAYDIN (rapaydin)
- - Babichev Maxim (rez1dent3)
- - scourgen hung (scourgen)
- - Sebastian Busch (sebu)
- - Sergey Stavichenko (sergey_stavichenko)
- - André Filipe Gonçalves Neves (seven)
- - Bruno Ziegler (sfcoder)
- - Ángel Guzmán Maeso (shakaran)
- - Andrea Giuliano (shark)
- - Şəhriyar İmanov (shehriyari)
+ - Alexander Kurilo (kamazee)
+ - Lars Ambrosius Wallenborn (larsborn)
+ - Malte Wunsch (maltewunsch)
+ - Matteo Giachino (matteosister)
- Thomas Baumgartner (shoplifter)
- - Schuyler Jager (sjager)
+ - Vladimir Chernyshev (volch)
+ - Oz (import)
+ - Felix Eymonot (hyanda)
+ - Stanislau Kviatkouski (7-zete-7)
- Christopher Georg (sky-chris)
- - Volker (skydiablo)
- - Julien Sanchez (sumbobyboys)
- - Ron Gähler (t-ronx)
- - Guillermo Gisinger (t3chn0r)
- - Tomáš Korec (tomkorec)
- - Tom Newby (tomnewbyau)
- - Andrew Clark (tqt_andrew_clark)
- - Aaron Piotrowski (trowski)
- - David Lumaye (tux1124)
- - Roman Tymoshyk (tymoshyk)
- - Moritz Kraft (userfriendly)
- - Víctor Mateo (victormateo)
- - Vincent MOULENE (vints24)
- - Verlhac Gaëtan (viviengaetan)
- - David Grüner (vworldat)
- - Eugene Babushkin (warl)
- - Wouter Sioen (wouter_sioen)
- - Xavier Amado (xamado)
- - Jesper Søndergaard Pedersen (zerrvox)
- - Florent Cailhol
- - szymek
- - Ryan Linnit
- - Konrad
- - Kovacs Nicolas
- - eminjk
- - craigmarvelley
- - Stano Turza
- - Antoine Leblanc
- - drublic
- - Andre Johnson
- - MaPePeR
- - Andreas Streichardt
- - Alexandre Segura
- - Marco Pfeiffer
- - Vivien
- - Pascal Hofmann
- - david-binda
- - smokeybear87
- - Gustavo Adrian
- - damaya
- - Kevin Weber
- - Alexandru Năstase
- - Carl Julian Sauter
- - Dionysis Arvanitis
- - Sergey Fedotov
- - Konstantin Scheumann
- - Josef Hlavatý
- - Michael
- - fh-github@fholzhauer.de
- - rogamoore
- - AbdElKader Bouadjadja
- - ddegentesh
- - DSeemiller
- - Jan Emrich
- - Anne-Julia Seitz
- - mindaugasvcs
- - Mark Topper
- - Romain
- - Xavier REN
- - Kevin Meijer
- - Ignacio Alveal
- - max
- - Alexander Bauer (abauer)
- - Ahmad Mayahi (ahmadmayahi)
- - Mohamed Karnichi (amiral)
- - Andrew Carter (andrewcarteruk)
- - Adam Elsodaney (archfizz)
- - Gregório Bonfante Borba (bonfante)
- - Bogdan Rancichi (devck)
- - Daniel Kolvik (dkvk)
- - Marc Lemay (flug)
- - Gabriel Solomon (gabrielsolomon)
- - Courcier Marvin (helyakin)
- - Henne Van Och (hennevo)
- - Jeroen De Dauw (jeroendedauw)
- - Muharrem Demirci (mdemirci)
- - Evgeny Z (meze)
- - Aleksandar Dimitrov (netbull)
- - Pierre-Henry Soria 🌴 (pierrehenry)
- - Pierre Geyer (ptheg)
+ - tamcy
+ - Yohann Tilotti
+ - Muhammad Aakash
+ - Anthony Moutte
+ - Adoni Pavlakis (adoni)
+ - Nicolas Le Goff (nlegoff)
+ - Tero Alén (tero)
+ - Daniel Londero (dlondero)
+ - Ryan Rogers
+ - Stephen
+ - aim8604
+ - ZiYao54
+ - Eric Stern
+ - Guillaume BRETOU (guiguiboy)
+ - Artiom
+ - Bruno BOUTAREL
+ - Jakub Simon
+ - Bernat Llibre Martín (bernatllibre)
+ - Zayan Goripov
+ - downace
+ - Robin Duval (robin-duval)
+ - Ivo
+ - pf
+ - elattariyassine
+ - Joris Garonian (grifx)
+ - Tito Miguel Costa (titomiguelcosta)
+ - goohib
+ - andrey-tech
+ - dinitrol
+ - Jérémy CROMBEZ (jeremy)
+ - mlievertz
+ - Benjamin Paap (benjaminpaap)
+ - Uladzimir Tsykun
+ - Fred Cox
+ - Ksaveras Šakys (xawiers)
+ - Lin Clark
+ - RevZer0 (rav)
+ - Yura Uvarov (zim32)
+ - Dan Finnie
+ - Nerijus Arlauskas (nercury)
+ - Clément
+ - Philipp Kretzschmar
+ - Jairo Pastor
+ - rtek
+ - Kévin Gomez (kevin)
+ - Sébastien HOUZÉ
+ - BrokenSourceCode
+ - Robert-Jan de Dreu
+ - simbera
+ - Peter Schultz
+ - Wissame MEKHILEF
+ - Mihai Stancu
+ - shreypuranik
+ - Koalabaerchen
+ - alex
+ - gedrox
+ - Pedro Magalhães (pmmaga)
+ - Ari Pringle (apringle)
+ - Dan Ordille (dordille)
+ - Juan M Martínez
+ - Matt Fields
+ - Lajos Veres (vlajos)
+ - toxxxa
+ - Kai Eichinger
+ - Antonio Angelino
+ - CarolienBEER
+ - Tammy D
+ - Kevin Frantz
+ - bokonet
+ - Sébastien Armand (khepin)
- Richard Henkenjohann (richardhj)
- - Thomas BERTRAND (sevrahk)
- - Vladislav (simpson)
- - Marin Bînzari (spartakusmd)
- - Stefanos Psarras (stefanos)
- - Matej Žilák (teo_sk)
- - Gary Houbre (thegarious)
- - Vladislav Vlastovskiy (vlastv)
- - RENAUDIN Xavier (xorrox)
- - Yannick Vanhaeren (yvh)
- - Zan Baldwin (zanderbaldwin)
+ - 蝦米
+ - klemens
+ - Lane Shukhov
+ - Dennis Jaschinski (d.jaschinski)
+ - Martin Eckhardt
+ - André Matthies
+ - ttomor
+ - Gavin (gavin-markup)
+ - Evgeny Ruban
+ - Florian Bogey
+ - Soha Jin
+ - Alexander Zogheb
+ - Rich Sage
+ - sualko
+ - koyolgecen
+ - James Mallison
+ - BT643
+ - M.Wiesner
+ - Erdal G
+ - Daniel Siepmann
+ - Alaa AttyaMohamed (alaaattya)
+ - atmosf3ar
+ - aziz benmallouk (aziz403)
+ - Rob Meijer (robmeijer)
+ - Bruno Ferme Gasparin (bfgasparin)
+ - silver-dima
+ - Ldiro
+ - Nick Winfield
+ - Raphaël Geffroy
+ - Asma Drissi (adrissi)
+ - Egor Ushakov (erop)
+ - Janusz Slota (janusz.slota)
+ - Szymon Skowroński (skowi)
+ - Thomas Le Duc (viper)
+ - Artur Butov (vuras)
+ - Neal Brooks (nealio82)
+ - Fabian Spillner (fspillner)
+ - SirRFI
+ - Jérôme Poskin (moinax)
+ - z38
+ - lacatoire
+ - Bill Israel
+ - Armen Mkrtchyan (iamtankist)
+ - RisingSunLight
+ - unknown
+ - Sam Korn
+ - Surfoo (surfoo)
+ - dcramble
+ - Anthony Rey (sydney_o9)
+ - Daniel Felix (danielfellix)
+ - Janosch Oltmanns (janosch_oltmanns)
+ - Christian
+ - Giuseppe Attardi
+ - Walter Nuñez
+ - Bart van Raaij (bartvanraaij)
+ - David Paz (davidmpaz)
+ - Markus Tacker
+ - Kim Wüstkamp (kimwuestkamp)
+ - tchap
+ - Benjamin Bourot
+ - Chris McMacken (chrism)
+ - Benjamin Lazarecki (benjaminlazarecki)
+ - matt smith (dr-matt-smith2)
+ - Kane Menicou (kane-menicou)
+ - Stéphane Paul BENTZ (spbentz)
+ - KaroDidi
+ - CJDennis
+ - Olivier Toussaint (cinquante)
+ - Raul C
+ - Cristi Contiu (cristi-contiu)
+ - Tim
+ - Marcel Korpel
+ - Yaroslav Yaremenko
+ - Justin Liiper (liiper)
+ - Al-Saleh KEITA
+ - Dan Michael O. Heggø (danmichaelo)
+ - Laurens Laman (laulaman)
+ - Joe Hans Robles Martínez (joebuntu)
+ - Florian Körner (koernerws)
+ - Agustín Pacheco Di Santi
+ - d.syph.3r
+ - Hyunmin Kim (kigguhholic)
+ - Alexis Urien (axi35)
+ - Marek Bartoš
+ - Markus Tacker
+ - Thomas P
+ - Jeroen
+ - Aymeric Mayeux (aymdev)
+ - Kamil Pešek (kamil_pesek)
+ - Nicolas Clavaud (nclavaud)
+ - Aaron Valandra
+ - Myystigri
+ - Guillaume Sarramegna
+ - Kristof (jockri)
+ - Jérémy Crapet
+ - Ahmed Lebbada (sidux)
+ - Alexis Lefebvre
+ - Alex Theobold
+ - Abdellah EL GHAILANI (aelghailani)
+ - Benjamin D. (benito103e)
+ - Mark Badolato (mbadolato)
+ - Tsimafei Charniauski (varloc2000)
+ - Sherin Bloemendaal
+ - laurent negre
+ - Beno!t POLASZEK
+ - Mario Martinez (chichibek)
+ - Florian Bastien (fbastien)
+ - Maik Penz
+ - Brooks Van Buren (brooksvb)
+ - Axel K.
+ - Ivan Yivoff
+ - wouthoekstra
+ - Paul Waring
+ - Brice Lalu (bricelalu)
+ - Alexandre Castelain (calex_92)
+ - Rafał Mnich (rafalmnich-msales)
+ - Andrei Karpilin (karpilin)
+ - Julien Dephix
+ - Mathieu
+ - Jade Xau
+ - Thomas Berends
+ - Nils Freigang (pueppiblue)
+ - Juan Manuel Fernandez (juanmf)
+ - Ben Glassman (bglassman)
+ - unknown
+ - Pierre Maraître (balamung)
+ - Kolyunya (kolyunya)
+ - Daniel Kesselberg (kesselb)
+ - MarcomTeam
+ - gitomato
+ - Thibault Pelloquin (thibault_pelloquin)
+ - Heaven31415
+ - Pavel Máca
+ - Michael Sheakoski
+ - Patrick Bielen
+ - Emir Beganović (emirb)
+ - Tim Stamp
+ - Daniel Parejo Muñoz (xdaizu)
+ - Florian-B
+ - Guillaume Rossignol
+ - Marcin Sekalski
+ - Wouter J
+ - Kai Eichinger (kai_eichinger)
+ - Matthew Loberg (mloberg)
+ - xuni
+ - timothymctim
+ - tuanalumi
+ - ayacoo
+ - Kevin Lot
+ - Andrea Cristaudo
+ - Romain
+ - Jochem Klaver
+ - Aalaap Ghag (aalaap)
+ - Eric Poe (ericpoe)
+ - Giancarlos Salas (giansalex)
+ - Gauthier Gilles
+ - Julien Ferchaud (guns17)
+ - Pedro Junior (vjnrv)
+ - Max R (maxr)
+ - xamgreen
+ - Igor
+ - Michal Zuber
+ - Lyrkan
+ - Maxime Cornet (elysion)
+ - Arvydas K
+ - Chris Thompson (toot)
+ - Carl Schwan
+ - Vince (zhbzhb)
+ - Hamza Hanafi
+ - Bogdan Olteanu
+ - Nurlan Alekberov
+ - Jérôme Nadaud
+ - entering
+ - OИUЯd da silva
+ - Clément MICHELET (chiendelune)
+ - Erison silva (eerison)
+ - Sarim Khan (gittu)
+ - Jakub Szcześniak (jakubszczesniak)
+ - JohnyProkie (john_prokie)
+ - Krzysztof Daniel (krzysdan)
+ - Mitchel (mitch)
+ - Pierre Joube (pierrejoube)
+ - Zairig Imad
+ - Romain Biard (rbiard)
+ - Nik Spijkerman
+ - Luka Žitnik
+ - Eugene Wolfson
+ - Danielle Suurlant (dsuurlant)
+ - Julien Deniau (jdeniau)
+ - van truong PHAN (vantruongphan)
+ - Alex Luneburg
+ - MohamedElKadaoui
+ - iqfoundry
+ - Lauri
+ - Thomas Ploch
+ - Franklin LIA
+ - autiquet axel
+ - Florentin Garnier
+ - Alex Wybraniec
+ - Paweł Farys
+ - Carlton Dickson (carltondickson)
+ - Christopher Hoult (choult)
+ - Clemens Krack (ckrack)
+ - George Pogosyan (gp)
+ - Joshua (suabahasa)
+ - Jean-Baptiste Delhommeau (jbdelhommeau)
+ - Kristian Zondervan (krizon)
+ - Mathias Geat (maffibk)
+ - Alex Brims (outspaced)
+ - Joel Doyle (oylex)
+ - Pau Oliveras (poliveras)
+ - Shane Archer (sarcher)
+ - Leanna Pelham (leannapelham)
+ - Stefan Doorn (stefandoorn)
+ - M E (ttc)
+ - Christophe Deliens (cdeliens)
+ - Tony Tran (tony-tran)
+ - Alden Weddleton (wnedla)
+ - Patryk Miedziaszczyk
+ - Michael Lenahan
+ - Giacomo Moscardini
+ - Kris
+ - Dustin Meiner
+ - Arc Tod
+ - Max Schindler (chucky2305)
+ - Kai (kai_dederichs)
+ - SamanShafigh
+ - Andrii Mishchenko (krlove)
+ - KULDIP PIPALIYA (kuldipem)
+ - Taiwo A (tiwiex)
+ - Tobias Olry (tolry)
+ - Maxime Douailin
+ - Chris Taylor
+ - Andy Dawson
+ - Jason Grimes
+ - jonasarts
+ - Salah MEHARGA
+ - Marvin Hinz
+ - Jacek Jędrzejewski
+ - chapterjason
+ - mohamed
+ - rodmar35
+ - Krzysztof Lament
+ - Euge Starr
+ - Steve Nebes
+ - jms85
+ - M.Eng. René Schwarz
+ - Shawn Dellysse
+ - Steve
+ - Rico Neitzel
+ - Alessio Pierobon (alepsys)
+ - Andrey Bolonin
+ - robert Parker
+ - ampt . (ampt)
+ - Philippe Mine (dispositif)
+ - Favian Ioel Poputa (favianioel)
+ - Fernando Aguirre Larios (ingaguirrel)
+ - Javi H. Gil (javibilbo)
+ - Jean-Marie Lamodière (jmlamo)
+ - XitasoChris
+ - kenjis (kenjis)
+ - Kevin Archer (kevarch)
+ - Žilvinas Kuusas (kuusas)
+ - Mostefa Medjahed (mostefa)
+ - Andrianovah nirina randriamiamina (novah)
+ - Nicolas Potier (npotier)
+ - Ejamine
+ - moon-watcher
+ - Paweł Skotnicki (pskt)
+ - Andrey (quiss)
+ - Robert Saylor (rsaylor)
+ - Rubén Rubio Barrera (rubenrubiob)
+ - Rick van Laarhoven (rvanlaarhoven)
+ - Therage Kevin
+ - Saad Tazi (saadtazi)
+ - Sasha Matejic (smatejic)
+ - Yopai
+ - Souhail (souhail_5)
+ - Valentin Ferriere (choomz)
+ - JakeFr
+ - Rémi T'JAMPENS (tjamps)
+ - venu (venu)
+ - Nicolas Dievart (youri)
+ - Zaid Rashwani (zrashwani)
+ - authentictech
+ - Jordan Lev
+ - James (acidjames)
+ - Pierre Galvez (shafan_dev)
+ - Ulrich Völkel (udev)
+ - Nebojša Kamber
+ - Stepan Mednikov
+ - Uri Goldshtein
+ - Vyacheslav Pavlov
+ - Pierre de Soos
+ - Johnny Peck
+ - Mario Young
+ - Cangit
+ - TrueGit
+ - Tim Kuijsten
+ - Dennis Benkert
+ - Nicola Pietroluongo
+ - Charcosset Johnny
+ - Hmache Abdellah
+ - ABRAHAM Morgan
+ - Lucas Mlsna
+ - RickieL
+ - Xavier Laviron
+ - Severin J
+ - Julien (mewt)
+ - Alexander O'Neill
+ - Jürgen
+ - Bruno Vitorino
+ - Daniel Werner (powerdan)
+ - Lukáš Brzák (rapemer)
+ - adursun
+ - Alihasana SHAIKALAUDDEEN
+ - Darmen Amanbayev
+ - Leonel Machava
+ - javaDeveloperKid
+ - Syedi Hasan
+ - Tom Nguyen
+ - Yngve Høiseth
+ - dawidpierzchalski
+ - Steve Wasiura
+ - Muhammad Nasir Rahimi
+ - Rick Pastoor
+ - Gun5m0k3
+ - Gilles Taupenas
+ - Brian Gallagher
+ - MarvinBlstrli
+ - Marichez Pierre (chtipepere)
+ - Danny Kopping (dannykopping)
+ - Krzysztof Lechowski (kshishkin)
+ - Andras Ratz (ghostika)
+ - Michael Sivolobov (astronomer)
+ - Quentin Stoeckel (chteuchteu)
+ - Rafael Gil (cybervoid)
+ - Cyril VERLOOP (cyrilverloop)
+ - Ivan Kosheliev (dfyz)
+ - Duane Gran (duanegran)
+ - Thomas Decaux (ebuildy)
+ - Fred Jiles (fredjiles)
+ - Glen Jaguin (gl3n)
+ - Joshua Dickerson (groundup)
+ - Julio (gugli100)
+ - Dan Finnie
+ - Yassine Fikri (yassinefikri)
+ - Hector Hurtarte (hectorh30)
+ - Oliver Forral (intrepion)
+ - Jack Delin (jackdelin)
+ - Jean-Luc MATHIEU (jls2933)
+ - Josh Taylor (josher)
+ - Kevin Robatel (kevinrob)
+ - Keefe Kwan (kkwan)
+ - Piotr Gołębiewski (loostro)
+ - Maxime Morlet (maxicom)
+ - Ana Cicconi
+ - Mohamed Ettaki TALBI (takman)
+ - Michał Kurcewicz (mkurc1)
+ - nencho nencho (nencho)
+ - pbijl (pbijl)
+ - Patrick Maynard
+ - rahul (rahul)
+ - bouffard (shinmen33)
+ - Kevin Carmody (skinofstars)
+ - Tomasz Tybulewicz (tybulewicz)
+ - Vlad Ghita (vghita)
+ - Ahmed El Moden
+ - Unlikenesses
+ - Ousmane NDIAYE
+ - Erlang Parasu (erlangparasu)
+ - Pieter Oliver
+ - Viacheslav Demianov (sdem)
+ - David ALLIX (weba2lix)
+ - Carlos Granados
+ - kirill-oficerov
+ - aliber4079
+ - ptrm04
+ - Jeroen Deviaene
+ - Marc Verney
+ - Goran Grbic (tpojka)
+ - Marcin Sękalski (senkal)
+ - Frédéric Planté
+ - Alexandr Podgorbunschih (apodgorbunschih)
+ - Thomas Kappel
+ - Charles EDOU NZE
+ - Daichi Kamemoto (yudoufu)
+ - Oliver Stark (oliver.stark)
+ - gnito-org
+ - Marc Verney
+ - alexmart
+ - Daniël Brekelmans
+ - Loïc Salanon
+ - Mathias STRASSER
+ - Navid Salehi (nvdsalehi)
+ - armin-github
+ - Jerome Gangneux
+ - Denis Brumann
+ - Daryl Gubler (dev88)
+ - Dorian Sarnowski (dorian)
+ - Viktor Linkin (adrenalinkin)
+ - Stephen Ostrow (isleshocky77)
+ - Thijs Feryn
+ - Ionut Enache
+ - Conrad Pankoff
+ - Stefan hr Berder
+ - Micheal Cottingham (micheal)
+ - Dylan Delobel (dylandelobel)
+ - Shiraz (zpine)
+ - Edgar Brunet
+ - Jeff Zohrab
+ - CvekCoding
+ - Philippe Milot
+ - Gilles Gauthier
+ - Eöras
+ - lacpandore
+ - Emilio de la Torre (emiliodelatorrea)
+ - Terje Bråten
+ - Marcin Muszynski
+ - Robin Delbaere (rdelbaere)
+ - Albert Moreno
+ - Moroine Bentefrit
+ - Romain Petit
+ - Fabien Bourigault
+ - Daniele D'Angeli (erlangb)
+ - mervinmcdougall
+ - Olivier Acmos (olivier_acmos)
+ - mccullagh
+ - technetium
+ - Dimitri Labouesse
+ - Tyler King
+ - Piotr Grabski-Gradziński (piotrgradzinski)
+ - Iqbal Malik (iqbal_malik89)
+ - Lucas CHERIFI (kasifi)
+ - hidde.wieringa
+ - Peter Bottenberg
+ - Sofien NAAS
+ - Freerich Bäthge (freerich)
+ - Lopton
+ - MarkPedron
+ - JhonnyL
+ - grelu
+ - Russell Flynn (rooster)
+ - Malte Blättermann
+ - Lander Vanderstraeten
+ - Florian Moser
+ - Éric
+ - Arnaud Lejosne
+ - larsborn
+ - Steve Clay (mrclay)
+ - Pierre Pélisset (ppelisset)
+ - Tarjei Huse (symfony_cloud)
+ - Damien Fayet
+ - Lucas Mlsna
+ - Philippe Gamache (philippegamache)
+ - Cyanat
+ - Terje Bråten
+ - Vincent Chareunphol (devoji)
+ - Francisco Corrales Morales
+ - Florian CAVASIN
+ - Nic Wortel (nicwortel)
+ - Masaharu Suizu
+ - Luděk Uiberlay (ne0)
+ - Dominic Luechinger
+ - jsarracco
+ - Shevelev Vladimir (shevelev_vladimir)
+ - LiVsI
+ - Jalen Muller (jalenwasjere)
+ - Marc Straube
+ - Louis-Arnaud
+ - Adam Prancz (praad)
+ - Hubert Moutot (youbs)
+ - Jan Grubenbecher
+ - Younes OUASSI (youassi)
+ - kolossa
+ - eric fernance (ericrobert)
+ - Alexandre Balmes (pocky)
+ - Aaron Baker
+ - SquareInnov
+ - dellamowica
+ - Caliendo Julien
+ - Damien Tournoud
+ - Eike Send
+ - Robin Brisa
+ - Kevin Boyd
+ - Raistlfiren
+ - Daniel Klein
+ - Bruce Phillips
+ - LICKEL Gaetan (cilaginept)
+ - Jacek (opcode)
+ - Baptiste Pizzighini (bpizzi)
+ - David D. (comxd)
+ - Tristan Pouliquen (tristanpouliquen)
+ - PululuK
+ - Jens Hassler
+ - Hylke
+ - Simon Schubert (simon-schubert)
+ - avanwieringen
+ - j00seph
+ - Ivan Nemets
+ - Benjamin Laugueux
+ - sgautier
+ - Kevin Mark
+ - Marijn Huizendveld
+ - Denis Brumann
+ - Alexandre GESLIN (rednaxe)
+ - Grzegorz Dembowski (gdembowski)
+ - Ramzi Abdelaziz (ramzi_a)
+ - PéCé
+ - Jess
+ - Matt Janssen
+ - Camille Jouan (ca-jou)
+ - Kerrial (kez)
+ - Lambert Beekhuis (lambertb)
+ - Nassim LOUNADI
+ - pamuche
+ - zuhair-naqvi
+ - Miguel Vilata (adder)
+ - Vladislav Lezhnev (livsi)
+ - Mark Smith (zfce)
+ - Michel Valdrighi (michelv)
+ - Martin Czerwinski
+ - Clayton
+ - Wojciech Sznapka
+ - Ludovic REUS
+ - David Desberg
+ - Adam Mikolaj (mausino)
+ - harcod
+ - cancelledbit
+ - Claude Ramseyer (phenix789)
+ - Gaurish Sharma
+ - Prathap
+ - sblaut
+ - Kirill Kotov
+ - BorodinDemid
+ - iamdto (iamdto)
+ - David Lumaye
+ - Pavel Shirmanov (genzo)
+ - Rodrigo Capilé (rcapile)
+ - Quentin Fahrner (renrhaf)
+ - James Isaac
+ - Pedro Piedade
+ - Edym Komlan BEDY (youngmustes)
+ - Xbird
+ - Milan Pavkovic
+ - Jonczyk
+ - Mbechezi Mlanawo
+ - Florimond Manca
+ - Ladislav Kubes
+ - bpiepiora
+ - Robert Brian Gottier
+ - Susheel Thapa
+ - Андрей
+ - Vincent Brouté
+ - Hugo Clergue
+ - Timo Tewes
+ - Dries Vints
+ - Piotr Stankowski
+ - Oliver Kossin
+ - Robert
+ - Alan Farquharson
+ - Bill Surgenor
+ - Pierre Arnissolle (arnissolle)
+ - Szilágyi Károly Bálint
+ - 6e0d0a
+ - Terence Eden
+ - Peter
+ - Mathias STRASSER
+ - Inori
+ - Artur
+ - ismail mezrani (imezrani)
+ - Luca Suriano (lucas05)
+ - michael schouman (metalmini)
+ - Hideki Okajima (okazy)
+ - Ronan Pozzi (treenity)
+ - Jeremiah Dodds
+ - Fabian Becker
+ - Tim Herlaud
+ - Michael Witten (micwit)
+ - r-ant-2468
+ - Prisacari Dmitrii
+ - Stephen Clouse
+ - fguimier
+ - Mykola Martynov (mykola)
+ - Timo Haberkern (thaberkern)
+ - Damien DE SOUSA (dades)
+ - Valyaev Ilya (rumours86)
+ - Dan Barrett (yesdevnull)
+ - Robin C
+ - Wouter
+ - Mathieu Capdeville
+ - Florian VANHECKE
+ - Zombaya
+ - Tim Jabs
+ - JT Smith
+ - Rudy Onfroy
+ - Patrick PawseyVale
+ - Michaël Dieudonné
+ - Ilya Bakhlin
+ - analogic
+ - lucchese-pd
+ - Philippe Villiers
+ - LavaSlider
+ - Aikaterine Tsiboukas
+ - New To Vaux
+ - Guillermo Quinteros (guquinteros)
+ - Hex Titan (hextitan)
+ - Norio Suzuki (suzuki)
+ - Michael COULLERET (20uf)
+ - Tristan LE GACQUE (tristanlegacque)
+ - Jérémy Halin
+ - Scott
+ - fishbone1
+ - lajosthiel
+ - pgorod
+ - E Ciotti
+ - Jeroen
+ - elescot
+ - vihuarar
+ - Tom Troyer
+ - Sébastien FUCHS
+ - Vilius Grigaliūnas
+ - Chloé B.
+ - Manuel Andreo Garcia
+ - cirrosol
+ - matthieudelmas
+ - Ahmed Abdou (ahmedaraby)
+ - Calin Pristavu (calinpristavu)
+ - Hatem Ben (hatemben)
+ - Robin Cawser (robcaw)
+ - Jorisros (jorisros)
+ - Michael Dwyer (kalifg)
+ - Mohamed YOUNES (medunes)
+ - Manuele Menozzi (mmenozzi)
+ - Robert Went (robwent)
+ - Greg (kl3sk)
+ - scottwarren
+ - Michael Klein (monbro)
+ - Christoph Wieseke
+ - Przemek Maszczynski
+ - Sam Hudson
+ - piet
+ - Petar Petković
+ - stormoPL
+ - Bartosz Tomczak
+ - A goazil
+ - Felix Stein
+ - Wojciech Kania
+ - Ian Gilfillan
+ - sakul95
+ - R1n0x
+ - Stéphane P
+ - rogamoore
+ - Jorge Sepulveda
+ - Lauri
+ - Simon Appelt
+ - broiniac
+ - Peter Hauke
+ - Fabian Freiburg
+ - Léo PLANUS
+ - Hari K T (harikt)
+ - Michel Chowanski (migo)
+ - M#3
+ - ymc-sise
+ - DKravtsov
+ - Alexandr Kalenyuk
+ - Andreas Schönefeldt
+ - Sorin Dumitrescu (sfdumi)
+ - artf
+ - Alireza Rahmani Khalili (alireza_rahmani)
+ - Maxim (big-shark)
+ - Dirk Luijk (dirkluijk)
+ - Adam Lee Conlin (hades200082)
+ - Petru Szemereczki (hktr92)
+ - Jan Heller (jahller)
+ - Tobias Berge
+ - Jérémie Samson (jsamson)
+ - Pascal de Vink (pascaldevink)
+ - A S M Sadiqul Islam (sadiq)
+ - Emil Santi (emilius)
+ - Darien
+ - Cédric Spalvieri (skwi)
+ - Damien Chedan (tcheud)
+ - Valter Carneiro da Silva Junior (valterjrdev)
+ - Gabriel Birke (chiborg)
+ - BETARI Amine (amine_ezpublish)
+ - Tyler Sommer (veonik)
+ - chance garcia
+ - Antonio de la Vega
+ - Archie Vasyatkin
+ - Brian
+ - Ben Thomas
+ - Grégory Quatannens (gscorpio)
+ - Corentin
+ - Jan Klan (janklan)
+ - Jonathan
+ - Peter Gasser
+ - Jorick
+ - Jamal Youssefi
+ - Volen Davidov
+ - CaDJoU
+ - Mohameth
+ - Dilantha Nanayakkara
+ - wazz42
+ - Brendan
+ - Massimo Giagnoni (mgiagnoni)
+ - Michael Phillips
+ - Brandon Mueller (fatmuemoo)
+ - LEFLOCH Jean-François (katsenkatorz)
+ - Luuk Scholten (lscholten)
+ - Matt Trask (matthewtrask)
+ - Paul Rijke (parijke)
+ - Anthony FACHAUX
+ - Paul Ferrett (paulf)
+ - Ronan Guilloux (ronan)
+ - David Ward (roverwolf)
+ - helmi dridi
+ - Marco Woehr
+ - Ali Sunjaya
+ - iarro
+ - Clément Barbaza
+ - Alexander Diebler
+ - Tom Egan
+ - Peter
+ - Dean Clatworthy
+ - Zoltan Toth-Czifra
+ - Juan Riquelme
+ - Mike Zukowsky
+ - Quentin Boulard
+ - vmarquez
+ - Talita Kocjan Zager (paxyknox)
+ - Sander Bol
+ - Son Tung PHAM
+ - Volker Thiel
+ - Raggok
+ - Benoît
+ - marco-pm
+ - VladZernov
+ - Julien RAVIA
+ - Robert Nagy
+ - Angelo Melonas (angelomelonas)
+ - nasaralla
+ - Rosemary Orchard
+ - Bruno Baguette (tournesol)
+ - Jean Pasdeloup
+ - Fabrice GARES (fabrice_g)
+ - Oliver Kossin
+ - Ignacio Aguirre
+ - German Bortoli (germanaz0)
+ - Patrik Csak
+ - Julien BENOIT
+ - Jason Aller (jraller)
+ - Ka (Karim Cassam Chenaï)
+ - e-weimann
+ - Greg Somers
+ - Andrej Rypo
+ - Matthias Noback (mnoback)
+ - heddi.nabbisen
+ - Marius-Liviu Balan (liv_romania)
+ - Brent Shaffer (bshaffer)
+ - Exalyon
+ - Maciej Łebkowski (mlebkowski)
+ - Javad Adib
+ - Jonas Wouters
+ - Lee Jorgensen (profmoriarty)
+ - Julien Gidel
+ - Ivan Gantsev
+ - Richard Perez (riperez)
+ - Antonio Spinelli
+ - Ross Deane (rossdeane)
+ - Pavel Jurecka
+ - Joel Clermont (jclermont)
+ - Brandin Chiu
+ - Sébastien Rogier (srogier)
+ - Arnaud Pflieger
+ - Roy Templeman
+ - Tobias Schmidt (tobias-schmidt)
+ - ehibes
+ - Jean-Philippe Dépigny
+ - Christian Weyand (weyandch)
+ - Romaxx
+ - I. Fournier
+ - Daan van Renterghem
+ - Alex Coventry
+ - Ali Yousefi (aliyousefi)
+ - lbraconnier2
+ - ghertko
+ - Francis Hilaire
+ - vgmaarten
+ - Godfrey Laswai
+ - Stefan Topfstedt
+ - Nathan Vonnahme
+ - Quentin Brunet
+ - Robert Freigang (robertfausk)
+ - faissaloux
+ - oyerli
+ - Guillaume Ponty
+ - Jan Pieper
+ - Chris Johnson
+ - Tommi
+ - b0nd0
+ - andybeak
+ - Pierre-Jean Leger
+ - vindby23
+ - Damien
+ - Florian Blond (fblond)
+ - Christophe Willemsen (kwattro)
+ - guidokritz
+ - sofany
+ - FindAPattern
+ - Tom Haskins-Vaughan
+ - Kevin R
+ - Lance Bailey
+ - Dorozhko Anton
+ - Jonathan Clark
+ - Giulio Lastra
+ - Ed Poulain
+ - wiese
+ - Nietono
+ - Mahdi Maghrooni
+ - Vimal Gorasiya
+ - Baptiste Langlade
+ - Gasmi Mohamed (mohamed_gasmi)
+ - Angelo Galleja (ga.n)
+ - TavoNiievez
+ - Michele Carino
+ - Gustavo Henrique Mascarenhas Machado
+ - jfhovinne
+ - Thomas from api.video
+ - guiditoito
+ - Francois CONTE
+ - Danny van Wijk (dannyvw)
+ - Rick Ogden
+ - Tomáš Tibenský
+ - Ivan Ternovtsiy
+ - Thomas Lemaire
+ - Adamo Crespi
+ - Christopher Vrooman
+ - de l'Hamaide
+ - xelan
+ - Henrik Christensen
+ - João Paulo Vieira da Silva
+ - rayrigam
+ - ipatiev
+ - Xavier Coureau
+ - George Zankevich
+ - David Frerich
+ - Kris
+ - Linas Merkevicius
+ - Peter Majmesku
+ - srich387
+ - Giuseppe Petraroli
+ - IamBeginnerC
+ - Yassine Hadj messaoud
+ - Oliver THEBAULT
+ - Arnaud
+ - Thomas Talbot
+ - Aurélien Thieriot
+ - abarke
+ - Benjamin Dos Santos
+ - Christopher Cardea
+ - ackerman
+ - RiffFred
+ - Idziak
+ - Krzysztof Nizioł
+ - alex00ds
+ - Michaël Mordefroy
+ - cvdwel
+ - Rafael Torres
+ - Ruben Petrosjan
+ - Filip Telążka
+ - Edward Kim
+ - Markus Mauksch
+ - Marko Mijailovic
+ - Théophile Helleboid - chtitux
+ - Vladimir Jimenez
+ - Daniel Wendler
+ - Kacper Gunia
+ - Arne
+ - Julien Humbert
+ - Rob Gagnon
+ - Nebojša Kamber
+ - pfleu
+ - Pouyan Azari
+ - Claudio Zizza
+ - Casey Heagerty
+ - kraksoft
+ - Claudio Galdiolo
+ - runephilosof-abtion
+ - zeggel
+ - Erik Trapman
+ - nicofrand
+ - markspare
+ - decima
+ - PHAS Developer
+ - Jonathan Cox
+ - Andrii Volin (angy_v)
+ - Florian Cellier (kark)
+ - Vincent Jousse
+ - jerzy-dudzic
+ - Szymon Dudziak
+ - Mario Alberto
+ - Ali Zahedi (aliz9271)
+ - Michel ANTOINE (antoin_m)
+ - Roman Martinuk
+ - bram vogelaar (attachmentgenie)
+ - Baptiste Pottier (baptistepottier)
+ - Benoît WERY (benoitwery)
+ - Boolean Type (boolean_type)
+ - Boris Sondagh (botris)
+ - Mickaël Bourgier (chapa)
+ - Cliff Odijk (cmodijk)
+ - Colin DeCarlo (colindecarlo)
+ - Andrew Martynjuk (crayd)
+ - Doug Smith (dcsmith)
+ - Jan Schütze (dracoblue)
+ - Damian Zabawa (dz)
+ - Dmitriy Fishman (fishmandev)
+ - Georgiana Gligor (gbtekkie)
+ - oussama khachiai (geekdos)
+ - Gonzalo Alonso (gonzakpo)
+ - Daniel Kucharski (inspiran)
+ - Maxime Doutreluingne (maxdoutreluingne)
+ - Ashen one (berbadger)
+ - Jay Williams (jaywilliams)
+ - Jelmer Snoeck (jelmersnoeck)
+ - Jeroen v.d. Gulik (jeroen)
+ - Janne Vuori (jimzalabim)
+ - Kane Menicou (kane_menicou)
+ - Dmitry Kolesnikov (kastaneda)
+ - Tommy Quissens (quisse)
+ - Arnaud B (krevindiou)
+ - Loïc Sapone (loic_sapone)
+ - Kostas Loupasakis (loupax)
+ - Markus Thielen (mathielen)
+ - Mehmet Gökalp (mehgokalp)
+ - gertdepagter
+ - Cyril Krylatov
+ - Michal Landsman
+ - Oleksandr Savchenko (asavchenko)
+ - Michael Smith (michaelesmith)
+ - Ryszard Piotrowski (richardpi)
+ - Ludwig Ruderstaller (rufinus)
+ - Nuno Ferreira (nunojsferreira)
+ - Nuno Pereira (nunopereira)
+ - Oliver Davies (opdavies)
+ - ousmane NDIAYE (ousmane)
+ - Pierre-Yves Dick (pyrrah)
+ - Paulo Rodrigues Pinto (regularjack)
+ - Richard Perez (richardpq)
+ - Slaven (sbacelic)
+ - Urs Kobald (scopeli)
+ - Maximilian Ruta
+ - James Seconde (secondejk)
+ - Matthew Setter (settermjd)
+ - Stéphane HULARD (shulard)
+ - Simon Rolland (sim07)
+ - Simon Berton (simonberton11)
+ - Giovanni Gioffreda (tapeworm)
+ - Thierry Geindre (tgeindre)
+ - Daniel Ancuta (whisller)
+ - ameotoko
+ - Andrey Lukin (wtorsi)
+ - Yannick ROGER (yannickroger)
+ - Danilo Sanchi (danilo.sanchi)
+ - Markus Virtanen
+ - Sebastian Klaus
+ - Zamir Memmedov (zamir10)
+ - Eric Tucker
+ - Frank J. Gómez
+ - Alex Savkov
+ - Andy Truong
+ - Etilawin
+ - Pedro Cordeiro
+ - Michael Staatz
+ - Rick Burgess
+ - Christian Oellers
+ - Guilherme Donato
+ - NicolasPion
+ - Tomasz Ducin (tkoomzaaskz)
+ - Epskampie
+ - Joppe de Cuyper
+ - Jose R. Prieto
+ - Raphaël Riehl
+ - jakumi
+ - Vico Dambeck
+ - Christophe Boucaut
+ - yositani2002
+ - Danny
+ - runawaycoin
+ - lusavuvu
+ - Raphael Michel
+ - Samuel Wicky
+ - Petr Kessler
+ - Florian Belhomme
+ - KosticDusan4D
+ - linuxprocess
+ - Jon Eastman
+ - François MARTIN
+ - Chris8934
+ - Postal (postal)
+ - Peter WONG
+ - Robert Koller (robob4him)
+ - Mickaël Blondeau (mickael-blondeau)
+ - Hossein Vakili
+ - partulaj
+ - Rami Dridi
+ - Ahmed Bouras
+ - Martijn Zijlstra
+ - Vadim Bondarenko
+ - Justas Bieliauskas
+ - Aurélien MARTIN
+ - Kilian Schrenk
+ - Andreas Larssen
+ - Alex-D (alexd)
+ - saf (asd435)
+ - Benoît Durand (bdurand)
+ - Chase Noel (chasen)
+ - Roman (grn-it)
+ - Filip Grzonkowski (grzonu)
+ - Jason McCallister (jasonmccallister)
+ - Eugene Dounar
+ - Qiangjun Ran (jungle)
+ - michael kimsal (kimsal)
+ - Liang Jin Chao (leunggamciu)
+ - Vincent Terraillon (lou-terrailloune)
+ - Vladimir Schmidt (morgen)
+ - Linas Linartas (linas_linartas)
+ - Timur Murtukov (murtukov)
+ - Nikola Kuzmanović (nkuzman)
+ - Eirik Alfstad Johansen (nmeirik)
+ - Chabbert Philippe (philippechab)
+ - Konstantin (phrlog)
+ - Rodrigo Rigotti Mammano (rodrigorigotti)
+ - Yosip Curiel (snake77se)
+ - Stefan Grootscholten (stefan_grootscholten)
+ - Matthieu Braure (taliesin)
+ - Prakash Thapa (thapame)
+ - Arnaud VEBER (veberarnaud)
+ - Sarah-eit
+ - sebgarwood-gl
+ - Lacy (200ok)
+ - Serge Velikanov
+ - Richard Miller
+ - Christian Kolb (liplex)
+ - Thomas BILLARD
+ - Pascal MONTOYA (pmontoya)
+ - Julien EMMANUEL
+ - Dominik Pietrzak
+ - Jordan Bradford
+ - renepupil
+ - wadjeroudi
+ - Eliú Timaná
+ - Andrey Melnikov
+ - Vincent
+ - fb-erik
+ - Quentin Thiaucourt (quentint)
+ - Ala Eddine khefifi
+ - Cosmic Mac
+ - Thibaut Leneveu
+ - Oliver Adria
+ - Walkoss
+ - Andrey Tkachenko
+ - AntoineRoue
+ - Jules Lamur
+ - Virginia Meijer
+ - Jannik
+ - Pierre Spring
+ - Crushnaut
+ - Shaun Simmons (simshaun)
+ - andrecadete
+ - David Schmidt
+ - Cesare
+ - fernandokarpinski
+ - Jordi Freixa Serrabassa
+ - Kiel Goodman
+ - Constantin Ross
+ - sebpacz
+ - Josef Vitu
+ - Paul Coudeville
+ - Jarosław Jakubowski (egger1991)
+ - Paweł Małolepszy (pmalolepszy)
+ - Guillaume MOREL
+ - Émile PRÉVOT
+ - xavierkaitha94
+ - obsirdian
+ - Mickael GOETZ
+ - Valentin GRAGLIA
+ - figaw
+ - ThamiSadouk
+ - Charly
+ - phiamo
+ - Gytis Šk
+ - Илья
+ - Arnaud Lemercier
+ - Anani Ananiev
+ - Egidijus Girčys (egircys)
+ - DerStoffel
+ - Marek Szymeczko
+ - clément larrieu
+ - Ante Crnogorac
+ - Mike Bissett
+ - Epari Siva Kumar
+ - Matthias
+ - Giovanni Toraldo
+ - Andreas
+ - Halil Özgür
+ - Christopher
+ - illusionOfParadise
+ - niebaron
+ - Works Chan
+ - jordanjix
+ - dearaujoj
+ - Valerio Colella
+ - Robert Treacy (robwasripped)
+ - David Harding
+ - mocrates
+ - Andrei Petre
+ - Art Matsak
+ - asartalo
+ - Kevin Wojniak
+ - Volodymyr Stelmakh
+ - Morf
+ - Jan Myszkier
+ - manseuk
+ - Philipp Bräutigam
+ - tikoutare
+ - Kanat Gailimov
+ - Micha Alt
+ - Grégory SURACI
+ - Paweł Farys
+ - Punt
+ - Rafa Couto
+ - Gabriel Theron
+ - Ian Mustafa
+ - Thierry Goettelmann
+ - Sven Luijten
+ - Brendan Lawton
+ - Nikita
+ - Luca Lorenzini
+ - wbob
+ - Evgeniy Gavrilov
+ - Al Bunch
+ - Clorr
+ - Daniele Ambrosino
+ - tobiasoort
+ - Tymoteusz Motylewski
+ - fdarre
+ - Zenobius
+ - Mbechezi Mlanawo
+ - David McKay
+ - ipf
+ - Andrii Sukhoi
+ - Cory Becker
+ - Florian Moser
+ - Kolja Zuelsdorf
+ - MWJeff
+ - Andrius Ulinskas (andriusulins)
+ - Nico
+ - kruglikov
+ - Kevin Raynel
+ - DanielEScherzer
+ - Jay-Way
+ - Felipe Martins
+ - Lee Boynton
+ - Jeremy Emery
+ - beejaz
+ - tmihalik
+ - Steve Winter
+ - pcky
+ - Parthasarathi GK
+ - m_hikage
+ - norfil
+ - adreeun
+ - Giulio De Donato
+ - Sylvain Lelièvre
+ - Michaël Perrin
+ - Chris Halbert
+ - temenb
+ - Luc
+ - damienleduc
+ - Carwyn Moore
+ - Nico Schoenmaker
+ - Kevin
+ - GiveMeAllYourCats
+ - Matthew Thomas
+ - wkania
+ - EtienneHosman
+ - Matt Kirwan
+ - Daniel Kozák
+ - z38
+ - Bartek Nowotarski
+ - mimol91
+ - Daniel Santana
+ - Marius Balčytis
+ - Rick West
+ - Richard Hoar
+ - Reza
+ - Slobodan Stanic
+ - Alex Salguero
+ - manoakys
+ - Roberto Lombi
+ - Łukasz Korczewski
+ - rklaver
+ - Joe Thielen
+ - marcusesa
+ - Pierre Trollé
+ - Daniele Orler
+ - Cyril Mouttet (placid2000)
+ - Robert Parker (yamiko_ninja)
+ - Patrik Pacin
+ - Piotr Strugacz
+ - René Backhaus
+ - Kieran Black
+ - guesmiii
+ - Danny Witting
+ - morrsky
+ - Thibaut Selingue
+ - Dukagjin Surdulli
+ - Max R
+ - Etshy
+ - E Demirtas
+ - antoinediligent
+ - Geert Clerx
+ - Maciej Kosiarski
+ - royswale
+ - fberthereau
+ - Mark Fischer, Jr
+ - muxator
+ - Franz Holzinger
+ - Julian Wagner
+ - Deepak Kumar
+ - Nikolai Plath
+ - jeanhadrien
+ - Felix Schnabel
+ - Kevin Wojniak
+ - Pierre Bobiet
+ - Tobias Hermann
+ - Greg Pluta
+ - Dmitriy
+ - Michał Wujas
+ - Marco Barberis
+ - homersimpsons
+ - Tobias Sette
+ - Katharina Störmer
+ - Javier Espinoza
+ - Pierre
+ - Karin van den Berg
+ - Dhanushka Samarakoon
+ - Philipp Christen
+ - Serhii Polishchuk
+ - Alex Kyriakidis
+ - Ali Arfeen
+ - sebio
+ - Lamari Alaa
+ - jpache
+ - Nelson da Costa
+ - Med Ghaith Sellami
+ - Jake Bell
+ - Lars
+ - VisionPages
+ - Seikilos
+ - CodyFortenberry
+ - nietonfir
+ - Hugo Locurcio
+ - Romain GRELET
+ - Andréas Hanss
+ - sr972
+ - Adam Duffield
+ - Harry van der Valk
+ - pavemaksim
+ - aykin
+ - joelindix
+ - denniskoenigComparon
+ - Vitaliy Zurian
+ - Иван
+ - Ozan Akman
+ - Benjamin Porquet
+ - Alex Oroshchuk
+ - Pjotr Savitski
+ - Jean-David Daviet
+ - Olivier Lechevalier
+ - Leny BERNARD
+ - Michael H
+ - Hocdoc
+ - Gabriel Bugeaud
+ - Mikhail Kamarouski
+ - Sergey Belyshkin
+ - Cellophile
+ - Gaetan Rouseyrol
+ - scriptibus
+ - Jace25
+ - Sylvain Ferlac
+ - Kamil Breguła
+ - kevin
+ - Gennadi Janzen
+ - András Debreczeni
+ - Mustafa Ehsan Alokozay
+ - Marco
+ - Artem Henvald
+ - Nikita Nyatin
+ - David Baucum
+ - Jeroen Seegers
+ - Rémi Andrieux (pimolo)
+ - Veltar
+ - Matheus Pedroso
+ - marcagrio
+ - Gilles Fabio
+ - Kélian Bousquet
+ - TheSidSpears
+ - Ezequiel Esnaola
+ - GNi33
+ - Andrew Cherabaev
+ - Alexandre Bertrand
+ - peaceant
+ - Mohsen
+ - adreeun
+ - MaharishiCanada
+ - GoT
+ - Jesús Miguel Benito Calzada (beni0888)
+ - jdevinemt
+ - Piotr Potrawiak
+ - Yann Klis
+ - Christoph Schmidt
+ - zeroUno
+ - Mickaël
+ - jenyak
+ - Jan Richter
+ - Pinchon Karim
+ - Arndt H. Ziegler
+ - Xavier
+ - matteopoile
+ - dpfaffenbauer
+ - Oleg Zinchenko
+ - Menachem Korf
+ - proArtex
+ - fplante
+ - Ruslan
+ - Nelu Buga
+ - Rylix
+ - Arthur Hazebroucq
+ - JHGitty
+ - Pedro Gimenez
+ - Johan de Jager
+ - Thierry Thuon
+ - Stephan Dee
+ - Shamsi Babakhanov
+ - Charles Winebrinner
+ - timo002
+ - Xavier RIGAL
+ - Enache Codrut
+ - Vladimir Jimenez
+ - mismailzai
+ - radnan
+ - Iker Ibarguren
+ - Bartek Chmura
+ - Alessio Barnini
+ - Nicolas Mugnier
+ - Nitaco
+ - Alex Normand
+ - Fouad
+ - Lucas Pussacq
+ - Alexandre HUON
+ - apiotrowski
+ - vladyslavstartsev
+ - Christian Alexander Wolf
+ - Vladimir Gavrylov
+ - rschillinger
+ - The Phrenologist (phreno)
+ - tabbi89
+ - John Spaetzel
+ - Harald Leithner
+ - Reinier Butôt
+ - Levi Durfee
+ - Willem Stuursma-Ruwen
+ - Théo FIDRY
+ - Benj
+ - Maximilian Bosch
+ - richardmiller
+ - David
+ - Sakulbl
+ - Elbert van de Put
+ - antonioortegajr
+ - Florian Rusch
+ - zulkris
+ - Dzamir
+ - Boris Shevchenko
+ - Kevin Warrington
+ - Peyman Mohamadpour
+ - Quentin ADADAIN
+ - Andrei
+ - Robin Gloster
+ - Bram de Smidt
+ - Zahir Saad Bouzid
+ - Jonathan Holvey
+ - pavdovlatov
+ - Linus Karlsson
+ - Jason Johnstone
+ - Pim van Gurp
+ - Szurovecz János
+ - Υоаnn B
+ - Adiel Cristo
+ - BrnvrlUoeey
+ - beachespecially
+ - mbehboodian
+ - Sascha Egerer
+ - Martin Černý
+ - Yves ASTIER
+ - Dmitri Perunov
+ - Daniel Karp
+ - Laurent Marquet
+ - Jure Žitnik
+ - Bruno Casali
+ - Kevin de Heer
+ - fullbl
+ - Christian Heinrich
+ - Jose Diaz
+ - kohkimakimoto
+ - Faizan Shaikh
+ - Frederik Schubert
+ - Stacy Horton
+ - Sébastien Lourseau
+ - Nathan Giesbrecht
+ - Sebastian Bergmann
+ - Paweł Tekliński
+ - Michaël Demeyer
+ - AdrianBorodziuk
+ - Edwin
+ - ruslan-fidesio
+ - mvanmeerbeck
+ - phoefnagel
+ - ioanok
+ - Chris Bitler
+ - Mihail Kyosev (php_lamer)
+ - Alexey Rogachev
+ - Thomas LEZY
+ - Matěj Humpál
+ - Gintautas
+ - guangle
+ - Kwadz
+ - Gergely Pap
+ - sparrowek
+ - Travis Carden
+ - Guillaume Lasset
+ - Léo
+ - berbeflo
+ - Dmytro Bazavluk
+ - ismail BASKIN
+ - Simon Epskamp
+ - Theo Tzaferis
+ - Mantas Varatiejus
+ - Josh Kalderimis
+ - kallard1
+ - Alexander Dubovskoy
+ - hamzabas
+ - Leo
+ - sirprize
+ - VosKoen
+ - ubick
+ - Aurélien Morvan
+ - timglabisch
+ - Deng Zhi Cheng
+ - alexsaalberg049
+ - Dincho Todorov
+ - Mohammad
+ - Richard Tuin (rtuin)
+ - Gabriel Albuquerque
+ - John Doe
+ - Sven Liefgen
+ - Greg Berger
+ - Alex Soyer
+ - Clément
+ - Massimo Ruggirello
+ - Artem Ostretsov
+ - ondra
+ - Antonio Jesús
+ - Nextpage
+ - Robert Podwika
+ - Julien Janvier
+ - Dan Zera
+ - Elliot
+ - Francesco Abeni
+ - Denis Dudarev
+ - Rémy Issard
+ - hanneskaeufler
+ - progga
+ - Jevgenijus Andrijankinas
+ - concilioinvest
+ - Paweł Czyżewski
+ - Richard Lynskey
+ - Clement Ridoret
+ - Bob D'Ercole
+ - Erwann MEST (_kud)
+ - Abdellatif Derbel (abdellatif)
+ - Remi
+ - Mark Brennand (activeingredient)
+ - Adrián Ríos (adridev)
+ - Aaron Edmonds (aedmonds)
+ - Jérôme (ajie62)
+ - Alejandro García Rodríguez (alejgarciarodriguez)
+ - Alfonso Machado Benito (almacbe)
+ - Jérémy LEHERPEUR (amenophis)
+ - Amine Matmati (aminemat)
+ - Anand (anandagra)
+ - Andrew D Battye (andrew_battye)
+ - Atchia Mohammad Annas Yacoob (annas-atchia)
+ - Alexey Bakulin (bakulinav)
+ - Andries van den Berg (ansien12)
+ - Anthony Sterling (anthonysterling)
+ - Łukasz Bownik (arkasian)
+ - Arnaud Salvucci (arnucci)
+ - Andrey Shark (astery)
+ - Alexander Vorobiev (avorobiev)
+ - Aldo Zarza (azarzag)
+ - Babar Al-Amin (babar)
+ - Norman Soetbeer (battlerattle)
+ - Fabien Lasserre (fbnlsr)
+ - Behram ÇELEN (behram)
+ - Belgacem TLILI (belgacem)
+ - belghiti idriss (belghiti)
+ - Mathieu
+ - Sebastian G. (bestog)
+ - Clément Notin
+ - Dennis Bijsterveld (bijsterdee)
+ - Adam Boardman (boardyuk)
+ - Bartłomiej Zając (bzajac)
+ - Alistair (phiali)
+ - Catalin Criste (catalin)
+ - Alexander Kim
+ - Jean Pasqualini
+ - Catalin Minovici (catalin_minovici)
+ - Carlos Zuniga (charlieman)
+ - Christiaan Baartse (christiaan)
+ - V. K. (cn007b)
+ - Cosmin Mihai Sandu (cosminsandu)
+ - Kristof Coomans (cyberwolf)
+ - CHARBONNIER (cyrus)
+ - Dalius Kalvaitis (daliuskal)
+ - Davi Tavares Alexandre (davialexandre)
+ - David Negreira Rios (davidn)
+ - Derek Roth (derekroth)
+ - Abdelilah Boudi (devsf3)
+ - Timotheus Israel (dieisraels)
+ - Davor Plehati (dplehati)
+ - Alex Ghiban (drew7721)
+ - Dan Tormey (dstormey)
+ - Dmitry Vapelnik (dvapelnik)
+ - Marc Michot (eclae)
+ - Fatih Ergüven (erguven)
+ - Erwan Richard (erichard)
+ - Benjamin Toussaint
+ - Erik (erikroelofs)
+ - Sergey Falinsky (falinsky)
+ - Florian Semm (floriansemm)
+ - Fayez Naccache (fnash)
+ - Frank Stelzer (frastel)
+ - Gabriel Théron (g.theron)
+ - Simon Perdrisat (gagarine)
+ - Jérémy Jarrié (gagnar)
+ - Patrick Mota (ganon4)
+ - David Rolston (gizmola)
+ - Vadym (rvadym)
+ - Benjamin Hubert (gouaille)
+ - Greg Box (gregfriedrice)
+ - Victor Melnik (gremlin)
+ - Grzegorz Balcewicz (gbalcewicz)
+ - Guillaume Sylvestre (gsylvestre)
+ - Guillaume HARARI (guillaumeharari)
+ - Augustin Chateau (gus3000)
+ - Houssem ZITOUN
+ - Vladyslav Riabchenko
+ - Cristiano Cattaneo (ccattaneo)
+ - Daniel Platt (hackzilla)
+ - ABOULHAJ Abdelhakim (hakim_aboulhaj)
+ - Hans Stevens (hansstevens)
+ - Thomas Rudolph (holloway)
+ - Nik G (iiirxs)
+ - Tim Werdin
+ - Hugo Nicolas (jacquesdurand)
+ - Janko Diminic (jankod)
+ - Jonathan Lee (jclee2)
+ - Nico Th. Stolz (jeireff)
+ - Jose F. Calcerrada (jfcalcerrada)
+ - Jibé (jibe0123)
+ - jean-marie leroux (jmleroux)
+ - Joan Teixido (joanteixi)
+ - Joshua Morse (joshuamorse)
+ - James Cryer (jrcryer)
+ - Julien Chaumond (julien_c)
+ - Julius (julius1)
+ - rs
+ - Kenan Kahrić (kahric)
+ - Karsten Gohm (kasn)
+ - Kik Minev (kikminev)
+ - Kobe Vervoort (kobevervoort)
+ - Philip Ardery
+ - Konrad pap (konrados)
+ - Vincent AMSTOUTZ (vincent_amstz)
+ - Korstiaan de Ridder (korstiaan)
+ - Leonardo Losoviz (leoloso)
+ - Ricardo Peters (listerical)
+ - lobodol (lobodol)
+ - Louis Racicot (lord_stan)
+ - LOUVEL Mathieu (louvelmathieu)
+ - Maikel Ortega Hernández (maikeloh)
+ - imam harir (luxferoo)
+ - Joachim Martin (michaoj)
+ - Kevin Papst
+ - Pierre Maraitre
+ - Kévin LE LOUËR
+ - Marko Kunic (kunicmarko20)
+ - Eduardo Thomas Perez del Postigo (aruku)
+ - Paulius Masiliūnas (pauliuz)
+ - Fabian Becker
+ - seangallavan
+ - Maninder Singh (maninder)
+ - Rémy Vuong (rvuong)
+ - Manuel Agustín Ordóñez (manuel_agustin)
+ - Martijn Gastkemper (martijngastkemper)
+ - samson daniel (samayo)
+ - Martin Ninov (martixy)
+ - Manuel Transfeld
+ - Aleksander Cyrkulewski (martyshka)
+ - Sam Van der Borght (samvdb)
+ - Matthieu Danet (matthieu-tmk)
+ - Carlos Jimenez (saphyel)
+ - Maurice Svay (mauricesvay)
+ - Lorenzo Milesi (maxxer)
+ - Sylvester Saracevas (saracevas)
+ - Maximilien BERNARD (mb3rnard)
+ - Marius Büscher (mbuescher)
+ - Sebastián Poliak (sebastianlpdb)
+ - Mindaugas Liubinas (meandog)
+ - AntoJ (merguezzz)
+ - Csaba Maulis (senki)
+ - Simone Gentili (sensorario)
+ - Sergey Podgornyy (sergey_podgornyy)
+ - Marcel Serra Julià (serrajm)
+ - Sethunath K (sethunath)
+ - Woody Gilk (shadowhand)
+ - Wil Moore (wilmoore)
+ - Shambhu Kumar (shambhu384)
+ - Yuri Tkachenko (tamtamchik)
+ - Simon Van Accoleyen (simonvanacco)
+ - Slava Belokurski (slavchoo)
+ - Pol Romans (snamor)
+ - Steven Chen (squazic)
+ - Stefan Blanke (stedekay)
+ - Nicolae Astefanoaie (stelu26)
+ - Paris mikael (stood)
+ - Stanislav Zakharov (strannik)
+ - Sven (svdv22)
+ - Patrik Gmitter (patie)
+ - Sven Zissner (svenzissner)
+ - Artur 'Wodor' Wielogorski
+ - Jeroen
+ - Panda INC (pandalowry)
+ - Kevin Pires (takiin)
+ - Björn Fromme (bjo3rn)
+ - Gabriel Pillet (tentacode)
+ - Toni Conca (tonic)
+ - Tom Schuermans (tschuermans)
+ - Attila Egyed (tsm)
+ - Unai Roldán (unairoldan)
+ - Varun Agrawal (varunagw)
+ - Josh Freeman (viion)
+ - Marvin Butkereit
+ - Vivien Tedesco (vivient)
+ - skipton-io
+ - Daniel (voodooprograms)
+ - WILLEMS Laurent (willemsl)
+ - Willem-Jan Zijderveld (wjzijderveld)
+ - Wojciech Międzybrodzki (wojciechem)
+ - Alexandre Mallet (woprrr)
+ - Paulius Podolskis (wsuff)
+ - xthiago (xthiago)
+ - Karel (xwb)
+ - Daniel LIma (yourwebmaker)
+ - Yuriy Sergeev (youser)
+ - Ziad Jammal (ziadjammal)
+ - Zsolt Javorszky (zsjavorszky)
+ - Ivan Zugec (zugec)
+ - Lukas W
+ - babache
+ - zan-vseved
+ - manu-sparheld
+ - ArlingtonHouse
+ - Gus
+ - Reza Rabbani
+ - yordandv
+ - mehlichmeyer
+ - Jens Pliester
+ - Benjamin Sureau
+ - Krap
+ - David Vigo
+ - KalleV
+ - Christopher Tatro
+ - Pooyan Khanjankhani
+ - Ellis Benjamin
+ - Sam Jarrett
+ - Sela
+ - Nelson da Costa
+ - Andrea Bergamasco (vjandrea)
+ - Axel Vankrunkelsven
+ - snroki
+ - jivot
+ - miqrogroove
+ - Oussama GHAIEB (oussama_tn)
+ - Thao Nguyen (thaowitkam)
+ - Christophe Meneses
+ - Sudhakar Krishnan
+ - Michaël Perrin
+ - Kevin
+ - Kevin
+ - Christian Schaefer (caefer)
+ - Hugo Casabella (casahugo)
+ - Charles Pourcel (ch.pourcel)
+ - Stephan Savoundararadj (lkolndeep)
+ - Jon Cave
+ - Travis Yang (oopsfrogs)
+ - Francisco Javier Aceituno (javiacei)
+ - Jo Meuwis (jo_meuwis)
+ - Joel Costa (joelrfcosta)
+ - Maxim Spivakovksy (lazyants)
+ - Lucian Tugui (luciantugui)
+ - Mehdi Tazi (mehditazi9)
+ - Michał (mleczakm)
+ - Gyula Szabó (szabogyula)
+ - Tomas Nemeikšis (niumis)
+ - tamir van-spier (tamirvs)
+ - Joe Mizzi (themizzi)
+ - Thomas Lomas (tomlomas)
+ - Kristijan Stipić (stipic)
+ - Poulette Christophe (totof6942)
+ - Omar Brahimi (omarbrahimi)
+ - Sebastian Blum (sebiblum)
+ - makmaoui
+ - Olivier Revollat (o_revollat)
+ - juliendidier
+ - Michael Cullum (unknownbliss)
+ - Vincent Amstoutz
+ - Aurélien ADAM (aadam)
+ - Arnaud Thibaudet (kojiro)
+ - Alessandro Podo
+ - Fabien Schurter
+ - Michał Szczech (miisieq)
+ - Carlos Reig (statu)
+ - Nico Hiort af Ornäs
+ - Ian Kevin Irlen (kevinirlen)
+ - ifiroth
+ - Jordan Aubert (jordanaubert)
+ - Nicolas GIRAUD (niconoe)
+ - Romain Card
+ - Ilya Bakhlin Lebedev
+ - Alessandro Podo
+ - Hamza Makraz
+ - Pierre MORADEI
+ - Julien "Nayte" Robic
+ - Niklas
+ - Turdaliev Nursultan (nurolopher)
+ - Shamil Nunhuck (shamil)
+ - Bart Vanderstukken (sneakyvv)
+ - Spomky
+ - Thomas Choquet (tchoquet)
+ - Marcus Stöhr
+ - Denis Rendler
+ - Simon Daigre (simondgre)
+ - Markus Weiland (advancingu)
+ - Matheo D
+ - romain
+ - Jacob Tobiasz (jakubtobiasz)
+ - Maxime Douailin
+ - Jean-François Lépine (halleck45)
+ - Sait KURT (deswa)
+ - Maarten de Keizer (maartendekeizer)
+ - Marwâne (beamop)
+ - Jannes Drijkoningen (jannesd)
+ - Kilian Riou (redheness)
+ - Alexandre Gérault (alexandre-gerault)
+ - Thomas Choquet (chqthomas3)
+ - Григорий
+ - Barun
+ - Zéfyx
+ - Pierre Sv (rrr63)
+ - Denis Soriano (dsoriano)
+ - Laurent Marquet
+ - Daniel Garzon (arko)
+ - Kevin T'Syen (noscope)
+ - Nehal Gajjar
+ - jmangarret
+ - norbert-n
+ - Vladimir
+ - Thomas (razbounak)
+ - Aymen Bouchekoua (nightfox)
+ - Jan
+ - Augustin Delaporte
+ - asandjivy
+ - YummYume
+ - Leanna Pelham
+ - Daniel F. (ragtek)
+ - Adrien LUCAS
+ - twisted1919
+ - fbuchlak
+ - Kevin
+ - Mrtn Schndlr
+ - Ricardo Rentería
+ - Sven Petersen
+ - Yoan Bernabeu
+ - Simon Riedmeier (simonsolutions)
+ - Steven DUBOIS (stevenn)
+ - Colin Poushay (poush)
+ - Hugo Seigle
+ - Hendrik Pilz (hendrikpilz)
+ - Rick Kuipers
+ - Vancoillie
+ - optior
+ - Christoph Grabenstein
+ - Benoit Jouhaud (bjouhaud)
+ - David
+ - matheo
+ - Jan Christoph Beyer
+ - Josenilton Junior (zavarock)
+ - kempha
+ - Simon
+ - Marie CHARLES (mariecharles)
+ - Matijn Woudt
+ - Valentin GARET (vgaret)
+ - Nicolas Rigaud
+ - Jonathan Huteau (jonht)
+ - Pierre Joye (pierre)
+ - lucbu
+ - Bastien70
+ - Zbigniew Czapran (zczapran)
+ - Sander Verkuil (sander-verkuil)
+ - Fabien (fabiencambournac)
+ - VelvetMirror
+ - Bryan J. Agee
+ - Niels Vermaut (nielsvermaut)
+ - Fabien Papet
+ - yoye
+ - Игорь Дмитриевич Чунихин (6insanes)
+ - Stephan
+ - Krzysztof Ilnicki (poh)
+ - Cassian Assael (crozet)
+ - Matthew Ratzke (flyboarder)
+ - Sven Scholz
+ - Guillaume PARIS (gparis)
+ - Xavier Laviron (norival)
+ - Michael Grinko
+ - Phil Wright- Christie (philwc)
+ - Edson Medina
+ - Denys Pasishnyi (dpcat237)
+ - Plamen
+ - (H)eDoCode
+ - Maximilian
+ - Iv Po
+ - Greg Berger
+ - Frédéric Lesueurs
+ - Matthieu Renard
+ - Jonas De Keukelaere
+ - Luc Hidalgo (luchidalgo)
+ - Julien Dubois
+ - Ondrej Vana (kachnitel)
+ - Marchegay (xaviermarcheay)
+ - Maxime Steinhausser
+ - Bart Heyrman
+ - Morgan Thibert (o0morgan0ol)
+ - Baptiste Fotia (zak39)
+ - LesRouxDominerontLeMonde
+ - Yoann B (yoann)
+ - Johan de Jager (dejagersh)
+ - Jacob Dreesen
+ - Marco Polichetti
+ - Joe
+ - Jérémy CROMBEZ
+ - Raphaël Davaillaud
+ - vesselind
+ - Joseph Bielawski
+ - Yannick
+ - Nieck Moorman
+ - John Ballinger
+ - Bob van de Vijver
+ - github-actions[bot]
+ - Nicolas Lœuillet (nicosomb)
+ - Antoine Durieux (adurieux)
+ - Roger Webb (webb.roger)
+ - sander Haanstra (milosa)
+ - Denis (ruff3d)
+ - Pierre-Emmanuel CAPEL (pecapel)
+ - Lucas Courot (lucascourot)
+ - Pavel Nemchenko (nemoipaha)
+ - Jerome Guilbot (papy_danone)
+ - Adam
+ - Ahmed Siouani (ahsio)
+ - matthieu88160
+ - Grant Gaudet
+ - bdujon
+ - Simon BLUM (simonblum)
+ - Tom Schwiha (tomschwiha)
+ - Thomas Miceli (tomus)
+ - stehled
+ - healdropper
+ - Sebastian Kuhlmann (zebba)
+ - Saidou GUEYE
+ - Yoan Arnaudov (nacholibre)
+ - Florian
+ - Michael Petri (michaelpetri)
+ - Levin
+ - Mark Deanil Vicente (dvincent3)
+ - Laurent Moreau (laulibrius)
+ - Robin Weller
+ - Benjamin Zaslavsky
+ - Mart Kop
+ - Ruud Kamphuis
+ - Dmytro
+ - Yakov Lipkovich
+ - Fabien Bourigault
+ - Leonard Simonse
+ - Rhodri Pugh
+ - Tristan Darricau
+ - John Williams
+ - Nadim AL ABDOU
+ - Mateusz Anders
+ - Wanne Van Camp
+ - Jasperator
+ - anton
+ - Marius Adam
+ - Vladimir Jimenez
+ - Robin
+ - Gary Kovar
+ - Jalen
+ - Tomi Saarinen (tomis)
+ - Issam KHADIRI (ikhadiri)
+ - Wagner Nicolas (n1c01a5)
+ - Lorenzo Ruozzi (lruozzi9)
+ - Marko Kaznovac
+ - DOEO
+ - Marc Wustrack (muffe)
+ - Loïc Caillieux (loic.caillieux)
+ - Alexey Pyltsyn (lex111)
+ - benti
+ - Dennis de Best (monsteroreo)
+ - Ludwig Bayerl (lbayerl)
+ - Carlos Sánchez (carlossg00)
+ - Darien Hager
+ - Jérémy Jumeau (jeremyjumeau)
+ - Paweł Krynicki (kryniol)
+ - Tamás Molnár (moltam)
+ - Robin Willig (dragonito)
+ - Robert Parker (yamiko)
+ - Pedro Nofuentes (pedronofuentes)
+ - mojzis
+ - Fanny Gautier
+ - Alexey Samara
+ - gong023
+ - Jan Dorsman
+ - xaav
+ - Aurelijus Banelis (aurelijusb)
+ - Christophe Debruel (krike06)
+ - shkkmo
+ - Yaroslav Kiliba
+ - Tony Cosentino
+ - burki94
+ - Kostya
+ - alexchuin
+ - Szyszewski
+ - Nils Silbernagel
+ - Adrien
+ - Andrei Chugunov
+ - Jan G. (jan)
+ - Ahmed Raafat (luffy14)
+ - azielinski
+ - Thibault Gattolliat (crovitche)
+ - Dimitar
+ - Florent Destremau
+ - Marc Neuhaus (mneuhaus)
+ - Niklas Grießer
+ - Cullen Walsh
+ - damien-louis
+ - Olena Kirichok
+ - Julian Mallett (jxmallett)
+ - Romain Norberg
+ - Steven
+ - hector prats (jovendigital)
+ - Koen van Wijnen (infotracer)
+ - Michael Y Kopinsky (mkopinsky)
+ - Roger Llopart Pla (lumbendil)
+ - David Zuelke (dzuelke)
+ - Abdelkader Bouadjadja (medinae)
+ - Eduardo Gulias Davis
+ - Dmitry Vishin (wishmaster)
+ - Alfonso M. García Astorga (alfonsomga)
+ - José María Sanchidrián (sanmar)
+ - Diego Gullo (bizmate)
+ - martin05
+ - Bruno Vitorino
+ - Noel
+ - beram (beram)
+ - Markus Mauksch
+ - Mitchell
+ - Avindra Goolcharan
+ - Florent
+ - roga
+ - Timon F. (timon)
+ - Denis-Florin Rendler
+ - Titouan B
+ - IlhamiD
+ - Alexander Marinov
+ - Manoj Kumar
+ - Nazar Mammedov
+ - Maxime Nicole
+ - pecapel
+ - Cadot.eu & Co.
+ - Matthias Gutjahr (mattsches)
+ - Dan Abrey
+ - Matthieu Lempereur (matthieulempereur)
+ - Sylvain Blondeau
+ - Maelan LE BORGNE (maelanleborgne)
+ - jmsche
+ - Rutger
+ - Tim Glabisch
+ - g@8vue.com
+ - danjamin
+ - Ondřej Vodáček
+ - mark2016
+ - Petr (rottenwood)
+ - Łukasz Pior (piorek)
+ - revollat
+ - Jorick Pepin (jorick)
+ - micter59
+ - unknown
+ - Rob
+ - Tajh Leitso (tajh)
+ - Wolfgang Weintritt (wolwe)
+ - Bram van Leur (bvleur)
+ - BooleanType
+ - Luke Kysow
+ - Zac Sturgess (zsturgess)
+ - t.le-gacque
+ - Hugo Locurcio
+ - Mohd Shakir Zakaria (mohdshakir)
+ - Yohann Durand (yohann-durand)
+ - Konstantin Tjuterev (kostiklv)
+ - Alexandru Furculita ♻
+ - amelie le coz (amelielcz)
+ - Thibaud BARDIN (irvyne)
+ - Jérémy BLONDEAU (jblondeau2)
+ - Adoni Pavlakis
+ - valepu
+ - Hans Allis (hansallis)
+ - Marek Brieger (polmabri)
+ - Lluis Toyos (tolbier)
+ - Jarvis Stubblefield (ballisticpain)
+ - Mathieu Ducrot (mathieu-ducrot)
+ - Daniel Santana
+ - Adam W (axzx)
+ - Francisco Calderón (fcalderon)
+ - HONORE HOUNWANOU (mercuryseries)
+ - yanickj
+ - Evan Owens
+ - S Berder
+ - Félix Fouillet
+ - Tobias Berchtold
+ - Pavel Bezdverniy
+ - Dr. Balazs Zatik
+ - Carsten Blüm (bluem)
+ - Omer Karadagli (omer)
+ - OrangeVinz (orangevinz)
+ - ThomasGallet
+ - Jarek Ikaniewicz
+ - Daniel Degasperi (ddegasperi)
+ - Milan (milan)
+ - Patrick Bußmann
+ - Kamil Kuzminski (qzminski)
+ - Happy (ha99ys)
+ - AlexKa
+ - Foksler (foksler)
+ - Sacha Durand (sacha_durand)
+ - Tom Grandy
+ - Epskampie
+ - Francesco Tassi (ftassi)
+ - Jason Bouffard (jpb0104)
+ - Katharina Floh (katharina-floh)
+ - Christopher
+ - Nicolas Hart (nclshart)
+ - Christopher Moll
+ - Gianluca Farinelli (rshelter)
+ - Jorge Luis Betancourt (jorgelbg)
+ - Yannick (yannickdurden)
+ - Dynèsh Hassanaly (dynesh)
+ - Tom Maaswinkel (thedevilonline)
+ - Thibault Miscoria (tmiscoria)
+ - Alexpts (alexpts)
+ - Michiel Missotten (zenklys)
+ - Benjamin Clay (ternel)
+ - Mark Challoner
+ - Jacob Mather (jmather)
+ - Fabien Bourigault
+ - Adil YASSINE ✌️ (sf2developer)
+ - Savvas Alexandrou (savvasal)
+ - Tim Jabs
+ - LucileDT
+ - Open Orchestra (open-orchestra)
+ - Salavat Sitdikov (sitsalavat)
+ - Iulian Popa (iulyanp)
+ - AmalricBzh
+ - htmlshaman1
+ - Aleksandr Frolov (thephilosoft)
+ - Valantis Koutsoumpos
+ - Slava Fomin II (s-fomin)
+ - Raúl Continente (raulconti)
+ - Daniel West (silverbackdan)
+ - Martin Bens
+ - Robert
+ - Ross Cousens
+ - Murilo Lobato (murilolobato)
+ - Tim Krase
+ - Kendrick
+ - Bastien Picharles (kleinast)
+ - Metfan (metfan)
+ - Sylvain Combes (sylvaincombes)
+ - Daniel Haaker (dhaaker)
+ - Mark (markchicobaby)
+ - Lenkov Michail (alchimik)
+ - Florent DESPIERRES (fdespierres)
+ - Anton
+ - Cyril Lussiana
+ - Valentin Silvestre (vasilvestre)
+ - Vincent Le Biannic
+ - Adam Szaraniec (mimol)
+ - Abdellah Ramadan (abdellahrk)
+ - Tim Hovius (timhovius)
+ - Julian (c33s)
+ - Ryan Castle (ryancastle)
+ - Chad Meyers (nobodyfamous)
+ - Ben Huebscher (huebs)
+ - William JEHANNE (william_jehanne)
+ - mhor (mhor)
+ - richardudovich
+ - pathmissing
+ - Soltész Balázs
+ - Ben Glassman (benglass)
+ - Thomas Botton (skeud)
+ - Mohammed Rhamnia (rmed19)
+ - Thomas Talbot
+ - Douglas Naphas
+ - Ilya Antipenko
+ - karzz
+ - Markus Frühauf
+ - Damien Carrier (mirakusan)
+ - Nassim
+ - Enzo Santamaria
+ - Jonathan Finch
+ - Herbert Muehlburger
+ - Dawid Królak (taavit)
+ - Toni Peric
+ - Danil Pyatnitsev (pyatnitsev)
+ - Julien Bonnier (jbonnier)
+ - Geert Eltink
+ - Martin Melka
+ - Bert Van de Casteele
+ - Olivier Bacs (obax)
+ - Ayyoub BOUMYA (aybbou)
+ - Phil Moorhouse (lazymanc)
+ - Dorthe Luebbert (luebbert42)
+ - Sylvain
+ - Michelle Sanver (michellesanver)
+ - Rafael Mello (merorafael)
+ - Arthur Hazebroucq
+ - Michel D'HOOGE (mdhooge)
+ - Yair Silbermintz (mrglass)
+ - Patrick McAndrew (patrick)
+ - Kirill Baranov (u_mulder)
+ - Mynyx
+ - Artur Weigandt
+ - Baptiste Langlade
+ - Amitay Horwitz (amitayh)
+ - Manel Sellés (manelselles)
+ - ahinkle
+ - Lucas Nothnagel (scriptibus)
+ - Egidijus Gircys
+ - fridde
+ - Evgeniy Guseletov (dark)
+ - Edoardo Rivello (erivello)
+ - Malte N (hice3000)
+ - Elias Van Ootegem
+ - Boissinot (pierreboissinotlephare)
+ - Jan De Coster
+ - Sam Hudson
+ - Marcus Schwarz
diff --git a/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php b/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php
index ea1ecfbd60b05..b6de4be534f7f 100644
--- a/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php
+++ b/src/Symfony/Bridge/Doctrine/Middleware/Debug/Driver.php
@@ -36,7 +36,7 @@ public function connect(array $params): ConnectionInterface
{
$connection = parent::connect($params);
- if ('void' !== (string) (new \ReflectionMethod(DriverInterface\Connection::class, 'commit'))->getReturnType()) {
+ if ('void' !== (string) (new \ReflectionMethod(ConnectionInterface::class, 'commit'))->getReturnType()) {
return new DBAL3\Connection(
$connection,
$this->debugDataHolder,
diff --git a/src/Symfony/Bridge/Doctrine/Middleware/IdleConnection/Listener.php b/src/Symfony/Bridge/Doctrine/Middleware/IdleConnection/Listener.php
index 11f7053c5f702..ad570821d7c76 100644
--- a/src/Symfony/Bridge/Doctrine/Middleware/IdleConnection/Listener.php
+++ b/src/Symfony/Bridge/Doctrine/Middleware/IdleConnection/Listener.php
@@ -14,6 +14,7 @@
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpKernel\KernelEvents;
final class Listener implements EventSubscriberInterface
@@ -29,6 +30,9 @@ public function __construct(
public function onKernelRequest(RequestEvent $event): void
{
+ if (HttpKernelInterface::MAIN_REQUEST !== $event->getRequestType()) {
+ return;
+ }
$timestamp = time();
foreach ($this->connectionExpiries as $name => $expiry) {
diff --git a/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php b/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php
index 79cc0f0a31a4d..dd1b4b2e765b3 100644
--- a/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php
+++ b/src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php
@@ -60,6 +60,7 @@ public function loadTokenBySeries(string $series): PersistentTokenInterface
$row = $stmt->fetchNumeric() ?: throw new TokenNotFoundException('No token found.');
[$class, $username, $value, $last_used] = $row;
+
return new PersistentToken($class, $username, $series, $value, new \DateTimeImmutable($last_used));
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php
index c726546536199..338363d0acf74 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php
@@ -74,8 +74,7 @@ public function testTransformReadableCollection()
3 => 'bar',
];
- $collection = new class($array) implements ReadableCollection
- {
+ $collection = new class($array) implements ReadableCollection {
public function __construct(private readonly array $array)
{
}
@@ -172,7 +171,7 @@ public function getIterator(): \Traversable
public function count(): int
{
- return count($this->array);
+ return \count($this->array);
}
};
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Middleware/IdleConnection/ListenerTest.php b/src/Symfony/Bridge/Doctrine/Tests/Middleware/IdleConnection/ListenerTest.php
index 099ab48777133..72fa7e068f67c 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Middleware/IdleConnection/ListenerTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Middleware/IdleConnection/ListenerTest.php
@@ -9,13 +9,14 @@
* file that was distributed with this source code.
*/
-namespace Middleware\IdleConnection;
+namespace Symfony\Bridge\Doctrine\Tests\Middleware\IdleConnection;
use Doctrine\DBAL\Connection as ConnectionInterface;
use PHPUnit\Framework\TestCase;
use Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
class ListenerTest extends TestCase
{
@@ -34,10 +35,24 @@ public function testOnKernelRequest()
->willReturn($connectionOneMock);
$listener = new Listener($connectionExpiries, $containerMock);
+ $event = $this->createMock(RequestEvent::class);
+ $event->method('getRequestType')->willReturn(HttpKernelInterface::MAIN_REQUEST);
- $listener->onKernelRequest($this->createMock(RequestEvent::class));
+ $listener->onKernelRequest($event);
$this->assertArrayNotHasKey('connectionone', (array) $connectionExpiries);
$this->assertArrayHasKey('connectiontwo', (array) $connectionExpiries);
}
+
+ public function testOnKernelRequestShouldSkipSubrequests()
+ {
+ self::expectNotToPerformAssertions();
+ $arrayObj = $this->createMock(\ArrayObject::class);
+ $arrayObj->method('getIterator')->willThrowException(new \Exception('Invalid behavior'));
+ $listener = new Listener($arrayObj, $this->createMock(ContainerInterface::class));
+
+ $event = $this->createMock(RequestEvent::class);
+ $event->method('getRequestType')->willReturn(HttpKernelInterface::SUB_REQUEST);
+ $listener->onKernelRequest($event);
+ }
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php b/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php
index 53cbbb07a211c..230ec78dc23cf 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Security/RememberMe/DoctrineTokenProviderPostgresTest.php
@@ -1,5 +1,14 @@
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
namespace Symfony\Bridge\Doctrine\Tests\Security\RememberMe;
use Doctrine\DBAL\Configuration;
diff --git a/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php b/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
index 4aed1cd3a44c2..eb2e89b94dfb8 100644
--- a/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
+++ b/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
@@ -11,7 +11,6 @@
namespace Symfony\Bridge\Doctrine\Validator\Constraints;
-use Doctrine\ORM\Mapping\ClassMetadata as OrmClassMetadata;
use Doctrine\ORM\Mapping\MappingException as ORMMappingException;
use Doctrine\Persistence\ManagerRegistry;
use Doctrine\Persistence\Mapping\ClassMetadata;
@@ -294,7 +293,7 @@ private function getFieldValues(mixed $object, ClassMetadata $class, array $fiel
throw new ConstraintDefinitionException(\sprintf('The field "%s" is not a property of class "%s".', $fieldName, $objectClass));
}
- if ($isValueEntity && $object instanceof ($class->getName()) && property_exists(OrmClassMetadata::class, 'propertyAccessors')) {
+ if ($isValueEntity && $object instanceof ($class->getName()) && property_exists($class, 'propertyAccessors')) {
$fieldValues[$entityFieldName] = $class->propertyAccessors[$fieldName]->getValue($object);
} elseif ($isValueEntity && $object instanceof ($class->getName())) {
$fieldValues[$entityFieldName] = $class->reflFields[$fieldName]->getValue($object);
diff --git a/src/Symfony/Bridge/Doctrine/composer.json b/src/Symfony/Bridge/Doctrine/composer.json
index 9d95a8af14ca7..bebf7276a99dc 100644
--- a/src/Symfony/Bridge/Doctrine/composer.json
+++ b/src/Symfony/Bridge/Doctrine/composer.json
@@ -39,7 +39,7 @@
"symfony/security-core": "^6.4|^7.0",
"symfony/stopwatch": "^6.4|^7.0",
"symfony/translation": "^6.4|^7.0",
- "symfony/type-info": "^7.1",
+ "symfony/type-info": "^7.1.8",
"symfony/uid": "^6.4|^7.0",
"symfony/validator": "^6.4|^7.0",
"symfony/var-dumper": "^6.4|^7.0",
diff --git a/src/Symfony/Bridge/Twig/Command/LintCommand.php b/src/Symfony/Bridge/Twig/Command/LintCommand.php
index 5472095238a12..d7f8831895c50 100644
--- a/src/Symfony/Bridge/Twig/Command/LintCommand.php
+++ b/src/Symfony/Bridge/Twig/Command/LintCommand.php
@@ -55,7 +55,7 @@ protected function configure(): void
->addOption('format', null, InputOption::VALUE_REQUIRED, \sprintf('The output format ("%s")', implode('", "', $this->getAvailableFormatOptions())))
->addOption('show-deprecations', null, InputOption::VALUE_NONE, 'Show deprecations as errors')
->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
- ->addOption('excludes', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Excluded directories', [])
+ ->addOption('excludes', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Excluded directories', [])
->setHelp(<<<'EOF'
The %command.name% command lints a template and outputs to STDOUT
the first encountered syntax error.
diff --git a/src/Symfony/Bridge/Twig/Extension/FormExtension.php b/src/Symfony/Bridge/Twig/Extension/FormExtension.php
index ec552d7c622ef..c7b4166b5d8bb 100644
--- a/src/Symfony/Bridge/Twig/Extension/FormExtension.php
+++ b/src/Symfony/Bridge/Twig/Extension/FormExtension.php
@@ -155,7 +155,7 @@ private function createFieldChoicesList(iterable $choices, string|false|null $tr
continue;
}
- /* @var ChoiceView $choice */
+ /** @var ChoiceView $choice */
$translatableLabel = $this->createFieldTranslation($choice->label, $choice->labelTranslationParameters, $translationDomain);
yield $translatableLabel => $choice->value;
}
diff --git a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php
index 9d9bce1e64fcf..4a73c5ba67f66 100644
--- a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php
+++ b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php
@@ -28,7 +28,7 @@ final class FormThemeNode extends Node
public function __construct(Node $form, Node $resources, int $lineno, $only = false)
{
if (null === $only || \is_string($only)) {
- trigger_deprecation('symfony/twig-bridge', '3.12', 'Passing a tag to %s() is deprecated.', __METHOD__);
+ trigger_deprecation('symfony/twig-bridge', '7.2', 'Passing a tag to %s() is deprecated.', __METHOD__);
$only = \func_num_args() > 4 ? func_get_arg(4) : true;
} elseif (!\is_bool($only)) {
throw new \TypeError(\sprintf('Argument 4 passed to "%s()" must be a boolean, "%s" given.', __METHOD__, get_debug_type($only)));
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/Fixtures/StubTranslator.php b/src/Symfony/Bridge/Twig/Tests/Extension/Fixtures/StubTranslator.php
index 4c6e672a9af2d..cbbc42b9d196e 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/Fixtures/StubTranslator.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/Fixtures/StubTranslator.php
@@ -11,12 +11,19 @@
namespace Symfony\Bridge\Twig\Tests\Extension\Fixtures;
+use Symfony\Contracts\Translation\TranslatableInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
class StubTranslator implements TranslatorInterface
{
public function trans($id, array $parameters = [], $domain = null, $locale = null): string
{
+ foreach ($parameters as $k => $v) {
+ if ($v instanceof TranslatableInterface) {
+ $parameters[$k] = $v->trans($this, $locale);
+ }
+ }
+
return '[trans]'.strtr($id, $parameters).'[/trans]';
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
index 4dc86130a8cc5..0c6899328a2fc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
@@ -84,9 +84,9 @@ protected function execute(InputInterface $input, OutputInterface $output): int
['Architecture', (\PHP_INT_SIZE * 8).' bits'],
['Intl locale', class_exists(\Locale::class, false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a'],
['Timezone', date_default_timezone_get().' ('.(new \DateTimeImmutable())->format(\DateTimeInterface::W3C).'>)'],
- ['OPcache', \extension_loaded('Zend OPcache') ? (filter_var(\ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN) ? 'Enabled' : 'Not enabled') : 'Not installed'],
- ['APCu', \extension_loaded('apcu') ? (filter_var(\ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? 'Enabled' : 'Not enabled') : 'Not installed'],
- ['Xdebug', \extension_loaded('xdebug') ? ($xdebugMode && 'off' !== $xdebugMode ? 'Enabled (' . $xdebugMode . ')' : 'Not enabled') : 'Not installed'],
+ ['OPcache', \extension_loaded('Zend OPcache') ? (filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) ? 'Enabled' : 'Not enabled') : 'Not installed'],
+ ['APCu', \extension_loaded('apcu') ? (filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) ? 'Enabled' : 'Not enabled') : 'Not installed'],
+ ['Xdebug', \extension_loaded('xdebug') ? ($xdebugMode && 'off' !== $xdebugMode ? 'Enabled ('.$xdebugMode.')' : 'Not enabled') : 'Not installed'],
];
$io->table([], $rows);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
index e794e88c48473..d71fd6810fd13 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/ContainerLintCommand.php
@@ -24,6 +24,7 @@
use Symfony\Component\DependencyInjection\Compiler\CheckTypeDeclarationsPass;
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
use Symfony\Component\DependencyInjection\Compiler\ResolveFactoryClassPass;
+use Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass;
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
@@ -49,8 +50,10 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$io = new SymfonyStyle($input, $output);
$errorIo = $io->getErrorStyle();
+ $resolveEnvVars = $input->getOption('resolve-env-vars');
+
try {
- $container = $this->getContainerBuilder();
+ $container = $this->getContainerBuilder($resolveEnvVars);
} catch (RuntimeException $e) {
$errorIo->error($e->getMessage());
@@ -60,7 +63,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$container->setParameter('container.build_time', time());
try {
- $container->compile((bool) $input->getOption('resolve-env-vars'));
+ $container->compile($resolveEnvVars);
} catch (InvalidArgumentException $e) {
$errorIo->error($e->getMessage());
@@ -72,7 +75,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
return 0;
}
- private function getContainerBuilder(): ContainerBuilder
+ private function getContainerBuilder(bool $resolveEnvVars): ContainerBuilder
{
if (isset($this->container)) {
return $this->container;
@@ -99,16 +102,22 @@ private function getContainerBuilder(): ContainerBuilder
(new XmlFileLoader($container = new ContainerBuilder($parameterBag = new EnvPlaceholderParameterBag()), new FileLocator()))->load($kernelContainer->getParameter('debug.container.dump'));
- $refl = new \ReflectionProperty($parameterBag, 'resolved');
- $refl->setValue($parameterBag, true);
+ if ($resolveEnvVars) {
+ $container->getCompilerPassConfig()->setOptimizationPasses([new ResolveParameterPlaceHoldersPass(), new ResolveFactoryClassPass()]);
+ } else {
+ $refl = new \ReflectionProperty($parameterBag, 'resolved');
+ $refl->setValue($parameterBag, true);
+
+ $container->getCompilerPassConfig()->setOptimizationPasses([new ResolveFactoryClassPass()]);
+ }
$container->getCompilerPassConfig()->setBeforeOptimizationPasses([]);
- $container->getCompilerPassConfig()->setOptimizationPasses([new ResolveFactoryClassPass()]);
$container->getCompilerPassConfig()->setBeforeRemovingPasses([]);
}
$container->setParameter('container.build_hash', 'lint_container');
$container->setParameter('container.build_id', 'lint_container');
+ $container->setParameter('container.runtime_mode', 'web=0');
$container->addCompilerPass(new CheckAliasValidityPass(), PassConfig::TYPE_BEFORE_REMOVING, -100);
$container->addCompilerPass(new CheckTypeDeclarationsPass(true), PassConfig::TYPE_AFTER_REMOVING, -100);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
index 25fd1c91e2226..ed59d7eedebbb 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
@@ -64,7 +64,7 @@ public function __construct(
parent::__construct();
if (!method_exists($writer, 'getFormats')) {
- throw new \InvalidArgumentException(sprintf('The writer class "%s" does not implement the "getFormats()" method.', $writer::class));
+ throw new \InvalidArgumentException(\sprintf('The writer class "%s" does not implement the "getFormats()" method.', $writer::class));
}
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
index f6b40030bccce..cb0dd10b799b3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
@@ -46,7 +46,6 @@
use Symfony\Component\Translation\Translator;
use Symfony\Component\TypeInfo\Type;
use Symfony\Component\Uid\Factory\UuidFactory;
-use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Validation;
use Symfony\Component\Webhook\Controller\WebhookController;
use Symfony\Component\WebLink\HttpHeaderSerializer;
@@ -1020,7 +1019,7 @@ private function addValidationSection(ArrayNodeDefinition $rootNode, callable $e
->validate()->castToArray()->end()
->end()
->scalarNode('translation_domain')->defaultValue('validators')->end()
- ->enumNode('email_validation_mode')->values(array_merge(class_exists(Email::class) ? Email::VALIDATION_MODES : ['html5-allow-no-tld', 'html5', 'strict'], ['loose']))->defaultValue('html5')->end()
+ ->enumNode('email_validation_mode')->values(['html5', 'html5-allow-no-tld', 'strict', 'loose'])->defaultValue('html5')->end()
->arrayNode('mapping')
->addDefaultsIfNotSet()
->fixXmlConfig('path')
diff --git a/src/Symfony/Bundle/FrameworkBundle/Kernel/MicroKernelTrait.php b/src/Symfony/Bundle/FrameworkBundle/Kernel/MicroKernelTrait.php
index f40373a302b45..5d2ecf289b883 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Kernel/MicroKernelTrait.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Kernel/MicroKernelTrait.php
@@ -182,7 +182,7 @@ public function registerContainerConfiguration(LoaderInterface $loader): void
}
$file = (new \ReflectionObject($this))->getFileName();
- /* @var ContainerPhpFileLoader $kernelLoader */
+ /** @var ContainerPhpFileLoader $kernelLoader */
$kernelLoader = $loader->getResolver()->resolve($file);
$kernelLoader->setCurrentDir(\dirname($file));
$instanceof = &\Closure::bind(fn &() => $this->instanceof, $kernelLoader, $kernelLoader)();
@@ -208,7 +208,7 @@ public function registerContainerConfiguration(LoaderInterface $loader): void
public function loadRoutes(LoaderInterface $loader): RouteCollection
{
$file = (new \ReflectionObject($this))->getFileName();
- /* @var RoutingPhpFileLoader $kernelLoader */
+ /** @var RoutingPhpFileLoader $kernelLoader */
$kernelLoader = $loader->getResolver()->resolve($file, 'php');
$kernelLoader->setCurrentDir(\dirname($file));
$collection = new RouteCollection();
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
index e99022acf7c45..e2c2b7f4251a3 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd
@@ -306,6 +306,7 @@
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php
index 55a3639848c32..6956749293e6d 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Controller/AbstractControllerTest.php
@@ -233,7 +233,7 @@ public function testFile()
$controller = $this->createController();
$controller->setContainer($container);
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$response = $controller->file(new File(__FILE__));
$this->assertInstanceOf(BinaryFileResponse::class, $response);
$this->assertSame(200, $response->getStatusCode());
@@ -248,7 +248,7 @@ public function testFileAsInline()
{
$controller = $this->createController();
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$response = $controller->file(new File(__FILE__), null, ResponseHeaderBag::DISPOSITION_INLINE);
$this->assertInstanceOf(BinaryFileResponse::class, $response);
@@ -264,7 +264,7 @@ public function testFileWithOwnFileName()
{
$controller = $this->createController();
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$fileName = 'test.php';
$response = $controller->file(new File(__FILE__), $fileName);
@@ -281,7 +281,7 @@ public function testFileWithOwnFileNameAsInline()
{
$controller = $this->createController();
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$fileName = 'test.php';
$response = $controller->file(new File(__FILE__), $fileName, ResponseHeaderBag::DISPOSITION_INLINE);
@@ -298,7 +298,7 @@ public function testFileFromPath()
{
$controller = $this->createController();
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$response = $controller->file(__FILE__);
$this->assertInstanceOf(BinaryFileResponse::class, $response);
@@ -314,7 +314,7 @@ public function testFileFromPathWithCustomizedFileName()
{
$controller = $this->createController();
- /* @var BinaryFileResponse $response */
+ /** @var BinaryFileResponse $response */
$response = $controller->file(__FILE__, 'test.php');
$this->assertInstanceOf(BinaryFileResponse::class, $response);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php
index e30db4852c9e2..ba600fe8d50c8 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/PhpFrameworkExtensionTest.php
@@ -276,10 +276,10 @@ public function testValidatorEmailValidationMode(string $mode)
$this->createContainerFromClosure(function (ContainerBuilder $container) use ($mode) {
$container->loadFromExtension('framework', [
- 'annotations' => false,
- 'http_method_override' => false,
- 'handle_all_throwables' => true,
- 'php_errors' => ['log' => true],
+ 'annotations' => false,
+ 'http_method_override' => false,
+ 'handle_all_throwables' => true,
+ 'php_errors' => ['log' => true],
'validation' => [
'email_validation_mode' => $mode,
],
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ApiAttributesTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ApiAttributesTest.php
index cf5c384ba2578..3488e926ff14e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ApiAttributesTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ApiAttributesTest.php
@@ -11,6 +11,7 @@
namespace Symfony\Bundle\FrameworkBundle\Tests\Functional;
+use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@@ -216,15 +217,14 @@ public static function mapQueryStringProvider(): iterable
/**
* @dataProvider mapRequestPayloadProvider
*/
- public function testMapRequestPayload(string $uri, string $format, array $parameters, ?string $content, string $expectedResponse, int $expectedStatusCode)
+ public function testMapRequestPayload(string $uri, string $format, array $parameters, ?string $content, callable $responseAssertion, int $expectedStatusCode)
{
$client = self::createClient(['test_case' => 'ApiAttributesTest']);
- [$acceptHeader, $assertion] = [
- 'html' => ['text/html', self::assertStringContainsString(...)],
- 'json' => ['application/json', self::assertJsonStringEqualsJsonString(...)],
- 'xml' => ['text/xml', self::assertXmlStringEqualsXmlString(...)],
- 'dummy' => ['application/dummy', self::assertStringContainsString(...)],
+ $acceptHeader = [
+ 'json' => 'application/json',
+ 'xml' => 'text/xml',
+ 'dummy' => 'application/dummy',
][$format];
$client->request(
@@ -238,12 +238,7 @@ public function testMapRequestPayload(string $uri, string $format, array $parame
$response = $client->getResponse();
$responseContent = $response->getContent();
-
- if ($expectedResponse) {
- $assertion($expectedResponse, $responseContent);
- } else {
- self::assertSame('', $responseContent);
- }
+ $responseAssertion($responseContent);
self::assertSame($expectedStatusCode, $response->getStatusCode());
}
@@ -255,7 +250,9 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => [],
'content' => '',
- 'expectedResponse' => '',
+ 'responseAssertion' => static function (string $response) {
+ self::assertSame('', $response);
+ },
'expectedStatusCode' => 204,
];
@@ -269,12 +266,16 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -288,12 +289,16 @@ public static function mapRequestPayloadProvider(): iterable
true
XML,
- 'expectedResponse' => <<<'XML'
-
- Hello everyone!
- 1
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ self::assertXmlStringEqualsXmlString(<<<'XML'
+
+ Hello everyone!
+ 1
+
+ XML,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -302,12 +307,16 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => 'Hello everyone!', 'approved' => '0'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -321,14 +330,18 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false,
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
- "title": "An error occurred",
- "status": 400,
- "detail": "Bad Request"
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
+ "title": "An error occurred",
+ "status": 400,
+ "detail": "Bad Request"
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 400,
];
@@ -337,7 +350,9 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'dummy',
'parameters' => [],
'content' => 'Hello',
- 'expectedResponse' => '415 Unsupported Media Type',
+ 'responseAssertion' => static function (string $response) {
+ self::assertStringContainsString('415 Unsupported Media Type', $response);
+ },
'expectedStatusCode' => 415,
];
@@ -351,24 +366,28 @@ public static function mapRequestPayloadProvider(): iterable
"approved": "string instead of bool"
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "approved: This value should be of type bool.",
- "violations": [
- {
- "propertyPath": "approved",
- "title": "This value should be of type bool.",
- "template": "This value should be of type {{ type }}.",
- "parameters": {
- "{{ type }}": "bool"
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "type": "https:\/\/symfony.com\/errors\/validation",
+ "title": "Validation Failed",
+ "status": 422,
+ "detail": "approved: This value should be of type bool.",
+ "violations": [
+ {
+ "propertyPath": "approved",
+ "title": "This value should be of type bool.",
+ "template": "This value should be of type {{ type }}.",
+ "parameters": {
+ "{{ type }}": "bool"
+ }
}
- }
- ]
- }
- JSON,
+ ]
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 422,
];
@@ -382,36 +401,20 @@ public static function mapRequestPayloadProvider(): iterable
"approved": true
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
@@ -425,26 +428,16 @@ public static function mapRequestPayloadProvider(): iterable
false
XML,
- 'expectedResponse' => <<<'XML'
-
-
- https://symfony.com/errors/validation
- Validation Failed
- 422
- comment: This value is too short. It should have 10 characters or more.
-
- comment
- This value is too short. It should have 10 characters or more.
- This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.
-
- - "H"
- - 10
- - 1
-
- urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45
-
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ $crawler = new Crawler($response);
+
+ self::assertSame('https://symfony.com/errors/validation', $crawler->filterXPath('response/type')->text());
+ self::assertSame('Validation Failed', $crawler->filterXPath('response/title')->text());
+ self::assertSame('422', $crawler->filterXPath('response/status')->text());
+ self::assertSame('comment: This value is too short. It should have 10 characters or more.', $crawler->filterXPath('response/detail')->text());
+ self::assertCount(1, $crawler->filterXPath('response/violations'));
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $crawler->filterXPath('response/violations/type')->text());
+ },
'expectedStatusCode' => 422,
];
@@ -453,36 +446,20 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => '', 'approved' => '1'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
@@ -491,12 +468,16 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => [],
'content' => '',
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -510,12 +491,16 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -529,12 +514,16 @@ public static function mapRequestPayloadProvider(): iterable
true
XML,
- 'expectedResponse' => <<<'XML'
-
- Hello everyone!
- 1
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ self::assertXmlStringEqualsXmlString(<<<'XML'
+
+ Hello everyone!
+ 1
+
+ XML,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -543,12 +532,16 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => 'Hello everyone!', 'approved' => '0'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -562,14 +555,18 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false,
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
- "title": "An error occurred",
- "status": 400,
- "detail": "Bad Request"
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
+ "title": "An error occurred",
+ "status": 400,
+ "detail": "Bad Request"
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 400,
];
@@ -578,7 +575,9 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'dummy',
'parameters' => [],
'content' => 'Hello',
- 'expectedResponse' => '415 Unsupported Media Type',
+ 'responseAssertion' => static function (string $response) {
+ self::assertStringContainsString('415 Unsupported Media Type', $response);
+ },
'expectedStatusCode' => 415,
];
@@ -592,24 +591,19 @@ public static function mapRequestPayloadProvider(): iterable
"approved": "string instead of bool"
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "approved: This value should be of type bool.",
- "violations": [
- {
- "propertyPath": "approved",
- "title": "This value should be of type bool.",
- "template": "This value should be of type {{ type }}.",
- "parameters": {
- "{{ type }}": "bool"
- }
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame('approved: This value should be of type bool.', $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(1, $json['violations']);
+ self::assertSame('approved', $json['violations'][0]['propertyPath'] ?? null);
+},
'expectedStatusCode' => 422,
];
@@ -623,36 +617,20 @@ public static function mapRequestPayloadProvider(): iterable
"approved": true
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
@@ -666,26 +644,16 @@ public static function mapRequestPayloadProvider(): iterable
false
XML,
- 'expectedResponse' => <<<'XML'
-
-
- https://symfony.com/errors/validation
- Validation Failed
- 422
- comment: This value is too short. It should have 10 characters or more.
-
- comment
- This value is too short. It should have 10 characters or more.
- This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.
-
- - "H"
- - 10
- - 1
-
- urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45
-
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ $crawler = new Crawler($response);
+
+ self::assertSame('https://symfony.com/errors/validation', $crawler->filterXPath('response/type')->text());
+ self::assertSame('Validation Failed', $crawler->filterXPath('response/title')->text());
+ self::assertSame('422', $crawler->filterXPath('response/status')->text());
+ self::assertSame('comment: This value is too short. It should have 10 characters or more.', $crawler->filterXPath('response/detail')->text());
+ self::assertCount(1, $crawler->filterXPath('response/violations'));
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $crawler->filterXPath('response/violations/type')->text());
+ },
'expectedStatusCode' => 422,
];
@@ -694,56 +662,41 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => '', 'approved' => '1'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
- $expectedStatusCode = 400;
- $expectedResponse = <<<'JSON'
- {
- "type":"https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
- "title":"An error occurred",
- "status":400,
- "detail":"Bad Request"
- }
- JSON;
-
yield 'empty request mapping non-nullable attribute without default value' => [
'uri' => '/map-request-to-non-nullable-attribute-without-default-value.json',
'format' => 'json',
'parameters' => [],
'content' => '',
- 'expectedResponse' => $expectedResponse,
- 'expectedStatusCode' => $expectedStatusCode,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "type":"https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
+ "title":"An error occurred",
+ "status":400,
+ "detail":"Bad Request"
+ }
+ JSON,
+ $response
+ );
+ },
+ 'expectedStatusCode' => 400,
];
yield 'valid request with json content mapping non-nullable attribute without default value' => [
@@ -756,12 +709,16 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -775,12 +732,16 @@ public static function mapRequestPayloadProvider(): iterable
true
XML,
- 'expectedResponse' => <<<'XML'
-
- Hello everyone!
- 1
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ self::assertXmlStringEqualsXmlString(<<<'XML'
+
+ Hello everyone!
+ 1
+
+ XML,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -789,12 +750,16 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => 'Hello everyone!', 'approved' => '0'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "comment": "Hello everyone!",
- "approved": false
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "comment": "Hello everyone!",
+ "approved": false
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 200,
];
@@ -808,14 +773,18 @@ public static function mapRequestPayloadProvider(): iterable
"approved": false,
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
- "title": "An error occurred",
- "status": 400,
- "detail": "Bad Request"
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJsonStringEqualsJsonString(<<<'JSON'
+ {
+ "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
+ "title": "An error occurred",
+ "status": 400,
+ "detail": "Bad Request"
+ }
+ JSON,
+ $response
+ );
+ },
'expectedStatusCode' => 400,
];
@@ -824,7 +793,9 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'dummy',
'parameters' => [],
'content' => 'Hello',
- 'expectedResponse' => '415 Unsupported Media Type',
+ 'responseAssertion' => static function (string $response) {
+ self::assertStringContainsString('415 Unsupported Media Type', $response);
+ },
'expectedStatusCode' => 415,
];
@@ -838,24 +809,19 @@ public static function mapRequestPayloadProvider(): iterable
"approved": "string instead of bool"
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "approved: This value should be of type bool.",
- "violations": [
- {
- "propertyPath": "approved",
- "title": "This value should be of type bool.",
- "template": "This value should be of type {{ type }}.",
- "parameters": {
- "{{ type }}": "bool"
- }
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame('approved: This value should be of type bool.', $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(1, $json['violations']);
+ self::assertSame('approved', $json['violations'][0]['propertyPath'] ?? null);
+ },
'expectedStatusCode' => 422,
];
@@ -869,36 +835,20 @@ public static function mapRequestPayloadProvider(): iterable
"approved": true
}
JSON,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
@@ -912,26 +862,16 @@ public static function mapRequestPayloadProvider(): iterable
false
XML,
- 'expectedResponse' => <<<'XML'
-
-
- https://symfony.com/errors/validation
- Validation Failed
- 422
- comment: This value is too short. It should have 10 characters or more.
-
- comment
- This value is too short. It should have 10 characters or more.
- This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.
-
- - "H"
- - 10
- - 1
-
- urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45
-
-
- XML,
+ 'responseAssertion' => static function (string $response) {
+ $crawler = new Crawler($response);
+
+ self::assertSame('https://symfony.com/errors/validation', $crawler->filterXPath('response/type')->text());
+ self::assertSame('Validation Failed', $crawler->filterXPath('response/title')->text());
+ self::assertSame('422', $crawler->filterXPath('response/status')->text());
+ self::assertSame('comment: This value is too short. It should have 10 characters or more.', $crawler->filterXPath('response/detail')->text());
+ self::assertCount(1, $crawler->filterXPath('response/violations'));
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $crawler->filterXPath('response/violations/type')->text());
+ },
'expectedStatusCode' => 422,
];
@@ -940,36 +880,20 @@ public static function mapRequestPayloadProvider(): iterable
'format' => 'json',
'parameters' => ['comment' => '', 'approved' => '1'],
'content' => null,
- 'expectedResponse' => <<<'JSON'
- {
- "type": "https:\/\/symfony.com\/errors\/validation",
- "title": "Validation Failed",
- "status": 422,
- "detail": "comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.",
- "violations": [
- {
- "propertyPath": "comment",
- "title": "This value should not be blank.",
- "template": "This value should not be blank.",
- "parameters": {
- "{{ value }}": "\"\""
- },
- "type": "urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3"
- },
- {
- "propertyPath": "comment",
- "title": "This value is too short. It should have 10 characters or more.",
- "template": "This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.",
- "parameters": {
- "{{ value }}": "\"\"",
- "{{ limit }}": "10",
- "{{ value_length }}": "0"
- },
- "type": "urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45"
- }
- ]
- }
- JSON,
+ 'responseAssertion' => static function (string $response) {
+ self::assertJson($response);
+
+ $json = json_decode($response, true);
+
+ self::assertSame('https://symfony.com/errors/validation', $json['type'] ?? null);
+ self::assertSame('Validation Failed', $json['title'] ?? null);
+ self::assertSame(422, $json['status'] ?? null);
+ self::assertSame("comment: This value should not be blank.\ncomment: This value is too short. It should have 10 characters or more.", $json['detail'] ?? null);
+ self::assertIsArray($json['violations'] ?? null);
+ self::assertCount(2, $json['violations']);
+ self::assertSame('urn:uuid:c1051bb4-d103-4f74-8988-acbcafc7fdc3', $json['violations'][0]['type'] ?? null);
+ self::assertSame('urn:uuid:9ff3fdc4-b214-49db-8718-39c315e33d45', $json['violations'][1]['type'] ?? null);
+ },
'expectedStatusCode' => 422,
];
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerLintCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerLintCommandTest.php
new file mode 100644
index 0000000000000..f0b6b4bd57b07
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerLintCommandTest.php
@@ -0,0 +1,56 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Bundle\FrameworkBundle\Tests\Functional;
+
+use Symfony\Bundle\FrameworkBundle\Console\Application;
+use Symfony\Component\Console\Tester\CommandTester;
+
+/**
+ * @group functional
+ */
+class ContainerLintCommandTest extends AbstractWebTestCase
+{
+ private Application $application;
+
+ /**
+ * @dataProvider containerLintProvider
+ */
+ public function testLintContainer(string $configFile, bool $resolveEnvVars, int $expectedExitCode, string $expectedOutput)
+ {
+ $kernel = static::createKernel([
+ 'test_case' => 'ContainerLint',
+ 'root_config' => $configFile,
+ 'debug' => true,
+ ]);
+ $this->application = new Application($kernel);
+
+ $tester = $this->createCommandTester();
+ $exitCode = $tester->execute(['--resolve-env-vars' => $resolveEnvVars]);
+
+ $this->assertSame($expectedExitCode, $exitCode);
+ $this->assertStringContainsString($expectedOutput, $tester->getDisplay());
+ }
+
+ public static function containerLintProvider(): array
+ {
+ return [
+ ['escaped_percent.yml', false, 0, 'The container was linted successfully'],
+ ['missing_env_var.yml', false, 0, 'The container was linted successfully'],
+ ['missing_env_var.yml', true, 1, 'Environment variable not found: "BAR"'],
+ ];
+ }
+
+ private function createCommandTester(): CommandTester
+ {
+ return new CommandTester($this->application->get('lint:container'));
+ }
+}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/bundles.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/bundles.php
new file mode 100644
index 0000000000000..15ff182c6fed5
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/bundles.php
@@ -0,0 +1,18 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
+use Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\TestBundle;
+
+return [
+ new FrameworkBundle(),
+ new TestBundle(),
+];
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/escaped_percent.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/escaped_percent.yml
new file mode 100644
index 0000000000000..f5554e116546c
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/escaped_percent.yml
@@ -0,0 +1,5 @@
+imports:
+ - { resource: ../config/default.yml }
+
+parameters:
+ percent: '%%foo%%'
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/missing_env_var.yml b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/missing_env_var.yml
new file mode 100644
index 0000000000000..33ac97df47c3d
--- /dev/null
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/ContainerLint/missing_env_var.yml
@@ -0,0 +1,5 @@
+imports:
+ - { resource: ../config/default.yml }
+
+parameters:
+ foo: '%env(BAR)%'
diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json
index 6689b61b05990..3b2d2806d28cd 100644
--- a/src/Symfony/Bundle/FrameworkBundle/composer.json
+++ b/src/Symfony/Bundle/FrameworkBundle/composer.json
@@ -64,7 +64,7 @@
"symfony/string": "^6.4|^7.0",
"symfony/translation": "^6.4|^7.0",
"symfony/twig-bundle": "^6.4|^7.0",
- "symfony/type-info": "^7.1",
+ "symfony/type-info": "^7.1.8",
"symfony/validator": "^6.4|^7.0",
"symfony/workflow": "^6.4|^7.0",
"symfony/yaml": "^6.4|^7.0",
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
index d0f3549ab8f09..8607e45a262e2 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
@@ -986,7 +986,7 @@ public function checkPreAuth(UserInterface $user): void
{
}
- public function checkPostAuth(UserInterface $user): void
+ public function checkPostAuth(UserInterface $user, ?TokenInterface $token = null): void
{
}
}
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/SecurityTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/SecurityTest.php
index 82a444ef10358..9a126ae328e08 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/SecurityTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/SecurityTest.php
@@ -154,7 +154,7 @@ public function testLogin()
->method('getProvidedServices')
->willReturn([
'security.authenticator.custom.dev' => $authenticator,
- 'security.authenticator.remember_me.main' => $authenticator
+ 'security.authenticator.remember_me.main' => $authenticator,
])
;
$firewallAuthenticatorLocator
@@ -287,7 +287,7 @@ public function testLoginFailsWhenTooManyAuthenticatorsFound()
->method('getProvidedServices')
->willReturn([
'security.authenticator.custom.main' => $authenticator,
- 'security.authenticator.other.main' => $authenticator
+ 'security.authenticator.other.main' => $authenticator,
])
;
diff --git a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.php b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.php
index bc721a2798fcc..440fdef8e7551 100644
--- a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.php
+++ b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.php
@@ -38,13 +38,13 @@
use Symfony\Bundle\TwigBundle\TemplateIterator;
use Twig\Cache\FilesystemCache;
use Twig\Environment;
+use Twig\ExpressionParser\Infix\BinaryOperatorExpressionParser;
use Twig\Extension\CoreExtension;
use Twig\Extension\DebugExtension;
use Twig\Extension\EscaperExtension;
use Twig\Extension\OptimizerExtension;
use Twig\Extension\StagingExtension;
use Twig\ExtensionSet;
-use Twig\ExpressionParser\Infix\BinaryOperatorExpressionParser;
use Twig\Loader\ChainLoader;
use Twig\Loader\FilesystemLoader;
use Twig\Profiler\Profile;
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Profiler/CodeExtension.php b/src/Symfony/Bundle/WebProfilerBundle/Profiler/CodeExtension.php
index 332a5d6c3725e..299a1b02cf595 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Profiler/CodeExtension.php
+++ b/src/Symfony/Bundle/WebProfilerBundle/Profiler/CodeExtension.php
@@ -16,7 +16,7 @@
use Twig\TwigFilter;
/**
- * Twig extension relate to PHP code and used by the profiler and the default exception templates.
+ * Twig extension related to PHP code and used by the profiler and the default exception templates.
*
* This extension should only be used for debugging tools code
* that is never executed in a production environment.
@@ -119,39 +119,85 @@ public function formatArgsAsText(array $args): string
*/
public function fileExcerpt(string $file, int $line, int $srcContext = 3): ?string
{
- if (is_file($file) && is_readable($file)) {
- // highlight_file could throw warnings
- // see https://bugs.php.net/25725
- $code = @highlight_file($file, true);
- if (\PHP_VERSION_ID >= 80300) {
- // remove main pre/code tags
- $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code);
- // split multiline span tags
- $code = preg_replace_callback('#]++)>((?:[^<\\n]*+\\n)++[^<]*+)#', function ($m) {
- return "".str_replace("\n", "\n", $m[2]).'';
- }, $code);
- $content = explode("\n", $code);
- } else {
- // remove main code/span tags
- $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code);
- // split multiline spans
- $code = preg_replace_callback('#]++)>((?:[^<]*+
)++[^<]*+)#', fn ($m) => "".str_replace('
', "
", $m[2]).'', $code);
- $content = explode('
', $code);
- }
+ if (!is_file($file) || !is_readable($file)) {
+ return null;
+ }
+
+ $contents = file_get_contents($file);
+
+ if (!str_contains($contents, ' $srcContext) {
- $srcContext = \count($content);
+ $srcContext = \count($lines);
}
- for ($i = max($line - $srcContext, 1), $max = min($line + $srcContext, \count($content)); $i <= $max; ++$i) {
- $lines[] = ''.self::fixCodeMarkup($content[$i - 1]).'
';
- }
+ return $this->formatFileExcerpt(
+ $this->extractExcerptLines($lines, $line, $srcContext),
+ $line,
+ $srcContext
+ );
+ }
- return ''.implode("\n", $lines).'
';
+ // highlight_string could throw warnings
+ // see https://bugs.php.net/25725
+ $code = @highlight_string($contents, true);
+
+ if (\PHP_VERSION_ID >= 80300) {
+ // remove main pre/code tags
+ $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code);
+ // split multiline span tags
+ $code = preg_replace_callback(
+ '#]++)>((?:[^<\\n]*+\\n)++[^<]*+)#',
+ static fn (array $m): string => "".str_replace("\n", "\n", $m[2]).'',
+ $code
+ );
+ $lines = explode("\n", $code);
+ } else {
+ // remove main code/span tags
+ $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code);
+ // split multiline spans
+ $code = preg_replace_callback(
+ '#]++)>((?:[^<]*+
)++[^<]*+)#',
+ static fn (array $m): string => "".str_replace('
', "
", $m[2]).'',
+ $code
+ );
+ $lines = explode('
', $code);
}
- return null;
+ if (0 > $srcContext) {
+ $srcContext = \count($lines);
+ }
+
+ return $this->formatFileExcerpt(
+ array_map(
+ self::fixCodeMarkup(...),
+ $this->extractExcerptLines($lines, $line, $srcContext),
+ ),
+ $line,
+ $srcContext
+ );
+ }
+
+ private function extractExcerptLines(array $lines, int $selectedLine, int $srcContext): array
+ {
+ return \array_slice(
+ $lines,
+ max($selectedLine - $srcContext, 0),
+ min($srcContext * 2 + 1, \count($lines) - $selectedLine + $srcContext),
+ true
+ );
+ }
+
+ private function formatFileExcerpt(array $lines, int $selectedLine, int $srcContext): string
+ {
+ $start = max($selectedLine - $srcContext, 1);
+
+ return "".implode("\n", array_map(
+ static fn (string $line, int $num): string => '{$line}
",
+ $lines,
+ array_keys($lines),
+ )).'
';
}
/**
@@ -241,7 +287,7 @@ protected static function fixCodeMarkup(string $line): string
// missing tag at the end of line
$opening = strpos($line, '');
- if (false !== $opening && (false === $closing || $closing > $opening)) {
+ if (false !== $opening && (false === $closing || $closing < $opening)) {
$line .= '';
}
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_js.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_js.html.twig
index eaf9329aadde7..ad8684ebcb6d8 100644
--- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_js.html.twig
+++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_js.html.twig
@@ -414,11 +414,7 @@
renderAjaxRequests: renderAjaxRequests,
getSfwdt: function(token) {
- if (!this.sfwdt) {
- this.sfwdt = document.getElementById('sfwdt' + token);
- }
-
- return this.sfwdt;
+ return document.getElementById('sfwdt' + token);
},
load: function(selector, url, onSuccess, onError, options) {
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.json b/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.json
new file mode 100644
index 0000000000000..56cc557387321
--- /dev/null
+++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.json
@@ -0,0 +1,4 @@
+[
+ "Hello",
+ "World!"
+]
diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.php
new file mode 100644
index 0000000000000..4d7bf8fdf167e
--- /dev/null
+++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Fixtures/hello_world.php
@@ -0,0 +1,4 @@
+assertEquals($expected, $this->render($template));
}
+ /**
+ * @dataProvider fileExcerptIntegrationProvider
+ */
+ public function testFileExcerptIntegration(string $expected, array $data)
+ {
+ $template = <<<'TWIG'
+{{ file_path|file_excerpt(line, src_context) }}
+TWIG;
+ $html = $this->render($template, $data);
+
+ // highlight_file function output changed sing PHP 8.3
+ // see https://github.com/php/php-src/blob/e2667f17bc24e3cd200bb3eda457f566f1f77f8f/UPGRADING#L239-L242
+ if (\PHP_VERSION_ID < 80300) {
+ $html = str_replace(' ', ' ', $html);
+ }
+
+ $html = html_entity_decode($html);
+
+ $this->assertEquals($expected, $html);
+ }
+
+ public static function fileExcerptIntegrationProvider()
+ {
+ $fixturesPath = \dirname(__DIR__).\DIRECTORY_SEPARATOR.'Fixtures';
+
+ yield 'php file' => [
+ 'expected' => <<<'HTML'
+
+
+echo 'Hello';
+echo 'World!';
+
+HTML,
+ 'data' => [
+ 'file_path' => $fixturesPath.\DIRECTORY_SEPARATOR.'hello_world.php',
+ 'line' => 0,
+ 'src_context' => 3,
+ ],
+ ];
+
+ yield 'php file with selected line and no source context' => [
+ 'expected' => <<<'HTML'
+
+
+echo 'Hello';
+echo 'World!';
+
+HTML,
+ 'data' => [
+ 'file_path' => $fixturesPath.\DIRECTORY_SEPARATOR.'hello_world.php',
+ 'line' => 1,
+ 'src_context' => -1,
+ ],
+ ];
+
+ yield 'php file excerpt with selected line and custom source context' => [
+ 'expected' => <<<'HTML'
+echo 'Hello';
+echo 'World!';
+
+HTML,
+ 'data' => [
+ 'file_path' => $fixturesPath.\DIRECTORY_SEPARATOR.'hello_world.php',
+ 'line' => 3,
+ 'src_context' => 1,
+ ],
+ ];
+
+ yield 'php file excerpt with out of bound selected line' => [
+ 'expected' => <<<'HTML'
+
+HTML,
+ 'data' => [
+ 'file_path' => $fixturesPath.\DIRECTORY_SEPARATOR.'hello_world.php',
+ 'line' => 100,
+ 'src_context' => 1,
+ ],
+ ];
+
+ yield 'json file' => [
+ 'expected' => <<<'HTML'
+[
+ "Hello",
+ "World!"
+]
+
+HTML,
+ 'data' => [
+ 'file_path' => $fixturesPath.\DIRECTORY_SEPARATOR.'hello_world.json',
+ 'line' => 0,
+ 'src_context' => 3,
+ ],
+ ];
+ }
+
public function testFormatFileFromTextIntegration()
{
$template = <<<'TWIG'
diff --git a/src/Symfony/Component/AssetMapper/ImportMap/Resolver/JsDelivrEsmResolver.php b/src/Symfony/Component/AssetMapper/ImportMap/Resolver/JsDelivrEsmResolver.php
index b88f0e792d44f..e0de404e77094 100644
--- a/src/Symfony/Component/AssetMapper/ImportMap/Resolver/JsDelivrEsmResolver.php
+++ b/src/Symfony/Component/AssetMapper/ImportMap/Resolver/JsDelivrEsmResolver.php
@@ -196,7 +196,7 @@ public function downloadPackages(array $importMapEntries, ?callable $progressCal
$dependencies = [];
$extraFiles = [];
- /* @var ImportMapEntry $entry */
+ /** @var ImportMapEntry $entry */
$contents[$package] = [
'content' => $this->makeImportsBare($response->getContent(), $dependencies, $extraFiles, $entry->type, $entry->getPackagePathString()),
'dependencies' => $dependencies,
diff --git a/src/Symfony/Component/AssetMapper/Tests/ImportMap/ImportMapManagerTest.php b/src/Symfony/Component/AssetMapper/Tests/ImportMap/ImportMapManagerTest.php
index c2805f937de8b..e6084fc7c1e87 100644
--- a/src/Symfony/Component/AssetMapper/Tests/ImportMap/ImportMapManagerTest.php
+++ b/src/Symfony/Component/AssetMapper/Tests/ImportMap/ImportMapManagerTest.php
@@ -248,7 +248,7 @@ public function testUpdateAll()
->method('resolvePackages')
->with($this->callback(function ($packages) {
$this->assertInstanceOf(PackageRequireOptions::class, $packages[0]);
- /* @var PackageRequireOptions[] $packages */
+ /** @var PackageRequireOptions[] $packages */
$this->assertCount(2, $packages);
$this->assertSame('lodash', $packages[0]->packageModuleSpecifier);
diff --git a/src/Symfony/Component/AssetMapper/Tests/ImportMap/Resolver/JsDelivrEsmResolverTest.php b/src/Symfony/Component/AssetMapper/Tests/ImportMap/Resolver/JsDelivrEsmResolverTest.php
index d9650fd7c29d3..ffb153fe54366 100644
--- a/src/Symfony/Component/AssetMapper/Tests/ImportMap/Resolver/JsDelivrEsmResolverTest.php
+++ b/src/Symfony/Component/AssetMapper/Tests/ImportMap/Resolver/JsDelivrEsmResolverTest.php
@@ -443,7 +443,7 @@ public static function provideDownloadPackagesTests()
'body' => <<<'EOF'
const je="\n//# sourceURL=",Ue="\n//# sourceMappingURL=",Me=/^(text|application)\/(x-)?javascript(;|$)/,_e=/^(application)\/wasm(;|$)/,Ie=/^(text|application)\/json(;|$)/,Re=/^(text|application)\/css(;|$)/,Te=/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g;
//# sourceMappingURL=/sm/ef3916de598f421a779ba0e69af94655b2043095cde2410cc01893452d893338.map
-EOF
+EOF,
],
],
[
diff --git a/src/Symfony/Component/BrowserKit/AbstractBrowser.php b/src/Symfony/Component/BrowserKit/AbstractBrowser.php
index 1269fcb69e8cb..68cc417e41a0f 100644
--- a/src/Symfony/Component/BrowserKit/AbstractBrowser.php
+++ b/src/Symfony/Component/BrowserKit/AbstractBrowser.php
@@ -461,10 +461,10 @@ abstract protected function doRequest(object $request);
/**
* Returns the script to execute when the request must be insulated.
*
- * @psalm-param TRequest $request
- *
* @param object $request An origin request instance
*
+ * @psalm-param TRequest $request
+ *
* @return string
*
* @throws LogicException When this abstract class is not implemented
diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PredisReplicationAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PredisReplicationAdapterTest.php
index 28af1b5b4e27e..b9877234a05af 100644
--- a/src/Symfony/Component/Cache/Tests/Adapter/PredisReplicationAdapterTest.php
+++ b/src/Symfony/Component/Cache/Tests/Adapter/PredisReplicationAdapterTest.php
@@ -27,9 +27,9 @@ public static function setUpBeforeClass(): void
$hosts = explode(' ', getenv('REDIS_REPLICATION_HOSTS'));
$lastArrayKey = array_key_last($hosts);
$hostTable = [];
- foreach($hosts as $key => $host) {
+ foreach ($hosts as $key => $host) {
$hostInformation = array_combine(['host', 'port'], explode(':', $host));
- if($lastArrayKey === $key) {
+ if ($lastArrayKey === $key) {
$hostInformation['role'] = 'master';
}
$hostTable[] = $hostInformation;
diff --git a/src/Symfony/Component/Cache/Tests/Traits/RedisProxiesTest.php b/src/Symfony/Component/Cache/Tests/Traits/RedisProxiesTest.php
index 1e17b47437f5e..889676978bc2d 100644
--- a/src/Symfony/Component/Cache/Tests/Traits/RedisProxiesTest.php
+++ b/src/Symfony/Component/Cache/Tests/Traits/RedisProxiesTest.php
@@ -34,7 +34,7 @@ public function testRedisProxy($class)
$expected = substr($proxy, 0, 2 + strpos($proxy, '}'));
$methods = [];
- foreach ((new \ReflectionClass(sprintf('Symfony\Component\Cache\Traits\\%s%dProxy', $class, $version)))->getMethods() as $method) {
+ foreach ((new \ReflectionClass(\sprintf('Symfony\Component\Cache\Traits\\%s%dProxy', $class, $version)))->getMethods() as $method) {
if ('reset' === $method->name || method_exists(LazyProxyTrait::class, $method->name)) {
continue;
}
@@ -87,12 +87,12 @@ public function testRelayProxy()
$expectedMethods = [];
foreach ((new \ReflectionClass(RelayProxy::class))->getMethods() as $method) {
- if ('reset' === $method->name || method_exists(LazyProxyTrait::class, $method->name) || $method->isStatic()) {
+ if ('reset' === $method->name || method_exists(LazyProxyTrait::class, $method->name) || $method->isInternal()) {
continue;
}
$return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return ';
- $expectedMethods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args});
}
@@ -101,7 +101,7 @@ public function testRelayProxy()
}
foreach ((new \ReflectionClass(Relay::class))->getMethods() as $method) {
- if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isStatic()) {
+ if ('__destruct' === $method->name || 'reset' === $method->name || $method->isStatic()) {
continue;
}
$return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return ';
diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php
index f6bb9bbe101f1..f4a5b87ce06d2 100644
--- a/src/Symfony/Component/Cache/Traits/RedisTrait.php
+++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php
@@ -440,7 +440,7 @@ protected function doFetch(array $ids): iterable
$result = [];
- if ($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) {
+ if (($this->redis instanceof \Predis\ClientInterface && ($this->redis->getConnection() instanceof ClusterInterface || $this->redis->getConnection() instanceof Predis2ClusterInterface)) || $this->redis instanceof RelayCluster) {
$values = $this->pipeline(function () use ($ids) {
foreach ($ids as $id) {
yield 'get' => [$id];
diff --git a/src/Symfony/Component/Cache/Traits/Relay/BgsaveTrait.php b/src/Symfony/Component/Cache/Traits/Relay/BgsaveTrait.php
index 367f82f7bb2b6..f5cddcb85225f 100644
--- a/src/Symfony/Component/Cache/Traits/Relay/BgsaveTrait.php
+++ b/src/Symfony/Component/Cache/Traits/Relay/BgsaveTrait.php
@@ -19,7 +19,7 @@ trait BgsaveTrait
{
public function bgsave($arg = null): \Relay\Relay|bool
{
- return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args());
+ return $this->initializeLazyObject()->bgsave(...\func_get_args());
}
}
} else {
@@ -30,7 +30,7 @@ trait BgsaveTrait
{
public function bgsave($schedule = false): \Relay\Relay|bool
{
- return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args());
+ return $this->initializeLazyObject()->bgsave(...\func_get_args());
}
}
}
diff --git a/src/Symfony/Component/Cache/Traits/Relay/FtTrait.php b/src/Symfony/Component/Cache/Traits/Relay/FtTrait.php
new file mode 100644
index 0000000000000..8accd79386cbc
--- /dev/null
+++ b/src/Symfony/Component/Cache/Traits/Relay/FtTrait.php
@@ -0,0 +1,132 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Cache\Traits\Relay;
+
+if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
+ /**
+ * @internal
+ */
+ trait FtTrait
+ {
+ public function ftAggregate($index, $query, $options = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftAggregate(...\func_get_args());
+ }
+
+ public function ftAliasAdd($index, $alias): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftAliasAdd(...\func_get_args());
+ }
+
+ public function ftAliasDel($alias): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftAliasDel(...\func_get_args());
+ }
+
+ public function ftAliasUpdate($index, $alias): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftAliasUpdate(...\func_get_args());
+ }
+
+ public function ftAlter($index, $schema, $skipinitialscan = false): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftAlter(...\func_get_args());
+ }
+
+ public function ftConfig($operation, $option, $value = null): \Relay\Relay|array|bool
+ {
+ return $this->initializeLazyObject()->ftConfig(...\func_get_args());
+ }
+
+ public function ftCreate($index, $schema, $options = null): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftCreate(...\func_get_args());
+ }
+
+ public function ftCursor($operation, $index, $cursor, $options = null): \Relay\Relay|array|bool
+ {
+ return $this->initializeLazyObject()->ftCursor(...\func_get_args());
+ }
+
+ public function ftDictAdd($dict, $term, ...$other_terms): \Relay\Relay|false|int
+ {
+ return $this->initializeLazyObject()->ftDictAdd(...\func_get_args());
+ }
+
+ public function ftDictDel($dict, $term, ...$other_terms): \Relay\Relay|false|int
+ {
+ return $this->initializeLazyObject()->ftDictDel(...\func_get_args());
+ }
+
+ public function ftDictDump($dict): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftDictDump(...\func_get_args());
+ }
+
+ public function ftDropIndex($index, $dd = false): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftDropIndex(...\func_get_args());
+ }
+
+ public function ftExplain($index, $query, $dialect = 0): \Relay\Relay|false|string
+ {
+ return $this->initializeLazyObject()->ftExplain(...\func_get_args());
+ }
+
+ public function ftExplainCli($index, $query, $dialect = 0): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftExplainCli(...\func_get_args());
+ }
+
+ public function ftInfo($index): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftInfo(...\func_get_args());
+ }
+
+ public function ftProfile($index, $command, $query, $limited = false): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftProfile(...\func_get_args());
+ }
+
+ public function ftSearch($index, $query, $options = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftSearch(...\func_get_args());
+ }
+
+ public function ftSpellCheck($index, $query, $options = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftSpellCheck(...\func_get_args());
+ }
+
+ public function ftSynDump($index): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftSynDump(...\func_get_args());
+ }
+
+ public function ftSynUpdate($index, $synonym, $term_or_terms, $skipinitialscan = false): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->ftSynUpdate(...\func_get_args());
+ }
+
+ public function ftTagVals($index, $tag): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->ftTagVals(...\func_get_args());
+ }
+ }
+} else {
+ /**
+ * @internal
+ */
+ trait FtTrait
+ {
+ }
+}
diff --git a/src/Symfony/Component/Cache/Traits/Relay/GetWithMetaTrait.php b/src/Symfony/Component/Cache/Traits/Relay/GetWithMetaTrait.php
new file mode 100644
index 0000000000000..79a75ede54ee8
--- /dev/null
+++ b/src/Symfony/Component/Cache/Traits/Relay/GetWithMetaTrait.php
@@ -0,0 +1,32 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Cache\Traits\Relay;
+
+if (version_compare(phpversion('relay'), '0.10.1', '>=')) {
+ /**
+ * @internal
+ */
+ trait GetWithMetaTrait
+ {
+ public function getWithMeta($key): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->getWithMeta(...\func_get_args());
+ }
+ }
+} else {
+ /**
+ * @internal
+ */
+ trait GetWithMetaTrait
+ {
+ }
+}
diff --git a/src/Symfony/Component/Cache/Traits/Relay/IsTrackedTrait.php b/src/Symfony/Component/Cache/Traits/Relay/IsTrackedTrait.php
new file mode 100644
index 0000000000000..28520802959bb
--- /dev/null
+++ b/src/Symfony/Component/Cache/Traits/Relay/IsTrackedTrait.php
@@ -0,0 +1,32 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Cache\Traits\Relay;
+
+if (version_compare(phpversion('relay'), '0.11.1', '>=')) {
+ /**
+ * @internal
+ */
+ trait IsTrackedTrait
+ {
+ public function isTracked($key): bool
+ {
+ return $this->initializeLazyObject()->isTracked(...\func_get_args());
+ }
+ }
+} else {
+ /**
+ * @internal
+ */
+ trait IsTrackedTrait
+ {
+ }
+}
diff --git a/src/Symfony/Component/Cache/Traits/Relay/Relay11Trait.php b/src/Symfony/Component/Cache/Traits/Relay/Relay11Trait.php
new file mode 100644
index 0000000000000..eeeeb456c330e
--- /dev/null
+++ b/src/Symfony/Component/Cache/Traits/Relay/Relay11Trait.php
@@ -0,0 +1,132 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Cache\Traits\Relay;
+
+if (version_compare(phpversion('relay'), '0.11.0', '>=')) {
+ /**
+ * @internal
+ */
+ trait Relay11Trait
+ {
+ public function cmsIncrBy($key, $field, $value, ...$fields_and_falues): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->cmsIncrBy(...\func_get_args());
+ }
+
+ public function cmsInfo($key): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->cmsInfo(...\func_get_args());
+ }
+
+ public function cmsInitByDim($key, $width, $depth): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->cmsInitByDim(...\func_get_args());
+ }
+
+ public function cmsInitByProb($key, $error, $probability): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->cmsInitByProb(...\func_get_args());
+ }
+
+ public function cmsMerge($dstkey, $keys, $weights = []): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->cmsMerge(...\func_get_args());
+ }
+
+ public function cmsQuery($key, ...$fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->cmsQuery(...\func_get_args());
+ }
+
+ public function commandlog($subcmd, ...$args): \Relay\Relay|array|bool|int
+ {
+ return $this->initializeLazyObject()->commandlog(...\func_get_args());
+ }
+
+ public function hexpire($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hexpire(...\func_get_args());
+ }
+
+ public function hexpireat($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hexpireat(...\func_get_args());
+ }
+
+ public function hexpiretime($hash, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hexpiretime(...\func_get_args());
+ }
+
+ public function hgetdel($key, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hgetdel(...\func_get_args());
+ }
+
+ public function hgetex($hash, $fields, $expiry = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hgetex(...\func_get_args());
+ }
+
+ public function hpersist($hash, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hpersist(...\func_get_args());
+ }
+
+ public function hpexpire($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hpexpire(...\func_get_args());
+ }
+
+ public function hpexpireat($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hpexpireat(...\func_get_args());
+ }
+
+ public function hpexpiretime($hash, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hpexpiretime(...\func_get_args());
+ }
+
+ public function hpttl($hash, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->hpttl(...\func_get_args());
+ }
+
+ public function hsetex($key, $fields, $expiry = null): \Relay\Relay|false|int
+ {
+ return $this->initializeLazyObject()->hsetex(...\func_get_args());
+ }
+
+ public function httl($hash, $fields): \Relay\Relay|array|false
+ {
+ return $this->initializeLazyObject()->httl(...\func_get_args());
+ }
+
+ public function serverName(): false|string
+ {
+ return $this->initializeLazyObject()->serverName(...\func_get_args());
+ }
+
+ public function serverVersion(): false|string
+ {
+ return $this->initializeLazyObject()->serverVersion(...\func_get_args());
+ }
+ }
+} else {
+ /**
+ * @internal
+ */
+ trait Relay11Trait
+ {
+ }
+}
diff --git a/src/Symfony/Component/Cache/Traits/Relay/SwapdbTrait.php b/src/Symfony/Component/Cache/Traits/Relay/SwapdbTrait.php
new file mode 100644
index 0000000000000..46cb2fec81d29
--- /dev/null
+++ b/src/Symfony/Component/Cache/Traits/Relay/SwapdbTrait.php
@@ -0,0 +1,32 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Cache\Traits\Relay;
+
+if (version_compare(phpversion('relay'), '0.9.0', '>=')) {
+ /**
+ * @internal
+ */
+ trait SwapdbTrait
+ {
+ public function swapdb($index1, $index2): \Relay\Relay|bool
+ {
+ return $this->initializeLazyObject()->swapdb(...\func_get_args());
+ }
+ }
+} else {
+ /**
+ * @internal
+ */
+ trait SwapdbTrait
+ {
+ }
+}
diff --git a/src/Symfony/Component/Cache/Traits/RelayProxy.php b/src/Symfony/Component/Cache/Traits/RelayProxy.php
index b6d48dd543dba..43b8956771749 100644
--- a/src/Symfony/Component/Cache/Traits/RelayProxy.php
+++ b/src/Symfony/Component/Cache/Traits/RelayProxy.php
@@ -13,12 +13,17 @@
use Symfony\Component\Cache\Traits\Relay\BgsaveTrait;
use Symfony\Component\Cache\Traits\Relay\CopyTrait;
+use Symfony\Component\Cache\Traits\Relay\FtTrait;
use Symfony\Component\Cache\Traits\Relay\GeosearchTrait;
use Symfony\Component\Cache\Traits\Relay\GetrangeTrait;
+use Symfony\Component\Cache\Traits\Relay\GetWithMetaTrait;
use Symfony\Component\Cache\Traits\Relay\HsetTrait;
+use Symfony\Component\Cache\Traits\Relay\IsTrackedTrait;
use Symfony\Component\Cache\Traits\Relay\MoveTrait;
use Symfony\Component\Cache\Traits\Relay\NullableReturnTrait;
use Symfony\Component\Cache\Traits\Relay\PfcountTrait;
+use Symfony\Component\Cache\Traits\Relay\Relay11Trait;
+use Symfony\Component\Cache\Traits\Relay\SwapdbTrait;
use Symfony\Component\VarExporter\LazyObjectInterface;
use Symfony\Contracts\Service\ResetInterface;
@@ -34,9 +39,12 @@ class RelayProxy extends \Relay\Relay implements ResetInterface, LazyObjectInter
{
use BgsaveTrait;
use CopyTrait;
+ use FtTrait;
use GeosearchTrait;
use GetrangeTrait;
+ use GetWithMetaTrait;
use HsetTrait;
+ use IsTrackedTrait;
use MoveTrait;
use NullableReturnTrait;
use PfcountTrait;
@@ -44,6 +52,8 @@ class RelayProxy extends \Relay\Relay implements ResetInterface, LazyObjectInter
resetLazyObject as reset;
}
use RelayProxyTrait;
+ use Relay11Trait;
+ use SwapdbTrait;
public function __construct($host = null, $port = 6379, $connect_timeout = 0.0, $command_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0)
{
diff --git a/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php b/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php
index ddd6dbb291051..d7689901600ba 100644
--- a/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php
+++ b/src/Symfony/Component/Config/Builder/ConfigBuilderGenerator.php
@@ -126,10 +126,13 @@ private function handleArrayNode(ArrayNode $node, ClassBuilder $class, string $n
$class->addRequire($childClass);
$this->classes[] = $childClass;
+ $nodeTypes = $this->getParameterTypes($node);
+ $paramType = $this->getParamType($nodeTypes);
+
$hasNormalizationClosures = $this->hasNormalizationClosures($node);
$comment = $this->getComment($node);
- if ($hasNormalizationClosures) {
- $comment = \sprintf(" * @template TValue\n * @param TValue \$value\n%s", $comment);
+ if ($hasNormalizationClosures && 'array' !== $paramType) {
+ $comment = \sprintf(" * @template TValue of %s\n * @param TValue \$value\n%s", $paramType, $comment);
$comment .= \sprintf(' * @return %s|$this'."\n", $childClass->getFqcn());
$comment .= \sprintf(' * @psalm-return (TValue is array ? %s : static)'."\n ", $childClass->getFqcn());
}
@@ -141,8 +144,7 @@ private function handleArrayNode(ArrayNode $node, ClassBuilder $class, string $n
$node->getName(),
$this->getType($childClass->getFqcn(), $hasNormalizationClosures)
);
- $nodeTypes = $this->getParameterTypes($node);
- $body = $hasNormalizationClosures ? '
+ $body = $hasNormalizationClosures && 'array' !== $paramType ? '
COMMENTpublic function NAME(PARAM_TYPE $value = []): CLASS|static
{
if (!\is_array($value)) {
@@ -177,7 +179,7 @@ private function handleArrayNode(ArrayNode $node, ClassBuilder $class, string $n
'COMMENT' => $comment,
'PROPERTY' => $property->getName(),
'CLASS' => $childClass->getFqcn(),
- 'PARAM_TYPE' => \in_array('mixed', $nodeTypes, true) ? 'mixed' : implode('|', $nodeTypes),
+ 'PARAM_TYPE' => $paramType,
]);
$this->buildNode($node, $childClass, $this->getSubNamespace($childClass));
@@ -217,10 +219,11 @@ private function handlePrototypedArrayNode(PrototypedArrayNode $node, ClassBuild
$nodeParameterTypes = $this->getParameterTypes($node);
$prototypeParameterTypes = $this->getParameterTypes($prototype);
+ $noKey = null === $key = $node->getKeyAttribute();
if (!$prototype instanceof ArrayNode || ($prototype instanceof PrototypedArrayNode && $prototype->getPrototype() instanceof ScalarNode)) {
$class->addUse(ParamConfigurator::class);
$property = $class->addProperty($node->getName());
- if (null === $key = $node->getKeyAttribute()) {
+ if ($noKey) {
// This is an array of values; don't use singular name
$nodeTypesWithoutArray = array_filter($nodeParameterTypes, static fn ($type) => 'array' !== $type);
$body = '
@@ -241,7 +244,7 @@ public function NAME(PARAM_TYPE $value): static
'PROPERTY' => $property->getName(),
'PROTOTYPE_TYPE' => implode('|', $prototypeParameterTypes),
'EXTRA_TYPE' => $nodeTypesWithoutArray ? '|'.implode('|', $nodeTypesWithoutArray) : '',
- 'PARAM_TYPE' => \in_array('mixed', $nodeParameterTypes, true) ? 'mixed' : 'ParamConfigurator|'.implode('|', $nodeParameterTypes),
+ 'PARAM_TYPE' => $this->getParamType($nodeParameterTypes, true),
]);
} else {
$body = '
@@ -258,7 +261,7 @@ public function NAME(string $VAR, TYPE $VALUE): static
$class->addMethod($methodName, $body, [
'PROPERTY' => $property->getName(),
- 'TYPE' => \in_array('mixed', $prototypeParameterTypes, true) ? 'mixed' : 'ParamConfigurator|'.implode('|', $prototypeParameterTypes),
+ 'TYPE' => $this->getParamType($prototypeParameterTypes, true),
'VAR' => '' === $key ? 'key' : $key,
'VALUE' => 'value' === $key ? 'data' : 'value',
]);
@@ -279,9 +282,11 @@ public function NAME(string $VAR, TYPE $VALUE): static
$this->getType($childClass->getFqcn().'[]', $hasNormalizationClosures)
);
+ $paramType = $this->getParamType($noKey ? $nodeParameterTypes : $prototypeParameterTypes);
+
$comment = $this->getComment($node);
- if ($hasNormalizationClosures) {
- $comment = \sprintf(" * @template TValue\n * @param TValue \$value\n%s", $comment);
+ if ($hasNormalizationClosures && 'array' !== $paramType) {
+ $comment = \sprintf(" * @template TValue of %s\n * @param TValue \$value\n%s", $paramType, $comment);
$comment .= \sprintf(' * @return %s|$this'."\n", $childClass->getFqcn());
$comment .= \sprintf(' * @psalm-return (TValue is array ? %s : static)'."\n ", $childClass->getFqcn());
}
@@ -289,8 +294,8 @@ public function NAME(string $VAR, TYPE $VALUE): static
$comment = "/**\n$comment*/\n";
}
- if (null === $key = $node->getKeyAttribute()) {
- $body = $hasNormalizationClosures ? '
+ if ($noKey) {
+ $body = $hasNormalizationClosures && 'array' !== $paramType ? '
COMMENTpublic function NAME(PARAM_TYPE $value = []): CLASS|static
{
$this->_usedProperties[\'PROPERTY\'] = true;
@@ -312,10 +317,10 @@ public function NAME(string $VAR, TYPE $VALUE): static
'COMMENT' => $comment,
'PROPERTY' => $property->getName(),
'CLASS' => $childClass->getFqcn(),
- 'PARAM_TYPE' => \in_array('mixed', $nodeParameterTypes, true) ? 'mixed' : implode('|', $nodeParameterTypes),
+ 'PARAM_TYPE' => $paramType,
]);
} else {
- $body = $hasNormalizationClosures ? '
+ $body = $hasNormalizationClosures && 'array' !== $paramType ? '
COMMENTpublic function NAME(string $VAR, PARAM_TYPE $VALUE = []): CLASS|static
{
if (!\is_array($VALUE)) {
@@ -351,7 +356,7 @@ public function NAME(string $VAR, TYPE $VALUE): static
'CLASS' => $childClass->getFqcn(),
'VAR' => '' === $key ? 'key' : $key,
'VALUE' => 'value' === $key ? 'data' : 'value',
- 'PARAM_TYPE' => \in_array('mixed', $prototypeParameterTypes, true) ? 'mixed' : implode('|', $prototypeParameterTypes),
+ 'PARAM_TYPE' => $paramType,
]);
}
@@ -596,4 +601,9 @@ private function getType(string $classType, bool $hasNormalizationClosures): str
{
return $classType.($hasNormalizationClosures ? '|scalar' : '');
}
+
+ private function getParamType(array $types, bool $withParamConfigurator = false): string
+ {
+ return \in_array('mixed', $types, true) ? 'mixed' : ($withParamConfigurator ? 'ParamConfigurator|' : '').implode('|', $types);
+ }
}
diff --git a/src/Symfony/Component/Config/ConfigCache.php b/src/Symfony/Component/Config/ConfigCache.php
index 400b6162c5cdd..cee286f486f56 100644
--- a/src/Symfony/Component/Config/ConfigCache.php
+++ b/src/Symfony/Component/Config/ConfigCache.php
@@ -37,7 +37,7 @@ public function __construct(
string $file,
private bool $debug,
?string $metaFile = null,
- array|null $skippedResourceTypes = null,
+ ?array $skippedResourceTypes = null,
) {
$checkers = [];
if ($this->debug) {
diff --git a/src/Symfony/Component/Config/FileLocatorInterface.php b/src/Symfony/Component/Config/FileLocatorInterface.php
index 87cecf47729bb..24bc70964a510 100644
--- a/src/Symfony/Component/Config/FileLocatorInterface.php
+++ b/src/Symfony/Component/Config/FileLocatorInterface.php
@@ -27,10 +27,10 @@ interface FileLocatorInterface
*
* @return string|string[] The full path to the file or an array of file paths
*
+ * @psalm-return ($first is true ? string : string[])
+ *
* @throws \InvalidArgumentException If $name is empty
* @throws FileLocatorFileNotFoundException If a file is not found
- *
- * @psalm-return ($first is true ? string : string[])
*/
public function locate(string $name, ?string $currentPath = null, bool $first = true): string|array;
}
diff --git a/src/Symfony/Component/Config/Resource/ReflectionClassResource.php b/src/Symfony/Component/Config/Resource/ReflectionClassResource.php
index e039329ca9770..5bf026639c8bf 100644
--- a/src/Symfony/Component/Config/Resource/ReflectionClassResource.php
+++ b/src/Symfony/Component/Config/Resource/ReflectionClassResource.php
@@ -122,7 +122,7 @@ private function generateSignature(\ReflectionClass $class): iterable
yield print_r($attributes, true);
$attributes = [];
- yield $class->getDocComment();
+ yield $class->getDocComment() ?: '';
yield (int) $class->isFinal();
yield (int) $class->isAbstract();
@@ -134,6 +134,14 @@ private function generateSignature(\ReflectionClass $class): iterable
yield print_r($class->getConstants(), true);
}
+ foreach ($class->getReflectionConstants() as $constant) {
+ foreach ($constant->getAttributes() as $a) {
+ $attributes[] = [$a->getName(), (string) $a];
+ }
+ yield $constant->name.print_r($attributes, true);
+ $attributes = [];
+ }
+
if (!$class->isInterface()) {
$defaults = $class->getDefaultProperties();
@@ -144,7 +152,7 @@ private function generateSignature(\ReflectionClass $class): iterable
yield print_r($attributes, true);
$attributes = [];
- yield $p->getDocComment();
+ yield $p->getDocComment() ?: '';
yield $p->isDefault() ? '' : '';
yield $p->isPublic() ? 'public' : 'protected';
yield $p->isStatic() ? 'static' : '';
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.config.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.config.php
new file mode 100644
index 0000000000000..642345ca5dd63
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.config.php
@@ -0,0 +1,19 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Config\ArrayValuesConfig;
+
+return static function (ArrayValuesConfig $config) {
+ $config->transports('foo')->dsn('bar');
+ $config->transports('bar', ['dsn' => 'foobar']);
+
+ $config->errorPages()->withTrace(false);
+};
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.output.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.output.php
new file mode 100644
index 0000000000000..ab56d53a2f562
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.output.php
@@ -0,0 +1,24 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return [
+ 'transports' => [
+ 'foo' => [
+ 'dsn' => 'bar',
+ ],
+ 'bar' => [
+ 'dsn' => 'foobar',
+ ],
+ ],
+ 'error_pages' => [
+ 'with_trace' => false,
+ ]
+];
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.php
new file mode 100644
index 0000000000000..457e78a1f7118
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues.php
@@ -0,0 +1,42 @@
+getRootNode();
+ $rootNode
+ ->children()
+ ->arrayNode('transports')
+ ->normalizeKeys(false)
+ ->useAttributeAsKey('name')
+ ->arrayPrototype()
+ ->beforeNormalization()
+ ->ifString()
+ ->then(function (string $dsn) {
+ return ['dsn' => $dsn];
+ })
+ ->end()
+ ->fixXmlConfig('option')
+ ->children()
+ ->scalarNode('dsn')->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('error_pages')
+ ->canBeEnabled()
+ ->children()
+ ->booleanNode('with_trace')->end()
+ ->end()
+ ->end()
+ ->end();
+
+ return $tb;
+ }
+}
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/ErrorPagesConfig.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/ErrorPagesConfig.php
new file mode 100644
index 0000000000000..36ccb016dc6d9
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/ErrorPagesConfig.php
@@ -0,0 +1,75 @@
+_usedProperties['enabled'] = true;
+ $this->enabled = $value;
+
+ return $this;
+ }
+
+ /**
+ * @default null
+ * @param ParamConfigurator|bool $value
+ * @return $this
+ */
+ public function withTrace($value): static
+ {
+ $this->_usedProperties['withTrace'] = true;
+ $this->withTrace = $value;
+
+ return $this;
+ }
+
+ public function __construct(array $value = [])
+ {
+ if (array_key_exists('enabled', $value)) {
+ $this->_usedProperties['enabled'] = true;
+ $this->enabled = $value['enabled'];
+ unset($value['enabled']);
+ }
+
+ if (array_key_exists('with_trace', $value)) {
+ $this->_usedProperties['withTrace'] = true;
+ $this->withTrace = $value['with_trace'];
+ unset($value['with_trace']);
+ }
+
+ if ([] !== $value) {
+ throw new InvalidConfigurationException(sprintf('The following keys are not supported by "%s": ', __CLASS__).implode(', ', array_keys($value)));
+ }
+ }
+
+ public function toArray(): array
+ {
+ $output = [];
+ if (isset($this->_usedProperties['enabled'])) {
+ $output['enabled'] = $this->enabled;
+ }
+ if (isset($this->_usedProperties['withTrace'])) {
+ $output['with_trace'] = $this->withTrace;
+ }
+
+ return $output;
+ }
+
+}
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/TransportsConfig.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/TransportsConfig.php
new file mode 100644
index 0000000000000..c1ad5437834f8
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValues/TransportsConfig.php
@@ -0,0 +1,52 @@
+_usedProperties['dsn'] = true;
+ $this->dsn = $value;
+
+ return $this;
+ }
+
+ public function __construct(array $value = [])
+ {
+ if (array_key_exists('dsn', $value)) {
+ $this->_usedProperties['dsn'] = true;
+ $this->dsn = $value['dsn'];
+ unset($value['dsn']);
+ }
+
+ if ([] !== $value) {
+ throw new InvalidConfigurationException(sprintf('The following keys are not supported by "%s": ', __CLASS__).implode(', ', array_keys($value)));
+ }
+ }
+
+ public function toArray(): array
+ {
+ $output = [];
+ if (isset($this->_usedProperties['dsn'])) {
+ $output['dsn'] = $this->dsn;
+ }
+
+ return $output;
+ }
+
+}
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValuesConfig.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValuesConfig.php
new file mode 100644
index 0000000000000..818a14fcbcd9b
--- /dev/null
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ArrayValues/Symfony/Config/ArrayValuesConfig.php
@@ -0,0 +1,96 @@
+_usedProperties['transports'] = true;
+ $this->transports[$name] = $value;
+
+ return $this;
+ }
+
+ if (!isset($this->transports[$name]) || !$this->transports[$name] instanceof \Symfony\Config\ArrayValues\TransportsConfig) {
+ $this->_usedProperties['transports'] = true;
+ $this->transports[$name] = new \Symfony\Config\ArrayValues\TransportsConfig($value);
+ } elseif (1 < \func_num_args()) {
+ throw new InvalidConfigurationException('The node created by "transports()" has already been initialized. You cannot pass values the second time you call transports().');
+ }
+
+ return $this->transports[$name];
+ }
+
+ /**
+ * @default {"enabled":false}
+ */
+ public function errorPages(array $value = []): \Symfony\Config\ArrayValues\ErrorPagesConfig
+ {
+ if (null === $this->errorPages) {
+ $this->_usedProperties['errorPages'] = true;
+ $this->errorPages = new \Symfony\Config\ArrayValues\ErrorPagesConfig($value);
+ } elseif (0 < \func_num_args()) {
+ throw new InvalidConfigurationException('The node created by "errorPages()" has already been initialized. You cannot pass values the second time you call errorPages().');
+ }
+
+ return $this->errorPages;
+ }
+
+ public function getExtensionAlias(): string
+ {
+ return 'array_values';
+ }
+
+ public function __construct(array $value = [])
+ {
+ if (array_key_exists('transports', $value)) {
+ $this->_usedProperties['transports'] = true;
+ $this->transports = array_map(fn ($v) => \is_array($v) ? new \Symfony\Config\ArrayValues\TransportsConfig($v) : $v, $value['transports']);
+ unset($value['transports']);
+ }
+
+ if (array_key_exists('error_pages', $value)) {
+ $this->_usedProperties['errorPages'] = true;
+ $this->errorPages = \is_array($value['error_pages']) ? new \Symfony\Config\ArrayValues\ErrorPagesConfig($value['error_pages']) : $value['error_pages'];
+ unset($value['error_pages']);
+ }
+
+ if ([] !== $value) {
+ throw new InvalidConfigurationException(sprintf('The following keys are not supported by "%s": ', __CLASS__).implode(', ', array_keys($value)));
+ }
+ }
+
+ public function toArray(): array
+ {
+ $output = [];
+ if (isset($this->_usedProperties['transports'])) {
+ $output['transports'] = array_map(fn ($v) => $v instanceof \Symfony\Config\ArrayValues\TransportsConfig ? $v->toArray() : $v, $this->transports);
+ }
+ if (isset($this->_usedProperties['errorPages'])) {
+ $output['error_pages'] = $this->errorPages instanceof \Symfony\Config\ArrayValues\ErrorPagesConfig ? $this->errorPages->toArray() : $this->errorPages;
+ }
+
+ return $output;
+ }
+
+}
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypes/NestedConfig.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypes/NestedConfig.php
index 2cc1fb3275e78..2b3f19e87fb6f 100644
--- a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypes/NestedConfig.php
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypes/NestedConfig.php
@@ -17,7 +17,7 @@ class NestedConfig
private $_usedProperties = [];
/**
- * @template TValue
+ * @template TValue of mixed
* @param TValue $value
* @default {"enabled":null}
* @return \Symfony\Config\ScalarNormalizedTypes\Nested\NestedObjectConfig|$this
@@ -43,7 +43,7 @@ public function nestedObject(mixed $value = []): \Symfony\Config\ScalarNormalize
}
/**
- * @template TValue
+ * @template TValue of mixed
* @param TValue $value
* @return \Symfony\Config\ScalarNormalizedTypes\Nested\NestedListObjectConfig|$this
* @psalm-return (TValue is array ? \Symfony\Config\ScalarNormalizedTypes\Nested\NestedListObjectConfig : static)
diff --git a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypesConfig.php b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypesConfig.php
index 1794ede72e18c..66107b8f19730 100644
--- a/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypesConfig.php
+++ b/src/Symfony/Component/Config/Tests/Builder/Fixtures/ScalarNormalizedTypes/Symfony/Config/ScalarNormalizedTypesConfig.php
@@ -48,7 +48,7 @@ public function keyedArray(string $name, ParamConfigurator|string|array $value):
}
/**
- * @template TValue
+ * @template TValue of mixed
* @param TValue $value
* @default {"enabled":null}
* @return \Symfony\Config\ScalarNormalizedTypes\ObjectConfig|$this
@@ -74,7 +74,7 @@ public function object(mixed $value = []): \Symfony\Config\ScalarNormalizedTypes
}
/**
- * @template TValue
+ * @template TValue of mixed
* @param TValue $value
* @return \Symfony\Config\ScalarNormalizedTypes\ListObjectConfig|$this
* @psalm-return (TValue is array ? \Symfony\Config\ScalarNormalizedTypes\ListObjectConfig : static)
@@ -92,7 +92,7 @@ public function listObject(mixed $value = []): \Symfony\Config\ScalarNormalizedT
}
/**
- * @template TValue
+ * @template TValue of mixed
* @param TValue $value
* @return \Symfony\Config\ScalarNormalizedTypes\KeyedListObjectConfig|$this
* @psalm-return (TValue is array ? \Symfony\Config\ScalarNormalizedTypes\KeyedListObjectConfig : static)
diff --git a/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php b/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php
index 680010f00fc3c..856bcf279575e 100644
--- a/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php
+++ b/src/Symfony/Component/Config/Tests/Builder/GeneratedConfigTest.php
@@ -58,6 +58,7 @@ public static function fixtureNames()
'AddToList' => 'add_to_list',
'NodeInitialValues' => 'node_initial_values',
'ArrayExtraKeys' => 'array_extra_keys',
+ 'ArrayValues' => 'array_values',
];
foreach ($array as $name => $alias) {
@@ -159,10 +160,12 @@ public function testSetExtraKeyMethodIsNotGeneratedWhenAllowExtraKeysIsFalse()
*/
private function generateConfigBuilder(string $configurationClass, ?string &$outputDir = null)
{
- $outputDir = tempnam(sys_get_temp_dir(), 'sf_config_builder_');
- unlink($outputDir);
- mkdir($outputDir);
- $this->tempDir[] = $outputDir;
+ if (null === $outputDir) {
+ $outputDir = tempnam(sys_get_temp_dir(), 'sf_config_builder_');
+ unlink($outputDir);
+ mkdir($outputDir);
+ $this->tempDir[] = $outputDir;
+ }
$configuration = new $configurationClass();
$rootNode = $configuration->getConfigTreeBuilder()->buildTree();
@@ -193,6 +196,8 @@ private function assertDirectorySame($expected, $current)
}
$currentFiles[substr($file->getPathname(), \strlen($current))] = $file->getPathname();
}
+ ksort($expectedFiles);
+ ksort($currentFiles);
$this->assertSame(array_keys($expectedFiles), array_keys($currentFiles));
foreach ($expectedFiles as $fileName => $filePath) {
diff --git a/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php
index e7e36a0635933..26c5088636aaa 100644
--- a/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php
+++ b/src/Symfony/Component/Config/Tests/Resource/ReflectionClassResourceTest.php
@@ -195,6 +195,30 @@ public function testIgnoresObjectsInSignature()
TestServiceWithStaticProperty::$initializedObject = new TestServiceWithStaticProperty();
$this->assertTrue($res->isFresh(0));
}
+
+ public function testEnum()
+ {
+ $res = new ReflectionClassResource($enum = new \ReflectionClass(SomeEnum::class));
+ $r = new \ReflectionClass(ReflectionClassResource::class);
+ $generateSignature = $r->getMethod('generateSignature')->getClosure($res);
+ $actual = implode("\n", iterator_to_array($generateSignature($enum)));
+ $this->assertStringContainsString('UnitEnum', $actual);
+ $this->assertStringContainsString('TestAttribute', $actual);
+ $this->assertStringContainsString('Beta', $actual);
+ }
+
+ public function testBackedEnum()
+ {
+ $res = new ReflectionClassResource($enum = new \ReflectionClass(SomeBackedEnum::class));
+ $r = new \ReflectionClass(ReflectionClassResource::class);
+ $generateSignature = $r->getMethod('generateSignature')->getClosure($res);
+ $actual = implode("\n", iterator_to_array($generateSignature($enum)));
+ $this->assertStringContainsString('UnitEnum', $actual);
+ $this->assertStringContainsString('BackedEnum', $actual);
+ $this->assertStringContainsString('TestAttribute', $actual);
+ $this->assertStringContainsString('Beta', $actual);
+ $this->assertStringContainsString('beta', $actual);
+ }
}
interface DummyInterface
@@ -225,3 +249,19 @@ class TestServiceWithStaticProperty
{
public static object $initializedObject;
}
+
+enum SomeEnum
+{
+ case Alpha;
+
+ #[TestAttribute]
+ case Beta;
+}
+
+enum SomeBackedEnum: string
+{
+ case Alpha = 'alpha';
+
+ #[TestAttribute]
+ case Beta = 'beta';
+}
diff --git a/src/Symfony/Component/Console/Command/TraceableCommand.php b/src/Symfony/Component/Console/Command/TraceableCommand.php
index 9ffb68da39766..9df467b0df854 100644
--- a/src/Symfony/Component/Console/Command/TraceableCommand.php
+++ b/src/Symfony/Component/Console/Command/TraceableCommand.php
@@ -283,7 +283,7 @@ public function run(InputInterface $input, OutputInterface $output): int
$event = $this->stopwatch->start($this->getName(), 'command');
try {
- $this->exitCode = parent::run($input, $output);
+ $this->exitCode = $this->command->run($input, $output);
} finally {
$event->stop();
diff --git a/src/Symfony/Component/Console/Descriptor/JsonDescriptor.php b/src/Symfony/Component/Console/Descriptor/JsonDescriptor.php
index 956303709645f..9a8e696cd4135 100644
--- a/src/Symfony/Component/Console/Descriptor/JsonDescriptor.php
+++ b/src/Symfony/Component/Console/Descriptor/JsonDescriptor.php
@@ -108,7 +108,7 @@ private function getInputOptionData(InputOption $option, bool $negated = false):
'is_value_required' => false,
'is_multiple' => false,
'description' => 'Negate the "--'.$option->getName().'" option',
- 'default' => false,
+ 'default' => null === $option->getDefault() ? null : !$option->getDefault(),
] : [
'name' => '--'.$option->getName(),
'shortcut' => $option->getShortcut() ? '-'.str_replace('|', '|-', $option->getShortcut()) : '',
diff --git a/src/Symfony/Component/Console/Formatter/OutputFormatter.php b/src/Symfony/Component/Console/Formatter/OutputFormatter.php
index 3c8c287e8375f..eab86976d9e76 100644
--- a/src/Symfony/Component/Console/Formatter/OutputFormatter.php
+++ b/src/Symfony/Component/Console/Formatter/OutputFormatter.php
@@ -12,6 +12,7 @@
namespace Symfony\Component\Console\Formatter;
use Symfony\Component\Console\Exception\InvalidArgumentException;
+use Symfony\Component\Console\Helper\Helper;
use function Symfony\Component\String\b;
@@ -136,9 +137,11 @@ public function formatAndWrap(?string $message, int $width): string
continue;
}
+ // convert byte position to character position.
+ $pos = Helper::length(substr($message, 0, $pos));
// add the text up to the next tag
- $output .= $this->applyCurrentStyle(substr($message, $offset, $pos - $offset), $output, $width, $currentLineLength);
- $offset = $pos + \strlen($text);
+ $output .= $this->applyCurrentStyle(Helper::substr($message, $offset, $pos - $offset), $output, $width, $currentLineLength);
+ $offset = $pos + Helper::length($text);
// opening tag?
if ($open = '/' !== $text[1]) {
@@ -159,7 +162,7 @@ public function formatAndWrap(?string $message, int $width): string
}
}
- $output .= $this->applyCurrentStyle(substr($message, $offset), $output, $width, $currentLineLength);
+ $output .= $this->applyCurrentStyle(Helper::substr($message, $offset), $output, $width, $currentLineLength);
return strtr($output, ["\0" => '\\', '\\<' => '<', '\\>' => '>']);
}
@@ -226,8 +229,18 @@ private function applyCurrentStyle(string $text, string $current, int $width, in
}
if ($currentLineLength) {
- $prefix = substr($text, 0, $i = $width - $currentLineLength)."\n";
- $text = substr($text, $i);
+ $lines = explode("\n", $text, 2);
+ $prefix = Helper::substr($lines[0], 0, $i = $width - $currentLineLength)."\n";
+ $text = Helper::substr($lines[0], $i);
+
+ if (isset($lines[1])) {
+ // $prefix may contain the full first line in which the \n is already a part of $prefix.
+ if ('' !== $text) {
+ $text .= "\n";
+ }
+
+ $text .= $lines[1];
+ }
} else {
$prefix = '';
}
@@ -242,8 +255,8 @@ private function applyCurrentStyle(string $text, string $current, int $width, in
$lines = explode("\n", $text);
- foreach ($lines as $line) {
- $currentLineLength += \strlen($line);
+ foreach ($lines as $i => $line) {
+ $currentLineLength = 0 === $i ? $currentLineLength + Helper::length($line) : Helper::length($line);
if ($width <= $currentLineLength) {
$currentLineLength = 0;
}
diff --git a/src/Symfony/Component/Console/Helper/Helper.php b/src/Symfony/Component/Console/Helper/Helper.php
index f10676685c14c..503fe55717228 100644
--- a/src/Symfony/Component/Console/Helper/Helper.php
+++ b/src/Symfony/Component/Console/Helper/Helper.php
@@ -80,6 +80,10 @@ public static function substr(?string $string, int $from, ?int $length = null):
{
$string ??= '';
+ if (preg_match('//u', $string)) {
+ return (new UnicodeString($string))->slice($from, $length);
+ }
+
if (false === $encoding = mb_detect_encoding($string, null, true)) {
return substr($string, $from, $length);
}
diff --git a/src/Symfony/Component/Console/Helper/QuestionHelper.php b/src/Symfony/Component/Console/Helper/QuestionHelper.php
index 69afc2a67946f..8e1591ec1b14a 100644
--- a/src/Symfony/Component/Console/Helper/QuestionHelper.php
+++ b/src/Symfony/Component/Console/Helper/QuestionHelper.php
@@ -55,7 +55,7 @@ public function ask(InputInterface $input, OutputInterface $output, Question $qu
}
$inputStream = $input instanceof StreamableInputInterface ? $input->getStream() : null;
- $inputStream ??= STDIN;
+ $inputStream ??= \STDIN;
try {
if (!$question->getValidator()) {
diff --git a/src/Symfony/Component/Console/Messenger/RunCommandMessageHandler.php b/src/Symfony/Component/Console/Messenger/RunCommandMessageHandler.php
index 0fdf7d01724ac..df5f48af09b92 100644
--- a/src/Symfony/Component/Console/Messenger/RunCommandMessageHandler.php
+++ b/src/Symfony/Component/Console/Messenger/RunCommandMessageHandler.php
@@ -16,6 +16,8 @@
use Symfony\Component\Console\Exception\RunCommandFailedException;
use Symfony\Component\Console\Input\StringInput;
use Symfony\Component\Console\Output\BufferedOutput;
+use Symfony\Component\Messenger\Exception\RecoverableExceptionInterface;
+use Symfony\Component\Messenger\Exception\UnrecoverableExceptionInterface;
/**
* @author Kevin Bond
@@ -36,6 +38,8 @@ public function __invoke(RunCommandMessage $message): RunCommandContext
try {
$exitCode = $this->application->run($input, $output);
+ } catch (UnrecoverableExceptionInterface|RecoverableExceptionInterface $e) {
+ throw $e;
} catch (\Throwable $e) {
throw new RunCommandFailedException($e, new RunCommandContext($message, Command::FAILURE, $output->fetch()));
}
diff --git a/src/Symfony/Component/Console/Tests/Command/TraceableCommandTest.php b/src/Symfony/Component/Console/Tests/Command/TraceableCommandTest.php
new file mode 100644
index 0000000000000..1bf709f8bce0e
--- /dev/null
+++ b/src/Symfony/Component/Console/Tests/Command/TraceableCommandTest.php
@@ -0,0 +1,67 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Console\Tests\Command;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Console\Application;
+use Symfony\Component\Console\Command\TraceableCommand;
+use Symfony\Component\Console\Tester\CommandTester;
+use Symfony\Component\Console\Tests\Fixtures\LoopExampleCommand;
+use Symfony\Component\Stopwatch\Stopwatch;
+
+class TraceableCommandTest extends TestCase
+{
+ private Application $application;
+
+ protected function setUp(): void
+ {
+ $this->application = new Application();
+ $this->application->add(new LoopExampleCommand());
+ }
+
+ public function testRunIsOverriddenWithoutProfile()
+ {
+ $command = $this->application->find('app:loop:example');
+ $commandTester = new CommandTester($command);
+ $commandTester->execute([]);
+ $commandTester->assertCommandIsSuccessful();
+
+ $output = $commandTester->getDisplay();
+ $this->assertLoopOutputCorrectness($output);
+ }
+
+ public function testRunIsNotOverriddenWithProfile()
+ {
+ // Simulate the bug environment by wrapping
+ // our command in TraceableCommand, which is what Symfony does
+ // when you use the --profile option.
+ $command = new LoopExampleCommand();
+ $traceableCommand = new TraceableCommand($command, new Stopwatch());
+
+ $this->application->add($traceableCommand);
+
+ $commandTester = new CommandTester($traceableCommand);
+ $commandTester->execute([]);
+ $commandTester->assertCommandIsSuccessful();
+
+ $output = $commandTester->getDisplay();
+ $this->assertLoopOutputCorrectness($output);
+ }
+
+ public function assertLoopOutputCorrectness(string $output)
+ {
+ $completeChar = '\\' !== \DIRECTORY_SEPARATOR ? '▓' : '=';
+ self::assertMatchesRegularExpression('~3/3\s+\['.$completeChar.'+]\s+100%~u', $output);
+ self::assertStringContainsString('Loop finished.', $output);
+ self::assertEquals(3, substr_count($output, 'Hello world'));
+ }
+}
diff --git a/src/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php b/src/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php
index 399bd8f2368db..914ed35970c7c 100644
--- a/src/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php
+++ b/src/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php
@@ -36,10 +36,9 @@ private function normalizeOutputRecursively($output)
return array_map($this->normalizeOutputRecursively(...), $output);
}
- if (null === $output) {
- return null;
- }
-
- return parent::normalizeOutput($output);
+ return match ($output) {
+ null, true, false => $output,
+ default => parent::normalizeOutput($output),
+ };
}
}
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/AbstractLoopCommand.php b/src/Symfony/Component/Console/Tests/Fixtures/AbstractLoopCommand.php
new file mode 100644
index 0000000000000..c3715067ebcb3
--- /dev/null
+++ b/src/Symfony/Component/Console/Tests/Fixtures/AbstractLoopCommand.php
@@ -0,0 +1,41 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Console\Tests\Fixtures;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+
+abstract class AbstractLoopCommand extends Command
+{
+ public function run(InputInterface $input, OutputInterface $output): int
+ {
+ $io = new SymfonyStyle($input, $output);
+ $contexts = [1, 2, 3];
+ $io->progressStart(count($contexts));
+ $code = self::SUCCESS;
+
+ foreach ($contexts as $ignored) {
+ $io->progressAdvance();
+ try {
+ parent::run($input, $output);
+ } catch (\Throwable) {
+ $code = self::FAILURE;
+ }
+ }
+ $io->progressFinish();
+ $output->writeln("\nLoop finished.");
+
+ return $code;
+ }
+}
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/LoopExampleCommand.php b/src/Symfony/Component/Console/Tests/Fixtures/LoopExampleCommand.php
new file mode 100644
index 0000000000000..d9eeb4db97f67
--- /dev/null
+++ b/src/Symfony/Component/Console/Tests/Fixtures/LoopExampleCommand.php
@@ -0,0 +1,28 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Console\Tests\Fixtures;
+
+use Symfony\Component\Console\Attribute\AsCommand;
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+#[AsCommand('app:loop:example')]
+class LoopExampleCommand extends AbstractLoopCommand
+{
+ protected function execute(InputInterface $input, OutputInterface $output): int
+ {
+ $output->writeln(' Hello world');
+
+ return Command::SUCCESS;
+ }
+}
diff --git a/src/Symfony/Component/Console/Tests/Fixtures/application_2.json b/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
index 4a6f411f55c48..c0e66444e9b15 100644
--- a/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
+++ b/src/Symfony/Component/Console/Tests/Fixtures/application_2.json
@@ -94,7 +94,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
},
"shell": {
"name": "--shell",
@@ -224,7 +224,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
},
"debug": {
"name": "--debug",
@@ -345,7 +345,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
}
}
}
@@ -457,7 +457,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
},
"short": {
"name": "--short",
@@ -554,7 +554,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
}
}
}
@@ -659,7 +659,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
}
}
}
@@ -745,7 +745,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
}
}
}
@@ -833,7 +833,7 @@
"is_value_required": false,
"is_multiple": false,
"description": "Do not ask any interactive question",
- "default": false
+ "default": null
}
}
}
diff --git a/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php b/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
index 477f1bdf6bd70..b66b6abe487a2 100644
--- a/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
+++ b/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
@@ -177,7 +177,7 @@ public function testInlineStyleOptions(string $tag, ?string $expected = null, ?s
$expected = $tag.$input.''.$styleString.'>';
$this->assertSame($expected, $formatter->format($expected));
} else {
- /* @var OutputFormatterStyle $result */
+ /** @var OutputFormatterStyle $result */
$this->assertInstanceOf(OutputFormatterStyle::class, $result);
$this->assertSame($expected, $formatter->format($tag.$input.'>'));
$this->assertSame($expected, $formatter->format($tag.$input.''.$styleString.'>'));
@@ -365,6 +365,14 @@ public function testFormatAndWrap()
$this->assertSame("Lore\nm \e[37;41mip\e[39;49m\n\e[37;41msum\e[39;49m \ndolo\nr \e[32msi\e[39m\n\e[32mt\e[39m am\net", $formatter->formatAndWrap('Lorem ipsum dolor sit amet', 4));
$this->assertSame("Lorem \e[37;41mip\e[39;49m\n\e[37;41msum\e[39;49m dolo\nr \e[32msit\e[39m am\net", $formatter->formatAndWrap('Lorem ipsum dolor sit amet', 8));
$this->assertSame("Lorem \e[37;41mipsum\e[39;49m dolor \e[32m\e[39m\n\e[32msit\e[39m, \e[37;41mamet\e[39;49m et \e[32mlauda\e[39m\n\e[32mntium\e[39m architecto", $formatter->formatAndWrap('Lorem ipsum dolor sit, amet et laudantium architecto', 18));
+ $this->assertSame("\e[37;41mnon-empty-array\e[39;49m\e[37;41m\e[39;49m given.\n🪪 argument.type", $formatter->formatAndWrap("non-empty-array given.\n🪪 argument.type", 38));
+ $this->assertSame("Usuário {{user_name}} não é válid\no.", $formatter->formatAndWrap('Usuário {{user_name}} não é válido.', 50));
+ $this->assertSame("foo\e[37;41mb\e[39;49m\n\e[37;41mar\e[39;49mbaz", $formatter->formatAndWrap("foob\narbaz", 7));
+ $this->assertSame("foo\e[37;41mbar\e[39;49mbaz\nnewline", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobarbaz\n\e[37;41mnewline\e[39;49m", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobar\e[37;41mbaz\e[39;49m\n\e[37;41mnewline\e[39;49m", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobar\e[37;41mbazne\e[39;49m\n\e[37;41mwline\e[39;49m", $formatter->formatAndWrap("foobarbazne\nwline", 11));
+ $this->assertSame("foobar\e[37;41mbazne\e[39;49m\n\e[37;41mw\e[39;49m\n\e[37;41mline\e[39;49m", $formatter->formatAndWrap("foobarbaznew\nline", 11));
$formatter = new OutputFormatter();
@@ -376,6 +384,14 @@ public function testFormatAndWrap()
$this->assertSame("Â rèälly\nlöng tîtlè\nthät cöüld\nnèêd\nmúltîplê\nlínès", $formatter->formatAndWrap('Â rèälly löng tîtlè thät cöüld nèêd múltîplê línès', 10));
$this->assertSame("Â rèälly\nlöng tîtlè\nthät cöüld\nnèêd\nmúltîplê\n línès", $formatter->formatAndWrap("Â rèälly löng tîtlè thät cöüld nèêd múltîplê\n línès", 10));
$this->assertSame('', $formatter->formatAndWrap(null, 5));
+ $this->assertSame("non-empty-array given.\n🪪 argument.type", $formatter->formatAndWrap("non-empty-array given.\n🪪 argument.type", 38));
+ $this->assertSame("Usuário {{user_name}} não é válid\no.", $formatter->formatAndWrap('Usuário {{user_name}} não é válido.', 50));
+ $this->assertSame("foob\narbaz", $formatter->formatAndWrap("foob\narbaz", 7));
+ $this->assertSame("foobarbaz\nnewline", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobarbaz\nnewline", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobarbaz\nnewline", $formatter->formatAndWrap("foobarbaz\nnewline", 11));
+ $this->assertSame("foobarbazne\nwline", $formatter->formatAndWrap("foobarbazne\nwline", 11));
+ $this->assertSame("foobarbazne\nw\nline", $formatter->formatAndWrap("foobarbaznew\nline", 11));
}
}
diff --git a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php
index 0df42e738a6f6..f7de341797e7d 100644
--- a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php
@@ -423,7 +423,7 @@ public function testOverwriteWithSectionOutputAndEol()
$output = new ConsoleSectionOutput($stream->getStream(), $sections, $stream->getVerbosity(), $stream->isDecorated(), new OutputFormatter());
$bar = new ProgressBar($output, 50, 0);
- $bar->setFormat('[%bar%] %percent:3s%%' . PHP_EOL . '%message%' . PHP_EOL);
+ $bar->setFormat('[%bar%] %percent:3s%%'.\PHP_EOL.'%message%'.\PHP_EOL);
$bar->setMessage('');
$bar->start();
$bar->display();
@@ -435,8 +435,8 @@ public function testOverwriteWithSectionOutputAndEol()
rewind($output->getStream());
$this->assertEquals(escapeshellcmd(
'[>---------------------------] 0%'.\PHP_EOL.\PHP_EOL.
- "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL. 'Doing something...' . \PHP_EOL .
- "\x1b[2A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL. 'Doing something foo...' . \PHP_EOL),
+ "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL.'Doing something...'.\PHP_EOL.
+ "\x1b[2A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL.'Doing something foo...'.\PHP_EOL),
escapeshellcmd(stream_get_contents($output->getStream()))
);
}
@@ -448,7 +448,7 @@ public function testOverwriteWithSectionOutputAndEolWithEmptyMessage()
$output = new ConsoleSectionOutput($stream->getStream(), $sections, $stream->getVerbosity(), $stream->isDecorated(), new OutputFormatter());
$bar = new ProgressBar($output, 50, 0);
- $bar->setFormat('[%bar%] %percent:3s%%' . PHP_EOL . '%message%');
+ $bar->setFormat('[%bar%] %percent:3s%%'.\PHP_EOL.'%message%');
$bar->setMessage('Start');
$bar->start();
$bar->display();
@@ -460,8 +460,8 @@ public function testOverwriteWithSectionOutputAndEolWithEmptyMessage()
rewind($output->getStream());
$this->assertEquals(escapeshellcmd(
'[>---------------------------] 0%'.\PHP_EOL.'Start'.\PHP_EOL.
- "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL .
- "\x1b[1A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL. 'Doing something...' . \PHP_EOL),
+ "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL.
+ "\x1b[1A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL.'Doing something...'.\PHP_EOL),
escapeshellcmd(stream_get_contents($output->getStream()))
);
}
@@ -473,7 +473,7 @@ public function testOverwriteWithSectionOutputAndEolWithEmptyMessageComment()
$output = new ConsoleSectionOutput($stream->getStream(), $sections, $stream->getVerbosity(), $stream->isDecorated(), new OutputFormatter());
$bar = new ProgressBar($output, 50, 0);
- $bar->setFormat('[%bar%] %percent:3s%%' . PHP_EOL . '%message%');
+ $bar->setFormat('[%bar%] %percent:3s%%'.\PHP_EOL.'%message%');
$bar->setMessage('Start');
$bar->start();
$bar->display();
@@ -485,8 +485,8 @@ public function testOverwriteWithSectionOutputAndEolWithEmptyMessageComment()
rewind($output->getStream());
$this->assertEquals(escapeshellcmd(
'[>---------------------------] 0%'.\PHP_EOL."\x1b[33mStart\x1b[39m".\PHP_EOL.
- "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL .
- "\x1b[1A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL. "\x1b[33mDoing something...\x1b[39m" . \PHP_EOL),
+ "\x1b[2A\x1b[0J".'[>---------------------------] 2%'.\PHP_EOL.
+ "\x1b[1A\x1b[0J".'[=>--------------------------] 4%'.\PHP_EOL."\x1b[33mDoing something...\x1b[39m".\PHP_EOL),
escapeshellcmd(stream_get_contents($output->getStream()))
);
}
diff --git a/src/Symfony/Component/Console/Tests/Helper/TableTest.php b/src/Symfony/Component/Console/Tests/Helper/TableTest.php
index bb1b96346b604..ebdfa5a5d6c91 100644
--- a/src/Symfony/Component/Console/Tests/Helper/TableTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/TableTest.php
@@ -112,7 +112,7 @@ public static function renderProvider()
| 80-902734-1-6 | And Then There Were None | Agatha Christie |
+---------------+--------------------------+------------------+
-TABLE
+TABLE,
],
[
['ISBN', 'Title', 'Author'],
@@ -157,7 +157,7 @@ public static function renderProvider()
│ 80-902734-1-6 │ And Then There Were None │ Agatha Christie │
└───────────────┴──────────────────────────┴──────────────────┘
-TABLE
+TABLE,
],
[
['ISBN', 'Title', 'Author'],
@@ -180,7 +180,7 @@ public static function renderProvider()
║ 80-902734-1-6 │ And Then There Were None │ Agatha Christie ║
╚═══════════════╧══════════════════════════╧══════════════════╝
-TABLE
+TABLE,
],
[
['ISBN', 'Title'],
@@ -201,7 +201,7 @@ public static function renderProvider()
| 80-902734-1-6 | And Then There Were None | Agatha Christie |
+---------------+--------------------------+------------------+
-TABLE
+TABLE,
],
[
[],
@@ -220,7 +220,7 @@ public static function renderProvider()
| 80-902734-1-6 | And Then There Were None | Agatha Christie |
+---------------+--------------------------+------------------+
-TABLE
+TABLE,
],
[
['ISBN', 'Title', 'Author'],
@@ -245,7 +245,7 @@ public static function renderProvider()
| | | Tolkien |
+---------------+----------------------------+-----------------+
-TABLE
+TABLE,
],
[
['ISBN', 'Title'],
@@ -256,7 +256,7 @@ public static function renderProvider()
| ISBN | Title |
+------+-------+
-TABLE
+TABLE,
],
[
[],
@@ -279,7 +279,7 @@ public static function renderProvider()
| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens |
+---------------+----------------------+-----------------+
-TABLE
+TABLE,
],
'Cell text with tags not used for Output styling' => [
['ISBN', 'Title', 'Author'],
@@ -296,7 +296,7 @@ public static function renderProvider()
| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens |
+----------------------------------+----------------------+-----------------+
-TABLE
+TABLE,
],
'Cell with colspan' => [
['ISBN', 'Title', 'Author'],
@@ -336,7 +336,7 @@ public static function renderProvider()
| Cupìdĭtâte díctá âtquè pôrrò, tèmpórà exercitátìónèm mòdí ânìmí núllà nèmò vèl níhìl! |
+-------------------------------+-------------------------------+-----------------------------+
-TABLE
+TABLE,
],
'Cell after colspan contains new line break' => [
['Foo', 'Bar', 'Baz'],
@@ -355,7 +355,7 @@ public static function renderProvider()
| bar | qux |
+-----+-----+-----+
-TABLE
+TABLE,
],
'Cell after colspan contains multiple new lines' => [
['Foo', 'Bar', 'Baz'],
@@ -375,7 +375,7 @@ public static function renderProvider()
| | quux |
+-----+-----+------+
-TABLE
+TABLE,
],
'Cell with rowspan' => [
['ISBN', 'Title', 'Author'],
@@ -406,7 +406,7 @@ public static function renderProvider()
| | Were None | |
+---------------+---------------+-----------------+
-TABLE
+TABLE,
],
'Cell with rowspan and colspan' => [
['ISBN', 'Title', 'Author'],
@@ -437,7 +437,7 @@ public static function renderProvider()
| J. R. R | |
+------------------+---------+-----------------+
-TABLE
+TABLE,
],
'Cell with rowspan and colspan contains new line break' => [
['ISBN', 'Title', 'Author'],
@@ -480,7 +480,7 @@ public static function renderProvider()
| 0-0 | |
+-----------------+-------+-----------------+
-TABLE
+TABLE,
],
'Cell with rowspan and colspan without using TableSeparator' => [
['ISBN', 'Title', 'Author'],
@@ -511,7 +511,7 @@ public static function renderProvider()
| | 0-0 |
+-----------------+-------+-----------------+
-TABLE
+TABLE,
],
'Cell with rowspan and colspan with separator inside a rowspan' => [
['ISBN', 'Author'],
@@ -533,7 +533,7 @@ public static function renderProvider()
| | Charles Dickens |
+---------------+-----------------+
-TABLE
+TABLE,
],
'Multiple header lines' => [
[
@@ -549,7 +549,7 @@ public static function renderProvider()
| ISBN | Title | Author |
+------+-------+--------+
-TABLE
+TABLE,
],
'Row with multiple cells' => [
[],
@@ -567,7 +567,7 @@ public static function renderProvider()
| 1 | 2 | 3 | 4 |
+---+--+--+---+--+---+--+---+--+
-TABLE
+TABLE,
],
'Coslpan and table cells with comment style' => [
[
@@ -1305,7 +1305,7 @@ public static function renderSetTitle()
| 80-902734-1-6 | And Then There Were None | Agatha Christie |
+---------------+---------- footer --------+------------------+
-TABLE
+TABLE,
],
[
'Books',
@@ -1321,7 +1321,7 @@ public static function renderSetTitle()
│ 80-902734-1-6 │ And Then There Were None │ Agatha Christie │
└───────────────┴───────── Page 1/2 ───────┴──────────────────┘
-TABLE
+TABLE,
],
[
'Boooooooooooooooooooooooooooooooooooooooooooooooooooooooks',
@@ -1337,7 +1337,7 @@ public static function renderSetTitle()
| 80-902734-1-6 | And Then There Were None | Agatha Christie |
+- Page 1/99999999999999999999999999999999999999999999999... -+
-TABLE
+TABLE,
],
];
}
@@ -2085,12 +2085,12 @@ public function testGithubIssue60038WidthOfCellWithEmoji()
->setHeaderTitle('Test Title')
->setHeaders(['Title', 'Author'])
->setRows([
- ["🎭 💫 ☯"." Divine Comedy", "Dante Alighieri"],
+ ['🎭 💫 ☯ Divine Comedy', 'Dante Alighieri'],
// the snowflake (e2 9d 84 ef b8 8f) has a variant selector
- ["👑 ❄️ 🗡"." Game of Thrones", "George R.R. Martin"],
+ ['👑 ❄️ 🗡 Game of Thrones', 'George R.R. Martin'],
// the snowflake in text style (e2 9d 84 ef b8 8e) has a variant selector
- ["❄︎❄︎❄︎ snowflake in text style ❄︎❄︎❄︎", ""],
- ["And a very long line to show difference in previous lines", ""],
+ ['❄︎❄︎❄︎ snowflake in text style ❄︎❄︎❄︎', ''],
+ ['And a very long line to show difference in previous lines', ''],
])
;
$table->render();
diff --git a/src/Symfony/Component/Console/Tests/Messenger/RunCommandMessageHandlerTest.php b/src/Symfony/Component/Console/Tests/Messenger/RunCommandMessageHandlerTest.php
index 58b33d5659b96..8984923741640 100644
--- a/src/Symfony/Component/Console/Tests/Messenger/RunCommandMessageHandlerTest.php
+++ b/src/Symfony/Component/Console/Tests/Messenger/RunCommandMessageHandlerTest.php
@@ -20,6 +20,10 @@
use Symfony\Component\Console\Messenger\RunCommandMessage;
use Symfony\Component\Console\Messenger\RunCommandMessageHandler;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Messenger\Exception\RecoverableExceptionInterface;
+use Symfony\Component\Messenger\Exception\RecoverableMessageHandlingException;
+use Symfony\Component\Messenger\Exception\UnrecoverableExceptionInterface;
+use Symfony\Component\Messenger\Exception\UnrecoverableMessageHandlingException;
/**
* @author Kevin Bond
@@ -81,6 +85,38 @@ public function testThrowOnNonSuccess()
$this->fail('Exception not thrown.');
}
+ public function testExecutesCommandThatThrownUnrecoverableException()
+ {
+ $handler = new RunCommandMessageHandler($this->createApplicationWithCommand());
+
+ try {
+ $handler(new RunCommandMessage('test:command --throw-unrecoverable'));
+ } catch (UnrecoverableExceptionInterface $e) {
+ $this->assertSame('Unrecoverable exception message', $e->getMessage());
+ $this->assertNull($e->getPrevious());
+
+ return;
+ }
+
+ $this->fail('Exception not thrown.');
+ }
+
+ public function testExecutesCommandThatThrownRecoverableException()
+ {
+ $handler = new RunCommandMessageHandler($this->createApplicationWithCommand());
+
+ try {
+ $handler(new RunCommandMessage('test:command --throw-recoverable'));
+ } catch (RecoverableExceptionInterface $e) {
+ $this->assertSame('Recoverable exception message', $e->getMessage());
+ $this->assertNull($e->getPrevious());
+
+ return;
+ }
+
+ $this->fail('Exception not thrown.');
+ }
+
private function createApplicationWithCommand(): Application
{
$application = new Application();
@@ -92,6 +128,8 @@ public function configure(): void
$this
->setName('test:command')
->addOption('throw')
+ ->addOption('throw-unrecoverable')
+ ->addOption('throw-recoverable')
->addOption('exit', null, InputOption::VALUE_REQUIRED, 0)
;
}
@@ -100,6 +138,14 @@ protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->write('some message');
+ if ($input->getOption('throw-unrecoverable')) {
+ throw new UnrecoverableMessageHandlingException('Unrecoverable exception message');
+ }
+
+ if ($input->getOption('throw-recoverable')) {
+ throw new RecoverableMessageHandlingException('Recoverable exception message');
+ }
+
if ($input->getOption('throw')) {
throw new \RuntimeException('exception message');
}
diff --git a/src/Symfony/Component/DependencyInjection/Argument/LazyClosure.php b/src/Symfony/Component/DependencyInjection/Argument/LazyClosure.php
index 3e87186432efa..3dcc34e4fb61b 100644
--- a/src/Symfony/Component/DependencyInjection/Argument/LazyClosure.php
+++ b/src/Symfony/Component/DependencyInjection/Argument/LazyClosure.php
@@ -12,7 +12,6 @@
namespace Symfony\Component\DependencyInjection\Argument;
use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
use Symfony\Component\DependencyInjection\Reference;
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php
index 7adb0b4d830e6..8a7c11383ff01 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php
@@ -62,7 +62,7 @@ private function checkOutEdges(array $edges): void
continue;
}
- $isLeaf = !!$node->getValue();
+ $isLeaf = (bool) $node->getValue();
$isConcrete = !$edge->isLazy() && !$edge->isWeak();
// Skip already checked lazy services if they are still lazy. Will not gain any new information.
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
index 4fca2081bc76a..b2c6f6ef78c76 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php
@@ -228,7 +228,7 @@ protected function processValue(mixed $value, bool $isRoot = false): mixed
foreach ($names as $key => $name) {
if (\array_key_exists($name, $arguments) && (0 === $key || \array_key_exists($key - 1, $arguments))) {
- if (!array_key_exists($key, $arguments)) {
+ if (!\array_key_exists($key, $arguments)) {
$arguments[$key] = $arguments[$name];
}
unset($arguments[$name]);
diff --git a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
index e978cac41e885..e9970a26c05b3 100644
--- a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
+++ b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php
@@ -824,7 +824,7 @@ public function compile(bool $resolveEnvPlaceholders = false): void
if ($bag instanceof EnvPlaceholderParameterBag) {
if ($resolveEnvPlaceholders) {
- $this->parameterBag = new ParameterBag($this->resolveEnvPlaceholders($bag->all(), true));
+ $this->parameterBag = new ParameterBag($this->resolveEnvPlaceholders($this->escapeParameters($bag->all()), true));
}
$this->envPlaceholders = $bag->getEnvPlaceholders();
@@ -1175,7 +1175,7 @@ private function createService(Definition $definition, array &$inlineServices, b
if (!$definition->isDeprecated() && \is_array($factory) && \is_string($factory[0])) {
$r = new \ReflectionClass($factory[0]);
- if (0 < strpos($r->getDocComment(), "\n * @deprecated ")) {
+ if (0 < strpos($r->getDocComment() ?: '', "\n * @deprecated ")) {
trigger_deprecation('', '', 'The "%s" service relies on the deprecated "%s" factory class. It should either be deprecated or its factory upgraded.', $id, $r->name);
}
}
@@ -1192,7 +1192,7 @@ private function createService(Definition $definition, array &$inlineServices, b
$service = $r->getConstructor() ? $r->newInstanceArgs($arguments) : $r->newInstance();
}
- if (!$definition->isDeprecated() && 0 < strpos($r->getDocComment(), "\n * @deprecated ")) {
+ if (!$definition->isDeprecated() && 0 < strpos($r->getDocComment() ?: '', "\n * @deprecated ")) {
trigger_deprecation('', '', 'The "%s" service relies on the deprecated "%s" class. It should either be deprecated or its implementation upgraded.', $id, $r->name);
}
}
@@ -1777,4 +1777,18 @@ private function inVendors(string $path): bool
return $this->pathsInVendor[$path] = false;
}
+
+ private function escapeParameters(array $parameters): array
+ {
+ $params = [];
+ foreach ($parameters as $k => $v) {
+ $params[$k] = match (true) {
+ \is_array($v) => $this->escapeParameters($v),
+ \is_string($v) => str_replace('%', '%%', $v),
+ default => $v,
+ };
+ }
+
+ return $params;
+ }
}
diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
index 9568ad26b349c..fb2d45f9268ce 100644
--- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
@@ -527,7 +527,7 @@ private function collectLineage(string $class, array &$lineage): void
return;
}
$file = $r->getFileName();
- if (str_ends_with($file, ') : eval()\'d code')) {
+ if ($file && str_ends_with($file, ') : eval()\'d code')) {
$file = substr($file, 0, strrpos($file, '(', -17));
}
if (!$file || $this->doExport($file) === $exportedFile = $this->export($file)) {
@@ -574,12 +574,13 @@ private function generateProxyClasses(): array
continue;
}
do {
- $file = $r->getFileName();
- if (str_ends_with($file, ') : eval()\'d code')) {
- $file = substr($file, 0, strrpos($file, '(', -17));
- }
- if (is_file($file)) {
- $this->container->addResource(new FileResource($file));
+ if ($file = $r->getFileName()) {
+ if (str_ends_with($file, ') : eval()\'d code')) {
+ $file = substr($file, 0, strrpos($file, '(', -17));
+ }
+ if (is_file($file)) {
+ $this->container->addResource(new FileResource($file));
+ }
}
$r = $r->getParentClass() ?: null;
} while ($r?->isUserDefined());
diff --git a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
index f596980663f15..eed874cd9f6b5 100644
--- a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
+++ b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
@@ -339,7 +339,11 @@ private function parseDefinition(\DOMElement $service, string $file, Definition
}
foreach ($this->getChildren($service, 'call') as $call) {
- $definition->addMethodCall($call->getAttribute('method'), $this->getArgumentsAsPhp($call, 'argument', $file), XmlUtils::phpize($call->getAttribute('returns-clone')));
+ $definition->addMethodCall(
+ $call->getAttribute('method'),
+ $this->getArgumentsAsPhp($call, 'argument', $file),
+ XmlUtils::phpize($call->getAttribute('returns-clone')) ?: false
+ );
}
$tags = $this->getChildren($service, 'tag');
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Argument/LazyClosureTest.php b/src/Symfony/Component/DependencyInjection/Tests/Argument/LazyClosureTest.php
index 9652a86fd24b6..e1b5c2a90f2ed 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Argument/LazyClosureTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Argument/LazyClosureTest.php
@@ -11,7 +11,6 @@
namespace Symfony\Component\DependencyInjection\Tests\Argument;
-use InvalidArgumentException;
use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\Argument\LazyClosure;
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -23,7 +22,7 @@ public function testMagicGetThrows()
{
$closure = new LazyClosure(fn () => null);
- $this->expectException(InvalidArgumentException::class);
+ $this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Cannot read property "foo" from a lazy closure.');
$closure->foo;
@@ -34,7 +33,7 @@ public function testThrowsWhenNotUsingInterface()
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Cannot create adapter for service "foo" because "Symfony\Component\DependencyInjection\Tests\Argument\LazyClosureTest" is not an interface.');
- LazyClosure::getCode('foo', [new \stdClass(), 'bar'], LazyClosureTest::class, new ContainerBuilder(), 'foo');
+ LazyClosure::getCode('foo', [new \stdClass(), 'bar'], self::class, new ContainerBuilder(), 'foo');
}
public function testThrowsOnNonFunctionalInterface()
@@ -62,5 +61,6 @@ public function foo();
interface NonFunctionalInterface
{
public function foo();
+
public function bar();
}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php b/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
index 73be8aaedeaba..04a8cb01d8345 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
@@ -892,6 +892,7 @@ public function testCompileWithResolveEnv()
$container->setParameter('bar', '%% %env(DUMMY_ENV_VAR)% %env(DUMMY_SERVER_VAR)% %env(HTTP_DUMMY_VAR)%');
$container->setParameter('foo', '%env(FOO)%');
$container->setParameter('baz', '%foo%');
+ $container->setParameter('qux', '%%quux%%');
$container->setParameter('env(HTTP_DUMMY_VAR)', '123');
$container->register('teatime', 'stdClass')
->setProperty('foo', '%env(DUMMY_ENV_VAR)%')
@@ -1136,7 +1137,7 @@ public function testAddObjectResource()
$this->assertCount(1, $resources);
- /* @var FileResource $resource */
+ /** @var FileResource $resource */
$resource = end($resources);
$this->assertInstanceOf(FileResource::class, $resource);
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
index 1b43614110802..f962fa1062bb5 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
@@ -1280,7 +1280,7 @@ public function testStaticConstructor()
public function testStaticConstructorWithFactoryThrows()
{
$container = new ContainerBuilder();
- $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath . '/xml'));
+ $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
$this->expectException(LogicException::class);
$this->expectExceptionMessage('The "static_constructor" service cannot declare a factory as well as a constructor.');
@@ -1341,7 +1341,7 @@ public function testUnknownConstantAsKey()
public function testDeprecatedTagged()
{
$container = new ContainerBuilder();
- $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath . '/xml'));
+ $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
$this->expectUserDeprecationMessage(\sprintf('Since symfony/dependency-injection 7.2: Type "tagged" is deprecated for tag , use "tagged_iterator" instead in "%s/xml%sservices_with_deprecated_tagged.xml".', self::$fixturesPath, \DIRECTORY_SEPARATOR));
diff --git a/src/Symfony/Component/Dotenv/Command/DebugCommand.php b/src/Symfony/Component/Dotenv/Command/DebugCommand.php
index 5729b94cbd8d8..b5b4f51f9703f 100644
--- a/src/Symfony/Component/Dotenv/Command/DebugCommand.php
+++ b/src/Symfony/Component/Dotenv/Command/DebugCommand.php
@@ -81,7 +81,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$dotenvPath = $this->projectDirectory;
if (is_file($composerFile = $this->projectDirectory.'/composer.json')) {
- $runtimeConfig = (json_decode(file_get_contents($composerFile), true))['extra']['runtime'] ?? [];
+ $runtimeConfig = json_decode(file_get_contents($composerFile), true)['extra']['runtime'] ?? [];
if (isset($runtimeConfig['dotenv_path'])) {
$dotenvPath = $this->projectDirectory.'/'.$runtimeConfig['dotenv_path'];
diff --git a/src/Symfony/Component/Emoji/Resources/bin/build.php b/src/Symfony/Component/Emoji/Resources/bin/build.php
index 0b1475bb32923..28f775baac485 100755
--- a/src/Symfony/Component/Emoji/Resources/bin/build.php
+++ b/src/Symfony/Component/Emoji/Resources/bin/build.php
@@ -48,7 +48,7 @@ public static function getEmojisCodePoints(): array
// 263A FE0F ; fully-qualified # ☺️ E0.6 smiling face
preg_match('{^(?[\w ]+) +; [\w-]+ +# (?.+) E\d+\.\d+ ?(?.+)$}Uu', $line, $matches);
if (!$matches) {
- throw new \DomainException("Could not parse line: \"$line\".");
+ throw new DomainException("Could not parse line: \"$line\".");
}
$codePoints = str_replace(' ', '-', trim($matches['codePoints']));
diff --git a/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php b/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php
index 2a33cee0d4353..388530762ac11 100644
--- a/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php
+++ b/src/Symfony/Component/ErrorHandler/Tests/ErrorRenderer/HtmlErrorRendererTest.php
@@ -100,7 +100,7 @@ public static function provideFileLinkFormats(): iterable
public function testRendersStackWithoutBinaryStrings()
{
- // make sure method arguments are available in stack traces (see https://www.php.net/manual/en/ini.core.php)
+ // make sure method arguments are available in stack traces (see https://php.net/ini.core)
ini_set('zend.exception_ignore_args', false);
$binaryData = file_get_contents(__DIR__.'/../Fixtures/pixel.png');
diff --git a/src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php b/src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php
index 6460744ceed20..416c094ab5b48 100644
--- a/src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php
+++ b/src/Symfony/Component/ExpressionLanguage/Node/GetAttrNode.php
@@ -141,12 +141,13 @@ private function isShortCircuited(): bool
public function toArray(): array
{
+ $nullSafe = $this->nodes['attribute'] instanceof ConstantNode && $this->nodes['attribute']->isNullSafe;
switch ($this->attributes['type']) {
case self::PROPERTY_CALL:
- return [$this->nodes['node'], '.', $this->nodes['attribute']];
+ return [$this->nodes['node'], $nullSafe ? '?.' : '.', $this->nodes['attribute']];
case self::METHOD_CALL:
- return [$this->nodes['node'], '.', $this->nodes['attribute'], '(', $this->nodes['arguments'], ')'];
+ return [$this->nodes['node'], $nullSafe ? '?.' : '.', $this->nodes['attribute'], '(', $this->nodes['arguments'], ')'];
case self::ARRAY_CALL:
return [$this->nodes['node'], '[', $this->nodes['attribute'], ']'];
diff --git a/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php b/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php
index 624527c97a945..e8ecfc58004db 100644
--- a/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php
+++ b/src/Symfony/Component/ExpressionLanguage/Tests/ExpressionLanguageTest.php
@@ -412,9 +412,9 @@ public function testNullSafeCompileFails($expression, $foo)
public static function provideInvalidNullSafe()
{
- yield ['foo?.bar.baz', (object) ['bar' => null], 'Unable to get property "baz" of non-object "foo.bar".'];
- yield ['foo?.bar["baz"]', (object) ['bar' => null], 'Unable to get an item of non-array "foo.bar".'];
- yield ['foo?.bar["baz"].qux.quux', (object) ['bar' => ['baz' => null]], 'Unable to get property "qux" of non-object "foo.bar["baz"]".'];
+ yield ['foo?.bar.baz', (object) ['bar' => null], 'Unable to get property "baz" of non-object "foo?.bar".'];
+ yield ['foo?.bar["baz"]', (object) ['bar' => null], 'Unable to get an item of non-array "foo?.bar".'];
+ yield ['foo?.bar["baz"].qux.quux', (object) ['bar' => ['baz' => null]], 'Unable to get property "qux" of non-object "foo?.bar["baz"]".'];
}
/**
diff --git a/src/Symfony/Component/ExpressionLanguage/Tests/Node/FunctionNodeTest.php b/src/Symfony/Component/ExpressionLanguage/Tests/Node/FunctionNodeTest.php
index 36bc4e2f3de41..99994822d771f 100644
--- a/src/Symfony/Component/ExpressionLanguage/Tests/Node/FunctionNodeTest.php
+++ b/src/Symfony/Component/ExpressionLanguage/Tests/Node/FunctionNodeTest.php
@@ -34,7 +34,7 @@ public static function getCompileData(): array
public static function getDumpData(): array
{
return [
- ['foo("bar")', new FunctionNode('foo', new Node([new ConstantNode('bar')])), ['foo' => static::getCallables()]],
+ ['foo("bar")', new FunctionNode('foo', new Node([new ConstantNode('bar')]))],
];
}
diff --git a/src/Symfony/Component/ExpressionLanguage/Tests/Node/GetAttrNodeTest.php b/src/Symfony/Component/ExpressionLanguage/Tests/Node/GetAttrNodeTest.php
index 6d81a2b606a60..d939afc3a643e 100644
--- a/src/Symfony/Component/ExpressionLanguage/Tests/Node/GetAttrNodeTest.php
+++ b/src/Symfony/Component/ExpressionLanguage/Tests/Node/GetAttrNodeTest.php
@@ -11,6 +11,7 @@
namespace Symfony\Component\ExpressionLanguage\Tests\Node;
+use Symfony\Component\ExpressionLanguage\Node\ArgumentsNode;
use Symfony\Component\ExpressionLanguage\Node\ArrayNode;
use Symfony\Component\ExpressionLanguage\Node\ConstantNode;
use Symfony\Component\ExpressionLanguage\Node\GetAttrNode;
@@ -50,10 +51,12 @@ public static function getDumpData(): array
['foo[0]', new GetAttrNode(new NameNode('foo'), new ConstantNode(0), self::getArrayNode(), GetAttrNode::ARRAY_CALL)],
['foo["b"]', new GetAttrNode(new NameNode('foo'), new ConstantNode('b'), self::getArrayNode(), GetAttrNode::ARRAY_CALL)],
- ['foo.foo', new GetAttrNode(new NameNode('foo'), new NameNode('foo'), self::getArrayNode(), GetAttrNode::PROPERTY_CALL), ['foo' => new Obj()]],
+ ['foo.foo', new GetAttrNode(new NameNode('foo'), new NameNode('foo'), self::getArrayNode(), GetAttrNode::PROPERTY_CALL)],
- ['foo.foo({"b": "a", 0: "b"})', new GetAttrNode(new NameNode('foo'), new NameNode('foo'), self::getArrayNode(), GetAttrNode::METHOD_CALL), ['foo' => new Obj()]],
+ ['foo.foo({"b": "a", 0: "b"})', new GetAttrNode(new NameNode('foo'), new NameNode('foo'), self::getArrayNode(), GetAttrNode::METHOD_CALL)],
['foo[index]', new GetAttrNode(new NameNode('foo'), new NameNode('index'), self::getArrayNode(), GetAttrNode::ARRAY_CALL)],
+
+ ['foo?.foo()', new GetAttrNode(new NameNode('foo'), new ConstantNode('foo', true, true), new ArgumentsNode(), GetAttrNode::METHOD_CALL)],
];
}
diff --git a/src/Symfony/Component/Filesystem/Filesystem.php b/src/Symfony/Component/Filesystem/Filesystem.php
index f97c8b2fe56ed..bfe3878030b36 100644
--- a/src/Symfony/Component/Filesystem/Filesystem.php
+++ b/src/Symfony/Component/Filesystem/Filesystem.php
@@ -225,7 +225,7 @@ public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool
*
* This method always throws on Windows, as the underlying PHP function is not supported.
*
- * @see https://www.php.net/chown
+ * @see https://php.net/chown
*
* @param string|int $user A user name or number
* @param bool $recursive Whether change the owner recursively or not
@@ -255,7 +255,7 @@ public function chown(string|iterable $files, string|int $user, bool $recursive
*
* This method always throws on Windows, as the underlying PHP function is not supported.
*
- * @see https://www.php.net/chgrp
+ * @see https://php.net/chgrp
*
* @param string|int $group A group name or number
* @param bool $recursive Whether change the group recursively or not
diff --git a/src/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php b/src/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php
index 34ba50ddcf0d0..578b34d09ec7e 100644
--- a/src/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php
+++ b/src/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php
@@ -72,7 +72,7 @@ public static function getTestFilterData()
$inner[] = new MockSplFileInfo([
'name' => 'unreadable-file.txt',
- 'contents' => false,
+ 'contents' => '',
'type' => 'file',
'mode' => 'r+', ]
);
diff --git a/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php b/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
index c63dd6e734c35..ddeca180aeca7 100644
--- a/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
+++ b/src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
@@ -70,7 +70,7 @@ public function testSeekOnFtp()
public function testTrailingDirectorySeparatorIsStripped()
{
- $fixturesDirectory = __DIR__ . '/../Fixtures/';
+ $fixturesDirectory = __DIR__.'/../Fixtures/';
$actual = [];
foreach (new RecursiveDirectoryIterator($fixturesDirectory, RecursiveDirectoryIterator::SKIP_DOTS) as $file) {
diff --git a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
index ffcbc1feee6d7..b0f48a44c80b6 100644
--- a/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
+++ b/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
@@ -185,6 +185,10 @@ protected function castParsedValue(int|float $value): int|float
*/
private function round(int|float $number): int|float
{
+ if (\is_int($number)) {
+ return $number;
+ }
+
if (null !== $this->scale) {
// shift number to maintain the correct scale during rounding
$roundingCoef = 10 ** $this->scale;
diff --git a/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php b/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
index 8f4ec60f24a86..7f8a728dd112b 100644
--- a/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
+++ b/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
@@ -39,7 +39,7 @@ public function validate(mixed $form, Constraint $formConstraint): void
return;
}
- /* @var FormInterface $form */
+ /** @var FormInterface $form */
$config = $form->getConfig();
$validator = $this->context->getValidator()->inContext($this->context);
diff --git a/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php b/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php
index 2c534481cd6ee..9cc19c356aefb 100644
--- a/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php
+++ b/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php
@@ -40,7 +40,7 @@ public function __construct(
// the DIC, where the XML file is loaded automatically. Thus the following
// code must be kept synchronized with validation.xml
- /* @var ClassMetadata $metadata */
+ /** @var ClassMetadata $metadata */
$metadata->addConstraint(new Form());
$metadata->addConstraint(new Traverse(false));
}
diff --git a/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php b/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php
index faca255b5dcbb..c6ef92bf3a413 100644
--- a/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php
+++ b/src/Symfony/Component/Form/Extension/Validator/ViolationMapper/ViolationMapper.php
@@ -248,7 +248,7 @@ private function matchChild(FormInterface $form, PropertyPathIteratorInterface $
// Test mapping rules as long as we have any
foreach ($rules as $key => $rule) {
- /* @var MappingRule $rule */
+ /** @var MappingRule $rule */
// Mapping rule matches completely, terminate.
if (null !== ($form = $rule->match($chunk))) {
@@ -312,7 +312,7 @@ private function reconstructPath(ViolationPath $violationPath, FormInterface $or
// Cut the piece out of the property path and proceed
$propertyPathBuilder->remove($i);
} else {
- /* @var \Symfony\Component\PropertyAccess\PropertyPathInterface $propertyPath */
+ /** @var \Symfony\Component\PropertyAccess\PropertyPathInterface $propertyPath */
$propertyPath = $scope->getPropertyPath();
if (null === $propertyPath) {
diff --git a/src/Symfony/Component/Form/FormErrorIterator.php b/src/Symfony/Component/Form/FormErrorIterator.php
index 4f4a2574d2dce..d207bb1a59ef8 100644
--- a/src/Symfony/Component/Form/FormErrorIterator.php
+++ b/src/Symfony/Component/Form/FormErrorIterator.php
@@ -76,7 +76,7 @@ public function __toString(): string
if ($error instanceof FormError) {
$string .= 'ERROR: '.$error->getMessage()."\n";
} else {
- /* @var self $error */
+ /** @var self $error */
$string .= $error->getForm()->getName().":\n";
$string .= self::indent((string) $error);
}
diff --git a/src/Symfony/Component/Form/ResolvedFormType.php b/src/Symfony/Component/Form/ResolvedFormType.php
index 82065f651144f..81c9c396de440 100644
--- a/src/Symfony/Component/Form/ResolvedFormType.php
+++ b/src/Symfony/Component/Form/ResolvedFormType.php
@@ -118,7 +118,7 @@ public function finishView(FormView $view, FormInterface $form, array $options):
$this->innerType->finishView($view, $form, $options);
foreach ($this->typeExtensions as $extension) {
- /* @var FormTypeExtensionInterface $extension */
+ /** @var FormTypeExtensionInterface $extension */
$extension->finishView($view, $form, $options);
}
}
diff --git a/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf b/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf
index 76df58246b328..dbf9ea8320171 100644
--- a/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf
+++ b/src/Symfony/Component/Form/Resources/translations/validators.ca.xlf
@@ -8,87 +8,87 @@
The uploaded file was too large. Please try to upload a smaller file.
- L'arxiu pujat és massa gran. Per favor, pugi un arxiu més petit.
+ El fitxer pujat és massa gran. Pujeu un fitxer més petit.
The CSRF token is invalid. Please try to resubmit the form.
- El token CSRF no és vàlid. Per favor, provi d'enviar novament el formulari.
+ El token CSRF no és vàlid. Torneu a enviar el formulari.
This value is not a valid HTML5 color.
- Aquest valor no és un color HTML5 valid.
+ Aquest valor no és un color HTML5 vàlid.
Please enter a valid birthdate.
- Per favor introdueix una data d'aniversari valida.
+ Introduïu una data d'aniversari vàlida.
The selected choice is invalid.
- L'opció escollida és invalida.
+ L'opció escollida no és vàlida.
The collection is invalid.
- La col·lecció és invalida.
+ La col·lecció no és vàlida.
Please select a valid color.
- Per favor selecciona un color vàlid.
+ Seleccioneu un color vàlid.
Please select a valid country.
- Per favor selecciona una ciutat vàlida.
+ Seleccioneu una ciutat vàlida.
Please select a valid currency.
- Per favor selecciona una moneda vàlida.
+ Seleccioneu una moneda vàlida.
Please choose a valid date interval.
- Per favor escull un interval de dates vàlides.
+ Escolliu un interval de dates vàlides.
Please enter a valid date and time.
- Per favor introdueix una data i temps vàlid.
+ Introduïu una data i hora vàlides.
Please enter a valid date.
- Per favor introdueix una data vàlida.
+ Introduïu una data vàlida.
Please select a valid file.
- Per favor selecciona un arxiu vàlid.
+ Seleccioneu un fitxer vàlid.
The hidden field is invalid.
- El camp ocult és invàlid.
+ El camp ocult no és vàlid.
Please enter an integer.
- Per favor introdueix un enter.
+ Introduïu un enter.
Please select a valid language.
- Per favor selecciona un idioma vàlid.
+ Seleccioneu un idioma vàlid.
Please select a valid locale.
- Per favor seleccioneu una configuració regional vàlida
+ Seleccioneu una configuració regional vàlida
Please enter a valid money amount.
- Per favor introdueix una quantitat de diners vàlids.
+ Introduïu una quantitat de diners vàlida.
Please enter a number.
- Per favor introdueix un número.
+ Introduïu un número.
The password is invalid.
- La contrasenya es invàlida.
+ La contrasenya no és vàlida.
Please enter a percentage value.
- Per favor introdueix un valor percentual.
+ Introduïu un valor percentual.
The values do not match.
@@ -96,43 +96,43 @@
Please enter a valid time.
- Per favor introdueix un temps vàlid.
+ Introduïu una hora vàlida.
Please select a valid timezone.
- Per favor selecciona una zona horària vàlida.
+ Seleccioneu una zona horària vàlida.
Please enter a valid URL.
- Per favor introdueix una URL vàlida.
+ Introduïu una URL vàlida.
Please enter a valid search term.
- Per favor introdueix un concepte de cerca vàlid.
+ Introduïu un terme de cerca vàlid.
Please provide a valid phone number.
- Per favor introdueix un número de telèfon vàlid.
+ Introduïu un número de telèfon vàlid.
The checkbox has an invalid value.
- La casella de selecció te un valor invàlid.
+ La casella de selecció te un valor no vàlid.
Please enter a valid email address.
- Per favor introdueix un correu electrònic vàlid.
+ Introduïu un correu electrònic vàlid.
Please select a valid option.
- Per favor selecciona una opció vàlida.
+ Seleccioneu una opció vàlida.
Please select a valid range.
- Per favor selecciona un rang vàlid.
+ Seleccioneu un rang vàlid.
Please enter a valid week.
- Per favor introdueix una setmana vàlida.
+ Introduïu una setmana vàlida.