From bcf487c22f3240ba994124e0e0fe8616f3cfc47a Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Thu, 16 Apr 2026 16:37:03 +0200 Subject: [PATCH 01/43] [Routing] Fix regex alternation anchoring in UrlGenerator requirement validation --- src/Symfony/Component/Routing/Generator/UrlGenerator.php | 4 ++-- .../Routing/Tests/Generator/UrlGeneratorTest.php | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Routing/Generator/UrlGenerator.php b/src/Symfony/Component/Routing/Generator/UrlGenerator.php index 4419e9efd3e6c..97fc8116a0303 100644 --- a/src/Symfony/Component/Routing/Generator/UrlGenerator.php +++ b/src/Symfony/Component/Routing/Generator/UrlGenerator.php @@ -189,7 +189,7 @@ protected function doGenerate(array $variables, array $defaults, array $requirem if (!$optional || $important || !\array_key_exists($varName, $defaults) || (null !== $mergedParams[$varName] && (string) $mergedParams[$varName] !== (string) $defaults[$varName])) { // check requirement (while ignoring look-around patterns) - if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|strictRequirements && !preg_match('#^(?:'.preg_replace('/\(\?(?:=|<=|!|strictRequirements) { throw new InvalidParameterException(strtr($message, ['{parameter}' => $varName, '{route}' => $name, '{expected}' => $token[2], '{given}' => $mergedParams[$varName]])); } @@ -244,7 +244,7 @@ protected function doGenerate(array $variables, array $defaults, array $requirem foreach ($hostTokens as $token) { if ('variable' === $token[0]) { // check requirement (while ignoring look-around patterns) - if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|strictRequirements && !preg_match('#^(?:'.preg_replace('/\(\?(?:=|<=|!|strictRequirements) { throw new InvalidParameterException(strtr($message, ['{parameter}' => $token[3], '{route}' => $name, '{expected}' => $token[2], '{given}' => $mergedParams[$token[3]]])); } diff --git a/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php b/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php index 7f4cc5cc7da54..0ad2909d913e9 100644 --- a/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php +++ b/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php @@ -342,6 +342,14 @@ public function testGenerateForRouteWithInvalidParameter() $this->getGenerator($routes)->generate('test', ['foo' => '0'], UrlGeneratorInterface::ABSOLUTE_URL); } + public function testGenerateForRouteWithAlternationRequirementRejectsSubstringMatch() + { + $routes = $this->getRoutes('test', new Route('/{_locale}/blog', [], ['_locale' => 'en|fr|vi|de'])); + + $this->expectException(InvalidParameterException::class); + $this->getGenerator($routes)->generate('test', ['_locale' => '/evil.com']); + } + public function testGenerateForRouteWithInvalidOptionalParameterNonStrict() { $routes = $this->getRoutes('test', new Route('/testing/{foo}', ['foo' => '1'], ['foo' => 'd+'])); From eea5fd7488cbdc241da4ce242344b7d9a3ecdf3d Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Fri, 17 Apr 2026 09:30:55 +0200 Subject: [PATCH 02/43] [DomCrawler] Fix XXE in addXmlContent() by not enabling `validateOnParse` --- src/Symfony/Component/DomCrawler/Crawler.php | 1 - .../DomCrawler/Tests/AbstractCrawlerTestCase.php | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/DomCrawler/Crawler.php b/src/Symfony/Component/DomCrawler/Crawler.php index 239ace66ef262..0f6fb02b7d7a4 100644 --- a/src/Symfony/Component/DomCrawler/Crawler.php +++ b/src/Symfony/Component/DomCrawler/Crawler.php @@ -240,7 +240,6 @@ public function addXmlContent(string $content, string $charset = 'UTF-8', int $o } $dom = new \DOMDocument('1.0', $charset); - $dom->validateOnParse = true; if ('' !== trim($content)) { @$dom->loadXML($content, $options); diff --git a/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php b/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php index e60f3e4ef8b0b..a3bd6b67e7a1a 100644 --- a/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php +++ b/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTestCase.php @@ -153,6 +153,18 @@ public function testAddXmlContent() $this->assertEquals('foo', $crawler->filterXPath('//div')->attr('class'), '->addXmlContent() adds nodes from an XML string'); } + public function testAddXmlContentDoesNotExpandExternalEntities() + { + $crawler = $this->createCrawler(); + $crawler->addXmlContent( + '' + .']>' + .'&xxe;' + ); + + $this->assertSame('', $crawler->text()); + } + public function testAddXmlContentCharset() { $crawler = $this->createCrawler(); From d506b556d3d3906f3e8660ad82257ce87edbaac4 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Fri, 17 Apr 2026 09:13:16 +0200 Subject: [PATCH 03/43] [HtmlSanitizer] Fix allowLinkHosts/allowMediaHosts bypass via URL parser differentials and misclassification --- .../Tests/HtmlSanitizerAllTest.php | 2 +- .../Tests/HtmlSanitizerCustomTest.php | 18 ++++++++++ .../Tests/TextSanitizer/UrlSanitizerTest.php | 36 +++++++++++++++++++ .../TextSanitizer/UrlSanitizer.php | 4 +++ .../UrlAttributeSanitizer.php | 2 +- 5 files changed, 60 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerAllTest.php b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerAllTest.php index 46a72f3012c82..2ee7b9d867ba5 100644 --- a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerAllTest.php +++ b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerAllTest.php @@ -149,7 +149,7 @@ public static function provideSanitizeBody() ], [ 'Lorem ipsum', - 'Lorem ipsum', + 'Lorem ipsum', ], [ 'Test', diff --git a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php index ae7b5a2582864..dd413621c632b 100644 --- a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php +++ b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php @@ -323,6 +323,24 @@ public function testAllowLinksHosts() ); } + public function testAreaUsesLinkPolicy() + { + $config = (new HtmlSanitizerConfig()) + ->allowElement('area', ['href']) + ->allowLinkHosts(['trusted.com']) + ; + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + } + public function testAllowLinksRelative() { $config = (new HtmlSanitizerConfig()) diff --git a/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php b/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php index 391895024e456..553148c2c8f47 100644 --- a/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php +++ b/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php @@ -283,6 +283,42 @@ public static function provideSanitize(): iterable 'expected' => 'https://trusted.com/link.php', ]; + yield [ + 'input' => 'https://evil\\@trusted.com/', + 'allowedSchemes' => ['https'], + 'allowedHosts' => ['trusted.com'], + 'forceHttps' => false, + 'allowRelative' => false, + 'expected' => null, + ]; + + yield [ + 'input' => 'https:/evil.com/', + 'allowedSchemes' => ['https'], + 'allowedHosts' => ['trusted.com'], + 'forceHttps' => false, + 'allowRelative' => true, + 'expected' => null, + ]; + + yield [ + 'input' => 'https:///evil.com/', + 'allowedSchemes' => ['https'], + 'allowedHosts' => ['trusted.com'], + 'forceHttps' => false, + 'allowRelative' => true, + 'expected' => null, + ]; + + yield [ + 'input' => 'https:\\evil.com', + 'allowedSchemes' => ['https'], + 'allowedHosts' => ['trusted.com'], + 'forceHttps' => false, + 'allowRelative' => true, + 'expected' => null, + ]; + // Allow relative yield [ 'input' => '/link.php', diff --git a/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php b/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php index 4b1cea7e1a481..c8941127c8805 100644 --- a/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php +++ b/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php @@ -35,6 +35,10 @@ public static function sanitize(?string $input, ?array $allowedSchemes = null, b return null; } + if (false !== strpbrk($input, '\\') || preg_match('~^(?:https?|ftp|wss?):(/[^/]|///)~i', $input)) { + return null; + } + $url = self::parse($input); // Malformed URL diff --git a/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php b/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php index a3dbf2f098663..c5bb336c4b9de 100644 --- a/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php +++ b/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php @@ -32,7 +32,7 @@ public function getSupportedAttributes(): ?array public function sanitizeAttribute(string $element, string $attribute, string $value, HtmlSanitizerConfig $config): ?string { - if ('a' === $element) { + if (\in_array($element, ['a', 'area'], true)) { return UrlSanitizer::sanitize( $value, $config->getAllowedLinkSchemes(), From 99d69ff08f4bb891c18771e9fac746fedd21f162 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Thu, 16 Apr 2026 16:09:22 +0200 Subject: [PATCH 04/43] [Security] Add missing claims in `OidcTokenHandler` --- .../AccessToken/Oidc/OidcTokenHandler.php | 2 +- .../AccessToken/Oidc/OidcTokenHandlerTest.php | 45 ++++++++++++++++--- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Component/Security/Http/AccessToken/Oidc/OidcTokenHandler.php b/src/Symfony/Component/Security/Http/AccessToken/Oidc/OidcTokenHandler.php index f125eb5701b6a..b86a8f1d2cfd2 100644 --- a/src/Symfony/Component/Security/Http/AccessToken/Oidc/OidcTokenHandler.php +++ b/src/Symfony/Component/Security/Http/AccessToken/Oidc/OidcTokenHandler.php @@ -85,7 +85,7 @@ public function getUserBadgeFrom(string $accessToken): UserBadge ]; $claimCheckerManager = new ClaimCheckerManager($checkers); // if this check fails, an InvalidClaimException is thrown - $claimCheckerManager->check($claims); + $claimCheckerManager->check($claims, ['iat', 'exp', 'aud', 'iss']); if (empty($claims[$this->claim])) { throw new MissingClaimException(\sprintf('"%s" claim not found.', $this->claim)); diff --git a/src/Symfony/Component/Security/Http/Tests/AccessToken/Oidc/OidcTokenHandlerTest.php b/src/Symfony/Component/Security/Http/Tests/AccessToken/Oidc/OidcTokenHandlerTest.php index f2c19935ac3df..212403c8e39d1 100644 --- a/src/Symfony/Component/Security/Http/Tests/AccessToken/Oidc/OidcTokenHandlerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/AccessToken/Oidc/OidcTokenHandlerTest.php @@ -98,10 +98,8 @@ public function testThrowsAnErrorIfTokenIsInvalid(string $token) public static function getInvalidTokens(): iterable { - // Invalid token - yield ['invalid']; - // Token is expired - yield [ + yield 'Invalid token' => ['invalid']; + yield 'Token is expired' => [ self::buildJWS(json_encode([ 'iat' => time() - 3600, 'nbf' => time() - 3600, @@ -112,8 +110,7 @@ public static function getInvalidTokens(): iterable 'email' => 'foo@example.com', ])), ]; - // Invalid audience - yield [ + yield 'Invalid audience' => [ self::buildJWS(json_encode([ 'iat' => time(), 'nbf' => time(), @@ -124,6 +121,42 @@ public static function getInvalidTokens(): iterable 'email' => 'foo@example.com', ])), ]; + yield 'Missing "aud" claim' => [ + self::buildJWS(json_encode([ + 'iat' => time(), + 'nbf' => time(), + 'exp' => time() + 3600, + 'iss' => 'https://www.example.com', + 'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f', + ])), + ]; + yield 'Missing "iss" claim' => [ + self::buildJWS(json_encode([ + 'iat' => time(), + 'nbf' => time(), + 'exp' => time() + 3600, + 'aud' => self::AUDIENCE, + 'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f', + ])), + ]; + yield 'Missing "exp" claim' => [ + self::buildJWS(json_encode([ + 'iat' => time(), + 'nbf' => time(), + 'iss' => 'https://www.example.com', + 'aud' => self::AUDIENCE, + 'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f', + ])), + ]; + yield 'Missing "iat" claim' => [ + self::buildJWS(json_encode([ + 'nbf' => time(), + 'exp' => time() + 3600, + 'iss' => 'https://www.example.com', + 'aud' => self::AUDIENCE, + 'sub' => 'e21bf182-1538-406e-8ccb-e25a17aba39f', + ])), + ]; } public function testThrowsAnErrorIfUserPropertyIsMissing() From 59ef484029601a7af06f5e06c6ed921fdcea5a0d Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Thu, 16 Apr 2026 16:45:24 +0200 Subject: [PATCH 05/43] [Security] Anchor emailAddress regex to RDN boundary in X509Authenticator --- .../Http/Authenticator/X509Authenticator.php | 2 +- .../Authenticator/X509AuthenticatorTest.php | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Security/Http/Authenticator/X509Authenticator.php b/src/Symfony/Component/Security/Http/Authenticator/X509Authenticator.php index 8f30a23993a66..13e0c82b37993 100644 --- a/src/Symfony/Component/Security/Http/Authenticator/X509Authenticator.php +++ b/src/Symfony/Component/Security/Http/Authenticator/X509Authenticator.php @@ -46,7 +46,7 @@ protected function extractUsername(Request $request): string $username = $request->server->get($this->userKey); } elseif ( $request->server->has($this->credentialsKey) - && preg_match('#emailAddress=([^,/@]++@[^,/]++)#', $request->server->get($this->credentialsKey), $matches) + && preg_match('#(?:^|[,/])\s*(?:emailAddress|1\.2\.840\.113549\.1\.9\.1)=([^,/@]++@[^,/]++)#', $request->server->get($this->credentialsKey), $matches) ) { $username = $matches[1]; } diff --git a/src/Symfony/Component/Security/Http/Tests/Authenticator/X509AuthenticatorTest.php b/src/Symfony/Component/Security/Http/Tests/Authenticator/X509AuthenticatorTest.php index 7ee6aaa973894..fc6ec3f7a377d 100644 --- a/src/Symfony/Component/Security/Http/Tests/Authenticator/X509AuthenticatorTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Authenticator/X509AuthenticatorTest.php @@ -81,6 +81,26 @@ public static function provideServerVarsNoUser() yield ['cert+something@example.com', 'emailAddress=cert+something@example.com,CN=Sample certificate DN']; yield ['cert+something@example.com', 'emailAddress=cert+something@example.com']; yield ['firstname.lastname@mycompany.co.uk', 'emailAddress=firstname.lastname@mycompany.co.uk,CN=Firstname.Lastname,OU=london,OU=company design and engineering,OU=Issuer London,OU=Roaming,OU=Interactive,OU=Users,OU=Standard,OU=Business,DC=england,DC=core,DC=company,DC=co,DC=uk']; + yield ['cert@example.com', '1.2.840.113549.1.9.1=cert@example.com,CN=Sample certificate DN']; + yield ['cert@example.com', 'CN=Sample certificate DN/1.2.840.113549.1.9.1=cert@example.com']; + } + + /** + * @dataProvider provideSpoofedDns + */ + public function testAuthenticationRejectsSpoofedEmailInDn(string $dn) + { + $request = $this->createRequest(['SSL_CLIENT_S_DN' => $dn]); + + $this->assertFalse($this->authenticator->supports($request)); + } + + public static function provideSpoofedDns() + { + yield ['CN=emailAddress=admin@target.example,O=Attacker Corp']; + yield ['CN=foo,OU=emailAddress=admin@target.example,O=Attacker']; + yield ['CN=1.2.840.113549.1.9.1=admin@target.example,O=Attacker Corp']; + yield ['CN=foo,OU=1.2.840.113549.1.9.1=admin@target.example,O=Attacker']; } public function testSupportNoData() From 743a435e948b897ef2b5564ac438d4beb95d2526 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 4 May 2026 22:26:39 +0200 Subject: [PATCH 06/43] [HtmlSanitizer] Reject BiDi override characters and percent-encode spaces in URLs --- .../Tests/TextSanitizer/UrlSanitizerTest.php | 22 +++++++++++-- .../TextSanitizer/UrlSanitizer.php | 33 ++++++++++++++++++- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php b/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php index 391895024e456..5f60a6a73167f 100644 --- a/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php +++ b/src/Symfony/Component/HtmlSanitizer/Tests/TextSanitizer/UrlSanitizerTest.php @@ -369,7 +369,7 @@ public static function provideParse(): iterable " :foo.com \n" => null, ' foo.com ' => null, 'a: foo.com' => null, - 'http://f:21/ b ? d # e ' => null, + 'http://f:21/ b ? d # e ' => ['scheme' => 'http', 'host' => 'f'], 'lolscheme:x x#x x' => null, 'http://f:/c' => ['scheme' => 'http', 'host' => 'f'], 'http://f:0/c' => ['scheme' => 'http', 'host' => 'f'], @@ -443,7 +443,7 @@ public static function provideParse(): iterable 'javascript:example.com/' => ['scheme' => 'javascript', 'host' => null], 'mailto:example.com/' => ['scheme' => 'mailto', 'host' => null], '/a/b/c' => ['scheme' => null, 'host' => null], - '/a/ /c' => null, + '/a/ /c' => ['scheme' => null, 'host' => null], '/a%2fc' => ['scheme' => null, 'host' => null], '/a/%2f/c' => ['scheme' => null, 'host' => null], '#β' => ['scheme' => null, 'host' => null], @@ -506,7 +506,7 @@ public static function provideParse(): iterable "http://example.com/\u{feff}/foo" => ['scheme' => 'http', 'host' => 'example.com'], "http://example.com\u{002f}\u{202e}\u{002f}\u{0066}\u{006f}\u{006f}\u{002f}\u{202d}\u{002f}\u{0062}\u{0061}\u{0072}\u{0027}\u{0020}" => null, 'http://www.google.com/foo?bar=baz#' => ['scheme' => 'http', 'host' => 'www.google.com'], - 'http://www.google.com/foo?bar=baz# »' => null, + 'http://www.google.com/foo?bar=baz# »' => ['scheme' => 'http', 'host' => 'www.google.com'], 'data:test# »' => null, 'http://www.google.com' => ['scheme' => 'http', 'host' => 'www.google.com'], 'http://192.0x00A80001' => ['scheme' => 'http', 'host' => '192.0x00A80001'], @@ -810,6 +810,22 @@ public static function provideParse(): iterable 'a\\/\\/' => ['scheme' => null, 'host' => null], 'test-a-colon.html' => ['scheme' => null, 'host' => null], 'test-a-colon-b.html' => ['scheme' => null, 'host' => null], + 'https://example.com/path with space' => ['scheme' => 'https', 'host' => 'example.com'], + 'https://example.com:80/path with space' => ['scheme' => 'https', 'host' => 'example.com'], + 'example.com/path with space' => ['scheme' => null, 'host' => null], + 'https://user@example.com/path with space' => ['scheme' => 'https', 'host' => 'example.com'], + 'https://user with space@www.example.com/path with space' => null, + 'https://example.com?query=with space' => ['scheme' => 'https', 'host' => 'example.com'], + '//example.com/path with space' => ['scheme' => null, 'host' => 'example.com'], + '/file with space.html' => ['scheme' => null, 'host' => null], + 'file with space.html' => ['scheme' => null, 'host' => null], + 'mailto:foo bar@example.com' => null, + 'https://[::1]/path with space' => ['scheme' => 'https', 'host' => '[::1]'], + "http://example.com/foo\u{202E}bar" => null, + "http://example.com/foo\u{202D}bar with space" => null, + "http://example.com/\u{2066}bar with space" => null, + "http://example.com/\u{2069}bar" => null, + "http://example.com\u{202E}/foo" => null, ]; foreach ($urls as $url => $expected) { diff --git a/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php b/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php index 6ebfee8e8f2d9..508f17433fda5 100644 --- a/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php +++ b/src/Symfony/Component/HtmlSanitizer/TextSanitizer/UrlSanitizer.php @@ -94,12 +94,43 @@ public static function parse(string $url): ?array } try { - $parsedUrl = UriString::parse($url); + // Reject explicit-direction BiDi formatting characters: they have no + // legitimate place in a URL and enable visual spoofing of the rendered + // href when the URL is later embedded in HTML. + if (preg_match('/[\x{202A}-\x{202E}\x{2066}-\x{2069}]/u', $url)) { + return null; + } + + // Browsers tolerate spaces inside path/query/fragment by transparently + // percent-encoding them. Mirror that behavior, but never inside the + // scheme or authority (where spaces are illegal); the whitespace check + // below rejects any space that didn't fit in the encoded slice. + if (str_contains($url, ' ')) { + if (str_starts_with($url, ' ')) { + return null; + } + + if (false !== $i = strpos($url, '://')) { + $i += 3 + strcspn($url, '/?#', $i + 3); + } elseif (str_starts_with($url, '//')) { + $i = 2 + strcspn($url, '/?#', 2); + } elseif (preg_match('#^[a-z][a-z0-9+.\-]*:#i', $url)) { + // Hostless scheme (data:, mailto:, …): leave the URL untouched + // and let the whitespace check reject it. + $i = \strlen($url); + } else { + $i = 0; + } + + $url = substr($url, 0, $i).str_replace(' ', '%20', substr($url, $i)); + } if (preg_match('/\s/', $url)) { return null; } + $parsedUrl = UriString::parse($url); + if (isset($parsedUrl['host']) && self::decodeUnreservedCharacters($parsedUrl['host']) !== $parsedUrl['host']) { return null; } From a1c42cbe517bc146a54da7505a107ded317478fe Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Thu, 16 Apr 2026 19:09:23 +0200 Subject: [PATCH 07/43] [Mime] Reject email addresses containing line breaks in Address --- src/Symfony/Component/Mime/Address.php | 4 ++++ .../Component/Mime/Tests/AddressTest.php | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/Symfony/Component/Mime/Address.php b/src/Symfony/Component/Mime/Address.php index ae83efd73e9b2..b51e598505375 100644 --- a/src/Symfony/Component/Mime/Address.php +++ b/src/Symfony/Component/Mime/Address.php @@ -52,6 +52,10 @@ public function __construct(string $address, string $name = '') $this->address = trim($address); $this->name = trim(str_replace(["\n", "\r"], '', $name)); + if (preg_match('/[\x00-\x1F\x7F]/', $this->address)) { + throw new InvalidArgumentException('Email address contains control characters.'); + } + if (!self::$validator->isValid($this->address, class_exists(MessageIDValidation::class) ? new MessageIDValidation() : new RFCValidation())) { throw new RfcComplianceException(sprintf('Email "%s" does not comply with addr-spec of RFC 2822.', $address)); } diff --git a/src/Symfony/Component/Mime/Tests/AddressTest.php b/src/Symfony/Component/Mime/Tests/AddressTest.php index 4c64010d9601e..894c22afbcbac 100644 --- a/src/Symfony/Component/Mime/Tests/AddressTest.php +++ b/src/Symfony/Component/Mime/Tests/AddressTest.php @@ -38,6 +38,26 @@ public function testConstructorWithInvalidAddress() new Address('fab pot@symfony.com'); } + /** + * @dataProvider provideAddressesWithControlCharacters + */ + public function testConstructorRejectsControlCharactersInAddress(string $address) + { + $this->expectException(InvalidArgumentException::class); + new Address($address); + } + + public static function provideAddressesWithControlCharacters(): iterable + { + yield 'CRLF in quoted-string' => ["\"x\r\nBcc: attacker@evil\"@example.com"]; + yield 'CR only' => ["foo\r@example.com"]; + yield 'LF only' => ["foo\n@example.com"]; + yield 'NUL byte' => ["foo\x00@example.com"]; + yield 'HTAB' => ["foo\t@example.com"]; + yield 'DEL (0x7F)' => ["foo\x7F@example.com"]; + yield 'control char in domain' => ["foo@example\x01.com"]; + } + public function testCreate() { $this->assertSame($a = new Address('fabien@symfony.com'), Address::create($a)); From 0891b2f293896c488e26943dc034334364b77fc4 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 7 May 2026 15:36:24 +0200 Subject: [PATCH 08/43] [MonologBridge] Bind server:log to localhost by default --- .../Monolog/Command/ServerLogCommand.php | 15 +++++++++++---- .../Monolog/Handler/ServerLogHandler.php | 4 ++++ .../Tests/Formatter/ConsoleFormatterTest.php | 19 +++++++++++++++++++ .../Tests/Handler/ServerLogHandlerTest.php | 11 ++++++++++- 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php b/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php index 03811ab1571c7..db0a072ea57b8 100644 --- a/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php +++ b/src/Symfony/Bridge/Monolog/Command/ServerLogCommand.php @@ -22,6 +22,8 @@ use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\ExpressionLanguage\ExpressionLanguage; +use Symfony\Component\VarDumper\Cloner\Data; +use Symfony\Component\VarDumper\Cloner\Stub; /** * @author Grégoire Pineau @@ -57,7 +59,7 @@ protected function configure() } $this - ->addOption('host', null, InputOption::VALUE_REQUIRED, 'The server host', '0.0.0.0:9911') + ->addOption('host', null, InputOption::VALUE_REQUIRED, 'The server host', '127.0.0.1:9911') ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The line format', ConsoleFormatter::SIMPLE_FORMAT) ->addOption('date-format', null, InputOption::VALUE_REQUIRED, 'The date format', ConsoleFormatter::SIMPLE_DATE) ->addOption('filter', null, InputOption::VALUE_REQUIRED, 'An expression to filter log. Example: "level > 200 or channel in [\'app\', \'doctrine\']"') @@ -106,13 +108,18 @@ protected function execute(InputInterface $input, OutputInterface $output) } foreach ($this->getLogs($socket) as $clientId => $message) { - $record = unserialize(base64_decode($message)); + $record = @unserialize(base64_decode($message), [ + 'allowed_classes' => [Data::class, Stub::class], + ]); - // Impossible to decode the message, give up. - if (false === $record) { + if (!\is_array($record)) { continue; } + if (isset($record['datetime']) && \is_string($record['datetime'])) { + $record['datetime'] = \DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $record['datetime']) ?: $record['datetime']; + } + if ($filter && !$this->el->evaluate($filter, $record)) { continue; } diff --git a/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php b/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php index 53491e9df521d..f1fe624bdc490 100644 --- a/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php +++ b/src/Symfony/Bridge/Monolog/Handler/ServerLogHandler.php @@ -145,6 +145,10 @@ private function formatRecord(array $record): string } } + if (isset($recordFormatted['datetime']) && $recordFormatted['datetime'] instanceof \DateTimeInterface) { + $recordFormatted['datetime'] = $recordFormatted['datetime']->format('Y-m-d\TH:i:s.uP'); + } + return base64_encode(serialize($recordFormatted))."\n"; } } diff --git a/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php b/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php index 36f0c5ce89216..c12089f6b9013 100644 --- a/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php +++ b/src/Symfony/Bridge/Monolog/Tests/Formatter/ConsoleFormatterTest.php @@ -14,6 +14,7 @@ use Monolog\Logger; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Monolog\Formatter\ConsoleFormatter; +use Symfony\Component\VarDumper\Cloner\VarCloner; class ConsoleFormatterTest extends TestCase { @@ -60,4 +61,22 @@ public static function providerFormatTests(): array ], ]; } + + public function testPlaceholderInMessageWithDataContext() + { + $context = (new VarCloner())->cloneVar(['user' => 'alice']); + $formatter = new ConsoleFormatter(['colors' => false]); + + $output = $formatter->format([ + 'message' => 'Hello {user}', + 'context' => $context, + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => '2019-01-01T00:42:00+00:00', + 'extra' => [], + ]); + + self::assertStringContainsString('Hello alice', $output); + } } diff --git a/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php b/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php index f5a4405f645f1..0b74f19f2b143 100644 --- a/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php +++ b/src/Symfony/Bridge/Monolog/Tests/Handler/ServerLogHandlerTest.php @@ -18,6 +18,7 @@ use Symfony\Bridge\Monolog\Formatter\VarDumperFormatter; use Symfony\Bridge\Monolog\Handler\ServerLogHandler; use Symfony\Component\VarDumper\Cloner\Data; +use Symfony\Component\VarDumper\Cloner\Stub; /** * Tests the ServerLogHandler. @@ -87,12 +88,20 @@ public function testWritingAndFormatting() $message = fgets($stream); fclose($stream); - $record = unserialize(base64_decode($message)); + $record = unserialize(base64_decode($message), [ + 'allowed_classes' => [Data::class, Stub::class], + ]); $this->assertIsArray($record); $this->assertArrayHasKey('message', $record); $this->assertEquals('My info message', $record['message']); + $this->assertArrayHasKey('datetime', $record); + $this->assertIsString($record['datetime']); + $datetime = \DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $record['datetime']); + $this->assertInstanceOf(\DateTimeImmutable::class, $datetime); + $this->assertSame('2013-05-29 16:21:54', $datetime->format('Y-m-d H:i:s')); + $this->assertArrayHasKey('extra', $record); $this->assertInstanceOf(Data::class, $record['extra']); $extra = $record['extra']->getValue(true); From fa8d5c67aa4b22c9656e3fd7d5c3aa59865bf838 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 16 Apr 2026 16:23:41 +0200 Subject: [PATCH 09/43] [Security][HttpKernel] Fix HEAD requests bypassing methods filter in `IsGranted`, `IsCsrfTokenValid` and `IsSignatureValid` attributes --- .../HttpKernel/Attribute/IsSignatureValid.php | 5 +++- .../IsSignatureValidAttributeListener.php | 3 +-- .../IsSignatureValidAttributeListenerTest.php | 20 ++++++++++++++++ .../Http/Attribute/IsCsrfTokenValid.php | 9 +++++++- .../Security/Http/Attribute/IsGranted.php | 5 +++- .../IsCsrfTokenValidAttributeListener.php | 4 +--- .../IsGrantedAttributeListener.php | 2 +- .../IsCsrfTokenValidAttributeListenerTest.php | 23 +++++++++++++++++++ .../IsGrantedAttributeListenerTest.php | 18 +++++++++++++++ 9 files changed, 80 insertions(+), 9 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Attribute/IsSignatureValid.php b/src/Symfony/Component/HttpKernel/Attribute/IsSignatureValid.php index a95dd28d52e1b..e48c78ea494d1 100644 --- a/src/Symfony/Component/HttpKernel/Attribute/IsSignatureValid.php +++ b/src/Symfony/Component/HttpKernel/Attribute/IsSignatureValid.php @@ -36,6 +36,9 @@ final class IsSignatureValid public function __construct( array|string $methods = [], ) { - $this->methods = (array) $methods; + if (\in_array('GET', $methods = array_map('strtoupper', (array) $methods), true)) { + $methods[] = 'HEAD'; + } + $this->methods = $methods; } } diff --git a/src/Symfony/Component/HttpKernel/EventListener/IsSignatureValidAttributeListener.php b/src/Symfony/Component/HttpKernel/EventListener/IsSignatureValidAttributeListener.php index 08f435b874391..3e55d3cc25f37 100644 --- a/src/Symfony/Component/HttpKernel/EventListener/IsSignatureValidAttributeListener.php +++ b/src/Symfony/Component/HttpKernel/EventListener/IsSignatureValidAttributeListener.php @@ -37,8 +37,7 @@ public function onKernelControllerArguments(ControllerArgumentsEvent $event): vo $request = $event->getRequest(); foreach ($attributes as $attribute) { - $methods = array_map('strtoupper', $attribute->methods); - if ($methods && !\in_array($request->getMethod(), $methods, true)) { + if ($attribute->methods && !\in_array($request->getMethod(), $attribute->methods, true)) { continue; } diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/IsSignatureValidAttributeListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/IsSignatureValidAttributeListenerTest.php index e6674cc65a3e6..d9cc42ed25ccc 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/IsSignatureValidAttributeListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/IsSignatureValidAttributeListenerTest.php @@ -161,6 +161,26 @@ public function testValidationWithArrayMethods() $listener->onKernelControllerArguments($event); } + public function testValidationAppliedForHeadMethodWhenGetIsConfigured() + { + $request = new Request([], [], [], [], [], ['REQUEST_METHOD' => 'HEAD']); + + $signer = $this->createMock(UriSigner::class); + $signer->expects($this->once())->method('verify')->with($request); + $kernel = $this->createMock(HttpKernelInterface::class); + + $event = new ControllerArgumentsEvent( + $kernel, + [new IsSignatureValidAttributeMethodsController(), 'withGetAndPost'], + [], + $request, + null + ); + + $listener = new IsSignatureValidAttributeListener($signer); + $listener->onKernelControllerArguments($event); + } + public function testValidationSkippedForNonMatchingMethod() { $request = new Request([], [], [], [], [], ['REQUEST_METHOD' => 'GET']); diff --git a/src/Symfony/Component/Security/Http/Attribute/IsCsrfTokenValid.php b/src/Symfony/Component/Security/Http/Attribute/IsCsrfTokenValid.php index 810a539e0e078..a383125fa2b18 100644 --- a/src/Symfony/Component/Security/Http/Attribute/IsCsrfTokenValid.php +++ b/src/Symfony/Component/Security/Http/Attribute/IsCsrfTokenValid.php @@ -20,6 +20,9 @@ final class IsCsrfTokenValid public const SOURCE_QUERY = 0b0010; public const SOURCE_HEADER = 0b0100; + /** @var string[] */ + public readonly array $methods; + public function __construct( /** * Sets the id, or an Expression evaluated to the id, used when generating the token. @@ -35,7 +38,7 @@ public function __construct( * Sets the available http methods that can be used to validate the token. * If not set, the token will be validated for all methods. */ - public array|string $methods = [], + array|string $methods = [], /** * Sets the source targeted to read the tokenKey. @@ -44,5 +47,9 @@ public function __construct( */ public int $tokenSource = self::SOURCE_PAYLOAD, ) { + if (\in_array('GET', $methods = array_map('strtoupper', (array) $methods), true)) { + $methods[] = 'HEAD'; + } + $this->methods = $methods; } } diff --git a/src/Symfony/Component/Security/Http/Attribute/IsGranted.php b/src/Symfony/Component/Security/Http/Attribute/IsGranted.php index 1557b17db5968..0be4843948a38 100644 --- a/src/Symfony/Component/Security/Http/Attribute/IsGranted.php +++ b/src/Symfony/Component/Security/Http/Attribute/IsGranted.php @@ -43,6 +43,9 @@ public function __construct( public ?int $exceptionCode = null, array|string $methods = [], ) { - $this->methods = (array) $methods; + if (\in_array('GET', $methods = array_map('strtoupper', (array) $methods), true)) { + $methods[] = 'HEAD'; + } + $this->methods = $methods; } } diff --git a/src/Symfony/Component/Security/Http/EventListener/IsCsrfTokenValidAttributeListener.php b/src/Symfony/Component/Security/Http/EventListener/IsCsrfTokenValidAttributeListener.php index 3aa5d891a83cf..2bf658fee98bb 100644 --- a/src/Symfony/Component/Security/Http/EventListener/IsCsrfTokenValidAttributeListener.php +++ b/src/Symfony/Component/Security/Http/EventListener/IsCsrfTokenValidAttributeListener.php @@ -44,9 +44,7 @@ public function onKernelControllerArguments(ControllerArgumentsEvent $event): vo foreach ($attributes as $attribute) { $id = $this->getTokenId($attribute->id, $request, $arguments); - $methods = array_map('strtoupper', (array) $attribute->methods); - - if ($methods && !\in_array($request->getMethod(), $methods, true)) { + if ($attribute->methods && !\in_array($request->getMethod(), $attribute->methods, true)) { continue; } diff --git a/src/Symfony/Component/Security/Http/EventListener/IsGrantedAttributeListener.php b/src/Symfony/Component/Security/Http/EventListener/IsGrantedAttributeListener.php index 2db1159237758..e443a17220547 100644 --- a/src/Symfony/Component/Security/Http/EventListener/IsGrantedAttributeListener.php +++ b/src/Symfony/Component/Security/Http/EventListener/IsGrantedAttributeListener.php @@ -54,7 +54,7 @@ public function onKernelControllerArguments(ControllerArgumentsEvent $event): vo $arguments = $event->getNamedArguments(); foreach ($attributes as $attribute) { - if ($attribute->methods && !\in_array($request->getMethod(), array_map('strtoupper', $attribute->methods), true)) { + if ($attribute->methods && !\in_array($request->getMethod(), $attribute->methods, true)) { continue; } diff --git a/src/Symfony/Component/Security/Http/Tests/EventListener/IsCsrfTokenValidAttributeListenerTest.php b/src/Symfony/Component/Security/Http/Tests/EventListener/IsCsrfTokenValidAttributeListenerTest.php index dc53ec3ac6d50..39a9a4c9fc100 100644 --- a/src/Symfony/Component/Security/Http/Tests/EventListener/IsCsrfTokenValidAttributeListenerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/EventListener/IsCsrfTokenValidAttributeListenerTest.php @@ -273,6 +273,29 @@ public function testIsCsrfTokenValidCalledCorrectlyWithGetOrPostMethodWithGetMet $listener->onKernelControllerArguments($event); } + public function testIsCsrfTokenValidCalledCorrectlyWithGetOrPostMethodWithHeadMethod() + { + $request = new Request(request: ['_token' => 'bar']); + $request->setMethod('HEAD'); + + $csrfTokenManager = $this->createMock(CsrfTokenManagerInterface::class); + $csrfTokenManager->expects($this->once()) + ->method('isTokenValid') + ->with(new CsrfToken('foo', 'bar')) + ->willReturn(true); + + $event = new ControllerArgumentsEvent( + $this->createMock(HttpKernelInterface::class), + [new IsCsrfTokenValidAttributeMethodsController(), 'withGetOrPostMethod'], + [], + $request, + null + ); + + $listener = new IsCsrfTokenValidAttributeListener($csrfTokenManager); + $listener->onKernelControllerArguments($event); + } + public function testIsCsrfTokenValidIgnoredWithGetOrPostMethodWithPutMethod() { $request = new Request(request: ['_token' => 'bar']); diff --git a/src/Symfony/Component/Security/Http/Tests/EventListener/IsGrantedAttributeListenerTest.php b/src/Symfony/Component/Security/Http/Tests/EventListener/IsGrantedAttributeListenerTest.php index 265c2ffd0ab95..e8bfe82fa4140 100644 --- a/src/Symfony/Component/Security/Http/Tests/EventListener/IsGrantedAttributeListenerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/EventListener/IsGrantedAttributeListenerTest.php @@ -526,6 +526,24 @@ public function testSkipsAuthorizationWhenMethodDoesNotMatchStringConstraint() $listener->onKernelControllerArguments($event); } + public function testThrowsAccessDeniedExceptionWhenHeadMethodMatchesGetConstraint() + { + $authChecker = $this->createMock(AuthorizationCheckerInterface::class); + $authChecker->expects($this->once())->method('isGranted')->willReturn(false); + + $event = new ControllerArgumentsEvent( + $this->createMock(HttpKernelInterface::class), + [new IsGrantedAttributeMethodsController(), 'adminWithMethodGet'], + [], + new Request([], [], [], [], [], ['REQUEST_METHOD' => 'HEAD']), + null + ); + + $listener = new IsGrantedAttributeListener($authChecker); + $this->expectException(AccessDeniedException::class); + $listener->onKernelControllerArguments($event); + } + public function testFiltersOnlyIsGrantedAttributesUsingInstanceof() { $authChecker = $this->createMock(AuthorizationCheckerInterface::class); From 914f427ed9630ddb3904dafba763e53d9f133fe3 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 8 May 2026 22:44:36 +0200 Subject: [PATCH 10/43] [Yaml] Bound recursion depth in the parser Track nesting depth in a shared `ParserState` across both block-level (`Parser::parseBlock()`) and inline (`Inline::parseSequence()` / `Inline::parseMapping()`) parsing, with a default limit of 128. Crafted YAML documents with arbitrarily nested mappings or sequences otherwise exhaust the PHP stack and crash the worker. --- src/Symfony/Component/Yaml/CHANGELOG.md | 1 + src/Symfony/Component/Yaml/Inline.php | 351 +++++++++--------- src/Symfony/Component/Yaml/Parser.php | 46 ++- src/Symfony/Component/Yaml/ParserState.php | 44 +++ .../Component/Yaml/Tests/ParserTest.php | 13 + src/Symfony/Component/Yaml/Tests/YamlTest.php | 11 + src/Symfony/Component/Yaml/Yaml.php | 18 +- 7 files changed, 298 insertions(+), 186 deletions(-) create mode 100644 src/Symfony/Component/Yaml/ParserState.php diff --git a/src/Symfony/Component/Yaml/CHANGELOG.md b/src/Symfony/Component/Yaml/CHANGELOG.md index b9561b2af2155..9b66d98ee9d1a 100644 --- a/src/Symfony/Component/Yaml/CHANGELOG.md +++ b/src/Symfony/Component/Yaml/CHANGELOG.md @@ -4,6 +4,7 @@ CHANGELOG 5.4 --- + * Add a `$maxNestingLevel` argument to `Parser::__construct()`, `Yaml::parse()` and `Yaml::parseFile()` to bound recursion depth (default 128) * Add new `lint:yaml dirname --exclude=/dirname/foo.yaml --exclude=/dirname/bar.yaml` option to exclude one or more specific files from multiple file list * Allow negatable for the parse tags option with `--no-parse-tags` diff --git a/src/Symfony/Component/Yaml/Inline.php b/src/Symfony/Component/Yaml/Inline.php index 5e4e5f7a877bc..95e9f485a2c9d 100644 --- a/src/Symfony/Component/Yaml/Inline.php +++ b/src/Symfony/Component/Yaml/Inline.php @@ -58,13 +58,14 @@ public static function initialize(int $flags, ?int $parsedLineNumber = null, ?st * * @throws ParseException */ - public static function parse(?string $value = null, int $flags = 0, array &$references = []) + public static function parse(?string $value = null, int $flags = 0, array &$references = [], ?ParserState $state = null) { if (null === $value) { return ''; } self::initialize($flags); + $state = $state ?? new ParserState(); $value = trim($value); @@ -79,18 +80,19 @@ public static function parse(?string $value = null, int $flags = 0, array &$refe try { $i = 0; + $isQuoted = null; $tag = self::parseTag($value, $i, $flags); switch ($value[$i]) { case '[': - $result = self::parseSequence($value, $flags, $i, $references); + $result = self::parseSequence($state, $value, $flags, $i, $references); ++$i; break; case '{': - $result = self::parseMapping($value, $flags, $i, $references); + $result = self::parseMapping($state, $value, $flags, $i, $references); ++$i; break; default: - $result = self::parseScalar($value, $flags, null, $i, true, $references); + $result = self::parseScalar($value, $flags, null, $i, true, $references, $isQuoted, $state); } // some comments are allowed at the end @@ -269,7 +271,7 @@ private static function dumpNull(int $flags): string * * @throws ParseException When malformed inline YAML string is parsed */ - public static function parseScalar(string $scalar, int $flags = 0, ?array $delimiters = null, int &$i = 0, bool $evaluate = true, array &$references = [], ?bool &$isQuoted = null) + public static function parseScalar(string $scalar, int $flags = 0, ?array $delimiters = null, int &$i = 0, bool $evaluate = true, array &$references = [], ?bool &$isQuoted = null, ?ParserState $state = null) { if (\in_array($scalar[$i], ['"', "'"], true)) { // quoted scalar @@ -311,7 +313,8 @@ public static function parseScalar(string $scalar, int $flags = 0, ?array $delim } if ($evaluate) { - $output = self::evaluateScalar($output, $flags, $references, $isQuoted); + $state = $state ?? new ParserState(); + $output = self::evaluateScalar($state, $output, $flags, $references, $isQuoted); } } @@ -348,73 +351,79 @@ private static function parseQuotedScalar(string $scalar, int &$i = 0): string * * @throws ParseException When malformed inline YAML string is parsed */ - private static function parseSequence(string $sequence, int $flags, int &$i = 0, array &$references = []): array + private static function parseSequence(ParserState $state, string $sequence, int $flags, int &$i = 0, array &$references = []): array { + $state->enterNestingLevel(self::$parsedLineNumber + 1, null, self::$parsedFilename); + $output = []; $len = \strlen($sequence); ++$i; - // [foo, bar, ...] - $lastToken = null; - while ($i < $len) { - if (']' === $sequence[$i]) { - return $output; - } - if (',' === $sequence[$i] || ' ' === $sequence[$i]) { - if (',' === $sequence[$i] && (null === $lastToken || 'separator' === $lastToken)) { - $output[] = null; - } elseif (',' === $sequence[$i]) { - $lastToken = 'separator'; + try { + // [foo, bar, ...] + $lastToken = null; + while ($i < $len) { + if (']' === $sequence[$i]) { + return $output; } + if (',' === $sequence[$i] || ' ' === $sequence[$i]) { + if (',' === $sequence[$i] && (null === $lastToken || 'separator' === $lastToken)) { + $output[] = null; + } elseif (',' === $sequence[$i]) { + $lastToken = 'separator'; + } - ++$i; + ++$i; - continue; - } + continue; + } - $tag = self::parseTag($sequence, $i, $flags); - switch ($sequence[$i]) { - case '[': - // nested sequence - $value = self::parseSequence($sequence, $flags, $i, $references); - break; - case '{': - // nested mapping - $value = self::parseMapping($sequence, $flags, $i, $references); - break; - default: - $value = self::parseScalar($sequence, $flags, [',', ']'], $i, null === $tag, $references, $isQuoted); + $tag = self::parseTag($sequence, $i, $flags); + switch ($sequence[$i]) { + case '[': + // nested sequence + $value = self::parseSequence($state, $sequence, $flags, $i, $references); + break; + case '{': + // nested mapping + $value = self::parseMapping($state, $sequence, $flags, $i, $references); + break; + default: + $value = self::parseScalar($sequence, $flags, [',', ']'], $i, null === $tag, $references, $isQuoted, $state); + + // the value can be an array if a reference has been resolved to an array var + if (\is_string($value) && !$isQuoted && false !== strpos($value, ': ')) { + // embedded mapping? + try { + $pos = 0; + $value = self::parseMapping($state, '{'.$value.'}', $flags, $pos, $references); + } catch (\InvalidArgumentException $e) { + // no, it's not + } + } - // the value can be an array if a reference has been resolved to an array var - if (\is_string($value) && !$isQuoted && false !== strpos($value, ': ')) { - // embedded mapping? - try { - $pos = 0; - $value = self::parseMapping('{'.$value.'}', $flags, $pos, $references); - } catch (\InvalidArgumentException $e) { - // no, it's not + if (!$isQuoted && \is_string($value) && '' !== $value && '&' === $value[0] && Parser::preg_match(Parser::REFERENCE_PATTERN, $value, $matches)) { + $references[$matches['ref']] = $matches['value']; + $value = $matches['value']; } - } - if (!$isQuoted && \is_string($value) && '' !== $value && '&' === $value[0] && Parser::preg_match(Parser::REFERENCE_PATTERN, $value, $matches)) { - $references[$matches['ref']] = $matches['value']; - $value = $matches['value']; - } + --$i; + } - --$i; - } + if (null !== $tag && '' !== $tag) { + $value = new TaggedValue($tag, $value); + } - if (null !== $tag && '' !== $tag) { - $value = new TaggedValue($tag, $value); - } + $output[] = $value; - $output[] = $value; + $lastToken = 'value'; + ++$i; + } - $lastToken = 'value'; - ++$i; + throw new ParseException(sprintf('Malformed inline YAML string: "%s".', $sequence), self::$parsedLineNumber + 1, null, self::$parsedFilename); + } finally { + $state->leaveNestingLevel(); } - - throw new ParseException(sprintf('Malformed inline YAML string: "%s".', $sequence), self::$parsedLineNumber + 1, null, self::$parsedFilename); } /** @@ -424,143 +433,149 @@ private static function parseSequence(string $sequence, int $flags, int &$i = 0, * * @throws ParseException When malformed inline YAML string is parsed */ - private static function parseMapping(string $mapping, int $flags, int &$i = 0, array &$references = []) + private static function parseMapping(ParserState $state, string $mapping, int $flags, int &$i = 0, array &$references = []) { + $state->enterNestingLevel(self::$parsedLineNumber + 1, null, self::$parsedFilename); + $output = []; $len = \strlen($mapping); ++$i; $allowOverwrite = false; - // {foo: bar, bar:foo, ...} - while ($i < $len) { - switch ($mapping[$i]) { - case ' ': - case ',': - case "\n": - ++$i; - continue 2; - case '}': - if (self::$objectForMap) { - return (object) $output; - } + try { + // {foo: bar, bar:foo, ...} + while ($i < $len) { + switch ($mapping[$i]) { + case ' ': + case ',': + case "\n": + ++$i; + continue 2; + case '}': + if (self::$objectForMap) { + return (object) $output; + } - return $output; - } + return $output; + } - // key - $offsetBeforeKeyParsing = $i; - $isKeyQuoted = \in_array($mapping[$i], ['"', "'"], true); - $key = self::parseScalar($mapping, $flags, [':', ' '], $i, false); + // key + $offsetBeforeKeyParsing = $i; + $isKeyQuoted = \in_array($mapping[$i], ['"', "'"], true); + $key = self::parseScalar($mapping, $flags, [':', ' '], $i, false); - if ($offsetBeforeKeyParsing === $i) { - throw new ParseException('Missing mapping key.', self::$parsedLineNumber + 1, $mapping); - } + if ($offsetBeforeKeyParsing === $i) { + throw new ParseException('Missing mapping key.', self::$parsedLineNumber + 1, $mapping); + } - if ('!php/const' === $key) { - $key .= ' '.self::parseScalar($mapping, $flags, [':'], $i, false); - $key = self::evaluateScalar($key, $flags); - } + if ('!php/const' === $key) { + $key .= ' '.self::parseScalar($mapping, $flags, [':'], $i, false); + $key = self::evaluateScalar($state, $key, $flags); + } - if (false === $i = strpos($mapping, ':', $i)) { - break; - } + if (false === $i = strpos($mapping, ':', $i)) { + break; + } - if (!$isKeyQuoted) { - $evaluatedKey = self::evaluateScalar($key, $flags, $references); + if (!$isKeyQuoted) { + $evaluatedKey = self::evaluateScalar($state, $key, $flags, $references); - if ('' !== $key && $evaluatedKey !== $key && !\is_string($evaluatedKey) && !\is_int($evaluatedKey)) { - throw new ParseException('Implicit casting of incompatible mapping keys to strings is not supported. Quote your evaluable mapping keys instead.', self::$parsedLineNumber + 1, $mapping); + if ('' !== $key && $evaluatedKey !== $key && !\is_string($evaluatedKey) && !\is_int($evaluatedKey)) { + throw new ParseException('Implicit casting of incompatible mapping keys to strings is not supported. Quote your evaluable mapping keys instead.', self::$parsedLineNumber + 1, $mapping); + } } - } - if (!$isKeyQuoted && (!isset($mapping[$i + 1]) || !\in_array($mapping[$i + 1], [' ', ',', '[', ']', '{', '}', "\n"], true))) { - throw new ParseException('Colons must be followed by a space or an indication character (i.e. " ", ",", "[", "]", "{", "}").', self::$parsedLineNumber + 1, $mapping); - } + if (!$isKeyQuoted && (!isset($mapping[$i + 1]) || !\in_array($mapping[$i + 1], [' ', ',', '[', ']', '{', '}', "\n"], true))) { + throw new ParseException('Colons must be followed by a space or an indication character (i.e. " ", ",", "[", "]", "{", "}").', self::$parsedLineNumber + 1, $mapping); + } - if ('<<' === $key) { - $allowOverwrite = true; - } + if ('<<' === $key) { + $allowOverwrite = true; + } - while ($i < $len) { - if (':' === $mapping[$i] || ' ' === $mapping[$i] || "\n" === $mapping[$i]) { - ++$i; + while ($i < $len) { + if (':' === $mapping[$i] || ' ' === $mapping[$i] || "\n" === $mapping[$i]) { + ++$i; - continue; - } + continue; + } - $tag = self::parseTag($mapping, $i, $flags); - switch ($mapping[$i]) { - case '[': - // nested sequence - $value = self::parseSequence($mapping, $flags, $i, $references); - // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - // But overwriting is allowed when a merge node is used in current block. - if ('<<' === $key) { - foreach ($value as $parsedValue) { - $output += $parsedValue; + $tag = self::parseTag($mapping, $i, $flags); + switch ($mapping[$i]) { + case '[': + // nested sequence + $value = self::parseSequence($state, $mapping, $flags, $i, $references); + // Spec: Keys MUST be unique; first one wins. + // Parser cannot abort this mapping earlier, since lines + // are processed sequentially. + // But overwriting is allowed when a merge node is used in current block. + if ('<<' === $key) { + foreach ($value as $parsedValue) { + $output += $parsedValue; + } + } elseif ($allowOverwrite || !isset($output[$key])) { + if (null !== $tag) { + $output[$key] = new TaggedValue($tag, $value); + } else { + $output[$key] = $value; + } + } elseif (isset($output[$key])) { + throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); } - } elseif ($allowOverwrite || !isset($output[$key])) { - if (null !== $tag) { - $output[$key] = new TaggedValue($tag, $value); - } else { - $output[$key] = $value; + break; + case '{': + // nested mapping + $value = self::parseMapping($state, $mapping, $flags, $i, $references); + // Spec: Keys MUST be unique; first one wins. + // Parser cannot abort this mapping earlier, since lines + // are processed sequentially. + // But overwriting is allowed when a merge node is used in current block. + if ('<<' === $key) { + $output += $value; + } elseif ($allowOverwrite || !isset($output[$key])) { + if (null !== $tag) { + $output[$key] = new TaggedValue($tag, $value); + } else { + $output[$key] = $value; + } + } elseif (isset($output[$key])) { + throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); } - } elseif (isset($output[$key])) { - throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); - } - break; - case '{': - // nested mapping - $value = self::parseMapping($mapping, $flags, $i, $references); - // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - // But overwriting is allowed when a merge node is used in current block. - if ('<<' === $key) { - $output += $value; - } elseif ($allowOverwrite || !isset($output[$key])) { - if (null !== $tag) { - $output[$key] = new TaggedValue($tag, $value); - } else { - $output[$key] = $value; - } - } elseif (isset($output[$key])) { - throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); - } - break; - default: - $value = self::parseScalar($mapping, $flags, [',', '}', "\n"], $i, null === $tag, $references, $isValueQuoted); - // Spec: Keys MUST be unique; first one wins. - // Parser cannot abort this mapping earlier, since lines - // are processed sequentially. - // But overwriting is allowed when a merge node is used in current block. - if ('<<' === $key) { - $output += $value; - } elseif ($allowOverwrite || !isset($output[$key])) { - if (!$isValueQuoted && \is_string($value) && '' !== $value && '&' === $value[0] && !self::isBinaryString($value) && Parser::preg_match(Parser::REFERENCE_PATTERN, $value, $matches)) { - $references[$matches['ref']] = $matches['value']; - $value = $matches['value']; + break; + default: + $value = self::parseScalar($mapping, $flags, [',', '}', "\n"], $i, null === $tag, $references, $isValueQuoted, $state); + // Spec: Keys MUST be unique; first one wins. + // Parser cannot abort this mapping earlier, since lines + // are processed sequentially. + // But overwriting is allowed when a merge node is used in current block. + if ('<<' === $key) { + $output += $value; + } elseif ($allowOverwrite || !isset($output[$key])) { + if (!$isValueQuoted && \is_string($value) && '' !== $value && '&' === $value[0] && !self::isBinaryString($value) && Parser::preg_match(Parser::REFERENCE_PATTERN, $value, $matches)) { + $references[$matches['ref']] = $matches['value']; + $value = $matches['value']; + } + + if (null !== $tag) { + $output[$key] = new TaggedValue($tag, $value); + } else { + $output[$key] = $value; + } + } elseif (isset($output[$key])) { + throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); } + --$i; + } + ++$i; - if (null !== $tag) { - $output[$key] = new TaggedValue($tag, $value); - } else { - $output[$key] = $value; - } - } elseif (isset($output[$key])) { - throw new ParseException(sprintf('Duplicate key "%s" detected.', $key), self::$parsedLineNumber + 1, $mapping); - } - --$i; + continue 2; } - ++$i; - - continue 2; } - } - throw new ParseException(sprintf('Malformed inline YAML string: "%s".', $mapping), self::$parsedLineNumber + 1, null, self::$parsedFilename); + throw new ParseException(sprintf('Malformed inline YAML string: "%s".', $mapping), self::$parsedLineNumber + 1, null, self::$parsedFilename); + } finally { + $state->leaveNestingLevel(); + } } /** @@ -570,7 +585,7 @@ private static function parseMapping(string $mapping, int $flags, int &$i = 0, a * * @throws ParseException when object parsing support was disabled and the parser detected a PHP object or when a reference could not be resolved */ - private static function evaluateScalar(string $scalar, int $flags, array &$references = [], ?bool &$isQuotedString = null) + private static function evaluateScalar(ParserState $state, string $scalar, int $flags, array &$references = [], ?bool &$isQuotedString = null) { $isQuotedString = false; $scalar = trim($scalar); diff --git a/src/Symfony/Component/Yaml/Parser.php b/src/Symfony/Component/Yaml/Parser.php index 6b5b273a77ead..34c75c24b06b1 100644 --- a/src/Symfony/Component/Yaml/Parser.php +++ b/src/Symfony/Component/Yaml/Parser.php @@ -26,6 +26,7 @@ class Parser public const TAG_PATTERN = '(?P![\w!.\/:-]+)'; public const BLOCK_SCALAR_HEADER_PATTERN = '(?P\||>)(?P\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P +#.*)?'; public const REFERENCE_PATTERN = '#^&(?P[^ ]++) *+(?P.*)#u'; + public const DEFAULT_MAX_NESTING_LEVEL = 128; private $filename; private $offset = 0; @@ -38,6 +39,16 @@ class Parser private $skippedLineNumbers = []; private $locallySkippedLineNumbers = []; private $refsBeingParsed = []; + private $state; + + public function __construct(int $maxNestingLevel = self::DEFAULT_MAX_NESTING_LEVEL) + { + if ($maxNestingLevel < 1) { + throw new \InvalidArgumentException('The maximum nesting depth must be greater than 0.'); + } + + $this->getState()->maxNestingLevel = $maxNestingLevel; + } /** * Parses a YAML file into a PHP value. @@ -85,6 +96,8 @@ public function parse(string $value, int $flags = 0) } $this->refs = []; + $state = $this->getState(); + $state->reset(); $mbEncoding = null; @@ -108,11 +121,17 @@ public function parse(string $value, int $flags = 0) $this->skippedLineNumbers = []; $this->locallySkippedLineNumbers = []; $this->totalNumberOfLines = null; + $state->reset(); } return $data; } + private function getState(): ParserState + { + return $this->state ?? $this->state = new ParserState(); + } + private function doParse(string $value, int $flags) { $this->currentLineNb = -1; @@ -369,7 +388,7 @@ private function doParse(string $value, int $flags) } try { - return Inline::parse($this->lexInlineQuotedString(), $flags, $this->refs); + return Inline::parse($this->lexInlineQuotedString(), $flags, $this->refs, $this->state); } catch (ParseException $e) { $e->setParsedLine($this->getRealCurrentLineNb() + 1); $e->setSnippet($this->currentLine); @@ -382,7 +401,7 @@ private function doParse(string $value, int $flags) } try { - $parsedMapping = Inline::parse($this->lexInlineMapping(), $flags, $this->refs); + $parsedMapping = Inline::parse($this->lexInlineMapping(), $flags, $this->refs, $this->state); while ($this->moveToNextLine()) { if (!$this->isCurrentLineEmpty()) { @@ -403,7 +422,7 @@ private function doParse(string $value, int $flags) } try { - $parsedSequence = Inline::parse($this->lexInlineSequence(), $flags, $this->refs); + $parsedSequence = Inline::parse($this->lexInlineSequence(), $flags, $this->refs, $this->state); while ($this->moveToNextLine()) { if (!$this->isCurrentLineEmpty()) { @@ -431,7 +450,7 @@ private function doParse(string $value, int $flags) // 1-liner optionally followed by newline(s) if (\is_string($value) && $this->lines[0] === trim($value)) { try { - $value = Inline::parse($this->lines[0], $flags, $this->refs); + $value = Inline::parse($this->lines[0], $flags, $this->refs, $this->state); } catch (ParseException $e) { $e->setParsedLine($this->getRealCurrentLineNb() + 1); $e->setSnippet($this->currentLine); @@ -487,7 +506,7 @@ private function doParse(string $value, int $flags) } try { - return Inline::parse(trim($value)); + return Inline::parse(trim($value), 0, $this->refs, $this->state); } catch (ParseException $e) { // fall-through to the ParseException thrown below } @@ -532,8 +551,15 @@ private function parseBlock(int $offset, string $yaml, int $flags) $parser->skippedLineNumbers = $skippedLineNumbers; $parser->refs = &$this->refs; $parser->refsBeingParsed = $this->refsBeingParsed; + $parser->state = $this->state; + + $this->getState()->enterNestingLevel($offset + 1, $this->currentLine, $this->filename); - return $parser->doParse($yaml, $flags); + try { + return $parser->doParse($yaml, $flags); + } finally { + $this->getState()->leaveNestingLevel(); + } } /** @@ -757,18 +783,18 @@ private function parseValue(string $value, int $flags, string $context) if ('' !== $value && '{' === $value[0]) { $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - return Inline::parse($this->lexInlineMapping($cursor), $flags, $this->refs); + return Inline::parse($this->lexInlineMapping($cursor), $flags, $this->refs, $this->state); } elseif ('' !== $value && '[' === $value[0]) { $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - return Inline::parse($this->lexInlineSequence($cursor), $flags, $this->refs); + return Inline::parse($this->lexInlineSequence($cursor), $flags, $this->refs, $this->state); } switch ($value[0] ?? '') { case '"': case "'": $cursor = \strlen(rtrim($this->currentLine)) - \strlen(rtrim($value)); - $parsedValue = Inline::parse($this->lexInlineQuotedString($cursor), $flags, $this->refs); + $parsedValue = Inline::parse($this->lexInlineQuotedString($cursor), $flags, $this->refs, $this->state); if (isset($this->currentLine[$cursor]) && preg_replace('/\s*(#.*)?$/A', '', substr($this->currentLine, $cursor))) { throw new ParseException(sprintf('Unexpected characters near "%s".', substr($this->currentLine, $cursor))); @@ -804,7 +830,7 @@ private function parseValue(string $value, int $flags, string $context) Inline::$parsedLineNumber = $this->getRealCurrentLineNb(); - $parsedValue = Inline::parse($value, $flags, $this->refs); + $parsedValue = Inline::parse($value, $flags, $this->refs, $this->state); if ('mapping' === $context && \is_string($parsedValue) && '"' !== $value[0] && "'" !== $value[0] && '[' !== $value[0] && '{' !== $value[0] && '!' !== $value[0] && false !== strpos($parsedValue, ': ')) { throw new ParseException('A colon cannot be used in an unquoted mapping value.', $this->getRealCurrentLineNb() + 1, $value, $this->filename); diff --git a/src/Symfony/Component/Yaml/ParserState.php b/src/Symfony/Component/Yaml/ParserState.php new file mode 100644 index 0000000000000..f29f4c8c2bd30 --- /dev/null +++ b/src/Symfony/Component/Yaml/ParserState.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Yaml; + +use Symfony\Component\Yaml\Exception\ParseException; + +/** + * @internal + */ +final class ParserState +{ + public $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL; + public $currentNestingLevel = 0; + + public function reset(): void + { + $this->currentNestingLevel = 0; + } + + public function enterNestingLevel(int $line, ?string $snippet, ?string $filename): void + { + if (++$this->currentNestingLevel > $this->maxNestingLevel) { + --$this->currentNestingLevel; + + throw new ParseException(sprintf('Maximum nesting depth of %d exceeded.', $this->maxNestingLevel), $line, $snippet, $filename); + } + } + + public function leaveNestingLevel(): void + { + if ($this->currentNestingLevel > 0) { + --$this->currentNestingLevel; + } + } +} diff --git a/src/Symfony/Component/Yaml/Tests/ParserTest.php b/src/Symfony/Component/Yaml/Tests/ParserTest.php index 5fa6d08064334..45fae22ca65a6 100644 --- a/src/Symfony/Component/Yaml/Tests/ParserTest.php +++ b/src/Symfony/Component/Yaml/Tests/ParserTest.php @@ -2954,6 +2954,19 @@ public function testSkipBlankLines() $this->assertSame(['foo' => [null]], (new Parser())->parse("foo:\n-\n\n")); } + public function testParseRejectsDocumentsThatExceedTheDefaultNestingDepth() + { + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Maximum nesting depth'); + + $yaml = "root:\n"; + for ($i = 1; $i <= Parser::DEFAULT_MAX_NESTING_LEVEL + 1; ++$i) { + $yaml .= str_repeat(' ', $i).sprintf("level%d:\n", $i); + } + + $this->parser->parse($yaml); + } + private function assertSameData($expected, $actual) { $this->assertEquals($expected, $actual); diff --git a/src/Symfony/Component/Yaml/Tests/YamlTest.php b/src/Symfony/Component/Yaml/Tests/YamlTest.php index 151b5b9deb824..f6f3f4b986bfd 100644 --- a/src/Symfony/Component/Yaml/Tests/YamlTest.php +++ b/src/Symfony/Component/Yaml/Tests/YamlTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Yaml; class YamlTest extends TestCase @@ -37,4 +38,14 @@ public function testNegativeIndentationThrowsException() $this->expectExceptionMessage('The indentation must be greater than zero'); Yaml::dump(['lorem' => 'ipsum', 'dolor' => 'sit'], 2, -4); } + + public function testParseAllowsConfiguringTheMaximumNestingLevel() + { + $yaml = "root:\n child:\n grandchild:\n greatgrandchild: value\n"; + + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Maximum nesting depth of 2 exceeded'); + + Yaml::parse($yaml, 0, 2); + } } diff --git a/src/Symfony/Component/Yaml/Yaml.php b/src/Symfony/Component/Yaml/Yaml.php index ea13045288e97..f754977bf4b37 100644 --- a/src/Symfony/Component/Yaml/Yaml.php +++ b/src/Symfony/Component/Yaml/Yaml.php @@ -43,16 +43,17 @@ class Yaml * $array = Yaml::parseFile('config.yml'); * print_r($array); * - * @param string $filename The path to the YAML file to be parsed - * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param string $filename The path to the YAML file to be parsed + * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks * * @return mixed * * @throws ParseException If the file could not be read or the YAML is not valid */ - public static function parseFile(string $filename, int $flags = 0) + public static function parseFile(string $filename, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL) { - $yaml = new Parser(); + $yaml = new Parser($maxNestingLevel); return $yaml->parseFile($filename, $flags); } @@ -66,16 +67,17 @@ public static function parseFile(string $filename, int $flags = 0) * print_r($array); * * - * @param string $input A string containing YAML - * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param string $input A string containing YAML + * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks * * @return mixed * * @throws ParseException If the YAML is not valid */ - public static function parse(string $input, int $flags = 0) + public static function parse(string $input, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL) { - $yaml = new Parser(); + $yaml = new Parser($maxNestingLevel); return $yaml->parse($input, $flags); } From c45144862dc289d03952f41f6078174089a3afc6 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Thu, 16 Apr 2026 16:52:52 +0200 Subject: [PATCH 11/43] [Mailer] Add end-of-options separator before recipients in SendmailTransport; reject addresses starting with a dash --- .../Mailer/Tests/Transport/SendmailTransportTest.php | 4 ++-- src/Symfony/Component/Mailer/Transport/SendmailTransport.php | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php index 660d29c37c0f0..fdbe1d7af3999 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php @@ -70,7 +70,7 @@ public function testToIsUsedWhenRecipientsAreNotSet() $sendmailTransport = new SendmailTransport(self::FAKE_SENDMAIL); $sendmailTransport->send($mail, $envelope); - $this->assertStringEqualsFile($this->argsPath, __DIR__.'/Fixtures/fake-sendmail.php -ffrom@mail.com to@mail.com'); + $this->assertStringEqualsFile($this->argsPath, __DIR__.'/Fixtures/fake-sendmail.php -ffrom@mail.com -- to@mail.com'); } public function testRecipientsAreUsedWhenSet() @@ -82,7 +82,7 @@ public function testRecipientsAreUsedWhenSet() $sendmailTransport = new SendmailTransport(self::FAKE_SENDMAIL); $sendmailTransport->send($mail, $envelope); - $this->assertStringEqualsFile($this->argsPath, __DIR__.'/Fixtures/fake-sendmail.php -ffrom@mail.com recipient@mail.com'); + $this->assertStringEqualsFile($this->argsPath, __DIR__.'/Fixtures/fake-sendmail.php -ffrom@mail.com -- recipient@mail.com'); } public function testThrowsTransportExceptionOnFailure() diff --git a/src/Symfony/Component/Mailer/Transport/SendmailTransport.php b/src/Symfony/Component/Mailer/Transport/SendmailTransport.php index 712016b5fed2b..e150194a28f69 100644 --- a/src/Symfony/Component/Mailer/Transport/SendmailTransport.php +++ b/src/Symfony/Component/Mailer/Transport/SendmailTransport.php @@ -107,6 +107,9 @@ protected function doSend(SentMessage $message): void $chunks = AbstractStream::replace("\n.", "\n..", $chunks); } + if ($recipients) { + $command .= ' --'; + } foreach ($recipients as $recipient) { $command .= ' '.escapeshellarg($recipient->getEncodedAddress()); } From 863aa81c61166f1aa74b7732df316f76113acbdb Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 11 May 2026 11:54:00 +0200 Subject: [PATCH 12/43] [TwigBridge] Fix XSS issue in CodeExtension::fileExcerpt() --- src/Symfony/Bridge/Twig/Extension/CodeExtension.php | 2 +- .../Bridge/Twig/Tests/Extension/CodeExtensionTest.php | 11 +++++++++++ src/Symfony/Bridge/Twig/Tests/Fixtures/xss.html | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/Symfony/Bridge/Twig/Tests/Fixtures/xss.html diff --git a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php index e0e6c8b8d6101..c153de4479acf 100644 --- a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php @@ -128,7 +128,7 @@ public function fileExcerpt(string $file, int $line, int $srcContext = 3): ?stri $contents = file_get_contents($file); if (!str_contains($contents, 'charset)); if (0 > $srcContext) { $srcContext = \count($lines); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php index cb29f4ea1072c..2212e91fc1faa 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php @@ -224,6 +224,17 @@ public static function fileExcerptIntegrationProvider() ]; } + public function testFileExcerptEscapesNonPhpContents() + { + $file = \dirname(__DIR__).\DIRECTORY_SEPARATOR.'Fixtures'.\DIRECTORY_SEPARATOR.'xss.html'; + + $html = $this->getExtension()->fileExcerpt($file, 1); + + $this->assertStringNotContainsString(' +& "quoted" From 1ac2d47418ec23066112db1e6ca35be6fe123d14 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Tue, 12 May 2026 13:39:57 +0200 Subject: [PATCH 13/43] [JsonPath] Cap regex backtracking in match()/search() to prevent ReDoS Fix #455 --- src/Symfony/Component/JsonPath/JsonCrawler.php | 18 ++++++++++++++++-- .../JsonPath/Tests/JsonCrawlerTest.php | 12 ++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/JsonPath/JsonCrawler.php b/src/Symfony/Component/JsonPath/JsonCrawler.php index 5e3a2a7b24a2c..50ba93b54e5fb 100644 --- a/src/Symfony/Component/JsonPath/JsonCrawler.php +++ b/src/Symfony/Component/JsonPath/JsonCrawler.php @@ -40,6 +40,8 @@ final class JsonCrawler implements JsonCrawlerInterface private const SINGULAR_ARGUMENT_FUNCTIONS = ['length', 'match', 'search']; + private const REGEX_BACKTRACK_LIMIT = 10000; + /** * Comparison operators and their corresponding lengths. */ @@ -791,11 +793,11 @@ private function evaluateFunction(string $name, string $args, mixed $context): m }, 'count' => $nodelistSize, 'match' => match (true) { - \is_string($value) && \is_string($argList[1] ?? null) => (bool) @preg_match(\sprintf('/^%s$/u', $this->transformJsonPathRegex($argList[1])), $value), + \is_string($value) && \is_string($argList[1] ?? null) => $this->safeRegexMatch(\sprintf('/^%s$/u', $this->transformJsonPathRegex($argList[1])), $value), default => false, }, 'search' => match (true) { - \is_string($value) && \is_string($argList[1] ?? null) => (bool) @preg_match("/{$this->transformJsonPathRegex($argList[1])}/u", $value), + \is_string($value) && \is_string($argList[1] ?? null) => $this->safeRegexMatch("/{$this->transformJsonPathRegex($argList[1])}/u", $value), default => false, }, 'value' => 1 < $nodelistSize ? Nothing::Nothing : (1 === $nodelistSize ? (\is_array($value) ? ($value[0] ?? null) : $value) : $value), @@ -1060,6 +1062,18 @@ private function validateFunctionArguments(string $expr): void } } + private function safeRegexMatch(string $pattern, string $subject): bool + { + $previousLimit = ini_set('pcre.backtrack_limit', self::REGEX_BACKTRACK_LIMIT); + try { + return @preg_match($pattern, $subject); + } finally { + if (false !== $previousLimit) { + ini_set('pcre.backtrack_limit', $previousLimit); + } + } + } + /** * Transforms JSONPath regex patterns to comply with RFC 9485. * diff --git a/src/Symfony/Component/JsonPath/Tests/JsonCrawlerTest.php b/src/Symfony/Component/JsonPath/Tests/JsonCrawlerTest.php index e6293d0aef1f2..faaf23b448881 100644 --- a/src/Symfony/Component/JsonPath/Tests/JsonCrawlerTest.php +++ b/src/Symfony/Component/JsonPath/Tests/JsonCrawlerTest.php @@ -431,6 +431,18 @@ public function testValueFunction() $this->assertSame('Sayings of the Century', $result[0]['title']); } + public function testSearchFunctionDoesNotHangOnPathologicalRegex() + { + $crawler = new JsonCrawler(json_encode(['items' => [str_repeat('a', 40).'!']])); + + $start = microtime(true); + $result = $crawler->find('$.items[?search(@, "(a+)+$")]'); + $elapsed = microtime(true) - $start; + + $this->assertSame([], $result); + $this->assertLessThan(1.0, $elapsed, 'ReDoS pattern must not stall preg_match'); + } + public function testDeepExpressionInFilter() { $result = self::getBookstoreCrawler()->find('$.store.book[?(@.publisher.address.city == "Springfield")]'); From 65c15e2ff66b83b5685f9d8673b227db1febdc76 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Wed, 13 May 2026 15:38:43 +0200 Subject: [PATCH 14/43] Remove wrong documentation Support for custom header names has been removed in Symfony 4.0. The trusted header set allows configuring trusted headers among supported ones, but does not support custom ones. --- src/Symfony/Component/HttpFoundation/Request.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Symfony/Component/HttpFoundation/Request.php b/src/Symfony/Component/HttpFoundation/Request.php index 2c3af1ae5c339..117e0c8f16867 100644 --- a/src/Symfony/Component/HttpFoundation/Request.php +++ b/src/Symfony/Component/HttpFoundation/Request.php @@ -836,10 +836,6 @@ public function getClientIps(): array * being the original client, and each successive proxy that passed the request * adding the IP address where it received the request from. * - * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via the $trustedHeaderSet - * argument of the Request::setTrustedProxies() method instead. - * * @see getClientIps() * @see https://wikipedia.org/wiki/X-Forwarded-For */ From 3e52bf5ab733ee32e35eeeeb2631d859c941838e Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Tue, 12 May 2026 14:50:23 +0200 Subject: [PATCH 15/43] [Mailer][Mailjet] Reject webhooks with missing or invalid Basic credentials --- .../Webhook/MailjetRequestParserTest.php | 42 +++++++++++++++++++ .../Mailjet/Webhook/MailjetRequestParser.php | 4 ++ 2 files changed, 46 insertions(+) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Webhook/MailjetRequestParserTest.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Webhook/MailjetRequestParserTest.php index 6001db4e90e9e..0b77795b61dda 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Webhook/MailjetRequestParserTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Tests/Webhook/MailjetRequestParserTest.php @@ -11,9 +11,11 @@ namespace Symfony\Component\Mailer\Bridge\Mailjet\Tests\Webhook; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Mailer\Bridge\Mailjet\RemoteEvent\MailjetPayloadConverter; use Symfony\Component\Mailer\Bridge\Mailjet\Webhook\MailjetRequestParser; use Symfony\Component\Webhook\Client\RequestParserInterface; +use Symfony\Component\Webhook\Exception\RejectWebhookException; use Symfony\Component\Webhook\Test\AbstractRequestParserTestCase; class MailjetRequestParserTest extends AbstractRequestParserTestCase @@ -22,4 +24,44 @@ protected function createRequestParser(): RequestParserInterface { return new MailjetRequestParser(new MailjetPayloadConverter()); } + + protected function getSecret(): string + { + return ':top-secret'; + } + + protected function createRequest(string $payload): Request + { + return Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + 'HTTP_Authorization' => 'Basic '.base64_encode(':top-secret'), + ], $payload); + } + + public function testRejectMissingCredentials() + { + $parser = new MailjetRequestParser(new MailjetPayloadConverter()); + $payload = file_get_contents(__DIR__.'/Fixtures/sent.json'); + $request = Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + ], $payload); + + $this->expectException(RejectWebhookException::class); + $this->expectExceptionMessage('Invalid credentials.'); + $parser->parse($request, ':top-secret'); + } + + public function testRejectWrongSecret() + { + $parser = new MailjetRequestParser(new MailjetPayloadConverter()); + $payload = file_get_contents(__DIR__.'/Fixtures/sent.json'); + $request = Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + 'HTTP_Authorization' => 'Basic '.base64_encode(':wrong-secret'), + ], $payload); + + $this->expectException(RejectWebhookException::class); + $this->expectExceptionMessage('Invalid credentials.'); + $parser->parse($request, ':top-secret'); + } } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailjet/Webhook/MailjetRequestParser.php b/src/Symfony/Component/Mailer/Bridge/Mailjet/Webhook/MailjetRequestParser.php index 31d8f9243ecf7..c77e87a406131 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailjet/Webhook/MailjetRequestParser.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailjet/Webhook/MailjetRequestParser.php @@ -39,6 +39,10 @@ protected function getRequestMatcher(): RequestMatcherInterface protected function doParse(Request $request, #[\SensitiveParameter] string $secret): ?AbstractMailerEvent { + if ($secret && !hash_equals('Basic '.base64_encode($secret), $request->headers->get('Authorization', ''))) { + throw new RejectWebhookException(403, 'Invalid credentials.'); + } + try { return $this->converter->convert($request->toArray()); } catch (ParseException $e) { From 4e0467e4e182cf2e704a3d9e1bc1a6be65d52ab8 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Tue, 12 May 2026 14:53:29 +0200 Subject: [PATCH 16/43] [Mailer][Mailtrap] Reject webhooks with missing or invalid HMAC signature --- .../Webhook/MailtrapRequestParserTest.php | 42 +++++++++++++++++++ .../Webhook/MailtrapRequestParser.php | 10 +++++ 2 files changed, 52 insertions(+) diff --git a/src/Symfony/Component/Mailer/Bridge/Mailtrap/Tests/Webhook/MailtrapRequestParserTest.php b/src/Symfony/Component/Mailer/Bridge/Mailtrap/Tests/Webhook/MailtrapRequestParserTest.php index 8af3780f17020..8426fae6ae53e 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailtrap/Tests/Webhook/MailtrapRequestParserTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailtrap/Tests/Webhook/MailtrapRequestParserTest.php @@ -11,9 +11,11 @@ namespace Symfony\Component\Mailer\Bridge\Mailtrap\Tests\Webhook; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Mailer\Bridge\Mailtrap\RemoteEvent\MailtrapPayloadConverter; use Symfony\Component\Mailer\Bridge\Mailtrap\Webhook\MailtrapRequestParser; use Symfony\Component\Webhook\Client\RequestParserInterface; +use Symfony\Component\Webhook\Exception\RejectWebhookException; use Symfony\Component\Webhook\Test\AbstractRequestParserTestCase; class MailtrapRequestParserTest extends AbstractRequestParserTestCase @@ -22,4 +24,44 @@ protected function createRequestParser(): RequestParserInterface { return new MailtrapRequestParser(new MailtrapPayloadConverter()); } + + protected function getSecret(): string + { + return 'top-secret'; + } + + protected function createRequest(string $payload): Request + { + return Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + 'HTTP_Mailtrap-Signature' => hash_hmac('sha256', $payload, 'top-secret'), + ], $payload); + } + + public function testRejectMissingSignature() + { + $parser = new MailtrapRequestParser(new MailtrapPayloadConverter()); + $payload = file_get_contents(__DIR__.'/Fixtures/delivery.json'); + $request = Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + ], $payload); + + $this->expectException(RejectWebhookException::class); + $this->expectExceptionMessage('Signature is required.'); + $parser->parse($request, 'top-secret'); + } + + public function testRejectWrongSecret() + { + $parser = new MailtrapRequestParser(new MailtrapPayloadConverter()); + $payload = file_get_contents(__DIR__.'/Fixtures/delivery.json'); + $request = Request::create('/', 'POST', [], [], [], [ + 'Content-Type' => 'application/json', + 'HTTP_Mailtrap-Signature' => hash_hmac('sha256', $payload, 'wrong-secret'), + ], $payload); + + $this->expectException(RejectWebhookException::class); + $this->expectExceptionMessage('Signature is wrong.'); + $parser->parse($request, 'top-secret'); + } } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailtrap/Webhook/MailtrapRequestParser.php b/src/Symfony/Component/Mailer/Bridge/Mailtrap/Webhook/MailtrapRequestParser.php index 335e2624a1b9b..0ccf3f5ad9403 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailtrap/Webhook/MailtrapRequestParser.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailtrap/Webhook/MailtrapRequestParser.php @@ -42,6 +42,16 @@ protected function getRequestMatcher(): RequestMatcherInterface protected function doParse(Request $request, #[\SensitiveParameter] string $secret): RemoteEvent|array|null { + if ($secret) { + if (!$signature = $request->headers->get('Mailtrap-Signature')) { + throw new RejectWebhookException(406, 'Signature is required.'); + } + + if (!hash_equals(hash_hmac('sha256', $request->getContent(), $secret), $signature)) { + throw new RejectWebhookException(406, 'Signature is wrong.'); + } + } + $payload = $request->toArray(); if ( From e4bceb7b0bf4559b90c27120afc1dbc871811ec4 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:49:26 +0200 Subject: [PATCH 17/43] Update CHANGELOG for 6.4.39 --- CHANGELOG-6.4.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG-6.4.md b/CHANGELOG-6.4.md index e5f3f557504c5..96e3ef9fcca75 100644 --- a/CHANGELOG-6.4.md +++ b/CHANGELOG-6.4.md @@ -7,6 +7,27 @@ in 6.4 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/v6.4.0...v6.4.1 +* 6.4.39 (2026-05-13) + + * bug #64198 [SecurityBundle] Allow defining security provider factories without config (hockdudu) + * bug #64189 [FrameworkBundle] Bump Request/Session value resolver priority above EntityValueResolver (ousamabenyounes) + * bug #64195 [Security] Remove the legacy nested unserialize() call from token and exception classes (nicolas-grekas) + * bug #64196 [Yaml] Reject non-stringables when using "!!binary" (nicolas-grekas) + * bug #64191 [Inflector][String] Fixed singularize `traces` > `trace` (ruudk) + * bug #64193 [Notifier] Use `hash_equals()` to compare webhook signatures for Vonage (alexandre-daubois) + * bug #64180 [Messenger][Amqp] Fix support for RabbitMQ v4 by adding delayed quorum queues (Jean85) + * bug #64187 [AssetMapper] Warn on missing bare CSS and JSON imports (ousamabenyounes) + * bug #64182 [Console] Fix signal handler scoping (jpollard3) + * bug #64181 [Security] Preserve webserver base URL in HttpUtils::createRequest() (ousamabenyounes) + * bug #64058 [Process] Ignore array env values before proc_open (dionisvl) + * bug #64179 [Filesystem] preserve source mode when copying files (nicolas-grekas) + * bug #64176 [Console] Make `ConsoleSectionOutput::overwrite()` atomic to fix sections + ProgressIndicator clear (Amoifr) + * bug #64174 [Scheduler] Use stored checkpoint as base date for debug:scheduler (ousamabenyounes) + * bug #64153 [Messenger] Drop trace args from FlattenException normalization (ousamabenyounes) + * bug #64150 [HttpKernel] Use backend-handled request for terminate listeners in HttpCache (Toflar) + * bug #64172 [WebProfilerBundle] Don’t try to access `RawMessage::$headers` (MatTheCat) + * bug #64148 [Dotenv] Don't truncate OS env vars containing $ when $_ENV is unpopulated (HMAZonderland) + * 6.4.38 (2026-05-06) * bug #63761 [Scheduler] Fix checkpoint state expiring when cache has default TTL (Amoifr) From bafd6e76d5137a5da913da17c6289970a12ad9cc Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:49:47 +0200 Subject: [PATCH 18/43] Update CONTRIBUTORS for 6.4.39 --- CONTRIBUTORS.md | 7032 ++++++++++++++++++++++++----------------------- 1 file changed, 3521 insertions(+), 3511 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 7c8824d5d1ad2..77ab10a5049b2 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -38,23 +38,23 @@ The Symfony Connect username in parenthesis allows to get more information - Tobias Nyholm (tobias) - Samuel ROZE (sroze) - Pascal Borreli (pborreli) - - Romain Neutron - Santiago San Martin (santysisi) + - Romain Neutron - Kevin Bond (kbond) - Joseph Bielawski (stloyd) - - Abdellatif Ait boudad (aitboudad) - Drak (drak) + - Abdellatif Ait boudad (aitboudad) - matlec - Lukas Kahwe Smith (lsmith) - Mathieu Santostefano (welcomattic) - Hamza Amrouche (simperfit) - Martin Hasoň (hason) - Jeremy Mikola (jmikola) + - Mathieu Lechat (mat_the_cat) - Jean-François Simon (jfsimon) - Benjamin Eberlei (beberlei) - Igor Wiedler - Jan Schädlich (jschaedl) - - Mathieu Lechat (mat_the_cat) - Vincent Langlet (deviling) - Antonio J. García Lagar (ajgarlag) - Kévin THERAGE (kevin_therage) @@ -75,4073 +75,4083 @@ The Symfony Connect username in parenthesis allows to get more information - Dany Maillard (maidmaid) - Francis Besset (francisbesset) - Titouan Galopin (tgalopin) - - Alexander Mols (asm89) - Gábor Egyed (1ed) - stealth35 ‏ (stealth35) - - Eriksen Costa - Diego Saint Esteben (dosten) + - Eriksen Costa + - Alexander Mols (asm89) - David Maicher (dmaicher) - Tomasz Kowalczyk (thunderer) - Gary PEGEOT (gary-p) - Bulat Shakirzyanov (avalanche123) - - Miha Vrhovnik (mvrhov) - Iltar van der Berg - Ruud Kamphuis (ruudk) + - Miha Vrhovnik (mvrhov) - Allison Guilhem (a_guilhem) - Saša Stamenković (umpirsky) - Mathieu Piot (mpiot) - Vasilij Duško (staff) - Tomas Norkūnas (norkunas) - - Konstantin Kudryashov (everzet) - Sarah Khalil (saro0h) - Laurent VOULLEMIER (lvo) + - Konstantin Kudryashov (everzet) - Bilal Amarni (bamarni) - Guilhem N (guilhemn) - - soyuka - Eriksen Costa - Hubert Lenoir (hubert_lenoir) - - Vladimir Reznichenko (kalessil) + - soyuka - Florin Patan (florinpatan) - - Peter Rehm (rpet) + - Vladimir Reznichenko (kalessil) - Henrik Bjørnskov (henrikbjorn) + - Peter Rehm (rpet) - David Buchmann (dbu) - - Jáchym Toušek (enumag) - Andrej Hudec (pulzarraider) - - Eric Clemmons (ericclemmons) + - Jáchym Toušek (enumag) - Christian Raue - - Arnout Boks (aboks) - Antoine Makdessi (amakdessi) + - Eric Clemmons (ericclemmons) + - Arnout Boks (aboks) + - Denis (yethee) - Alex Pott - Issei Murasawa (issei_m) - - Denis (yethee) - - Michel Weimerskirch (mweimerskirch) - Douglas Greenshields (shieldo) + - Ben Younes Ousama (oby) + - Michel Weimerskirch (mweimerskirch) - David Prévot (taffit) - Fran Moreno (franmomu) - - Baldini - Frank A. Fiebig (fafiebig) + - Baldini - Henrik Westphal (snc) + - Yanick Witschi (toflar) - Dariusz Górecki (canni) - Charles Sarrazin (csarrazi) - Konstantin Myakshin (koc) - Ener-Getick - Massimiliano Arione (garak) + - Phil E. Taylor (philetaylor) + - Graham Campbell (graham) - Joel Wurtz (brouznouf) - Tugdual Saunier (tucksaun) - - Graham Campbell (graham) - - Phil E. Taylor (philetaylor) - - Yanick Witschi (toflar) - - Théo FIDRY + - Brandon Turner - Lee McDermott + - Théo FIDRY - Luis Cordova (cordoval) - - Ben Younes Ousama (oby) - - Brandon Turner - - Jordan Alliot (jalliot) - - Bart van den Burg (burgov) - - Julien Falque (julienfalque) - Daniel Holmes (dholmes) - - Toni Uebernickel (havvg) + - Julien Falque (julienfalque) + - Jordan Alliot (jalliot) - Vasilij Dusko | CREATION - - Florent Morselli (spomky_) - - Jeroen Spee (jeroens) + - Toni Uebernickel (havvg) + - Bart van den Burg (burgov) - Catoire (lacatoire) + - Jeroen Spee (jeroens) - John Wards (johnwards) - - Antoine Hérault (herzult) + - Florent Morselli (spomky_) - Konstantin.Myakshin - - Arnaud Le Blanc (arnaud-lb) - - Sebastiaan Stok (sstok) + - Antoine Hérault (herzult) - Tac Tacelosky (tacman1123) + - Arnaud Le Blanc (arnaud-lb) - Maxime STEINHAUSSER - Rokas Mikalkėnas (rokasm) - - Brice BERNARD (brikou) - - Chris Wilkinson (thewilkybarkid) + - Sebastiaan Stok (sstok) - gnito-org - - Peter Kokot (peterkokot) - - Jérôme Vasseur (jvasseur) - Tim Nagel (merk) + - Jérôme Vasseur (jvasseur) + - Chris Wilkinson (thewilkybarkid) + - Peter Kokot (peterkokot) - Jacob Dreesen (jdreesen) + - Brice BERNARD (brikou) - Michal Piotrowski - - Lars Strojny (lstrojny) + - marc.weistroff + - Younes ENNAJI (yokho) - Nicolas Philippe (nikophil) - Vladimir Tsykun (vtsykun) - - Younes ENNAJI (yokho) - - marc.weistroff + - Lars Strojny (lstrojny) - Włodzimierz Gajda (gajdaw) - - Maximilian Beckers (maxbeckers) - - Javier Spagnoletti (phansys) - Jérôme Parmentier (lctrs) + - Javier Spagnoletti (phansys) - Adrien Brault (adrienbrault) - - Teoh Han Hui (teohhanhui) - - Przemysław Bogusz (przemyslaw-bogusz) + - Maximilian Beckers (maxbeckers) - Gregor Harlan (gharlan) - - Bob van de Vijver (bobvandevijver) - Florian Voutzinos (florianv) - - Gordon Franke (gimler) - Colin Frei - - Hugo Alliaume (kocal) - - Saif Eddin Gmati (azjezz) - - Alexander Schwenn (xelaris) + - Gordon Franke (gimler) + - Teoh Han Hui (teohhanhui) + - Pascal CESCON (amoifr) + - Przemysław Bogusz (przemyslaw-bogusz) + - Bob van de Vijver (bobvandevijver) - Paráda József (paradajozsef) - - Andreas Schempp (aschempp) + - Hugo Alliaume (kocal) - Maxime Helias (maxhelias) - Dāvis Zālītis (k0d3r1s) - - Fabien Pennequin (fabienpennequin) - Baptiste Clavié (talus) - - Michael Babker (mbabker) - - Vasilij Dusko - - Malte Schlüter (maltemaltesich) + - Fabien Pennequin (fabienpennequin) + - Alexander Schwenn (xelaris) + - Saif Eddin Gmati (azjezz) + - Andreas Schempp (aschempp) - Alexis Lefebvre - - Joshua Thijssen - - Christopher Hertel (chertel) - jeremyFreeAgent (jeremyfreeagent) + - Michael Babker (mbabker) + - Christopher Hertel (chertel) + - Malte Schlüter (maltemaltesich) + - Vasilij Dusko - Daniel Wehner (dawehner) + - Joshua Thijssen - François-Xavier de Guillebon (de-gui_f) - Thomas Landauer (thomas-landauer) - - Jonathan Scheiber (jmsche) - - Stefano Sala (stefano.sala) + - Eric GELOEN (gelo) + - Smaine Milianni (ismail1432) - Jhonny Lidfors (jhonne) - - Niels Keurentjes (curry684) - - OGAWA Katsuhiro (fivestar) - - Ion Bazan (ionbazan) + - Stiven Llupa (sllupa) - Robert Schönthal (digitalkaoz) - - Smaine Milianni (ismail1432) + - Stefano Sala (stefano.sala) - Gabriel Caruso + - OGAWA Katsuhiro (fivestar) - Richard van Laak (rvanlaak) - - Eric GELOEN (gelo) - - Stiven Llupa (sllupa) + - Niels Keurentjes (curry684) + - Jonathan Scheiber (jmsche) + - Ion Bazan (ionbazan) + - Juti Noppornpitak (shiroyuki) - Arnaud Kleinpeter (nanocom) - - Hidenori Goto (hidenorigoto) - - Anthony MARTIN - Tigran Azatyan (tigranazatyan) - - Guilherme Blanco (guilhermeblanco) - - Juti Noppornpitak (shiroyuki) - - Florent Mata (fmata) - Sebastian Hörl (blogsh) - - Romain Monteil (ker0x) - Daniel Gomes (danielcsgomes) + - Florent Mata (fmata) + - Romain Monteil (ker0x) + - Hidenori Goto (hidenorigoto) + - Anthony MARTIN - Ben Davies (bendavies) - - Roman Martinuk (a2a4) - - Michael Käfer (michael_kaefer) - - Pascal CESCON (amoifr) - - Alessandro Chitolina (alekitto) + - Guilherme Blanco (guilhermeblanco) + - Jan Rosier (rosier) + - Fritz Michael Gschwantner (fritzmg) - jwdeitch - Farhad Safarov (safarov) - - Pablo Godel (pgodel) - - Fritz Michael Gschwantner (fritzmg) + - Michael Käfer (michael_kaefer) - Rafael Dohms (rdohms) - - Jan Rosier (rosier) - - Indra Gunawan (indragunawan) + - Alessandro Chitolina (alekitto) + - Roman Martinuk (a2a4) + - Pablo Godel (pgodel) - Jack Worman (jworman) - - Tom Van Looy (tvlooy) + - Indra Gunawan (indragunawan) + - Andréia Bohner (andreia) + - Vyacheslav Pavlov + - Tomas Votruba (tomas_votruba) + - George Mponos (gmponos) + - Ahmed TAILOULOUTE (ahmedtai) - Dawid Nowak + - Jérémy Derussé + - Sokolov Evgeniy (ewgraf) + - Roland Franssen + - Albert Casademont (acasademont) + - Tom Van Looy (tvlooy) - Matthieu Napoli (mnapoli) - - Tomas Votruba (tomas_votruba) - Arman Hosseini (arman) - - Roland Franssen + - Philipp Wahala (hifi) - Simon Berger - Richard Shank (iampersistent) - - Vyacheslav Pavlov - - Philipp Wahala (hifi) - - Ahmed TAILOULOUTE (ahmedtai) - - Sokolov Evgeniy (ewgraf) - - George Mponos (gmponos) - - Andréia Bohner (andreia) - - Albert Casademont (acasademont) - - Jérémy Derussé - - Amal Raghav (kertz) - - Dorian Villet (gnutix) - - Jannik Zschiesche - - wkania - - Gocha Ossinkine (ossinkine) - - Jesse Rushlow (geeshoe) - - Soner Sayakci (shyim) - - Guillaume (guill) - Tyson Andre + - Guillaume (guill) + - Oleg Voronkovich + - Jonathan Ingram + - Matthieu Ouellette-Vachon (maoueh) + - Sergey (upyx) - Asis Pattisahusiwa - - Artur Kotyrba - - Rouven Weßling (realityking) - - Marco Pivetta (ocramius) - - 77web - - Daniel Burger + - YaFou - Alessandro Lai (jean85) - - Jonathan Ingram - - Wouter J + - GDIBass - Samuel NELA (snela) - - Fabien Bourigault (fbourigault) - - Quynh Xuan Nguyen (seriquynh) - Clemens Tolboom - - zairig imad (zairigimad) + - Rouven Weßling (realityking) + - Daniel Burger + - 77web + - Wouter J + - Jannik Zschiesche + - Michał Pipa (michal.pipa) + - Jesse Rushlow (geeshoe) + - Gocha Ossinkine (ossinkine) - Vincent Touzet (vincenttouzet) - - Alex Hofbauer (alexhofbauer) + - Dorian Villet (gnutix) + - Artur Kotyrba + - zairig imad (zairigimad) - Antonio Pauletich (x-coder264) - - Matthieu Ouellette-Vachon (maoueh) - - Sergey (upyx) - - Oleg Voronkovich - - Michał Pipa (michal.pipa) - - YaFou + - Quynh Xuan Nguyen (seriquynh) + - wkania + - Marco Pivetta (ocramius) - Olivier Dolbeau (odolbeau) - - GDIBass - Ayyoub AFW-ALLAH (ayyoub-afwallah) - - Larry Garfield (crell) - - Clément JOBEILI (dator) - - Richard Miller - - Quentin Devos - - Michael Voříšek - - Vincent AUBERT (vincent) - - Warnar Boekkooi (boekkooi) - - Aleksandar Jakovljevic (ajakov) - - Alan Poulain (alanpoulain) + - Fabien Bourigault (fbourigault) + - Alex Hofbauer (alexhofbauer) + - Soner Sayakci (shyim) + - Amal Raghav (kertz) - Mikael Pajunen + - Sébastien Alfaiate (seb33300) - Arnaud PETITPAS (apetitpa) - Daniel Espendiller - - Sébastien Alfaiate (seb33300) - Colin O'Dell (colinodell) - - Mario A. Alvarez Garcia (nomack84) + - Markus Fasselt (digilist) - Nate Wiebe (natewiebe13) + - Marko Kaznovac (kaznovac) + - Clément JOBEILI (dator) + - DQNEO + - Warnar Boekkooi (boekkooi) - Victor Bocharsky (bocharsky_bw) - - Dmitrii Chekaliuk (lazyhammer) - - Anthony GRASSIOT (antograssiot) - - Justin Hileman (bobthecow) - - D (denderello) - - Markus Fasselt (digilist) - - Sergey Linnik (linniksa) - - Martin Hujer (martinhujer) - Andreas Möller (localheinz) - - James Halsall (jaitsu) + - Mario A. Alvarez Garcia (nomack84) + - Alan Poulain (alanpoulain) - Baptiste Leduc (korbeil) - - Chi-teck - Marek Štípek (maryo) - - Marko Kaznovac (kaznovac) + - D (denderello) - VAN DER PUTTE Guillaume (guillaume_vdp) - - Christian Scheb - - DQNEO + - Sergey Linnik (linniksa) + - Quentin Devos - Thomas Rabaix (rande) - - Stadly - - Leo Feyer - - Guilliam Xavier + - Anthony GRASSIOT (antograssiot) + - Chi-teck + - James Halsall (jaitsu) + - Christian Scheb + - Justin Hileman (bobthecow) + - Martin Hujer (martinhujer) + - Larry Garfield (crell) + - Vincent AUBERT (vincent) + - Aleksandar Jakovljevic (ajakov) + - Richard Miller + - Michael Voříšek + - Dmitrii Chekaliuk (lazyhammer) - Bastien Jaillot (bastnic) - - Noel Guilbert (noel) - - Jonathan H. Wage + - Pierre Minnieur (pminnieur) + - Christian Schmidt + - Bram Leeda (bram123) + - Remon van de Kamp + - Guilliam Xavier - Nikolay Labinskiy (e-moe) + - Ruben Gonzalez (rubenrua) + - Filippo Tessarotto (slamdunk) + - roman joly (eltharin) + - Andreas Hucks (meandmymonkey) + - Noel Guilbert (noel) + - Leo Feyer - Mathieu Lemoine (lemoinem) - - Andre Rømcke (andrerom) - - sun (sun) - - apetitpa - - Martin Schuhfuß (usefulthink) + - Denis Brumann (dbrumann) + - Anderson Müller + - Benjamin Dulau (dbenjamin) + - Patrick Landolt (scube) + - Priyadi Iman Nurcahyo (priyadi) + - Stepan Anchugov (kix) + - Jonathan H. Wage - Karoly Gossler (connorhu) + - Loick Piera (pyrech) - bronze1man - - Christian Schmidt - - Andreas Hucks (meandmymonkey) - - Priyadi Iman Nurcahyo (priyadi) - - Benjamin Dulau (dbenjamin) - - Anderson Müller - Giorgio Premi - - Stepan Anchugov (kix) + - Andre Rømcke (andrerom) + - Stadly + - apetitpa - mcfedr (mcfedr) - - Denis Brumann (dbrumann) - - Loick Piera (pyrech) - - Patrick Landolt (scube) - - roman joly (eltharin) - - Filippo Tessarotto (slamdunk) - Timo Bakx (timobakx) - - Ruben Gonzalez (rubenrua) - - Bram Leeda (bram123) - - Pierre Minnieur (pminnieur) - - Remon van de Kamp - - François Pluchino (francoispluchino) - - Arjen van der Meijden - - Võ Xuân Tiến (tienvx) + - sun (sun) + - Martin Schuhfuß (usefulthink) + - Julien Brochet + - John Kary (johnkary) + - Evert Harmeling (evertharmeling) + - fd6130 (fdtvui) - Chris Smith (cs278) - Wojciech Kania - - Jérémie Augustin (jaugustin) - - Mickael GOETZ + - Tristan Darricau (tristandsensio) + - François Zaninotto (fzaninotto) + - Valentine Boineau (valentineboineau) + - Jean-Baptiste Delhommeau - Sven Paulus (subsven) - - Timothée Barray (tyx) - - Pascal Montoya + - Dustin Whittle (dustinwhittle) + - Leszek Prabucki (l3l0) + - Dmitrii Poddubnyi (karser) + - jeff - Dmitry Bukhonov + - Mickael GOETZ + - Peter Kruithof (pkruithof) + - Arjen van der Meijden + - henrikbjorn + - Matthieu Lempereur (mryamous) + - Hugo Monteiro (monteiro) + - Thomas Lallement (raziel057) + - Võ Xuân Tiến (tienvx) + - Rui Marinho (ruimarinho) + - a.dmitryuk + - Timothée Barray (tyx) - Oleg Andreyev (oleg.andreyev) + - François Pluchino (francoispluchino) + - Jérémie Augustin (jaugustin) - Michele Orselli (orso) - - François Zaninotto (fzaninotto) - - a.dmitryuk - - Edi Modrić (emodric) - - Marcin Sikoń (marphi) - - fd6130 (fdtvui) + - Wolfgang Klinger (wolfgangklingerplan2net) + - Maxime Veber (nek-) + - Yassine Guedidi (yguedidi) + - Pascal Montoya + - Maciej Malarz (malarzm) + - Mantis Development - Jeroen Noten (jeroennoten) - - Michael Lee (zerustech) - Marcel Beerta (mazen) - - Maxime Veber (nek-) + - Florian Lonqueu-Brochard (florianlb) - Joe Bennett (kralos) - - Evert Harmeling (evertharmeling) - - Tristan Darricau (tristandsensio) - - Dmitrii Poddubnyi (karser) - - Maciej Malarz (malarzm) - - Hugo Monteiro (monteiro) - - Rui Marinho (ruimarinho) - - henrikbjorn - - Wolfgang Klinger (wolfgangklingerplan2net) - - jeff - Jan Sorgalla (jsor) - - Julien Brochet - - Yassine Guedidi (yguedidi) - - Florian Lonqueu-Brochard (florianlb) - - Dustin Whittle (dustinwhittle) - - John Kary (johnkary) - - Leszek Prabucki (l3l0) - - Valentine Boineau (valentineboineau) - - Thomas Lallement (raziel057) - - Jean-Baptiste Delhommeau - - Peter Kruithof (pkruithof) - - Mantis Development + - Edi Modrić (emodric) + - Michael Lee (zerustech) + - Marcin Sikoń (marphi) + - Zan Baldwin (zanbaldwin) + - Pierre-Yves Lebecq (pylebecq) + - dFayet + - Michaël Perrin (michael.perrin) - Michał (bambucha15) - javaDeveloperKid - - Marc Weistroff (futurecat) - - Nikita Konstantinov (unkind) - - Pierre Ambroise (dotordu) - - Michaël Perrin (michael.perrin) - - Joseph Rouff (rouffj) - maxime.steinhausser - - Eugene Leonovich (rybakit) - - Kyle - - Xavier Montaña Carreras (xmontana) - - Daniel Tschinder - - pcescon - - Uwe Jäger (uwej711) - - Anton Chernikov (anton_ch1989) - - Benoît Burnichon (bburnichon) - - Michel Roca (mroca) - - Dariusz Ruminski - - Jurica Vlahoviček (vjurica) - - Sullivan SENECHAL (soullivaneuh) - - Thomas Schulz (king2500) - - Benjamin Leveque (benji07) - - GordonsLondon - - Manuel Reinhard (sprain) - - Danny Berger (dpb587) - - Zan Baldwin (zanbaldwin) + - Nikita Konstantinov (unkind) - Adam Prager (padam87) - - Matthieu Lempereur (mryamous) - - Adrian Rudnik (kreischweide) - - Sylvain Fabre (sylfabre) - - Patrick McDougle (patrick-mcdougle) - - Francois Zaninotto - - Fabien S (bafs) + - Alexander Kotynia (olden) - Christian Schmidt + - Rob Frawley 2nd (robfrawley) + - Thomas Adam + - Anton Chernikov (anton_ch1989) + - Joseph Rouff (rouffj) + - David Badura (davidbadura) + - Romaric Drigon (romaricdrigon) - Arjen Brouwer (arjenjb) - - Link1515 - siganushka (siganushka) - - Emanuele Panzeri (thepanz) - - Alexander Kotynia (olden) - - Oleksiy (alexndlm) - - Jordan Samouh (jordansamouh) - - Pierre-Yves Lebecq (pylebecq) - - Alex Rock (pierstoval) - Ray - - Roman Ring (inori) - - Thomas Adam - - Alif Rachmawadi - - jdhoek - - Bob den Otter (bopp) - - Arnt Gulbrandsen - - Lynn van der Berg (kjarli) - - Rob Frawley 2nd (robfrawley) - - dFayet + - Benjamin Leveque (benji07) + - Adrian Rudnik (kreischweide) + - Thibault Gattolliat (crovitche) + - Dariusz Ruminski + - Sylvain Fabre (sylfabre) - Hidde Wieringa (hiddewie) - - Chekote - Elnur Abdurrakhimov (elnur) - - Félix Labrecque (woodspire) - - Tim Goudriaan (codedmonkey) - - Aurélien Pillevesse (aurelienpillevesse) - - Iker Ibarguren (ikerib) - BoShurik + - Alif Rachmawadi + - Thomas Schulz (king2500) + - Daniel Tschinder + - Lynn van der Berg (kjarli) + - pcescon - Xavier Perez - - Romaric Drigon (romaricdrigon) + - Jurica Vlahoviček (vjurica) + - Link1515 + - Jordan Samouh (jordansamouh) + - Benoît Burnichon (bburnichon) + - Patrick McDougle (patrick-mcdougle) - Renan (renanbr) - - David Badura (davidbadura) + - Manuel Reinhard (sprain) + - Oleksiy (alexndlm) + - Sullivan SENECHAL (soullivaneuh) + - Aurélien Pillevesse (aurelienpillevesse) - Philipp Cordes (corphi) + - Uwe Jäger (uwej711) + - Xavier Montaña Carreras (xmontana) + - Arnt Gulbrandsen + - Pierre Ambroise (dotordu) + - Félix Labrecque (woodspire) + - GordonsLondon + - Chekote + - Bob den Otter (bopp) + - Michel Roca (mroca) + - jdhoek + - Kyle + - Emanuele Panzeri (thepanz) + - Fabien S (bafs) + - Danny Berger (dpb587) - Daniel Gorgan + - Marc Weistroff (futurecat) + - Eugene Leonovich (rybakit) + - Alex Rock (pierstoval) + - Iker Ibarguren (ikerib) + - Tim Goudriaan (codedmonkey) + - Roman Ring (inori) + - Francois Zaninotto + - Bohan Yang (brentybh) + - Serkan Yildiz (srknyldz) + - Grégoire Passault (gregwar) + - Philippe SEGATORI (tigitz) + - Raphaël Geffroy (raphael-geffroy) + - Benjamin Morel + - Marco Petersen (ocrampete16) + - jaugustin + - Jerzy Zawadzki (jzawadzki) + - Christopher Davis (chrisguitarguy) - Jan Decavele (jandc) - - Pavel Batanov (scaytrase) + - Loïc Frémont (loic425) + - Dominique Bongiraud + - Ben Hakim + - Tiago Ribeiro (fixe) + - Michael Hirschler (mvhirsch) - Sergey Belyshkin (sbelyshkin) - - Manuel de Ruiter (manuel) - - Warxcell (warxcell) - - Wouter Van Hecke + - Magnus Nordlander (magnusnordlander) + - Matthieu Auger (matthieuauger) - Karoly Negyesi (chx) + - Fabien Villepinte - renanbr + - Wodor Wodorski - Moshe Weitzman (weitzman) - - Bertrand Zuchuat (garfield-fr) - - Thomas Bisignani (toma) - - Andrey Lebedev (alebedev) - - Josip Kruslin (jkruslin) + - janschoenherr + - Baptiste Lafontaine (magnetik) + - Lee Rowlands + - Kim Hemsø Rasmussen (kimhemsoe) + - Blanchon Vincent (blanchonvincent) + - Herberto Graca - Atsuhiro KUBO (iteman) - - Sebastien Morel (plopix) - - Simon Podlipsky (simpod) - - Raphaël Geffroy (raphael-geffroy) - - Andrii Bodnar - - Fabien Villepinte - - Mathieu Rochette (mathroc) - - Michael Holm (hollo) - - Marcos Sánchez - - Vilius Grigaliūnas - - Jerzy Zawadzki (jzawadzki) - - Wodor Wodorski - - Matthieu Auger (matthieuauger) - - Damien Alexandre (damienalexandre) + - Pavel Batanov (scaytrase) + - Maximilian Reichel (phramz) + - Dane Powell - Christian Schmidt - - Magnus Nordlander (magnusnordlander) + - realmfoo + - Soner Sayakci + - Josip Kruslin (jkruslin) + - Alexey Kopytko (sanmai) - Craig Duncan (duncan3dc) + - Samaël Villette (samadu61) + - Thomas Tourlourat (armetiz) + - Mathieu Rochette (mathroc) + - Hamza Makraz (makraz) + - Jordane VASPARD (elementaire) + - Marc Morera (mmoreram) - Wu (wu-agriconomie) - - Yoann RENARD (yrenard) - - Ben Hakim - - Maximilian Reichel (phramz) - - Bohan Yang (brentybh) - - Stepan Tanasiychuk (stfalcon) - - Blanchon Vincent (blanchonvincent) - - Tiago Ribeiro (fixe) + - Ivan Kurnosov + - Sébastien Lavoie (lavoiesl) + - Aurelijus Valeiša (aurelijus) + - Emanuele Gaspari (inmarelibero) + - Dalibor Karlović + - SiD (plbsid) - rudy onfroy (ronfroy) - - Jordane VASPARD (elementaire) + - Joppe De Cuyper (joppedc) + - Frank de Jonge + - Marcos Sánchez + - Pascal Luna (skalpa) + - Thomas Bisignani (toma) + - Robert Kiss (kepten) - Cédric Anne - - Gustavo Piltcher - - Alexey Kopytko (sanmai) - - Loïc Frémont (loic425) - - Hamza Makraz (makraz) - - Quentin Dequippe (qdequippe) - - Marc Morera (mmoreram) - - Ismael Ambrosi (iambrosi) + - Warxcell (warxcell) - Andrew Moore (finewolf) - - janschoenherr - - Herberto Graca + - Raul Fraile (raulfraile) + - Manuel de Ruiter (manuel) + - Quentin Dequippe (qdequippe) + - Michael Holm (hollo) + - Simon Podlipsky (simpod) + - Sebastien Morel (plopix) + - Wouter Van Hecke + - Gustavo Piltcher + - Andrey Lebedev (alebedev) - Manuel Kießling (manuelkiessling) - - Baptiste Lafontaine (magnetik) - - SiD (plbsid) - Gabor Toth (tgabi333) - - Dominique Bongiraud - - Pascal Luna (skalpa) - - Lee Rowlands - - Kim Hemsø Rasmussen (kimhemsoe) - - Frank de Jonge - - Dane Powell - - Philippe SEGATORI (tigitz) - - Alexandre Quercia (alquerci) + - Bertrand Zuchuat (garfield-fr) - schlndh - - Thibault Gattolliat (crovitche) - - Joppe De Cuyper (joppedc) - - Thomas Tourlourat (armetiz) - Beau Simensen (simensen) - - Soner Sayakci - - Samaël Villette (samadu61) + - Alexandre Quercia (alquerci) + - Vilius Grigaliūnas - Emmanuel BORGES - - Raul Fraile (raulfraile) - - Dalibor Karlović - - Benjamin Morel - - Emanuele Gaspari (inmarelibero) - - Florian Klein (docteurklein) - - Sébastien Lavoie (lavoiesl) - - jaugustin - - Serkan Yildiz (srknyldz) + - Stepan Tanasiychuk (stfalcon) + - Damien Alexandre (damienalexandre) + - flack (flack) + - Andrey Esaulov (andremaha) - Pavel Kirpitsov (pavel-kirpichyov) - - Marco Petersen (ocrampete16) - - Grégoire Passault (gregwar) - - Christopher Davis (chrisguitarguy) - - Michael Hirschler (mvhirsch) - - realmfoo + - Florian Klein (docteurklein) + - Andrii Bodnar + - Yoann RENARD (yrenard) + - Ismael Ambrosi (iambrosi) - Francesc Rosàs (frosas) - - Andrey Esaulov (andremaha) - - Robert Kiss (kepten) - - Aurelijus Valeiša (aurelijus) - - Ivan Kurnosov - - Damien Fernandes - - FORT Pierre-Louis (plfort) - - Stéphane PY (steph_py) - - Grzegorz (Greg) Zdanowski (kiler129) - - ShinDarth - - Shein Alexey - - Jakub Kucharovic (jkucharovic) - - Johann Pardanaud - - Daniel STANCU - - Mateusz Sip (mateusz_sip) - - Neil Peyssard (nepey) - - Hans Mackowiak - - Julien Galenski (ruian) - - Nadim AL ABDOU (nadim) - - smoench - - Artem (artemgenvald) - - Raffaele Carelle - - Vadim Kharitonov (vadim) - - Ilija Tovilo (ilijatovilo) - - Pierre Rineau - - Ivan Sarastov (isarastov) - - Mokhtar Tlili (sf-djuba) - - Jan Böhmer - - Alex Bowers - - Florent Blaison (orkin) - - Gonzalo Vilaseca (gonzalovilaseca) - - Ricard Clau (ricardclau) - - Alain Hippolyte (aloneh) - - kor3k kor3k (kor3k) - - Clara van Miert - - Steven RENAUX (steven_renaux) - - ivan - Quentin Schuler (sukei) - - Arthur de Moulins (4rthem) - - Ahmed Ghanem (ahmedghanem00) - - Nicolas LEFEVRE (nicoweb) - - Tarmo Leppänen (tarlepp) - - Matthias Althaus (althaus) - Gwendolen Lynch - - Maksym Slesarenko (maksym_slesarenko) + - Inal DJAFAR (inalgnu) - Michele Locati - - Islam Israfilov (islam93) - - Thierry T (lepiaf) - - Francesco Levorato - - Valmonzo - - BrokenSourceCode - - Daniel Tschinder - - Daniel Beyer - - Matthew Lewinski (lewinski) - - Vitaliy Zakharov (zakharovvi) - - Kirill chEbba Chebunin - - Urinbayev Shakhobiddin (shokhaa) - - Grenier Kévin (mcsky_biig) + - hubert lecorche (hlecorche) + - Kristen Gilden - Ivan Mezinov - - Thibaut Cheymol (tcheymol) - - Clément Gautier (clementgautier) - - Maarten de Boer (mdeboer) - - Asmir Mustafic (goetas) - - Yannick Ihmels (ihmels) - - Marc Biorklund (mbiork) - - vladimir.reznichenko - - mondrake (mondrake) - - Thomas Perez (scullwm) - - Roumen Damianoff - Zmey - - Maximilian Ruta (deltachaos) - - Kev + - Thierry T (lepiaf) - Marek Kalnik (marekkalnik) - - Ahmed Raafat - - Kristen Gilden - - hubert lecorche (hlecorche) - - Christophe L. (christophelau) - - Inal DJAFAR (inalgnu) - - Vladyslav Loboda - - Kevin van Sonsbeek (kevin_van_sonsbeek) - - Gasan Guseynov (gassan) - - Jesper Noordsij - - Tobias Sjösten (tobiassjosten) - - Hendrik Luup (hluup) - - Mathias STRASSER (roukmoute) - - Robbert Klarenbeek (robbertkl) - - Albert Jessurum (ajessu) - - Xavier HAUSHERR - - Joe Lencioni - - Max Baldanza + - Matthias Althaus (althaus) + - Nicolas LEFEVRE (nicoweb) + - kor3k kor3k (kor3k) + - Neil Peyssard (nepey) + - FORT Pierre-Louis (plfort) + - Pablo Lozano (arkadis) + - Yaroslav Kiliba - Laszlo Korte - - Endre Fejes - - Costin Bereveanu (schniper) - - Greg Thornton (xdissent) - - Terje Bråten - - Vyacheslav Salakhutdinov (megazoll) - - Kai - - SUMIDA, Ippei (ippey_s) - - Martin Herndl (herndlm) - - Philippe Segatori - - Thomas Royer (cydonia7) - - Erin Millard - - Dave Long - - Rhodri Pugh (rodnaph) + - Alain Hippolyte (aloneh) + - Nadim AL ABDOU (nadim) + - Daniel Tschinder + - Johann Pardanaud + - Vadim Kharitonov (vadim) - Alessandro Desantis - - Cătălin Dan (dancatalin) - - Nathanael Noblet (gnat) - - Dmytro Borysovskyi (dmytr0) - - Alex (aik099) - - Rob Bast - - Tobias Naumann (tna) - - C (dagardner) - - Issam Raouf (iraouf) - - Philipp Kräutli (pkraeutli) - - Pavel Volokitin (pvolok) - - giulio de donato (liuggio) - - Kieran Brahney - - Anthon Pang (robocoder) - - Andy Palmer (andyexeter) - - Haralan Dobrev (hkdobrev) + - Mateusz Sip (mateusz_sip) + - James Gilliland (neclimdul) + - Ivan Sarastov (isarastov) - Eric Masoero (eric-masoero) - - Bohdan Bobko - - Marc Morales Valldepérez (kuert) - - hossein zolfi (ocean) - - Ben Scott (bpscott) - - flack (flack) - - Oscar Cubo Medina (ocubom) - - Vincent Chalamon - - Yaroslav Kiliba - - Harm van Tilborg (hvt) - - Eduardo Gulias (egulias) - - Pablo Lozano (arkadis) - - Lukáš Holeczy (holicz) + - Ilija Tovilo (ilijatovilo) + - Roumen Damianoff + - BrokenSourceCode + - Kai - Sanpi (sanpi) - - James Gilliland (neclimdul) + - Lorenz Schori + - Terje Bråten + - Greg Thornton (xdissent) + - Maksym Slesarenko (maksym_slesarenko) - Hassan Amouhzi + - Lukáš Holeczy (holicz) + - Daniel Beyer + - Dmytro Borysovskyi (dmytr0) + - mondrake (mondrake) + - vladimir.reznichenko + - Steven RENAUX (steven_renaux) + - Gyula Sallai (salla) + - Valmonzo + - Asmir Mustafic (goetas) + - ShinDarth + - Grenier Kévin (mcsky_biig) + - Albert Jessurum (ajessu) + - ivan + - Thibaut Cheymol (tcheymol) + - Kirill chEbba Chebunin + - Anthon Pang (robocoder) + - smoench + - Urinbayev Shakhobiddin (shokhaa) + - Matthew Lewinski (lewinski) + - Oscar Cubo Medina (ocubom) - Karel Souffriau - - Vitalii Ekert (comrade42) - - Lorenz Schori - - Felix Labrecque - - Diego Agulló (aeoris) - - Jeremy Livingston (jeremylivingston) + - Florent Blaison (orkin) + - Mokhtar Tlili (sf-djuba) + - Bohdan Bobko + - Raffaele Carelle + - Rob Bast + - Julien Galenski (ruian) + - Kieran Brahney + - Max Baldanza + - Joe Lencioni + - Ricard Clau (ricardclau) + - Grzegorz (Greg) Zdanowski (kiler129) + - Costin Bereveanu (schniper) - Pol Dellaiera (drupol) + - Rhodri Pugh (rodnaph) + - Maximilian Ruta (deltachaos) + - Harm van Tilborg (hvt) + - Thomas Royer (cydonia7) + - Jan Nedbal + - Diego Agulló (aeoris) + - Eduardo Gulias (egulias) + - Mathias STRASSER (roukmoute) + - Artem (artemgenvald) + - Alex Bowers + - Jakub Kucharovic (jkucharovic) + - Felix Labrecque + - Tobias Sjösten (tobiassjosten) + - Vitalii Ekert (comrade42) + - Alex (aik099) + - Francesco Levorato + - Ben Scott (bpscott) + - Yannick Ihmels (ihmels) + - Marc Morales Valldepérez (kuert) + - Hendrik Luup (hluup) + - Ahmed Raafat + - Dave Long + - Andy Palmer (andyexeter) + - giulio de donato (liuggio) + - Islam Israfilov (islam93) + - Robbert Klarenbeek (robbertkl) + - Pavel Volokitin (pvolok) - Dimitri Gritsajuk (ottaviano) - - Gyula Sallai (salla) - - vagrant - - De Cock Xavier (xdecock) - - Claude Khedhiri (ck-developer) - - Asier Illarramendi (doup) - - Antonio Jose Cerezo (ajcerezo) - - Markus Lanthaler (lanthaler) - - DerManoMann - - Tavo Nieves J (tavoniievez) - - Kurt Thiemann - - Axel Guckelsberger (guite) - - Guilherme Ferreira - - Miro Michalicka - - Matthieu Bontemps - - Andrii Dembitskyi - - Barry vd. Heuvel (barryvdh) - - Forfarle (forfarle) - - Shakhobiddin - - Ryan - - Arkadius Stefanski (arkadius) - - Steffen Roßkamp - - Gawain Lynch (gawain) - - Norbert Orzechowicz (norzechowicz) - - Petr Duda (petrduda) - - Chris Tanaskoski (devristo) - - Lescot Edouard (idetox) - - Christoph Mewes (xrstf) + - Issam Raouf (iraouf) + - hossein zolfi (ocean) + - Haralan Dobrev (hkdobrev) + - Philipp Kräutli (pkraeutli) + - Philippe Segatori + - Hans Mackowiak + - Maarten de Boer (mdeboer) + - Clément Gautier (clementgautier) + - Vitaliy Zakharov (zakharovvi) + - C (dagardner) + - Martin Herndl (herndlm) + - SUMIDA, Ippei (ippey_s) + - Vyacheslav Salakhutdinov (megazoll) + - Ahmed Ghanem (ahmedghanem00) + - Vincent Chalamon - Xavier HAUSHERR - - Miroslav Šustek (sustmi) - - Pablo Díez (pablodip) - - Tobias Bönner - - Cédric Lombardot (cedriclombardot) - - Robert-Jan de Dreu - - simon chrzanowski (simonch) - - Andrew M-Y (andr) - - Jonathan Johnson (jrjohnson) - - Michel Salib (michelsalib) - - Jiří Bok - - Artem Stepin (astepin) - - Alireza Mirsepassi (alirezamirsepassi) - - M. (mbontemps) - - Erik Saunier (snickers) - - Sander Toonen (xatoo) - - Patrick Reimers (preimers) - - Ned Schwartz - - takashiraki - - Dave Hulbert (dave1010) - - BASAK Semih (itsemih) - - Aurélien Fredouelle - - Kevin McBride - - Denis Gorbachev (starfall) - - Jonas Elfering - - Nate (frickenate) - - Dennis Fridrich (dfridrich) - - Gábor Fási - - Adam Harvey - - Ivan Rey (ivanrey) - - Sergey Melesh (sergex) - - Nils Adermann (naderman) + - Gasan Guseynov (gassan) + - Christophe L. (christophelau) + - Gonzalo Vilaseca (gonzalovilaseca) + - Thomas Perez (scullwm) + - Damien Fernandes + - Tarmo Leppänen (tarlepp) + - Clara van Miert + - Jesper Noordsij + - Tobias Naumann (tna) + - Endre Fejes + - Erin Millard + - Marc Biorklund (mbiork) + - Kev + - Kevin van Sonsbeek (kevin_van_sonsbeek) + - Vladyslav Loboda + - Stéphane PY (steph_py) + - Shein Alexey + - Arthur de Moulins (4rthem) + - Daniel STANCU + - Nathanael Noblet (gnat) + - Jan Böhmer + - Pierre Rineau + - Cătălin Dan (dancatalin) + - Jeremy Livingston (jeremylivingston) - ilyes kooli (skafandri) - - Jacek Jędrzejewski (jacek.jedrzejewski) - - Mark Challoner (markchalloner) + - Romain Gautier (mykiwi) + - Dave Hulbert (dave1010) - PHAS Developer - - Jaik Dean (jaikdean) - - Lenard Palko + - Peter Bowyer (pbowyer) + - Eugene Wissner + - tim + - Philipp Scheit (pscheit) + - Bahman Mehrdad (bahman) + - Denis Kulichkin (onexhovia) + - Aurélien Fredouelle + - Benjamin Zaslavsky (tiriel) + - Laurent Masforné (heisenberg) + - AnneKir + - Jan Ole Behrens (deegital) + - Krzysztof Piasecki (krzysztek) + - Berny Cantos (xphere81) + - François Dume (franek) + - Vlad Gregurco (vgregurco) + - simon chrzanowski (simonch) + - Tobias Weichart + - Fabian Lange (codingfabian) + - Jérôme Tanghe (deuchnord) + - sasezaki + - Zbigniew Malcherczyk (ferror) - Marcin Szepczynski (czepol) - - Clemens Krack (ckrack) - - Marcin Michalski (marcinmichalski) - - Korvin Szanto - - Sam Fleming (sam_fleming) + - Greg Anderson - William Arslett (warslett) + - Geoffrey Tran (geoff) + - Sergey Melesh (sergex) + - Lenard Palko - Thomas Durand - - Brian King - - nikos.sotiropoulos + - Angelov Dejan (angelov) + - Loïc Ovigne (oviglo) + - Jacek Jędrzejewski (jacek.jedrzejewski) + - Giso Stallenberg (gisostallenberg) + - Kurt Thiemann + - Luc Vieillescazes (iamluc) + - Filip Procházka (fprochazka) + - Trent Steel (trsteel88) + - Nate (frickenate) + - Jérôme Macias (jeromemacias) + - Marcos Rezende (rezende79) + - Emanuele Iannone + - Tobias Bönner + - NickSdot + - Jonas Elfering + - Erik Saunier (snickers) + - Eyüp Can Akman + - Florian Merle (florian-merle) - aaa2000 (aaa2000) - - Florian Rey (nervo) - - Jonas Flodén (flojon) - - Toni Rudolf (toooni) - - Ricardo Oliveira (ricardolotr) + - Ioan Negulescu + - Adam Szaraniec + - boombatower + - De Cock Xavier (xdecock) + - Guilherme Ferreira + - Sergio Santoro + - Zach Badgett (zachbadgett) + - Gábor Fási + - Franck RANAIVO-HARISOA (franckranaivo) + - Eduardo Oliveira (entering) - Jeanmonod David (jeanmonod) - - Evgeny Ruban - - Benjamin (yzalis) - - Maelan LE BORGNE - - Evan S Kaufman (evanskaufman) + - Sergey Panteleev + - Ziumin - Lctrs - - Florian Merle (florian-merle) - - Desjardins Jérôme (jewome62) - - quentin neyrat (qneyrat) - - Krzysztof Piasecki (krzysztek) - - Anton Bakai - - sasezaki - - Johan Vlaar (johjohan) - - Erik Trapman - - BENOIT POLASZEK (bpolaszek) - - “Filip - - lancergr - Maxime Pinot (maximepinot) + - Korvin Szanto + - Nathan Dench (ndenc2) + - Roman Anasal + - Pavel Popov (metaer) + - Miroslav Šustek (sustmi) + - Vicent Soria Durá (vicentgodella) + - Jaik Dean (jaikdean) + - Asier Illarramendi (doup) + - Christoph Mewes (xrstf) + - Dmitriy Mamontov (mamontovdmitriy) + - Daniel Tiringer + - Remi Collet + - Miro Michalicka + - Alex Bakhturin + - Krasimir Bosilkov (kbosilkov) + - mmokhi + - Shakhobiddin + - Leevi Graham (leevigraham) + - Andrii Dembitskyi - Piotr Kugla (piku235) - - Adam Szaraniec - - nathanpage - - Jeroen Thora (bolle) - - Adrien Roches (neirda24) - - Markus Staab + - Joachim Løvgaard (loevgaard) + - Bernd Stellwag + - Yevhen Sidelnyk + - Steven Surowiec (steves) + - Johnny Robeson (johnny) + - Jérôme Vieilledent (lolautruche) + - Dariusz Ruminski + - R. Achmad Dadang Nur Hidayanto (dadangnh) + - Jakub Škvára (jskvara) + - Chad Sikorra (chadsikorra) + - Alexandru Furculita (afurculita) + - Matthew Grasmick + - Gijs van Lammeren + - Joshua Nye + - Tavo Nieves J (tavoniievez) + - Martin Parsiegla (spea) + - Chris Sedlmayr (catchamonkey) + - Michael Moravec + - Dennis Fridrich (dfridrich) + - Kevin McBride + - Silas Joisten (silasjoisten) + - Fabrice Bernhard (fabriceb) + - Benjamin Georgeault (wedgesama) + - Ivan Rey (ivanrey) + - Martin Gilbert (nitram1618) + - Nils Adermann (naderman) + - Thomas Talbot (ioni) + - Oleksii Zhurbytskyi + - John Bafford (jbafford) + - Adam Harvey + - Roy Van Ginneken (rvanginneken) - Gunnstein Lye (glye) - - PatNowak - - Loïc Faugeron - - Bohdan Pliachenko - - Matthias Krauser (mkrauser) - - Tom Klingenberg + - Judicaël RUFFIEUX (axanagor) + - Yoshio HANAWA + - Anton Bakai + - Jan Schumann + - Vitaliy Tverdokhlib (vitaliytv) + - Lescot Edouard (idetox) + - Gawain Lynch (gawain) + - Markus Lanthaler (lanthaler) + - Michel Salib (michelsalib) + - Alireza Mirsepassi (alirezamirsepassi) + - Samuele Lilli (doncallisto) + - Ariel Ferrandini (aferrandini) + - Ned Schwartz + - Restless-ET + - Artem Stepin (astepin) + - Mohammad Emran Hasan (phpfour) + - Matthew Smeets + - Andrew M-Y (andr) + - M. Vondano + - Matthieu Bontemps + - Brayden Williams (redstar504) + - Martin Morávek (keeo) + - Gigino Chianese (sajito) + - Denis Gorbachev (starfall) - Dirk Pahl (dirkaholic) - - Pavel Campr (pcampr) - - Jérôme Macias (jeromemacias) - - Vlad Gregurco (vgregurco) - - Antonin CLAUZIER (0x346e3730) + - Marek Zajac + - Erik Trapman + - Faizan Akram Dar (faizanakram) + - Ryan + - vagrant + - Matheo Daninos (mathdns) + - Jonathan Johnson (jrjohnson) + - wicliff wolda (wickedone) - Boris Vujicic (boris.vujicic) - - Nicolas Dewez (nicolas_dewez) - - Ziumin - - Loïc Ovigne (oviglo) - - Gigino Chianese (sajito) - - Arnaud POINTET (oipnet) - - Tri Pham (phamuyentri) - - Bahman Mehrdad (bahman) + - PatNowak + - Loïc Faugeron + - Andrew Udvare (audvare) + - Markus Staab + - Sander Toonen (xatoo) - Anatoly Pashin (b1rdex) - - Luc Vieillescazes (iamluc) - - NickSdot - - mamazu - - Matheo Daninos (mathdns) - - Mohammad Emran Hasan (phpfour) - - Chad Sikorra (chadsikorra) - - Eduardo Oliveira (entering) - - Soufian EZ ZANTAR (soezz) - - Bhavinkumar Nakrani (bhavin4u) - - Martin Morávek (keeo) + - Klaus Silveira (klaussilveira) + - Jibé Barth (jibbarth) + - Jiří Bok - Benoit Galati (benoitgalati) + - Ioan Ovidiu Enache (ionutenache) + - Robert-Jan de Dreu + - battye + - BASAK Semih (itsemih) + - Ivan Nikolaev (destillat) + - Vadim Borodavko (javer) + - Norbert Orzechowicz (norzechowicz) + - Rodrigo Borrego Bernabé (rodrigobb) - jprivet-dev - - Matthew Smeets - - Philipp Scheit (pscheit) - - Restless-ET - - Nicolas Rigaud - - Vitaliy Tverdokhlib (vitaliytv) - - Denis Kulichkin (onexhovia) - - Kamil Kokot (pamil) - - Filip Procházka (fprochazka) - - Arnaud De Abreu (arnaud-deabreu) - - Zach Badgett (zachbadgett) - - Jakub Škvára (jskvara) - - Alexander Deruwe (aderuwe) - - Erkhembayar Gantulga (erheme318) - - Sebastian Bergmann - - Benjamin Cremer (bcremer) - - Franck RANAIVO-HARISOA (franckranaivo) - - Andrey Astakhov (aast) + - lenar + - Clemens Krack (ckrack) + - Stefan Gehrig (sgehrig) + - Markus S. (staabm) + - Petr Duda (petrduda) + - Sebastian Zoglowek + - Greg ORIOL + - BENOIT POLASZEK (bpolaszek) + - kylekatarnls (kylekatarnls) + - Antonio Jose Cerezo (ajcerezo) + - Antonin CLAUZIER (0x346e3730) + - Raulnet + - Pavel Campr (pcampr) + - Ricardo Oliveira (ricardolotr) + - Martijn Cuppens + - nathanpage + - Marvin Feldmann (breyndotechse) + - Grummfy (grummfy) - Valentin Jonovs - - Marcin Chyłek (songoq) - - Matthew Grasmick - - Judicaël RUFFIEUX (axanagor) - - Eyüp Can Akman - - Jerzy Lekowski (jlekowski) - - Alex Bakhturin + - Xavier HAUSHERR - Ben Roberts (benr77) - Jérémy M (th3mouk) - - Brayden Williams (redstar504) - - Petrisor Ciprian Daniel - - Martin Parsiegla (spea) - - Ben Ramsey (ramsey) - - geoffrey - - wicliff wolda (wickedone) - - Marvin Feldmann (breyndotechse) - - Jan van Thoor (janvt) - - Roy Van Ginneken (rvanginneken) - - Grummfy (grummfy) - - Dominik Zogg - - Arturs Vonda - - Thomas Talbot (ioni) - - John Bafford (jbafford) - - Maxim Dovydenok (dovydenok-maxim) - - M. Vondano - - battye + - mamazu + - Bohdan Pliachenko + - Christian Gripp (core23) + - Cédric Lombardot (cedriclombardot) - Yi-Jyun Pan - - Samuele Lilli (doncallisto) - Webnet team (webnet) - - boombatower - - Greg Anderson - - Jan Schumann - - AKeeman (akeeman) - - Florent Destremau (florentdestremau) - - Pavel Popov (metaer) - - Faizan Akram Dar (faizanakram) - - Angelov Dejan (angelov) - - Koen Reiniers (koenre) - - Oleksii Zhurbytskyi - - Ariel Ferrandini (aferrandini) - - Jannik Zschiesche - - mcben - - Scott Arciszewski - - Rodrigo Borrego Bernabé (rodrigobb) - - Geoffrey Tran (geoff) - - Alexandru Furculita (afurculita) + - M. (mbontemps) - Philipp Rieber (bicpi) - - Michael Moravec - - Gildas Quéméner (gquemener) - - tim - - Marcos Rezende (rezende79) - - Fabrice Bernhard (fabriceb) - - Andreas Hennings - Disquedur + - Arturs Vonda - Stefan Kruppa - - Trent Steel (trsteel88) - - Dariusz Ruminski - - Sergey Panteleev - - kylekatarnls (kylekatarnls) + - Nicolas Rigaud + - Alexander Deruwe (aderuwe) + - Sam Fleming (sam_fleming) + - DerManoMann + - Nicolas Dewez (nicolas_dewez) + - Evan S Kaufman (evanskaufman) - Bilge - - Chris Sedlmayr (catchamonkey) - - Greg ORIOL - - Markus S. (staabm) - - Stefan Gehrig (sgehrig) - - Nathan Dench (ndenc2) - - Benjamin Zaslavsky (tiriel) - - lenar - - Sebastian Zoglowek - - Jan Nedbal - - Dawid Pakuła (zulusx) - - Jan Ole Behrens (deegital) - - Eugene Wissner - - Tobias Weichart - - Ivan Nikolaev (destillat) - - Ioan Negulescu - - AnneKir + - Niklas Fiekas + - Marcin Michalski (marcinmichalski) - Belhassen Bouchoucha (crownbackend) - - Johnny Robeson (johnny) - - Marek Zajac - - Sergio Santoro - - Jérémy REYNAUD (babeuloula) - - Christian Gripp (core23) - - Martin Gilbert (nitram1618) - - Anthony Ferrara - - Martijn Cuppens - - Romain Gautier (mykiwi) - - Klaus Silveira (klaussilveira) - - Vicent Soria Durá (vicentgodella) - - Joshua Nye - - Fabian Lange (codingfabian) - - Dmitriy Mamontov (mamontovdmitriy) - - Gijs van Lammeren - - Joachim Løvgaard (loevgaard) + - Chris Tanaskoski (devristo) - Kevin Saliou (kbsali) - - Bernd Stellwag - - Shawn Iwinski - - Roman Anasal - - Jérôme Vieilledent (lolautruche) - - Berny Cantos (xphere81) - - Niklas Fiekas - - Leevi Graham (leevigraham) - - Raulnet - - Jibé Barth (jibbarth) - - W0rma - - Vadim Borodavko (javer) - - Silas Joisten (silasjoisten) - - Peter Bowyer (pbowyer) + - Steffen Roßkamp + - Johan Vlaar (johjohan) + - Dominik Zogg - Roberto Espinoza (respinoza) - - Andrew Udvare (audvare) + - W0rma + - Pablo Díez (pablodip) + - Martin Kirilov (wucdbm) + - Dawid Pakuła (zulusx) + - Axel Guckelsberger (guite) + - Matthijs van den Bos (matthijs) + - Jerzy Lekowski (jlekowski) + - nikos.sotiropoulos + - Florian Rey (nervo) + - Forfarle (forfarle) + - Arkadius Stefanski (arkadius) + - Jan van Thoor (janvt) - Maximilian Zumbansen - - Remi Collet - - Steven Surowiec (steves) - - Daniel Tiringer - - Benjamin Georgeault (wedgesama) - - Krasimir Bosilkov (kbosilkov) + - Benjamin (yzalis) + - ReenExe + - mcben + - quentin neyrat (qneyrat) + - Evgeny Ruban + - Kamil Kokot (pamil) + - Dries Vints + - Adrien Roches (neirda24) + - Anthony Ferrara + - Benjamin Cremer (bcremer) + - Maxim Dovydenok (dovydenok-maxim) + - Marcin Chyłek (songoq) + - Toni Rudolf (toooni) + - takashiraki + - “Filip + - AKeeman (akeeman) + - Arnaud De Abreu (arnaud-deabreu) + - Soufian EZ ZANTAR (soezz) + - Jonas Flodén (flojon) + - Jeroen Thora (bolle) + - Tri Pham (phamuyentri) + - Claude Khedhiri (ck-developer) + - Tom Klingenberg + - Jérémy REYNAUD (babeuloula) + - Arnaud POINTET (oipnet) + - geoffrey + - Andreas Hennings - Ali-HENDA - - Zbigniew Malcherczyk (ferror) - - Yevhen Sidelnyk + - Mark Challoner (markchalloner) + - Petrisor Ciprian Daniel + - Bhavinkumar Nakrani (bhavin4u) + - Barry vd. Heuvel (barryvdh) + - Erkhembayar Gantulga (erheme318) + - Matthias Krauser (mkrauser) + - Ben Ramsey (ramsey) - Markus Bachmann (baachi) - - Jérémy DECOOL (jdecool) - - Ioan Ovidiu Enache (ionutenache) - - Dries Vints - - Jérôme Tanghe (deuchnord) - - Matthijs van den Bos (matthijs) - - Yoshio HANAWA - - Giso Stallenberg (gisostallenberg) - - Laurent Masforné (heisenberg) - - François Dume (franek) - - ReenExe + - Shawn Iwinski + - Scott Arciszewski + - Florent Destremau (florentdestremau) + - Koen Reiniers (koenre) + - Gildas Quéméner (gquemener) + - Andrey Astakhov (aast) + - lancergr + - Maelan LE BORGNE + - Brian King + - Jannik Zschiesche - Andrii Dembitskyi - - mmokhi - - Martin Kirilov (wucdbm) - - R. Achmad Dadang Nur Hidayanto (dadangnh) - - Emanuele Iannone - - Christian Grasso (chris54721) - - Adam - - Matthieu Mota (matthieumota) - - Maksim Muruev - - Quentin de Longraye (quentinus95) + - Desjardins Jérôme (jewome62) + - Jérémy DECOOL (jdecool) + - Sebastian Bergmann + - Patrick Reimers (preimers) + - Reedy + - Max Baldanza + - Payene Denis KOMBATE (payene) + - Arjan Keeman + - Ryan RAJKOMAR (rrajkomar) + - bukhonovd + - Zouaoui Montassar + - Miquel Rodríguez Telep (mrtorrent) + - James Hudson (mrthehud) + - Vladimir Varlamov (iamvar) + - Martin (meckhardt) + - Gerard van Helden (drm) + - Maks 3w (maks3w) + - Vikram Vaswani + - julien57 + - Rafael Kraut + - Thomas Nunninger + - Matijn (matijn-made) + - Arpit Verma + - Florian Wolfsjaeger (flowolf) + - Christophe Villeger (seragan) + - hugovms + - Nicolas Dousson + - Jonathan Hogervorst + - Amr Ezzat (amrezzat) + - Andrew Tchircoff (andrewtch) + - Ettore Del Negro (ettoredn) + - Julien Robic (nayte) + - Mustafa Cheraim (musta_cher) + - Raphaëll Roussel + - Reinier Kip + - Florian Weber + - Stéphane Escandell (sescandell) + - Israel J. Carberry + - Gladhon + - Mudassar + - Konstantin Grachev (grachevko) + - Philippe Segatori + - Oleksii Kozhemiaka (okozhemiaka) + - Gálik Pál + - Pierre Hennequart + - Carson Full (carsonfull) + - Álvaro Sánchez Taboada + - Mark Schmale (masch) + - Benoît Merlet (trompette) - Mihai Stancu - Yuriy Vilks (igrizzli) - fzerorubigd - - Jiri Barous - - Adrian Nguyen (vuphuong87) - - 243083df - - Pierre-Yves Landuré (biapy) - - Dennis Væversted (srnzitcom) - - Sascha Grossenbacher (berdir) - - Rimas Kudelis - - Gregor Nathanael Meyer (spackmat) - - Lukas Mencl - - Gerard van Helden (drm) - - Ian Irlen - - Maks 3w (maks3w) - - Matt Johnson (gdibass) - - Wouter van der Loop (toppy-hennie) - - Thiago Cordeiro (thiagocordeiro) - - Joschi Kuphal - - Pierrick VIGNAND (pierrick) - - James Michael DuPont - - Hossein Bukhamsin - - Jakub Kulhan (jakubkulhan) - - Denis Zunke (donalberto) - - Chris Boden (cboden) - - Gábor Tóth - - Vladimir Varlamov (iamvar) - - DT Inier (gam6itko) - - EStyles (insidestyles) - - Benjamin Schoch (bschoch) - - Valentin Nazarov - - phpner - - Martins Sipenko - - Damien Fa - Xavier Leune (xleune) - - ouardisoft - - Baptiste CONTRERAS - - ampaze - aegypius - - den - - Tarjei Huse (tarjei) - - Besnik Br - - SpacePossum - - Alex Kalineskou - - Brunet Laurent (lbrunet) - - Nguyen Xuan Quynh - - Sascha Dens (saschadens) - - Ana Raro - - Wesley Lancel - - Asier Etxebeste - - Christophe Villeger (seragan) - - Toon Verwerft (veewee) - - Marko H. Tamminen (gzumba) - - Francisco Alvarez (sormes) - - Jeroen van den Enden (endroid) - grizlik - - arai - - Glodzienski - - jochenvdv - - Daniel Cestari - - Matijn (matijn-made) - - Julien Tattevin (jutattevin) - - Ke WANG (yktd26) - - Simon (kosssi) - - Geoffrey Brier (geoffrey-brier) - - Roy Klutman (royklutman) - - zenas1210 - - kick-the-bucket - Benjamin Toussaint (bto) - - Jay Klehr - - Seb Koelen - - Oleg Zinchenko (cystbear) - - Lorenzo Millucci (lmillucci) - - Neil Ferreira - VJ - - Simon Schick (simonsimcity) - - Andreas Leathley (iquito) - - Josiah (josiah) - - Natsuki Ikeguchi - - Noah Heck (myesain) - - Arun Philip - - Mikhail Yurasov (mym) - - ywisax - - Andreas Braun - - Zouaoui Montassar - - Åsmund Garfors - - Gabrielle Langer - - Kyle Evans (kevans91) - - Bert Hekman (demontpx) - - Simon DELICATA - - Geordie - - Ulumuddin Cahyadi Yunus (joenoez) - - Julien Maulny - - NanoSector - Barney Hanlon - Kieran Cross (kilosierracharlie) - Andrei C. (moldman) - - Niklas Keller - - Michał Jusięga - - Ana Raro - - Jonathan Hogervorst + - Bert Hekman (demontpx) + - Loïc Beurlet + - Marcos Gómez Vilches (markitosgv) + - Pedro Miguel Maymone de Resende (pedroresende) + - Michael Roterman (wtfzdotnet) + - Zhuravlev Alexander (scif) + - Pavel Witassek + - Jose Gonzalez - Nicole Cordes (ichhabrecht) - - sl_toto (sl_toto) - - Egor Taranov - - Mickaël Andrieu (mickaelandrieu) - - Marco Lipparini (liarco) - - Christin Gruber (christingruber) - - James Johnston - - Maxim Tugaev (tugmaks) - - Krzysztof Łabuś (crozin) + - Benjamin Grandfond (benjamin) + - Benjamin Franzke + - Jordan Deitch + - Sergey Kolodyazhnyy (skolodyazhnyy) + - tourze + - Arturas Smorgun (asarturas) + - shubhalgupta + - Reyo Stallenberg (reyostallenberg) + - Tomasz Kusy + - Ilia (aliance) + - Youssef Benhssaien (moghreb) + - Alexander Dmitryuk (coden1) + - louismariegaborit + - scyzoryck + - Tiago Brito (blackmx) + - Brad Jones + - Jacques MOATI (jmoati) + - bogdan + - Joost van Driel (j92) + - Andrew Hilobok (hilobok) + - Denis Zunke (donalberto) + - Chris Boden (cboden) + - Daniel Cestari + - Shin Ohno (ganchiku) + - develop + - Malte Blättermann + - Adrien Jourdier (eclairia) + - Volodymyr Panivko + - David Fuhr + - Artur Eshenbrener + - Fabien LUCAS (flucas2) + - Ferran Perxas (fperxas) + - Ryan Hendrickson + - Tony Tran + - Tristan Roussel + - Sergey Yastrebov + - Johnny Peck (johnnypeck) + - frost-nzcr4 + - Michiel Boeckaert (milio) + - Gerben Oolbekkink + - Jon Dufresne + - avorobiev + - Luis Tacón (lutacon) + - Marko Petrovic + - Abhoryo + - Guillaume Verstraete + - Maksim Muruev + - Pierre-Yves Landuré (biapy) + - Sascha Grossenbacher (berdir) + - Matt Johnson (gdibass) + - Wouter van der Loop (toppy-hennie) + - phpner + - Damien Fa + - Felds Liscia (felds) + - Sander De la Marche (sanderdlm) + - Carlos Quintana + - Jeroen Fiege (fieg) + - Fabien Salles (blacked) + - den + - Jeroen van den Enden (endroid) + - Andreas Braun - Ворожцов Максим (myks92) - - Gálik Pál - - marie - Tristan Maindron (tmaindron) - - Amr Ezzat (amrezzat) - - Mickaël Isaert (misaert) - Andreas Lutro (anlutro) - Julien DIDIER (juliendidier) - Denis Charrier (brucewouaigne) - - Michał Marcin Brzuchalski (brzuchal) - Alexandre Parent - - Hidde Boomsma (hboomsma) - - Payene Denis KOMBATE (payene) - - Loïc Chardonnet - - Korvin Szanto - - Ivan Kurnosov - - Oriol Viñals - - Don Pinkster - - Ivan - - Alexandre Dupuy (satchette) - - Maximilian.Beckers - - Thijs-jan Veldhuizen (tjveldhuizen) - - Shin Ohno (ganchiku) - - Lars Vierbergen (vierbergenlars) - - Jakub Vrána (vrana) - - Mustafa Cheraim (musta_cher) - Siebe Vanden Eynden (siebe_ve) - - Fabian Vogler (fabian) - - stoccc - - Alex (garrett) - - develop - - Felds Liscia (felds) - - fedor.f - - Alexander Kim - - Johann Saunier (prophet777) - - Adrian Günter (adrianguenter) - - Malte Blättermann - - Tamás Nagy (t-bond) - - StefanoTarditi - - skmedix (skmedix) - - Florent Viel (luxifer) - - Romanavr - Alex Xandra Albert Sim - Anton A. Sumin - - Loïc Beurlet - - Stefan Warman (warmans) - - Davide Borsatto (davide.borsatto) - - Marcos Gómez Vilches (markitosgv) - - Jean Pasdeloup - - Pedro Miguel Maymone de Resende (pedroresende) - - Simon Terrien (sterrien) - - Petar Obradović - - Thomas Cochard (tcochard) - - Guilherme Augusto Henschel - - Shaharia Azam - - Kay Wei - - Andrew Berry - benjaminmal - - Carlos Quintana - - Krystian Marcisz (simivar) - - Hossein Hosni - - Baldur Rensch (brensch) - - Cyril Quintin (cyqui) - - Jason Woods - - Sebastian Krebs - - Laurent Bassin (lbassin) - - Vincent CHALAMON - - Ramunas Pabreza (doobas) - - Koen Kuipers (koku) - - Matthieu Calie (matth--) - - Michael Roterman (wtfzdotnet) - - Andreas Erhard (andaris) - - Maximilian Bösing - - Alexander Li (aweelex) - - Maksim Kotlyar (makasim) - - Raphaëll Roussel - - Sébastien JEAN (sebastien76) - - Olivier Maisonneuve - - Tomasz Ignatiuk - - Masterklavi - - Yi-Jyun Pan - - Fred Cox - - Bastien DURAND (deamon) - - Thibault Buathier (gwemox) - - origaminal - - Mior Muhammad Zaki (crynobone) - - Julien Robic (nayte) - - Chris Heng (gigablah) - - ornicar - - Jörn Lang - - Fractal Zombie - - James Hemery - - Benjamin Grandfond (benjamin) - d-mitrofanov-v - - Oleksandr Barabolia (oleksandrbarabolia) - - Martin (meckhardt) - - Simon Heimberg (simon_heimberg) - Oriol Viñals - - Nicolas de Marqué (nicola) - - Zhuravlev Alexander (scif) - - noniagriconomie - - Travis Carden (traviscarden) - - Jean-Baptiste GOMOND (mjbgo) - - shubhalgupta - - Dmytro Boiko (eagle) - - Philipp Keck - - Christophe V. (cvergne) - - Pavel Witassek - - Aydin Hassan - Roger Guasch (rogerguasch) - - Florian Pfitzer (marmelatze) - - Julien Fredon - - Michael Bessolov - - Ahmed Ashraf (ahmedash95) - - Reinier Kip - - Adrien Jourdier (eclairia) - - tourze - - zenmate - - Carlos Buenosvinos (carlosbuenosvinos) - - mweimerskirch - - Michael Lutz - - Mouad ZIANI (mouadziani) - - Carson Full (carsonfull) - Kristof Van Cauwenbergh (kristofvc) - - Patrick Dawkins (pjcdawkins) - - Álvaro Sánchez Taboada - - Anthony Tenneriello - - Paweł Wacławczyk (pwc) - - Baptiste Meyer (meyerbaptiste) - - andrey1s - - vladimir.panivko - - mohamed - Nahuel Cuesta (ncuesta) - - Florian Weber - - Daniel Alejandro Castro Arellano (lexcast) - - Matthieu Bontemps - - Christian Soronellas (theunic) - - flip111 - - Thibaut THOUEMENT (thibaut_thouement) - Vincent QUATREVIEUX - - Paul Oms - - Grinbergs Reinis (shima5) - - radar3301 - - Sébastien Despont (bouillou) - - Steve Grunwell - - Jose Gonzalez - - Dragos Protung (dragosprotung) - - Richard van den Brand (ricbra) - - Degory Valentine - - Sander De la Marche (sanderdlm) - - Bozhidar Hristov - - Robert Gruendler (pulse00) - - Jordi Sala Morales (jsala) - - Takashi Kanemoto (ttskch) - - Tinjo Schöni - - Marco Wansinck (mwansinck) - - Sofiane HADDAG (sofhad) - - Minna N - - Benjamin Laugueux - - michaelwilliams - - Andrii Popov (andrii-popov) - - David ALLIX - - Daniel González (daniel.gonzalez) - - Claudio Zizza - - Arturas Smorgun (asarturas) - - Nico Haase - - David Marín Carreño (davefx) - Christian Sciberras (uuf6429) - Kagan Balga (kagan-balga) - - Aurimas Niekis (gcds) - - Ilya Levin (ilyachase) - - Aleksandr Volochnev (exelenz) - - Rafał Wrzeszcz (rafalwrzeszcz) - - Benjamin Franzke - - Randy Geraads - - Emil Einarsson - Simon Mönch - - Paul Kamer (pkamer) - - Guillaume Sainthillier (guillaume-sainthillier) - - Edvin Hultberg - - Sherin Bloemendaal - - Ondrej Exner - Terje Bråten - - Carl Casbolt (carlcasbolt) - - Miquel Rodríguez Telep (mrtorrent) - - Jordan Deitch - - Thiago Melo - - Max Baldanza - Alex Bogomazov (alebo) - - Kieran - - Julie Hourcade (juliehde) - - Nicolas Dousson - - Jawira Portugal (jawira) - - Simon Watiau (simonwatiau) - - Pavol Tuka - - Casper Valdemar Poulsen - - Jan Walther (janwalther) - - Mark Sonnabaum - - ToshY - - Christian Stoller (naitsirch) - - umpirski - - Jan Pintr - - Jan Kramer - - Calin Mihai Pristavu - - vitaliytv - - Jeroen Fiege (fieg) - - Grégoire Penverne (gpenverne) - - Pedro Casado (pdr33n) - - Sergey Kolodyazhnyy (skolodyazhnyy) - - Ben - - Luis Tacón (lutacon) - - Duncan de Boer (farmer-duck) - - Daisuke Ohata - - Ayke Halder - - Robert Fischer (sandoba) - - Ian Jenkins (jenkoian) - - Daniël Brekelmans (dbrekelmans) - David Romaní - - Kristijan Kanalaš (kristijan_kanalas_infostud) - - Vitaliy Zhuk (zhukv) - - Philipp Kolesnikov - - Kien Nguyen - - Mike Meier (mykon) - - Nikolai Mikhailov (sonnymilton) - - Jacques MOATI (jmoati) - - Sergii Dolgushev (serhey) - - Sylvain BEISSIER (sylvain-beissier) - - Nykopol (nykopol) - - Roy de Vos Burchart - Dennis Langen (nijusan) - - Noémi Salaün (noemi-salaun) - - Antoine Corcy - Reen Lokum - - Kevin SCHNEKENBURGER - - Cosmin Sandu - - Andrew Tchircoff (andrewtch) - - Jake (jakesoft) - - Nikita Nefedov (nikita2206) - - Arjan Keeman - - Elan Ruusamäe (glen) - Mathias Brodala (mbrodala) - - Max Rath (drak3) - - Fabien Salles (blacked) - - RJ Garcia - - Wybren Koelmans (wybren_koelmans) - - Marek Pietrzak (mheki) - - Ivan Grigoriev (greedyivan) - - Massimiliano Braglia (massimilianobraglia) - - Gert Wijnalda (cinamo) - - Volodymyr Panivko - - Mario Ramundo (rammar) - - Jonatan Männchen - - Rodrigo Méndez (rodmen) - - Stéphane Escandell (sescandell) - - Richard Bradley - - Reyo Stallenberg (reyostallenberg) - - Tomasz Kusy - - AndrolGenhald - - Alexander Miehe - - Andrew Neil Forster (krciga22) - - Israel J. Carberry - - Pierre-Emmanuel Tanguy (petanguy) + - Loïc Chardonnet - Carlos Pereira De Amorim (epitre) - - Martijn Evers - - Morten Wulff (wulff) - - d-ph - - MrMicky - - Andrew Hilobok (hilobok) - - Renan Rodrigo - - Ruben Jacobs (rubenj) - - David Fuhr - - Stéphan Kochen - - Sergey Zolotov (enleur) - - Roberto Nygaard - - Michel Hunziker - - Rustam Bakeev (nommyde) - - Gert de Pagter - - Pascal Helfenstein - - Tamás Szigeti - - Artur Eshenbrener - - Robin van der Vleuten (robinvdvleuten) - - johan Vlaar - - Sebastian Grodzicki (sgrodzicki) - - Fabien LUCAS (flucas2) - - buffcode - - Paweł Niedzielski (steveb) - - Harry Walter (haswalt) - - Maxime Douailin - - Vladimir Valikayev - - rtek - - Ferran Perxas (fperxas) - - Manuel Alejandro Paz Cetina - - yclian - - _sir_kane (waly) - - Bálint Szekeres - - Jaroslav Kuba - - Ryan Hendrickson - - Stéphane Delprat - - Douglas Reith (douglas_reith) - - Barthold Bos - - Mohamed Gamal - - Tony Tran - - Yosmany Garcia (yosmanyga) - - Andrey Sevastianov - - Tristan Roussel - - Tim Düsterhus - - Xav` (xavismeh) - - Ilia (aliance) - - Jason Tan (jt2k) - - alexpozzi - - Ryan RAJKOMAR (rrajkomar) - Nathan PAGE (nathix) - - Tony Malzhacker - - James Hudson (mrthehud) - - Alaattin Kahramanlar (alaattin) - - Jonas Elfering - - Thomas P - - Julien Turby - - Ruben Gonzalez (rubenruateltek) - - COMBROUSE Dimitri - - Thomas Ploch - - Sergey Yastrebov - - Thibault Richard (t-richard) - Jon Gotlin (jongotlin) - - Rafael Kraut - - alexandre.lassauge - - Johnny Peck (johnnypeck) - - bukhonovd - - Robin Lehrmann - - Shahriar56 - - hugovms - - Franco Traversaro (belinde) - - Vincent Composieux (eko) - - Gladhon - - acoulton - - Alexander Grimalovsky (flying) - - stlrnz - - DUPUCH (bdupuch) - - Morgan Auchede - Chris Jones (magikid) - - Matthew Davis (mdavis1982) - Vitaliy Ryaboy (vitaliy) - - John Bohn (jbohn) - - Cyril Vermandé (cyve) - - Rostyslav Kinash - - Gustavo Falco (gfalco) - - Gennady Telegin - - Mudassar - - Delf Tonder (leberknecht) - - louismariegaborit - - Jayson Xu (superjavason) - - Ivo Bathke (ivoba) - - Konstantin Grachev (grachevko) - - Stephan Vierkant (svierkant) - - Trevor North - - Adrien Lucas (adrienlucas) - - Youssef Benhssaien (moghreb) - - Douglas Hammond (wizhippo) - - Guillaume Aveline - - Vladyslav Petrovych - Jonathan (jlslew) - - Benedikt Lenzen (demigodcode) - - Mantas Var (mvar) - - Vincent Simonin - Mátyás Somfai (smatyas) - - Sem Schidler (xvilo) - - Alexander Dmitryuk (coden1) - - Javier López (loalf) - - Philippe Segatori - - frost-nzcr4 - Maxime COLIN (maximecolin) - - Cornel Cruceru (amne) - izzyp - - Jesper Skytte (greew) - - Cameron Porter - Jeremiasz Major - - Thomas Nunninger - - Vladimir Luchaninov (luchaninov) - - David Molineus - - Bastien THOMAS - - Sebastian Paczkowski (sebpacz) - - Zeeshan Rashid (zeeshan) - - Evan Shaw - - Clemens Krack - - Florian Wolfsjaeger (flowolf) - - Achilles Kaloeridis (achilles) - - Gina Peter Banyard - - Pavlo Pelekh (pelekh) - - Matt Janssen - Tales Santos (tsantos84) - - DemigodCode - - Michiel Boeckaert (milio) - - mwsaz - - Eric COURTIAL - - Oleksii Kozhemiaka (okozhemiaka) - Patrick Allaert - mfettig - - Tiago Brito (blackmx) - - Marc Laporte - - Mardari Dorel (dorumd) - - Kuba Werłos (kuba) - - Antal Áron (antalaron) - - Richard Henkenjohann (richardhj) - - Arnaud Frézet - - Kevin (oxfouzer) - - Arno Geurts - - Gerben Oolbekkink - - Simo Heinonen (simoheinonen) - - Toni Peric (tperic) - - scyzoryck - - Jon Dufresne - - Brad Jones - - Luca Saba (lucasaba) - - julien57 - - Tamas Szijarto - Malte Müns - - Stephan Vock (glaubinix) - - Andrew Codispoti - - Florian Hermann (fhermann) - - Sofien Naas - - Dmitry Parnas (parnas) - - Rodrigo Aguilera - - Thorry84 - - Jelle Raaijmakers (gmta) - - Michael Devery (mickadoo) - - avorobiev - - Rootie - - Pierre Hennequart - - Alexandre parent - - Jérôme Tamarelle (jtamarelle-prismamedia) - - Balazs Csaba - - Benjamin Zikarsky (bzikarsky) - - Xavier Briand (xavierbriand) - - Ivan Menshykov - Sebastian Marek (proofek) - - Hany el-Kerdany - - Joost van Driel (j92) - - Oliver Hoff - - Simeon Kolev (simeon_kolev9) - - Aurimas Niekis (aurimasniekis) - Christopher Hall (mythmakr) - - Sebastian Blum - - Mickaël Buliard (mbuliard) - - Dave Marshall (davedevelopment) - - Matt Robinson (inanimatt) - katario - - Johannes Klauss (cloppy) - - Jan Prieser - - Cyril Pascal (paxal) - - abdul malik ikhsan (samsonasik) - - Bill Hance (billhance) - - Michael Piecko (michael.piecko) - - Dustin Dobervich (dustin10) - - Simon Leblanc (leblanc_simon) - - Venu - - fago - wuchen90 - - Reedy - - Evan C - - Derek ROTH - - Ricky Su (ricky) - - Paulo Ribeiro (paulo) - - Marko Petrovic - - Dominik Ulrich - - Khoo Yong Jun - - Gennadi Janzen - - Thomas Trautner (thomastr) - - Dhananjay Goratela - - Jakub Podhorsky (podhy) - - Abhoryo - - Brajk19 - - Pierre Vanliefland (pvanliefland) - - Gintautas Miselis (naktibalda) - - Alex Bacart + - Michael Thieulin - Sinan Eldem (sineld) - - Matteo Beccati (matteobeccati) - - datibbaw - - Francis Turmel (fturmel) - - Xesxen - - Guillaume Verstraete - - Xavier Lacot (xavier) + - Ivan Grigoriev (greedyivan) - Geert De Deckere - - Stefano Degenkamp (steef) - - Arpit Verma - - Quentin Dreyer (qkdreyer) - - Behnoush Norouzali (behnoush) - - Mark Schmale (masch) - - Andre Hoong - - Jesper Noordsij - - wanxiangchwng - - Henry Snoek (snoek09) - Dennis Hotson - Daniel Badura - - Renan Gonçalves (renan_saddam) - Eric Abouaf (neyric) - - Benoît Merlet (trompette) - - Benjamin Lebon - - Cristoforo Cervino (cristoforocervino) - Piotr Stankowski - - Oliver Hader - - Benoît Bourgeois (bierdok) - - Stanislau Kviatkouski (7-zete-7) - - bogdan - - Adrien Wilmet (adrienfr) - Dmitrii Tarasov (dtarasov) - - Adán Lobato (adanlobato) - - Emil Masiakowski - - Johnson Page (jwpage) - - Ettore Del Negro (ettoredn) - - Ondrej Machulda (ondram) - - Sébastien Santoro (dereckson) - - Marcel Hernandez - - Richard Quadling + - COMBROUSE Dimitri + - Gregor Nathanael Meyer (spackmat) + - EStyles (insidestyles) + - ampaze + - ouardisoft + - Baptiste CONTRERAS + - Ana Raro + - Glodzienski + - Julien Tattevin (jutattevin) + - Ke WANG (yktd26) + - Geoffrey Brier (geoffrey-brier) + - zenas1210 + - Jay Klehr + - NanoSector + - sl_toto (sl_toto) + - DUPUCH (bdupuch) + - Egor Taranov + - Don Pinkster + - Davide Borsatto (davide.borsatto) + - Kay Wei + - Massimiliano Braglia (massimilianobraglia) + - Guilherme Augusto Henschel + - Baldur Rensch (brensch) + - Cyril Quintin (cyqui) + - Jason Woods + - Matthieu Calie (matth--) + - ornicar + - Xavier Briand (xavierbriand) + - mohamed + - Daniel Alejandro Castro Arellano (lexcast) + - Paul Oms + - radar3301 + - Steve Grunwell + - Dragos Protung (dragosprotung) + - Marco Wansinck (mwansinck) + - Pierre-Emmanuel Tanguy (petanguy) + - rtek + - Emil Einarsson + - Edvin Hultberg + - Ondrej Exner + - ToshY + - Pedro Casado (pdr33n) + - Gabrielle Langer + - Noémi Salaün (noemi-salaun) + - Marek Pietrzak (mheki) + - Gert Wijnalda (cinamo) + - Maxim Tugaev (tugmaks) + - Sergey Zolotov (enleur) + - Sebastian Grodzicki (sgrodzicki) + - Vincent Composieux (eko) + - acoulton + - Alexander Grimalovsky (flying) + - Delf Tonder (leberknecht) + - Florian Hermann (fhermann) + - Guillaume Aveline + - Vladyslav Petrovych + - Mantas Var (mvar) + - Andre Hoong + - Thorry84 + - Johannes Klauss (cloppy) + - Jan Prieser + - Paulo Ribeiro (paulo) + - Noah Heck (myesain) + - James Johnston + - Dhananjay Goratela + - Alex Bacart + - Xavier Lacot (xavier) + - Quentin Dreyer (qkdreyer) + - wanxiangchwng + - Cristoforo Cervino (cristoforocervino) - Marc Abramowitz + - Adam + - Jakub Vrána (vrana) + - 243083df + - Lukas Mencl + - Mickaël Andrieu (mickaelandrieu) + - Rodrigo Méndez (rodmen) + - Oliver Hoff + - Thiago Cordeiro (thiagocordeiro) + - Hossein Bukhamsin + - Gábor Tóth + - DT Inier (gam6itko) + - Gintautas Miselis (naktibalda) + - Romanavr + - Asier Etxebeste + - Philipp Keck + - Aydin Hassan + - Matteo Beccati (matteobeccati) + - Tarjei Huse (tarjei) + - SpacePossum + - Nguyen Xuan Quynh + - Toon Verwerft (veewee) + - jochenvdv + - kick-the-bucket + - fedor.f + - Simon DELICATA + - Geordie + - Michał Jusięga + - Niklas Keller + - Michał Marcin Brzuchalski (brzuchal) + - Ivan + - Alexandre Dupuy (satchette) + - Maximilian.Beckers + - Johann Saunier (prophet777) + - StefanoTarditi + - Simon Terrien (sterrien) + - Thomas Cochard (tcochard) + - Sebastian Krebs + - Laurent Bassin (lbassin) + - Koen Kuipers (koku) + - Andreas Erhard (andaris) + - Sébastien JEAN (sebastien76) + - Trevor North + - origaminal + - Matthieu Mota (matthieumota) + - Simon Heimberg (simon_heimberg) + - Quentin de Longraye (quentinus95) + - Adrien Lucas (adrienlucas) + - Dmytro Boiko (eagle) + - zenmate + - Baptiste Meyer (meyerbaptiste) + - mweimerskirch + - Michael Lutz + - andrey1s + - Robin van der Vleuten (robinvdvleuten) + - Patrick Dawkins (pjcdawkins) + - Anthony Tenneriello + - vladimir.panivko + - Matthieu Bontemps + - flip111 + - Bozhidar Hristov + - Richard van den Brand (ricbra) + - Sem Schidler (xvilo) + - Robert Gruendler (pulse00) + - Jordi Sala Morales (jsala) + - Takashi Kanemoto (ttskch) + - Tinjo Schöni + - Petar Obradović + - David ALLIX + - Daniel González (daniel.gonzalez) + - Aleksandr Volochnev (exelenz) + - Aurimas Niekis (gcds) + - Manuel Alejandro Paz Cetina + - Rootie + - Ilya Levin (ilyachase) + - alexandre.lassauge + - Balazs Csaba + - Andrew Berry + - Sherin Bloemendaal + - Chris Heng (gigablah) + - Michael Devery (mickadoo) + - Alexandre parent + - Valentin Nazarov + - Stefano Degenkamp (steef) + - Thiago Melo + - Jawira Portugal (jawira) + - Oliver Hader + - Natsuki Ikeguchi + - Simon Watiau (simonwatiau) + - Pavol Tuka + - Daniël Brekelmans (dbrekelmans) + - Josiah (josiah) + - Jan Walther (janwalther) + - Rimas Kudelis + - Benjamin Zikarsky (bzikarsky) + - Joschi Kuphal + - Pierrick VIGNAND (pierrick) + - Mark Sonnabaum + - umpirski + - Jan Kramer + - abdul malik ikhsan (samsonasik) + - Bill Hance (billhance) + - Carlos Buenosvinos (carlosbuenosvinos) + - Dustin Dobervich (dustin10) + - Jakub Kulhan (jakubkulhan) + - Mouad ZIANI (mouadziani) + - Kyle Evans (kevans91) + - arai + - Dominik Ulrich + - Simon (kosssi) + - Jesper Noordsij + - Martins Sipenko + - Daisuke Ohata + - Ayke Halder + - Ana Raro + - Benjamin Lebon + - Ian Jenkins (jenkoian) + - Vitaliy Zhuk (zhukv) + - marie + - Johnson Page (jwpage) + - Paweł Wacławczyk (pwc) + - Besnik Br + - Nikolai Mikhailov (sonnymilton) + - Roy de Vos Burchart + - Mickaël Isaert (misaert) - Evan Villemez - - Damon Jones (damon__jones) - - Matthew J Mucklo - - Kevin Frantz - - Ferenczi Krisztian (fchris82) - - Michael Genereux - - Adam Monsen (meonkeys) - - Phillip Look (plook) - - Dario Savella - - Oleksii Bulba - - Justin Reherman (jreherman) - - Roman Orlov - - Stéphane Seng (stephaneseng) - - Stas Soroka (stasyan) - - Stephen Clouse - - Martin Eckhardt - - sarah-eit - - Christian Morgan - - Tom Hart - - Arnaud CHASSEUX - - Dmytro Dzubenko - - Janusz Mocek - - Joas Schilling - - Tim van Densen - - Pathpat - - Andriy Prokopenko (sleepyboy) - - Kris Buist - - ReScO - - Denis Klementjev (dklementjev) - - Daan van Renterghem - - Dan Patrick (mdpatrick) - - Bikal Basnet - - Michael Tibben - - Stefan Kleff (stefanxl) - - Fabio Panaccione - - Zlatoslav Desyatnikov - - Damien Vauchel (damien_vauchel) - - Luis Ramón López López (lrlopez) - - Chris - - Ikhsan Agustian - - Sebastian Ionescu - - Artem Oliinyk (artemoliynyk) - - Martin Auswöger - - Mihai Nica (redecs) - - boite - - Alex Vasilchenko - - Steven Dubois - - Ramon Kleiss (akathos) - - Jacek Wilczyński (jacekwilczynski) - - cybernet (cybernet2u) - - Max Grigorian (maxakawizard) - - lerminou - - George Bateman - - DidierLmn - - David Joos (djoos) - - Arnau González - - Jovan Perovic (jperovic) - - Constantine Shtompel - - Ovidiu Gabriel Gireada (ovidiugireada) - - André Matthies - - Htun Htun Htet (ryanhhh91) - - Thorsten Hallwas - - Iain Cambridge - - Joe Springe - - Alex Carol (picard89) - - Nicolas Appriou - - Ikko Ashimine - - Cláudio Cesar - - Richard Čepas - - Penny Leach - - Antoine (antoinela_adveris) - - benatespina (benatespina) - - Carsten Nielsen (phreaknerd) - - iamvar - - Anthony Ferrara - - Marco Pfeiffer - - Aharon Perkel - - Ivan Tse - - Piotr Antosik (antek88) - - Benhssaein Youssef - - gechetspr - - Hadrien Cren (hcren) - - wusuopu - - Yiorgos Kalligeros - - Carlos Tasada - - Denis Kop - - Samuel Vogel (samuelvogel) - - moldcraft - - vlakoff - - Sebastian Drewer-Gutland (sdg) - - Yurun - - Victor Prudhomme - - Léon Gersen - - Ali Tavafi - - helmi - - Bruno Ziegler (sfcoder) - - Karl Shea - - Radoslaw Kowalewski - - Laurent Moreau - - AbdelatifAitBara - - Romain Geissler - - Jordi Rejas - - Josef Cech - - Evgeny (disparity) - - Michael J - - Oleg Krasavin (okwinza) - - Bastien Picharles - - Nicolas Attard (nicolasattard) - - Thomas Hanke - - Alessandro Tagliapietra (alex88) - - Mark Pedron (markpedron) - - Charly Terrier (charlypoppins) - - Sergei Shitikov - - Thanh Trần - - Ernest Hymel - - Franck Ranaivo-Harisoa - - Kristen Gilden - - Jeroen - - Karim Miladi - - Baptiste Leduc (bleduc) - - NIRAV MUKUNDBHAI PATEL (niravpatel919) - - Brandon Antonio Lorenzo - - Rainrider - - Yewhen Khoptynskyi (khoptynskyi) - - Chris de Kok - - Alexander McCullagh (mccullagh) - - Danil Khaliullin (bifidokk) - - Yohan Giarelli (frequence-web) - - Javier Espinosa (javespi) - - Artyum Petrov - - Diego Aguiar (mollokhan) - - Asrorbek (asrorbek) - - Patryk Kozłowski - - Andrew Clark (tqt_andrew_clark) - - Yoann Chocteau (kezaweb) - - simbera - - Tom Panier (neemzy) - - Markus Thielen - - Lajos Veres (vlajos) - - Thomason, James - - AmsTaFF (amstaff) - - jfcixmedia - - Adriaan Zonnenberg - - G.R.Dalenoort - - Gary Houbre (thegarious) - - Frédéric G. Marand (fgm) - - Gijs Kunze - - Konrad - - Aaron Scherer (aequasi) - - Gilles Doge (gido) - - Clément - - Paulius Jarmalavičius (pjarmalavicius) - - Ahmad Mayahi (ahmadmayahi) - - Mbechezi Nawo - - gauss - - jack.thomas (jackthomasatl) - - Storkeus - - shdev - - František Bereň - - Kirill Roskolii - - Daniel Kozák - - vltrof - - fduch (fduch) - - Michael Simonson (mikes) - - Abdiel Carrazana (abdielcs) - - Daniel González Zaballos (dem3trio) - - Jan Vernieuwe (vernija) - - jersoe - - Pierre Foresi (pforesi) - - Francois Martin - - Yannick - - Orestis - - Felipy Amorim (felipyamorim) - - Jordan Hoff - - gr1ev0us - - Tayfun Aydin - - Eric Caron - - Florian Caron (shalalalala) - - Edwin Hageman - - Jure (zamzung) - - Emmanuel Dreyfus - - Sam Anthony - - John Edmerson Pizarra - - dasmfm - - Juan Ases García (ases) - - David Stone - - misterx - - Ryan Rogers - - David Windell - - Thomas Boileau (tboileau) - - Ron Gähler (t-ronx) - - Tomasz (timitao) - - Dominic Luidold - - Amaury Leroux de Lens (amo__) - - Matthew Foster (mfoster) - - Mark Ogilvie - - mlpo (mlpo) - - Rodrigo Díez Villamuera (rodrigodiez) - - Anton Kroshilin - - Ole Rößner (basster) - - Dennis Jaschinski (d.jaschinski) - - alex - - Youpie - - wesign (inscrutable01) - - Wotre - - Thomas Bibaut - - darnel - - HellFirePvP - - Artyom Protaskin - - Andras Debreczeni - - Klaas Cuvelier (kcuvelier) - - Ariel J. Birnbaum - - Louis-Proffit - - Olivier Scherler (oscherler) - - Joseph Deray - - Muriel (metalmumu) - - Théo DELCEY - - patrick-mcdougle - - Peter Ward - - Adrien Chinour - - Andrew Brown - - Juan M Martínez - - Flavian Sierk - - Laurent Negre (raulnet) - - neghmurken - - guangwu - - Simon Frost - - michalmarcinkowski - - Michal Gebauer - - Drew Butler - - Shane Preece (shane) - - Marin Bînzari (spartakusmd) - - Nicolas Martin (cocorambo) - - Oleg Mifle - - maxime.perrimond - - alanzarli - - WaiSkats - - Blackfelix - - Tobias Rautenkranz - - Maxim Lovchikov - - orlovv - - Sagrario Meneses - - Christiaan Wiesenekker - - mwos - - Nil Borodulia - - BilgeXA - - Matthew (mattvick) - - Bhujagendra Ishaya - - Marcus Stöhr (dafish) - - Mert Simsek (mrtsmsk0) - - Ari Pringle (apringle) - - Karolis - - Dalibor Karlović - - Roberto Guido - - martkop26 - - Norbert Schultheisz - - Sylvain Lorinet - - SuRiKmAn - - Yann LUCAS (drixs6o9) - - Fabien D. (fabd) - - Nico Müller (nicomllr) - - Angel Fernando Quiroz Campos (angelfqc) - - Beth Binkovitz - - Charles Sanquer (csanquer) - - Jorge Vahldick (jvahldick) - - Per Modin - - Viet Pham - - czachor - - Lukas Naumann - - emilienbouard (neime) - - Frederik Schmitt - - Peter Dietrich (xosofox) - - Yendric - - bill moll - - Victoria Quirante Ruiz (victoria) - - Norman Soetbeer - - Patricia Wagner - - Maria Grazia Patteri - - Nguyen Tuan Minh (tuanminhgp) - - Asil Barkin Elik (asilelik) - - Guido Donnari - - Vladislav Rastrusny (fractalizer) - - Anne-Julia Seitz - - JakeFr - - Stephan Wentz (temp) - - phuc vo (phucwan) - - Alexandre Fiocre (demos77) - - Rafał Treffler - - David Zuelke - - Fabian Steiner (fabstei) - - Botond Dani (picur) - - Gonzalo Míguez - - Bruno Rodrigues de Araujo (brunosinister) - - abunch - - Toby Griffiths (tog) - - Marcin Nowak - - Hugo Sales - - alangvazq - - Milos Colakovic (project2481) - - Ettore Del Negro - - Gunther Konig - - Rémi Blaise - - Vaidas Lažauskas - - Max Summe - - Ramon Ornelas (ramonornela) - - Krzysztof Przybyszewski (kprzybyszewski) - - parinz1234 - - MARYNICH Mikhail (mmarynich-ext) - - AnotherSymfonyUser (arderyp) - - Gerard Berengue Llobera (bere) - - Daniele Orru' (danydev) - - Bart Brouwer (bartbrouwer) - - rchoquet - - Pascal Woerde (pascalwoerde) - - none (nelexa) - - Paul Seiffert (seiffert) - - Oxan van Leeuwen - - johnstevenson - - Anatol Belski - - gedrox - - Aleksandar Dimitrov (netbull) - - Tom Newby (tomnewbyau) - - boulei_n - - Paul Le Corre - - Mei Gwilym (meigwilym) - - Walter Doekes - - Vincent Chalamon - - Thomas Rothe - - Sven Scholz - - Yurguis Garcia (yurguis) - - Vincent AMSTOUTZ (vincent_amstz) - - Aurelijus Rožėnas - - Elías Fernández - - Tomáš Votruba - - patrickmaynard - - sez-open - - Benjamin Ellis - - Juraj Surman - - Andrea Giuliano (shark) - - Mikkel Paulson - - Rares Vlaseanu (raresvla) - - Javier - - Juan Mrad - - Dmytro Pigin (dotty) - - Viacheslav Sychov - - Guillaume LECERF - - Patrizio Bekerle - - François Poguet - - Evgeny Anisiforov - - Geoffrey Monte (numerogeek) - - Ioana Hazsda (ioana-hazsda) - - Patrick Berenschot - - Sergio Santoro - - Jelle Kapitein - - Lane Shukhov - - Viktor Novikov (nowiko) - - Will Rowe - - Dylan - - Vašek Purchart (vasek-purchart) - - Jonathan Hedstrom - - Steve Müller - - Johannes - - Ryan Linnit - - Marcel Berteler - - bokonet - - Alexandru Bucur - - Martin Komischke - - Jonny Schmid (schmidjon) - - Manuele Menozzi - - Yann (yann_eugone) - - Martin Mandl (m2mtech) - - robmro27 - - Mantas Urnieža - - Jenne van der Meer - - Mikko Pesari - - Clément LEFEBVRE (nemoneph) - - Jan Hort - - Tom Corrigan (tomcorrigan) - - Johannes - - Roland Franssen :) - - Eviljeks - - Andreas Streichardt - - Alexandru Năstase - - Tijs Verkoyen - - René Kerner - - Mateusz Żyła (plotkabytes) - - Valentin VALCIU - - 蝦米 - - Kai Eichinger - - Rudy Onfroy - - Nicolas Roudaire - - Oleg Golovakhin (doc_tr) - - AntoineDly - - Timothée BARRAY - - The Whole Life to Learn - - creiner - - Shamimul Alam - - Andrew Zhilin (zhil) - - Julien ARBEY - - Marin Nicolae - - Grégoire Rabasse - - Ian Phillips - - Petr Jaroš (petajaros) - - Yuriy Potemkin - - damaya - - Alan Scott - - Pierre Tondereau - - AbdElKader Bouadjadja - - Luke Towers - - László GÖRÖG - - Kevin Mian Kraiker - - Adiel Cristo (arcristo) - - Yura Uvarov (zim32) - - Steeve Titeca (stiteca) - - Jörg Rühl - - Icode4Food (icode4food) - - Tomas Liubinas - - kaiwa - - Roman Igoshin (masterro) - - Benjamin Rosenberger - - Manatsawin Hanmongkolchai - - Yannick - - Dave Heineman (dheineman) - - Pchol - - Luca Genuzio (genuzio) - - Rafael Tovar - - rhel-eo - - Jack Wright - - Andrey Ryaguzov - - Hein Zaw Htet™ - - Matt Brunt - - Pierre Geyer (ptheg) - - steveYeah - - Kurt Thiemann - - Wissame MEKHILEF - - Sjoerd Adema - - Nilmar Sanchez Muguercia - - Rikijs Murgs - - BrokenSourceCode - - CarolienBEER - - Bogdan - - Jeremy Benoist - - Javan Eskander - - sualko - - Muharrem Demirci (mdemirci) - - Rich Sage - - Kovacs Nicolas - - ElisDN - - Markkus Millend - - Buster Neece - - Thomas Decaux - - Martynas Narbutas - - Rosio (ben-rosio) - - Bert Ramakers - - Jan Eichhorn (exeu) - - Krzysztof Pyrkosz - - Stephen Lewis (tehanomalousone) - - Denys Voronin (hurricane) - - Tom Maguire - - Sylvain METAYER - - DaikiOnodera - - Raphael Davaillaud - - Maerlyn - - Martijn Evers - - Andy Raines - - Pieter - - Jan Christoph Beyer - - dbrekelmans - - Maxim Semkin - - Viktor Bajraktar (njutn95) - - Marcus - - Tomanhez - - Jontsa - - Robert Campbell - - dinitrol - - Konstantin Scheumann - - Wing - - Maxime THIRY - - Sorin Pop (sorinpop) - - Richard Trebichavský - - goohib - - SOEDJEDE Felix (fsoedjede) - - Christopher Georg (sky-chris) - - peter - - Jérémy CROMBEZ (jeremy) - - Vladimir Sazhin - - Quentin Favrie - - Giorgio Premi - - Agustin Gomes - - Wouter Diesveld - - Marek Víger (freezy) - - Laurent Clouet - - RichardGuilland - - Floran Brutel (notFloran) (floran) - - Evgeny Z (meze) - - Ismail Asci (ismailasci) - - Rachid Hammaoui (makmaoui) - - Quique Porta (quiqueporta) - - Shude - - Julien Pauli - - Sebastian Utz - - Attila Bukor (r1pp3rj4ck) - - Conrad Kleinespel (conradk) - - Ariful Alam - - Brian Debuire - - Pierre LEJEUNE (darkanakin41) - - taiiiraaa - - Grégoire Hébert (gregoirehebert) - - Mas Iting - - Greg Szczotka (greg606) - - Emmanuelpcg - - Gaylord Poillon (gaylord_p) - - david perez (davidpv) - - Christian Rishøj - - Yannick Warnier (ywarnier) - - Pablo Maria Martelletti (pmartelletti) - - rkerner - - Jan Emrich - - Ronny López (ronnylt) - - Mephistofeles - - William Pinaud (docfx) - - Georg Ringer (georgringer) - - Vasily Khayrulin (sirian) - - wivaku - - Lauris Binde (laurisb) - - Marcos Labad - - andreybolonin1989@gmail.com - - Adam Prickett - - Makdessi Alex - - Dmitry Korotovsky - - Volodymyr Kupriienko (greeflas) - - Pierre-Chanel Gauthier (kmecnin) - - Oscar Esteve (oesteve) - - Andreas Allacher - - Jeroen Bouwmans - - Staormin - - Andreas Allacher - - Sergiy Sokolenko - - Jules Lamur - - avi123 - - Helmer Aaviksoo - - ondrowan - - Ben Johnson - - jwaguet - - Michael van Tricht - - Masao Maeda (brtriver) - - Jeroen De Dauw (jeroendedauw) - - WoutervanderLoop.nl - - Gennadi Janzen - - Sobhan Sharifi (50bhan) - - Sander van der Vlugt (stranding) - - ZiYao54 - - Matthew Donadio - - Konstantin Bogomolov - - ttomor - - Nicolas Jourdan (nicolasjc) - - Dariusz Ruminski - - Dariusz Czech - - Charles-Henri Bruyand - - Luis Galeas - - Mihai Stancu - - Jānis Lukss - - Guillaume BRETOU (guiguiboy) - - Ash014 - - Rafał Toboła - - Adamo Crespi (aerendir) - - Paul Matthews - - Boris Medvedev - - Timon van der Vorm - - Victor - - EdgarPE - - Success Go - - Prasetyo Wicaksono (jowy) - - Boris Grishenko (arczinosek) - - Felix Eymonot (hyanda) - - Boris Betzholz - - Ramon Cuñat - - TheMhv - - Lukas Kaltenbach - - Jon Cave - - Gerry Vandermaesen (gerryvdm) - - Haritz Iturbe (hizai) - - Tammy D - - GuillaumeVerdon - - Robin Kanters (anddarerobin) - - RTUnreal - - Kevin Verschaeve (keversc) - - dlorek - - j.schmitt - - Alain Flaus (halundra) - - Toro Hill - - Tim Porter - - Steve Marvell - - Peter Culka - - Pavel Golovin (pgolovin) - - kernig - - Claus Due (namelesscoder) - - Adrien Gallou (agallou) - - Vincent Godé - - Alex Vo (votanlean) - - vladyslavstartsev - - Chihiro Adachi (chihiro-adachi) - - Antonio Peric-Mazar (antonioperic) - - Mathieu Morlon (glutamatt) - - Jared Farrish - - Adam Bramley - - Pedro Magalhães (pmmaga) - - Maxime PINEAU - - Rik van der Heijden - - Joan Cruz - - Jochen Mandl - - Soner Sayakci - - Dennis Tobar - - Philipp Strube - - nietonfir - - Nouhail AL FIDI (alfidi) - - Emmanuel Vella (emmanuel.vella) - - Kirk Madera - - Citia (citia) - - Dan Harper - - mindaugasvcs - - Alexandre Melard - - AlbinoDrought - - Hoffmann András - - George Dietrich - - Yury (daffox) - - smokeybear87 - - Artem Kolesnikov (tyomo4ka) - - John Doe (theboat) - - Gabriel Solomon (gabrielsolomon) - - Maciej Paprocki (maciekpaprocki) - - Taylan Kasap - - David Brooks - - Bruno MATEU - - Ondřej Mirtes (mirtes) - - Maxwell Vandervelde - - Helmut Hummel (helhum) - - tpetry - - Angel Koilov (po_taka) - - inspiran - - Bálint Szekeres - - Benoit Leveque - - Irmantas Šiupšinskas (irmantas) - - Thomas Ferney (thomasf) - - toxxxa - - Jean Ragouin - - Jörn Lang - - Ruben Kruiswijk - - Ilya Bulakh - - 🦅KoNekoD - - Markus Reinhold - - Nerijus Arlauskas (nercury) - - djama - - Artem Lopata - - Jeremy Bush - - Marvin Petker - - adhamiamirhossein - - Adria Lopez (adlpz) - - Josef Hlavatý - - Thomas Citharel (tcit) - - Nicolas ASSING (nicolasassing) - - Kamil Madejski (kmadejski) - - Vedran Mihočinec (v-m-i) - - MrNicodemuz - - Dmitriy Derepko - - Billy Scheufler - - Gunnar Lium (gunnarlium) - - Steve Hyde - - excelwebzone - - andreyserdjuk - - neodevcode - - Dmitrii Fedorenko (dmifedorenko) - - Brian Corrigan - - Bernat Llibre Martín (bernatllibre) - - ConneXNL - - Jules Matsounga (hyoa) - - Nick Chiu - - Andriy - - Benjamin BOUDIER - - Benjamin Paap (benjaminpaap) - - tatankat - - Matej Žilák (teo_sk) - - Simon Paarlberg (blamh) - - Stewart Malik - - AnrDaemon - - Brieuc Thomas - - André Laugks - - Stefan Koopmanschap - - Bastien Clément (bastienclement) - - Phil Davis - - developer-av - - Daniel Kolvik (dkvk) - - Evgeny Efimov (edefimov) - - Jiri Falis - - Evgeniy Tetenchuk - - demeritcowboy - - fmarchalemisys - - Bram Van der Sype (brammm) - - mikocevar - - Matthieu - - Benoit Lévêque (benoit_leveque) - - zolikonta - - Andoni Larzabal (andonilarz) - - J Bruni - - Nathanaël Martel (nathanaelmartel) - - Alexis MARQUIS - - Tarjei Huse (symfony_cloud) - - Andrey Helldar - - Jonas Claes - - Waqas Ahmed - - drublic - - Miloš Milutinović - - Roromix - - Götz Gottwald - - Billie Thompson - - Gavin (gavin-markup) - - sabruss - - Sami Mussbach - - Roy-Orbison - - dakur - - Jiri Korenek - - Vladimir Sadicov (xtech) - - Christophe Meneses (c77men) - - Antoine Leblanc - - Daniel Iwaniec - - Zoran Makrevski (zmakrevski) - - Guillermo Gisinger (t3chn0r) - - sauliusnord - - Oleksii Svitiashchuk - - fbuchlak - - V1nicius00 - - koyolgecen - - Aaron Piotrowski (trowski) - - Pierre Rebeilleau (pierrereb) - - Wahyu Kristianto (kristories) - - Ladislav Tánczos - - Aaron Somi - - Alexandre Segura - - Şəhriyar İmanov (shehriyari) - - Damian Sromek - - Danijel Obradović - - Wojciech Sznapka - - Jan Marek (janmarek) - - Benoit Garret - - Geoffrey Pécro (gpekz) - - Erwan Nader (ernadoo) - - chispita - - Curtis (ccorliss) - - Arend Hummeling - - Siragusa (asiragusa) - - Chris Jones (leek) - - Bartłomiej Zając - - Danil - - Christian Kolb - - Houssem - - Vitali Tsyrkin - - Uladzimir Tsykun - - Oleg Sedinkin (akeylimepie) - - Eric Krona - - Saif Eddin G - - Bart Wach - - Thomas Bibb - - SenTisso - - Constantine Shtompel - - Martin Schophaus (m_schophaus_adcada) - - ivelin vasilev - - Pierre Rineau - - Neil Katin - - Marcos Quesada (marcos_quesada) - - Ener-Getick - - Kai Eichinger - - Bailey Parker - - Mahmoud Mostafa (mahmoud) - - Tony Vermeiren (tony) - - Artem (nexim) - - Faton (notaf) - - Dilek Erkut - - Asrorbek Sultanov - - Péter Buri (burci) - - omerida - - Vladislav Nikolayev (luxemate) - - Chansig - - Léo VINCENT - - Aleksandr Dankovtsev - - Valérian Lepeule (vlepeule) - - Alexey Berezuev - - Ema Panz - - David Wolter (davewww) - - Alejandro Diaz Torres - - Ulrik Nielsen (mrbase) - - Axel Venet - - Marcello Mönkemeyer (marcello-moenkemeyer) - - aim8604 - - Nicolas Séverin - - Maxime Aknin (3m1x4m) - - omniError - - Safonov Nikita (ns3777k) - - Jan Vernarsky - - Nicolás Alonso - - Liverbool (liverbool) - - Aleksejs Kovalovs (aleksejs1) - - Robert Queck - - samuel laulhau (lalop) - - Fleuv - - Florent Olivaud - - Steve Preston - - Fred Cox - - Artem (digi) - - Ian Littman (iansltx) - - Lorenzo Adinolfi (loru88) - - Henne Van Och (hennevo) - - Alex Demchenko - - Pawel Szczepanek (pauluz) - - Kévin - - Stuart Fyfe - - Serhii Polishchuk (spolischook) - - Marco - - mlievertz - - Wim Hendrikx - - Bert Hekman - - Arrakis (arrakis) - - xdavidwu - - brian978 - - Kevin EMO - - NothingWeAre - - Oliver Eglseder - - David Ronchaud - - Tristan Pouliquen - - ergiegonzaga - - Adam Klvač - - Jeroen de Graaf - - Ksaveras Šakys (xawiers) - - Skorney - - Maciej Zgadzaj - - Jay Severson - - Sebastian Schwarz - - Simon Ackermann - - pizzaminded - - Antoine Beyet - - InbarAbraham - - Ismail Özgün Turan (dadeather) - - Jonathan Poston - - Andrea Sprega (asprega) - - sam-bee - - Thomas Counsell - - César Suárez (csuarez) - - Cyril HERRERA - - Dan Brown - - Flohw - - Mauro Foti (skler) - - LHommet Nicolas (nicolaslh) - - Xavier HAUSHERR - - Antoine Bellion (abellion) - - Raphaëll Roussel - - vdauchy - - Miłosz Guglas (miloszowi) - - Peter Bex - - Foxprodev - - Fraller Balázs (fracsi) - - Linas Ramanauskas - - Arend Hummeling - - Julia - - Greg Korba - - Shaun Simmons - - Alexander Janssen (tnajanssen) - - dsech - - Kevin Weber - - Dan Finnie - - Joe - - Marko Vušak - - Artiom - - sal-car - - Markus Staab - - jack.shpartko - - Martijn Boers (plebian) - - Yohann Tilotti - - nuncanada - - Anna Filina (afilina) - - Andrei Igna - - Richard Heine - - Florent Cailhol - - Aryel Tupinamba (dfkimera) - - Christoph Vincent Schaefer (cvschaefer) - - Nathaniel Catchpole - - tamirvs - - Pavel Starosek (octisher) - - Ahmed Abdulrahman - - znerol - - Jeremy David (jeremy.david) - - adam-mospan - - Vincent Chalnot - - klemens - - Michael Hüneburg - - Cedric Kastner (nurtext) - - Aurélien MARTIN - - Romain Pierre - - insekticid - - alexpods - - cgonzalez - - Aleksei Lebedev - - Wouter de Wild - - Anton (bonio) - - Guillaume Smolders (guillaumesmo) - - Daniel Bartoníček - - Yannick Bensacq (cibou) - - Jan Dobrovodský (j-dobr) - - voodooism - - Matěj Humpál - - matze - - martijn - - Pontus Mårdnäs - - Victor Macko (victor_m) - - Plamen Mishev (pmishev) - - Simon Mönch - - Colin Michoudet - - Sezil - - Simon Sargeant - - Igor Tarasov (polosatus) - - heccjj - - Nico Hiort af Ornäs - - Bogdan Scordaliu - - Arkadiusz Kondas (itcraftsmanpl) - - Ondřej Führer - - g123456789l - - Zayan Goripov - - Stelian Mocanita (stelian) - - Joris Garonian (grifx) - - mmokhi - - Boullé William (williamboulle) - - cilefen (cilefen) - - alefranz - - VojtaB - - Alexandre GESLIN - - Tomas Kmieliauskas - - Romain Jacquart (romainjacquart) - - Benjamin Bender - - Michał Strzelecki - - yoye - - Mark Topper - - Jeffrey Moelands (jeffreymoelands) - - Albert Bakker (babbert) - - Bruno Baguette - - Christian Schiffler - - Michael Thieulin - - dargor980 - - Marvin Bölsterli (marvinb) - - Stan Jansen (stanjan) - - Alexander Varwijk - - Daniel Konstantinov - - seho-nl - - SALMERON Valentin (vasal) - - Albert (aprat84) - - Vladimir Belozyorov - - Shane McKinley - - calm329 - - adars - - Ambroise Maupate - - Merijn Wijngaard - - Fernando Henrique - - Martins (kevin_martins) - - Sait KURT - - Alexey Deriyenko - - Paul Clegg (clegginabox) - - Arvids Godjuks (psihius) - - Dennis Smink (dsmink) - - benkarrer-lab - - Marcus Jaschen - - ged15 - - Lachlan Arthur - - Laurent Legaz - - Mickaël BULIARD - - Severin Glöckle - - SanderSander - - Vincent Pabst - - MGatner - - Matthias Perret (mp3000mp) - - Laurent Bardin - - Tony Arcangelini - - Olivier Laviale (olvlvl) - - Dmitry Hordinky - - Talel Zighni - - Kantin CHARIGNON - - Rutger Hertogh - - Stakovicz - - NorthBlue333 - - mrossard - - Benjamin Pick - - Adrien Foulon - - JustDylan23 - - Jannik Zschiesche - - Maxim Kolokolnikov - - Alexey Vlasov - - Andreas Heigl (heiglandreas) - - Sylvain Dherbecourt - - Jean de La Bédoyère - - Ilya Vertakov - - Vikram Vaswani - - Lucas Bustamante - - Claude - - Peter Gnodde - - Pablo Eliezer - - Axel Venet - - devman1917 - - Jean-François Morin-Abdullah - - Guillaume Royer - - Peter van Dommelen - - Philippe Pichet - - Patrick Kaufmann - - Maxcastel - - Nathanael d. Noblet - - Martin Komischke - - Fabien Perroquin - - Jordi Kroon - - Marcin Twardowski - - Vitalii - - Muhammad Elhwawshy - - Audain - - Alexis MARQUIS - - Alfonso Fernández García - - shreyadenny - - Karim - - Dominik Schwind (dominikschwind) - - Daniel Bannert - - Sajad Torkamani - - Nicolae Serban - - darkweak - - Illia Sakovich - - Hayk Zakaryan - - Maksym Romanowski (maxromanovsky) - - Anna Damm - - Rudolf Ratusiński - - Simon Jamain - - Ángel Guzmán Maeso (shakaran) - - botbotbot - - cmfcmf - - stefan.r - - Mati Kochen (mtk) - - Mlanawo MBECHEZI - - Belhassen - - urban - - Norman Soetbeer - - Brad Bayliss - - Eduardo Rocha - - Christian Seel - - Romeo - - elattariyassine - - Marcin Kruk - - Patrick Daley (padrig) - - Sylvain Fabre (sylvain-fabre-assoconnect) - - Ninos - - Guilain (guilain_sylapps) - - Uwe Kleinmann - - Monere - - Jelte Steijaert (jelte) - - Mdsujansarkar - - tante kinast (tante) - - Benoit Mallo - - Jeremiah VALERIE - - kshida - - Frank Dekker - - 2manypeople - - Matthieu Prat - - root - - Kubicki Kamil (kubik) - - Thomas Ploch - - Pierre Sv (rrr63) - - Jm Aribau (jmaribau) - - Jonathan (grafikart) - - Zoli Szabó (zoliszabo) - - Steve Müller - - Malte Wunsch (maltewunsch) - - Patrick Janzen - - G/ - - Pierre Schmitz - - Gennadi McKelvey (gennadigennadigennadi) - - Raito Akehanareru (raito) - - phc - - Ivan Yivoff - - Timothy Anido (xanido) - - Raphaël Davaillaud - - Till Krüss - - Alberto Aldegheri - - Michel Krenz - - Marcus Stöhr - - Damir Mitrović - - error56 - - Armando - - Kélian Bousquet (kells) - - Vicky Hagemeister - - dantleech - - tilaven - - Igor Timoshenko (igor.timoshenko) - - Grayson Koonce - - Ciaran McNulty (ciaranmcnulty) - - alireza - - Florian Heller - - Michael Dawart (mdawart) - - Tomáš Ludvik - - Thibaut Cholley - - Dušan Kasan (dudo1904) - - Alexander Kurilo (kamazee) - - Jorge P. Hernandez Lalcebo - - Mark van Duijker - - Petar Marjanovic - - M.Mahdi Mahmoodian - - Urban Suppiger - - Tugba Celebioglu - - Marion Hurteau (marionleherisson) - - aetxebeste - - Erwin Houtsma - - Bernhard Rusch - - Quentin Moreau (sheitak) - - Orban Florin (forban) - - Wojciech Błoszyk (wbloszyk) - - alifanau - - Samy Mahmoudi - - Falco Nogatz - - Ali Sol - - Bogdan Rancichi (devck) - - Lance Chen - - Richard Quadling - - Dominic Tubach - - jamogon - - Ellie Schaffer - - Robert Meijers - - PatrickRedStar - - Bertalan Attila - - Tim Ward - - Markus Staab - - Klaus Purer - - Matthias Derer - - Wickex - - Jitendra Adhikari (adhocore) - - Alex Rothberg - - Ser5 - - Goran Juric - - Sergii Dolgushev (sergii-swds) - - Chris Tiearney - - xammmue - - jim - - Nikita Popov (nikic) - - Florian Pondepeyre - - Adrian Brajkovic - - Andrii Serdiuk (andreyserdjuk) - - allison guilhem - - Andrei Mateescu - - Patrick Carlo-Hickman - - ibasaw - - Vladimir Chernyshev (volch) - - Soha Jin - - Gusakov Nikita (hell0w0rd) - - Paweł Stasicki - - dima-gr - - Philipp Hoffmann (philipphoffmann) - - Jérôme Nadaud (jnadaud) - - Nicolas Valverde - - Peter van Dommelen - - Till Hörner - - Dmitrii Lozhkin - - Matteo Galli - - alekLexis - - Wang Jingyu - - Bart Reunes (metalarend) - - Mario Blažek (marioblazek) - - Evrard Boulou - - thecaliskan - - Jaymin G - - Tom Kaminski - - Ivan Tse - - Lars Ambrosius Wallenborn (larsborn) - - Florian "Ori" Neveu (fnev-eu) - - Peter Zwosta - - Hugo Posnic - - Serhii Bondarenko - - Ilia Sergunin (maranqz) - - Yoann MOROCUTTI - - Xavier Amado (xamado) - - Joachim Krempel (jkrempel) - - david-binda - - gndk - - Koray Zorluoglu - - Rémy LESCALLIER - - Fabian Haase - - ju1ius - - Nicolas Eeckeloo (neeckeloo) - - Ruud Arentsen - - Àlex Fiestas - - stollr - - Igor Kokhlov (verdet) - - Thomas Baccelli (atomiix) - - Malcolm Fell (emarref) - - MGDSoft - - Kamil Piwowarski (cyklista) - - Máximo Cuadros (mcuadros) - - Gregório Bonfante Borba (bonfante) - - Dmitry Simushev - - gstapinato - - Reda DAOUDI - - Frank Jogeleit - - Paul Andrieux - - Aaron Stephens (astephens) - - ureimers - - Kevin Auivinet - - Benedict Massolle (bemas) - - Andreas Hasenack - - Mohammad Eftekhari (bluemmb) - - Christoforos Ntafos - - Valentin PONS (valx76) - - abluchet - - Ruud Seberechts - - Kevin Meijer - - Matthew Covey - - David Barratt - - otsch - - Phobetor - - Damian (baum) - - Adrian - - Zan Baldwin (zanderbaldwin) - - Jairo Pastor - - Andreas Kleemann (andesk) - - Alexandre Pavy - - Mehrdad - - Alan ZARLI - - tsilefy - - Szymon Tarasiński - - Joshua Behrens (joshuabehrens) - - Rini Misini - - henderkes - - Julien Boudry - - Aleksey Prilipko - - James Sansbury - - Taylor Otwell - - Miguel Vieira - - Willem Verspyck - - Jason Stephens - - Wojciech Skorodecki - - Samy D (dinduks) - - RAHUL K JHA - - Sven Fabricius - - Renan Taranto (renan-taranto) - - CDR - - Andy Stanberry - - Your Name - - Jordi Llonch (jordillonch) - - Choong Wei Tjeng (choonge) - - Jody Mickey (jwmickey) - - Daniel Basten (axhm3a) - - victor-prdh - - Radosław Benkel - - qzylalala - - Zdeněk Drahoš - - downace - - Mara Blaga - - Jason Schilling (chapterjason) - - Ahmed Soliman (ahmedsoliman) - - sdkawata - - Julius Kiekbusch - - Alex Olmos (alexolmos) - - Sjoerd Nuijten (sjoerdnuijten) - - Shrey Puranik - - karstennilsen - - Ismo Vuorinen - - Andrew Coulton - - Ben Oman - - Philippe Degeeter (pdegeeter) - - Seyedramin Banihashemi (ramin) - - Daniel Mecke (daniel_mecke) - - Mehdi Mabrouk (mehdidev) - - Mo Di (modi) - - Mark Spink - - Dawid Nowak - - Alan Chen - - Rick Prent - - Tristan Bessoussa (sf_tristanb) - - Paul Ferrett - - Daniel Rotter (danrot) - - Thomas Chmielowiec (chmielot) - - Anton Babenko (antonbabenko) - - Alexandr Samuilov - - Keri Henare (kerihenare) - - Matthias Neid - - Andrea Giannantonio - - Tyler Stroud - - fabios - - Taras Hinyk - - mshavliuk - - Alexander Bauer (abauer) - - Evert Jan Hakvoort - - Elias Häußler - - Randel Palu - - pthompson - - Benjamin Long - - Stephen - - Giorgio Premi - - Schvoy Norbert (schvoy) - - Misha Klomp (mishaklomp) - - Malte Schlüter - - Szymon Kamiński (szk) - - Ondřej Frei - - Gabriel Birke - - Anton Dyshkant - - Thomas Chmielowiec - - Maarten Nusteling (nusje2000) - - Ivo Valchev - - Dmitry Danilson - - enekochan (enekochan) - - Pierre Tachoire - - Simone Di Maulo (toretto460) - - Arash Tabrizian (ghost098) - - Yoann MOROCUTTI - - Tomáš Polívka (draczris) - - David Négrier (moufmouf) - - Fabrice Locher - - Juliano Petronetto - - Tobias Anders - - Nardberjean - - Valentin - - Antonio Torres - - Florian Bogey - - Sortex - - Ionut Cioflan - - izenin - - Christoph Krapp - - kurozumi (kurozumi) - - Bert ter Heide (bertterheide) - - Ph3nol - - John VanDeWeghe - - Nacho Martin (nacmartin) - - Gerhard Seidel (gseidel) - - Eduard Bulava (nonanerz) - - Saem Ghani - - Martynas Sudintas (martiis) - - Wouter Sioen (wouter_sioen) - - Romeo - - Guillaume Gammelin - - David Stone - - Carl Julian Sauter - - gondo (gondo) - - dogedede - - Thomas Dubuffet (thomasdubuffet) - - Simone Ruggieri - - Luis Ramirez (luisdeimos) - - Gerrit Drost - - Ibrahim Bougaoua - - natechicago - - amcastror - - Francesco Panina (dasas87) - - Marcel Pociot (mpociot) - - Nikita Starshinov (biji) - - Dan Kadera - - Bermon Clément (chou666) - - Malaney J. Hill - - ffd000 - - Gemorroj (gemorroj) - - Flavien Knuchel (knuch) - - Starfox64 - - dmitrijivanenko - - Matt Farmer - - Ivo Valchev - - Ondřej Frei - - Marek Binkowski - - Michaël Marinetti - - db306 - - Thijs Reijgersberg - - adenkejawen - - Gilles Gauthier - - Simon Asika - - Felicitus - - Volker Killesreiter (ol0lll) - - Benjamin Franzke - - Simon / Yami - - Peter Mead (petermead) - - Lin Clark - - Michael Lively (mlivelyjr) - - Adam Elsodaney (archfizz) - - Abudarham Yuval - - Robin Duval (robin-duval) - - Ilya Biryukov (ibiryukov) - - Michaël VEROUX - - Andrew Carter (andrewcarteruk) - - Schuyler Jager (sjager) - - Peter Thompson (petert82) - - Thomas Beaujean - - Jeffrey Cafferata (jcidnl) - - Tischoi - - Goran (gog) - - David Szkiba - - Elias Teutschländer - - Kai Dederichs - - Chris Shennan (chrisshennan) - - Derek Stephen McLean - - Alexandre Jardin (alexandre.jardin) - - Maximilian Berghoff (electricmaxxx) - - Ben Miller - - Nico Hiort af Ornäs - - Jos Elstgeest - - sebastian - - Max Voloshin (maxvoloshin) - - azine - - Marc - - James Michael DuPont - - Olexandr Kalaidzhy - - Charles-Édouard Coste - - Roman Tyshyk - - Illia Antypenko (aivus) - - Nicolas Le Goff (nlegoff) - - Johannes Müller (johmue) - - Anton Zagorskii - - abulford - - Thierry Marianne - - Valouleloup - - Michal Čihař - - Rares Sebastian Moldovan (raresmldvn) - - Daniel Tschinder - - Andreas - - Mohammad Ali Sarbanha (sarbanha) - - Ulrik McArdle - - markusu49 - - Piotr Zajac - - Sema - - MiBo - - Łukasz Giza (destroyer) - - Kirill Nesmeyanov (serafim) - - Valmont Pehaut-Pietri (valmonzo) - - Dionysis Arvanitis - - SnakePin - - czachor - - Florian Pondepeyre - - gazi04 - - Vlad Gapanovich (gapik) - - Tomaz Ahlin - - michael.kubovic - - Tristan Kretzer - - jc - - timesince - - nerdgod - - Oleh Korneliuk - - Pierre Dudoret - - Andrei O - - cthulhu - - marbul - - Andreas Forsblom (aforsblo) - - Alexander Cheprasov - - Christian Wahler (christian) - - David Lima - - Tobias Speicher - - Loenix - - Mostafa - - Tadas Gliaubicas (tadcka) - - Dmytro Liashko - - Gautier Deuette - - Nicolas Tallefourtané (nicolab) - - satalaondrej - - riadh26 - - Sergey Stavichenko (sergey_stavichenko) - - Sebastian Busch (sebu) - - George Yiannoulopoulos - - Pitchaya Boonsarngsuk - - Knallcharge - - Silvio Ginter - - Gerben Wijnja - - Hubert Moreau (hmoreau) - - Michael Nelson - - Michael Zangerle - - Jakub Chábek - - Arne Groskurth - - Nicolas Bondoux (nsbx) - - Adoni Pavlakis (adoni) - - Victor Truhanovich (victor_truhanovich) - - Tadcka - - Sam Williams - - Matt Ketmo (mattketmo) - - Giuseppe Campanelli - - kwiateusz - - Nicolas Lemoine - - scourgen hung (scourgen) - - Robert Worgul - - xaav - - ncou - - Pierre-Henry Soria 🌴 (pierrehenry) - - Pavel Prischepa - - Cosmin-Romeo TANASE - - casdal - - jannick-holm - - Helmut Januschka - - George Sparrow - - Jessica F Martinez - - Guillem Fondin (guillemfondin) - - Michael Schneider - - Dan (dantleech) - - Alexis Lefebvre - - Oz (import) - - Alexandru Patranescu - - Abdulkadir N. A. - - Carsten Eilers (fnc) - - afaricamp - - Osayawe Ogbemudia Terry (terdia) - - Agata - - Eugene Babushkin (warl) - - Alexis - - Noel Light-Hilary - - Ramazan APAYDIN (rapaydin) - - tirnanog06 - - tarlepp - - Daniel Londero (dlondero) - - Nicolas Badey (nico-b) - - Peter Jaap Blaakmeer - - Marc Bennewitz - - Konrad Mohrfeldt - - changmin.keum - - Tobias Genberg (lorceroth) - - Edvinas Klovas - - Benjamin Dos Santos - - Vladislav (simpson) - - Steffen Persch (n3o77) - - ADmad - - Michael Telgmann - - Kévin Gonella - - Michael Steininger - - timaschew - - Amine Yakoubi - - Ferran Vidal - - Ignacio Alveal - - Signor Pedro - - Oncle Tom - - Iliya Miroslavov Iliev (i.miroslavov) - - MusikAnimal - - André Filipe Gonçalves Neves (seven) - - Julien Moulin (lizjulien) - - Ken Marfilla (marfillaster) - - ChS - - Siebe Vanden Eynden - - Hans N. Hjort - - Dan Ionut Dumitriu (danionut90) - - pawel-lewtak - - Frank Neff (fneff) - - EXT - THERAGE Kevin - - Markus - - George Giannoulopoulos - - GagnarTest (gagnartest) - - Daniil Gentili - - Julien Bianchi (jubianchi) - - André Laugks - - Emre Akinci (emre) - - Alexey Popkov - - Bram Tweedegolf (bram_tweedegolf) - - dantleech - - pritasil - - Jakub Janata (janatjak) - - Jakub Sacha - - Sander Marechal - - Xavier RENAUDIN - - Kim Laï Trinh - - Alex Nostadt - - Kévin Gomez (kevin) - - Luis Muñoz - - Dawid Sajdak - - A. Pauly - - David Otton - - Matt Drollette (mdrollette) - - mousezheng - - Vladimir Vasilev (bobahvas) - - Jan Vernarsky - - Mynyx - - Sergey Fedotov - - AlberT - - Babichev Maxim (rez1dent3) - - Andreas Frömer - - Mikko Ala-Fossi - - shreypuranik - - Michal Kurzeja (mkurzeja) - - František Maša - - Javier Núñez Berrocoso (javiernuber) - - Reece Fowell (reecefowell) - - Camille Dejoye (cdejoye) - - Peter Potrowl - - Rafał Muszyński (rafmus90) - - Filippos Karailanidis - - Markus Ramšak - - Junaid Farooq (junaidfarooq) - - Ryan Rud - - Guile (guile) - - Maxime AILLOUD (mailloud) - - John Nickell (jrnickell) - - Valentin Barbu (jimie) - - andrey-tech - - Radosław Kowalewski - - Romain Dorgueil - - Marien Fressinaud - - Walter Dal Mut (wdalmut) - - pf - - tomasz-kusy - - Samael tomas - - Cas - - Thibaut Arnoud (thibautarnoud) - - Gavin Staniforth - - Matt Lehner - - Raul Garcia Canet (juagarc4) - - adnen chouibi - - Kevin Jansen - - Matthias Meyer - - Joel Lusavuvu (enigma97) - - Vincent Vermeulen - - Hallison Boaventura (hallisonboaventura) - - Ala Eddine Khefifi (nayzo) - - Cas van Dongen - - Vladimir Pakhomchik - - Paul LE CORRE - - Bradley Zeggelaar - - Jakub Kisielewski - - fabi - - Mikhail Prosalov (mprosalov) - - Mikkel Paulson - - Lucas Matte - - Johan Wilfer (johanwilfer) - - Vladislav Vlastovskiy (vlastv) - - Omar Yepez (oyepez003) - - Jean-Christophe Cuvelier [Artack] - - AUDUL - - Thomas Dutrion (theocrite) - - Marc J. Schmidt (marcjs) - - jdcook - - Mohamed Karnichi (amiral) - - caalholm - - popnikos - - PabloKowalczyk - - Brandon Kelly (brandonkelly) - - VolCh - - Sébastien HOUZE - - ghazy ben ahmed - - Marek Šimeček (mssimi) - - Temuri Takalandze (abgeo) - - Gabi Udrescu - - Sander Goossens (sandergo90) - - David Soms - - Pete Mitchell (peterjmit) - - Philipp Fritsche - - djordy - - Albert Prat - - Johannes Goslar - - Cedric BERTOLINI (alsciende) - - Dominik Piekarski (dompie) - - nuryagdy mustapayev (nueron) - - Łukasz Chruściel (lchrusciel) - - kaywalker - - Philipp Kretzschmar - - Gerard - - Adam Katz - - Benny Born - - Joeri Verdeyen (jverdeyen) - - Laurent G. (laurentg) - - Michel Bardelmeijer - - fruty - - lol768 - - Alexander Menk - - Antonio Angelino - - Nick Stemerdink - - baron (bastien) - - Eric J. Duran - - Tero Alén (tero) - - Abdouni Karim (abdounikarim) - - Grzegorz Łukaszewicz (newicz) - - Gyula Szucs - - Trevor N. Suarez (rican7) - - Julien Menth (cfjulien) - - Billie Thompson - - Hryhorii Hrebiniuk - - Dan Blows - - Haikiri - - Christian Weiske - - Claudiu Cristea - - Balázs Benyó (duplabe) - - Abdouarrahmane FOUAD (fabdouarrahmane) - - Sebastian Landwehr (dword123) - - Fabian Kropfhamer (fabiank) - - Ashura - - Mathieu Ledru (matyo91) - - Valérian Galliat - - Dario Guarracino - - Ralf Kühnel (ralfkuehnel) - - Berat Doğan - - Ricardo de Vries (ricardodevries) - - Rafael Villa Verde - - dropfen - - Marcin Chwedziak + - Korvin Szanto + - Ivan Kurnosov + - Oriol Viñals + - Jiri Barous + - Kevin SCHNEKENBURGER + - Thibaut THOUEMENT (thibaut_thouement) + - Thijs-jan Veldhuizen (tjveldhuizen) + - Grinbergs Reinis (shima5) + - stoccc + - Hossein Hosni + - Dennis Væversted (srnzitcom) + - Ian Irlen + - Alexander Kim + - Adrian Günter (adrianguenter) + - Tamás Nagy (t-bond) + - James Michael DuPont + - Seb Koelen + - RJ Garcia + - ywisax + - Oleg Zinchenko (cystbear) + - Mario Ramundo (rammar) + - Lorenzo Millucci (lmillucci) + - Neil Ferreira + - skmedix (skmedix) + - Florent Viel (luxifer) + - Simon Schick (simonsimcity) + - Arun Philip + - Mikhail Yurasov (mym) + - Peter Potrowl + - Åsmund Garfors + - Morten Wulff (wulff) + - Jean Pasdeloup - Gert de Pagter - - Thibault G - - Povilas S. (povilas) - - Gordienko Vladislav - - Amirreza Shafaat (amirrezashafaat) - - Darius Leskauskas (darles) - - Michael Hudson-Doyle - - Juan Traverso - - akimsko - - Alexis BOYER - - Alexander Menk - - tsufeki - - joris de wit (jdewit) - - Andrejs Leonovs - - Sander Hagen - - Marc Torres - - MatTheCat - - Marvin Butkereit - - anna-lena.waltinger - - rogamoore - - Enrico - - andreabreu98 - - Julian Krzefski - - Leonid Terentyev - - David Grüner (vworldat) - - Egor Gorbachev - - Till Klampaeckel (till) - - Stefan Oderbolz - - Zakaria AMMOURA (zakariaamm) - - Markus Baumer - - Antonio Mansilla - - Alessandra Lai - - Eduardo Conceição - - Max Beutel - - Sorin Gitlan (forapathy) - - tamar peled - - everyx - - parhs - - Flinsch - - mieszko4 - - Will Donohoe - - Neophy7e - - Walid BOUGHDIRI (walidboughdiri) - - Tema Yud - - tadas - - Eduard Morcinek - - Nikita Sklyarov - - Julien Manganne (juuuuuu) - - carlos-ea - - Vladislav Iurciuc - - ddegentesh - - Maxime P - - Geoff - - Andrea Ruggiero (pupax) - - fh-github@fholzhauer.de - - rvoisin - - twifty - - DerManoMann - - Stefan Hüsges (tronsha) - - Pierre Grimaud (pgrimaud) - - Andrew (drew) - - skalpa - - Lars Moelleken - - Juan Miguel Besada Vidal (soutlink) - - Alexander Pasichnik (alex_brizzz) - - Kamil Szalewski (szal1k) - - Vincent MOULENE (vints24) - - Valery Maslov (coderberg) - - Peter Bouwdewijn - - Damien Harper (damien.harper) - - Clement Herreman (clemherreman) - - Kevin Dew - - Juan Luis (juanlugb) - - Joseph Maarek - - Radek Wionczek (rwionczek) - - evgkord - - Mario Young - - Rein Baarsma (solidwebcode) - - Rowan Manning - - Alex Teterin (errogaht) - - Wouter Ras - - David Legatt (dlegatt) - - Jesper Noordsij - - ddebree - - Igor Plantaš - - Tobias Feijten (tobias93) - - stloyd - - Ian Carroll - - Richard Hodgson - - Sandro Hopf (senaria) - - RevZer0 (rav) - - Jaap van Otterdijk (jaapio) - - Robert Korulczyk - - Oussama Elgoumri - - Gordienko Vladislav - - Simon Neidhold - - Iwan van Staveren (istaveren) - - Abdul.Mohsen B. A. A - - Juanmi Rodriguez Cerón - - Benjamin RICHARD - - Harold Iedema - - Guillaume Lajarige (molkobain) - - Keith Maika - - John Espiritu (johnillo) - - Sander Coolen (scoolen) - - Christian Stocker - - Simone Fumagalli (hpatoio) - - Freek Van der Herten (freekmurze) - - Sean Templeton - - Steffen Keuper - - Erika Heidi Reinaldo (erikaheidi) - - Muhammad Aakash - - valmonzo - - Pieter Jordaan - - Jérémie Broutier - - Ashura - - Houziaux mike - - e-ivanov - - Pierre Gasté (pierre_g) - - Mike Gladysch - - Nicolas Fabre (nfabre) - - mantulo - - Matheus Gontijo - - Flo Gleixner (redflo) - - Alessio Baglio (ioalessio) - - wesleyh - - Luis Pabon (luispabon) - - Marc Duboc (icemad) - - Jérémy Jourdin (jjk801) - - Ernesto Domato - - Andrew Tch - - Mickael Perraud - - Piet Steinhart - - Christopher Parotat - - Arman + - Tamás Szigeti + - Paweł Niedzielski (steveb) + - Alex Kalineskou + - Ulumuddin Cahyadi Yunus (joenoez) + - Krystian Marcisz (simivar) + - Maxime Douailin + - Vladimir Valikayev + - Vincent CHALAMON + - Ramunas Pabreza (doobas) + - Brunet Laurent (lbrunet) + - Marko H. Tamminen (gzumba) + - Marco Lipparini (liarco) + - Christin Gruber (christingruber) + - Krzysztof Łabuś (crozin) + - Marc Laporte + - Hidde Boomsma (hboomsma) + - Francisco Alvarez (sormes) + - _sir_kane (waly) + - Olivier Maisonneuve + - Roy Klutman (royklutman) + - Bálint Szekeres + - Tomasz Ignatiuk + - Masterklavi + - Yi-Jyun Pan + - Fred Cox + - Bastien DURAND (deamon) + - Thibault Buathier (gwemox) + - Mior Muhammad Zaki (crynobone) + - Lars Vierbergen (vierbergenlars) + - James Hemery + - Tony Malzhacker + - Julien Maulny + - Thomas P + - Julien Turby + - Oleksandr Barabolia (oleksandrbarabolia) + - Morgan Auchede + - Fabian Vogler (fabian) + - Travis Carden (traviscarden) + - Cyril Vermandé (cyve) + - Alex (garrett) + - Ivo Bathke (ivoba) + - Javier López (loalf) + - Cornel Cruceru (amne) + - Cameron Porter + - Jean-Baptiste GOMOND (mjbgo) + - David Molineus + - Clemens Krack + - Gina Peter Banyard + - Matt Janssen + - Adrian Nguyen (vuphuong87) + - Stefan Warman (warmans) + - Shaharia Azam + - Antal Áron (antalaron) + - Richard Henkenjohann (richardhj) + - Florian Pfitzer (marmelatze) + - Julien Fredon + - Michael Bessolov + - Ahmed Ashraf (ahmedash95) + - Tamas Szijarto + - Stephan Vock (glaubinix) + - Dmitry Parnas (parnas) + - Rodrigo Aguilera + - Jörn Lang + - Fractal Zombie + - Hany el-Kerdany + - Aurimas Niekis (aurimasniekis) + - Simon Leblanc (leblanc_simon) + - Evan C + - Jakub Podhorsky (podhy) + - Brajk19 + - Ondrej Machulda (ondram) + - Sébastien Despont (bouillou) + - Benjamin Schoch (bschoch) + - Sascha Dens (saschadens) + - Wesley Lancel + - Andreas Leathley (iquito) + - Jaroslav Kuba + - Matthew Davis (mdavis1982) + - John Bohn (jbohn) + - fago + - Rafał Wrzeszcz (rafalwrzeszcz) + - Jonas Elfering + - Ruben Gonzalez (rubenruateltek) + - Thomas Ploch + - Paul Kamer (pkamer) + - Gustavo Falco (gfalco) + - Jayson Xu (superjavason) + - Stephan Vierkant (svierkant) + - Vladimir Luchaninov (luchaninov) + - Vincent Simonin + - Kieran + - Julie Hourcade (juliehde) + - Alaattin Kahramanlar (alaattin) + - Arnaud Frézet + - Maximilian Bösing + - Alexander Li (aweelex) + - Maksim Kotlyar (makasim) + - michaelwilliams + - Luca Saba (lucasaba) + - Rustam Bakeev (nommyde) + - AndrolGenhald + - Casper Valdemar Poulsen + - johan Vlaar + - Nicolas de Marqué (nicola) + - noniagriconomie + - Antoine Corcy + - buffcode + - Achilles Kaloeridis (achilles) + - Sebastian Paczkowski (sebpacz) + - Zeeshan Rashid (zeeshan) + - Evan Shaw + - Claudio Zizza + - Nico Haase + - David Marín Carreño (davefx) + - Christophe V. (cvergne) + - DemigodCode + - Mardari Dorel (dorumd) + - Kuba Werłos (kuba) + - Arno Geurts + - Kien Nguyen + - Nykopol (nykopol) + - Sofiane HADDAG (sofhad) + - Minna N + - Calin Mihai Pristavu + - Stéphan Kochen + - Sofien Naas + - mwsaz + - yclian + - Eric COURTIAL + - Christian Soronellas (theunic) + - Duncan de Boer (farmer-duck) + - Stéphane Delprat + - Thibault Richard (t-richard) + - Roberto Nygaard + - Michel Hunziker - Benjamin Laugueux - - Žan V. Dragan - - Vladimir Mantulo (mantulo) - - Craig Menning (cmenning) - - pborreli - - Tomas Javaisis - - Johan de Ruijter - - Bart Ruysseveldt - - Verlhac Gaëtan (viviengaetan) - - Pablo Borowicz - - Emilie Lorenzo - - Samuel Gordalina (gordalina) - - Mike Milano (mmilano) - - tuqqu - - Michael Squires - - Diego Sapriza - - Nei Rauni Santos (nrauni) - - Steve Frécinaux - - Jérémy (libertjeremy) - - Abdelilah Jabri - - Abdelhakim ABOULHAJ - - Robert Meijers - - agaktr - - Muhammed Akbulut - - szymek - - Dennis Haarbrink - - Brooks Boyd - - florian-michael-mast - - joris - - Matthias Bilger - - Nathan DIdier (icz) - - eRIZ - - David de Boer (ddeboer) - - Michael - - Courcier Marvin (helyakin) - - MightyBranch - - Pavel.Batanov - - zorn - - Hugo Fonseca (fonsecas72) - - Ismail Turan - - Albin Kerouaton - - Raphaël Droz - - Ilia Lazarev (ilzrv) - - Peter Gribanov - - Tito Costa - - Chris McGehee - - Sergei Gorjunov - - Pierre-Olivier Vares (povares) - - Gilbertsoft - - Antanas Arvasevicius - - Ha Phan (haphan) - - Eddy - - Alexander Onatskiy - - efeen - - Andrea Civita - - David Gorges (davidgorges) - - Renato Mendes Figueiredo - - Robert Kopera - - Vincent Bouzeran - - Carlos Ortega Huetos - - Ganesh Chandrasekaran (gxc4795) - - Julius (sakalys) - - luffy1727 - - Ben Gamra Housseine (hbgamra) - - Tim Strehle - - Rémi Faivre (rfv) - - Derek Bonner - - Claude Dioudonnat - - Giuseppe Petraroli (gpetraroli) - - withbest - - Thanos Polymeneas (thanos) - - Maxime Corteel (mcorteel) - - Mehdi Achour (machour) - - Bizley - - Alan Bondarchuk - - Philip Frank - - Oriol Mangas Abellan (oriolman) - - Harald Tollefsen - - Maks Rafalko (bornfree) - - Monet Emilien - - Gerd Christian Kunze (derdu) - - Ulugbek Miniyarov - - Oliver Klee - - upchuk - - Thibaut Salanon - - GurvanVgx - - MaPePeR - - Diego Campoy - - David Soria Parra - - Ross Tuck - - Jacek Kobus (jackks) - - Giovanni Albero (johntree) - - GK-302 - - Dalibor Karlović - - Andrey Chernykh - - Kérian MONTES-MORIN (kerianmm) - - BenjaminBeck - - n-aleha - - Hans Höchtl (hhoechtl) - - Mykola Zyk - - tinect (tinect) - - temperatur - - Nathan Sepulveda - - Patricia - - hjkl - - Tatsuya Tsuruoka - - Przemysław Piechota (kibao) - - Lesnykh Ilia - - Remi Collet + - Mike Meier (mykon) + - Pascal Helfenstein + - Guillaume Sainthillier (guillaume-sainthillier) + - stlrnz + - Sergii Dolgushev (serhey) + - Sylvain BEISSIER (sylvain-beissier) + - Jake (jakesoft) + - Nikita Nefedov (nikita2206) + - Elan Ruusamäe (glen) + - Max Rath (drak3) + - Andrii Popov (andrii-popov) + - Harry Walter (haswalt) + - Richard Bradley + - Andrew Neil Forster (krciga22) + - Douglas Hammond (wizhippo) + - Martijn Evers + - Douglas Reith (douglas_reith) + - Barthold Bos + - vitaliytv + - Andrey Sevastianov + - Xav` (xavismeh) + - Carl Casbolt (carlcasbolt) + - Cosmin Sandu + - Mohamed Gamal + - Yosmany Garcia (yosmanyga) + - Wybren Koelmans (wybren_koelmans) + - Ben + - Franco Traversaro (belinde) + - Jonatan Männchen + - Tim Düsterhus + - Jesper Skytte (greew) + - Randy Geraads + - Degory Valentine + - Gennady Telegin + - Jan Pintr + - Bastien THOMAS + - Benedikt Lenzen (demigodcode) + - Pavlo Pelekh (pelekh) + - Christian Stoller (naitsirch) + - d-ph + - MrMicky + - Grégoire Penverne (gpenverne) + - Kevin (oxfouzer) + - Robert Fischer (sandoba) + - Alexander Miehe + - Simo Heinonen (simoheinonen) + - Simeon Kolev (simeon_kolev9) + - Jason Tan (jt2k) + - alexpozzi + - Shahriar56 + - Rostyslav Kinash + - Toni Peric (tperic) + - Kristijan Kanalaš (kristijan_kanalas_infostud) + - Philipp Kolesnikov + - Renan Rodrigo + - Ruben Jacobs (rubenj) + - Robin Lehrmann + - Sébastien Santoro (dereckson) + - Marcel Hernandez + - Richard Quadling + - Andrew Codispoti + - Ivan Menshykov + - Jelle Raaijmakers (gmta) + - Jérôme Tamarelle (jtamarelle-prismamedia) + - Sebastian Blum + - Mickaël Buliard (mbuliard) + - Dave Marshall (davedevelopment) + - Matt Robinson (inanimatt) + - Venu + - Gennadi Janzen + - Thomas Trautner (thomastr) + - Cyril Pascal (paxal) + - Michael Piecko (michael.piecko) + - Derek ROTH + - Ricky Su (ricky) + - Khoo Yong Jun + - Pierre Vanliefland (pvanliefland) + - datibbaw + - Francis Turmel (fturmel) + - Xesxen + - Behnoush Norouzali (behnoush) + - Henry Snoek (snoek09) + - Renan Gonçalves (renan_saddam) + - Benoît Bourgeois (bierdok) + - Stanislau Kviatkouski (7-zete-7) + - Adrien Wilmet (adrienfr) + - Adán Lobato (adanlobato) + - Emil Masiakowski + - Christian Grasso (chris54721) - Erfan Bahramali + - Anton (bonio) - klyk50 - Konstantinos Alexiou + - Stefan Hüsges (tronsha) - Arnaud - Moritz Borgmann (mborgmann) - Christian Jul Jensen + - Oncle Tom + - Vivien + - Tim Lieberman + - Ferran Vidal + - Gleb Sidora + - Even André Fiskvik + - Lance McNearney + - Amine Yakoubi + - hainey + - Attila Szeremi + - timaschew - danilovict2 + - Michael Steininger - Claas Augner + - Kévin Gonella + - Nathanaël Martel (nathanaelmartel) + - Michael Telgmann - Carlos Fernandes (carferdas) - Nikos Charalampidis - mohammadreza honarkhah - Tim Jabs (rubinum) - Peter Breuls - Clément R. (clemrwan) + - ADmad + - Mark Beech (jaybizzle) + - Steffen Persch (n3o77) - Serhii Smirnov + - Darryl Hein (xmmedia) - Xavier REN - thib92 - Francisco Facioni (fran6co) - karl.rixon + - Vladislav (simpson) + - Alexis MARQUIS + - Benjamin Dos Santos + - Normunds + - Derek Lambert (dlambert) + - Daniel Tiringer + - Edvinas Klovas + - Ahmad El-Bardan + - Bojan + - Yann Rabiller (einenlum) + - Tomasz Szymczyk (karion) + - Tarjei Huse (symfony_cloud) - Jiri Velek - d.huethorst - Dan Wilga + - Bouke Haarsma + - Laurens Laman + - Tobias Genberg (lorceroth) + - Mauricio Lopez (diaspar) + - Andriy - karolsojko - Kasperki - Peter Gribanov + - Guillaume Smolders (guillaumesmo) - Daniel Strøm - Vlad Dumitrache + - Cristobal Dabed + - changmin.keum - Martijn Croonen - Patrik Patie Gmitter + - Benjamin BOUDIER - Thomas Jarrand - alsar + - Konrad Mohrfeldt - roog - Enrico Schultz + - Qingshan Luo + - Peter Jaap Blaakmeer + - Kubicki Kamil (kubik) + - Nicolas Badey (nico-b) - Amin Hosseini (aminh) + - Daniel Londero (dlondero) + - David Vancl + - tarlepp + - Götz Gottwald + - BiaDd + - Christian Neff (secondtruth) + - Mdsujansarkar - Ivan Pepelko (pepelko) - Cesar Scur (cesarscur) + - tirnanog06 + - Ludek Stepan + - Kamil Musial + - Denis Yuzhanin - Patrick Luca Fazzi (ap3ir0n) + - AntoineDly - Camille Islasse + - Andrey Ryaguzov - k-sahara - Sergey Yuferev - Michal Forbak + - Ramazan APAYDIN (rapaydin) + - Noel Light-Hilary - jean pasqualini (darkilliant) - Cédric Lahouste (rapotor) + - Alexis + - Wojciech Gorczyca + - Eugene Babushkin (warl) + - afaricamp + - Florian Cellier - DerStoffel - Luís Cobucci (lcobucci) + - Agata - Jon Green (jontjs) + - Uwe Kleinmann - Taras Girnyk + - Jeremy Benoist - j0k (j0k) - Cyrille Bourgois (cyrilleb) - Juga Paazmaya - zcodes - Jens Hatlak + - Oz (import) - Jeremiah VALERIE - JG (jege) - dangkhoagms (dangkhoagms) - chesteroni (chesteroni) + - Kuzia + - Brian Freytag + - Daniel Perez Pinazo (pitiflautico) + - Shiro + - Alexis Lefebvre + - Guilain (guilain_sylapps) + - Yannick Bensacq (cibou) + - Paul L McNeely (mcneely) + - Dan (dantleech) + - Michael Schneider + - spdionis + - Guillem Fondin (guillemfondin) - Pablo Ogando Ferreira + - Juanmi Rodriguez Cerón + - Abdul.Mohsen B. A. A + - Rein Baarsma (solidwebcode) - Pascal Hofmann - Guillaume Loulier (guikingone) - Łukasz Makuch - Arek Bochinski - - Normunds - Frankie Wittevrongel - Karel Syrový - - Kuzia + - Mati Kochen (mtk) - Stefan Graupner (efrane) - Jérôme Dumas + - Anna Damm + - Wissame MEKHILEF + - Haritz - povilas - Kevin Herrera (kherge) + - Helmut Januschka + - Sjoerd Adema + - Jan Pech (pechynho) + - Jonas Claes + - Osayawe Ogbemudia Terry (terdia) - Oliver Hoff - - Derek Lambert (dlambert) - - Daniel Tiringer + - Guillermo Gisinger (t3chn0r) + - jannick-holm - Kevin Decherf - Vacheslav Silyutin + - Maksym Romanowski (maxromanovsky) + - casdal + - Cosmin-Romeo TANASE - Andrew Marcinkevičius (ifdattic) - Alberto Pirovano (geezmo) + - Pavel Prischepa + - Dcp (decap94) + - Imangazaliev Muhammad (imangazaliev) - Peter Simoncic + - Pierre-Henry Soria 🌴 (pierrehenry) - Sébastien Decrême (sebdec) + - ncou - Tiago Garcia (tiagojsag) + - Audain - René Landgrebe - Jozef Môstka (mostkaj) + - Tema Yud - Roma (memphys) - - Sam Ward - - qsz + - Bart Baaten - Damián Nohales (eagleoneraptor) + - Antonio Mansilla - PierreRebeilleau - Kirill Lazarev - Matt Daum (daum) + - Markus Baumer - Cedrick Oka - Gerrit Addiks - - Ahmad El-Bardan - - Bojan + - scourgen hung (scourgen) - Rene de Lima Barbosa (renedelima) - Marcin Szepczynski (szepczynski) - - Bart Baaten - Yannick Vanhaeren (yvh) + - Ronny López (ronnylt) - m.chwedziak + - Nicolas Lemoine + - kwiateusz - jonmldr - Arnaud Buathier (arnapou) - ollie harridge (ollietb) - Andre Eckardt (korve) - Florent SEVESTRE (aniki-taicho) + - Nicolas A. Bérard-Nault + - Mephistofeles - Willem Mouwen + - Giuseppe Campanelli + - Matt Ketmo (mattketmo) - Dominik Ritter (dritter) - Julien JANVIER (jjanvier) - neFAST - - Julius Beckmann (h4cc) + - Sam Williams - tamcy + - Tadcka - Janusz Jabłoński (yanoosh) - Nicolas Bastien (nicolas_bastien) - Peter Orosz (ill_logical) + - Victor Truhanovich (victor_truhanovich) + - Marcos Labad + - Muhammad Elhwawshy - Ahmed Shamim Hassan (me_shaon) - Nasim - Rémi Leclerc - Gil Hadad + - Andreas Allacher - Sébastien COURJEAN + - Jan Dobrovodský (j-dobr) - Eric Hertwig + - chillbram - Alexey Buyanow (alexbuyanow) - - Yann Rabiller (einenlum) + - Adoni Pavlakis (adoni) - Pedro Silva - - Tomasz Szymczyk (karion) - - Qingshan Luo - Piergiuseppe Longo - - youssef saoubou + - Danilo Silva - Kirill Saksin - Klaas Naaijkens - Sergey Novikov (s12v) - bch36 + - Michael Zangerle - Andrii Boiko + - Michael Nelson - Florian Morello - Stefano A. (stefano93) - Albert Ganiev (helios-ag) - Stefan Moonen - - Patrick Kuijvenhoven - - Frank Schulze (xit) - - Mark Beech (jaybizzle) - Ismail Faizi (kanafghan) - - Wojciech Gorczyca - - Florian Cellier - - Brian Freytag + - Colin Michoudet + - Hubert Moreau (hmoreau) + - Gerben Wijnja - Vyacheslav Slinko - - Lesueurs Frédéric (fredlesueurs) - - Mauricio Lopez (diaspar) - - Danilo Silva - - Bouke Haarsma + - Silvio Ginter + - Aaron Somi + - Marcin Twardowski + - BrokenSourceCode - Ostrzyciel + - Knallcharge - Roger Webb - Sven Nolting - - Daniel Perez Pinazo (pitiflautico) - - Nicolas A. Bérard-Nault - - Mathieu MARCHOIS (mmar) - - Matteo Giachino (matteosister) - - Rafał - - enomotodev - - Javier Ledezma + - George Yiannoulopoulos + - Sergey Stavichenko (sergey_stavichenko) + - satalaondrej + - CarolienBEER - Erwin Dirks + - Pitchaya Boonsarngsuk - Philip Dahlstrøm - - Ludek Stepan - - Kamil Musial - - Denis Yuzhanin - - Paul L McNeely (mcneely) + - Jordi Kroon - Konstantin S. M. Möllers (ksmmoellers) - - Vivien - - Tim Lieberman - - Gleb Sidora - Emre YILMAZ - Lenar Lõhmus - v.shevelev - Georgi Georgiev + - Gautier Deuette + - Bogdan + - Dmytro Liashko - Albion Bame (abame) + - Fabien Perroquin - raplider - llupa - Daniel Kay (danielkay-cp) - Matthias Larisch - - Even André Fiskvik - - Lance McNearney - - hainey - - Attila Szeremi - - Darryl Hein (xmmedia) + - Evgeniy Koval + - Tadas Gliaubicas (tadcka) + - Farid Jalilov + - Jeroen van den Nieuwenhuisen + - Abderrahman DAIF (death_maker) + - Victoria Quirante Ruiz (victoria) + - Norman Soetbeer - Sam Malone - Eno Mullaraj (emullaraj) - Shaun Simmons + - Bert Ramakers + - Martin Komischke + - Mostafa + - Constantine Shtompel - Neagu Cristian-Doru (cristian-neagu) - Jordan de Laune (jdelaune) - Frank Naegler + - Martin Schophaus (m_schophaus_adcada) + - Bruno BOUTAREL + - Mark van den Berg - Danish Translation Contributor - Yorkie Chadwick (yorkie76) - - Bruno BOUTAREL + - ivelin vasilev + - vlechemin + - Elías (eliasfernandez) + - Patricia Wagner + - Romain + - Sebastian Göttschkes (sgoettschkes) + - Arkalo2 + - Anton Sukhachev (mrsuh) + - Saif Eddin G + - Yasmany Cubela Medina (bitgandtter) + - Gustavo Adrian + - Clément Bertillon (skigun) + - Nathanael d. Noblet + - Pierre Rebeilleau (pierrereb) + - Damon Jones (damon__jones) + - Loenix - Tito Miguel Costa (titomiguelcosta) - Aurélien Fontaine - - Evgeniy Koval + - RFreij - Michał Dąbrowski (defrag) - Markus Klein - Ken Stanley + - Tobias Speicher - Franz Wilding (killerpoke) - Jesper Søndergaard Pedersen (zerrvox) - Ville Mattila + - Christian Wahler (christian) - Christoph König (chriskoenig) - - Michael Dowling (mtdowling) - Markus Tacker + - Michael Dowling (mtdowling) + - Maxcastel + - Andreas Forsblom (aforsblo) + - wiseguy1394 + - marbul + - cthulhu + - Piers Warmers + - Alexandre Segura + - Zuruuh + - Patrick Kaufmann + - Matthew J Mucklo + - Andrei O + - Pierre Dudoret - Andras Ratz - Erik van Wingerden + - Markus Staab + - Rafał Treffler + - David Zuelke + - Fabian Steiner (fabstei) + - Pablo Monterde Perez (plebs) + - Krzysztof Menżyk (krymen) + - Foxprodev + - Oleh Korneliuk + - Vlad Gapanovich (gapik) - Talha Zekeriya Durmuş - DSeemiller + - gazi04 - Vincent LEFORT (vlefort) - Edwin + - SnakePin - Victor Garcia + - Dionysis Arvanitis + - Valmont Pehaut-Pietri (valmonzo) - Ivan Nemets + - Bart Wach - Ivan Nemets - Sören Bernstein - Koalabaerchen + - Kirill Nesmeyanov (serafim) + - Tristan Kretzer + - George Bateman + - Mario Young + - DidierLmn + - remieuronews - julien_tempo1 (julien_tempo1) - - Haritz - David Christmann - Christian Flach (cmfcmf) - - remieuronews + - Łukasz Giza (destroyer) - Marcel Siegert - curlycarla2004 - Moza Bogdan (bogdan_moza) - Zacharias Luiten - Halil Hakan Karabay (hhkrby) + - MiBo - Loïc Vernet (coil) - - Cristobal Dabed + - sualko + - Sema + - Muharrem Demirci (mdemirci) + - Piotr Zajac + - Rich Sage + - Sezil - sensio + - Kovacs Nicolas + - markusu49 - Felix Marezki + - Philippe Pichet + - Rares Sebastian Moldovan (raresmldvn) + - Michal Čihař + - ElisDN - Víctor Mateo (victormateo) - Serge (nfx) + - Stano Turza - Per Sandström (per) + - Jiri Korenek + - evgkord - devel - - Stano Turza + - Thomas Baumgartner (shoplifter) + - nyro (nyro) + - ssilatel + - voodooism - Moritz Kraft (userfriendly) + - Radek Wionczek (rwionczek) - Adrien Samson (adriensamson) - Yevgen Kovalienia - Aurimas Rimkus (patrikas) - Sébastien HOUZÉ + - Paul Andrieux + - Jan Eichhorn (exeu) - Alexandre Tranchant (alexandre_t) - - Thomas Baumgartner (shoplifter) + - Valouleloup + - Thierry Marianne - Xesau - Grégory Pelletier (ip512) + - abulford + - Anton Zagorskii + - Johannes Müller (johmue) + - alanzarli + - dima-gr + - Nicolas Le Goff (nlegoff) - Paul Mitchum (paul-m) + - pdragun - Jeremy Benoist - hamza + - Olexandr Kalaidzhy + - Joseph Maarek + - Juan Luis (juanlugb) - Joseph FRANCLIN + - DerManoMann + - Matěj Humpál - Eric Schildkamp - Simon Müller (boscho) - Guillaume Aveline - Gabriel Moreira + - James Michael DuPont + - WaiSkats + - David Joos (djoos) + - Arnau González + - Marc + - Bjorn Twachtmann (dotbjorn) + - Justin Rainbow (jrainbow) + - Julien Pauli + - uncaught + - Vitalii - Almog Baku (almogbaku) + - Stephen Lewis (tehanomalousone) + - azine + - Denys Voronin (hurricane) + - Tom Maguire + - Max Voloshin (maxvoloshin) - Troy McCabe - Eric Grimois + - Cedric BERTOLINI (alsciende) + - sebastian + - Jos Elstgeest + - Blackfelix + - Agustin Gomes + - Tobias Rautenkranz + - Maxim Lovchikov + - orlovv - Pablo Schläpfer + - Nico Hiort af Ornäs + - Guile (guile) - PaoRuby - Warwick + - Ben Miller + - Jovan Perovic (jperovic) + - Joel Marcey + - Pavinthan + - Milos Colakovic (project2481) + - Emmanuelpcg + - Wouter Diesveld - Peter Smeets (darkspartan) + - Maximilian Berghoff (electricmaxxx) + - Tero Alén (tero) + - Eric J. Duran + - Helmer Aaviksoo + - georaldc - Jeroen de Boer - Robert-Jan de Dreu + - Ruslan Zavacky (ruslanzavacky) + - baron (bastien) + - simbera - Nicolas Schwartz (nicoschwartz) + - Nick Stemerdink - Marco Jantke + - ondrowan - Stanislav Gamaiunov (happyproff) - Ronny (big-r) - Bruno Nogueira Nascimento Wowk + - Antonio Angelino - Dmitriy Tkachenko (neka) + - Alexander Menk + - Ruben Jansen + - HADJEDJ Vincent (hadjedjvincent) + - Johannes Goslar + - Swen van Zanten + - inwebo veritas (inwebo) + - Laurent Bachelier (laurentb) + - martijn + - Kai Dederichs + - Bárbara Luz + - root + - Sven Scholz + - Cayetano Soriano Gallego (neoshadybeat) + - Bruno Ziegler (sfcoder) + - Karl Shea + - shreypuranik + - Radoslaw Kowalewski + - Derek Stephen McLean - Mateusz Lerczak + - Miloš Milutinović + - Elias Teutschländer + - Cantepie + - Marie Minasyan (marie.minassyan) + - Ahmed HANNACHI (tiecoders) + - David Szkiba + - psampaz (psampaz) + - Roromix + - Mathias Geat + - Jakub Vrána + - wetternest + - Nicolas Sauveur (baishu) + - Matthieu Prat + - Elliot Anderson (elliot) + - Goran (gog) + - Jake Bishop (yakobeyak) + - William Thomson (gauss) - Adel ELHAIBA (eadel) - - georaldc - Mihail Krasilnikov (krasilnikovm) - Valentin + - David Lumaye (tux1124) + - Tischoi + - Jeffrey Cafferata (jcidnl) + - Florian Guimier + - Juan Gonzalez Montes (juanwilde) + - Mikko Ala-Fossi + - Adrian Olek (adrianolek) + - Hans N. Hjort + - Dale.Nash + - Frank Jogeleit + - mwos + - Nil Borodulia + - Matt Lehner + - emilienbouard (neime) + - Valentin Barbu (jimie) + - Maksym Pustynnikov (pustynnikov) + - François Poguet + - John Nickell (jrnickell) - cay89 - Troy Crawford + - Benoit Lévêque (benoit_leveque) + - Michael Orlitzky + - Matthias Perret (mp3000mp) + - Maxime AILLOUD (mailloud) + - Julien Bianchi (jubianchi) + - dened + - Andrea Quintino (dirk39) + - Michael Olšavský + - Athorcis + - Jens Schulze + - Sylvain Just + - Chris Tickner + - Ernest Hymel + - Daniil Gentili - Zander Baldwin - Wojciech Zimoń - - Cantepie + - Oxan van Leeuwen + - Anatol Belski + - gedrox + - Zachary Tong (polyfractal) + - Carsten Eilers (fnc) + - Abdulkadir N. A. + - Sebastian Ionescu + - Alexandru Patranescu + - Daniele Cesarini (ijanki) + - MGatner + - Vic D'Elfant (vicdelfant) + - Marc Lemay (flug) + - George Sparrow + - Nicolas Bondoux (nsbx) + - Alexandre Beaujour + - Caligone + - Vincent Pabst + - Arseny Razin + - Arne Groskurth + - Marcel Berteler + - Simon Jamain + - Marc Bennewitz + - Constantine Shtompel + - Drew Butler + - Geoffrey Pécro (gpekz) + - Alessandro Loffredo + - Marco Pfeiffer - Eduardo García Sanz (coma) - Sergio + - Michaël VEROUX - Dr. Gianluigi "Zane" Zanettini + - Pontus Mårdnäs - Pavel Stejskal (spajxo) - Nicolas Appriou - Tobias Stöckler - ChrisC + - Ilya Biryukov (ibiryukov) - Sergey Fokin (tyraelqp) - Yuri Karaban + - Maxime Aknin (3m1x4m) + - michal + - SAY-5 + - zors1 + - detinkin + - Jessica F Martinez + - Robert Worgul + - sez-open + - Benjamin Ellis + - Guillaume LECERF + - riadh26 + - Artem (digi) + - Ian Littman (iansltx) + - Mathieu Morlon (glutamatt) + - Daniel Kozák + - Ilya Vertakov + - Norbert Schultheisz + - Jared Farrish + - NIRAV MUKUNDBHAI PATEL (niravpatel919) + - Alexander Cheprasov + - Victor Macko (victor_m) + - Oleksii Bulba + - Justin Reherman (jreherman) + - Miquel Fontana + - Roman Orlov + - Stéphane Seng (stephaneseng) + - Stas Soroka (stasyan) + - Stephen Clouse + - Florian Pondepeyre + - vltrof + - Martin Eckhardt + - G.R.Dalenoort + - Geoffrey Monte (numerogeek) + - Benjamin Schultz (bschultz) + - Karolis Daužickas (kdauzickas) + - Damien Fayet (rainst0rm) + - Jean de La Bédoyère + - Ala Eddine Khefifi (nayzo) + - Illia Antypenko (aivus) + - Robin Duval (robin-duval) + - Janusz Mocek + - Joas Schilling + - Jiri Falis + - Tim van Densen + - Sylvain Dherbecourt + - Abudarham Yuval + - cgonzalez - Cyrille Jouineau (tuxosaurus) + - Nouhail AL FIDI (alfidi) + - Adam Elsodaney (archfizz) + - Andreas Heigl (heiglandreas) - pkowalczyk - - Michael Orlitzky + - Sjors Ottjes + - Myke79 + - Christoph Kappestein + - mboultoureau + - Bernd Matzner (bmatzner) + - Alex Niedre + - Kevin Mian Kraiker + - Markus Reinhold + - Adam Wójs (awojs) + - Nerijus Arlauskas (nercury) + - Aleksandar Dimitrov (netbull) + - Tom Newby (tomnewbyau) + - boulei_n + - matze - Jean-Baptiste Nahan + - Michael Lively (mlivelyjr) + - Filipe Guerra + - Denis Klementjev (dklementjev) + - Alexey Vlasov + - Lin Clark + - Peter Mead (petermead) + - Dan Patrick (mdpatrick) + - Jakub Chábek + - Bikal Basnet + - johnstevenson + - Benjamin Rosenberger + - Paul Le Corre + - Mei Gwilym (meigwilym) + - muchafm + - Michael Tibben + - Nicolas Tallefourtané (nicolab) + - Manatsawin Hanmongkolchai + - Javier Espinosa (javespi) + - Evgeny Efimov (edefimov) + - Artyum Petrov + - Diego Aguiar (mollokhan) + - Asrorbek (asrorbek) + - Jochen Bayer (jocl) + - Vincent Chalamon + - Benjamin Pick + - Tom Houdmont + - Simon / Yami + - Evgeniy Tetenchuk + - gr8b + - Jorrit Schippers (jorrit) + - Jonathan Vollebregt + - Pierre-Louis LAUNAY + - Emilien Escalle + - Roman Tyshyk + - Roeland Jago Douma + - Anne-Sophie Bachelard + - Patryk Kozłowski + - Lukas Naumann + - Thomason, James + - Charles-Édouard Coste + - Stefan Kleff (stefanxl) + - Fabio Panaccione + - Zlatoslav Desyatnikov + - Damien Vauchel (damien_vauchel) + - Benjamin Franzke + - Lane Shukhov + - Viktor Novikov (nowiko) + - Yurguis Garcia (yurguis) + - Vincent AMSTOUTZ (vincent_amstz) + - misterx + - Volker Killesreiter (ol0lll) + - Aurelijus Rožėnas + - Elías Fernández + - Felicitus + - Karim Cassam Chenaï (ka) + - mrossard + - Michael Pohlers (mick_the_big) + - Martins Eglitis + - Simon Asika + - Jason Desrosiers + - Sébastien Lévêque (legenyes) + - Gilles Gauthier + - adenkejawen + - Alex Vasilchenko + - Steven Dubois + - Ramon Kleiss (akathos) + - Thijs Reijgersberg + - Dmitry Hordinky + - db306 + - Jacek Wilczyński (jacekwilczynski) + - AbdelatifAitBara + - cybernet (cybernet2u) + - Max Grigorian (maxakawizard) + - Michaël Marinetti - Nicolas Pion + - Marek Binkowski - Alex Silcock - Rodolfo Ruiz - Fabien + - Ondřej Frei + - Ivo Valchev + - Stefan Kruppa + - dmitrijivanenko + - Starfox64 - Thibaut Chieux - Frederik Schwan - Alexander Zogheb + - Roy-Orbison + - Ambroise Maupate + - AmsTaFF (amstaff) + - Flavien Knuchel (knuch) + - Gemorroj (gemorroj) + - jfcixmedia + - Maerlyn + - ffd000 + - Malaney J. Hill + - Saem Ghani + - Dominik Hajduk (dominikalp) + - Jorge Maiden (jorgemaiden) + - gstapinato + - Jakub Caban (lustmored) + - Vladimir Khramtsov (chrome) + - Mathieu Dewet (mdewet) + - Jimmy Leger (redpanda) + - Ahmad Mayahi (ahmadmayahi) + - Plamen Mishev (pmishev) - Camille Baronnet - Kevin Nadin (kevinjhappy) + - Dan Kadera - Ahmed EBEN HASSINE (famas23) - Olatunbosun Egberinde - James Cowgill - andersmateusz + - Martijn Evers - Dmitri Petmanson - - Dale.Nash + - Mbechezi Nawo + - gauss + - Andy Raines + - Kirill Roskolii + - LoginovIlya + - Mamikon Arakelyan (mamikon) + - Joao Paulo V Martins (jpjoao) + - fduch (fduch) + - Nikita Starshinov (biji) + - Michael Simonson (mikes) + - Marcel Pociot (mpociot) + - Francesco Panina (dasas87) + - Abdiel Carrazana (abdielcs) + - Richard van Velzen + - Daniel González Zaballos (dem3trio) + - amcastror + - lerminou + - Eddie Abou-Jaoude (eddiejaoude) + - Marvin Bölsterli (marvinb) + - natechicago + - Simon Mönch + - patrickmaynard + - Frederic Godfrin + - Arkadiusz Rzadkowolski (flies) + - Martin Auswöger + - Ibrahim Bougaoua + - Ikko Ashimine + - dargor980 + - Gerrit Drost + - jwaguet + - 2manypeople - Lucas Bäuerle - JuntaTom (juntatom) - Adrian Philipp - “teerasak” - - Filipe Guerra + - Luis Ramirez (luisdeimos) + - Gerry Vandermaesen (gerryvdm) + - Jan Vernieuwe (vernija) + - Simone Ruggieri + - iamvar + - Anthony Ferrara + - Marco Pfeiffer + - Aharon Perkel + - Benhssaein Youssef + - xaav + - gechetspr + - Hadrien Cren (hcren) + - Matt Farmer + - dogedede + - Dmitry (staratel) + - Ondřej Mirtes (mirtes) + - gondo (gondo) + - Carl Julian Sauter + - David Stone + - Peter Ward + - Ferenczi Krisztian (fchris82) + - Michael Genereux + - jersoe + - Pierre Foresi (pforesi) + - Francois Martin + - Guillaume Gammelin + - Florian Caron (shalalalala) + - Edwin Hageman + - Romeo + - Jure (zamzung) + - Emmanuel Dreyfus + - Sam Anthony + - czachor + - John Edmerson Pizarra + - Maxwell Vandervelde + - Helmut Hummel (helhum) + - Simon Sargeant + - wusuopu + - Wouter Sioen (wouter_sioen) + - Martynas Sudintas (martiis) + - Frank Dekker + - Yiorgos Kalligeros + - Carlos Tasada + - Denis Kop + - dasmfm - max + - Saem Ghani - Nsbx + - Gavin (gavin-markup) + - Eduard Bulava (nonanerz) - Roman Tymoshyk (tymoshyk) - j4nr6n (j4nr6n) + - Sebastian Busch (sebu) + - Adam Monsen (meonkeys) + - Gerhard Seidel (gseidel) + - dakur + - Nacho Martin (nacmartin) + - Samuel Vogel (samuelvogel) + - moldcraft + - John VanDeWeghe + - Ph3nol + - Bert ter Heide (bertterheide) + - kurozumi (kurozumi) + - Christoph Krapp + - vlakoff + - izenin + - Ali Tavafi + - Juan Ases García (ases) + - David Stone + - Patrizio Bekerle + - Ionut Cioflan + - Florian Bogey + - Antonio Torres + - Valentin + - Ryan Rogers + - Nardberjean + - David Windell + - Thomas Boileau (tboileau) + - Tobias Anders + - koyolgecen + - Rodrigo Díez Villamuera (rodrigodiez) + - Juliano Petronetto + - helmi + - Laurent Moreau + - Fabrice Locher + - David Négrier (moufmouf) + - Evgeny Anisiforov + - Aaron Piotrowski (trowski) + - Romain Geissler + - Tomáš Polívka (draczris) + - Yoann MOROCUTTI + - Anton Kroshilin + - Claude + - Ole Rößner (basster) - Karlos Presumido (oneko) + - Arash Tabrizian (ghost098) - Matt Fields - - dened - Mark de Haan (markdehaan) - Wim Godden (wimg) - Gustavo Adrian - Farhad Hedayatifard - wallach-game + - Simone Di Maulo (toretto460) + - Pavel Starosek (octisher) + - Wotre + - Thomas Bibaut + - darnel + - HellFirePvP + - Artyom Protaskin + - Andras Debreczeni + - Jordi Rejas + - Josef Cech + - Pierre Tachoire + - Michal Gebauer + - Klaas Cuvelier (kcuvelier) + - Maarten Nusteling (nusje2000) + - Phillip Look (plook) + - Dario Savella + - NorthBlue333 + - Thomas Chmielowiec + - sarah-eit + - Anton Dyshkant + - Igor Tarasov (polosatus) + - Tom Hart + - Arnaud CHASSEUX + - Gabriel Birke + - Dmytro Dzubenko + - Christian Morgan + - Giorgio Premi + - Romeo + - Louis-Proffit + - Olivier Scherler (oscherler) + - Stephen + - Joseph Deray + - Benjamin Bender + - Muriel (metalmumu) + - Benjamin Long + - Michał Strzelecki + - Théo DELCEY + - Nicolas Attard (nicolasattard) + - pthompson + - Randel Palu + - Elias Häußler + - Gijs Kunze + - Thomas Hanke + - yoye + - Evert Jan Hakvoort + - Pathpat + - Andriy Prokopenko (sleepyboy) + - Kris Buist + - ReScO + - Alessandro Tagliapietra (alex88) + - Daniel Rotter (danrot) + - Mark Pedron (markpedron) + - Maciej Schmidt + - Charly Terrier (charlypoppins) + - Sergei Shitikov + - Paul Ferrett + - Thanh Trần + - heccjj + - patrick-mcdougle + - Tristan Bessoussa (sf_tristanb) - Kajetan Kołtuniak (kajtii) + - Mark Topper - craigmarvelley - divinity76 - Adam - Tournoud (damientournoud) - - Piers Warmers + - Rick Prent - Jose Manuel Gonzalez (jgonzalez) + - Nico Hiort af Ornäs - David Courtey (david-crty) - - Richard van Velzen - Kasper Hansen - Robert Gurau + - Alan Chen + - Dawid Nowak + - Mark Spink + - Pierre Rineau + - Bogdan Scordaliu - Atthaphon Urairat - - David Vancl + - Mo Di (modi) - Vladimir Melnik + - Mehdi Mabrouk (mehdidev) - Arthur Woimbée + - Daan van Renterghem + - Luis Ramón López López (lrlopez) + - Per Modin - Vadim Tyukov (vatson) - Nowfel2501 + - Franck Ranaivo-Harisoa + - Christian Seel + - Kristen Gilden + - Paul Santus + - Julius Kiekbusch - Nikola Svitlica (thecelavi) + - sdkawata + - Artem Oliinyk (artemoliynyk) + - Ahmed Soliman (ahmedsoliman) + - André Matthies + - Htun Htun Htet (ryanhhh91) + - Jason Schilling (chapterjason) - Kacper Gunia (cakper) - mark burdett - Eric Stern - Owen Gray (otis) + - Mara Blaga - Tobias Weinert (tweini) - RENAUDIN Xavier (xorrox) - Cédric Girard - Shyim + - downace - Pierrick Charron + - Zdeněk Drahoš + - Jeroen + - qzylalala + - Kai Eichinger + - Bailey Parker + - Adrien Chinour + - Andrew Brown + - Juan M Martínez + - Mahmoud Mostafa (mahmoud) + - Rainrider + - Tony Vermeiren (tony) + - Artem (nexim) + - Thorsten Hallwas + - Faton (notaf) + - Yewhen Khoptynskyi (khoptynskyi) + - Chris de Kok + - Arkadiusz Kondas (itcraftsmanpl) + - nerdgod + - timesince + - Jonathan Gough + - Dilek Erkut + - Sepehr Lajevardi + - Morimoto Ryosuke + - jc + - Frédéric Bouchery (fbouchery) + - victor-prdh + - Andy Stanberry + - Flavian Sierk + - Laurent Negre (raulnet) + - Renan Taranto (renan-taranto) + - neghmurken + - Iain Cambridge + - Joe Springe + - Drew Butler + - Chris Shennan (chrisshennan) + - Thomas Beaujean + - Shane Preece (shane) + - Peter Thompson (petert82) + - Alexander McCullagh (mccullagh) + - Marin Bînzari (spartakusmd) + - Asrorbek Sultanov + - Nicolas Martin (cocorambo) + - Oleg Mifle + - maxime.perrimond + - Franz Liedke (franzliedke) + - Bernard van der Esch (adeptofvoltron) + - eminjk + - Dennis Fehr + - Jason Stephens + - robin.de.croock + - Alex Carol (picard89) + - Péter Buri (burci) + - maxperei + - Lyubomir Grozdanov (lubo13) + - omerida + - Jakub Simon + - Danil Khaliullin (bifidokk) + - Yohan Giarelli (frequence-web) + - Andrew Clark (tqt_andrew_clark) + - Yoann Chocteau (kezaweb) + - Oksana Kozlova (oksanakozlova) + - Jairo Pastor + - Ionel Scutelnicu (ionelscutelnicu) + - James Sansbury + - Vladislav Nikolayev (luxemate) + - Philipp + - LubenZA + - Sagrario Meneses + - henderkes + - Rini Misini + - BilgeXA + - Matthew (mattvick) + - Bhujagendra Ishaya + - Marcus Stöhr (dafish) + - Nicolas Appriou + - Cláudio Cesar + - Richard Čepas + - Chansig + - soyuka + - Léo VINCENT + - Frédéric G. Marand (fgm) + - Joshua Behrens (joshuabehrens) + - Aleksandr Dankovtsev + - Mert Simsek (mrtsmsk0) + - Ari Pringle (apringle) + - Karolis + - Mohammad Ali Sarbanha (sarbanha) + - Raul Rodriguez (raul782) + - Kenjy Thiébault (kthiebault) + - PLAZANET Pierre (pedrotroller) + - Andreas + - Wim Molenberghs (wimm) + - Valérian Lepeule (vlepeule) + - Alexey Berezuev + - Dmitrii Baranov + - Daniel Tschinder + - Dalibor Karlović + - RAHUL K JHA + - Roberto Guido + - martkop26 + - Safonov Nikita (ns3777k) + - aim8604 + - Szymon Tarasiński + - Sylvain Lorinet + - SuRiKmAn + - Yann LUCAS (drixs6o9) + - Fabien D. (fabd) + - Eduardo Rocha + - Brad Bayliss + - Alexandre Pavy + - Konrad + - Aaron Scherer (aequasi) + - Gilles Doge (gido) + - Clément + - Stakovicz + - Paulius Jarmalavičius (pjarmalavicius) + - Romain Jacquart (romainjacquart) + - jack.thomas (jackthomasatl) + - Andreas Kleemann (andesk) + - Ema Panz + - Nico Müller (nicomllr) + - Charles Sanquer (csanquer) + - root + - Paweł Tomulik + - Julien Boudry + - Sébastien Armand (khepin) + - Niels Robin-Aubertin + - Ibon Conesa (ibonkonesa) + - Rutger Hertogh + - David Barratt + - Eric Caron + - Kantin CHARIGNON + - Matthew Covey + - Bermon Clément (chou666) + - Ondřej Frei + - Piotr Antosik (antek88) + - David Wolter (davewww) + - Szymon Kamiński (szk) + - Sebastian Drewer-Gutland (sdg) + - Kevin Meijer + - Yurun + - Victor Prudhomme + - Léon Gersen + - Evgeny (disparity) + - Michael J + - Oleg Krasavin (okwinza) + - Ruud Seberechts + - abluchet + - Schuyler Jager (sjager) + - Nicholas Ruunu (nicholasruunu) + - Alejandro Diaz Torres + - mlazovla + - Valentin PONS (valx76) + - Dmitry Simushev + - Jorge Vahldick (jvahldick) + - Talel Zighni + - Sortex + - enekochan (enekochan) + - Max Summe + - Bastien Picharles + - Ulrik Nielsen (mrbase) + - Karim Miladi + - Andreas Hasenack + - Storkeus + - ging-dev + - Guillaume Royer + - Jelizaveta Lemeševa (broken_core) + - Martin Pärtel + - ryunosuke + - Anthony Moutte + - Ahmad Al-Naib + - Axel Venet + - Viet Pham + - Marcello Mönkemeyer (marcello-moenkemeyer) + - Aleksey Prilipko + - Willem Verspyck + - Nicolas Séverin + - devman1917 + - Jan Vernarsky + - czachor + - Axel Venet + - Ikhsan Agustian + - Ron Gähler (t-ronx) + - Nicolás Alonso + - Tomasz (timitao) + - Benedict Massolle (bemas) + - Kevin Auivinet + - Kris Kelly + - Ross Motley (rossmotley) + - Reda DAOUDI + - Andrew Carter (andrewcarteruk) + - Tomáš Korec (tomkorec) + - Kaipi Yann + - Adrien Peyre (adpeyre) + - Andre Johnson + - Peter Trebaticky + - Thomas Dubuffet (thomasdubuffet) + - Dmitry Danilson + - Dominic Luidold + - Alexander Bauer (abauer) + - Amaury Leroux de Lens (amo__) + - Matthew Foster (mfoster) + - Mark Ogilvie + - mshavliuk + - Yendric + - bill moll + - Liverbool (liverbool) + - Taras Hinyk + - fabios + - Mike Francis + - Peter Schultz + - Aleksejs Kovalovs (aleksejs1) + - Aurélien ADAM (aadam) + - Martin Mayer (martin) + - Tyler Stroud + - ureimers + - Zan Baldwin (zanderbaldwin) + - Tom Panier (neemzy) + - Pablo Eliezer + - Christian + - Raphael de Almeida (raphaeldealmeida) + - Robert Queck + - samuel laulhau (lalop) + - oscartv + - Valentin + - Christoforos Ntafos + - Abderrahim (phydev) + - Fleuv + - Maria Grazia Patteri + - Nguyen Tuan Minh (tuanminhgp) + - Asil Barkin Elik (asilelik) + - Yurii K + - Dan Ordille (dordille) + - Gregório Bonfante Borba (bonfante) + - Máximo Cuadros (mcuadros) + - Kamil Piwowarski (cyklista) + - mlpo (mlpo) + - Stephanie Trumtel (einahp) + - Serhiy Lunak (slunak) + - Stefanos Psarras (stefanos) + - Matt Wells + - Guido Donnari + - MGDSoft + - rewrit3 + - Malcolm Fell (emarref) + - Dustin Wilson + - Charly Goblet (_mocodo) + - Peter Gnodde + - Christian López Espínola (penyaskito) + - Matthew Burns + - Ilya Chekalsky + - Florent Olivaud + - Dennis Jaschinski (d.jaschinski) + - alex + - Thomas Baccelli (atomiix) + - Igor Kokhlov (verdet) + - Thomas + - Chris Maiden (matason) + - goabonga + - Rémy LESCALLIER + - Koray Zorluoglu + - Vladislav Rastrusny (fractalizer) + - Anne-Julia Seitz + - Tomáš Votruba + - phuc vo (phucwan) + - David Lima + - Beno!t POLASZEK + - Markus Thielen + - Lajos Veres (vlajos) + - Adriaan Zonnenberg + - Steve Preston + - Alexandre Fiocre (demos77) + - Malte Schlüter + - Vallel Blanco + - Fred Cox + - Mohammad Eftekhari (bluemmb) + - Ondřej Führer + - Ivo Valchev + - julien.galenski + - Brad Treloar + - Holger Lösken + - ShiraNai7 + - Misha Klomp (mishaklomp) + - Pavol Tuka + - Schvoy Norbert (schvoy) + - Lucas Bustamante + - Daniel Konstantinov + - JK Groupe + - ivan + - stollr + - Botond Dani (picur) + - Daniel Richter (richtermeister) + - Brian Freytag + - Jeffrey Moelands (jeffreymoelands) + - gndk + - Pavel Barton + - Jonas Hünig + - Johan + - Javier Alfonso Bellota de Frutos + - Walter Doekes + - Alexander Varwijk + - david-binda + - Xavier Amado (xamado) + - Youpie + - wesign (inscrutable01) + - Volker (skydiablo) + - gitlost + - Yoann MOROCUTTI + - Adrien Moiruad + - Arend-Jan Tetteroo + - Gonzalo Míguez + - Stan Jansen (stanjan) + - Bruno Rodrigues de Araujo (brunosinister) + - abunch + - Dominik Kohler + - Michal Trojanowski + - Dominik Pesch (dombn) + - g123456789l + - Matthias Neid + - ProgMiner + - Keri Henare (kerihenare) + - Toby Griffiths (tog) + - Marcin Nowak + - Hugo Sales + - alangvazq + - Tristan Pouliquen + - Olaf Klischat + - Alexandr Samuilov + - Ariel J. Birnbaum + - Adam Klvač + - Andrzej + - Mathieu TUDISCO (mathieutu) + - Pawel Smolinski + - Daniel Mecke (daniel_mecke) + - Ivo + - Christian Eikermann + - Seyedramin Banihashemi (ramin) + - Ilia Sergunin (maranqz) + - Nicolas Macherey + - Rubén Calvo (rubencm) + - Nicholas Byfleet (nickbyfleet) + - Antanas Arvasevicius + - Rénald Casagraude (rcasagraude) + - Walther Lalk + - Johannes + - Jeroen de Graaf + - Javier + - Serhii Bondarenko + - Vaidas Lažauskas + - Kevin Frantz + - guangwu + - Hugo Posnic + - Peter Zwosta + - Simon Frost + - Zayan Goripov + - michalmarcinkowski + - Henne Van Och (hennevo) + - Christiaan Wiesenekker + - Ramon Ornelas (ramonornela) + - Florian "Ori" Neveu (fnev-eu) + - Krzysztof Przybyszewski (kprzybyszewski) + - parinz1234 + - Matt Emerson + - paullallier + - Alex Demchenko + - Lars Ambrosius Wallenborn (larsborn) + - Angel Fernando Quiroz Campos (angelfqc) + - Beth Binkovitz + - Pawel Szczepanek (pauluz) + - Harry Wiseman + - Denis Golubovskiy (bukashk0zzz) + - Jelle Bekker (jbekker) + - Raphael Hardt + - Julien BERNARD + - SanderSander + - MARYNICH Mikhail (mmarynich-ext) + - Severin Glöckle + - John Doe (theboat) + - Ulrik McArdle + - Stelian Mocanita (stelian) + - AnotherSymfonyUser (arderyp) + - michael.kubovic + - rtek + - Vladislav Krupenkin (ideea) + - Adam Kiss + - Jay Severson + - BRAMILLE Sébastien (oktapodia) + - Stefano Cappellini (stefano_cappellini) + - Kévin + - Artfaith + - Nicolas + - Menno Holtkamp + - Lin Lu + - Stuart Fyfe + - Luciano Mammino (loige) + - Lachlan Arthur + - Gerard Berengue Llobera (bere) + - Daniele Orru' (danydev) + - Simon Bouland (bouland) + - Chris + - Frederik Schmitt + - ged15 + - Albert Bakker (babbert) + - Peter Dietrich (xosofox) + - Tomaz Ahlin + - Ahto Türkson + - arduanov + - Serhii Polishchuk (spolischook) + - Viktoriia Zolotova + - Michael Gwynne + - Ivan Tse + - Marco + - Vincent + - Amine Matmati + - Tom Kaminski + - mlievertz + - Emirald Mateli + - Aarón Nieves Fernández + - Linnaea Von Lavia + - Marc Jauvin + - Jaymin G + - Jorge Martin (jorgemartind) + - thecaliskan + - Konstantin Chigakov + - Evrard Boulou + - Alex Plekhanov + - Brian Graham (incognito) + - Julien Sanchez (sumbobyboys) + - Anamarija Papić (anamarijapapic) + - es + - Lebnik + - Anton Babenko (antonbabenko) + - bahram + - Wim Hendrikx + - Arrilot + - Philippe Degeeter (pdegeeter) + - Jean-Guilhem Rouel (jean-gui) + - Ben Oman + - Alexey Popkov + - Andrew Coulton + - Jonathan Poston + - Дмитрий Пацура + - Marcus Jaschen + - Kousuke Ebihara (co3k) + - Wang Jingyu + - Giuseppe Arcuti + - Jan Pintr + - linh + - Daniel Basten (axhm3a) + - Mario Blažek (marioblazek) + - Kevin Vergauwen (innocenzo) + - benkarrer-lab + - Thomas BERTRAND (sevrahk) + - Bart Reunes (metalarend) + - Ahmed Abdou + - Bruno Baguette + - Ioana Hazsda (ioana-hazsda) + - Patrick Berenschot + - Mihai Nica (redecs) + - boite + - Arrakis (arrakis) + - alekLexis + - Matteo Galli + - Ovidiu Gabriel Gireada (ovidiugireada) + - Dmitrii Lozhkin + - Penny Leach + - Antoine (antoinela_adveris) + - xdavidwu + - benatespina (benatespina) + - Carsten Nielsen (phreaknerd) + - brian978 + - Ivan Tse + - Till Hörner + - Baptiste Leduc (bleduc) + - Dennis Smink (dsmink) + - Brandon Antonio Lorenzo + - Curtis (ccorliss) + - Peter van Dommelen + - inspiran + - Nicolas Valverde + - Kevin Verschaeve (keversc) + - dlorek + - Jérôme Nadaud (jnadaud) + - j.schmitt + - Simon Ackermann + - Thomas Ferney (thomasf) + - toxxxa + - djama + - Arvids Godjuks (psihius) + - Paul Clegg (clegginabox) + - Jeremy Bush + - Philipp Hoffmann (philipphoffmann) + - Gary Houbre (thegarious) + - shdev + - Jody Mickey (jwmickey) + - František Bereň + - Yannick + - excelwebzone + - Choong Wei Tjeng (choonge) + - Bert Hekman + - Maciej Zgadzaj + - Kevin EMO + - Fraller Balázs (fracsi) + - Vincent Godé + - Jordi Llonch (jordillonch) + - Linas Ramanauskas + - Julia + - Greg Korba + - Your Name + - Ismo Vuorinen + - Stefan Koopmanschap + - Pedro Magalhães (pmmaga) + - Maxime PINEAU + - Rik van der Heijden + - Orestis + - Felipy Amorim (felipyamorim) + - Jordan Hoff + - gr1ev0us + - Tayfun Aydin + - karstennilsen + - Jonathan Hedstrom + - Steve Müller + - NothingWeAre + - Alan Scott + - Emmanuel Vella (emmanuel.vella) + - Kirk Madera + - Citia (citia) + - Oliver Eglseder + - Dan Harper + - mindaugasvcs + - Alexey Deriyenko + - Alexandre Melard + - David Ronchaud + - Artem Kolesnikov (tyomo4ka) + - Christian Schiffler + - Dariusz Czech + - Sait KURT + - adars + - Paweł Stasicki + - Nicolas ASSING (nicolasassing) + - Kamil Madejski (kmadejski) + - Gusakov Nikita (hell0w0rd) + - Ksaveras Šakys (xawiers) + - Vedran Mihočinec (v-m-i) + - MrNicodemuz + - Gunnar Lium (gunnarlium) + - Steve Hyde + - Skorney + - Soha Jin + - Sebastian Schwarz + - Matthieu + - Tomas Liubinas + - kaiwa + - CDR + - Roman Igoshin (masterro) + - Miguel Vieira + - ConneXNL + - Jules Matsounga (hyoa) + - Nick Chiu + - Jonny Schmid (schmidjon) + - Manuele Menozzi + - Yann (yann_eugone) + - Martin Mandl (m2mtech) + - Benjamin Paap (benjaminpaap) + - calm329 + - Dave Heineman (dheineman) + - Taylor Otwell + - Antoine Beyet + - Vladimir Belozyorov + - Adrian + - InbarAbraham + - Ismail Özgün Turan (dadeather) + - Thomas Rothe + - Vladimir Chernyshev (volch) + - Andrea Sprega (asprega) + - Albert (aprat84) + - Shaun Simmons + - Wojciech Sznapka + - Jan Marek (janmarek) + - Jeroen De Dauw (jeroendedauw) + - Thomas Chmielowiec (chmielot) + - Patrick Carlo-Hickman + - chispita + - Andrei Mateescu + - SALMERON Valentin (vasal) + - allison guilhem + - Marin Nicolae + - Vitali Tsyrkin + - sam-bee + - Andrii Serdiuk (andreyserdjuk) + - Uladzimir Tsykun + - Oleg Sedinkin (akeylimepie) + - Adrian Brajkovic + - Joris Garonian (grifx) + - WoutervanderLoop.nl + - Florian Pondepeyre + - Pchol + - Luca Genuzio (genuzio) + - Rafael Tovar + - rhel-eo + - Jack Wright + - Andrey Helldar + - mmokhi + - Simon Paarlberg (blamh) + - Nikita Popov (nikic) + - Daniel Kolvik (dkvk) + - jim + - Hein Zaw Htet™ + - Pierre Geyer (ptheg) + - steveYeah + - ergiegonzaga + - Kurt Thiemann + - avi123 + - xammmue + - Nicolas Jourdan (nicolasjc) + - pizzaminded + - Chris Tiearney + - JakeFr + - Stephan Wentz (temp) + - César Suárez (csuarez) + - Olivier Laviale (olvlvl) + - Dariusz Ruminski + - demeritcowboy + - Shrey Puranik + - zolikonta + - Radosław Benkel + - Sergii Dolgushev (sergii-swds) + - Goran Juric + - Ser5 + - Alex Rothberg + - Jitendra Adhikari (adhocore) + - dinitrol + - Shane McKinley + - Wickex + - Konstantin Scheumann + - Wing + - Maxime THIRY + - Mihai Stancu + - Matthias Derer + - Cyril HERRERA + - Adamo Crespi (aerendir) + - Boris Medvedev + - Klaus Purer + - Andoni Larzabal (andonilarz) + - Markus Staab + - Dan Brown + - Billie Thompson + - Tim Ward + - Nilmar Sanchez Muguercia + - Flohw + - Mauro Foti (skler) + - Waqas Ahmed + - LHommet Nicolas (nicolaslh) + - drublic + - Bertalan Attila + - William Pinaud (docfx) + - Sjoerd Nuijten (sjoerdnuijten) + - Brian Debuire + - René Kerner + - Xeno Suter + - Mateusz Żyła (plotkabytes) + - Xavier HAUSHERR + - Antoine Bellion (abellion) + - PatrickRedStar + - Raphaëll Roussel + - Ettore Del Negro + - Ellie Schaffer + - jamogon + - Gunther Konig + - Pierre LEJEUNE (darkanakin41) + - Damian (baum) + - Dominic Tubach + - Richard Quadling + - Lance Chen + - sabruss + - Sami Mussbach + - vdauchy + - Yannick + - Timon van der Vorm + - Victor + - EdgarPE + - Sven Fabricius + - Samy D (dinduks) + - 蝦米 + - Kai Eichinger + - Rudy Onfroy + - Nicolas Roudaire + - Oleg Golovakhin (doc_tr) + - rkerner + - Wojciech Skorodecki + - Bogdan Rancichi (devck) + - Alex Olmos (alexolmos) + - Robert Meijers + - Jon Cave + - Phobetor + - sauliusnord + - Oleksii Svitiashchuk + - fbuchlak + - V1nicius00 + - Wahyu Kristianto (kristories) + - Ladislav Tánczos + - Matt Brunt + - otsch + - Andrea Giannantonio + - Miłosz Guglas (miloszowi) - Alexandre Segura - - Zuruuh + - Şəhriyar İmanov (shehriyari) + - Peter Bex + - Àlex Fiestas + - Damian Sromek + - Benoit Garret + - Foxprodev + - Erwan Nader (ernadoo) + - tsilefy + - Thomas Bibb + - SenTisso + - Alexander Janssen (tnajanssen) + - dsech + - Jenne van der Meer + - Falco Nogatz + - Alexandre Jardin (alexandre.jardin) + - Mikko Pesari + - Clément LEFEBVRE (nemoneph) + - Boullé William (williamboulle) + - Jan Hort + - Tom Corrigan (tomcorrigan) + - Johannes + - Aaron Stephens (astephens) + - seho-nl + - Thomas Counsell + - Viktor Bajraktar (njutn95) + - Ben Johnson + - Adam Prickett + - Makdessi Alex + - Dmitry Korotovsky + - Volodymyr Kupriienko (greeflas) + - Pierre-Chanel Gauthier (kmecnin) + - Samy Mahmoudi + - Oscar Esteve (oesteve) + - alifanau + - Wojciech Błoszyk (wbloszyk) + - Kevin Weber + - Marcus + - Laurent Clouet + - RichardGuilland + - Floran Brutel (notFloran) (floran) + - Georg Ringer (georgringer) + - Vasily Khayrulin (sirian) + - wivaku + - Toro Hill + - Ruud Arentsen + - jack.shpartko + - Nicolas Eeckeloo (neeckeloo) + - Neil Katin + - Rémi Blaise + - Bart Brouwer (bartbrouwer) + - rchoquet + - Pascal Woerde (pascalwoerde) + - none (nelexa) + - Paul Seiffert (seiffert) + - Juraj Surman + - Andrea Giuliano (shark) + - Mikkel Paulson + - ju1ius + - Orban Florin (forban) + - Marcos Quesada (marcos_quesada) + - Ener-Getick + - Dan Finnie + - omniError + - Jānis Lukss + - Javan Eskander + - Joe + - Vladimir Sadicov (xtech) + - Quentin Moreau (sheitak) + - Marko Vušak + - Christophe Meneses (c77men) + - Antoine Leblanc + - cilefen (cilefen) + - Daniel Iwaniec + - Jontsa + - Rares Vlaseanu (raresvla) + - Bernhard Rusch + - Juan Mrad + - Dmytro Pigin (dotty) + - Viacheslav Sychov + - Artiom + - Grégoire Hébert (gregoirehebert) + - Mas Iting + - Greg Szczotka (greg606) + - AlbinoDrought + - Zoran Makrevski (zmakrevski) + - Ramon Cuñat + - Erwin Houtsma + - aetxebeste + - Markkus Millend + - Buster Neece + - Thomas Decaux + - Martynas Narbutas + - Mickaël BULIARD + - Rosio (ben-rosio) + - Laurent Legaz + - Marion Hurteau (marionleherisson) + - Tugba Celebioglu + - Danijel Obradović + - Urban Suppiger + - Hoffmann András + - George Dietrich + - Yury (daffox) + - M.Mahdi Mahmoodian + - Arend Hummeling + - Krzysztof Pyrkosz + - Sergiy Sokolenko + - Jules Lamur + - Mark van Duijker + - alefranz + - Jorge P. Hernandez Lalcebo + - Alexander Kurilo (kamazee) + - Dušan Kasan (dudo1904) + - sal-car + - Thibaut Cholley + - Arend Hummeling + - Siragusa (asiragusa) + - Chris Jones (leek) + - Bartłomiej Zając + - Danil + - Christian Kolb + - Houssem + - Martijn Boers (plebian) + - Tomáš Ludvik + - Michael Dawart (mdawart) + - Eviljeks + - smokeybear87 + - Michael van Tricht + - Masao Maeda (brtriver) + - Success Go + - Florian Heller + - Prasetyo Wicaksono (jowy) + - Boris Grishenko (arczinosek) + - alireza + - Eric Krona + - Joan Cruz + - Sylvain METAYER + - Ciaran McNulty (ciaranmcnulty) + - DaikiOnodera + - Grayson Koonce + - Raphael Davaillaud + - Soner Sayakci + - Yohann Tilotti + - Pieter + - Gennadi Janzen + - Martins (kevin_martins) + - Sobhan Sharifi (50bhan) + - Sander van der Vlugt (stranding) + - Sergio Santoro + - Igor Timoshenko (igor.timoshenko) + - Jelle Kapitein + - bokonet + - VojtaB + - tilaven + - nuncanada + - Jean Ragouin + - Jan Christoph Beyer + - Vicky Hagemeister + - Charles-Henri Bruyand + - Luis Galeas + - dbrekelmans + - Maxim Semkin + - Ahmed Abdulrahman + - znerol + - Damir Mitrović + - Robert Campbell + - Jörn Lang + - Marcus Stöhr + - Ruben Kruiswijk + - Ilya Bulakh + - 🦅KoNekoD + - Steeve Titeca (stiteca) + - Dylan + - Michel Krenz + - Alberto Aldegheri + - Sorin Pop (sorinpop) + - Richard Trebichavský + - Anna Filina (afilina) + - Andrei Igna + - Quentin Favrie + - Richard Heine + - Giorgio Premi + - Marek Víger (freezy) + - Till Krüss + - Florent Cailhol + - Ariful Alam + - Raphaël Davaillaud + - Timothy Anido (xanido) + - Nathaniel Catchpole + - Alexandru Năstase + - Ash014 + - Aryel Tupinamba (dfkimera) + - Rafał Toboła + - Paul Matthews + - TheMhv + - Lukas Kaltenbach + - Felix Eymonot (hyanda) + - Tijs Verkoyen + - Malte Wunsch (maltewunsch) + - Gaylord Poillon (gaylord_p) + - Steve Müller + - david perez (davidpv) + - Christian Rishøj + - Yannick Warnier (ywarnier) + - Christoph Vincent Schaefer (cvschaefer) + - Pablo Maria Martelletti (pmartelletti) + - Zoli Szabó (zoliszabo) + - Valentin VALCIU + - dantleech + - Ninos + - Fernando Henrique + - Sylvain Fabre (sylvain-fabre-assoconnect) + - Patrick Daley (padrig) + - elattariyassine + - Norman Soetbeer + - Josef Hlavatý + - Thomas Citharel (tcit) + - urban + - Belhassen + - Mlanawo MBECHEZI + - andreyserdjuk + - Dmitrii Fedorenko (dmifedorenko) + - Hayk Zakaryan + - tamirvs + - Brian Corrigan + - Alexandru Bucur + - Illia Sakovich + - Lauris Binde (laurisb) + - darkweak + - Nicolae Serban + - Timothée BARRAY + - The Whole Life to Learn + - Andreas Allacher + - Jeroen Bouwmans + - Staormin + - Merijn Wijngaard + - Boris Betzholz + - Sajad Torkamani + - Robin Kanters (anddarerobin) + - Daniel Bannert + - Dominik Schwind (dominikschwind) + - ZiYao54 + - Matthew Donadio + - Konstantin Bogomolov + - Karim + - ttomor + - shreyadenny + - Guillaume BRETOU (guiguiboy) + - Alan ZARLI + - Mehrdad + - creiner + - Haritz Iturbe (hizai) + - Tammy D + - GuillaumeVerdon + - Alexandre GESLIN + - Tim Porter + - DcgRG + - Steve Marvell + - Alfonso Fernández García + - Shamimul Alam + - Alexis MARQUIS + - RTUnreal + - Michaël Thieulin (mthieulin) + - Peter Culka + - Bernat Llibre Martín (bernatllibre) + - Jörg Rühl + - Icode4Food (icode4food) + - Jeremy David (jeremy.david) + - Ali Sol + - adam-mospan + - Alex Vo (votanlean) + - vladyslavstartsev + - Chihiro Adachi (chihiro-adachi) + - Antonio Peric-Mazar (antonioperic) + - Alain Flaus (halundra) + - Kélian Bousquet (kells) + - Armando + - kernig + - Claus Due (namelesscoder) + - Adrien Gallou (agallou) + - error56 + - Vincent Chalnot + - tatankat + - Tomanhez + - Romain Pierre + - goohib + - phc + - SOEDJEDE Felix (fsoedjede) + - Christopher Georg (sky-chris) + - peter + - Jérémy CROMBEZ (jeremy) + - insekticid + - Pavel Golovin (pgolovin) + - alexpods + - Jochen Mandl + - Vladimir Sazhin + - Evgeny Z (meze) + - Ismail Asci (ismailasci) + - Rachid Hammaoui (makmaoui) + - klemens + - Quique Porta (quiqueporta) + - Shude + - Sebastian Utz + - Attila Bukor (r1pp3rj4ck) + - Conrad Kleinespel (conradk) + - taiiiraaa + - Gennadi McKelvey (gennadigennadigennadi) + - Dennis Tobar + - Philipp Strube + - nietonfir + - tpetry + - Angel Koilov (po_taka) + - Marvin Petker + - Peter van Dommelen + - Artem Lopata + - Dmitriy Derepko + - kshida + - Michael Hüneburg + - Daniel Bartoníček + - Bálint Szekeres + - Benoit Leveque + - Irmantas Šiupšinskas (irmantas) + - Jeremiah VALERIE + - Cedric Kastner (nurtext) + - Benoit Mallo + - Jan Emrich + - tante kinast (tante) + - Billy Scheufler + - den den (dionisvl3) + - Jean-François Morin-Abdullah + - Stewart Malik + - AnrDaemon + - Lorenzo Adinolfi (loru88) + - Fabian Haase + - Will Rowe + - Matej Žilák (teo_sk) + - ibasaw + - Brieuc Thomas + - André Laugks + - Ivan Yivoff + - Adam Bramley + - Raito Akehanareru (raito) + - Pierre Schmitz + - Bastien Clément (bastienclement) + - G/ + - Patrick Janzen + - Jelte Steijaert (jelte) + - Phil Davis + - developer-av + - andreybolonin1989@gmail.com + - Aurélien MARTIN + - fmarchalemisys + - Bram Van der Sype (brammm) + - Mohamed Karnichi (amiral) + - caalholm + - jdcook + - popnikos + - PabloKowalczyk + - Brandon Kelly (brandonkelly) + - VolCh + - Monere + - Marek Šimeček (mssimi) + - Temuri Takalandze (abgeo) + - Sander Goossens (sandergo90) + - djordy + - Marcin Kruk + - David Soms + - Marc Duboc (icemad) + - Andrew Zhilin (zhil) + - Julien ARBEY + - Marc J. Schmidt (marcjs) + - Thomas Dutrion (theocrite) + - Pete Mitchell (peterjmit) + - Philipp Fritsche + - Albert Prat + - Dominik Piekarski (dompie) + - nuryagdy mustapayev (nueron) + - AUDUL + - Ernesto Domato + - Michael Squires + - Vincent MOULENE (vints24) + - Łukasz Chruściel (lchrusciel) + - kaywalker + - Grégoire Rabasse + - Craig Menning (cmenning) + - pborreli + - Philipp Kretzschmar + - Gerard + - Adam Katz + - Benny Born + - Jean-Christophe Cuvelier [Artack] + - RevZer0 (rav) + - Gyula Szucs + - Guillaume Lajarige (molkobain) + - Sandro Hopf (senaria) + - Joeri Verdeyen (jverdeyen) + - Michel Bardelmeijer + - Laurent G. (laurentg) + - fruty + - lol768 + - Omar Yepez (oyepez003) + - Abdouni Karim (abdounikarim) + - Vladislav Vlastovskiy (vlastv) + - Grzegorz Łukaszewicz (newicz) + - Trevor N. Suarez (rican7) + - Julien Menth (cfjulien) + - Billie Thompson + - Joachim Krempel (jkrempel) + - Hryhorii Hrebiniuk + - Ian Phillips + - Pieter Jordaan + - Jérémie Broutier + - Petr Jaroš (petajaros) + - Robert Korulczyk + - Johan Wilfer (johanwilfer) + - Dan Blows + - Haikiri + - Christian Weiske + - Claudiu Cristea + - Yuriy Potemkin + - Tomas Javaisis + - Johan de Ruijter + - Bart Ruysseveldt + - Balázs Benyó (duplabe) + - Lucas Matte + - Abdouarrahmane FOUAD (fabdouarrahmane) + - Sebastian Landwehr (dword123) + - Mikkel Paulson + - damaya + - Dario Guarracino + - Mikhail Prosalov (mprosalov) + - Fabian Kropfhamer (fabiank) + - mikocevar + - Petar Marjanovic + - stefan.r + - Ashura + - Mathieu Ledru (matyo91) + - Valérian Galliat + - fabi + - Jérémy (libertjeremy) + - Abdelilah Jabri + - Jakub Kisielewski + - Bradley Zeggelaar + - Ralf Kühnel (ralfkuehnel) + - Berat Doğan + - Ricardo de Vries (ricardodevries) + - Vašek Purchart (vasek-purchart) + - Jérémy Jourdin (jjk801) + - Oussama Elgoumri + - Juan Traverso + - Mike Gladysch + - Rafael Villa Verde + - dropfen + - Marcin Chwedziak + - Gert de Pagter + - Vladimir Pakhomchik + - Thibault G + - Povilas S. (povilas) + - Gordienko Vladislav + - Amirreza Shafaat (amirrezashafaat) + - Cas van Dongen + - Darius Leskauskas (darles) + - Hallison Boaventura (hallisonboaventura) + - cmfcmf + - Thanos Polymeneas (thanos) + - Michael Hudson-Doyle + - Vincent Vermeulen + - Paul LE CORRE + - akimsko + - Joel Lusavuvu (enigma97) + - Alexis BOYER + - Alexander Menk + - tsufeki + - Matthias Meyer + - Kevin Jansen + - joris de wit (jdewit) + - Andrejs Leonovs + - Sander Hagen + - Marc Torres + - MatTheCat + - Marvin Butkereit + - anna-lena.waltinger + - rogamoore + - Maxime Corteel (mcorteel) + - Enrico + - andreabreu98 + - adnen chouibi + - Leonid Terentyev + - Gabriel Solomon (gabrielsolomon) + - David Grüner (vworldat) + - Egor Gorbachev + - Raul Garcia Canet (juagarc4) + - Maciej Paprocki (maciekpaprocki) + - Till Klampaeckel (till) + - Taylan Kasap + - David Brooks + - Radosław Kowalewski + - Stefan Oderbolz + - Bruno MATEU + - Zakaria AMMOURA (zakariaamm) + - Gavin Staniforth + - Aleksei Lebedev + - Thibaut Arnoud (thibautarnoud) + - Eduardo Conceição + - Pierre Tondereau + - Max Beutel + - Cas + - Samael tomas + - Sorin Gitlan (forapathy) + - tamar peled + - everyx + - parhs + - Flinsch + - tomasz-kusy + - mieszko4 + - Will Donohoe + - Neophy7e + - pf + - Walter Dal Mut (wdalmut) + - HMAZonderland + - Gordienko Vladislav + - Marien Fressinaud + - Simon Neidhold + - Romain Dorgueil + - Sean Templeton + - Johannes + - Steffen Keuper + - Walid BOUGHDIRI (walidboughdiri) + - tadas + - botbotbot + - Eduard Morcinek + - Ryan Linnit + - Nikita Sklyarov + - Ángel Guzmán Maeso (shakaran) + - andrey-tech + - Julien Manganne (juuuuuu) + - carlos-ea + - Vladislav Iurciuc + - Andrew Tch + - Mickael Perraud + - Ryan Rud + - Geoff + - Junaid Farooq (junaidfarooq) + - Luis Pabon (luispabon) + - Rudolf Ratusiński + - Markus Ramšak + - Filippos Karailanidis + - Andrea Ruggiero (pupax) + - fh-github@fholzhauer.de + - AbdElKader Bouadjadja + - rvoisin + - twifty + - Rafał Muszyński (rafmus90) - Peter Potrowl - - Jonathan Gough - - Sepehr Lajevardi - - Morimoto Ryosuke - - Frédéric Bouchery (fbouchery) - - Franz Liedke (franzliedke) - - Bernard van der Esch (adeptofvoltron) - - eminjk - - Dennis Fehr - - robin.de.croock - - maxperei - - Lyubomir Grozdanov (lubo13) - - Oksana Kozlova (oksanakozlova) - - ssilatel - - Ruslan Zavacky (ruslanzavacky) - - Ionel Scutelnicu (ionelscutelnicu) - - Philipp - - LubenZA - - Raul Rodriguez (raul782) - - Kenjy Thiébault (kthiebault) - - PLAZANET Pierre (pedrotroller) - - Wim Molenberghs (wimm) - - HADJEDJ Vincent (hadjedjvincent) - - Paweł Tomulik - - Swen van Zanten - - inwebo veritas (inwebo) - - Laurent Bachelier (laurentb) - - Maciej Schmidt - - Sébastien Armand (khepin) - - Niels Robin-Aubertin - - Ibon Conesa (ibonkonesa) - - Nicholas Ruunu (nicholasruunu) - - ging-dev - - Jelizaveta Lemeševa (broken_core) - - Martin Pärtel - - ryunosuke - - Farid Jalilov - - Jeroen van den Nieuwenhuisen - - Anthony Moutte - - Ahmad Al-Naib - - Bárbara Luz - - Kris Kelly - - Ross Motley (rossmotley) - - Tomáš Korec (tomkorec) - - Kaipi Yann - - Adrien Peyre (adpeyre) - - Andre Johnson - - Peter Trebaticky - - Mike Francis - - Peter Schultz - - Aurélien ADAM (aadam) - - Martin Mayer (martin) - - Christian - - Raphael de Almeida (raphaeldealmeida) - - oscartv - - Valentin - - Abderrahim (phydev) - - Abderrahman DAIF (death_maker) - - Yurii K - - Dan Ordille (dordille) - - Marie Minasyan (marie.minassyan) - - Ahmed HANNACHI (tiecoders) - - psampaz (psampaz) - - Mathias Geat - - Jakub Vrána - - wetternest - - Nicolas Sauveur (baishu) - - Stephanie Trumtel (einahp) - - Serhiy Lunak (slunak) - - Stefanos Psarras (stefanos) - - Matt Wells - - rewrit3 - - Dustin Wilson - - Charly Goblet (_mocodo) - - Christian López Espínola (penyaskito) - - Matthew Burns - - Ilya Chekalsky - - Thomas - - Chris Maiden (matason) - - julien.galenski - - Brad Treloar - - Holger Lösken - - ShiraNai7 - - Pavol Tuka - - Romain - - Sebastian Göttschkes (sgoettschkes) - - Arkalo2 - - Anton Sukhachev (mrsuh) - - Jakub Simon - - Pablo Monterde Perez (plebs) - - Krzysztof Menżyk (krymen) - - Foxprodev - - Mark van den Berg - - nyro (nyro) - - pdragun - - Bjorn Twachtmann (dotbjorn) - - Justin Rainbow (jrainbow) - - uncaught - - JK Groupe - - ivan - - Daniel Richter (richtermeister) - - Brian Freytag - - Pavel Barton - - Jonas Hünig - - Johan - - Javier Alfonso Bellota de Frutos - - Volker (skydiablo) - - gitlost - - Adrien Moiruad - - soyuka - - Jake Bishop (yakobeyak) - - William Thomson (gauss) - - Florian Guimier - - Juan Gonzalez Montes (juanwilde) - - Michal Trojanowski - - Dominik Pesch (dombn) - - ProgMiner - - Olaf Klischat - - Andrzej - - Adrian Olek (adrianolek) - - Mathieu TUDISCO (mathieutu) - - Pawel Smolinski - - Ivo - - Christian Eikermann - - Nicolas Macherey - - Rubén Calvo (rubencm) - - Nicholas Byfleet (nickbyfleet) + - Alexander Pasichnik (alex_brizzz) + - Kamil Szalewski (szal1k) + - Camille Dejoye (cdejoye) + - Mehdi Achour (machour) + - Andrey Chernykh + - Kérian MONTES-MORIN (kerianmm) + - BenjaminBeck + - n-aleha + - Luke Towers + - Julius Beckmann (h4cc) + - Peter Bouwdewijn + - tuqqu + - László GÖRÖG + - Valery Maslov (coderberg) + - Damien Harper (damien.harper) + - Reece Fowell (reecefowell) + - Clement Herreman (clemherreman) + - Kevin Dew + - Rowan Manning + - Javier Núñez Berrocoso (javiernuber) + - Alex Teterin (errogaht) + - Maxim Kolokolnikov + - Wouter Ras + - adhamiamirhossein + - David Legatt (dlegatt) + - ddebree + - Jesper Noordsij + - František Maša + - Michal Kurzeja (mkurzeja) + - Igor Plantaš + - Wouter de Wild + - Tobias Feijten (tobias93) + - Pierre Gasté (pierre_g) + - stloyd + - Ian Carroll + - Jaap van Otterdijk (jaapio) + - Iwan van Staveren (istaveren) + - Andreas Frömer + - Benjamin RICHARD + - Harold Iedema + - Adria Lopez (adlpz) + - Keith Maika + - John Espiritu (johnillo) + - Sander Coolen (scoolen) + - Adiel Cristo (arcristo) + - Christian Stocker + - Babichev Maxim (rez1dent3) + - AlberT + - Simone Fumagalli (hpatoio) + - Freek Van der Herten (freekmurze) + - Richard Hodgson + - valmonzo + - Sergey Fedotov + - Erika Heidi Reinaldo (erikaheidi) + - Muhammad Aakash + - Mynyx + - Jan Vernarsky + - Nicolas Fabre (nfabre) + - e-ivanov + - mantulo + - Houziaux mike + - Matheus Gontijo + - Vladimir Vasilev (bobahvas) + - Flo Gleixner (redflo) + - Alessio Baglio (ioalessio) + - mousezheng + - wesleyh + - florian-michael-mast + - Chris McGehee + - Matt Drollette (mdrollette) + - David Otton + - Piet Steinhart + - Christopher Parotat + - Arman + - Benjamin Laugueux + - Žan V. Dragan + - Yura Uvarov (zim32) + - Vladimir Mantulo (mantulo) + - Jannik Zschiesche + - JustDylan23 + - Verlhac Gaëtan (viviengaetan) + - Adrien Foulon + - Pablo Borowicz + - Emilie Lorenzo + - Samuel Gordalina (gordalina) + - Mike Milano (mmilano) + - Ganesh Chandrasekaran (gxc4795) + - A. Pauly + - Tony Arcangelini + - Julius (sakalys) + - Juan Miguel Besada Vidal (soutlink) + - Diego Sapriza + - Tomas Kmieliauskas + - Laurent Bardin + - Nei Rauni Santos (nrauni) + - Steve Frécinaux + - Rikijs Murgs + - Lars Moelleken + - Abdelhakim ABOULHAJ + - Robert Meijers + - agaktr + - Muhammed Akbulut + - szymek + - Dennis Haarbrink + - Maxime P + - Brooks Boyd + - ddegentesh + - joris + - Matthias Bilger + - Nathan DIdier (icz) + - eRIZ + - David de Boer (ddeboer) + - youssef saoubou + - Lesueurs Frédéric (fredlesueurs) + - Dawid Sajdak + - Mathieu MARCHOIS (mmar) + - Matteo Giachino (matteosister) + - Luis Muñoz + - MightyBranch + - Michael + - Courcier Marvin (helyakin) + - Pavel.Batanov + - Kévin Gomez (kevin) + - zorn + - Hugo Fonseca (fonsecas72) + - Ismail Turan + - Alex Nostadt + - Kim Laï Trinh + - Xavier RENAUDIN + - Albin Kerouaton + - Sander Marechal + - Jakub Sacha + - Raphaël Droz + - Ilia Lazarev (ilzrv) + - Peter Gribanov + - Tito Costa + - Jakub Janata (janatjak) + - Alessandra Lai + - Julian Krzefski + - Gabi Udrescu + - Sergei Gorjunov + - Pierre-Olivier Vares (povares) + - Gilbertsoft + - ghazy ben ahmed - Antanas Arvasevicius - - Dmitrii Baranov - - Ruben Jansen - - Cayetano Soriano Gallego (neoshadybeat) - - Rénald Casagraude (rcasagraude) - - Johannes - - Matt Emerson - - paullallier - - Harry Wiseman - - Denis Golubovskiy (bukashk0zzz) - - Jelle Bekker (jbekker) - - Raphael Hardt - - Julien BERNARD - - Andrea Quintino (dirk39) - - root - - David Lumaye (tux1124) - - mlazovla - - Michael Olšavský - - Athorcis - - Jens Schulze - - Sylvain Just - - Chris Tickner - - rtek - - Vladislav Krupenkin (ideea) - - Adam Kiss - - BRAMILLE Sébastien (oktapodia) - - Stefano Cappellini (stefano_cappellini) - - Artfaith - - Maksym Pustynnikov (pustynnikov) - - Nicolas - - Menno Holtkamp - - Lin Lu - - Luciano Mammino (loige) - - Simon Bouland (bouland) - - Daniele Cesarini (ijanki) - - Vic D'Elfant (vicdelfant) - - Marc Lemay (flug) - - Alexandre Beaujour - - Caligone - - Arseny Razin - - Zachary Tong (polyfractal) - - Benjamin Schultz (bschultz) - - Karolis Daužickas (kdauzickas) - - Damien Fayet (rainst0rm) - - Ahto Türkson - - arduanov - - Viktoriia Zolotova - - BiaDd - - Christian Neff (secondtruth) - - Michael Gwynne - - Vincent - - Amine Matmati - - Beno!t POLASZEK - - Sjors Ottjes - - Myke79 - - Christoph Kappestein - - mboultoureau - - Bernd Matzner (bmatzner) - - Alex Niedre - - Adam Wójs (awojs) - - Emirald Mateli - - Aarón Nieves Fernández - - Linnaea Von Lavia - - Marc Jauvin - - Jorge Martin (jorgemartind) - - Konstantin Chigakov - - Alex Plekhanov - - Brian Graham (incognito) - - Julien Sanchez (sumbobyboys) - - Anamarija Papić (anamarijapapic) - - es - - Lebnik - - bahram - - Arrilot - - goabonga - - Jean-Guilhem Rouel (jean-gui) + - Ha Phan (haphan) + - Eddy + - Alexander Onatskiy + - efeen + - pritasil + - Andrea Civita + - dantleech + - David Gorges (davidgorges) + - Renato Mendes Figueiredo + - Bram Tweedegolf (bram_tweedegolf) + - Robert Kopera + - Vincent Bouzeran + - Ashura + - Carlos Ortega Huetos - Alexey Popkov - - muchafm - - Jochen Bayer (jocl) - - Drew Butler - - Tom Houdmont - - Walther Lalk - - Дмитрий Пацура - - Kousuke Ebihara (co3k) - - Shiro - - Vallel Blanco - - spdionis - - Anne-Sophie Bachelard - - Dcp (decap94) - - Imangazaliev Muhammad (imangazaliev) - - chillbram - - Laurens Laman - - vlechemin - - Elías (eliasfernandez) - - Yasmany Cubela Medina (bitgandtter) - - Gustavo Adrian - - gr8b - - Jorrit Schippers (jorrit) - - Elliot Anderson (elliot) - - Jonathan Vollebregt - - Pierre-Louis LAUNAY - - Alessandro Loffredo - - Marco Pfeiffer - - michal - - RFreij - - wiseguy1394 - - Emilien Escalle - - Roeland Jago Douma - - Karim Cassam Chenaï (ka) - - Stefan Kruppa - - Michael Pohlers (mick_the_big) - - Martins Eglitis - - Jason Desrosiers - - Sébastien Lévêque (legenyes) - - Arend-Jan Tetteroo - - Giuseppe Arcuti - - Jan Pintr - - Joel Marcey - - linh - - Saem Ghani - - Dominik Hajduk (dominikalp) - - Jorge Maiden (jorgemaiden) - - Jakub Caban (lustmored) - - Vladimir Khramtsov (chrome) - - Mathieu Dewet (mdewet) - - Jimmy Leger (redpanda) - - LoginovIlya - - Mamikon Arakelyan (mamikon) - - Joao Paulo V Martins (jpjoao) - - Eddie Abou-Jaoude (eddiejaoude) - - Frederic Godfrin - - Arkadiusz Rzadkowolski (flies) - - Kevin Vergauwen (innocenzo) - - Thomas BERTRAND (sevrahk) - - zors1 - - detinkin - - Ahmed Abdou - - Dmitry (staratel) - - Pavinthan - - Clément Bertillon (skigun) + - Emre Akinci (emre) + - Rafał + - temperatur + - André Laugks + - Remi Collet + - Jonathan (grafikart) + - Sam Ward + - qsz + - luffy1727 + - Jm Aribau (jmaribau) + - Ben Gamra Housseine (hbgamra) + - Tim Strehle + - Rémi Faivre (rfv) + - Derek Bonner + - Claude Dioudonnat + - GagnarTest (gagnartest) + - Giuseppe Petraroli (gpetraroli) + - withbest + - George Giannoulopoulos + - Markus + - EXT - THERAGE Kevin + - Bizley + - Alan Bondarchuk + - Philip Frank + - J Bruni + - Martin Komischke + - Oriol Mangas Abellan (oriolman) + - Harald Tollefsen + - Maks Rafalko (bornfree) + - Oliver Klee + - Frank Neff (fneff) + - Monet Emilien + - Gerd Christian Kunze (derdu) + - pawel-lewtak + - Ross Tuck + - Andreas Streichardt + - Dan Ionut Dumitriu (danionut90) + - Ulugbek Miniyarov + - skalpa + - Andrew (drew) + - upchuk + - Thibaut Salanon + - GurvanVgx + - MaPePeR + - Siebe Vanden Eynden + - ChS + - Diego Campoy + - Pierre Sv (rrr63) + - neodevcode + - Ken Marfilla (marfillaster) + - David Soria Parra + - Julien Moulin (lizjulien) + - Jacek Kobus (jackks) + - Thomas Ploch + - André Filipe Gonçalves Neves (seven) + - Giovanni Albero (johntree) + - GK-302 + - Dalibor Karlović + - Roland Franssen :) + - Hans Höchtl (hhoechtl) + - Mykola Zyk + - tinect (tinect) + - Nathan Sepulveda + - MusikAnimal + - robmro27 + - Patricia + - hjkl + - Tatsuya Tsuruoka + - Mantas Urnieža + - Iliya Miroslavov Iliev (i.miroslavov) + - Signor Pedro + - enomotodev + - Javier Ledezma + - Przemysław Piechota (kibao) + - Lesnykh Ilia + - Sébastien HOUZE + - Patrick Kuijvenhoven + - Frank Schulze (xit) + - Ignacio Alveal + - Pierre Grimaud (pgrimaud) From 30d8357f13fbfb1b55c74ae316977fbe3e0572d6 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:49:58 +0200 Subject: [PATCH 19/43] Update VERSION for 6.4.39 --- src/Symfony/Component/HttpKernel/Kernel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 39bad04afc10b..56d5261ec8545 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -77,12 +77,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '6.4.39-DEV'; + public const VERSION = '6.4.39'; public const VERSION_ID = 60439; public const MAJOR_VERSION = 6; public const MINOR_VERSION = 4; public const RELEASE_VERSION = 39; - public const EXTRA_VERSION = 'DEV'; + public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2026'; public const END_OF_LIFE = '11/2027'; From f3022f7d8610fb4165be5283e0f1eadf94fd500e Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:53:23 +0200 Subject: [PATCH 20/43] Bump Symfony version to 6.4.40 --- src/Symfony/Component/HttpKernel/Kernel.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 56d5261ec8545..95db550a60a08 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -77,12 +77,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '6.4.39'; - public const VERSION_ID = 60439; + public const VERSION = '6.4.40-DEV'; + public const VERSION_ID = 60440; public const MAJOR_VERSION = 6; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 39; - public const EXTRA_VERSION = ''; + public const RELEASE_VERSION = 40; + public const EXTRA_VERSION = 'DEV'; public const END_OF_MAINTENANCE = '11/2026'; public const END_OF_LIFE = '11/2027'; From 8744af1f6ae664f17dd0e23f3feaeb071170e594 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:54:53 +0200 Subject: [PATCH 21/43] Update CHANGELOG for 7.4.11 --- CHANGELOG-7.4.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG-7.4.md b/CHANGELOG-7.4.md index 2f103120d31de..1af305b38455f 100644 --- a/CHANGELOG-7.4.md +++ b/CHANGELOG-7.4.md @@ -7,6 +7,29 @@ in 7.4 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.4.0...v7.4.1 +* 7.4.11 (2026-05-13) + + * bug #64198 [SecurityBundle] Allow defining security provider factories without config (hockdudu) + * bug #64189 [FrameworkBundle] Bump Request/Session value resolver priority above EntityValueResolver (ousamabenyounes) + * bug #64197 [Messenger] Ensure SigningSerializer won't decode before verifying the signature (nicolas-grekas) + * bug #64195 [Security] Remove the legacy nested unserialize() call from token and exception classes (nicolas-grekas) + * bug #64196 [Yaml] Reject non-stringables when using "!!binary" (nicolas-grekas) + * bug #64191 [Inflector][String] Fixed singularize `traces` > `trace` (ruudk) + * bug #64192 [Mailer] Use `hash_equals()` to compare webhook signatures for AhaSend (alexandre-daubois) + * bug #64193 [Notifier] Use `hash_equals()` to compare webhook signatures for Vonage (alexandre-daubois) + * bug #64180 [Messenger][Amqp] Fix support for RabbitMQ v4 by adding delayed quorum queues (Jean85) + * bug #64187 [AssetMapper] Warn on missing bare CSS and JSON imports (ousamabenyounes) + * bug #64182 [Console] Fix signal handler scoping (jpollard3) + * bug #64181 [Security] Preserve webserver base URL in HttpUtils::createRequest() (ousamabenyounes) + * bug #64058 [Process] Ignore array env values before proc_open (dionisvl) + * bug #64179 [Filesystem] preserve source mode when copying files (nicolas-grekas) + * bug #64176 [Console] Make `ConsoleSectionOutput::overwrite()` atomic to fix sections + ProgressIndicator clear (Amoifr) + * bug #64174 [Scheduler] Use stored checkpoint as base date for debug:scheduler (ousamabenyounes) + * bug #64153 [Messenger] Drop trace args from FlattenException normalization (ousamabenyounes) + * bug #64150 [HttpKernel] Use backend-handled request for terminate listeners in HttpCache (Toflar) + * bug #64172 [WebProfilerBundle] Don’t try to access `RawMessage::$headers` (MatTheCat) + * bug #64148 [Dotenv] Don't truncate OS env vars containing $ when $_ENV is unpopulated (HMAZonderland) + * 7.4.10 (2026-05-06) * bug #63761 [Scheduler] Fix checkpoint state expiring when cache has default TTL (Amoifr) From eb4dbd6905a23c5ae9299eb43344cc2f54fe5208 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:55:00 +0200 Subject: [PATCH 22/43] Update VERSION for 7.4.11 --- src/Symfony/Component/HttpKernel/Kernel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 4137b9d74a47e..b553b114a5398 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -74,12 +74,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '7.4.11-DEV'; + public const VERSION = '7.4.11'; public const VERSION_ID = 70411; public const MAJOR_VERSION = 7; public const MINOR_VERSION = 4; public const RELEASE_VERSION = 11; - public const EXTRA_VERSION = 'DEV'; + public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2028'; public const END_OF_LIFE = '11/2029'; From ebf13b126bb58905c5367e3c1ebdbe3e7e7b4e82 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 19:57:54 +0200 Subject: [PATCH 23/43] Bump Symfony version to 7.4.12 --- src/Symfony/Component/HttpKernel/Kernel.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index b553b114a5398..3ae6a0172d19a 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -74,12 +74,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '7.4.11'; - public const VERSION_ID = 70411; + public const VERSION = '7.4.12-DEV'; + public const VERSION_ID = 70412; public const MAJOR_VERSION = 7; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 11; - public const EXTRA_VERSION = ''; + public const RELEASE_VERSION = 12; + public const EXTRA_VERSION = 'DEV'; public const END_OF_MAINTENANCE = '11/2028'; public const END_OF_LIFE = '11/2029'; From 95fcf9ac576187709066428d46649f8553476c83 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 13 May 2026 20:09:12 +0200 Subject: [PATCH 24/43] Bump Symfony version to 8.0.12 --- src/Symfony/Component/HttpKernel/Kernel.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 20613a8ff1994..72108bf2ff992 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -72,12 +72,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '8.0.11'; - public const VERSION_ID = 80011; + public const VERSION = '8.0.12-DEV'; + public const VERSION_ID = 80012; public const MAJOR_VERSION = 8; public const MINOR_VERSION = 0; - public const RELEASE_VERSION = 11; - public const EXTRA_VERSION = ''; + public const RELEASE_VERSION = 12; + public const EXTRA_VERSION = 'DEV'; public const END_OF_MAINTENANCE = '07/2026'; public const END_OF_LIFE = '07/2026'; From ec50b799d79ebe24561f29351c1efcb6da95c9b1 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 6 May 2026 13:02:13 +0200 Subject: [PATCH 25/43] [Cache] Validate the prefix given to AbstractAdapter::clear() --- .../Cache/Tests/Adapter/AdapterTestCase.php | 28 +++++++++++++++++++ .../Cache/Tests/Adapter/ArrayAdapterTest.php | 1 + .../Adapter/CouchbaseBucketAdapterTest.php | 1 + .../CouchbaseCollectionAdapterTest.php | 1 + .../Tests/Adapter/MemcachedAdapterTest.php | 1 + .../Tests/Adapter/PhpArrayAdapterTest.php | 1 + .../Cache/Tests/Adapter/ProxyAdapterTest.php | 1 + .../Cache/Traits/AbstractAdapterTrait.php | 4 +++ 8 files changed, 38 insertions(+) diff --git a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php index 91b648fd718ec..bb57921204a95 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php @@ -309,6 +309,34 @@ public function testClearPrefix() $this->assertTrue($cache->hasItem('barfoo')); } + /** + * @dataProvider provideInvalidPrefixes + */ + public function testClearWithInvalidPrefix(string $prefix) + { + if (isset($this->skippedTests[__FUNCTION__])) { + $this->markTestSkipped($this->skippedTests[__FUNCTION__]); + } + + $cache = $this->createCachePool(0, __FUNCTION__); + $cache->clear(); + + $cache->save($cache->getItem('foobar')->set(1)); + + $this->assertFalse($cache->clear($prefix)); + $this->assertTrue($cache->hasItem('foobar')); + } + + public static function provideInvalidPrefixes(): iterable + { + yield 'single quote' => ["foo' OR 1=1; --"]; + yield 'percent wildcard' => ['foo%']; + yield 'space' => ['foo bar']; + yield 'null byte' => ["foo\0bar"]; + yield 'backslash' => ['foo\\bar']; + yield 'slash' => ['foo/bar']; + } + public function testWeirdDataMatchingMetadataWrappedValues() { if (isset($this->skippedTests[__FUNCTION__])) { diff --git a/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php index 9a55e95cc7ef5..f78a739305e4c 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/ArrayAdapterTest.php @@ -23,6 +23,7 @@ class ArrayAdapterTest extends AdapterTestCase 'testGetMetadata' => 'ArrayAdapter does not keep metadata.', 'testDeferredSaveWithoutCommit' => 'Assumes a shared cache which ArrayAdapter is not.', 'testSaveWithoutExpire' => 'Assumes a shared cache which ArrayAdapter is not.', + 'testClearWithInvalidPrefix' => 'ArrayAdapter does not validate the prefix.', ]; public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface diff --git a/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php index 08edff2c33a68..4b58c55c866d5 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseBucketAdapterTest.php @@ -28,6 +28,7 @@ class CouchbaseBucketAdapterTest extends AdapterTestCase { protected $skippedTests = [ 'testClearPrefix' => 'Couchbase cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Couchbase cannot clear by prefix', ]; /** @var \CouchbaseBucket */ diff --git a/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php index 427e04339f944..5b335569f65e4 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/CouchbaseCollectionAdapterTest.php @@ -28,6 +28,7 @@ class CouchbaseCollectionAdapterTest extends AdapterTestCase { protected $skippedTests = [ 'testClearPrefix' => 'Couchbase cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Couchbase cannot clear by prefix', ]; /** @var Collection */ diff --git a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php index e21a2f63e3255..1c0cba2d432b3 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php @@ -26,6 +26,7 @@ class MemcachedAdapterTest extends AdapterTestCase 'testHasItemReturnsFalseWhenDeferredItemIsExpired' => 'Testing expiration slows down the test suite', 'testDefaultLifeTime' => 'Testing expiration slows down the test suite', 'testClearPrefix' => 'Memcached cannot clear by prefix', + 'testClearWithInvalidPrefix' => 'Memcached cannot clear by prefix', ]; protected static $client; diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php index 541681df291c2..9b4751a530174 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php @@ -57,6 +57,7 @@ class PhpArrayAdapterTest extends AdapterTestCase 'testDefaultLifeTime' => 'PhpArrayAdapter does not allow configuring a default lifetime.', 'testPrune' => 'PhpArrayAdapter just proxies', + 'testClearWithInvalidPrefix' => 'PhpArrayAdapter does not validate the prefix.', ]; protected static $file; diff --git a/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php index 387542bb1a631..ac960d0f5d009 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/ProxyAdapterTest.php @@ -27,6 +27,7 @@ class ProxyAdapterTest extends AdapterTestCase 'testDeferredSaveWithoutCommit' => 'Assumes a shared cache which ArrayAdapter is not.', 'testSaveWithoutExpire' => 'Assumes a shared cache which ArrayAdapter is not.', 'testPrune' => 'ProxyAdapter just proxies', + 'testClearWithInvalidPrefix' => 'Inner ArrayAdapter does not validate the prefix.', ]; public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface diff --git a/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php b/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php index 32d78b1858cff..8c75557b16f26 100644 --- a/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php +++ b/src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php @@ -143,6 +143,10 @@ public function clear(string $prefix = '') $this->namespaceVersion = $namespaceVersion; $this->ids = []; } + } elseif (preg_match('#[^-+.A-Za-z0-9]#', $prefix)) { + CacheItem::log($this->logger, 'Failed to clear the cache: Namespace-prefix contains invalid characters.', ['cache-adapter' => get_debug_type($this)]); + + return false; } else { $namespaceToClear = $this->namespace.$prefix; } From e77391b2e4f18821198f010d573674c8ed4a970a Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 8 May 2026 22:46:13 +0200 Subject: [PATCH 26/43] [Yaml] Bound collection-alias resolution in the parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Track the number of resolved collection aliases (arrays, `stdClass`, unwrapped `TaggedValue`) in the shared `ParserState`, with a default limit of 128 — following the SnakeYAML model. Scalar aliases remain unrestricted since they cannot drive exponential growth. Crafted YAML documents with recursive aliases pointing at collections that themselves contain aliases ("Billion Laughs") otherwise expand exponentially during resolution. Also adds `Yaml::PARSE_EXCEPTION_ON_ALIAS` to reject all aliases when parsing untrusted input. --- src/Symfony/Component/Yaml/CHANGELOG.md | 2 + src/Symfony/Component/Yaml/Inline.php | 2 + src/Symfony/Component/Yaml/Parser.php | 13 ++- src/Symfony/Component/Yaml/ParserState.php | 28 ++++++ .../Component/Yaml/Tests/ParserTest.php | 90 +++++++++++++++++++ src/Symfony/Component/Yaml/Tests/YamlTest.php | 21 +++++ src/Symfony/Component/Yaml/Yaml.php | 23 ++--- 7 files changed, 168 insertions(+), 11 deletions(-) diff --git a/src/Symfony/Component/Yaml/CHANGELOG.md b/src/Symfony/Component/Yaml/CHANGELOG.md index 9b66d98ee9d1a..e88ef2dd0b369 100644 --- a/src/Symfony/Component/Yaml/CHANGELOG.md +++ b/src/Symfony/Component/Yaml/CHANGELOG.md @@ -5,6 +5,8 @@ CHANGELOG --- * Add a `$maxNestingLevel` argument to `Parser::__construct()`, `Yaml::parse()` and `Yaml::parseFile()` to bound recursion depth (default 128) + * Add a `$maxAliasesForCollections` argument to `Parser::__construct()`, `Yaml::parse()` and `Yaml::parseFile()` to bound alias expansion of collection values (default 128) + * Add `Yaml::PARSE_EXCEPTION_ON_ALIAS` to reject YAML aliases while parsing untrusted input * Add new `lint:yaml dirname --exclude=/dirname/foo.yaml --exclude=/dirname/bar.yaml` option to exclude one or more specific files from multiple file list * Allow negatable for the parse tags option with `--no-parse-tags` diff --git a/src/Symfony/Component/Yaml/Inline.php b/src/Symfony/Component/Yaml/Inline.php index 95e9f485a2c9d..c3fcf2232c4b3 100644 --- a/src/Symfony/Component/Yaml/Inline.php +++ b/src/Symfony/Component/Yaml/Inline.php @@ -606,6 +606,8 @@ private static function evaluateScalar(ParserState $state, string $scalar, int $ throw new ParseException(sprintf('Reference "%s" does not exist.', $value), self::$parsedLineNumber + 1, $value, self::$parsedFilename); } + $state->countAlias($references[$value], self::$parsedLineNumber + 1, null, self::$parsedFilename); + return $references[$value]; } diff --git a/src/Symfony/Component/Yaml/Parser.php b/src/Symfony/Component/Yaml/Parser.php index 34c75c24b06b1..08b97b2ada2d5 100644 --- a/src/Symfony/Component/Yaml/Parser.php +++ b/src/Symfony/Component/Yaml/Parser.php @@ -27,6 +27,7 @@ class Parser public const BLOCK_SCALAR_HEADER_PATTERN = '(?P\||>)(?P\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P +#.*)?'; public const REFERENCE_PATTERN = '#^&(?P[^ ]++) *+(?P.*)#u'; public const DEFAULT_MAX_NESTING_LEVEL = 128; + public const DEFAULT_MAX_ALIASES_FOR_COLLECTIONS = 128; private $filename; private $offset = 0; @@ -41,13 +42,18 @@ class Parser private $refsBeingParsed = []; private $state; - public function __construct(int $maxNestingLevel = self::DEFAULT_MAX_NESTING_LEVEL) + public function __construct(int $maxNestingLevel = self::DEFAULT_MAX_NESTING_LEVEL, int $maxAliasesForCollections = self::DEFAULT_MAX_ALIASES_FOR_COLLECTIONS) { if ($maxNestingLevel < 1) { throw new \InvalidArgumentException('The maximum nesting depth must be greater than 0.'); } + if ($maxAliasesForCollections < 0) { + throw new \InvalidArgumentException('The maximum number of collection aliases must be greater than or equal to 0.'); + } + $this->getState()->maxNestingLevel = $maxNestingLevel; + $this->getState()->maxAliasesForCollections = $maxAliasesForCollections; } /** @@ -98,6 +104,7 @@ public function parse(string $value, int $flags = 0) $this->refs = []; $state = $this->getState(); $state->reset(); + $state->aliasesEnabled = 0 === (Yaml::PARSE_EXCEPTION_ON_ALIAS & $flags); $mbEncoding = null; @@ -274,6 +281,8 @@ private function doParse(string $value, int $flags) $refValue = $this->refs[$refName]; + $this->getState()->countAlias($refValue, $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); + if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && $refValue instanceof \stdClass) { $refValue = (array) $refValue; } @@ -760,6 +769,8 @@ private function parseValue(string $value, int $flags, string $context) throw new ParseException(sprintf('Reference "%s" does not exist.', $value), $this->currentLineNb + 1, $this->currentLine, $this->filename); } + $this->getState()->countAlias($this->refs[$value], $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); + return $this->refs[$value]; } diff --git a/src/Symfony/Component/Yaml/ParserState.php b/src/Symfony/Component/Yaml/ParserState.php index f29f4c8c2bd30..6ef04b8dff882 100644 --- a/src/Symfony/Component/Yaml/ParserState.php +++ b/src/Symfony/Component/Yaml/ParserState.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml; use Symfony\Component\Yaml\Exception\ParseException; +use Symfony\Component\Yaml\Tag\TaggedValue; /** * @internal @@ -20,10 +21,15 @@ final class ParserState { public $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL; public $currentNestingLevel = 0; + public $maxAliasesForCollections = Parser::DEFAULT_MAX_ALIASES_FOR_COLLECTIONS; + public $collectionAliasCount = 0; + public $aliasesEnabled = true; public function reset(): void { $this->currentNestingLevel = 0; + $this->collectionAliasCount = 0; + $this->aliasesEnabled = true; } public function enterNestingLevel(int $line, ?string $snippet, ?string $filename): void @@ -41,4 +47,26 @@ public function leaveNestingLevel(): void --$this->currentNestingLevel; } } + + /** + * @param mixed $refValue + */ + public function countAlias($refValue, int $line, ?string $snippet, ?string $filename): void + { + if (!$this->aliasesEnabled) { + throw new ParseException('Aliases are disabled.', $line, $snippet, $filename); + } + + if ($refValue instanceof TaggedValue) { + $refValue = $refValue->getValue(); + } + + if (!\is_array($refValue) && !$refValue instanceof \stdClass) { + return; + } + + if (++$this->collectionAliasCount > $this->maxAliasesForCollections) { + throw new ParseException(sprintf('Maximum number of collection aliases (%d) exceeded. This limit can be increased via the Parser constructor.', $this->maxAliasesForCollections), $line, $snippet, $filename); + } + } } diff --git a/src/Symfony/Component/Yaml/Tests/ParserTest.php b/src/Symfony/Component/Yaml/Tests/ParserTest.php index 45fae22ca65a6..5fcc1562d9cf8 100644 --- a/src/Symfony/Component/Yaml/Tests/ParserTest.php +++ b/src/Symfony/Component/Yaml/Tests/ParserTest.php @@ -2967,6 +2967,96 @@ public function testParseRejectsDocumentsThatExceedTheDefaultNestingDepth() $this->parser->parse($yaml); } + public function testParseRejectsDocumentsThatExceedTheConfiguredCollectionAliasLimit() + { + $parser = new Parser(Parser::DEFAULT_MAX_NESTING_LEVEL, 5); + + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Maximum number of collection aliases'); + + $yaml = <<parse($yaml); + } + + public function testParseCountsTaggedValueCollectionAliases() + { + $parser = new Parser(Parser::DEFAULT_MAX_NESTING_LEVEL, 2); + + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Maximum number of collection aliases'); + + $yaml = <<parse($yaml, Yaml::PARSE_CUSTOM_TAGS); + } + + public function testParseAcceptsScalarAliasesWithoutCountingThem() + { + $parser = new Parser(Parser::DEFAULT_MAX_NESTING_LEVEL, 1); + + $yaml = <<parse($yaml); + + $this->assertSame('scalar_value', $result['a']); + $this->assertSame('scalar_value', $result['d']); + } + + public function testParseAcceptsLargeCollectionAliasedOnce() + { + $items = implode(', ', array_map(function ($i) { return "item$i"; }, range(1, 500))); + $yaml = <<parser->parse($yaml); + + $this->assertCount(500, $result['a']); + } + + public function testParseRejectsBlockAliasesWhenDisabled() + { + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Aliases are disabled'); + + $yaml = <<parser->parse($yaml, Yaml::PARSE_EXCEPTION_ON_ALIAS); + } + + public function testParseRejectsInlineAliasesWhenDisabled() + { + $this->expectException(ParseException::class); + $this->expectExceptionMessage('Aliases are disabled'); + + $yaml = <<parser->parse($yaml, Yaml::PARSE_EXCEPTION_ON_ALIAS); + } + private function assertSameData($expected, $actual) { $this->assertEquals($expected, $actual); diff --git a/src/Symfony/Component/Yaml/Tests/YamlTest.php b/src/Symfony/Component/Yaml/Tests/YamlTest.php index f6f3f4b986bfd..d04d2d1472387 100644 --- a/src/Symfony/Component/Yaml/Tests/YamlTest.php +++ b/src/Symfony/Component/Yaml/Tests/YamlTest.php @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\Yaml\Exception\ParseException; +use Symfony\Component\Yaml\Parser; use Symfony\Component\Yaml\Yaml; class YamlTest extends TestCase @@ -48,4 +49,24 @@ public function testParseAllowsConfiguringTheMaximumNestingLevel() Yaml::parse($yaml, 0, 2); } + + public function testParseFileAllowsConfiguringTheMaximumCollectionAliasCount() + { + $file = tempnam(sys_get_temp_dir(), 'yaml_'); + + file_put_contents($file, <<expectException(ParseException::class); + $this->expectExceptionMessage('Maximum number of collection aliases (0) exceeded.'); + + try { + Yaml::parseFile($file, 0, Parser::DEFAULT_MAX_NESTING_LEVEL, 0); + } finally { + unlink($file); + } + } } diff --git a/src/Symfony/Component/Yaml/Yaml.php b/src/Symfony/Component/Yaml/Yaml.php index f754977bf4b37..fed52dd847085 100644 --- a/src/Symfony/Component/Yaml/Yaml.php +++ b/src/Symfony/Component/Yaml/Yaml.php @@ -34,6 +34,7 @@ class Yaml public const PARSE_CUSTOM_TAGS = 512; public const DUMP_EMPTY_ARRAY_AS_SEQUENCE = 1024; public const DUMP_NULL_AS_TILDE = 2048; + public const PARSE_EXCEPTION_ON_ALIAS = 8192; /** * Parses a YAML file into a PHP value. @@ -43,17 +44,18 @@ class Yaml * $array = Yaml::parseFile('config.yml'); * print_r($array); * - * @param string $filename The path to the YAML file to be parsed - * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior - * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks + * @param string $filename The path to the YAML file to be parsed + * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks + * @param int $maxAliasesForCollections The maximum number of collection aliases to resolve * * @return mixed * * @throws ParseException If the file could not be read or the YAML is not valid */ - public static function parseFile(string $filename, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL) + public static function parseFile(string $filename, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL, int $maxAliasesForCollections = Parser::DEFAULT_MAX_ALIASES_FOR_COLLECTIONS) { - $yaml = new Parser($maxNestingLevel); + $yaml = new Parser($maxNestingLevel, $maxAliasesForCollections); return $yaml->parseFile($filename, $flags); } @@ -67,17 +69,18 @@ public static function parseFile(string $filename, int $flags = 0, int $maxNesti * print_r($array); * * - * @param string $input A string containing YAML - * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior - * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks + * @param string $input A string containing YAML + * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior + * @param int $maxNestingLevel The maximum nesting depth for nested YAML blocks + * @param int $maxAliasesForCollections The maximum number of collection aliases to resolve * * @return mixed * * @throws ParseException If the YAML is not valid */ - public static function parse(string $input, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL) + public static function parse(string $input, int $flags = 0, int $maxNestingLevel = Parser::DEFAULT_MAX_NESTING_LEVEL, int $maxAliasesForCollections = Parser::DEFAULT_MAX_ALIASES_FOR_COLLECTIONS) { - $yaml = new Parser($maxNestingLevel); + $yaml = new Parser($maxNestingLevel, $maxAliasesForCollections); return $yaml->parse($input, $flags); } From 9749cd43c5e09b3735093623670b21b9d8a056cb Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 8 May 2026 22:46:58 +0200 Subject: [PATCH 27/43] [Yaml] Harden the Parser::cleanup() regexes against catastrophic backtracking The `%YAML` header regex (`#^\\%YAML[: ][\\d\\.]+.*\\n#u`) and the leading-comment / document-marker regexes in `Parser::cleanup()` had overlapping quantifiers that caused catastrophic backtracking on crafted input. Rewrite all four regexes with possessive quantifiers and unambiguous character classes. --- src/Symfony/Component/Yaml/Parser.php | 8 +++---- .../Component/Yaml/Tests/ParserTest.php | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Yaml/Parser.php b/src/Symfony/Component/Yaml/Parser.php index 08b97b2ada2d5..cda68ac1393cc 100644 --- a/src/Symfony/Component/Yaml/Parser.php +++ b/src/Symfony/Component/Yaml/Parser.php @@ -1044,11 +1044,11 @@ private function cleanup(string $value): string // strip YAML header $count = 0; - $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count); + $value = preg_replace('#^%YAML[: ][\d.]++[^\n]*+\n#u', '', $value, -1, $count); $this->offset += $count; // remove leading comments - $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count); + $trimmedValue = preg_replace('#^(?:\#[^\n]*+\n)++#', '', $value, -1, $count); if (1 === $count) { // items have been removed, update the offset $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n"); @@ -1056,14 +1056,14 @@ private function cleanup(string $value): string } // remove start of the document marker (---) - $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count); + $trimmedValue = preg_replace('#^---[^\n]*+\n#', '', $value, -1, $count); if (1 === $count) { // items have been removed, update the offset $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n"); $value = $trimmedValue; // remove end of the document marker (...) - $value = preg_replace('#\.\.\.\s*$#', '', $value); + $value = preg_replace('#\.\.\.[ \t]*+$#', '', $value); } return $value; diff --git a/src/Symfony/Component/Yaml/Tests/ParserTest.php b/src/Symfony/Component/Yaml/Tests/ParserTest.php index 5fcc1562d9cf8..dfa7b31f7355e 100644 --- a/src/Symfony/Component/Yaml/Tests/ParserTest.php +++ b/src/Symfony/Component/Yaml/Tests/ParserTest.php @@ -3057,6 +3057,27 @@ public function testParseRejectsInlineAliasesWhenDisabled() $this->parser->parse($yaml, Yaml::PARSE_EXCEPTION_ON_ALIAS); } + public function testParseHandlesLargeYamlHeaders() + { + $yaml = "%YAML:".str_repeat('1', 100000)."\nfoo: bar\n"; + + $this->assertSame(['foo' => 'bar'], $this->parser->parse($yaml)); + } + + public function testParseHandlesLargeLeadingComments() + { + $yaml = '#'.str_repeat('comment', 20000)."\nfoo: bar\n"; + + $this->assertSame(['foo' => 'bar'], $this->parser->parse($yaml)); + } + + public function testParseHandlesLargeDocumentMarkers() + { + $yaml = '--- '.str_repeat('header', 20000)."\nfoo: bar\n... "; + + $this->assertSame(['foo' => 'bar'], $this->parser->parse($yaml)); + } + private function assertSameData($expected, $actual) { $this->assertEquals($expected, $actual); From 5ba145dba702404801bdf9e7e8d6df170060d541 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 12 May 2026 09:55:39 +0200 Subject: [PATCH 28/43] [Security] Require configuring trusted hosts when using CAS authentication --- .../Functional/app/AccessToken/config_cas.yml | 1 + .../Http/AccessToken/Cas/Cas2Handler.php | 5 ++ .../Tests/AccessToken/Cas/Cas2HandlerTest.php | 61 +++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AccessToken/config_cas.yml b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AccessToken/config_cas.yml index 2cd2abc566c05..76f5def137391 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AccessToken/config_cas.yml +++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/AccessToken/config_cas.yml @@ -4,6 +4,7 @@ imports: framework: http_method_override: false serializer: ~ + trusted_hosts: ['^localhost$'] security: password_hashers: diff --git a/src/Symfony/Component/Security/Http/AccessToken/Cas/Cas2Handler.php b/src/Symfony/Component/Security/Http/AccessToken/Cas/Cas2Handler.php index 61bcdbeb9fe9d..5cf31019f769c 100644 --- a/src/Symfony/Component/Security/Http/AccessToken/Cas/Cas2Handler.php +++ b/src/Symfony/Component/Security/Http/AccessToken/Cas/Cas2Handler.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\AccessToken\Cas; use Symfony\Component\HttpClient\HttpClient; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Core\Exception\AuthenticationException; use Symfony\Component\Security\Http\AccessToken\AccessTokenHandlerInterface; @@ -76,6 +77,10 @@ private function getValidationUrl(string $accessToken): string unset($query['ticket']); $queryString = $query ? '?'.http_build_query($query) : ''; + if (!Request::getTrustedHosts()) { + throw new \LogicException('CAS authentication requires trusted hosts to be configured to prevent host header injection; configure the "framework.trusted_hosts" option or call "Request::setTrustedHosts()".'); + } + return \sprintf('%s?ticket=%s&service=%s', $this->validationUrl, urlencode($accessToken), diff --git a/src/Symfony/Component/Security/Http/Tests/AccessToken/Cas/Cas2HandlerTest.php b/src/Symfony/Component/Security/Http/Tests/AccessToken/Cas/Cas2HandlerTest.php index 6e21f15bbefd6..630ec81bab25e 100644 --- a/src/Symfony/Component/Security/Http/Tests/AccessToken/Cas/Cas2HandlerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/AccessToken/Cas/Cas2HandlerTest.php @@ -14,6 +14,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\HttpClient\Response\MockResponse; +use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Core\Exception\AuthenticationException; @@ -22,6 +23,16 @@ final class Cas2HandlerTest extends TestCase { + protected function setUp(): void + { + Request::setTrustedHosts(['.*']); + } + + protected function tearDown(): void + { + Request::setTrustedHosts([]); + } + public function testWithValidTicket() { $response = new MockResponse(<<getUserBadgeFrom('PGTIOU-84678-8a9d'); $this->assertEquals('lobster', $username); } + + public function testServiceUrlIsBuiltFromCurrentRequest() + { + Request::setTrustedHosts(['^app\.example$']); + + $httpClient = new MockHttpClient(function (string $method, string $url): MockResponse { + $this->assertSame('GET', $method); + $this->assertStringContainsString('service='.urlencode('https://app.example/sub/path?foo=bar'), $url); + + return new MockResponse(<< + lobster + + BODY + ); + }); + + $requestStack = new RequestStack(); + $requestStack->push(Request::create('https://app.example/sub/path?ticket=ST-1856339&foo=bar')); + + $cas2Handler = new Cas2Handler($requestStack, 'https://www.example.com/cas', 'cas', $httpClient); + $this->assertEquals(new UserBadge('lobster'), $cas2Handler->getUserBadgeFrom('ST-1856339')); + } + + public function testThrowsWhenNoTrustedHostsConfigured() + { + Request::setTrustedHosts([]); + + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('CAS authentication requires trusted hosts to be configured'); + + $requestStack = new RequestStack(); + $requestStack->push(new Request(['ticket' => 'ST-1856339'])); + + $cas2Handler = new Cas2Handler($requestStack, 'https://www.example.com/cas', 'cas', new MockHttpClient()); + $cas2Handler->getUserBadgeFrom('ST-1856339'); + } + + public function testRejectsSpoofedHost() + { + Request::setTrustedHosts(['^trusted\.example$']); + + $this->expectException(SuspiciousOperationException::class); + + $requestStack = new RequestStack(); + $requestStack->push(Request::create('https://attacker.example/path?ticket=ST-1856339')); + + $cas2Handler = new Cas2Handler($requestStack, 'https://www.example.com/cas', 'cas', new MockHttpClient()); + $cas2Handler->getUserBadgeFrom('ST-1856339'); + } } From b1ba7e4413cf3afce87f1f1a17a5f6c76b0427b4 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 15 May 2026 08:46:05 +0200 Subject: [PATCH 29/43] [Security] Fix impersonation being deauthenticated on every request --- .../Authentication/Token/AbstractToken.php | 8 ++-- .../Http/Firewall/ContextListener.php | 5 --- .../Tests/Firewall/ContextListenerTest.php | 44 +++++++++++++++++++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php index cc7165adbad76..827fc420f52ce 100644 --- a/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php +++ b/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php @@ -18,10 +18,10 @@ * Base class for Token instances. * * Note that the token's role names are decoupled from the user's roles on purpose: token roles describe - * the authentication context (e.g. a `SwitchUserToken` adds `ROLE_PREVIOUS_ADMIN`), not the user's - * permanent role assignment. This is why `setUser()` only updates the user reference and leaves the - * role names untouched. `ContextListener` is the component responsible for comparing the stored role - * names against `$user->getRoles()` and deauthenticating when they diverge. + * the authentication context, not the user's permanent role assignment. This is why `setUser()` only + * updates the user reference and leaves the role names untouched. `ContextListener` is the component + * responsible for comparing the stored role names against `$user->getRoles()` and deauthenticating + * when they diverge. * * @author Fabien Potencier * @author Johannes M. Schmitt diff --git a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php index c8c68cb9416d9..f0841c4de9545 100644 --- a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php @@ -312,11 +312,6 @@ private static function hasUserChanged(AbstractToken $token, UserInterface $orig } $userRoles = array_map('strval', (array) $refreshedUser->getRoles()); - - if ($token instanceof SwitchUserToken) { - $userRoles[] = 'ROLE_PREVIOUS_ADMIN'; - } - $tokenRoleNames = $token->getRoleNames(); if ( diff --git a/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php b/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php index 8c27c75512498..f81911a219c12 100644 --- a/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Firewall/ContextListenerTest.php @@ -29,6 +29,7 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage; +use Symfony\Component\Security\Core\Authentication\Token\SwitchUserToken; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Core\Exception\UnsupportedUserException; @@ -270,6 +271,49 @@ public function testIfTokenIsNotDeauthenticated() $this->assertSame($goodRefreshedUser, $tokenStorage->getToken()->getUser()); } + public function testSwitchUserTokenIsNotDeauthenticated() + { + $impersonated = new CustomUser('user', ['ROLE_USER'], 'pass', false); + $impersonator = new CustomUser('admin', ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH'], 'pass', false); + $originalToken = new UsernamePasswordToken($impersonator, 'context_key', $impersonator->getRoles()); + $token = new SwitchUserToken($impersonated, 'context_key', $impersonated->getRoles(), $originalToken); + + $session = new Session(new MockArraySessionStorage()); + $session->set('_security_context_key', serialize($token)); + + $request = new Request(); + $request->setSession($session); + $request->cookies->set('MOCKSESSID', true); + + $provider = new class($impersonated) implements UserProviderInterface { + public function __construct(private CustomUser $refreshedUser) + { + } + + public function loadUserByIdentifier(string $identifier): UserInterface + { + return $this->refreshedUser; + } + + public function refreshUser(UserInterface $user): UserInterface + { + return $this->refreshedUser; + } + + public function supportsClass(string $class): bool + { + return CustomUser::class === $class; + } + }; + + $tokenStorage = new TokenStorage(); + $listener = new ContextListener($tokenStorage, [$provider], 'context_key'); + $listener->authenticate(new RequestEvent($this->createStub(HttpKernelInterface::class), $request, HttpKernelInterface::MAIN_REQUEST)); + + $this->assertInstanceOf(SwitchUserToken::class, $tokenStorage->getToken()); + $this->assertSame($impersonated, $tokenStorage->getToken()->getUser()); + } + public function testTryAllUserProvidersUntilASupportingUserProviderIsFound() { $refreshedUser = new InMemoryUser('foobar', 'baz'); From e9f4af29f28c5ba22c2ee80daa49c86ef70d749c Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 15 May 2026 09:42:43 +0200 Subject: [PATCH 30/43] [HttpKernel] Preserve named-attribute override on Request/Session value resolvers --- .../ArgumentResolver/RequestValueResolver.php | 11 ++- .../ArgumentResolver/SessionValueResolver.php | 4 ++ .../RequestValueResolverTest.php | 70 +++++++++++++++++++ .../SessionValueResolverTest.php | 70 +++++++++++++++++++ 4 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/RequestValueResolverTest.php create mode 100644 src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/SessionValueResolverTest.php diff --git a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestValueResolver.php b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestValueResolver.php index 6347f70196681..ef3cc831ea101 100644 --- a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestValueResolver.php +++ b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestValueResolver.php @@ -35,6 +35,15 @@ public function supports(Request $request, ArgumentMetadata $argument): bool public function resolve(Request $request, ArgumentMetadata $argument): array { - return Request::class === $argument->getType() || is_subclass_of($argument->getType(), Request::class) ? [$request] : []; + $type = $argument->getType(); + if (Request::class !== $type && !is_subclass_of($type, Request::class)) { + return []; + } + + if ($request->attributes->has($argument->getName())) { + return []; + } + + return [$request]; } } diff --git a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/SessionValueResolver.php b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/SessionValueResolver.php index c8e7575d5397a..45d8b1fa844e9 100644 --- a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/SessionValueResolver.php +++ b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/SessionValueResolver.php @@ -54,6 +54,10 @@ public function resolve(Request $request, ArgumentMetadata $argument): array return []; } + if ($request->attributes->has($argument->getName())) { + return []; + } + return $request->getSession() instanceof $type ? [$request->getSession()] : []; } } diff --git a/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/RequestValueResolverTest.php b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/RequestValueResolverTest.php new file mode 100644 index 0000000000000..fb584a6ccf0ce --- /dev/null +++ b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/RequestValueResolverTest.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\Controller\ArgumentResolver; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver; +use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; +use Symfony\Component\HttpKernel\Tests\Fixtures\Controller\ExtendingRequest; + +class RequestValueResolverTest extends TestCase +{ + public function testResolveReturnsMainRequest() + { + $resolver = new RequestValueResolver(); + $request = Request::create('/'); + $metadata = new ArgumentMetadata('request', Request::class, false, false, null); + + $this->assertSame([$request], $resolver->resolve($request, $metadata)); + } + + public function testResolveSkipsUnrelatedTypes() + { + $resolver = new RequestValueResolver(); + $request = Request::create('/'); + $metadata = new ArgumentMetadata('foo', \stdClass::class, false, false, null); + + $this->assertSame([], $resolver->resolve($request, $metadata)); + } + + public function testResolveSupportsExtendingRequest() + { + $resolver = new RequestValueResolver(); + $request = new ExtendingRequest(); + $metadata = new ArgumentMetadata('request', ExtendingRequest::class, false, false, null); + + $this->assertSame([$request], $resolver->resolve($request, $metadata)); + } + + public function testResolveDefersWhenMatchingNamedAttributeExists() + { + $resolver = new RequestValueResolver(); + $request = Request::create('/'); + $request->attributes->set('request', Request::create('/other')); + + $metadata = new ArgumentMetadata('request', Request::class, false, false, null); + + $this->assertSame([], $resolver->resolve($request, $metadata)); + } + + public function testResolveIgnoresUnrelatedAttributeName() + { + $resolver = new RequestValueResolver(); + $request = Request::create('/'); + $request->attributes->set('foo', Request::create('/other')); + + $metadata = new ArgumentMetadata('request', Request::class, false, false, null); + + $this->assertSame([$request], $resolver->resolve($request, $metadata)); + } +} diff --git a/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/SessionValueResolverTest.php b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/SessionValueResolverTest.php new file mode 100644 index 0000000000000..a8da04b44453f --- /dev/null +++ b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolver/SessionValueResolverTest.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\Controller\ArgumentResolver; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Session\Session; +use Symfony\Component\HttpFoundation\Session\SessionInterface; +use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; +use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver; +use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; + +class SessionValueResolverTest extends TestCase +{ + public function testResolveReturnsSession() + { + $resolver = new SessionValueResolver(); + $session = new Session(new MockArraySessionStorage()); + $request = Request::create('/'); + $request->setSession($session); + + $metadata = new ArgumentMetadata('session', SessionInterface::class, false, false, null); + + $this->assertSame([$session], $resolver->resolve($request, $metadata)); + } + + public function testResolveSkipsWhenNoSession() + { + $resolver = new SessionValueResolver(); + $request = Request::create('/'); + + $metadata = new ArgumentMetadata('session', SessionInterface::class, false, false, null); + + $this->assertSame([], $resolver->resolve($request, $metadata)); + } + + public function testResolveSkipsUnrelatedTypes() + { + $resolver = new SessionValueResolver(); + $session = new Session(new MockArraySessionStorage()); + $request = Request::create('/'); + $request->setSession($session); + + $metadata = new ArgumentMetadata('foo', \stdClass::class, false, false, null); + + $this->assertSame([], $resolver->resolve($request, $metadata)); + } + + public function testResolveDefersWhenMatchingNamedAttributeExists() + { + $resolver = new SessionValueResolver(); + $session = new Session(new MockArraySessionStorage()); + $request = Request::create('/'); + $request->setSession($session); + $request->attributes->set('session', new Session(new MockArraySessionStorage())); + + $metadata = new ArgumentMetadata('session', SessionInterface::class, false, false, null); + + $this->assertSame([], $resolver->resolve($request, $metadata)); + } +} From 4aaa45dd054f73445f1ab254968b7e60b546cc77 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 18 May 2026 15:29:13 +0200 Subject: [PATCH 31/43] [Notifier][Lox24] Reject webhooks with missing or invalid token --- .../Tests/Webhook/Lox24RequestParserTest.php | 40 ++++++++++++++++++- .../Lox24/Webhook/Lox24RequestParser.php | 7 ++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Notifier/Bridge/Lox24/Tests/Webhook/Lox24RequestParserTest.php b/src/Symfony/Component/Notifier/Bridge/Lox24/Tests/Webhook/Lox24RequestParserTest.php index c1ebc083a9c92..94a8ed5ed46ac 100644 --- a/src/Symfony/Component/Notifier/Bridge/Lox24/Tests/Webhook/Lox24RequestParserTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Lox24/Tests/Webhook/Lox24RequestParserTest.php @@ -311,8 +311,44 @@ public function testSmsDeliveryDlrCodePriorityOverStatusCode() $this->assertSame($payload, $event->getPayload()); } - private function getRequest(array $data): Request + public function testSecretIsRequiredWhenConfigured() { - return Request::create('/test', 'POST', $data); + $this->expectException(RejectWebhookException::class); + + $request = $this->getRequest([ + 'id' => 'webhook-id', + 'name' => 'sms.delivery', + 'data' => ['id' => '123', 'status_code' => 100], + ]); + $this->parser->parse($request, 'shared-secret'); + } + + public function testSecretMismatchIsRejected() + { + $this->expectException(RejectWebhookException::class); + + $request = $this->getRequest([ + 'id' => 'webhook-id', + 'name' => 'sms.delivery', + 'data' => ['id' => '123', 'status_code' => 100], + ], ['HTTP_X-LOX24-Token' => 'wrong']); + $this->parser->parse($request, 'shared-secret'); + } + + public function testSecretMatchIsAccepted() + { + $request = $this->getRequest([ + 'id' => 'webhook-id', + 'name' => 'sms.delivery', + 'data' => ['id' => '123', 'status_code' => 100], + ], ['HTTP_X-LOX24-Token' => 'shared-secret']); + + $event = $this->parser->parse($request, 'shared-secret'); + $this->assertInstanceOf(SmsEvent::class, $event); + } + + private function getRequest(array $data, array $server = []): Request + { + return Request::create('/test', 'POST', $data, [], [], $server); } } diff --git a/src/Symfony/Component/Notifier/Bridge/Lox24/Webhook/Lox24RequestParser.php b/src/Symfony/Component/Notifier/Bridge/Lox24/Webhook/Lox24RequestParser.php index e6bcff076f078..03d09adfc8434 100644 --- a/src/Symfony/Component/Notifier/Bridge/Lox24/Webhook/Lox24RequestParser.php +++ b/src/Symfony/Component/Notifier/Bridge/Lox24/Webhook/Lox24RequestParser.php @@ -36,6 +36,13 @@ protected function getRequestMatcher(): RequestMatcherInterface */ protected function doParse(Request $request, #[\SensitiveParameter] string $secret): SmsEvent|RemoteEvent|null { + if ('' !== $secret) { + $provided = $request->headers->get('X-LOX24-Token'); + if (null === $provided || !hash_equals($secret, $provided)) { + throw new RejectWebhookException(406, 'Invalid or missing webhook token.'); + } + } + $payload = $request->request->all() ?? []; $name = $payload['name'] ?? null; $data = $payload['data'] ?? null; From 784ef719adf3f40bad143ea867fa29d5a943eeed Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 18 May 2026 18:50:08 +0200 Subject: [PATCH 32/43] [DomCrawler] Fix `ChoiceFormField::addChoice()` clobbering values on multi-selects --- .../DomCrawler/Field/ChoiceFormField.php | 6 +++++- .../Tests/Field/ChoiceFormFieldTest.php | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php b/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php index 02285730eda6e..588a8efb677d7 100644 --- a/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php +++ b/src/Symfony/Component/DomCrawler/Field/ChoiceFormField.php @@ -163,7 +163,11 @@ public function addChoice(\DOMElement $node): void $this->options[] = $option; if ($node->hasAttribute('checked')) { - $this->value = $option['value']; + if ($this->multiple) { + $this->value[] = $option['value']; + } else { + $this->value = $option['value']; + } } } diff --git a/src/Symfony/Component/DomCrawler/Tests/Field/ChoiceFormFieldTest.php b/src/Symfony/Component/DomCrawler/Tests/Field/ChoiceFormFieldTest.php index 5de407344d2f8..8380d19a6c218 100644 --- a/src/Symfony/Component/DomCrawler/Tests/Field/ChoiceFormFieldTest.php +++ b/src/Symfony/Component/DomCrawler/Tests/Field/ChoiceFormFieldTest.php @@ -128,6 +128,22 @@ public function testSelectIsDisabled() $this->assertTrue($field->isDisabled(), '->isDisabled() returns true for selects with a disabled attribute'); } + public function testAddChoiceOnMultipleSelectKeepsExistingValues() + { + $node = $this->createSelectNode(['foo' => true, 'bar' => false], ['multiple' => 'multiple']); + $field = new ChoiceFormField($node); + + $this->assertEquals(['foo'], $field->getValue()); + + $document = new \DOMDocument(); + $newOption = $document->createElement('option', 'baz'); + $newOption->setAttribute('value', 'baz'); + $newOption->setAttribute('checked', 'checked'); + $field->addChoice($newOption); + + $this->assertEquals(['foo', 'baz'], $field->getValue()); + } + public function testMultipleSelects() { $node = $this->createSelectNode(['foo' => false, 'bar' => false], ['multiple' => 'multiple']); From 61c3ba3cb903f86745415c686482a5593859304b Mon Sep 17 00:00:00 2001 From: Phil Bates Date: Thu, 14 May 2026 13:57:35 +0100 Subject: [PATCH 33/43] [MonologBridge] Fix `interactive_only` not preventing propagation --- .../Bridge/Monolog/Handler/ConsoleHandler.php | 10 +++-- .../Tests/Handler/ConsoleHandlerTest.php | 41 +++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php b/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php index 7fce087b9f32d..7baf2e0c91f2d 100644 --- a/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php +++ b/src/Symfony/Bridge/Monolog/Handler/ConsoleHandler.php @@ -97,9 +97,13 @@ public function getBubble(): bool public function handle(LogRecord $record): bool { - // we have to update the logging level each time because the verbosity of the - // console output might have changed in the meantime (it is not immutable) - return $this->updateLevel() && parent::handle($record); + if (!$this->isHandling($record)) { + return false; + } + + parent::handle($record); + + return !$this->getBubble(); } public function setInput(InputInterface $input): void diff --git a/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php b/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php index d5382ae495da8..e11c1bf1c4630 100644 --- a/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php +++ b/src/Symfony/Bridge/Monolog/Tests/Handler/ConsoleHandlerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Monolog\Tests\Handler; +use Monolog\Handler\TestHandler; use Monolog\Level; use Monolog\Logger; use PHPUnit\Framework\Attributes\DataProvider; @@ -262,6 +263,46 @@ public function testInteractiveOnly() self::assertTrue($handler->getBubble(), '->getBubble returns true when input is not interactive and interactiveOnly is true'); } + public function testInteractiveOnlyPreventsPropagationWhenInteractive() + { + $interactiveInput = $this->createStub(InputInterface::class); + $interactiveInput->method('isInteractive')->willReturn(true); + + $consoleHandler = new ConsoleHandler(null, true, [], [], true); + $consoleHandler->setInput($interactiveInput); + $consoleHandler->setOutput(new BufferedOutput(OutputInterface::VERBOSITY_VERBOSE)); + + $sibling = new TestHandler(); + $logger = new Logger('test', [$consoleHandler, $sibling]); + + $logger->warning('hello'); + + self::assertFalse( + $sibling->hasWarningRecords(), + 'sibling handler must not receive records when interactive_only is true and input is interactive', + ); + } + + public function testInteractiveOnlyAllowsPropagationWhenNotInteractive() + { + $nonInteractiveInput = $this->createStub(InputInterface::class); + $nonInteractiveInput->method('isInteractive')->willReturn(false); + + $consoleHandler = new ConsoleHandler(null, true, [], [], true); + $consoleHandler->setInput($nonInteractiveInput); + $consoleHandler->setOutput(new BufferedOutput(OutputInterface::VERBOSITY_VERBOSE)); + + $sibling = new TestHandler(); + $logger = new Logger('test', [$consoleHandler, $sibling]); + + $logger->warning('hello'); + + self::assertTrue( + $sibling->hasWarningRecords(), + 'sibling handler must still receive records when interactive_only is true but input is not interactive', + ); + } + public function testNestedCommandsDoNotCloseHandler() { $output = new BufferedOutput(); From 857c3b957e8309777af3813eed148971357e0d3b Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 18 May 2026 20:35:47 +0200 Subject: [PATCH 34/43] [Messenger] Fix PhpSerializer::getMessageType() when getting payload with Serializable instances --- .../Fixtures/DummyLegacySerializable.php | 20 ++ .../Tests/Fixtures/DummyMessageEnum.php | 9 + .../DummyMessageWithLegacySerializable.php | 10 + .../Serialization/PhpSerializerTest.php | 158 +++++++++++++ .../Transport/Serialization/PhpSerializer.php | 208 +++++++++++++++++- 5 files changed, 397 insertions(+), 8 deletions(-) create mode 100644 src/Symfony/Component/Messenger/Tests/Fixtures/DummyLegacySerializable.php create mode 100644 src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageEnum.php create mode 100644 src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageWithLegacySerializable.php diff --git a/src/Symfony/Component/Messenger/Tests/Fixtures/DummyLegacySerializable.php b/src/Symfony/Component/Messenger/Tests/Fixtures/DummyLegacySerializable.php new file mode 100644 index 0000000000000..cc968b936ec7c --- /dev/null +++ b/src/Symfony/Component/Messenger/Tests/Fixtures/DummyLegacySerializable.php @@ -0,0 +1,20 @@ +value; + } + + public function unserialize($data): void + { + $this->value = $data; + } +} diff --git a/src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageEnum.php b/src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageEnum.php new file mode 100644 index 0000000000000..0cc82e946fc79 --- /dev/null +++ b/src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageEnum.php @@ -0,0 +1,9 @@ +assertSame(DummyMessage::class, $serializer->getMessageType($serializer->encode(new Envelope(new DummyMessage("\xE9"))))); } + public function testGetMessageTypeWithLegacySerializableProperty() + { + $serializer = $this->createPhpSerializer(); + + $envelope = new Envelope(new DummyMessageWithLegacySerializable(new DummyLegacySerializable('15.98'))); + $encoded = $serializer->encode($envelope); + + $errors = []; + set_error_handler(static function ($_, $msg) use (&$errors) { + $errors[] = $msg; + + return true; + }); + + try { + $type = $serializer->getMessageType($encoded); + } finally { + restore_error_handler(); + } + + $this->assertSame(DummyMessageWithLegacySerializable::class, $type); + $this->assertSame([], $errors, 'getMessageType() should not emit PHP warnings.'); + } + public function testGetMessageTypeReturnsNullForUndeterminableBody() { $serializer = $this->createPhpSerializer(); @@ -133,6 +177,120 @@ public function testGetMessageTypeReturnsNullForUndeterminableBody() $this->assertNull($serializer->getMessageType(['body' => addslashes(serialize(new DummyMessage('Hello')))])); } + #[DataProvider('provideAdversarialBodies')] + public function testGetMessageTypeRejectsOrMatchesPhpForAdversarialBody(string $body, ?string $expected) + { + $this->assertSame($expected, $this->createPhpSerializer()->getMessageType(['body' => addslashes($body)])); + } + + public static function provideAdversarialBodies(): iterable + { + $stampsKey = 's:44:"'."\0".'Symfony\\Component\\Messenger\\Envelope'."\0".'stamps";'; + $messageKey = 's:45:"'."\0".'Symfony\\Component\\Messenger\\Envelope'."\0".'message";'; + $envelopePrefix = 'O:36:"Symfony\\Component\\Messenger\\Envelope"'; + + yield 'reversed property order: still finds message by key' => [ + $envelopePrefix.':2:{'.$messageKey.'O:8:"stdClass":0:{}'.$stampsKey.'a:0:{}}', + 'stdClass', + ]; + + yield 'duplicate message keys: returns last value (PHP semantics)' => [ + $envelopePrefix.':3:{'.$stampsKey.'a:0:{}'.$messageKey.'O:5:"First":0:{}'.$messageKey.'O:6:"Second":0:{}}', + 'Second', + ]; + + $enumClass = DummyMessageEnum::class; + $enumPayload = $enumClass.':A'; + yield 'enum message: returns class name without case suffix' => [ + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}'.$messageKey.'E:'.\strlen($enumPayload).':"'.$enumPayload.'";}', + $enumClass, + ]; + + yield 'stamp string value containing message-key bytes: ignored' => (static function () use ($stampsKey, $messageKey, $envelopePrefix) { + $decoy = $messageKey.'O:5:"PWNED":0:{}'; + $stamps = 'a:1:{i:0;s:'.\strlen($decoy).':"'.$decoy.'";}'; + + return [ + $envelopePrefix.':2:{'.$stampsKey.$stamps.$messageKey.'O:6:"Honest":0:{}}', + 'Honest', + ]; + })(); + + yield 'C: opaque payload containing message-key bytes: ignored' => (static function () use ($stampsKey, $messageKey, $envelopePrefix) { + $opaque = $messageKey.'O:8:"PWNED999":0:{}'; + $stamps = 'a:1:{i:0;C:6:"FakeOp":'.\strlen($opaque).':{'.$opaque.'}}'; + + return [ + $envelopePrefix.':2:{'.$stampsKey.$stamps.$messageKey.'O:7:"Honest1":0:{}}', + 'Honest1', + ]; + })(); + + yield 'trailing garbage after envelope: rejected' => [ + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}'.$messageKey.'O:8:"stdClass":0:{}}garbage', + null, + ]; + + yield 'wrong declared property count vs actual pairs: rejected' => [ + $envelopePrefix.':3:{'.$stampsKey.'a:0:{}'.$messageKey.'O:8:"stdClass":0:{}}', + null, + ]; + + yield 'message value is a reference to the envelope itself: safely resolves to Envelope' => [ + // PHP unserialize() resolves r:1; to the envelope itself; the resulting class + // name (Envelope) is harmless when fed back to SigningSerializer because + // Envelope is virtually never registered as a signed message type. + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}'.$messageKey.'r:1;}', + Envelope::class, + ]; + + yield 'capital-S binary-string format (not produced by serialize()): rejected' => [ + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}S:45:"\\00Symfony\\\\Component\\\\Messenger\\\\Envelope\\00message";O:6:"Signed":0:{}}', + null, + ]; + + yield 'no message key in envelope: returns null' => [ + $envelopePrefix.':1:{'.$stampsKey.'a:0:{}}', + null, + ]; + + $protectedMessageKey = 's:10:"'."\0*\0".'message";'; + $publicMessageKey = 's:7:"message";'; + + yield 'protected-form message key: scanner recognizes it (PHP routes it to $message)' => [ + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}'.$protectedMessageKey.'O:8:"stdClass":0:{}}', + 'stdClass', + ]; + + yield 'public-form message key: scanner recognizes it (PHP routes it to $message)' => [ + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}'.$publicMessageKey.'O:8:"stdClass":0:{}}', + 'stdClass', + ]; + + yield 'private-form message key with unrelated class name: not recognized' => [ + // PHP only routes "\0\0prop" to Envelope::$prop when + // matches the declaring class. So "\0Unrelated\0message" is just a stray + // dynamic-like property; Envelope::$message stays uninitialized. + $envelopePrefix.':2:{'.$stampsKey.'a:0:{}s:17:"'."\0".'Unrelated'."\0".'message";O:8:"stdClass":0:{}}', + null, + ]; + + yield 'signature bypass attempt: scanner must catch the public-form last-wins override' => [ + // PHP last-wins → $message = Signed; scanner that ignored public-form key + // would return "Unsigned" and let SigningSerializer fall through. + $envelopePrefix.':3:{'.$stampsKey.'a:0:{}'.$messageKey.'O:8:"Unsigned":0:{}'.$publicMessageKey.'O:6:"Signed":0:{}}', + 'Signed', + ]; + + // Deeply nested stamps: PHP unserialize() refuses past unserialize_max_depth (4096 + // by default). The scanner must refuse rather than burning CPU descending recursively. + $deepNesting = str_repeat('a:1:{i:0;', 10_000).'s:0:"";'.str_repeat('}', 10_000); + yield 'deeply nested stamps (DoS guard)' => [ + $envelopePrefix.':2:{'.$stampsKey.$deepNesting.$messageKey.'O:8:"stdClass":0:{}}', + null, + ]; + } + protected function createPhpSerializer(): PhpSerializer { return new PhpSerializer(); diff --git a/src/Symfony/Component/Messenger/Transport/Serialization/PhpSerializer.php b/src/Symfony/Component/Messenger/Transport/Serialization/PhpSerializer.php index 37d9f9d2ab518..8439d259027b0 100644 --- a/src/Symfony/Component/Messenger/Transport/Serialization/PhpSerializer.php +++ b/src/Symfony/Component/Messenger/Transport/Serialization/PhpSerializer.php @@ -64,21 +64,96 @@ public function getMessageType(array $encodedEnvelope): ?string return null; } - try { - // Allowing only Envelope means the carried message (and any stamp) becomes a - // \__PHP_Incomplete_Class, so no constructor/__wakeup/__unserialize runs. - $envelope = @unserialize(stripslashes($body), ['allowed_classes' => [Envelope::class]]); + $body = stripslashes($body); + + // Fast path: when the body carries no Serializable (`C:`) payload, native + // unserialize() with allowed_classes restricted to Envelope is safe and fast. + // The carried message becomes a __PHP_Incomplete_Class with no constructor / + // __wakeup / __unserialize executed. This skips the in-PHP tokenizer below. + if (!str_contains($body, 'C:')) { + try { + $envelope = @unserialize($body, ['allowed_classes' => [Envelope::class]]); - if (!$envelope instanceof Envelope) { + if (!$envelope instanceof Envelope) { + return null; + } + $message = $envelope->getMessage(); + } catch (\Throwable) { return null; } - $message = $envelope->getMessage(); - } catch (\Throwable) { + return $message instanceof \__PHP_Incomplete_Class ? ((array) $message)['__PHP_Incomplete_Class_Name'] : $message::class; + } + + // Slow path: parse the serialized envelope without invoking unserialize() so that + // no Serializable payload is mis-decoded as a __PHP_Incomplete_Class (which has no + // unserializer for the `C:` format and would trigger a PHP warning, sometimes + // returning false). + if (!preg_match('/^O:36:"Symfony\\\\Component\\\\Messenger\\\\Envelope":(\d+):\{/', $body, $m)) { return null; } + $offset = \strlen($m[0]); + $count = (int) $m[1]; + + // PHP unserialize() accepts all three property-name encodings and routes any of + // them to Envelope::$message, so the scanner must recognize all three forms too, + // otherwise an attacker can hide the real message behind a non-canonical key. + $messageKeys = [ + 's:45:"'."\0".Envelope::class."\0".'message";', + 's:10:"'."\0*\0".'message";', + 's:7:"message";', + ]; + $messageType = null; + + for ($i = 0; $i < $count; ++$i) { + $isMessageKey = false; + foreach ($messageKeys as $key) { + if (0 === substr_compare($body, $key, $offset, \strlen($key))) { + $isMessageKey = true; + break; + } + } + + if (!self::skipSerializedValue($body, $offset)) { + return null; + } + + if ($isMessageKey) { + if (!preg_match('/\G[OCE]:(\d+):"/A', $body, $m, 0, $offset)) { + return null; + } + $kind = $body[$offset]; + $nameLen = (int) $m[1]; + $nameOffset = $offset + \strlen($m[0]); + + if ($nameLen <= 0 || \strlen($body) < $nameOffset + $nameLen + 1 || '"' !== $body[$nameOffset + $nameLen]) { + return null; + } + + $name = substr($body, $nameOffset, $nameLen); + + if ('E' === $kind) { + // Enum: name has the form "FQCN:CaseName"; only the class part matters here. + if (!$colon = strpos($name, ':')) { + return null; + } + $name = substr($name, 0, $colon); + } + + // PHP unserialize() uses last-wins for duplicate keys; mirror that semantics. + $messageType = $name; + } + + if (!self::skipSerializedValue($body, $offset)) { + return null; + } + } - return $message instanceof \__PHP_Incomplete_Class ? ((array) $message)['__PHP_Incomplete_Class_Name'] : $message::class; + if (($body[$offset] ?? '') !== '}' || isset($body[$offset + 1])) { + return null; + } + + return $messageType; } public function encode(Envelope $envelope): array @@ -147,4 +222,121 @@ public static function handleUnserializeCallback(string $class): never { throw new MessageDecodingFailedException(\sprintf('Message class "%s" not found during decoding.', $class)); } + + /** + * Advances $offset past one PHP-serialized value, without instantiating any object. + * + * Iterative (manual stack) to avoid PHP function-call overhead on deep payloads. + * $maxDepth mirrors PHP's `unserialize_max_depth` so an adversarial deeply-nested + * payload can't burn CPU or blow the stack here when native unserialize() would + * have rejected it. + */ + private static function skipSerializedValue(string $body, int &$offset, int $maxDepth = 4096): bool + { + // $remaining[$d] = number of values still to parse at nesting level $d + // (one $count pair contributes 2 values: a key and a value). + $depth = 0; + $remaining = [0 => 1]; // one value to read at the top level + + while (true) { + // Close completed nesting levels (`}` per level). + while (0 === $remaining[$depth]) { + if (0 === $depth) { + return true; + } + if (($body[$offset] ?? '') !== '}') { + return false; + } + ++$offset; + unset($remaining[$depth--]); + } + + --$remaining[$depth]; + + if (!isset($body[$offset])) { + return false; + } + $sep = null; + + switch ($kind = $body[$offset]) { + case 'N': // N; + case 'b': // b:0; or b:1; + case 'i': // i:NN; + case 'd': // d:NN[.NN][E±NN]; or d:INF; / d:NAN; + case 'r': // r:NN; + case 'R': // R:NN; + $end = $offset + strspn($body, '0123456789+-.:;NbidrRIFAE', $offset); + while (';' !== $body[$end - 1]) { + if (--$end === $offset) { + return false; + } + } + $remaining[$depth] -= substr_count($body, ';', $offset, $end - $offset) - 1; + $offset = $end; + break; + + case 'a': // a:NN:{;; ...} + if (':' !== ($body[$offset + 1] ?? '')) { + return false; + } + $d = strspn($body, '0123456789', $offset + 2); + if (0 === $d || '{' !== ($body[$offset + 3 + $d] ?? '') || ':' !== $body[$offset + 2 + $d]) { + return false; + } + if (++$depth > $maxDepth) { + return false; + } + $remaining[$depth] = (int) substr($body, $offset + 2, $d) << 1; + $offset += 4 + $d; + break; + + case 's': // s:NN:"..."; + case 'E': // E:NN:":"; + $sep = ';'; + // no break; + case 'O': // O:NN:"FQCN":NN:{;; ...} + case 'C': // C:NN:"FQCN":NN:{} + $sep ??= ':'; + if (':' !== ($body[$offset + 1] ?? '')) { + return false; + } + $d = strspn($body, '0123456789', $offset + 2); + if (0 === $d || '"' !== ($body[$offset + 3 + $d] ?? '') || ':' !== $body[$offset + 2 + $d]) { + return false; + } + $offset += 4 + $d + (int) substr($body, $offset + 2, $d); + if (($body[$offset + 1] ?? '') !== $sep || '"' !== $body[$offset]) { + return false; + } + $offset += 2; + if (';' === $sep) { + break; + } + + $d = strspn($body, '0123456789', $offset); + if (0 === $d || '{' !== ($body[$offset + 1 + $d] ?? '') || ':' !== $body[$offset + $d]) { + return false; + } + $count = (int) substr($body, $offset, $d); + $offset += 2 + $d; + if ('O' === $kind) { + if (++$depth > $maxDepth) { + return false; + } + $remaining[$depth] = $count << 1; + } else { + // C: opaque payload of $count bytes followed by `}`. + $offset += $count; + if (($body[$offset] ?? '') !== '}') { + return false; + } + ++$offset; + } + break; + + default: + return false; + } + } + } } From 8545fb2af6c07dfb5ef0fc8d9bccf86db2c94356 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 18 May 2026 15:27:25 +0200 Subject: [PATCH 35/43] [Notifier][Twilio] Reject webhooks with missing or invalid HMAC signature --- .../Tests/Webhook/TwilioRequestParserTest.php | 83 +++++++++++++++++++ .../Twilio/Webhook/TwilioRequestParser.php | 32 ++++++- 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/Webhook/TwilioRequestParserTest.php b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/Webhook/TwilioRequestParserTest.php index 8a9d2ed78a37c..f0cf2bfffad5e 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/Webhook/TwilioRequestParserTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Twilio/Tests/Webhook/TwilioRequestParserTest.php @@ -14,6 +14,7 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Notifier\Bridge\Twilio\Webhook\TwilioRequestParser; use Symfony\Component\Webhook\Client\RequestParserInterface; +use Symfony\Component\Webhook\Exception\RejectWebhookException; use Symfony\Component\Webhook\Test\AbstractRequestParserTestCase; class TwilioRequestParserTest extends AbstractRequestParserTestCase @@ -36,4 +37,86 @@ protected static function getFixtureExtension(): string { return 'txt'; } + + public function testValidSignatureIsAccepted() + { + $secret = 's3cret-token'; + $params = [ + 'MessageSid' => 'SM1234', + 'MessageStatus' => 'delivered', + 'To' => '+15555550100', + ]; + $url = 'https://example.com/webhook'; + $signature = $this->computeTwilioSignature($url, $params, $secret); + + $request = Request::create($url, 'POST', $params, [], [], [ + 'Content-Type' => 'application/x-www-form-urlencoded', + 'HTTP_X-Twilio-Signature' => $signature, + ]); + + $event = (new TwilioRequestParser())->parse($request, $secret); + $this->assertNotNull($event); + $this->assertSame('SM1234', $event->getId()); + } + + public function testMissingSignatureHeaderIsRejected() + { + $request = Request::create('https://example.com/webhook', 'POST', [ + 'MessageSid' => 'SM1234', + 'MessageStatus' => 'delivered', + 'To' => '+15555550100', + ], [], [], [ + 'Content-Type' => 'application/x-www-form-urlencoded', + ]); + + $this->expectException(RejectWebhookException::class); + (new TwilioRequestParser())->parse($request, 's3cret-token'); + } + + public function testBadSignatureIsRejected() + { + $request = Request::create('https://example.com/webhook', 'POST', [ + 'MessageSid' => 'SM1234', + 'MessageStatus' => 'delivered', + 'To' => '+15555550100', + ], [], [], [ + 'Content-Type' => 'application/x-www-form-urlencoded', + 'HTTP_X-Twilio-Signature' => base64_encode('not-the-right-mac'), + ]); + + $this->expectException(RejectWebhookException::class); + (new TwilioRequestParser())->parse($request, 's3cret-token'); + } + + public function testJsonContentTypeIsRejected() + { + $request = Request::create( + 'https://example.com/webhook', + 'POST', + [], + [], + [], + ['Content-Type' => 'application/json'], + json_encode([ + 'MessageSid' => 'SM1234', + 'MessageStatus' => 'delivered', + 'To' => '+15555550100', + ]) + ); + + $this->expectException(RejectWebhookException::class); + $this->expectExceptionMessage('Payload is malformed.'); + (new TwilioRequestParser())->parse($request, 's3cret-token'); + } + + private function computeTwilioSignature(string $url, array $params, string $secret): string + { + ksort($params); + $data = $url; + foreach ($params as $k => $v) { + $data .= $k.$v; + } + + return base64_encode(hash_hmac('sha1', $data, $secret, true)); + } } diff --git a/src/Symfony/Component/Notifier/Bridge/Twilio/Webhook/TwilioRequestParser.php b/src/Symfony/Component/Notifier/Bridge/Twilio/Webhook/TwilioRequestParser.php index 84d8f2ee744f9..267b1702e47f4 100644 --- a/src/Symfony/Component/Notifier/Bridge/Twilio/Webhook/TwilioRequestParser.php +++ b/src/Symfony/Component/Notifier/Bridge/Twilio/Webhook/TwilioRequestParser.php @@ -38,6 +38,10 @@ protected function doParse(Request $request, #[\SensitiveParameter] string $secr throw new RejectWebhookException(406, 'Payload is malformed.'); } + if ('' !== $secret) { + $this->verifySignature($request, $payload, $secret); + } + $name = match ($payload['MessageStatus']) { 'delivered' => SmsEvent::DELIVERED, 'failed' => SmsEvent::FAILED, @@ -50,7 +54,7 @@ protected function doParse(Request $request, #[\SensitiveParameter] string $secr 'receiving' => null, 'received' => null, 'scheduled' => null, - default => throw new RejectWebhookException(406, \sprintf('Unsupported event "%s".', $payload['event'])), + default => throw new RejectWebhookException(406, \sprintf('Unsupported event "%s".', $payload['MessageStatus'])), }; if (!$name) { return null; @@ -60,4 +64,30 @@ protected function doParse(Request $request, #[\SensitiveParameter] string $secr return $event; } + + /** + * Validates the X-Twilio-Signature header against the documented scheme: + * HMAC-SHA1 over the full request URL concatenated with the POST parameters + * sorted alphabetically by key (key1.value1.key2.value2...), then base64-encoded. + * + * @see https://www.twilio.com/docs/usage/webhooks/webhooks-security + */ + private function verifySignature(Request $request, array $payload, #[\SensitiveParameter] string $secret): void + { + if (!$signature = $request->headers->get('X-Twilio-Signature')) { + throw new RejectWebhookException(406, 'Missing signature header.'); + } + + ksort($payload); + $data = $request->getUri(); + foreach ($payload as $key => $value) { + $data .= $key.$value; + } + + $expected = base64_encode(hash_hmac('sha1', $data, $secret, true)); + + if (!hash_equals($expected, $signature)) { + throw new RejectWebhookException(406, 'Signature is invalid.'); + } + } } From 487728e7e180a674a6d4c01bd0cb56161cc441b7 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 12 May 2026 15:48:44 +0200 Subject: [PATCH 36/43] [HtmlSanitizer] Sanitize URLs in action, formaction, poster and cite attributes --- .../Tests/HtmlSanitizerCustomTest.php | 80 +++++++++++++++++++ .../UrlAttributeSanitizer.php | 4 +- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php index dd413621c632b..c6f007f4607d6 100644 --- a/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php +++ b/src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php @@ -423,6 +423,86 @@ public function testAllowMediasRelative() ); } + public function testActionAttributeIsSanitized() + { + $config = (new HtmlSanitizerConfig()) + ->allowElement('form', ['action']) + ; + + $this->assertSame( + '
Hello world
', + $this->sanitize($config, '
Hello world
') + ); + + $this->assertSame( + '
Hello world
', + $this->sanitize($config, '
Hello world
') + ); + + $this->assertSame( + '
Hello world
', + $this->sanitize($config, '
Hello world
') + ); + } + + public function testFormactionAttributeIsSanitized() + { + $config = (new HtmlSanitizerConfig()) + ->allowElement('button', ['formaction']) + ->allowElement('input', ['type', 'formaction']) + ; + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + } + + public function testPosterAttributeIsSanitized() + { + $config = (new HtmlSanitizerConfig()) + ->allowElement('video', ['poster']) + ; + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + + $this->assertSame( + '', + $this->sanitize($config, '') + ); + } + + public function testCiteAttributeIsSanitized() + { + $config = (new HtmlSanitizerConfig()) + ->allowElement('blockquote', ['cite']) + ->allowElement('q', ['cite']) + ; + + $this->assertSame( + '
Hello world
', + $this->sanitize($config, '
Hello world
') + ); + + $this->assertSame( + 'Hello world', + $this->sanitize($config, 'Hello world') + ); + } + public function testCustomAttributeSanitizer() { $config = (new HtmlSanitizerConfig()) diff --git a/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php b/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php index c5bb336c4b9de..7a4b5d44a689c 100644 --- a/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php +++ b/src/Symfony/Component/HtmlSanitizer/Visitor/AttributeSanitizer/UrlAttributeSanitizer.php @@ -27,12 +27,12 @@ public function getSupportedElements(): ?array public function getSupportedAttributes(): ?array { - return ['src', 'href', 'lowsrc', 'background', 'ping']; + return ['src', 'href', 'lowsrc', 'background', 'ping', 'action', 'formaction', 'poster', 'cite']; } public function sanitizeAttribute(string $element, string $attribute, string $value, HtmlSanitizerConfig $config): ?string { - if (\in_array($element, ['a', 'area'], true)) { + if (\in_array($element, ['a', 'area'], true) || \in_array($attribute, ['action', 'formaction', 'cite'], true)) { return UrlSanitizer::sanitize( $value, $config->getAllowedLinkSchemes(), From 3228c3806ee511008bea19a95084d460b17e5d25 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 20 May 2026 08:33:17 +0200 Subject: [PATCH 37/43] [Runtime] Fix CVE-2024-50340 patch bypass by gating argv on $_SERVER['QUERY_STRING'] --- .../Component/Runtime/SymfonyRuntime.php | 4 ++-- .../phpt/kernel_query_string_argv_bypass.phpt | 21 +++++++++++++++++++ .../Tests/phpt/kernel_register_argc_argv.phpt | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/Symfony/Component/Runtime/Tests/phpt/kernel_query_string_argv_bypass.phpt diff --git a/src/Symfony/Component/Runtime/SymfonyRuntime.php b/src/Symfony/Component/Runtime/SymfonyRuntime.php index 5612b3e570872..c94b02e31a94b 100644 --- a/src/Symfony/Component/Runtime/SymfonyRuntime.php +++ b/src/Symfony/Component/Runtime/SymfonyRuntime.php @@ -95,7 +95,7 @@ public function __construct(array $options = []) if (isset($options['env'])) { $_SERVER[$envKey] = $options['env']; - } elseif (empty($_GET) && isset($_SERVER['argv']) && class_exists(ArgvInput::class)) { + } elseif (!isset($_SERVER['QUERY_STRING']) && isset($_SERVER['argv']) && class_exists(ArgvInput::class)) { $this->options = $options; $this->getInput(); } @@ -216,7 +216,7 @@ protected static function register(GenericRuntime $runtime): GenericRuntime private function getInput(): ArgvInput { - if (!empty($_GET) && filter_var(ini_get('register_argc_argv'), \FILTER_VALIDATE_BOOL)) { + if (isset($_SERVER['QUERY_STRING']) && filter_var(ini_get('register_argc_argv'), \FILTER_VALIDATE_BOOL)) { throw new \Exception('CLI applications cannot be run safely on non-CLI SAPIs with register_argc_argv=On.'); } diff --git a/src/Symfony/Component/Runtime/Tests/phpt/kernel_query_string_argv_bypass.phpt b/src/Symfony/Component/Runtime/Tests/phpt/kernel_query_string_argv_bypass.phpt new file mode 100644 index 0000000000000..975145d4c4b5d --- /dev/null +++ b/src/Symfony/Component/Runtime/Tests/phpt/kernel_query_string_argv_bypass.phpt @@ -0,0 +1,21 @@ +--TEST-- +Test that argv is ignored on web requests even when $_GET parses empty (QUERY_STRING gap) +--INI-- +display_errors=1 +register_argc_argv=1 +--FILE-- + +--EXPECTF-- +OK Kernel (env=dev) foo_bar diff --git a/src/Symfony/Component/Runtime/Tests/phpt/kernel_register_argc_argv.phpt b/src/Symfony/Component/Runtime/Tests/phpt/kernel_register_argc_argv.phpt index 4da82d2ac6408..3f6b5a57640d1 100644 --- a/src/Symfony/Component/Runtime/Tests/phpt/kernel_register_argc_argv.phpt +++ b/src/Symfony/Component/Runtime/Tests/phpt/kernel_register_argc_argv.phpt @@ -8,6 +8,7 @@ register_argc_argv=1 // emulating PHP behavior with register_argc_argv=1 $_GET['-e_test'] = ''; +$_SERVER['QUERY_STRING'] = '-e_test='; $_SERVER['argc'] = 1; $_SERVER['argv'] = [' ', '-e', 'test']; From 46bf5f6615a6b0c32165457ae6b490de8befd98d Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 10:55:33 +0200 Subject: [PATCH 38/43] Update CHANGELOG for 6.4.40 --- CHANGELOG-6.4.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG-6.4.md b/CHANGELOG-6.4.md index 96e3ef9fcca75..6fc3ff74bf722 100644 --- a/CHANGELOG-6.4.md +++ b/CHANGELOG-6.4.md @@ -7,6 +7,29 @@ in 6.4 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/v6.4.0...v6.4.1 +* 6.4.40 (2026-05-20) + + * security #cve-2026-46626 [Runtime] Fix CVE-2024-50340 patch bypass by gating argv on $_SERVER['QUERY_STRING'] (nicolas-grekas) + * security #cve-2026-47212 [Notifier][Twilio] Reject webhooks with missing or invalid HMAC signature (nicolas-grekas) + * security #cve-2026-45753 [HtmlSanitizer] Sanitize URLs in action, formaction, poster and cite attributes (nicolas-grekas) + * security #cve-2026-45754 [Mailer][Mailjet] Reject webhooks with missing or invalid Basic credentials (alexandre-daubois) + * security #cve-2026-45072 [TwigBridge] Fix XSS issue in CodeExtension::fileExcerpt() (nicolas-grekas) + * security #cve-2026-45064 [HtmlSanitizer] Reject BiDi override characters and percent-encode spaces in URLs (nicolas-grekas) + * security #cve-2026-45066 [HtmlSanitizer] Fix `allowLinkHosts`/`allowMediaHosts` bypass via URL parser differentials and `` misclassification (alexandre-daubois) + * security #cve-2026-45069 [Security] Add missing claims in `OidcTokenHandler` (alexandre-daubois) + * bug #64258 [DomCrawler] Fix `ChoiceFormField::addChoice()` clobbering values on multi-selects (nicolas-grekas) + * bug #64214 [HttpKernel] Preserve named-attribute override on Request/Session value resolvers (nicolas-grekas) + * security #cve-2026-45305 [Yaml] Harden the Parser::cleanup() regexes against catastrophic backtracking (nicolas-grekas) + * security #cve-2026-45304 [Yaml] Bound collection-alias resolution in the parser (nicolas-grekas) + * security #cve-2026-45133 [Yaml] Bound recursion depth in the parser (nicolas-grekas) + * security #cve-2026-45071 [DomCrawler] Fix XXE in addXmlContent() by not enabling `validateOnParse` (alexandre-daubois) + * security #cve-2026-45068 [Mailer] Add end-of-options separator before recipients in SendmailTransport; reject addresses starting with a dash (alexandre-daubois) + * security #cve-2026-45063 [Security] Anchor emailAddress regex to RDN boundary in X509Authenticator (alexandre-daubois) + * security #cve-2026-45065 [Routing] Fix regex alternation anchoring in `UrlGenerator` requirement validation (alexandre-daubois) + * security #cve-2026-45067 [Mime] Reject email addresses containing line breaks in Address (alexandre-daubois) + * security #cve-2026-45073 [Cache] Validate the prefix given to AbstractAdapter::clear() (nicolas-grekas) + * security #cve-2026-45077 [MonologBridge] Bind server:log to localhost by default (nicolas-grekas) + * 6.4.39 (2026-05-13) * bug #64198 [SecurityBundle] Allow defining security provider factories without config (hockdudu) From f623a38aec72e043c75193b6679c88820d48e4cc Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 10:55:47 +0200 Subject: [PATCH 39/43] Update CONTRIBUTORS for 6.4.40 --- CONTRIBUTORS.md | 5757 ++++++++++++++++++++++++----------------------- 1 file changed, 2879 insertions(+), 2878 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 77ab10a5049b2..a99a88f756c88 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -38,8 +38,8 @@ The Symfony Connect username in parenthesis allows to get more information - Tobias Nyholm (tobias) - Samuel ROZE (sroze) - Pascal Borreli (pborreli) - - Santiago San Martin (santysisi) - Romain Neutron + - Santiago San Martin (santysisi) - Kevin Bond (kbond) - Joseph Bielawski (stloyd) - Drak (drak) @@ -57,12 +57,12 @@ The Symfony Connect username in parenthesis allows to get more information - Jan Schädlich (jschaedl) - Vincent Langlet (deviling) - Antonio J. García Lagar (ajgarlag) - - Kévin THERAGE (kevin_therage) - Pierre-Emmanuel CAPEL (pecapel) + - Kévin THERAGE (kevin_therage) - Pierre-Emmanuel CAPEL - Valtteri R (valtzu) - - Simon André (simonandre) - corradogrimoldi + - Simon André (simonandre) - Matthias Pigulla (mpdude) - Gabriel Ostrolucký (gadelat) - Jonathan Wage (jwage) @@ -71,1035 +71,1045 @@ The Symfony Connect username in parenthesis allows to get more information - Grégoire Paris (greg0ire) - Alexandre Salomé (alexandresalome) - William DURAND - - Pierre du Plessis (pierredup) - Dany Maillard (maidmaid) - - Francis Besset (francisbesset) - - Titouan Galopin (tgalopin) + - Pierre du Plessis (pierredup) - Gábor Egyed (1ed) + - Eriksen Costa - stealth35 ‏ (stealth35) - Diego Saint Esteben (dosten) - - Eriksen Costa + - Francis Besset (francisbesset) + - Titouan Galopin (tgalopin) - Alexander Mols (asm89) - David Maicher (dmaicher) - Tomasz Kowalczyk (thunderer) - - Gary PEGEOT (gary-p) - Bulat Shakirzyanov (avalanche123) - - Iltar van der Berg - Ruud Kamphuis (ruudk) + - Gary PEGEOT (gary-p) + - Iltar van der Berg - Miha Vrhovnik (mvrhov) - - Allison Guilhem (a_guilhem) - Saša Stamenković (umpirsky) + - Allison Guilhem (a_guilhem) - Mathieu Piot (mpiot) - Vasilij Duško (staff) - Tomas Norkūnas (norkunas) + - Konstantin Kudryashov (everzet) - Sarah Khalil (saro0h) - Laurent VOULLEMIER (lvo) - - Konstantin Kudryashov (everzet) - Bilal Amarni (bamarni) - Guilhem N (guilhemn) - Eriksen Costa - - Hubert Lenoir (hubert_lenoir) - soyuka - - Florin Patan (florinpatan) + - Hubert Lenoir (hubert_lenoir) - Vladimir Reznichenko (kalessil) - - Henrik Bjørnskov (henrikbjorn) + - Florin Patan (florinpatan) - Peter Rehm (rpet) + - Henrik Bjørnskov (henrikbjorn) - David Buchmann (dbu) + - Ben Younes Ousama (oby) - Andrej Hudec (pulzarraider) - Jáchym Toušek (enumag) - - Christian Raue - - Antoine Makdessi (amakdessi) - Eric Clemmons (ericclemmons) - Arnout Boks (aboks) + - Antoine Makdessi (amakdessi) + - Christian Raue - Denis (yethee) - - Alex Pott - Issei Murasawa (issei_m) - - Douglas Greenshields (shieldo) - - Ben Younes Ousama (oby) - Michel Weimerskirch (mweimerskirch) - David Prévot (taffit) - - Fran Moreno (franmomu) + - Alex Pott + - Douglas Greenshields (shieldo) - Frank A. Fiebig (fafiebig) + - Fran Moreno (franmomu) - Baldini - - Henrik Westphal (snc) + - Charles Sarrazin (csarrazi) - Yanick Witschi (toflar) + - Henrik Westphal (snc) - Dariusz Górecki (canni) - - Charles Sarrazin (csarrazi) - Konstantin Myakshin (koc) - Ener-Getick - Massimiliano Arione (garak) - Phil E. Taylor (philetaylor) - - Graham Campbell (graham) - Joel Wurtz (brouznouf) - Tugdual Saunier (tucksaun) - - Brandon Turner - - Lee McDermott - - Théo FIDRY + - Graham Campbell (graham) - Luis Cordova (cordoval) - - Daniel Holmes (dholmes) + - Théo FIDRY + - Lee McDermott + - Brandon Turner - Julien Falque (julienfalque) - - Jordan Alliot (jalliot) - - Vasilij Dusko | CREATION + - Daniel Holmes (dholmes) - Toni Uebernickel (havvg) - Bart van den Burg (burgov) - - Catoire (lacatoire) + - Vasilij Dusko | CREATION + - Jordan Alliot (jalliot) - Jeroen Spee (jeroens) - John Wards (johnwards) - Florent Morselli (spomky_) + - Catoire (lacatoire) - Konstantin.Myakshin - Antoine Hérault (herzult) - - Tac Tacelosky (tacman1123) - - Arnaud Le Blanc (arnaud-lb) - - Maxime STEINHAUSSER - Rokas Mikalkėnas (rokasm) + - Maxime STEINHAUSSER - Sebastiaan Stok (sstok) - - gnito-org - - Tim Nagel (merk) + - Tac Tacelosky (tacman1123) + - Arnaud Le Blanc (arnaud-lb) - Jérôme Vasseur (jvasseur) + - gnito-org - Chris Wilkinson (thewilkybarkid) + - Brice BERNARD (brikou) - Peter Kokot (peterkokot) - Jacob Dreesen (jdreesen) - - Brice BERNARD (brikou) - - Michal Piotrowski - - marc.weistroff + - Tim Nagel (merk) - Younes ENNAJI (yokho) + - marc.weistroff - Nicolas Philippe (nikophil) - Vladimir Tsykun (vtsykun) + - Michal Piotrowski - Lars Strojny (lstrojny) - - Włodzimierz Gajda (gajdaw) - - Jérôme Parmentier (lctrs) - Javier Spagnoletti (phansys) + - Gregor Harlan (gharlan) - Adrien Brault (adrienbrault) + - Włodzimierz Gajda (gajdaw) - Maximilian Beckers (maxbeckers) - - Gregor Harlan (gharlan) - - Florian Voutzinos (florianv) - - Colin Frei - - Gordon Franke (gimler) + - Jérôme Parmentier (lctrs) + - Bob van de Vijver (bobvandevijver) + - Przemysław Bogusz (przemyslaw-bogusz) - Teoh Han Hui (teohhanhui) + - Colin Frei - Pascal CESCON (amoifr) - - Przemysław Bogusz (przemyslaw-bogusz) - - Bob van de Vijver (bobvandevijver) - - Paráda József (paradajozsef) - - Hugo Alliaume (kocal) + - Gordon Franke (gimler) + - Florian Voutzinos (florianv) + - Saif Eddin Gmati (azjezz) - Maxime Helias (maxhelias) - - Dāvis Zālītis (k0d3r1s) - - Baptiste Clavié (talus) - Fabien Pennequin (fabienpennequin) - - Alexander Schwenn (xelaris) - - Saif Eddin Gmati (azjezz) + - Baptiste Clavié (talus) + - Hugo Alliaume (kocal) + - Paráda József (paradajozsef) - Andreas Schempp (aschempp) - - Alexis Lefebvre - - jeremyFreeAgent (jeremyfreeagent) + - Alexander Schwenn (xelaris) + - Dāvis Zālītis (k0d3r1s) + - Daniel Wehner (dawehner) + - Joshua Thijssen - Michael Babker (mbabker) + - Alexis Lefebvre - Christopher Hertel (chertel) + - jeremyFreeAgent (jeremyfreeagent) + - Thomas Landauer (thomas-landauer) + - François-Xavier de Guillebon (de-gui_f) - Malte Schlüter (maltemaltesich) - Vasilij Dusko - - Daniel Wehner (dawehner) - - Joshua Thijssen - - François-Xavier de Guillebon (de-gui_f) - - Thomas Landauer (thomas-landauer) - Eric GELOEN (gelo) - - Smaine Milianni (ismail1432) - - Jhonny Lidfors (jhonne) - Stiven Llupa (sllupa) - - Robert Schönthal (digitalkaoz) + - Jhonny Lidfors (jhonne) + - Ion Bazan (ionbazan) + - Niels Keurentjes (curry684) + - Richard van Laak (rvanlaak) + - Smaine Milianni (ismail1432) - Stefano Sala (stefano.sala) + - Jonathan Scheiber (jmsche) - Gabriel Caruso - OGAWA Katsuhiro (fivestar) - - Richard van Laak (rvanlaak) - - Niels Keurentjes (curry684) - - Jonathan Scheiber (jmsche) - - Ion Bazan (ionbazan) - - Juti Noppornpitak (shiroyuki) - - Arnaud Kleinpeter (nanocom) - - Tigran Azatyan (tigranazatyan) + - Robert Schönthal (digitalkaoz) + - Hidenori Goto (hidenorigoto) - Sebastian Hörl (blogsh) - - Daniel Gomes (danielcsgomes) - Florent Mata (fmata) - - Romain Monteil (ker0x) - - Hidenori Goto (hidenorigoto) + - Daniel Gomes (danielcsgomes) + - Guilherme Blanco (guilhermeblanco) - Anthony MARTIN + - Arnaud Kleinpeter (nanocom) + - Juti Noppornpitak (shiroyuki) + - Romain Monteil (ker0x) + - Tigran Azatyan (tigranazatyan) - Ben Davies (bendavies) - - Guilherme Blanco (guilhermeblanco) - - Jan Rosier (rosier) - - Fritz Michael Gschwantner (fritzmg) + - Rafael Dohms (rdohms) - jwdeitch - - Farhad Safarov (safarov) + - Roman Martinuk (a2a4) + - Fritz Michael Gschwantner (fritzmg) - Michael Käfer (michael_kaefer) - - Rafael Dohms (rdohms) + - Jan Rosier (rosier) - Alessandro Chitolina (alekitto) - - Roman Martinuk (a2a4) + - Farhad Safarov (safarov) - Pablo Godel (pgodel) + - Jérémy Derussé + - Simon Berger + - Dawid Nowak + - Andréia Bohner (andreia) - Jack Worman (jworman) + - Philipp Wahala (hifi) - Indra Gunawan (indragunawan) - - Andréia Bohner (andreia) - - Vyacheslav Pavlov - - Tomas Votruba (tomas_votruba) - - George Mponos (gmponos) - - Ahmed TAILOULOUTE (ahmedtai) - - Dawid Nowak - - Jérémy Derussé - Sokolov Evgeniy (ewgraf) + - Alessandro Lai (jean85) + - Richard Shank (iampersistent) + - Arman Hosseini (arman) + - Tom Van Looy (tvlooy) + - George Mponos (gmponos) + - Vyacheslav Pavlov - Roland Franssen + - Tomas Votruba (tomas_votruba) - Albert Casademont (acasademont) - - Tom Van Looy (tvlooy) - Matthieu Napoli (mnapoli) - - Arman Hosseini (arman) - - Philipp Wahala (hifi) - - Simon Berger - - Richard Shank (iampersistent) - - Tyson Andre - - Guillaume (guill) - - Oleg Voronkovich + - Ahmed TAILOULOUTE (ahmedtai) + - Michał Pipa (michal.pipa) + - zairig imad (zairigimad) + - Soner Sayakci (shyim) + - wkania + - Quynh Xuan Nguyen (seriquynh) + - Fabien Bourigault (fbourigault) + - YaFou - Jonathan Ingram - - Matthieu Ouellette-Vachon (maoueh) + - Wouter J - Sergey (upyx) - - Asis Pattisahusiwa - - YaFou - - Alessandro Lai (jean85) - - GDIBass - - Samuel NELA (snela) - - Clemens Tolboom + - Olivier Dolbeau (odolbeau) + - Vincent Touzet (vincenttouzet) + - Gocha Ossinkine (ossinkine) - Rouven Weßling (realityking) - - Daniel Burger - - 77web - - Wouter J - Jannik Zschiesche - - Michał Pipa (michal.pipa) - - Jesse Rushlow (geeshoe) - - Gocha Ossinkine (ossinkine) - - Vincent Touzet (vincenttouzet) - Dorian Villet (gnutix) - - Artur Kotyrba - - zairig imad (zairigimad) - - Antonio Pauletich (x-coder264) - - Quynh Xuan Nguyen (seriquynh) - - wkania + - Samuel NELA (snela) + - Tyson Andre - Marco Pivetta (ocramius) - - Olivier Dolbeau (odolbeau) - Ayyoub AFW-ALLAH (ayyoub-afwallah) - - Fabien Bourigault (fbourigault) - - Alex Hofbauer (alexhofbauer) - - Soner Sayakci (shyim) + - 77web + - Antonio Pauletich (x-coder264) + - GDIBass + - Oleg Voronkovich + - Jesse Rushlow (geeshoe) + - Daniel Burger + - Guillaume (guill) - Amal Raghav (kertz) - - Mikael Pajunen - - Sébastien Alfaiate (seb33300) - - Arnaud PETITPAS (apetitpa) + - Alex Hofbauer (alexhofbauer) + - Asis Pattisahusiwa + - Clemens Tolboom + - Artur Kotyrba + - Matthieu Ouellette-Vachon (maoueh) + - Justin Hileman (bobthecow) + - Christian Scheb - Daniel Espendiller - - Colin O'Dell (colinodell) + - Quentin Devos + - Michael Voříšek - Markus Fasselt (digilist) + - Colin O'Dell (colinodell) + - Larry Garfield (crell) + - Anthony GRASSIOT (antograssiot) + - Baptiste Leduc (korbeil) + - Dmitrii Chekaliuk (lazyhammer) + - VAN DER PUTTE Guillaume (guillaume_vdp) + - Alan Poulain (alanpoulain) - Nate Wiebe (natewiebe13) - - Marko Kaznovac (kaznovac) + - Richard Miller - Clément JOBEILI (dator) - - DQNEO + - Marko Kaznovac (kaznovac) - Warnar Boekkooi (boekkooi) - Victor Bocharsky (bocharsky_bw) + - Thomas Rabaix (rande) - Andreas Möller (localheinz) + - DQNEO + - Chi-teck + - James Halsall (jaitsu) - Mario A. Alvarez Garcia (nomack84) - - Alan Poulain (alanpoulain) - - Baptiste Leduc (korbeil) - - Marek Štípek (maryo) - - D (denderello) - - VAN DER PUTTE Guillaume (guillaume_vdp) + - Mikael Pajunen - Sergey Linnik (linniksa) - - Quentin Devos - - Thomas Rabaix (rande) - - Anthony GRASSIOT (antograssiot) - - Chi-teck - - James Halsall (jaitsu) - - Christian Scheb - - Justin Hileman (bobthecow) - - Martin Hujer (martinhujer) - - Larry Garfield (crell) + - Marek Štípek (maryo) - Vincent AUBERT (vincent) - Aleksandar Jakovljevic (ajakov) - - Richard Miller - - Michael Voříšek - - Dmitrii Chekaliuk (lazyhammer) - - Bastien Jaillot (bastnic) - - Pierre Minnieur (pminnieur) - - Christian Schmidt - - Bram Leeda (bram123) - - Remon van de Kamp - - Guilliam Xavier - - Nikolay Labinskiy (e-moe) - - Ruben Gonzalez (rubenrua) - - Filippo Tessarotto (slamdunk) - - roman joly (eltharin) - - Andreas Hucks (meandmymonkey) - - Noel Guilbert (noel) - - Leo Feyer - - Mathieu Lemoine (lemoinem) - - Denis Brumann (dbrumann) - - Anderson Müller + - Sébastien Alfaiate (seb33300) + - Arnaud PETITPAS (apetitpa) + - Martin Hujer (martinhujer) + - D (denderello) - Benjamin Dulau (dbenjamin) - - Patrick Landolt (scube) - - Priyadi Iman Nurcahyo (priyadi) - - Stepan Anchugov (kix) - - Jonathan H. Wage - Karoly Gossler (connorhu) - - Loick Piera (pyrech) - - bronze1man - - Giorgio Premi - Andre Rømcke (andrerom) - - Stadly - - apetitpa - mcfedr (mcfedr) + - Ruben Gonzalez (rubenrua) + - Pierre Minnieur (pminnieur) + - Jonathan H. Wage + - Loick Piera (pyrech) + - Noel Guilbert (noel) + - Guilliam Xavier - Timo Bakx (timobakx) + - Andreas Hucks (meandmymonkey) + - Stadly + - Remon van de Kamp + - Filippo Tessarotto (slamdunk) + - Anderson Müller - sun (sun) + - Bastien Jaillot (bastnic) + - Denis Brumann (dbrumann) + - Nikolay Labinskiy (e-moe) + - Christian Schmidt - Martin Schuhfuß (usefulthink) - - Julien Brochet - - John Kary (johnkary) + - bronze1man + - Leo Feyer + - Giorgio Premi + - Mathieu Lemoine (lemoinem) + - roman joly (eltharin) + - Stepan Anchugov (kix) + - Bram Leeda (bram123) + - apetitpa + - Priyadi Iman Nurcahyo (priyadi) + - Patrick Landolt (scube) + - Edi Modrić (emodric) + - Jean-Baptiste Delhommeau + - Jan Sorgalla (jsor) + - Pascal Montoya + - Hugo Monteiro (monteiro) + - Oleg Andreyev (oleg.andreyev) + - Yassine Guedidi (yguedidi) - Evert Harmeling (evertharmeling) - - fd6130 (fdtvui) - - Chris Smith (cs278) - - Wojciech Kania + - Michele Orselli (orso) + - Arjen van der Meijden + - Jeroen Noten (jeroennoten) + - Jérémie Augustin (jaugustin) + - François Pluchino (francoispluchino) + - Wolfgang Klinger (wolfgangklingerplan2net) + - Thomas Lallement (raziel057) + - Leszek Prabucki (l3l0) + - Marcin Sikoń (marphi) - Tristan Darricau (tristandsensio) - - François Zaninotto (fzaninotto) - - Valentine Boineau (valentineboineau) - - Jean-Baptiste Delhommeau - - Sven Paulus (subsven) + - Marcel Beerta (mazen) - Dustin Whittle (dustinwhittle) - - Leszek Prabucki (l3l0) - - Dmitrii Poddubnyi (karser) - - jeff - - Dmitry Bukhonov - - Mickael GOETZ - - Peter Kruithof (pkruithof) - - Arjen van der Meijden - henrikbjorn - - Matthieu Lempereur (mryamous) - - Hugo Monteiro (monteiro) - - Thomas Lallement (raziel057) - - Võ Xuân Tiến (tienvx) - - Rui Marinho (ruimarinho) + - Wojciech Kania + - Peter Kruithof (pkruithof) - a.dmitryuk + - Rui Marinho (ruimarinho) + - Võ Xuân Tiến (tienvx) + - Dmitry Bukhonov + - Mickael GOETZ + - Mantis Development + - Chris Smith (cs278) + - Valentine Boineau (valentineboineau) + - Sven Paulus (subsven) - Timothée Barray (tyx) - - Oleg Andreyev (oleg.andreyev) - - François Pluchino (francoispluchino) - - Jérémie Augustin (jaugustin) - - Michele Orselli (orso) - - Wolfgang Klinger (wolfgangklingerplan2net) + - jeff + - Michael Lee (zerustech) + - Matthieu Lempereur (mryamous) + - Julien Brochet + - fd6130 (fdtvui) + - John Kary (johnkary) - Maxime Veber (nek-) - - Yassine Guedidi (yguedidi) - - Pascal Montoya - Maciej Malarz (malarzm) - - Mantis Development - - Jeroen Noten (jeroennoten) - - Marcel Beerta (mazen) - - Florian Lonqueu-Brochard (florianlb) - Joe Bennett (kralos) - - Jan Sorgalla (jsor) - - Edi Modrić (emodric) - - Michael Lee (zerustech) - - Marcin Sikoń (marphi) - - Zan Baldwin (zanbaldwin) - - Pierre-Yves Lebecq (pylebecq) - - dFayet + - Dmitrii Poddubnyi (karser) + - Florian Lonqueu-Brochard (florianlb) + - François Zaninotto (fzaninotto) + - Francois Zaninotto + - Lynn van der Berg (kjarli) + - Benoît Burnichon (bburnichon) + - Dariusz Ruminski + - Joseph Rouff (rouffj) + - David Badura (davidbadura) + - Patrick McDougle (patrick-mcdougle) + - Alexander Kotynia (olden) + - Bob den Otter (bopp) + - Jordan Samouh (jordansamouh) + - Arnt Gulbrandsen - Michaël Perrin (michael.perrin) + - Christian Schmidt + - Roman Ring (inori) + - Daniel Gorgan - Michał (bambucha15) + - Pierre-Yves Lebecq (pylebecq) - javaDeveloperKid - - maxime.steinhausser + - dFayet + - BoShurik + - Xavier Perez - Nikita Konstantinov (unkind) - - Adam Prager (padam87) - - Alexander Kotynia (olden) - - Christian Schmidt - - Rob Frawley 2nd (robfrawley) - - Thomas Adam - - Anton Chernikov (anton_ch1989) - - Joseph Rouff (rouffj) - - David Badura (davidbadura) - - Romaric Drigon (romaricdrigon) - Arjen Brouwer (arjenjb) - - siganushka (siganushka) - - Ray - - Benjamin Leveque (benji07) - - Adrian Rudnik (kreischweide) - - Thibault Gattolliat (crovitche) - - Dariusz Ruminski - - Sylvain Fabre (sylfabre) - - Hidde Wieringa (hiddewie) - - Elnur Abdurrakhimov (elnur) - - BoShurik - - Alif Rachmawadi - - Thomas Schulz (king2500) + - Oleksiy (alexndlm) - Daniel Tschinder - - Lynn van der Berg (kjarli) - - pcescon - - Xavier Perez - - Jurica Vlahoviček (vjurica) - - Link1515 - - Jordan Samouh (jordansamouh) - - Benoît Burnichon (bburnichon) - - Patrick McDougle (patrick-mcdougle) - - Renan (renanbr) + - Eugene Leonovich (rybakit) + - Alif Rachmawadi - Manuel Reinhard (sprain) - - Oleksiy (alexndlm) - - Sullivan SENECHAL (soullivaneuh) - - Aurélien Pillevesse (aurelienpillevesse) - - Philipp Cordes (corphi) - - Uwe Jäger (uwej711) - Xavier Montaña Carreras (xmontana) - - Arnt Gulbrandsen + - Hidde Wieringa (hiddewie) + - Ray + - Emanuele Panzeri (thepanz) + - jdhoek + - Aurélien Pillevesse (aurelienpillevesse) + - Jurica Vlahoviček (vjurica) + - Danny Berger (dpb587) + - Adrian Rudnik (kreischweide) + - Fabien S (bafs) - Pierre Ambroise (dotordu) - Félix Labrecque (woodspire) - - GordonsLondon + - Adam Prager (padam87) + - Thibault Gattolliat (crovitche) + - Benjamin Leveque (benji07) + - Renan (renanbr) + - Anton Chernikov (anton_ch1989) + - Zan Baldwin (zanbaldwin) - Chekote - - Bob den Otter (bopp) - - Michel Roca (mroca) - - jdhoek - - Kyle - - Emanuele Panzeri (thepanz) - - Fabien S (bafs) - - Danny Berger (dpb587) - - Daniel Gorgan + - GordonsLondon + - siganushka (siganushka) + - Rob Frawley 2nd (robfrawley) - Marc Weistroff (futurecat) - - Eugene Leonovich (rybakit) + - Romaric Drigon (romaricdrigon) + - Michel Roca (mroca) + - Link1515 + - Elnur Abdurrakhimov (elnur) + - Tim Goudriaan (codedmonkey) - Alex Rock (pierstoval) + - pcescon + - Sylvain Fabre (sylfabre) + - Sullivan SENECHAL (soullivaneuh) + - Kyle + - Uwe Jäger (uwej711) + - Thomas Schulz (king2500) + - maxime.steinhausser + - Thomas Adam + - Philipp Cordes (corphi) - Iker Ibarguren (ikerib) - - Tim Goudriaan (codedmonkey) - - Roman Ring (inori) - - Francois Zaninotto - - Bohan Yang (brentybh) - - Serkan Yildiz (srknyldz) - - Grégoire Passault (gregwar) - - Philippe SEGATORI (tigitz) - - Raphaël Geffroy (raphael-geffroy) - - Benjamin Morel - - Marco Petersen (ocrampete16) + - Matthieu Auger (matthieuauger) - jaugustin + - Hamza Makraz (makraz) + - Jordane VASPARD (elementaire) + - Ismael Ambrosi (iambrosi) + - Magnus Nordlander (magnusnordlander) + - Maximilian Reichel (phramz) + - Cédric Anne + - Francesc Rosàs (frosas) - Jerzy Zawadzki (jzawadzki) + - Gabor Toth (tgabi333) - Christopher Davis (chrisguitarguy) - - Jan Decavele (jandc) - - Loïc Frémont (loic425) + - flack (flack) + - Pavel Batanov (scaytrase) + - Raphaël Geffroy (raphael-geffroy) + - Simon Podlipsky (simpod) + - Marcos Sánchez + - Samaël Villette (samadu61) + - Robert Kiss (kepten) - Dominique Bongiraud - - Ben Hakim - - Tiago Ribeiro (fixe) - - Michael Hirschler (mvhirsch) + - Loïc Frémont (loic425) + - Thomas Bisignani (toma) + - Beau Simensen (simensen) + - rudy onfroy (ronfroy) + - Bohan Yang (brentybh) + - Benjamin Morel + - Atsuhiro KUBO (iteman) + - Wu (wu-agriconomie) + - realmfoo - Sergey Belyshkin (sbelyshkin) - - Magnus Nordlander (magnusnordlander) - - Matthieu Auger (matthieuauger) - - Karoly Negyesi (chx) + - Alexandre Quercia (alquerci) - Fabien Villepinte - - renanbr - - Wodor Wodorski - - Moshe Weitzman (weitzman) - - janschoenherr - - Baptiste Lafontaine (magnetik) - - Lee Rowlands + - Thomas Tourlourat (armetiz) + - Emmanuel BORGES + - Wouter Van Hecke + - Pascal Luna (skalpa) - Kim Hemsø Rasmussen (kimhemsoe) - - Blanchon Vincent (blanchonvincent) - - Herberto Graca - - Atsuhiro KUBO (iteman) - - Pavel Batanov (scaytrase) - - Maximilian Reichel (phramz) - Dane Powell - - Christian Schmidt - - realmfoo - - Soner Sayakci - - Josip Kruslin (jkruslin) - - Alexey Kopytko (sanmai) + - Raul Fraile (raulfraile) + - Ben Hakim + - Tiago Ribeiro (fixe) + - Andrey Lebedev (alebedev) - Craig Duncan (duncan3dc) - - Samaël Villette (samadu61) - - Thomas Tourlourat (armetiz) - - Mathieu Rochette (mathroc) - - Hamza Makraz (makraz) - - Jordane VASPARD (elementaire) + - Sebastien Morel (plopix) + - Blanchon Vincent (blanchonvincent) + - Herberto Graca + - Manuel de Ruiter (manuel) - Marc Morera (mmoreram) - - Wu (wu-agriconomie) - - Ivan Kurnosov - - Sébastien Lavoie (lavoiesl) - - Aurelijus Valeiša (aurelijus) + - Vilius Grigaliūnas + - renanbr - Emanuele Gaspari (inmarelibero) + - Marco Petersen (ocrampete16) + - Grégoire Passault (gregwar) + - Frank de Jonge + - Wodor Wodorski + - Damien Alexandre (damienalexandre) + - Andrii Bodnar + - janschoenherr + - Bertrand Zuchuat (garfield-fr) + - Mathieu Rochette (mathroc) + - Lee Rowlands + - Sébastien Lavoie (lavoiesl) - Dalibor Karlović + - Jan Decavele (jandc) + - Baptiste Lafontaine (magnetik) + - Andrew Moore (finewolf) + - Manuel Kießling (manuelkiessling) + - Stepan Tanasiychuk (stfalcon) + - Gustavo Piltcher + - Aurelijus Valeiša (aurelijus) + - Ivan Kurnosov + - Serkan Yildiz (srknyldz) + - Quentin Dequippe (qdequippe) + - Yoann RENARD (yrenard) + - Josip Kruslin (jkruslin) + - Florian Klein (docteurklein) - SiD (plbsid) - - rudy onfroy (ronfroy) + - Moshe Weitzman (weitzman) + - Alexey Kopytko (sanmai) - Joppe De Cuyper (joppedc) - - Frank de Jonge - - Marcos Sánchez - - Pascal Luna (skalpa) - - Thomas Bisignani (toma) - - Robert Kiss (kepten) - - Cédric Anne - Warxcell (warxcell) - - Andrew Moore (finewolf) - - Raul Fraile (raulfraile) - - Manuel de Ruiter (manuel) - - Quentin Dequippe (qdequippe) + - Michael Hirschler (mvhirsch) + - Christian Schmidt - Michael Holm (hollo) - - Simon Podlipsky (simpod) - - Sebastien Morel (plopix) - - Wouter Van Hecke - - Gustavo Piltcher - - Andrey Lebedev (alebedev) - - Manuel Kießling (manuelkiessling) - - Gabor Toth (tgabi333) - - Bertrand Zuchuat (garfield-fr) + - Soner Sayakci - schlndh - - Beau Simensen (simensen) - - Alexandre Quercia (alquerci) - - Vilius Grigaliūnas - - Emmanuel BORGES - - Stepan Tanasiychuk (stfalcon) - - Damien Alexandre (damienalexandre) - - flack (flack) + - Philippe SEGATORI (tigitz) - Andrey Esaulov (andremaha) - Pavel Kirpitsov (pavel-kirpichyov) - - Florian Klein (docteurklein) - - Andrii Bodnar - - Yoann RENARD (yrenard) - - Ismael Ambrosi (iambrosi) - - Francesc Rosàs (frosas) - - Quentin Schuler (sukei) - - Gwendolen Lynch - - Inal DJAFAR (inalgnu) - - Michele Locati - - hubert lecorche (hlecorche) - - Kristen Gilden - - Ivan Mezinov - - Zmey - - Thierry T (lepiaf) - - Marek Kalnik (marekkalnik) - - Matthias Althaus (althaus) - - Nicolas LEFEVRE (nicoweb) - - kor3k kor3k (kor3k) - - Neil Peyssard (nepey) - - FORT Pierre-Louis (plfort) - - Pablo Lozano (arkadis) - - Yaroslav Kiliba - - Laszlo Korte - - Alain Hippolyte (aloneh) - - Nadim AL ABDOU (nadim) - - Daniel Tschinder + - Karoly Negyesi (chx) + - Kirill chEbba Chebunin + - hossein zolfi (ocean) + - Haralan Dobrev (hkdobrev) + - Philipp Kräutli (pkraeutli) + - Philippe Segatori + - Kieran Brahney + - Raffaele Carelle + - Urinbayev Shakhobiddin (shokhaa) - Johann Pardanaud - - Vadim Kharitonov (vadim) - - Alessandro Desantis - - Mateusz Sip (mateusz_sip) - - James Gilliland (neclimdul) - - Ivan Sarastov (isarastov) + - Max Baldanza + - Maarten de Boer (mdeboer) - Eric Masoero (eric-masoero) - - Ilija Tovilo (ilijatovilo) - - Roumen Damianoff - - BrokenSourceCode + - Karel Souffriau + - Clément Gautier (clementgautier) + - Albert Jessurum (ajessu) + - mondrake (mondrake) - Kai + - Vitaliy Zakharov (zakharovvi) + - vladimir.reznichenko + - Ricard Clau (ricardclau) + - Ivan Sarastov (isarastov) + - Yannick Ihmels (ihmels) - Sanpi (sanpi) - - Lorenz Schori - - Terje Bråten - - Greg Thornton (xdissent) - - Maksym Slesarenko (maksym_slesarenko) + - Grzegorz (Greg) Zdanowski (kiler129) + - Martin Herndl (herndlm) + - Thierry T (lepiaf) - Hassan Amouhzi - - Lukáš Holeczy (holicz) - - Daniel Beyer - - Dmytro Borysovskyi (dmytr0) - - mondrake (mondrake) - - vladimir.reznichenko - - Steven RENAUX (steven_renaux) - - Gyula Sallai (salla) - - Valmonzo - - Asmir Mustafic (goetas) - - ShinDarth - - Grenier Kévin (mcsky_biig) - - Albert Jessurum (ajessu) - - ivan - - Thibaut Cheymol (tcheymol) - - Kirill chEbba Chebunin + - Issam Raouf (iraouf) + - Jeremy Livingston (jeremylivingston) + - Tobias Sjösten (tobiassjosten) - Anthon Pang (robocoder) - - smoench - - Urinbayev Shakhobiddin (shokhaa) - - Matthew Lewinski (lewinski) - - Oscar Cubo Medina (ocubom) - - Karel Souffriau - - Florent Blaison (orkin) - - Mokhtar Tlili (sf-djuba) - - Bohdan Bobko - - Raffaele Carelle - - Rob Bast - - Julien Galenski (ruian) - - Kieran Brahney - - Max Baldanza + - Islam Israfilov (islam93) + - Grenier Kévin (mcsky_biig) + - SUMIDA, Ippei (ippey_s) + - Gyula Sallai (salla) + - Roumen Damianoff - Joe Lencioni - - Ricard Clau (ricardclau) - - Grzegorz (Greg) Zdanowski (kiler129) - - Costin Bereveanu (schniper) - - Pol Dellaiera (drupol) - - Rhodri Pugh (rodnaph) + - Asmir Mustafic (goetas) + - Steven RENAUX (steven_renaux) - Maximilian Ruta (deltachaos) - - Harm van Tilborg (hvt) + - Eduardo Gulias (egulias) + - Mateusz Sip (mateusz_sip) + - Gonzalo Vilaseca (gonzalovilaseca) - Thomas Royer (cydonia7) - - Jan Nedbal - Diego Agulló (aeoris) - - Eduardo Gulias (egulias) - - Mathias STRASSER (roukmoute) + - Cătălin Dan (dancatalin) - Artem (artemgenvald) - Alex Bowers - - Jakub Kucharovic (jkucharovic) - - Felix Labrecque - - Tobias Sjösten (tobiassjosten) - - Vitalii Ekert (comrade42) + - Vyacheslav Salakhutdinov (megazoll) + - Valmonzo + - Mathias STRASSER (roukmoute) + - Pol Dellaiera (drupol) + - Ahmed Ghanem (ahmedghanem00) - Alex (aik099) - Francesco Levorato - - Ben Scott (bpscott) - - Yannick Ihmels (ihmels) - - Marc Morales Valldepérez (kuert) + - Kev + - smoench + - Jakub Kucharovic (jkucharovic) - Hendrik Luup (hluup) - - Ahmed Raafat - - Dave Long + - Endre Fejes + - Maksym Slesarenko (maksym_slesarenko) + - Ahmed Raafat + - Matthew Lewinski (lewinski) + - Clara van Miert + - Pavel Volokitin (pvolok) - Andy Palmer (andyexeter) - giulio de donato (liuggio) - - Islam Israfilov (islam93) - - Robbert Klarenbeek (robbertkl) - - Pavel Volokitin (pvolok) - - Dimitri Gritsajuk (ottaviano) - - Issam Raouf (iraouf) - - hossein zolfi (ocean) - - Haralan Dobrev (hkdobrev) - - Philipp Kräutli (pkraeutli) - - Philippe Segatori - Hans Mackowiak - - Maarten de Boer (mdeboer) - - Clément Gautier (clementgautier) - - Vitaliy Zakharov (zakharovvi) - - C (dagardner) - - Martin Herndl (herndlm) - - SUMIDA, Ippei (ippey_s) - - Vyacheslav Salakhutdinov (megazoll) - - Ahmed Ghanem (ahmedghanem00) - - Vincent Chalamon + - James Gilliland (neclimdul) + - Robbert Klarenbeek (robbertkl) + - Dmytro Borysovskyi (dmytr0) - Xavier HAUSHERR + - BrokenSourceCode + - Jan Nedbal + - Alain Hippolyte (aloneh) + - Stéphane PY (steph_py) + - ivan + - Julien Galenski (ruian) + - Alessandro Desantis + - Vadim Kharitonov (vadim) + - Daniel Tschinder + - Dimitri Gritsajuk (ottaviano) - Gasan Guseynov (gassan) + - Nadim AL ABDOU (nadim) - Christophe L. (christophelau) - - Gonzalo Vilaseca (gonzalovilaseca) + - Oscar Cubo Medina (ocubom) + - Bohdan Bobko + - Shein Alexey - Thomas Perez (scullwm) + - C (dagardner) + - Marc Biorklund (mbiork) - Damien Fernandes - - Tarmo Leppänen (tarlepp) - - Clara van Miert + - Laszlo Korte - Jesper Noordsij - - Tobias Naumann (tna) - - Endre Fejes + - Marek Kalnik (marekkalnik) + - Vincent Chalamon + - hubert lecorche (hlecorche) + - Felix Labrecque + - Vitalii Ekert (comrade42) - Erin Millard - - Marc Biorklund (mbiork) - - Kev - - Kevin van Sonsbeek (kevin_van_sonsbeek) + - Tarmo Leppänen (tarlepp) + - Zmey + - Tobias Naumann (tna) + - Yaroslav Kiliba + - Pablo Lozano (arkadis) - Vladyslav Loboda - - Stéphane PY (steph_py) - - Shein Alexey + - Ilija Tovilo (ilijatovilo) + - Inal DJAFAR (inalgnu) + - Ivan Mezinov + - Kevin van Sonsbeek (kevin_van_sonsbeek) + - FORT Pierre-Louis (plfort) + - Lorenz Schori + - Neil Peyssard (nepey) - Arthur de Moulins (4rthem) - - Daniel STANCU + - kor3k kor3k (kor3k) - Nathanael Noblet (gnat) + - Nicolas LEFEVRE (nicoweb) + - Kristen Gilden + - Daniel STANCU + - Terje Bråten + - Michele Locati + - Greg Thornton (xdissent) - Jan Böhmer + - Matthias Althaus (althaus) + - Gwendolen Lynch + - Quentin Schuler (sukei) - Pierre Rineau - - Cătălin Dan (dancatalin) - - Jeremy Livingston (jeremylivingston) - - ilyes kooli (skafandri) - - Romain Gautier (mykiwi) - - Dave Hulbert (dave1010) + - Marc Morales Valldepérez (kuert) + - Rob Bast + - Rhodri Pugh (rodnaph) + - Ben Scott (bpscott) + - Dave Long + - Harm van Tilborg (hvt) + - Costin Bereveanu (schniper) + - ShinDarth + - Thibaut Cheymol (tcheymol) + - Florent Blaison (orkin) + - Daniel Beyer + - Mokhtar Tlili (sf-djuba) + - Lukáš Holeczy (holicz) + - Anthony Ferrara + - Philipp Rieber (bicpi) + - Asier Illarramendi (doup) + - Ali-HENDA + - Petr Duda (petrduda) + - Robert-Jan de Dreu + - M. Vondano + - Benjamin Cremer (bcremer) + - Ziumin + - Matthias Krauser (mkrauser) + - lenar + - Raulnet + - Gigino Chianese (sajito) + - Matthijs van den Bos (matthijs) + - Roberto Espinoza (respinoza) + - mcben + - Grummfy (grummfy) + - Maelan LE BORGNE + - Thomas Durand + - Maxime Pinot (maximepinot) + - jprivet-dev + - Denis Gorbachev (starfall) + - Jérôme Tanghe (deuchnord) + - Judicaël RUFFIEUX (axanagor) + - Benjamin (yzalis) + - Soufian EZ ZANTAR (soezz) + - lancergr + - Forfarle (forfarle) + - Adrien Roches (neirda24) + - Adam Szaraniec + - Kamil Kokot (pamil) + - Marek Zajac + - Roy Van Ginneken (rvanginneken) + - Michael Moravec + - Korvin Szanto + - Giso Stallenberg (gisostallenberg) + - Dmitriy Mamontov (mamontovdmitriy) + - Brian King + - Matheo Daninos (mathdns) + - Niklas Fiekas + - Krzysztof Piasecki (krzysztek) + - Maximilian Zumbansen + - Nate (frickenate) + - Jacek Jędrzejewski (jacek.jedrzejewski) + - Belhassen Bouchoucha (crownbackend) + - Alex Bakhturin + - Lenard Palko + - Ben Roberts (benr77) + - Maxim Dovydenok (dovydenok-maxim) - PHAS Developer - - Peter Bowyer (pbowyer) - - Eugene Wissner - - tim - - Philipp Scheit (pscheit) - - Bahman Mehrdad (bahman) - - Denis Kulichkin (onexhovia) - - Aurélien Fredouelle - - Benjamin Zaslavsky (tiriel) + - Bilge + - Martin Kirilov (wucdbm) - Laurent Masforné (heisenberg) - - AnneKir - - Jan Ole Behrens (deegital) - - Krzysztof Piasecki (krzysztek) - - Berny Cantos (xphere81) - - François Dume (franek) - - Vlad Gregurco (vgregurco) - - simon chrzanowski (simonch) - - Tobias Weichart - - Fabian Lange (codingfabian) - - Jérôme Tanghe (deuchnord) - - sasezaki - - Zbigniew Malcherczyk (ferror) + - Boris Vujicic (boris.vujicic) - Marcin Szepczynski (czepol) - - Greg Anderson - - William Arslett (warslett) - - Geoffrey Tran (geoff) - - Sergey Melesh (sergex) - - Lenard Palko - - Thomas Durand - - Angelov Dejan (angelov) - - Loïc Ovigne (oviglo) - - Jacek Jędrzejewski (jacek.jedrzejewski) - - Giso Stallenberg (gisostallenberg) + - Jonas Flodén (flojon) + - Eyüp Can Akman - Kurt Thiemann - - Luc Vieillescazes (iamluc) - - Filip Procházka (fprochazka) - - Trent Steel (trsteel88) - - Nate (frickenate) - - Jérôme Macias (jeromemacias) - - Marcos Rezende (rezende79) - - Emanuele Iannone - - Tobias Bönner - - NickSdot + - Rodrigo Borrego Bernabé (rodrigobb) + - Sergio Santoro + - Jannik Zschiesche + - Tavo Nieves J (tavoniievez) + - mamazu + - Peter Bowyer (pbowyer) + - Andrii Dembitskyi - Jonas Elfering - - Erik Saunier (snickers) - - Eyüp Can Akman - - Florian Merle (florian-merle) - - aaa2000 (aaa2000) - - Ioan Negulescu - - Adam Szaraniec - - boombatower + - Jan van Thoor (janvt) + - William Arslett (warslett) + - Roman Anasal + - sasezaki + - Denis Kulichkin (onexhovia) + - Pablo Díez (pablodip) + - tim - De Cock Xavier (xdecock) - - Guilherme Ferreira - - Sergio Santoro - - Zach Badgett (zachbadgett) - - Gábor Fási - - Franck RANAIVO-HARISOA (franckranaivo) - - Eduardo Oliveira (entering) + - Benjamin Zaslavsky (tiriel) + - Loïc Ovigne (oviglo) + - Restless-ET + - Gunnstein Lye (glye) + - Ivan Rey (ivanrey) + - Luc Vieillescazes (iamluc) + - Alexander Deruwe (aderuwe) + - Arkadius Stefanski (arkadius) + - Dariusz Ruminski + - Jan Ole Behrens (deegital) - Jeanmonod David (jeanmonod) - - Sergey Panteleev - - Ziumin - - Lctrs - - Maxime Pinot (maximepinot) - - Korvin Szanto - - Nathan Dench (ndenc2) - - Roman Anasal - - Pavel Popov (metaer) + - BENOIT POLASZEK (bpolaszek) + - Erik Saunier (snickers) + - Bohdan Pliachenko + - Disquedur + - Xavier HAUSHERR + - wicliff wolda (wickedone) + - Arturs Vonda + - Ryan + - Nicolas Rigaud + - Trent Steel (trsteel88) - Miroslav Šustek (sustmi) - - Vicent Soria Durá (vicentgodella) - - Jaik Dean (jaikdean) - - Asier Illarramendi (doup) - - Christoph Mewes (xrstf) - - Dmitriy Mamontov (mamontovdmitriy) - - Daniel Tiringer - - Remi Collet - - Miro Michalicka - - Alex Bakhturin - - Krasimir Bosilkov (kbosilkov) - - mmokhi - - Shakhobiddin - - Leevi Graham (leevigraham) - - Andrii Dembitskyi - - Piotr Kugla (piku235) - - Joachim Løvgaard (loevgaard) - - Bernd Stellwag - - Yevhen Sidelnyk - - Steven Surowiec (steves) - - Johnny Robeson (johnny) - - Jérôme Vieilledent (lolautruche) - - Dariusz Ruminski - - R. Achmad Dadang Nur Hidayanto (dadangnh) - - Jakub Škvára (jskvara) - Chad Sikorra (chadsikorra) - - Alexandru Furculita (afurculita) - - Matthew Grasmick - - Gijs van Lammeren - - Joshua Nye - - Tavo Nieves J (tavoniievez) - - Martin Parsiegla (spea) - - Chris Sedlmayr (catchamonkey) - - Michael Moravec - - Dennis Fridrich (dfridrich) - - Kevin McBride - - Silas Joisten (silasjoisten) - - Fabrice Bernhard (fabriceb) - - Benjamin Georgeault (wedgesama) - - Ivan Rey (ivanrey) - - Martin Gilbert (nitram1618) - - Nils Adermann (naderman) - - Thomas Talbot (ioni) - - Oleksii Zhurbytskyi - - John Bafford (jbafford) - - Adam Harvey - - Roy Van Ginneken (rvanginneken) - - Gunnstein Lye (glye) - - Judicaël RUFFIEUX (axanagor) - - Yoshio HANAWA - - Anton Bakai - - Jan Schumann - - Vitaliy Tverdokhlib (vitaliytv) - - Lescot Edouard (idetox) - - Gawain Lynch (gawain) - - Markus Lanthaler (lanthaler) - - Michel Salib (michelsalib) + - Philipp Scheit (pscheit) + - Nicolas Dewez (nicolas_dewez) + - Benoit Galati (benoitgalati) + - Brayden Williams (redstar504) + - Norbert Orzechowicz (norzechowicz) + - Nathan Dench (ndenc2) + - DerManoMann + - Martin Morávek (keeo) + - Jiří Bok + - Johnny Robeson (johnny) + - Jeroen Thora (bolle) + - Marcin Michalski (marcinmichalski) + - Markus Bachmann (baachi) - Alireza Mirsepassi (alirezamirsepassi) - - Samuele Lilli (doncallisto) - - Ariel Ferrandini (aferrandini) + - Vitaliy Tverdokhlib (vitaliytv) + - Sergey Panteleev - Ned Schwartz - - Restless-ET - - Artem Stepin (astepin) - - Mohammad Emran Hasan (phpfour) - - Matthew Smeets - - Andrew M-Y (andr) - - M. Vondano + - Vlad Gregurco (vgregurco) + - François Dume (franek) + - Tobias Bönner + - Cédric Lombardot (cedriclombardot) + - Jérémy DECOOL (jdecool) + - Jérémy M (th3mouk) - Matthieu Bontemps - - Brayden Williams (redstar504) - - Martin Morávek (keeo) - - Gigino Chianese (sajito) - - Denis Gorbachev (starfall) + - Andrew Udvare (audvare) + - Miro Michalicka + - Jan Schumann + - Gábor Fási + - R. Achmad Dadang Nur Hidayanto (dadangnh) + - Chris Tanaskoski (devristo) + - Arnaud De Abreu (arnaud-deabreu) + - Zbigniew Malcherczyk (ferror) - Dirk Pahl (dirkaholic) - - Marek Zajac - - Erik Trapman - - Faizan Akram Dar (faizanakram) - - Ryan + - Gawain Lynch (gawain) + - Axel Guckelsberger (guite) + - Geoffrey Tran (geoff) + - Vicent Soria Durá (vicentgodella) + - boombatower - vagrant - - Matheo Daninos (mathdns) - - Jonathan Johnson (jrjohnson) - - wicliff wolda (wickedone) - - Boris Vujicic (boris.vujicic) - - PatNowak - - Loïc Faugeron - - Andrew Udvare (audvare) + - nikos.sotiropoulos + - Florian Rey (nervo) + - Lescot Edouard (idetox) - Markus Staab - - Sander Toonen (xatoo) - - Anatoly Pashin (b1rdex) - - Klaus Silveira (klaussilveira) - - Jibé Barth (jibbarth) - - Jiří Bok - - Benoit Galati (benoitgalati) + - Arnaud POINTET (oipnet) + - Johan Vlaar (johjohan) + - Gildas Quéméner (gquemener) + - Artem Stepin (astepin) + - Loïc Faugeron + - Greg ORIOL + - Piotr Kugla (piku235) + - PatNowak + - Kevin McBride - Ioan Ovidiu Enache (ionutenache) - - Robert-Jan de Dreu - - battye - - BASAK Semih (itsemih) + - Bhavinkumar Nakrani (bhavin4u) + - “Filip + - Pavel Popov (metaer) + - Dennis Fridrich (dfridrich) + - Sander Toonen (xatoo) + - Andrew M-Y (andr) + - Mark Challoner (markchalloner) + - Ioan Negulescu + - Thomas Talbot (ioni) + - Fabrice Bernhard (fabriceb) + - Jérôme Vieilledent (lolautruche) + - aaa2000 (aaa2000) + - Sergey Melesh (sergex) + - Florian Merle (florian-merle) + - Emanuele Iannone + - Toni Rudolf (toooni) - Ivan Nikolaev (destillat) + - Fabian Lange (codingfabian) + - Webnet team (webnet) - Vadim Borodavko (javer) - - Norbert Orzechowicz (norzechowicz) - - Rodrigo Borrego Bernabé (rodrigobb) - - jprivet-dev - - lenar + - BASAK Semih (itsemih) + - Krasimir Bosilkov (kbosilkov) + - Yoshio HANAWA + - Ariel Ferrandini (aferrandini) + - Tobias Weichart + - Martijn Cuppens + - Filip Procházka (fprochazka) + - Jérôme Macias (jeromemacias) + - Jibé Barth (jibbarth) + - Mohammad Emran Hasan (phpfour) + - Erkhembayar Gantulga (erheme318) + - Jerzy Lekowski (jlekowski) + - Lctrs + - Nils Adermann (naderman) + - Aurélien Fredouelle + - Tom Klingenberg + - NickSdot + - mmokhi + - Shakhobiddin + - Bahman Mehrdad (bahman) + - Martin Parsiegla (spea) + - Adam Harvey + - Marvin Feldmann (breyndotechse) + - Pavel Campr (pcampr) + - Bernd Stellwag + - Patrick Reimers (preimers) + - Kevin Saliou (kbsali) + - Marcos Rezende (rezende79) + - Steffen Roßkamp + - Yi-Jyun Pan + - Florent Destremau (florentdestremau) + - John Bafford (jbafford) + - Antonin CLAUZIER (0x346e3730) + - Samuele Lilli (doncallisto) + - Christoph Mewes (xrstf) + - Michel Salib (michelsalib) + - nathanpage + - Silas Joisten (silasjoisten) + - Shawn Iwinski - Clemens Krack (ckrack) - - Stefan Gehrig (sgehrig) - - Markus S. (staabm) - - Petr Duda (petrduda) + - Scott Arciszewski + - Yevhen Sidelnyk + - Ben Ramsey (ramsey) - Sebastian Zoglowek - - Greg ORIOL - - BENOIT POLASZEK (bpolaszek) - - kylekatarnls (kylekatarnls) - - Antonio Jose Cerezo (ajcerezo) - - Antonin CLAUZIER (0x346e3730) - - Raulnet - - Pavel Campr (pcampr) + - Remi Collet - Ricardo Oliveira (ricardolotr) - - Martijn Cuppens - - nathanpage - - Marvin Feldmann (breyndotechse) - - Grummfy (grummfy) + - Andrii Dembitskyi + - Martin Gilbert (nitram1618) + - Petrisor Ciprian Daniel + - Greg Anderson + - W0rma + - Antonio Jose Cerezo (ajcerezo) + - simon chrzanowski (simonch) + - AKeeman (akeeman) + - Andreas Hennings + - Jaik Dean (jaikdean) + - Tri Pham (phamuyentri) + - Benjamin Georgeault (wedgesama) + - Markus Lanthaler (lanthaler) + - battye + - Jonathan Johnson (jrjohnson) - Valentin Jonovs - - Xavier HAUSHERR - - Ben Roberts (benr77) - - Jérémy M (th3mouk) - - mamazu - - Bohdan Pliachenko - Christian Gripp (core23) - - Cédric Lombardot (cedriclombardot) - - Yi-Jyun Pan - - Webnet team (webnet) + - ReenExe + - Angelov Dejan (angelov) + - Guilherme Ferreira + - Zach Badgett (zachbadgett) + - Berny Cantos (xphere81) + - Franck RANAIVO-HARISOA (franckranaivo) - M. (mbontemps) - - Philipp Rieber (bicpi) - - Disquedur - - Arturs Vonda + - Matthew Grasmick + - Eugene Wissner + - Steven Surowiec (steves) + - Marcin Chyłek (songoq) + - Erik Trapman + - geoffrey - Stefan Kruppa - - Nicolas Rigaud - - Alexander Deruwe (aderuwe) - - Sam Fleming (sam_fleming) - - DerManoMann - - Nicolas Dewez (nicolas_dewez) + - Daniel Tiringer + - Dawid Pakuła (zulusx) - Evan S Kaufman (evanskaufman) - - Bilge - - Niklas Fiekas - - Marcin Michalski (marcinmichalski) - - Belhassen Bouchoucha (crownbackend) - - Chris Tanaskoski (devristo) - - Kevin Saliou (kbsali) - - Steffen Roßkamp - - Johan Vlaar (johjohan) + - Sebastian Bergmann + - Alexandru Furculita (afurculita) + - Romain Gautier (mykiwi) + - ilyes kooli (skafandri) + - Desjardins Jérôme (jewome62) + - Matthew Smeets + - Anatoly Pashin (b1rdex) + - Jérémy REYNAUD (babeuloula) + - kylekatarnls (kylekatarnls) + - Jakub Škvára (jskvara) + - Oleksii Zhurbytskyi + - AnneKir - Dominik Zogg - - Roberto Espinoza (respinoza) - - W0rma - - Pablo Díez (pablodip) - - Martin Kirilov (wucdbm) - - Dawid Pakuła (zulusx) - - Axel Guckelsberger (guite) - - Matthijs van den Bos (matthijs) - - Jerzy Lekowski (jlekowski) - - nikos.sotiropoulos - - Florian Rey (nervo) - - Forfarle (forfarle) - - Arkadius Stefanski (arkadius) - - Jan van Thoor (janvt) - - Maximilian Zumbansen - - Benjamin (yzalis) - - ReenExe - - mcben + - Sam Fleming (sam_fleming) + - Anton Bakai + - Andrey Astakhov (aast) - quentin neyrat (qneyrat) - - Evgeny Ruban - - Kamil Kokot (pamil) + - Leevi Graham (leevigraham) - Dries Vints - - Adrien Roches (neirda24) - - Anthony Ferrara - - Benjamin Cremer (bcremer) - - Maxim Dovydenok (dovydenok-maxim) - - Marcin Chyłek (songoq) - - Toni Rudolf (toooni) + - Klaus Silveira (klaussilveira) + - Dave Hulbert (dave1010) + - Chris Sedlmayr (catchamonkey) + - Eduardo Oliveira (entering) + - Koen Reiniers (koenre) + - Evgeny Ruban + - Faizan Akram Dar (faizanakram) + - Gijs van Lammeren + - Markus S. (staabm) - takashiraki - - “Filip - - AKeeman (akeeman) - - Arnaud De Abreu (arnaud-deabreu) - - Soufian EZ ZANTAR (soezz) - - Jonas Flodén (flojon) - - Jeroen Thora (bolle) - - Tri Pham (phamuyentri) + - Joshua Nye + - Joachim Løvgaard (loevgaard) - Claude Khedhiri (ck-developer) - - Tom Klingenberg - - Jérémy REYNAUD (babeuloula) - - Arnaud POINTET (oipnet) - - geoffrey - - Andreas Hennings - - Ali-HENDA - - Mark Challoner (markchalloner) - - Petrisor Ciprian Daniel - - Bhavinkumar Nakrani (bhavin4u) + - Stefan Gehrig (sgehrig) - Barry vd. Heuvel (barryvdh) - - Erkhembayar Gantulga (erheme318) - - Matthias Krauser (mkrauser) - - Ben Ramsey (ramsey) - - Markus Bachmann (baachi) - - Shawn Iwinski - - Scott Arciszewski - - Florent Destremau (florentdestremau) - - Koen Reiniers (koenre) - - Gildas Quéméner (gquemener) - - Andrey Astakhov (aast) - - lancergr - - Maelan LE BORGNE - - Brian King - - Jannik Zschiesche - - Andrii Dembitskyi - - Desjardins Jérôme (jewome62) - - Jérémy DECOOL (jdecool) - - Sebastian Bergmann - - Patrick Reimers (preimers) - - Reedy + - Malte Müns + - James Hudson (mrthehud) + - Eduardo Rocha + - Joost van Driel (j92) + - Rafael Kraut + - Thomas Nunninger + - Arpit Verma - Max Baldanza - - Payene Denis KOMBATE (payene) + - Ettore Del Negro (ettoredn) + - Christophe Villeger (seragan) + - Vladimir Varlamov (iamvar) - Arjan Keeman - - Ryan RAJKOMAR (rrajkomar) - - bukhonovd - Zouaoui Montassar - - Miquel Rodríguez Telep (mrtorrent) - - James Hudson (mrthehud) - - Vladimir Varlamov (iamvar) + - bukhonovd + - hugovms + - Payene Denis KOMBATE (payene) + - Ryan RAJKOMAR (rrajkomar) + - Nicolas Dousson + - Youssef Benhssaien (moghreb) + - Vikram Vaswani + - Alexander Dmitryuk (coden1) + - Andrew Tchircoff (andrewtch) + - Brad Jones - Martin (meckhardt) - Gerard van Helden (drm) - Maks 3w (maks3w) - - Vikram Vaswani + - Michael Roterman (wtfzdotnet) + - Nicole Cordes (ichhabrecht) + - Miquel Rodríguez Telep (mrtorrent) + - Sergey Kolodyazhnyy (skolodyazhnyy) + - tourze - julien57 - - Rafael Kraut - - Thomas Nunninger - Matijn (matijn-made) - - Arpit Verma - Florian Wolfsjaeger (flowolf) - - Christophe Villeger (seragan) - - hugovms - - Nicolas Dousson - Jonathan Hogervorst - Amr Ezzat (amrezzat) - - Andrew Tchircoff (andrewtch) - - Ettore Del Negro (ettoredn) - Julien Robic (nayte) + - Xavier Leune (xleune) + - aegypius + - Abhoryo + - Sergey Yastrebov - Mustafa Cheraim (musta_cher) - - Raphaëll Roussel - Reinier Kip + - shubhalgupta + - Tomasz Kusy + - Raphaëll Roussel + - Pavel Witassek + - Benjamin Franzke - Florian Weber + - Maksim Muruev - Stéphane Escandell (sescandell) - Israel J. Carberry + - Andrew Hilobok (hilobok) + - Ilia (aliance) - Gladhon - Mudassar - Konstantin Grachev (grachevko) - Philippe Segatori + - Benjamin Grandfond (benjamin) - Oleksii Kozhemiaka (okozhemiaka) - Gálik Pál + - develop + - Oriol Viñals + - Mihai Stancu + - Reyo Stallenberg (reyostallenberg) - Pierre Hennequart - Carson Full (carsonfull) - Álvaro Sánchez Taboada - Mark Schmale (masch) - Benoît Merlet (trompette) - - Mihai Stancu - Yuriy Vilks (igrizzli) - fzerorubigd - - Xavier Leune (xleune) - - aegypius + - Denis Zunke (donalberto) + - Chris Boden (cboden) + - VJ + - Jacques MOATI (jmoati) - grizlik + - Malte Blättermann + - louismariegaborit - Benjamin Toussaint (bto) - - VJ - Barney Hanlon - Kieran Cross (kilosierracharlie) - Andrei C. (moldman) + - Daniel Cestari - Bert Hekman (demontpx) - Loïc Beurlet - Marcos Gómez Vilches (markitosgv) - Pedro Miguel Maymone de Resende (pedroresende) - - Michael Roterman (wtfzdotnet) + - Ryan Hendrickson + - Luis Tacón (lutacon) + - Andreas Braun - Zhuravlev Alexander (scif) - - Pavel Witassek + - Marko Petrovic - Jose Gonzalez - - Nicole Cordes (ichhabrecht) - - Benjamin Grandfond (benjamin) - - Benjamin Franzke + - den - Jordan Deitch - - Sergey Kolodyazhnyy (skolodyazhnyy) - - tourze - Arturas Smorgun (asarturas) - - shubhalgupta - - Reyo Stallenberg (reyostallenberg) - - Tomasz Kusy - - Ilia (aliance) - - Youssef Benhssaien (moghreb) - - Alexander Dmitryuk (coden1) - - louismariegaborit + - Vincent QUATREVIEUX + - Loïc Chardonnet - scyzoryck - Tiago Brito (blackmx) - - Brad Jones - - Jacques MOATI (jmoati) - bogdan - - Joost van Driel (j92) - - Andrew Hilobok (hilobok) - - Denis Zunke (donalberto) - - Chris Boden (cboden) - - Daniel Cestari - Shin Ohno (ganchiku) - - develop - - Malte Blättermann - Adrien Jourdier (eclairia) - Volodymyr Panivko - David Fuhr - Artur Eshenbrener - Fabien LUCAS (flucas2) - Ferran Perxas (fperxas) - - Ryan Hendrickson - Tony Tran - Tristan Roussel - - Sergey Yastrebov - Johnny Peck (johnnypeck) - frost-nzcr4 - Michiel Boeckaert (milio) - Gerben Oolbekkink - Jon Dufresne - avorobiev - - Luis Tacón (lutacon) - - Marko Petrovic - - Abhoryo + - Fabien Salles (blacked) - Guillaume Verstraete - - Maksim Muruev - Pierre-Yves Landuré (biapy) - Sascha Grossenbacher (berdir) - Matt Johnson (gdibass) - Wouter van der Loop (toppy-hennie) + - Terje Bråten + - Reen Lokum - phpner - Damien Fa + - Dennis Hotson + - Gregor Nathanael Meyer (spackmat) + - Geoffrey Brier (geoffrey-brier) + - zenas1210 - Felds Liscia (felds) - Sander De la Marche (sanderdlm) - Carlos Quintana - Jeroen Fiege (fieg) - - Fabien Salles (blacked) - - den - Jeroen van den Enden (endroid) - - Andreas Braun - Ворожцов Максим (myks92) - Tristan Maindron (tmaindron) - Andreas Lutro (anlutro) @@ -1110,28 +1120,24 @@ The Symfony Connect username in parenthesis allows to get more information - Alex Xandra Albert Sim - Anton A. Sumin - benjaminmal + - David Romaní - d-mitrofanov-v - - Oriol Viñals - Roger Guasch (rogerguasch) - Kristof Van Cauwenbergh (kristofvc) - Nahuel Cuesta (ncuesta) - - Vincent QUATREVIEUX + - Sinan Eldem (sineld) - Christian Sciberras (uuf6429) - Kagan Balga (kagan-balga) - Simon Mönch - - Terje Bråten - Alex Bogomazov (alebo) - - David Romaní + - Chris Jones (magikid) + - Jonathan (jlslew) - Dennis Langen (nijusan) - - Reen Lokum - Mathias Brodala (mbrodala) - - Loïc Chardonnet - Carlos Pereira De Amorim (epitre) - Nathan PAGE (nathix) - Jon Gotlin (jongotlin) - - Chris Jones (magikid) - Vitaliy Ryaboy (vitaliy) - - Jonathan (jlslew) - Mátyás Somfai (smatyas) - Maxime COLIN (maximecolin) - izzyp @@ -1139,40 +1145,38 @@ The Symfony Connect username in parenthesis allows to get more information - Tales Santos (tsantos84) - Patrick Allaert - mfettig - - Malte Müns + - Ana Raro + - Gabrielle Langer - Sebastian Marek (proofek) - Christopher Hall (mythmakr) - katario - wuchen90 - - Michael Thieulin - - Sinan Eldem (sineld) + - Reedy - Ivan Grigoriev (greedyivan) - Geert De Deckere - - Dennis Hotson - Daniel Badura - Eric Abouaf (neyric) - Piotr Stankowski - Dmitrii Tarasov (dtarasov) + - Glodzienski - COMBROUSE Dimitri - - Gregor Nathanael Meyer (spackmat) - EStyles (insidestyles) - ampaze - ouardisoft - Baptiste CONTRERAS - - Ana Raro - - Glodzienski + - Kay Wei - Julien Tattevin (jutattevin) - Ke WANG (yktd26) - - Geoffrey Brier (geoffrey-brier) - - zenas1210 - Jay Klehr - NanoSector + - Marek Pietrzak (mheki) + - Gert Wijnalda (cinamo) - sl_toto (sl_toto) - DUPUCH (bdupuch) - Egor Taranov - Don Pinkster + - Sergey Zolotov (enleur) - Davide Borsatto (davide.borsatto) - - Kay Wei - Massimiliano Braglia (massimilianobraglia) - Guilherme Augusto Henschel - Baldur Rensch (brensch) @@ -1181,10 +1185,11 @@ The Symfony Connect username in parenthesis allows to get more information - Matthieu Calie (matth--) - ornicar - Xavier Briand (xavierbriand) - - mohamed - Daniel Alejandro Castro Arellano (lexcast) - Paul Oms - radar3301 + - Pedro Casado (pdr33n) + - mohamed - Steve Grunwell - Dragos Protung (dragosprotung) - Marco Wansinck (mwansinck) @@ -1193,84 +1198,85 @@ The Symfony Connect username in parenthesis allows to get more information - Emil Einarsson - Edvin Hultberg - Ondrej Exner + - Alexander Grimalovsky (flying) - ToshY - - Pedro Casado (pdr33n) - - Gabrielle Langer - Noémi Salaün (noemi-salaun) - - Marek Pietrzak (mheki) - - Gert Wijnalda (cinamo) + - Paulo Ribeiro (paulo) - Maxim Tugaev (tugmaks) - - Sergey Zolotov (enleur) + - Dhananjay Goratela - Sebastian Grodzicki (sgrodzicki) + - Alex Bacart + - Mantas Var (mvar) - Vincent Composieux (eko) - acoulton - - Alexander Grimalovsky (flying) - Delf Tonder (leberknecht) - Florian Hermann (fhermann) - Guillaume Aveline - Vladyslav Petrovych - - Mantas Var (mvar) + - Xavier Lacot (xavier) + - Cristoforo Cervino (cristoforocervino) + - Gábor Tóth + - Gintautas Miselis (naktibalda) + - Asier Etxebeste - Andre Hoong - Thorry84 - Johannes Klauss (cloppy) - Jan Prieser - - Paulo Ribeiro (paulo) - Noah Heck (myesain) - James Johnston - - Dhananjay Goratela - - Alex Bacart - - Xavier Lacot (xavier) - Quentin Dreyer (qkdreyer) - wanxiangchwng - - Cristoforo Cervino (cristoforocervino) - Marc Abramowitz + - Oliver Hoff + - Philipp Keck + - Aydin Hassan - Adam + - Ivan + - kick-the-bucket + - Alexandre Dupuy (satchette) + - Maximilian.Beckers - Jakub Vrána (vrana) - 243083df + - Simon DELICATA - Lukas Mencl + - Adrien Lucas (adrienlucas) - Mickaël Andrieu (mickaelandrieu) + - Geordie - Rodrigo Méndez (rodmen) - - Oliver Hoff - Thiago Cordeiro (thiagocordeiro) - Hossein Bukhamsin - - Gábor Tóth - DT Inier (gam6itko) - - Gintautas Miselis (naktibalda) - Romanavr - - Asier Etxebeste - - Philipp Keck - - Aydin Hassan - Matteo Beccati (matteobeccati) - Tarjei Huse (tarjei) - SpacePossum - Nguyen Xuan Quynh - Toon Verwerft (veewee) - jochenvdv - - kick-the-bucket + - Johann Saunier (prophet777) - fedor.f - - Simon DELICATA - - Geordie - - Michał Jusięga - - Niklas Keller - Michał Marcin Brzuchalski (brzuchal) - - Ivan - - Alexandre Dupuy (satchette) - - Maximilian.Beckers - - Johann Saunier (prophet777) - - StefanoTarditi - Simon Terrien (sterrien) + - Michał Jusięga + - Niklas Keller - Thomas Cochard (tcochard) + - StefanoTarditi - Sebastian Krebs - Laurent Bassin (lbassin) - Koen Kuipers (koku) - Andreas Erhard (andaris) + - origaminal + - Sem Schidler (xvilo) + - Aleksandr Volochnev (exelenz) + - Daniël Brekelmans (dbrekelmans) + - Josiah (josiah) + - abdul malik ikhsan (samsonasik) - Sébastien JEAN (sebastien76) - Trevor North - - origaminal - Matthieu Mota (matthieumota) - Simon Heimberg (simon_heimberg) - Quentin de Longraye (quentinus95) - - Adrien Lucas (adrienlucas) + - Bill Hance (billhance) - Dmytro Boiko (eagle) - zenmate - Baptiste Meyer (meyerbaptiste) @@ -1280,289 +1286,285 @@ The Symfony Connect username in parenthesis allows to get more information - Robin van der Vleuten (robinvdvleuten) - Patrick Dawkins (pjcdawkins) - Anthony Tenneriello + - Stephan Vock (glaubinix) + - Mouad ZIANI (mouadziani) + - Julien Fredon + - Paweł Niedzielski (steveb) - vladimir.panivko - - Matthieu Bontemps - flip111 + - Alexandre parent + - Balazs Csaba + - Matthieu Bontemps + - Tamás Nagy (t-bond) + - Olivier Maisonneuve + - Sherin Bloemendaal + - Valentin Nazarov + - Stefano Degenkamp (steef) + - Bálint Szekeres + - Tony Malzhacker + - Oliver Hader + - Hany el-Kerdany - Bozhidar Hristov + - Richard Henkenjohann (richardhj) + - umpirski + - Marc Laporte + - Tamas Szijarto + - Benjamin Lebon + - marie - Richard van den Brand (ricbra) - - Sem Schidler (xvilo) + - Evan C + - Mickaël Isaert (misaert) + - Fractal Zombie + - Ana Raro + - Kevin SCHNEKENBURGER + - Ian Jenkins (jenkoian) + - Jakub Podhorsky (podhy) + - Korvin Szanto + - Ivan Kurnosov + - Oriol Viñals + - Vitaliy Zhuk (zhukv) + - Cameron Porter + - Adrian Nguyen (vuphuong87) + - Alexander Kim + - Adrian Günter (adrianguenter) - Robert Gruendler (pulse00) - Jordi Sala Morales (jsala) + - Johnson Page (jwpage) + - Paweł Wacławczyk (pwc) - Takashi Kanemoto (ttskch) - Tinjo Schöni + - Oleg Zinchenko (cystbear) + - Mario Ramundo (rammar) + - Lorenzo Millucci (lmillucci) + - Yi-Jyun Pan + - Nikolai Mikhailov (sonnymilton) + - Roy de Vos Burchart + - Neil Ferreira + - Mikhail Yurasov (mym) + - Peter Potrowl + - Åsmund Garfors + - Grinbergs Reinis (shima5) + - Antal Áron (antalaron) + - stoccc + - Wesley Lancel + - Fred Cox + - Hossein Hosni + - Dennis Væversted (srnzitcom) + - Morten Wulff (wulff) + - Jiri Barous + - Thibaut THOUEMENT (thibaut_thouement) + - Ian Irlen + - James Michael DuPont - Petar Obradović + - Vincent CHALAMON + - Seb Koelen + - Ramunas Pabreza (doobas) + - Tomasz Ignatiuk + - Masterklavi - David ALLIX - Daniel González (daniel.gonzalez) - - Aleksandr Volochnev (exelenz) + - Jean Pasdeloup + - Thijs-jan Veldhuizen (tjveldhuizen) + - Gert de Pagter + - Julien Turby + - Brajk19 + - Ondrej Machulda (ondram) + - Julien Maulny + - Thomas P - Aurimas Niekis (gcds) + - skmedix (skmedix) + - Florent Viel (luxifer) + - Sébastien Despont (bouillou) + - Maxime Douailin + - Vladimir Valikayev + - Morgan Auchede + - Marco Lipparini (liarco) + - Christin Gruber (christingruber) + - Krzysztof Łabuś (crozin) + - Hidde Boomsma (hboomsma) - Manuel Alejandro Paz Cetina - Rootie - Ilya Levin (ilyachase) - alexandre.lassauge - - Balazs Csaba + - Francisco Alvarez (sormes) + - Tamás Szigeti + - Travis Carden (traviscarden) - Andrew Berry - - Sherin Bloemendaal + - _sir_kane (waly) + - Cyril Vermandé (cyve) + - Alex (garrett) + - Cornel Cruceru (amne) + - Alex Kalineskou + - Bastien DURAND (deamon) + - Thibault Buathier (gwemox) + - Ulumuddin Cahyadi Yunus (joenoez) - Chris Heng (gigablah) + - RJ Garcia + - Benjamin Schoch (bschoch) + - Sascha Dens (saschadens) + - Jean-Baptiste GOMOND (mjbgo) + - David Molineus + - Gina Peter Banyard + - Matt Janssen + - arai + - Mior Muhammad Zaki (crynobone) + - Jan Kramer + - Lars Vierbergen (vierbergenlars) + - Simon Schick (simonsimcity) - Michael Devery (mickadoo) - - Alexandre parent - - Valentin Nazarov - - Stefano Degenkamp (steef) - Thiago Melo + - Stefan Warman (warmans) + - Shaharia Azam - Jawira Portugal (jawira) - - Oliver Hader + - Oleksandr Barabolia (oleksandrbarabolia) - Natsuki Ikeguchi - Simon Watiau (simonwatiau) - Pavol Tuka - - Daniël Brekelmans (dbrekelmans) - - Josiah (josiah) + - Arun Philip - Jan Walther (janwalther) - Rimas Kudelis - Benjamin Zikarsky (bzikarsky) + - Brunet Laurent (lbrunet) + - Marko H. Tamminen (gzumba) - Joschi Kuphal + - Fabian Vogler (fabian) - Pierrick VIGNAND (pierrick) - Mark Sonnabaum - - umpirski - - Jan Kramer - - abdul malik ikhsan (samsonasik) - - Bill Hance (billhance) + - James Hemery + - Florian Pfitzer (marmelatze) + - Michael Bessolov + - Ahmed Ashraf (ahmedash95) - Carlos Buenosvinos (carlosbuenosvinos) - Dustin Dobervich (dustin10) - Jakub Kulhan (jakubkulhan) - - Mouad ZIANI (mouadziani) - Kyle Evans (kevans91) - - arai - Dominik Ulrich - Simon (kosssi) - Jesper Noordsij + - Javier López (loalf) - Martins Sipenko + - Aurimas Niekis (aurimasniekis) - Daisuke Ohata - Ayke Halder - - Ana Raro - - Benjamin Lebon - - Ian Jenkins (jenkoian) - - Vitaliy Zhuk (zhukv) - - marie - - Johnson Page (jwpage) - - Paweł Wacławczyk (pwc) + - Simon Leblanc (leblanc_simon) - Besnik Br - - Nikolai Mikhailov (sonnymilton) - - Roy de Vos Burchart - - Mickaël Isaert (misaert) - Evan Villemez - - Korvin Szanto - - Ivan Kurnosov - - Oriol Viñals - - Jiri Barous - - Kevin SCHNEKENBURGER - - Thibaut THOUEMENT (thibaut_thouement) - - Thijs-jan Veldhuizen (tjveldhuizen) - - Grinbergs Reinis (shima5) - - stoccc - - Hossein Hosni - - Dennis Væversted (srnzitcom) - - Ian Irlen - - Alexander Kim - - Adrian Günter (adrianguenter) - - Tamás Nagy (t-bond) - - James Michael DuPont - - Seb Koelen - - RJ Garcia - ywisax - - Oleg Zinchenko (cystbear) - - Mario Ramundo (rammar) - - Lorenzo Millucci (lmillucci) - - Neil Ferreira - - skmedix (skmedix) - - Florent Viel (luxifer) - - Simon Schick (simonsimcity) - - Arun Philip - - Mikhail Yurasov (mym) - - Peter Potrowl - - Åsmund Garfors - - Morten Wulff (wulff) - - Jean Pasdeloup - - Gert de Pagter - - Tamás Szigeti - - Paweł Niedzielski (steveb) - - Alex Kalineskou - - Ulumuddin Cahyadi Yunus (joenoez) - Krystian Marcisz (simivar) - - Maxime Douailin - - Vladimir Valikayev - - Vincent CHALAMON - - Ramunas Pabreza (doobas) - - Brunet Laurent (lbrunet) - - Marko H. Tamminen (gzumba) - - Marco Lipparini (liarco) - - Christin Gruber (christingruber) - - Krzysztof Łabuś (crozin) - - Marc Laporte - - Hidde Boomsma (hboomsma) - - Francisco Alvarez (sormes) - - _sir_kane (waly) - - Olivier Maisonneuve + - Mohamed Gamal + - Yosmany Garcia (yosmanyga) - Roy Klutman (royklutman) - - Bálint Szekeres - - Tomasz Ignatiuk - - Masterklavi - - Yi-Jyun Pan - - Fred Cox - - Bastien DURAND (deamon) - - Thibault Buathier (gwemox) - - Mior Muhammad Zaki (crynobone) - - Lars Vierbergen (vierbergenlars) - - James Hemery - - Tony Malzhacker - - Julien Maulny - - Thomas P - - Julien Turby - - Oleksandr Barabolia (oleksandrbarabolia) - - Morgan Auchede - - Fabian Vogler (fabian) - - Travis Carden (traviscarden) - - Cyril Vermandé (cyve) - - Alex (garrett) + - Jaroslav Kuba - Ivo Bathke (ivoba) - - Javier López (loalf) - - Cornel Cruceru (amne) - - Cameron Porter - - Jean-Baptiste GOMOND (mjbgo) - - David Molineus + - Minna N + - Christophe V. (cvergne) + - DemigodCode - Clemens Krack - - Gina Peter Banyard - - Matt Janssen - - Adrian Nguyen (vuphuong87) - - Stefan Warman (warmans) - - Shaharia Azam - - Antal Áron (antalaron) - - Richard Henkenjohann (richardhj) - - Florian Pfitzer (marmelatze) - - Julien Fredon - - Michael Bessolov - - Ahmed Ashraf (ahmedash95) - - Tamas Szijarto - - Stephan Vock (glaubinix) - - Dmitry Parnas (parnas) - - Rodrigo Aguilera - - Jörn Lang - - Fractal Zombie - - Hany el-Kerdany - - Aurimas Niekis (aurimasniekis) - - Simon Leblanc (leblanc_simon) - - Evan C - - Jakub Podhorsky (podhy) - - Brajk19 - - Ondrej Machulda (ondram) - - Sébastien Despont (bouillou) - - Benjamin Schoch (bschoch) - - Sascha Dens (saschadens) - - Wesley Lancel - - Andreas Leathley (iquito) - - Jaroslav Kuba - Matthew Davis (mdavis1982) - John Bohn (jbohn) + - Guillaume Sainthillier (guillaume-sainthillier) + - Jayson Xu (superjavason) + - Christian Soronellas (theunic) + - Thibault Richard (t-richard) + - Benjamin Laugueux - fago - - Rafał Wrzeszcz (rafalwrzeszcz) + - Mike Meier (mykon) + - Vincent Simonin + - Max Rath (drak3) + - Dmitry Parnas (parnas) + - Rodrigo Aguilera + - Richard Bradley + - Douglas Reith (douglas_reith) + - Barthold Bos + - Xav` (xavismeh) + - vitaliytv + - Jörn Lang + - Kieran + - Julie Hourcade (juliehde) + - Jonatan Männchen + - Tim Düsterhus + - Alaattin Kahramanlar (alaattin) + - Degory Valentine - Jonas Elfering - Ruben Gonzalez (rubenruateltek) + - Casper Valdemar Poulsen - Thomas Ploch - Paul Kamer (pkamer) - Gustavo Falco (gfalco) - - Jayson Xu (superjavason) + - Pascal Helfenstein - Stephan Vierkant (svierkant) - Vladimir Luchaninov (luchaninov) - - Vincent Simonin - - Kieran - - Julie Hourcade (juliehde) - - Alaattin Kahramanlar (alaattin) - - Arnaud Frézet + - Martijn Evers + - Nicolas de Marqué (nicola) + - noniagriconomie + - Carl Casbolt (carlcasbolt) + - Jan Pintr + - Cosmin Sandu - Maximilian Bösing - Alexander Li (aweelex) - Maksim Kotlyar (makasim) + - Arnaud Frézet + - Ben + - Franco Traversaro (belinde) - michaelwilliams - Luca Saba (lucasaba) - Rustam Bakeev (nommyde) + - Jesper Skytte (greew) - AndrolGenhald - - Casper Valdemar Poulsen - - johan Vlaar - - Nicolas de Marqué (nicola) - - noniagriconomie - Antoine Corcy - buffcode + - Pavlo Pelekh (pelekh) + - Randy Geraads + - johan Vlaar + - Kuba Werłos (kuba) + - Gennady Telegin + - Arno Geurts + - Sofiane HADDAG (sofhad) + - Bastien THOMAS + - Benedikt Lenzen (demigodcode) + - Christian Stoller (naitsirch) + - Calin Mihai Pristavu + - Grégoire Penverne (gpenverne) + - Kevin (oxfouzer) + - d-ph + - MrMicky - Achilles Kaloeridis (achilles) - Sebastian Paczkowski (sebpacz) - Zeeshan Rashid (zeeshan) + - Andreas Leathley (iquito) + - Andrey Sevastianov - Evan Shaw - Claudio Zizza - - Nico Haase - - David Marín Carreño (davefx) - - Christophe V. (cvergne) - - DemigodCode - - Mardari Dorel (dorumd) - - Kuba Werłos (kuba) - - Arno Geurts - - Kien Nguyen - - Nykopol (nykopol) - - Sofiane HADDAG (sofhad) - - Minna N - - Calin Mihai Pristavu - - Stéphan Kochen - - Sofien Naas - - mwsaz - yclian - Eric COURTIAL - - Christian Soronellas (theunic) + - Robert Fischer (sandoba) - Duncan de Boer (farmer-duck) - Stéphane Delprat - - Thibault Richard (t-richard) - Roberto Nygaard + - Nico Haase + - David Marín Carreño (davefx) - Michel Hunziker - - Benjamin Laugueux - - Mike Meier (mykon) - - Pascal Helfenstein - - Guillaume Sainthillier (guillaume-sainthillier) + - Alexander Miehe + - Kien Nguyen + - Nykopol (nykopol) - stlrnz - - Sergii Dolgushev (serhey) - - Sylvain BEISSIER (sylvain-beissier) + - Stéphan Kochen + - Sofien Naas + - mwsaz - Jake (jakesoft) - Nikita Nefedov (nikita2206) - Elan Ruusamäe (glen) - - Max Rath (drak3) - Andrii Popov (andrii-popov) - Harry Walter (haswalt) - - Richard Bradley + - Sergii Dolgushev (serhey) + - Sylvain BEISSIER (sylvain-beissier) - Andrew Neil Forster (krciga22) + - Rafał Wrzeszcz (rafalwrzeszcz) - Douglas Hammond (wizhippo) - - Martijn Evers - - Douglas Reith (douglas_reith) - - Barthold Bos - - vitaliytv - - Andrey Sevastianov - - Xav` (xavismeh) - - Carl Casbolt (carlcasbolt) - - Cosmin Sandu - - Mohamed Gamal - - Yosmany Garcia (yosmanyga) - Wybren Koelmans (wybren_koelmans) - - Ben - - Franco Traversaro (belinde) - - Jonatan Männchen - - Tim Düsterhus - - Jesper Skytte (greew) - - Randy Geraads - - Degory Valentine - - Gennady Telegin - - Jan Pintr - - Bastien THOMAS - - Benedikt Lenzen (demigodcode) - - Pavlo Pelekh (pelekh) - - Christian Stoller (naitsirch) - - d-ph - - MrMicky - - Grégoire Penverne (gpenverne) - - Kevin (oxfouzer) - - Robert Fischer (sandoba) - - Alexander Miehe + - Mardari Dorel (dorumd) + - Philipp Kolesnikov + - Sébastien Santoro (dereckson) - Simo Heinonen (simoheinonen) - Simeon Kolev (simeon_kolev9) - Jason Tan (jt2k) @@ -1571,11 +1573,9 @@ The Symfony Connect username in parenthesis allows to get more information - Rostyslav Kinash - Toni Peric (tperic) - Kristijan Kanalaš (kristijan_kanalas_infostud) - - Philipp Kolesnikov - Renan Rodrigo - Ruben Jacobs (rubenj) - Robin Lehrmann - - Sébastien Santoro (dereckson) - Marcel Hernandez - Richard Quadling - Andrew Codispoti @@ -1607,130 +1607,194 @@ The Symfony Connect username in parenthesis allows to get more information - Adán Lobato (adanlobato) - Emil Masiakowski - Christian Grasso (chris54721) + - Nicolas Badey (nico-b) + - Daniel Londero (dlondero) + - Diego Campoy + - Buster Neece + - Thomas Decaux + - tarlepp + - tinect (tinect) + - tirnanog06 + - Dominik Ritter (dritter) + - Julien JANVIER (jjanvier) + - Nathan Sepulveda + - Ramazan APAYDIN (rapaydin) + - hjkl + - Tatsuya Tsuruoka + - Martynas Narbutas + - Noel Light-Hilary + - Alexis + - enomotodev + - Eugene Babushkin (warl) + - Patrick Kuijvenhoven + - Frank Schulze (xit) - Erfan Bahramali - - Anton (bonio) + - afaricamp + - Oz (import) + - Alexis Lefebvre + - Gregório Bonfante Borba (bonfante) - klyk50 - Konstantinos Alexiou - - Stefan Hüsges (tronsha) + - Dan (dantleech) - Arnaud - - Moritz Borgmann (mborgmann) - Christian Jul Jensen - - Oncle Tom - - Vivien + - Michael Schneider - Tim Lieberman - - Ferran Vidal + - Guillem Fondin (guillemfondin) - Gleb Sidora - Even André Fiskvik - Lance McNearney - - Amine Yakoubi + - Juanmi Rodriguez Cerón - hainey - Attila Szeremi - - timaschew + - Abdul.Mohsen B. A. A - danilovict2 - - Michael Steininger - - Claas Augner - - Kévin Gonella - - Nathanaël Martel (nathanaelmartel) - - Michael Telgmann + - Rein Baarsma (solidwebcode) + - DerStoffel + - René Landgrebe + - PierreRebeilleau + - Helmut Januschka - Carlos Fernandes (carferdas) - Nikos Charalampidis - mohammadreza honarkhah - Tim Jabs (rubinum) - Peter Breuls - Clément R. (clemrwan) - - ADmad + - Osayawe Ogbemudia Terry (terdia) + - tamcy + - casdal + - Janusz Jabłoński (yanoosh) + - chillbram + - Alexey Buyanow (alexbuyanow) + - Cosmin-Romeo TANASE + - Pedro Silva + - Piergiuseppe Longo - Mark Beech (jaybizzle) - - Steffen Persch (n3o77) + - Pavel Prischepa - Serhii Smirnov - Darryl Hein (xmmedia) - Xavier REN - thib92 - Francisco Facioni (fran6co) - karl.rixon - - Vladislav (simpson) - - Alexis MARQUIS - - Benjamin Dos Santos + - Pierre-Henry Soria 🌴 (pierrehenry) + - Hoffmann András + - ncou + - Vlad Dumitrache + - Enrico Schultz + - Markus Baumer + - Rafał Toboła - Normunds - Derek Lambert (dlambert) - - Daniel Tiringer - - Edvinas Klovas - - Ahmad El-Bardan - - Bojan - - Yann Rabiller (einenlum) - - Tomasz Szymczyk (karion) - - Tarjei Huse (symfony_cloud) + - Nicolas Lemoine + - Paul Matthews + - TheMhv + - Imangazaliev Muhammad (imangazaliev) + - Kirill Lazarev + - Matt Daum (daum) + - kwiateusz + - Daniel Tiringer + - Siebe Vanden Eynden + - Ahmad El-Bardan + - Bojan + - Giuseppe Campanelli + - Rene de Lima Barbosa (renedelima) + - Marcin Szepczynski (szepczynski) + - Yannick Vanhaeren (yvh) + - Jens Hatlak + - Guillaume Loulier (guikingone) + - Yann Rabiller (einenlum) + - Tomasz Szymczyk (karion) + - Jeremy Bush - Jiri Velek - d.huethorst - Dan Wilga - Bouke Haarsma - Laurens Laman - - Tobias Genberg (lorceroth) + - Matt Ketmo (mattketmo) - Mauricio Lopez (diaspar) - - Andriy + - Łukasz Makuch + - Arek Bochinski + - Vacheslav Silyutin + - Sam Williams + - Sajad Torkamani + - Gary Houbre (thegarious) + - shdev + - Rafael Tovar + - Ostrzyciel + - Tadcka + - wiseguy1394 + - Sergiy Sokolenko - karolsojko + - Cedrick Oka + - Gerrit Addiks + - Sven Nolting + - Victor Truhanovich (victor_truhanovich) - Kasperki - Peter Gribanov - - Guillaume Smolders (guillaumesmo) + - Jules Lamur - Daniel Strøm - - Vlad Dumitrache - Cristobal Dabed - - changmin.keum + - Adoni Pavlakis (adoni) - Martijn Croonen - Patrik Patie Gmitter - - Benjamin BOUDIER + - Kim Laï Trinh + - Peter Orosz (ill_logical) + - Hubert Moreau (hmoreau) + - Daniel Bannert + - Dominik Schwind (dominikschwind) - Thomas Jarrand - alsar - - Konrad Mohrfeldt + - Gerben Wijnja - roog - - Enrico Schultz + - Eric Krona + - Flinsch - Qingshan Luo - - Peter Jaap Blaakmeer - - Kubicki Kamil (kubik) - - Nicolas Badey (nico-b) - - Amin Hosseini (aminh) - - Daniel Londero (dlondero) + - Agata + - Joan Cruz - David Vancl - - tarlepp - - Götz Gottwald + - Sylvain METAYER + - jannick-holm + - Amin Hosseini (aminh) + - George Yiannoulopoulos + - Mateusz Lerczak + - William Thomson (gauss) + - Karim - BiaDd - Christian Neff (secondtruth) - - Mdsujansarkar - Ivan Pepelko (pepelko) - Cesar Scur (cesarscur) - - tirnanog06 + - Sergey Stavichenko (sergey_stavichenko) - Ludek Stepan - Kamil Musial - Denis Yuzhanin - Patrick Luca Fazzi (ap3ir0n) - - AntoineDly + - DaikiOnodera + - AbdelatifAitBara + - James Cowgill - Camille Islasse - - Andrey Ryaguzov + - Raito Akehanareru (raito) - k-sahara - Sergey Yuferev - Michal Forbak - - Ramazan APAYDIN (rapaydin) - - Noel Light-Hilary - - jean pasqualini (darkilliant) + - satalaondrej + - Pitchaya Boonsarngsuk - Cédric Lahouste (rapotor) - - Alexis + - Gautier Deuette - Wojciech Gorczyca - - Eugene Babushkin (warl) - - afaricamp + - Dmytro Liashko + - everyx - Florian Cellier - - DerStoffel - Luís Cobucci (lcobucci) - - Agata + - tamar peled - Jon Green (jontjs) - - Uwe Kleinmann - - Taras Girnyk - - Jeremy Benoist + - Ilya Vertakov - j0k (j0k) - Cyrille Bourgois (cyrilleb) - Juga Paazmaya - zcodes - - Jens Hatlak - - Oz (import) - - Jeremiah VALERIE + - Sorin Gitlan (forapathy) + - Marvin Butkereit - JG (jege) - dangkhoagms (dangkhoagms) - chesteroni (chesteroni) @@ -1738,161 +1802,118 @@ The Symfony Connect username in parenthesis allows to get more information - Brian Freytag - Daniel Perez Pinazo (pitiflautico) - Shiro - - Alexis Lefebvre - - Guilain (guilain_sylapps) - - Yannick Bensacq (cibou) + - František Bereň - Paul L McNeely (mcneely) - - Dan (dantleech) - - Michael Schneider + - Silvio Ginter - spdionis - - Guillem Fondin (guillemfondin) + - Tadas Gliaubicas (tadcka) - Pablo Ogando Ferreira - - Juanmi Rodriguez Cerón - - Abdul.Mohsen B. A. A - - Rein Baarsma (solidwebcode) - - Pascal Hofmann - - Guillaume Loulier (guikingone) - - Łukasz Makuch - - Arek Bochinski + - Mostafa - Frankie Wittevrongel - Karel Syrový - - Mati Kochen (mtk) - Stefan Graupner (efrane) - Jérôme Dumas - - Anna Damm - - Wissame MEKHILEF - Haritz - povilas - Kevin Herrera (kherge) - - Helmut Januschka - - Sjoerd Adema - - Jan Pech (pechynho) - - Jonas Claes - - Osayawe Ogbemudia Terry (terdia) + - Loenix + - Yannick + - excelwebzone + - Jean de La Bédoyère + - Tobias Speicher - Oliver Hoff - - Guillermo Gisinger (t3chn0r) - - jannick-holm + - Bert Hekman + - Christian Wahler (christian) - Kevin Decherf - - Vacheslav Silyutin - - Maksym Romanowski (maxromanovsky) - - casdal - - Cosmin-Romeo TANASE - - Andrew Marcinkevičius (ifdattic) + - Aleksei Lebedev + - Andreas Forsblom (aforsblo) - Alberto Pirovano (geezmo) - - Pavel Prischepa + - marbul - Dcp (decap94) - - Imangazaliev Muhammad (imangazaliev) - Peter Simoncic - - Pierre-Henry Soria 🌴 (pierrehenry) + - Andrei O - Sébastien Decrême (sebdec) - - ncou + - Pierre Dudoret - Tiago Garcia (tiagojsag) - - Audain - - René Landgrebe + - Ambroise Maupate - Jozef Môstka (mostkaj) - - Tema Yud + - Xavier RENAUDIN - Roma (memphys) - Bart Baaten - Damián Nohales (eagleoneraptor) - - Antonio Mansilla - - PierreRebeilleau - - Kirill Lazarev - - Matt Daum (daum) - - Markus Baumer - - Cedrick Oka - - Gerrit Addiks - - scourgen hung (scourgen) - - Rene de Lima Barbosa (renedelima) - - Marcin Szepczynski (szepczynski) - - Yannick Vanhaeren (yvh) - - Ronny López (ronnylt) - - m.chwedziak - - Nicolas Lemoine - - kwiateusz + - cthulhu + - Albert Ganiev (helios-ag) + - Stefan Moonen + - Ismail Faizi (kanafghan) + - Oleh Korneliuk + - Linas Ramanauskas + - Vlad Gapanovich (gapik) - jonmldr - Arnaud Buathier (arnapou) - ollie harridge (ollietb) + - Nicolas A. Bérard-Nault - Andre Eckardt (korve) - Florent SEVESTRE (aniki-taicho) - - Nicolas A. Bérard-Nault - - Mephistofeles + - Julia - Willem Mouwen - - Giuseppe Campanelli - - Matt Ketmo (mattketmo) - - Dominik Ritter (dritter) - - Julien JANVIER (jjanvier) + - gazi04 - neFAST - - Sam Williams - - tamcy - - Tadcka - - Janusz Jabłoński (yanoosh) + - Greg Korba + - SnakePin + - Dionysis Arvanitis + - Valmont Pehaut-Pietri (valmonzo) + - Sylvain Dherbecourt - Nicolas Bastien (nicolas_bastien) - - Peter Orosz (ill_logical) - - Victor Truhanovich (victor_truhanovich) - - Marcos Labad - - Muhammad Elhwawshy + - Erwin Dirks + - Kirill Nesmeyanov (serafim) + - Philip Dahlstrøm - Ahmed Shamim Hassan (me_shaon) - Nasim - Rémi Leclerc - Gil Hadad - - Andreas Allacher + - Andreas Heigl (heiglandreas) - Sébastien COURJEAN - - Jan Dobrovodský (j-dobr) + - Felix Eymonot (hyanda) - Eric Hertwig - - chillbram - - Alexey Buyanow (alexbuyanow) - - Adoni Pavlakis (adoni) - - Pedro Silva - - Piergiuseppe Longo - - Danilo Silva - Kirill Saksin + - Mario Young + - Albion Bame (abame) + - Tijs Verkoyen + - Gustavo Adrian + - Clément Bertillon (skigun) + - Łukasz Giza (destroyer) + - Danilo Silva - Klaas Naaijkens - Sergey Novikov (s12v) - bch36 - - Michael Zangerle + - Knallcharge - Andrii Boiko - - Michael Nelson + - Ali Tavafi + - Juan Ases García (ases) + - Piotr Zajac + - Sylvain Lorinet + - markusu49 - Florian Morello - Stefano A. (stefano93) - - Albert Ganiev (helios-ag) - - Stefan Moonen - - Ismail Faizi (kanafghan) - - Colin Michoudet - - Hubert Moreau (hmoreau) - - Gerben Wijnja - - Vyacheslav Slinko - - Silvio Ginter - - Aaron Somi - - Marcin Twardowski - - BrokenSourceCode - - Ostrzyciel - - Knallcharge - Roger Webb - - Sven Nolting - - George Yiannoulopoulos - - Sergey Stavichenko (sergey_stavichenko) - - satalaondrej - - CarolienBEER - - Erwin Dirks - - Pitchaya Boonsarngsuk - - Philip Dahlstrøm - - Jordi Kroon + - Dmitry Hordinky - Konstantin S. M. Möllers (ksmmoellers) - Emre YILMAZ + - iamvar + - Samuel Vogel (samuelvogel) + - moldcraft - Lenar Lõhmus - v.shevelev - Georgi Georgiev - - Gautier Deuette - - Bogdan - - Dmytro Liashko - - Albion Bame (abame) - - Fabien Perroquin + - Rares Sebastian Moldovan (raresmldvn) - raplider - llupa - Daniel Kay (danielkay-cp) - Matthias Larisch - Evgeniy Koval - - Tadas Gliaubicas (tadcka) + - Michal Čihař + - evgkord + - Radek Wionczek (rwionczek) - Farid Jalilov - Jeroen van den Nieuwenhuisen - Abderrahman DAIF (death_maker) @@ -1901,1914 +1922,1927 @@ The Symfony Connect username in parenthesis allows to get more information - Sam Malone - Eno Mullaraj (emullaraj) - Shaun Simmons - - Bert Ramakers - - Martin Komischke - - Mostafa - - Constantine Shtompel + - Gaylord Poillon (gaylord_p) + - robmro27 + - Valouleloup + - Christoforos Ntafos - Neagu Cristian-Doru (cristian-neagu) - Jordan de Laune (jdelaune) - Frank Naegler - - Martin Schophaus (m_schophaus_adcada) + - Valentin VALCIU - Bruno BOUTAREL - Mark van den Berg + - Thierry Marianne - Danish Translation Contributor - Yorkie Chadwick (yorkie76) - - ivelin vasilev - vlechemin - Elías (eliasfernandez) + - Ken Stanley + - Máximo Cuadros (mcuadros) + - Edwin + - Per Modin + - abulford + - André Matthies + - Htun Htun Htet (ryanhhh91) + - Kamil Piwowarski (cyklista) + - uncaught + - Yurun + - SuRiKmAn + - Johannes Müller (johmue) + - Wouter de Wild + - Orestis + - Norbert Schultheisz + - Felipy Amorim (felipyamorim) + - gr1ev0us + - Tayfun Aydin - Patricia Wagner - Romain - Sebastian Göttschkes (sgoettschkes) - Arkalo2 - Anton Sukhachev (mrsuh) - - Saif Eddin G + - MGDSoft - Yasmany Cubela Medina (bitgandtter) - - Gustavo Adrian - - Clément Bertillon (skigun) - - Nathanael d. Noblet - - Pierre Rebeilleau (pierrereb) + - Olexandr Kalaidzhy + - James Michael DuPont + - vlakoff + - Marc + - David Stone + - Patrizio Bekerle + - Jonathan Hedstrom - Damon Jones (damon__jones) - - Loenix + - Cedric BERTOLINI (alsciende) - Tito Miguel Costa (titomiguelcosta) - Aurélien Fontaine - RFreij - Michał Dąbrowski (defrag) - Markus Klein - - Ken Stanley - - Tobias Speicher + - Nico Hiort af Ornäs - Franz Wilding (killerpoke) - Jesper Søndergaard Pedersen (zerrvox) - Ville Mattila - - Christian Wahler (christian) + - Guile (guile) - Christoph König (chriskoenig) - Markus Tacker - Michael Dowling (mtdowling) - - Maxcastel - - Andreas Forsblom (aforsblo) - - wiseguy1394 - - marbul - - cthulhu + - Steve Müller + - Ben Miller + - Maximilian Berghoff (electricmaxxx) - Piers Warmers - Alexandre Segura - Zuruuh - - Patrick Kaufmann + - Jérémy CROMBEZ (jeremy) - Matthew J Mucklo - - Andrei O - - Pierre Dudoret + - Vincent AMSTOUTZ (vincent_amstz) + - Kai Dederichs + - Johannes Goslar - Andras Ratz - Erik van Wingerden - - Markus Staab + - wetternest + - Maksym Pustynnikov (pustynnikov) - Rafał Treffler + - Malcolm Fell (emarref) - David Zuelke - Fabian Steiner (fabstei) - Pablo Monterde Perez (plebs) - Krzysztof Menżyk (krymen) - Foxprodev - - Oleh Korneliuk - - Vlad Gapanovich (gapik) + - shreypuranik + - Derek Stephen McLean - Talha Zekeriya Durmuş - DSeemiller - - gazi04 + - Elias Teutschländer - Vincent LEFORT (vlefort) - - Edwin - - SnakePin + - David Szkiba - Victor Garcia - - Dionysis Arvanitis - - Valmont Pehaut-Pietri (valmonzo) + - Goran (gog) + - Darius Leskauskas (darles) + - Mikko Ala-Fossi - Ivan Nemets - - Bart Wach + - Peter Gnodde - Ivan Nemets - Sören Bernstein - Koalabaerchen - - Kirill Nesmeyanov (serafim) - - Tristan Kretzer + - Hans N. Hjort + - Matt Lehner - George Bateman - - Mario Young + - Daniil Gentili - DidierLmn - remieuronews - julien_tempo1 (julien_tempo1) - David Christmann - Christian Flach (cmfcmf) - - Łukasz Giza (destroyer) + - Nicolas Bondoux (nsbx) - Marcel Siegert - curlycarla2004 - Moza Bogdan (bogdan_moza) - Zacharias Luiten - Halil Hakan Karabay (hhkrby) - - MiBo + - Arne Groskurth - Loïc Vernet (coil) - - sualko - - Sema - - Muharrem Demirci (mdemirci) - - Piotr Zajac - - Rich Sage - - Sezil + - Claude + - Marc Bennewitz + - Stefano Cappellini (stefano_cappellini) + - Ilya Biryukov (ibiryukov) + - Josef Hlavatý + - Jessica F Martinez + - johnstevenson + - Thomas Citharel (tcit) + - Paweł Stasicki - sensio - - Kovacs Nicolas - - markusu49 + - dantleech + - Robert Worgul - Felix Marezki - - Philippe Pichet - - Rares Sebastian Moldovan (raresmldvn) - - Michal Čihař - - ElisDN + - Steve Müller + - Michael Olšavský + - riadh26 + - Alexander Cheprasov + - Zoli Szabó (zoliszabo) - Víctor Mateo (victormateo) + - Ninos + - phc + - Artfaith + - Tomas Kmieliauskas + - hamza - Serge (nfx) - Stano Turza + - Florian Pondepeyre + - Ala Eddine Khefifi (nayzo) + - Farhad Hedayatifard - Per Sandström (per) - - Jiri Korenek - - evgkord - devel + - Athorcis + - Emmanuel Vella (emmanuel.vella) + - Alexandre Beaujour + - Abudarham Yuval - Thomas Baumgartner (shoplifter) - nyro (nyro) - ssilatel - - voodooism + - Cantepie + - seho-nl + - Christian López Espínola (penyaskito) + - Anton (bonio) - Moritz Kraft (userfriendly) - - Radek Wionczek (rwionczek) + - Brian Corrigan + - Nicolas + - Lukas Naumann + - Thomason, James + - Adam Elsodaney (archfizz) - Adrien Samson (adriensamson) - Yevgen Kovalienia - Aurimas Rimkus (patrikas) + - Caligone + - Alexandru Bucur + - Chris Maiden (matason) + - goabonga + - Vladislav Rastrusny (fractalizer) + - Grayson Koonce + - Elliot Anderson (elliot) + - Michael Lively (mlivelyjr) + - Jake Bishop (yakobeyak) + - Adel ELHAIBA (eadel) + - Mihail Krasilnikov (krasilnikovm) + - Valentin + - Arseny Razin + - Lin Clark - Sébastien HOUZÉ - - Paul Andrieux - - Jan Eichhorn (exeu) + - Lauris Binde (laurisb) + - wallach-game + - Staormin - Alexandre Tranchant (alexandre_t) - - Valouleloup - - Thierry Marianne + - Sébastien HOUZE + - Ignacio Alveal - Xesau - Grégory Pelletier (ip512) - - abulford - - Anton Zagorskii - - Johannes Müller (johmue) - - alanzarli - - dima-gr - - Nicolas Le Goff (nlegoff) - - Paul Mitchum (paul-m) - - pdragun + - David Lumaye (tux1124) + - Drew Butler + - Morimoto Ryosuke + - Laurent Negre (raulnet) + - neghmurken + - Iain Cambridge + - Joe Springe + - Drew Butler + - Peter Mead (petermead) + - Nicolas ASSING (nicolasassing) + - Kamil Madejski (kmadejski) + - Michael Orlitzky - Jeremy Benoist - - hamza - - Olexandr Kalaidzhy - - Joseph Maarek - - Juan Luis (juanlugb) - - Joseph FRANCLIN - - DerManoMann - - Matěj Humpál - - Eric Schildkamp - - Simon Müller (boscho) - - Guillaume Aveline - - Gabriel Moreira - - James Michael DuPont - - WaiSkats - - David Joos (djoos) - - Arnau González - - Marc - - Bjorn Twachtmann (dotbjorn) - - Justin Rainbow (jrainbow) - - Julien Pauli - - uncaught - - Vitalii - - Almog Baku (almogbaku) - - Stephen Lewis (tehanomalousone) - - azine - - Denys Voronin (hurricane) - - Tom Maguire - - Max Voloshin (maxvoloshin) - - Troy McCabe - - Eric Grimois - - Cedric BERTOLINI (alsciende) - - sebastian - - Jos Elstgeest - - Blackfelix - - Agustin Gomes - - Tobias Rautenkranz - - Maxim Lovchikov - - orlovv - - Pablo Schläpfer - - Nico Hiort af Ornäs - - Guile (guile) - - PaoRuby - - Warwick - - Ben Miller - - Jovan Perovic (jperovic) - - Joel Marcey - - Pavinthan - - Milos Colakovic (project2481) - - Emmanuelpcg - - Wouter Diesveld - - Peter Smeets (darkspartan) - - Maximilian Berghoff (electricmaxxx) - - Tero Alén (tero) - - Eric J. Duran - - Helmer Aaviksoo - - georaldc - - Jeroen de Boer - - Robert-Jan de Dreu - - Ruslan Zavacky (ruslanzavacky) - - baron (bastien) - - simbera - - Nicolas Schwartz (nicoschwartz) - - Nick Stemerdink - - Marco Jantke - - ondrowan - - Stanislav Gamaiunov (happyproff) - - Ronny (big-r) - - Bruno Nogueira Nascimento Wowk - - Antonio Angelino - - Dmitriy Tkachenko (neka) - - Alexander Menk - - Ruben Jansen - - HADJEDJ Vincent (hadjedjvincent) - - Johannes Goslar - - Swen van Zanten - - inwebo veritas (inwebo) - - Laurent Bachelier (laurentb) - - martijn - - Kai Dederichs - - Bárbara Luz - - root - - Sven Scholz - - Cayetano Soriano Gallego (neoshadybeat) - - Bruno Ziegler (sfcoder) - - Karl Shea - - shreypuranik - - Radoslaw Kowalewski - - Derek Stephen McLean - - Mateusz Lerczak - - Miloš Milutinović - - Elias Teutschländer - - Cantepie - - Marie Minasyan (marie.minassyan) - - Ahmed HANNACHI (tiecoders) - - David Szkiba - - psampaz (psampaz) - - Roromix - - Mathias Geat - - Jakub Vrána - - wetternest - - Nicolas Sauveur (baishu) - - Matthieu Prat - - Elliot Anderson (elliot) - - Goran (gog) - - Jake Bishop (yakobeyak) - - William Thomson (gauss) - - Adel ELHAIBA (eadel) - - Mihail Krasilnikov (krasilnikovm) - - Valentin - - David Lumaye (tux1124) - - Tischoi - - Jeffrey Cafferata (jcidnl) - - Florian Guimier - - Juan Gonzalez Montes (juanwilde) - - Mikko Ala-Fossi - - Adrian Olek (adrianolek) - - Hans N. Hjort - - Dale.Nash - - Frank Jogeleit - - mwos - - Nil Borodulia - - Matt Lehner - - emilienbouard (neime) - - Valentin Barbu (jimie) - - Maksym Pustynnikov (pustynnikov) - - François Poguet - - John Nickell (jrnickell) - - cay89 - - Troy Crawford - - Benoit Lévêque (benoit_leveque) - - Michael Orlitzky - - Matthias Perret (mp3000mp) - - Maxime AILLOUD (mailloud) - - Julien Bianchi (jubianchi) - - dened - - Andrea Quintino (dirk39) - - Michael Olšavský - - Athorcis - - Jens Schulze - - Sylvain Just - - Chris Tickner - - Ernest Hymel - - Daniil Gentili - - Zander Baldwin - - Wojciech Zimoń - - Oxan van Leeuwen - - Anatol Belski - - gedrox - - Zachary Tong (polyfractal) - - Carsten Eilers (fnc) - - Abdulkadir N. A. - - Sebastian Ionescu - - Alexandru Patranescu - - Daniele Cesarini (ijanki) - - MGatner - - Vic D'Elfant (vicdelfant) - - Marc Lemay (flug) - - George Sparrow - - Nicolas Bondoux (nsbx) - - Alexandre Beaujour - - Caligone - - Vincent Pabst - - Arseny Razin - - Arne Groskurth + - Jakub Chábek + - Stefan Kleff (stefanxl) - Marcel Berteler - - Simon Jamain - - Marc Bennewitz + - Tomas Liubinas + - guangwu + - Nicolas Tallefourtané (nicolab) + - cybernet (cybernet2u) + - Simon / Yami - Constantine Shtompel - - Drew Butler - - Geoffrey Pécro (gpekz) + - Robin Kanters (anddarerobin) + - ging-dev + - SanderSander + - Jelizaveta Lemeševa (broken_core) + - Martin Pärtel + - ryunosuke + - Saem Ghani + - PLAZANET Pierre (pedrotroller) + - Ron Gähler (t-ronx) + - Patryk Kozłowski + - Omar Yepez (oyepez003) + - Vladislav Vlastovskiy (vlastv) + - Matthew Foster (mfoster) + - Johan Wilfer (johanwilfer) + - Peter Schultz - Alessandro Loffredo - Marco Pfeiffer - Eduardo García Sanz (coma) - - Sergio - - Michaël VEROUX - - Dr. Gianluigi "Zane" Zanettini - - Pontus Mårdnäs - - Pavel Stejskal (spajxo) - - Nicolas Appriou - - Tobias Stöckler - - ChrisC - - Ilya Biryukov (ibiryukov) - - Sergey Fokin (tyraelqp) - - Yuri Karaban - - Maxime Aknin (3m1x4m) - - michal - - SAY-5 - - zors1 - - detinkin - - Jessica F Martinez - - Robert Worgul - - sez-open - - Benjamin Ellis - - Guillaume LECERF - - riadh26 - - Artem (digi) - - Ian Littman (iansltx) - - Mathieu Morlon (glutamatt) - - Daniel Kozák - - Ilya Vertakov - - Norbert Schultheisz - - Jared Farrish - - NIRAV MUKUNDBHAI PATEL (niravpatel919) - - Alexander Cheprasov - - Victor Macko (victor_m) - - Oleksii Bulba - - Justin Reherman (jreherman) - - Miquel Fontana - - Roman Orlov - - Stéphane Seng (stephaneseng) - - Stas Soroka (stasyan) - - Stephen Clouse - - Florian Pondepeyre - - vltrof - - Martin Eckhardt - - G.R.Dalenoort - - Geoffrey Monte (numerogeek) - - Benjamin Schultz (bschultz) - - Karolis Daužickas (kdauzickas) - - Damien Fayet (rainst0rm) - - Jean de La Bédoyère - - Ala Eddine Khefifi (nayzo) - - Illia Antypenko (aivus) - - Robin Duval (robin-duval) - - Janusz Mocek - - Joas Schilling - - Jiri Falis - - Tim van Densen - - Sylvain Dherbecourt - - Abudarham Yuval - - cgonzalez - - Cyrille Jouineau (tuxosaurus) - - Nouhail AL FIDI (alfidi) - - Adam Elsodaney (archfizz) - - Andreas Heigl (heiglandreas) - - pkowalczyk - - Sjors Ottjes - - Myke79 - - Christoph Kappestein - - mboultoureau - - Bernd Matzner (bmatzner) - - Alex Niedre - - Kevin Mian Kraiker - - Markus Reinhold - - Adam Wójs (awojs) - - Nerijus Arlauskas (nercury) - - Aleksandar Dimitrov (netbull) - - Tom Newby (tomnewbyau) - - boulei_n - - matze - - Jean-Baptiste Nahan - - Michael Lively (mlivelyjr) - - Filipe Guerra - - Denis Klementjev (dklementjev) - - Alexey Vlasov - - Lin Clark - - Peter Mead (petermead) - - Dan Patrick (mdpatrick) - - Jakub Chábek - - Bikal Basnet - - johnstevenson - - Benjamin Rosenberger - - Paul Le Corre - - Mei Gwilym (meigwilym) - - muchafm - - Michael Tibben - - Nicolas Tallefourtané (nicolab) - - Manatsawin Hanmongkolchai - - Javier Espinosa (javespi) - - Evgeny Efimov (edefimov) - - Artyum Petrov - - Diego Aguiar (mollokhan) - - Asrorbek (asrorbek) - - Jochen Bayer (jocl) - - Vincent Chalamon - - Benjamin Pick - - Tom Houdmont - - Simon / Yami - - Evgeniy Tetenchuk - - gr8b - - Jorrit Schippers (jorrit) - - Jonathan Vollebregt - - Pierre-Louis LAUNAY - - Emilien Escalle - - Roman Tyshyk - - Roeland Jago Douma - - Anne-Sophie Bachelard - - Patryk Kozłowski - - Lukas Naumann - - Thomason, James - - Charles-Édouard Coste - - Stefan Kleff (stefanxl) - Fabio Panaccione - Zlatoslav Desyatnikov - Damien Vauchel (damien_vauchel) - - Benjamin Franzke - - Lane Shukhov - - Viktor Novikov (nowiko) - - Yurguis Garcia (yurguis) - - Vincent AMSTOUTZ (vincent_amstz) - - misterx + - MiBo + - Babichev Maxim (rez1dent3) + - Vladimir Vasilev (bobahvas) + - Roman Tyshyk + - alanzarli + - Severin Glöckle + - Aurélien ADAM (aadam) + - Martin Mayer (martin) + - mousezheng + - Benjamin Franzke - Volker Killesreiter (ol0lll) - - Aurelijus Rožėnas - - Elías Fernández + - ZiYao54 + - Thibaut Chieux - Felicitus - - Karim Cassam Chenaï (ka) - - mrossard - - Michael Pohlers (mick_the_big) - - Martins Eglitis + - Julien BERNARD + - Guillaume Smolders (guillaumesmo) - Simon Asika - - Jason Desrosiers - - Sébastien Lévêque (legenyes) + - Quique Porta (quiqueporta) - Gilles Gauthier + - Sergio + - Carsten Eilers (fnc) + - Dr. Gianluigi "Zane" Zanettini + - Abderrahim (phydev) + - Beth Binkovitz + - Sebastian Utz + - Harry Wiseman + - Denis Golubovskiy (bukashk0zzz) + - Eric Schildkamp + - Cyrille Jouineau (tuxosaurus) + - taiiiraaa - adenkejawen - - Alex Vasilchenko - - Steven Dubois - - Ramon Kleiss (akathos) + - Niels Robin-Aubertin + - Ibon Conesa (ibonkonesa) + - Bram Van der Sype (brammm) + - Alexey Deriyenko + - BRAMILLE Sébastien (oktapodia) - Thijs Reijgersberg - - Dmitry Hordinky + - Mike Francis + - Thomas + - Michael Pohlers (mick_the_big) + - Martins Eglitis - db306 - - Jacek Wilczyński (jacekwilczynski) - - AbdelatifAitBara - - cybernet (cybernet2u) - - Max Grigorian (maxakawizard) + - Jason Desrosiers + - Sébastien Lévêque (legenyes) - Michaël Marinetti + - Sema - Nicolas Pion - - Marek Binkowski + - Oncle Tom - Alex Silcock - - Rodolfo Ruiz - - Fabien - - Ondřej Frei - - Ivo Valchev - - Stefan Kruppa - - dmitrijivanenko - - Starfox64 - - Thibaut Chieux - - Frederik Schwan - - Alexander Zogheb - - Roy-Orbison - - Ambroise Maupate - - AmsTaFF (amstaff) - - Flavien Knuchel (knuch) - - Gemorroj (gemorroj) - - jfcixmedia - - Maerlyn - - ffd000 - - Malaney J. Hill - - Saem Ghani + - Jelle Bekker (jbekker) + - Nguyen Tuan Minh (tuanminhgp) + - Asil Barkin Elik (asilelik) + - Yurii K + - rtek + - Bikal Basnet + - Paul Mitchum (paul-m) + - pdragun + - Théo DELCEY + - Nicolas Attard (nicolasattard) + - Charles-Édouard Coste + - Arnau González + - Lane Shukhov + - Viktor Novikov (nowiko) + - Yurguis Garcia (yurguis) + - Pierre-Louis LAUNAY + - Emilien Escalle + - misterx + - Menno Holtkamp + - Anne-Sophie Bachelard + - Will Donohoe + - Aurelijus Rožėnas + - Elías Fernández + - mieszko4 + - Tema Yud + - Jacek Wilczyński (jacekwilczynski) - Dominik Hajduk (dominikalp) - Jorge Maiden (jorgemaiden) - - gstapinato + - Luca Genuzio (genuzio) + - Antonio Mansilla + - Michael Zangerle + - Michael Nelson + - Nicolas Le Goff (nlegoff) + - Joseph FRANCLIN + - Marek Binkowski + - Mbechezi Nawo + - gauss + - rhel-eo + - Kirill Roskolii + - LoginovIlya + - Mamikon Arakelyan (mamikon) + - Michal Gebauer + - Ondřej Frei + - Aharon Perkel + - Rodolfo Ruiz + - Fabien + - Joseph Maarek + - Juan Luis (juanlugb) + - DerManoMann + - Benhssaein Youssef + - Jack Wright + - Simon Müller (boscho) + - Guillaume Aveline + - Blackfelix - Jakub Caban (lustmored) - Vladimir Khramtsov (chrome) - Mathieu Dewet (mdewet) + - Luke Towers + - László GÖRÖG + - Michael Genereux + - CarolienBEER + - Peter Dietrich (xosofox) + - Tero Alén (tero) + - Botond Dani (picur) + - AmsTaFF (amstaff) + - Tischoi + - Jeffrey Cafferata (jcidnl) + - jfcixmedia + - Maksym Romanowski (maxromanovsky) + - jersoe + - Pierre Foresi (pforesi) + - Francois Martin + - Carlos Tasada + - Denis Kop + - dasmfm + - max + - Michaël VEROUX + - Nsbx + - Bogdan + - Abdulkadir N. A. + - Roman Tymoshyk (tymoshyk) + - Jonathan Gough - Jimmy Leger (redpanda) - Ahmad Mayahi (ahmadmayahi) - - Plamen Mishev (pmishev) + - Jean-François Morin-Abdullah - Camille Baronnet - Kevin Nadin (kevinjhappy) - - Dan Kadera + - Alexandru Patranescu + - Bert Ramakers + - George Sparrow + - Jan Vernieuwe (vernija) + - Sandro Hopf (senaria) + - Sam Anthony + - Illia Antypenko (aivus) + - John Edmerson Pizarra + - Matt Brunt + - Ivan Yivoff + - Olivier Laviale (olvlvl) - Ahmed EBEN HASSINE (famas23) - Olatunbosun Egberinde - - James Cowgill - andersmateusz - - Martijn Evers - - Dmitri Petmanson - - Mbechezi Nawo - - gauss - - Andy Raines - - Kirill Roskolii - - LoginovIlya - - Mamikon Arakelyan (mamikon) - - Joao Paulo V Martins (jpjoao) - - fduch (fduch) - - Nikita Starshinov (biji) + - Yannick Bensacq (cibou) + - Walter Doekes + - Laurent Clouet + - Robin Duval (robin-duval) + - Ivo Valchev + - Youpie + - wesign (inscrutable01) - Michael Simonson (mikes) - - Marcel Pociot (mpociot) - - Francesco Panina (dasas87) + - dmitrijivanenko + - Gabriel Moreira + - Flavien Knuchel (knuch) + - WaiSkats + - David Joos (djoos) + - azine + - Gijs Kunze + - Jean-Guilhem Rouel (jean-gui) + - sebastian + - Alexey Popkov + - Starfox64 - Abdiel Carrazana (abdielcs) + - RichardGuilland + - Javier + - Gemorroj (gemorroj) + - Vaidas Lažauskas - Richard van Velzen - - Daniel González Zaballos (dem3trio) - - amcastror + - Lebnik + - Holger Lösken + - ffd000 - lerminou - Eddie Abou-Jaoude (eddiejaoude) - - Marvin Bölsterli (marvinb) + - wusuopu + - j4nr6n (j4nr6n) + - Malaney J. Hill + - Francesco Panina (dasas87) + - amcastror - natechicago - - Simon Mönch - - patrickmaynard - - Frederic Godfrin - - Arkadiusz Rzadkowolski (flies) - - Martin Auswöger + - Shane McKinley + - Louis-Proffit + - Olivier Scherler (oscherler) - Ibrahim Bougaoua - - Ikko Ashimine - - dargor980 + - Joseph Deray + - Roland Franssen :) - Gerrit Drost - - jwaguet - - 2manypeople - - Lucas Bäuerle - - JuntaTom (juntatom) - - Adrian Philipp - - “teerasak” + - Bjorn Twachtmann (dotbjorn) + - Justin Rainbow (jrainbow) + - Martin Komischke + - Almog Baku (almogbaku) + - Saif Eddin G - Luis Ramirez (luisdeimos) - - Gerry Vandermaesen (gerryvdm) - - Jan Vernieuwe (vernija) - - Simone Ruggieri - - iamvar - - Anthony Ferrara - - Marco Pfeiffer - - Aharon Perkel - - Benhssaein Youssef - - xaav - - gechetspr - - Hadrien Cren (hcren) - - Matt Farmer - - dogedede - - Dmitry (staratel) - - Ondřej Mirtes (mirtes) - - gondo (gondo) + - Patrick Kaufmann + - Fernando Henrique + - Simon Ackermann + - Ismail Özgün Turan (dadeather) - Carl Julian Sauter + - Troy McCabe + - Muriel (metalmumu) + - divinity76 + - Adam + - Andrea Sprega (asprega) + - Merijn Wijngaard + - Atthaphon Urairat - David Stone - - Peter Ward - - Ferenczi Krisztian (fchris82) - - Michael Genereux - - jersoe - - Pierre Foresi (pforesi) - - Francois Martin + - mlazovla + - Xavier HAUSHERR + - Kristen Gilden - Guillaume Gammelin - - Florian Caron (shalalalala) - - Edwin Hageman - Romeo - - Jure (zamzung) - - Emmanuel Dreyfus - - Sam Anthony + - Peter Bex + - Markus Reinhold + - Nerijus Arlauskas (nercury) + - Lucas Bäuerle + - JuntaTom (juntatom) + - Adrian Philipp + - “teerasak” - czachor - - John Edmerson Pizarra - - Maxwell Vandervelde - - Helmut Hummel (helhum) - - Simon Sargeant - - wusuopu - Wouter Sioen (wouter_sioen) - - Martynas Sudintas (martiis) - - Frank Dekker - - Yiorgos Kalligeros - - Carlos Tasada - - Denis Kop - - dasmfm - - max + - Angel Fernando Quiroz Campos (angelfqc) + - Laurent Moreau + - Miquel Fontana + - Jos Elstgeest + - Cédric Girard + - Shyim - Saem Ghani - - Nsbx - - Gavin (gavin-markup) - - Eduard Bulava (nonanerz) - - Roman Tymoshyk (tymoshyk) - - j4nr6n (j4nr6n) + - Jan Dobrovodský (j-dobr) + - Thorsten Hallwas + - Guillaume Royer + - Yewhen Khoptynskyi (khoptynskyi) + - Chris de Kok + - Benjamin Bender - Sebastian Busch (sebu) - - Adam Monsen (meonkeys) + - devman1917 + - Michał Strzelecki + - Romain Geissler - Gerhard Seidel (gseidel) - - dakur - Nacho Martin (nacmartin) - - Samuel Vogel (samuelvogel) - - moldcraft + - Anton Kroshilin + - Dilek Erkut + - Ole Rößner (basster) + - Karlos Presumido (oneko) - John VanDeWeghe + - Matt Fields - Ph3nol - Bert ter Heide (bertterheide) - kurozumi (kurozumi) + - Peter Ward + - Ferenczi Krisztian (fchris82) + - Pierrick Charron - Christoph Krapp - - vlakoff + - Jeroen + - Philippe Pichet + - Ivan Tse - izenin - - Ali Tavafi - - Juan Ases García (ases) - - David Stone - - Patrizio Bekerle + - Ulrik Nielsen (mrbase) - Ionut Cioflan + - Mark de Haan (markdehaan) + - Wim Godden (wimg) + - Gustavo Adrian - Florian Bogey + - Michaël Thieulin (mthieulin) + - Wotre + - Thomas Bibaut + - darnel + - HellFirePvP + - mmokhi - Antonio Torres - Valentin - - Ryan Rogers + - Frédéric Bouchery (fbouchery) - Nardberjean - - David Windell - - Thomas Boileau (tboileau) - Tobias Anders - - koyolgecen - - Rodrigo Díez Villamuera (rodrigodiez) + - Flavian Sierk - Juliano Petronetto - - helmi - - Laurent Moreau + - Alexander McCullagh (mccullagh) + - Fabian Haase + - Shane Preece (shane) - Fabrice Locher + - Eric Grimois - David Négrier (moufmouf) - - Evgeny Anisiforov - - Aaron Piotrowski (trowski) - - Romain Geissler - Tomáš Polívka (draczris) - Yoann MOROCUTTI - - Anton Kroshilin - - Claude - - Ole Rößner (basster) - - Karlos Presumido (oneko) + - Florian Caron (shalalalala) - Arash Tabrizian (ghost098) - - Matt Fields - - Mark de Haan (markdehaan) - - Wim Godden (wimg) - - Gustavo Adrian - - Farhad Hedayatifard - - wallach-game + - Boullé William (williamboulle) + - Yiorgos Kalligeros + - Adam Monsen (meonkeys) - Simone Di Maulo (toretto460) - - Pavel Starosek (octisher) - - Wotre - - Thomas Bibaut - - darnel - - HellFirePvP - - Artyom Protaskin - - Andras Debreczeni - - Jordi Rejas - - Josef Cech - - Pierre Tachoire - - Michal Gebauer - - Klaas Cuvelier (kcuvelier) - - Maarten Nusteling (nusje2000) - - Phillip Look (plook) - - Dario Savella - - NorthBlue333 - - Thomas Chmielowiec + - cilefen (cilefen) - sarah-eit - - Anton Dyshkant - - Igor Tarasov (polosatus) + - Maarten Nusteling (nusje2000) + - Benoit Lévêque (benoit_leveque) - Tom Hart - Arnaud CHASSEUX - - Gabriel Birke - Dmytro Dzubenko + - Thomas Chmielowiec - Christian Morgan + - Thomas Hanke + - ibasaw + - Anton Dyshkant + - Gabriel Birke + - Colin Michoudet + - Tobias Rautenkranz + - Maxim Lovchikov + - orlovv + - Pablo Schläpfer - Giorgio Premi - - Romeo - - Louis-Proffit - - Olivier Scherler (oscherler) - Stephen - - Joseph Deray - - Benjamin Bender - - Muriel (metalmumu) + - PaoRuby + - Warwick - Benjamin Long - - Michał Strzelecki - - Théo DELCEY - - Nicolas Attard (nicolasattard) - - pthompson - - Randel Palu - - Elias Häußler - - Gijs Kunze - - Thomas Hanke - - yoye - - Evert Jan Hakvoort + - martkop26 + - Maxime Aknin (3m1x4m) - Pathpat - Andriy Prokopenko (sleepyboy) - Kris Buist - ReScO - - Alessandro Tagliapietra (alex88) - - Daniel Rotter (danrot) - - Mark Pedron (markpedron) - - Maciej Schmidt + - boite - Charly Terrier (charlypoppins) - Sergei Shitikov - - Paul Ferrett + - pthompson - Thanh Trần - - heccjj + - Sezil - patrick-mcdougle - - Tristan Bessoussa (sf_tristanb) - - Kajetan Kołtuniak (kajtii) - - Mark Topper - - craigmarvelley - - divinity76 - - Adam - - Tournoud (damientournoud) - - Rick Prent - - Jose Manuel Gonzalez (jgonzalez) - - Nico Hiort af Ornäs + - Carsten Nielsen (phreaknerd) - David Courtey (david-crty) - Kasper Hansen - Robert Gurau - - Alan Chen + - Artem (digi) + - Randel Palu + - Paul Ferrett + - Ian Littman (iansltx) + - Viet Pham + - Mathieu Morlon (glutamatt) + - Jovan Perovic (jperovic) + - Joel Marcey + - Pavinthan + - Milos Colakovic (project2481) + - Kantin CHARIGNON + - Jared Farrish + - Peter Smeets (darkspartan) + - Tristan Bessoussa (sf_tristanb) + - Anne-Julia Seitz + - Rick Prent - Dawid Nowak - - Mark Spink - - Pierre Rineau - - Bogdan Scordaliu - - Atthaphon Urairat - - Mo Di (modi) - - Vladimir Melnik - Mehdi Mabrouk (mehdidev) - - Arthur Woimbée - - Daan van Renterghem + - victor-prdh + - georaldc + - Zdeněk Drahoš + - qzylalala + - nerdgod + - Tomáš Korec (tomkorec) + - Kaipi Yann + - Adrien Peyre (adpeyre) + - Andre Johnson + - Peter Trebaticky + - timesince + - jc + - Renan Taranto (renan-taranto) + - Ryan Rogers - Luis Ramón López López (lrlopez) - - Per Modin - Vadim Tyukov (vatson) - - Nowfel2501 + - Chris Shennan (chrisshennan) + - Dominic Luidold + - Jeroen de Boer + - Robert-Jan de Dreu + - Marin Bînzari (spartakusmd) + - voodooism + - Nicolas Martin (cocorambo) + - Oleg Mifle + - maxime.perrimond + - Franz Liedke (franzliedke) + - Ruslan Zavacky (ruslanzavacky) + - Thomas Beaujean + - simbera + - Jakub Vrána - Franck Ranaivo-Harisoa - - Christian Seel - - Kristen Gilden - - Paul Santus - - Julius Kiekbusch - - Nikola Svitlica (thecelavi) - - sdkawata - - Artem Oliinyk (artemoliynyk) - - Ahmed Soliman (ahmedsoliman) - - André Matthies - - Htun Htun Htet (ryanhhh91) - - Jason Schilling (chapterjason) - - Kacper Gunia (cakper) - - mark burdett - - Eric Stern - - Owen Gray (otis) - - Mara Blaga - - Tobias Weinert (tweini) - - RENAUDIN Xavier (xorrox) - - Cédric Girard - - Shyim - - downace - - Pierrick Charron - - Zdeněk Drahoš - - Jeroen - - qzylalala - - Kai Eichinger - - Bailey Parker - - Adrien Chinour - - Andrew Brown - - Juan M Martínez - - Mahmoud Mostafa (mahmoud) - - Rainrider - - Tony Vermeiren (tony) - - Artem (nexim) - - Thorsten Hallwas - - Faton (notaf) - - Yewhen Khoptynskyi (khoptynskyi) - - Chris de Kok - - Arkadiusz Kondas (itcraftsmanpl) - - nerdgod - - timesince - - Jonathan Gough - - Dilek Erkut - - Sepehr Lajevardi - - Morimoto Ryosuke - - jc - - Frédéric Bouchery (fbouchery) - - victor-prdh - - Andy Stanberry - - Flavian Sierk - - Laurent Negre (raulnet) - - Renan Taranto (renan-taranto) - - neghmurken - - Iain Cambridge - - Joe Springe - - Drew Butler - - Chris Shennan (chrisshennan) - - Thomas Beaujean - - Shane Preece (shane) + - Nicolas Schwartz (nicoschwartz) - Peter Thompson (petert82) - - Alexander McCullagh (mccullagh) - - Marin Bînzari (spartakusmd) - - Asrorbek Sultanov - - Nicolas Martin (cocorambo) - - Oleg Mifle - - maxime.perrimond - - Franz Liedke (franzliedke) + - Marco Jantke + - Jason Stephens + - Nicolas Sauveur (baishu) + - Jairo Pastor + - David Windell + - Thomas Boileau (tboileau) + - James Sansbury + - Matěj Humpál + - Rodrigo Díez Villamuera (rodrigodiez) + - helmi + - henderkes + - Дмитрий Пацура - Bernard van der Esch (adeptofvoltron) - eminjk - Dennis Fehr - - Jason Stephens + - Rini Misini - robin.de.croock - Alex Carol (picard89) - - Péter Buri (burci) + - Talel Zighni - maxperei - Lyubomir Grozdanov (lubo13) - - omerida - - Jakub Simon - - Danil Khaliullin (bifidokk) - - Yohan Giarelli (frequence-web) - - Andrew Clark (tqt_andrew_clark) - - Yoann Chocteau (kezaweb) - - Oksana Kozlova (oksanakozlova) - - Jairo Pastor - - Ionel Scutelnicu (ionelscutelnicu) - - James Sansbury - - Vladislav Nikolayev (luxemate) + - Alexandre Pavy + - Jiri Falis + - Nikola Svitlica (thecelavi) + - Artem Oliinyk (artemoliynyk) + - Kacper Gunia (cakper) + - mark burdett + - Jm Aribau (jmaribau) + - Kousuke Ebihara (co3k) + - Dmitry Simushev + - martijn + - Thomas BERTRAND (sevrahk) + - Valentin PONS (valx76) + - Tom Panier (neemzy) + - Pierre Sv (rrr63) + - Christian + - Raphael de Almeida (raphaeldealmeida) + - Romain Pierre + - Dan Ordille (dordille) + - Reda DAOUDI + - Andrew Carter (andrewcarteruk) + - Thomas Dubuffet (thomasdubuffet) + - mlpo (mlpo) + - Stephanie Trumtel (einahp) + - Serhiy Lunak (slunak) + - Pontus Mårdnäs - Philipp - LubenZA - Sagrario Meneses - - henderkes - - Rini Misini + - Mohammad Eftekhari (bluemmb) + - scourgen hung (scourgen) - BilgeXA - Matthew (mattvick) - Bhujagendra Ishaya - Marcus Stöhr (dafish) + - Stanislav Gamaiunov (happyproff) + - Ronny (big-r) + - Bruno Nogueira Nascimento Wowk + - Ivo Valchev + - Dmitriy Tkachenko (neka) + - Misha Klomp (mishaklomp) + - Eric Stern + - Schvoy Norbert (schvoy) + - Phillip Look (plook) + - Dario Savella + - Owen Gray (otis) + - stollr + - Tobias Weinert (tweini) + - RENAUDIN Xavier (xorrox) + - Thomas Ploch + - Benjamin Rosenberger + - Ruben Jansen + - Stefanos Psarras (stefanos) + - Matt Wells + - Guido Donnari - Nicolas Appriou - Cláudio Cesar - Richard Čepas - - Chansig - - soyuka - - Léo VINCENT - - Frédéric G. Marand (fgm) - - Joshua Behrens (joshuabehrens) - - Aleksandr Dankovtsev - - Mert Simsek (mrtsmsk0) - - Ari Pringle (apringle) - - Karolis - - Mohammad Ali Sarbanha (sarbanha) - - Raul Rodriguez (raul782) - - Kenjy Thiébault (kthiebault) - - PLAZANET Pierre (pedrotroller) - - Andreas + - Alessandro Tagliapietra (alex88) + - Willem Verspyck + - Mark Pedron (markpedron) + - Maciej Schmidt + - Manatsawin Hanmongkolchai - Wim Molenberghs (wimm) - - Valérian Lepeule (vlepeule) - - Alexey Berezuev + - Evgeny Efimov (edefimov) + - Jonathan (grafikart) - Dmitrii Baranov - - Daniel Tschinder - - Dalibor Karlović - - RAHUL K JHA - - Roberto Guido - - martkop26 - - Safonov Nikita (ns3777k) - - aim8604 - - Szymon Tarasiński - - Sylvain Lorinet - - SuRiKmAn - - Yann LUCAS (drixs6o9) - - Fabien D. (fabd) - - Eduardo Rocha - - Brad Bayliss - - Alexandre Pavy - - Konrad - - Aaron Scherer (aequasi) + - gndk + - dened + - Adrien Chinour - Gilles Doge (gido) - - Clément - - Stakovicz + - david-binda + - Xavier Amado (xamado) + - Dustin Wilson + - Charly Goblet (_mocodo) + - Evgeniy Tetenchuk + - Yoann MOROCUTTI + - gstapinato - Paulius Jarmalavičius (pjarmalavicius) - - Romain Jacquart (romainjacquart) + - Pierre Schmitz - jack.thomas (jackthomasatl) - - Andreas Kleemann (andesk) - - Ema Panz + - Lars Ambrosius Wallenborn (larsborn) + - Jens Schulze + - Roy-Orbison - Nico Müller (nicomllr) - Charles Sanquer (csanquer) - root - Paweł Tomulik - - Julien Boudry - - Sébastien Armand (khepin) - - Niels Robin-Aubertin - - Ibon Conesa (ibonkonesa) - - Rutger Hertogh - - David Barratt + - Ulrik McArdle - Eric Caron - - Kantin CHARIGNON - - Matthew Covey - - Bermon Clément (chou666) - - Ondřej Frei + - Marvin Bölsterli (marvinb) + - Wang Jingyu + - Jaymin G + - thecaliskan + - Tomáš Votruba + - HADJEDJ Vincent (hadjedjvincent) + - Evrard Boulou + - Swen van Zanten + - Andrew Brown + - Juan M Martínez + - inwebo veritas (inwebo) + - Laurent Bachelier (laurentb) + - Maerlyn + - alekLexis + - Bárbara Luz + - Mickaël BULIARD + - Sven Scholz + - Cayetano Soriano Gallego (neoshadybeat) + - Matteo Galli - Piotr Antosik (antek88) - - David Wolter (davewww) - - Szymon Kamiński (szk) - - Sebastian Drewer-Gutland (sdg) - - Kevin Meijer - - Yurun - - Victor Prudhomme - - Léon Gersen - - Evgeny (disparity) - - Michael J - - Oleg Krasavin (okwinza) - - Ruud Seberechts - - abluchet - - Schuyler Jager (sjager) - - Nicholas Ruunu (nicholasruunu) - - Alejandro Diaz Torres - - mlazovla - - Valentin PONS (valx76) - - Dmitry Simushev - - Jorge Vahldick (jvahldick) - - Talel Zighni - - Sortex - - enekochan (enekochan) - - Max Summe - - Bastien Picharles - - Ulrik Nielsen (mrbase) - - Karim Miladi - - Andreas Hasenack - - Storkeus - - ging-dev - - Guillaume Royer - - Jelizaveta Lemeševa (broken_core) - - Martin Pärtel - - ryunosuke - - Anthony Moutte - - Ahmad Al-Naib - - Axel Venet - - Viet Pham - - Marcello Mönkemeyer (marcello-moenkemeyer) - - Aleksey Prilipko - - Willem Verspyck - - Nicolas Séverin - - devman1917 - - Jan Vernarsky - - czachor - - Axel Venet - - Ikhsan Agustian - - Ron Gähler (t-ronx) - - Nicolás Alonso - - Tomasz (timitao) - - Benedict Massolle (bemas) - - Kevin Auivinet - - Kris Kelly - - Ross Motley (rossmotley) - - Reda DAOUDI - - Andrew Carter (andrewcarteruk) - - Tomáš Korec (tomkorec) - - Kaipi Yann - - Adrien Peyre (adpeyre) - - Andre Johnson - - Peter Trebaticky - - Thomas Dubuffet (thomasdubuffet) - - Dmitry Danilson - - Dominic Luidold - - Alexander Bauer (abauer) - - Amaury Leroux de Lens (amo__) - - Matthew Foster (mfoster) - - Mark Ogilvie - - mshavliuk - - Yendric - - bill moll - - Liverbool (liverbool) - - Taras Hinyk - - fabios - - Mike Francis - - Peter Schultz - - Aleksejs Kovalovs (aleksejs1) - - Aurélien ADAM (aadam) - - Martin Mayer (martin) - - Tyler Stroud - - ureimers - - Zan Baldwin (zanderbaldwin) - - Tom Panier (neemzy) - - Pablo Eliezer - - Christian - - Raphael de Almeida (raphaeldealmeida) - - Robert Queck - - samuel laulhau (lalop) - - oscartv - - Valentin - - Christoforos Ntafos - - Abderrahim (phydev) - - Fleuv - - Maria Grazia Patteri - - Nguyen Tuan Minh (tuanminhgp) - - Asil Barkin Elik (asilelik) - - Yurii K - - Dan Ordille (dordille) - - Gregório Bonfante Borba (bonfante) - - Máximo Cuadros (mcuadros) - - Kamil Piwowarski (cyklista) - - mlpo (mlpo) - - Stephanie Trumtel (einahp) - - Serhiy Lunak (slunak) - - Stefanos Psarras (stefanos) - - Matt Wells - - Guido Donnari - - MGDSoft - - rewrit3 - - Malcolm Fell (emarref) - - Dustin Wilson - - Charly Goblet (_mocodo) - - Peter Gnodde - - Christian López Espínola (penyaskito) - - Matthew Burns - - Ilya Chekalsky - - Florent Olivaud - - Dennis Jaschinski (d.jaschinski) - - alex - - Thomas Baccelli (atomiix) - - Igor Kokhlov (verdet) - - Thomas - - Chris Maiden (matason) - - goabonga - - Rémy LESCALLIER - - Koray Zorluoglu - - Vladislav Rastrusny (fractalizer) - - Anne-Julia Seitz - - Tomáš Votruba - - phuc vo (phucwan) - - David Lima - - Beno!t POLASZEK - - Markus Thielen - - Lajos Veres (vlajos) - - Adriaan Zonnenberg - - Steve Preston - - Alexandre Fiocre (demos77) - - Malte Schlüter - - Vallel Blanco - - Fred Cox - - Mohammad Eftekhari (bluemmb) - - Ondřej Führer - - Ivo Valchev - - julien.galenski - - Brad Treloar - - Holger Lösken - - ShiraNai7 - - Misha Klomp (mishaklomp) - - Pavol Tuka - - Schvoy Norbert (schvoy) - - Lucas Bustamante - - Daniel Konstantinov - - JK Groupe - - ivan - - stollr - - Botond Dani (picur) - - Daniel Richter (richtermeister) - - Brian Freytag - - Jeffrey Moelands (jeffreymoelands) - - gndk - - Pavel Barton - - Jonas Hünig - - Johan - - Javier Alfonso Bellota de Frutos - - Walter Doekes - - Alexander Varwijk - - david-binda - - Xavier Amado (xamado) - - Youpie - - wesign (inscrutable01) - - Volker (skydiablo) - - gitlost - - Yoann MOROCUTTI - - Adrien Moiruad - - Arend-Jan Tetteroo - - Gonzalo Míguez - - Stan Jansen (stanjan) - - Bruno Rodrigues de Araujo (brunosinister) - - abunch - - Dominik Kohler - - Michal Trojanowski - - Dominik Pesch (dombn) - - g123456789l - - Matthias Neid - - ProgMiner - - Keri Henare (kerihenare) - - Toby Griffiths (tog) - - Marcin Nowak - - Hugo Sales - - alangvazq - - Tristan Pouliquen - - Olaf Klischat - - Alexandr Samuilov - - Ariel J. Birnbaum - - Adam Klvač - - Andrzej - - Mathieu TUDISCO (mathieutu) - - Pawel Smolinski - - Daniel Mecke (daniel_mecke) - - Ivo - - Christian Eikermann - - Seyedramin Banihashemi (ramin) - - Ilia Sergunin (maranqz) - - Nicolas Macherey - - Rubén Calvo (rubencm) - - Nicholas Byfleet (nickbyfleet) - - Antanas Arvasevicius - - Rénald Casagraude (rcasagraude) - - Walther Lalk - - Johannes - - Jeroen de Graaf - - Javier - - Serhii Bondarenko - - Vaidas Lažauskas - - Kevin Frantz - - guangwu - - Hugo Posnic - - Peter Zwosta - - Simon Frost - - Zayan Goripov - - michalmarcinkowski - - Henne Van Och (hennevo) - - Christiaan Wiesenekker - - Ramon Ornelas (ramonornela) - - Florian "Ori" Neveu (fnev-eu) - - Krzysztof Przybyszewski (kprzybyszewski) - - parinz1234 - - Matt Emerson - - paullallier - - Alex Demchenko - - Lars Ambrosius Wallenborn (larsborn) - - Angel Fernando Quiroz Campos (angelfqc) - - Beth Binkovitz - - Pawel Szczepanek (pauluz) - - Harry Wiseman - - Denis Golubovskiy (bukashk0zzz) - - Jelle Bekker (jbekker) - - Raphael Hardt - - Julien BERNARD - - SanderSander - - MARYNICH Mikhail (mmarynich-ext) - - Severin Glöckle - - John Doe (theboat) - - Ulrik McArdle - - Stelian Mocanita (stelian) - - AnotherSymfonyUser (arderyp) - - michael.kubovic - - rtek - - Vladislav Krupenkin (ideea) - - Adam Kiss - - Jay Severson - - BRAMILLE Sébastien (oktapodia) - - Stefano Cappellini (stefano_cappellini) - - Kévin - - Artfaith - - Nicolas - - Menno Holtkamp - - Lin Lu - - Stuart Fyfe - - Luciano Mammino (loige) - - Lachlan Arthur - - Gerard Berengue Llobera (bere) - - Daniele Orru' (danydev) - - Simon Bouland (bouland) - - Chris - - Frederik Schmitt - - ged15 - - Albert Bakker (babbert) - - Peter Dietrich (xosofox) - - Tomaz Ahlin - - Ahto Türkson - - arduanov - - Serhii Polishchuk (spolischook) - - Viktoriia Zolotova - - Michael Gwynne - - Ivan Tse - - Marco - - Vincent - - Amine Matmati - - Tom Kaminski - - mlievertz - - Emirald Mateli - - Aarón Nieves Fernández - - Linnaea Von Lavia - - Marc Jauvin - - Jaymin G - - Jorge Martin (jorgemartind) - - thecaliskan - - Konstantin Chigakov - - Evrard Boulou - - Alex Plekhanov - - Brian Graham (incognito) - - Julien Sanchez (sumbobyboys) - - Anamarija Papić (anamarijapapic) - - es - - Lebnik - - Anton Babenko (antonbabenko) - - bahram - - Wim Hendrikx - - Arrilot - - Philippe Degeeter (pdegeeter) - - Jean-Guilhem Rouel (jean-gui) - - Ben Oman - - Alexey Popkov - - Andrew Coulton - - Jonathan Poston - - Дмитрий Пацура - - Marcus Jaschen - - Kousuke Ebihara (co3k) - - Wang Jingyu - - Giuseppe Arcuti - - Jan Pintr - - linh - - Daniel Basten (axhm3a) - - Mario Blažek (marioblazek) - - Kevin Vergauwen (innocenzo) - - benkarrer-lab - - Thomas BERTRAND (sevrahk) - - Bart Reunes (metalarend) - - Ahmed Abdou - - Bruno Baguette - Ioana Hazsda (ioana-hazsda) - - Patrick Berenschot - - Mihai Nica (redecs) - - boite - - Arrakis (arrakis) - - alekLexis - - Matteo Galli - - Ovidiu Gabriel Gireada (ovidiugireada) - - Dmitrii Lozhkin - - Penny Leach - - Antoine (antoinela_adveris) - - xdavidwu - - benatespina (benatespina) - - Carsten Nielsen (phreaknerd) - - brian978 - - Ivan Tse - - Till Hörner - - Baptiste Leduc (bleduc) - - Dennis Smink (dsmink) - - Brandon Antonio Lorenzo - - Curtis (ccorliss) - - Peter van Dommelen - - inspiran - - Nicolas Valverde - - Kevin Verschaeve (keversc) - - dlorek - - Jérôme Nadaud (jnadaud) - - j.schmitt - - Simon Ackermann - - Thomas Ferney (thomasf) - - toxxxa - - djama - - Arvids Godjuks (psihius) - - Paul Clegg (clegginabox) - - Jeremy Bush - - Philipp Hoffmann (philipphoffmann) - - Gary Houbre (thegarious) - - shdev - - Jody Mickey (jwmickey) - - František Bereň - - Yannick - - excelwebzone - - Choong Wei Tjeng (choonge) - - Bert Hekman - - Maciej Zgadzaj - - Kevin EMO - - Fraller Balázs (fracsi) - - Vincent Godé - - Jordi Llonch (jordillonch) - - Linas Ramanauskas - - Julia - - Greg Korba - - Your Name - - Ismo Vuorinen - - Stefan Koopmanschap - - Pedro Magalhães (pmmaga) - - Maxime PINEAU - - Rik van der Heijden - - Orestis - - Felipy Amorim (felipyamorim) - - Jordan Hoff - - gr1ev0us - - Tayfun Aydin - - karstennilsen - - Jonathan Hedstrom - - Steve Müller - - NothingWeAre - - Alan Scott - - Emmanuel Vella (emmanuel.vella) - - Kirk Madera - - Citia (citia) - - Oliver Eglseder - - Dan Harper - - mindaugasvcs - - Alexey Deriyenko - - Alexandre Melard - - David Ronchaud - - Artem Kolesnikov (tyomo4ka) - - Christian Schiffler - - Dariusz Czech - - Sait KURT - - adars - - Paweł Stasicki - - Nicolas ASSING (nicolasassing) - - Kamil Madejski (kmadejski) + - Bruno Ziegler (sfcoder) + - Karl Shea + - Radoslaw Kowalewski + - Victor Macko (victor_m) + - Jérôme Nadaud (jnadaud) + - Marie Minasyan (marie.minassyan) + - Ahmed HANNACHI (tiecoders) + - Philipp Hoffmann (philipphoffmann) + - psampaz (psampaz) + - Martijn Evers + - Mathias Geat + - Andy Raines + - Jody Mickey (jwmickey) + - Sebastian Drewer-Gutland (sdg) + - Victor Prudhomme + - Léon Gersen + - Evgeny (disparity) + - Michael J + - Oleg Krasavin (okwinza) + - Choong Wei Tjeng (choonge) + - Jordi Llonch (jordillonch) + - Your Name + - Baptiste Leduc (bleduc) + - dargor980 + - Jakub Simon + - Antonio Angelino + - Florian Guimier + - Alexander Menk + - Nicholas Ruunu (nicholasruunu) + - Matt Farmer + - Juan Gonzalez Montes (juanwilde) + - dogedede + - Adrian Olek (adrianolek) + - gondo (gondo) + - Dale.Nash + - phuc vo (phucwan) + - Eduard Bulava (nonanerz) + - Patrick Berenschot + - Beno!t POLASZEK + - Markus Thielen + - Lajos Veres (vlajos) + - Adriaan Zonnenberg + - Danil Khaliullin (bifidokk) + - Yohan Giarelli (frequence-web) + - Andrew Clark (tqt_andrew_clark) + - Yoann Chocteau (kezaweb) + - Oksana Kozlova (oksanakozlova) + - Dan Kadera + - matze + - Alexandre Fiocre (demos77) + - jwaguet + - mwos + - Nil Borodulia + - Laurent Legaz + - Nikita Starshinov (biji) - Gusakov Nikita (hell0w0rd) - - Ksaveras Šakys (xawiers) - - Vedran Mihočinec (v-m-i) - - MrNicodemuz - - Gunnar Lium (gunnarlium) - - Steve Hyde - - Skorney + - Jorge Vahldick (jvahldick) + - Storkeus + - Andy Stanberry + - emilienbouard (neime) + - Evert Jan Hakvoort + - François Poguet - Soha Jin - - Sebastian Schwarz - - Matthieu - - Tomas Liubinas - - kaiwa - - CDR - - Roman Igoshin (masterro) + - Vallel Blanco + - Gerry Vandermaesen (gerryvdm) - Miguel Vieira - - ConneXNL - - Jules Matsounga (hyoa) - - Nick Chiu - - Jonny Schmid (schmidjon) - - Manuele Menozzi - - Yann (yann_eugone) - - Martin Mandl (m2mtech) - - Benjamin Paap (benjaminpaap) - - calm329 - - Dave Heineman (dheineman) + - Ondřej Mirtes (mirtes) + - Daniel Richter (richtermeister) + - Brian Freytag + - Maxwell Vandervelde - Taylor Otwell - - Antoine Beyet - - Vladimir Belozyorov + - Pavel Barton + - Jonas Hünig + - Johan + - Javier Alfonso Bellota de Frutos + - Adrien Moiruad + - Arend-Jan Tetteroo + - Gonzalo Míguez + - Ionel Scutelnicu (ionelscutelnicu) + - Helmut Hummel (helhum) - Adrian - - InbarAbraham - - Ismail Özgün Turan (dadeather) - - Thomas Rothe + - cay89 + - Troy Crawford + - Anthony Moutte + - Ahmad Al-Naib + - Paul Santus + - Jeremy Pollard + - Raphael Hardt + - soyuka + - Gavin (gavin-markup) + - Frédéric G. Marand (fgm) + - Raul Rodriguez (raul782) + - koyolgecen - Vladimir Chernyshev (volch) - - Andrea Sprega (asprega) - - Albert (aprat84) - - Shaun Simmons - - Wojciech Sznapka - - Jan Marek (janmarek) - - Jeroen De Dauw (jeroendedauw) + - Mihai Nica (redecs) - Thomas Chmielowiec (chmielot) + - Kajetan Kołtuniak (kajtii) + - Aaron Piotrowski (trowski) + - Pavel Starosek (octisher) - Patrick Carlo-Hickman - - chispita + - Martins (kevin_martins) + - benatespina (benatespina) + - Vladimir Melnik + - Mark Spink + - Mo Di (modi) + - yoye + - Bruno Rodrigues de Araujo (brunosinister) + - abunch + - Plamen Mishev (pmishev) + - Michal Trojanowski + - Toby Griffiths (tog) + - Marcin Nowak + - Hugo Sales + - Andrea Quintino (dirk39) + - czachor + - Sylvain Just + - Chris Tickner + - Joas Schilling + - Arthur Woimbée + - Daan van Renterghem + - Nowfel2501 + - Ernest Hymel + - Dmitry Danilson + - alangvazq + - Mark Topper + - Olaf Klischat + - xaav + - Ariel J. Birnbaum + - Dominik Kohler + - Andrzej + - Pierre Rineau + - Simon Mönch + - Mathieu TUDISCO (mathieutu) + - Pawel Smolinski + - Julius Kiekbusch + - Ivo + - cgonzalez + - Christian Eikermann + - Zander Baldwin + - Wojciech Zimoń + - Oxan van Leeuwen + - Anatol Belski + - gedrox + - Zachary Tong (polyfractal) + - sdkawata + - Daniel Rotter (danrot) + - Sebastian Ionescu + - Ikhsan Agustian + - Kenjy Thiébault (kthiebault) + - Roeland Jago Douma + - Nicolas Macherey + - Rubén Calvo (rubencm) + - Nicholas Byfleet (nickbyfleet) + - Antanas Arvasevicius + - Rénald Casagraude (rcasagraude) + - Walther Lalk + - Kevin Frantz + - downace + - Kai Eichinger + - Tomasz (timitao) + - Daniele Cesarini (ijanki) + - Bailey Parker + - Mahmoud Mostafa (mahmoud) + - Vic D'Elfant (vicdelfant) + - Marc Lemay (flug) + - Joshua Behrens (joshuabehrens) - Andrei Mateescu - - SALMERON Valentin (vasal) + - Tony Vermeiren (tony) + - Pavel Stejskal (spajxo) + - Nicolas Appriou + - Tobias Stöckler + - ChrisC - allison guilhem - - Marin Nicolae - - Vitali Tsyrkin - - sam-bee - Andrii Serdiuk (andreyserdjuk) - - Uladzimir Tsykun - - Oleg Sedinkin (akeylimepie) - Adrian Brajkovic - - Joris Garonian (grifx) - - WoutervanderLoop.nl + - Kris Kelly + - Ross Motley (rossmotley) + - Amaury Leroux de Lens (amo__) + - Dalibor Karlović - Florian Pondepeyre - - Pchol - - Luca Genuzio (genuzio) - - Rafael Tovar - - rhel-eo - - Jack Wright - - Andrey Helldar - - mmokhi - - Simon Paarlberg (blamh) + - Roberto Guido + - Sergey Fokin (tyraelqp) - Nikita Popov (nikic) - - Daniel Kolvik (dkvk) + - Simon Frost + - Artem (nexim) + - michalmarcinkowski + - Faton (notaf) + - Christiaan Wiesenekker + - Ramon Ornelas (ramonornela) + - Alexander Bauer (abauer) + - Krzysztof Przybyszewski (kprzybyszewski) + - Yuri Karaban + - Xeno Suter + - michal + - oscartv + - Valentin + - mshavliuk + - G/ + - Maria Grazia Patteri + - zors1 + - detinkin + - Taras Hinyk + - fabios + - sez-open + - Benjamin Ellis + - Guillaume LECERF - jim - - Hein Zaw Htet™ - - Pierre Geyer (ptheg) - - steveYeah - - ergiegonzaga - - Kurt Thiemann - - avi123 + - Patrick Janzen + - Asrorbek Sultanov + - Péter Buri (burci) + - Lin Lu + - Rainrider + - omerida + - parinz1234 + - Yann LUCAS (drixs6o9) + - Daniel Kozák + - NIRAV MUKUNDBHAI PATEL (niravpatel919) - xammmue - - Nicolas Jourdan (nicolasjc) - - pizzaminded + - Vladislav Nikolayev (luxemate) + - Oleksii Bulba + - Justin Reherman (jreherman) + - Chansig + - Roman Orlov + - Stéphane Seng (stephaneseng) + - Stas Soroka (stasyan) + - Stephen Clouse - Chris Tiearney - - JakeFr - - Stephan Wentz (temp) - - César Suárez (csuarez) - - Olivier Laviale (olvlvl) - - Dariusz Ruminski - - demeritcowboy + - vltrof + - Matt Emerson + - paullallier + - Martin Eckhardt + - G.R.Dalenoort + - Geoffrey Monte (numerogeek) + - Benjamin Schultz (bschultz) + - Karolis Daužickas (kdauzickas) + - Damien Fayet (rainst0rm) + - Léo VINCENT - Shrey Puranik - - zolikonta - Radosław Benkel + - CDR + - Janusz Mocek + - Fabien D. (fabd) + - Aleksandr Dankovtsev + - Valérian Lepeule (vlepeule) - Sergii Dolgushev (sergii-swds) + - Konrad + - Aaron Scherer (aequasi) + - Clément + - Mohammad Ali Sarbanha (sarbanha) + - Sébastien Armand (khepin) + - Alexey Berezuev + - rewrit3 + - Matthew Burns + - Ilya Chekalsky + - aim8604 + - Tim van Densen + - Jelte Steijaert (jelte) + - Andreas + - Monere + - Simon Sargeant + - pkowalczyk + - Sjors Ottjes + - Myke79 + - Christoph Kappestein + - mboultoureau + - Bernd Matzner (bmatzner) + - Alex Niedre + - Adam Wójs (awojs) + - Ema Panz + - MARYNICH Mikhail (mmarynich-ext) + - shreyadenny + - Daniel Tschinder + - David Wolter (davewww) + - AnotherSymfonyUser (arderyp) - Goran Juric + - Daniel González Zaballos (dem3trio) + - Alejandro Diaz Torres + - Aleksandar Dimitrov (netbull) + - Tom Newby (tomnewbyau) + - boulei_n + - Axel Venet + - Jean-Baptiste Nahan - Ser5 + - Filipe Guerra + - Denis Klementjev (dklementjev) + - Marcello Mönkemeyer (marcello-moenkemeyer) + - Jason Schilling (chapterjason) - Alex Rothberg - - Jitendra Adhikari (adhocore) - - dinitrol - - Shane McKinley - - Wickex - - Konstantin Scheumann - - Wing - - Maxime THIRY - - Mihai Stancu + - Dan Patrick (mdpatrick) + - Sortex + - Paul Le Corre + - Mei Gwilym (meigwilym) + - Dennis Jaschinski (d.jaschinski) + - alex + - enekochan (enekochan) + - muchafm + - Michael Tibben + - Andreas Hasenack + - Jan Vernarsky + - Javier Espinosa (javespi) + - Vladislav Krupenkin (ideea) + - Adam Kiss - Matthias Derer - - Cyril HERRERA - - Adamo Crespi (aerendir) - - Boris Medvedev + - Artyum Petrov + - Diego Aguiar (mollokhan) + - Asrorbek (asrorbek) + - Jochen Bayer (jocl) + - Vincent Chalamon + - Marcin Kruk + - Tom Houdmont - Klaus Purer - - Andoni Larzabal (andonilarz) + - Nicolás Alonso + - gr8b + - Jorrit Schippers (jorrit) + - Jonathan Vollebregt + - Karim Cassam Chenaï (ka) + - Liverbool (liverbool) - Markus Staab - - Dan Brown - - Billie Thompson - - Tim Ward - - Nilmar Sanchez Muguercia - - Flohw - - Mauro Foti (skler) - - Waqas Ahmed - - LHommet Nicolas (nicolaslh) - - drublic - - Bertalan Attila - - William Pinaud (docfx) + - Aleksejs Kovalovs (aleksejs1) + - ivan + - RAHUL K JHA + - Alex Vasilchenko + - Steven Dubois + - Ramon Kleiss (akathos) + - Szymon Tarasiński + - Maxim Kolokolnikov + - Max Grigorian (maxakawizard) + - Igor Kokhlov (verdet) + - Ahto Türkson + - arduanov + - julien.galenski + - Brad Treloar + - Viktoriia Zolotova + - Michael Gwynne + - Kevin Auivinet + - Robert Queck + - Vincent + - Stefan Kruppa + - Benedict Massolle (bemas) + - Frederik Schwan + - Alexander Zogheb + - samuel laulhau (lalop) + - Fleuv + - Thomas Baccelli (atomiix) + - Matthias Neid + - Amine Matmati + - Jannik Zschiesche + - Emirald Mateli + - Aarón Nieves Fernández + - Linnaea Von Lavia + - Anamarija Papić (anamarijapapic) + - Volker (skydiablo) + - Dmitri Petmanson + - Joao Paulo V Martins (jpjoao) + - fduch (fduch) - Sjoerd Nuijten (sjoerdnuijten) - - Brian Debuire - - René Kerner - - Xeno Suter - - Mateusz Żyła (plotkabytes) - - Xavier HAUSHERR - - Antoine Bellion (abellion) - PatrickRedStar - - Raphaëll Roussel - - Ettore Del Negro + - patrickmaynard + - Frederic Godfrin + - Arkadiusz Rzadkowolski (flies) - Ellie Schaffer + - bahram + - Arrilot - jamogon - - Gunther Konig - - Pierre LEJEUNE (darkanakin41) + - Martin Auswöger - Damian (baum) + - Ikko Ashimine + - Florent Olivaud + - Tyler Stroud + - ureimers + - Anthony Ferrara + - Marco Pfeiffer + - Valentin Barbu (jimie) + - gechetspr + - Hadrien Cren (hcren) + - Bertalan Attila + - Keri Henare (kerihenare) + - Dmitry (staratel) + - Nico Hiort af Ornäs + - Alexandr Samuilov + - Edwin Hageman + - Anton Zagorskii + - Jure (zamzung) + - Emmanuel Dreyfus - Dominic Tubach + - Evgeny Anisiforov + - Artyom Protaskin + - Andras Debreczeni + - Jordi Rejas + - Josef Cech + - Klaas Cuvelier (kcuvelier) + - craigmarvelley + - Tournoud (damientournoud) - Richard Quadling + - Jose Manuel Gonzalez (jgonzalez) + - JustDylan23 + - Sepehr Lajevardi + - Robert Meijers + - Mara Blaga + - Adrien Foulon + - Mert Simsek (mrtsmsk0) + - Ari Pringle (apringle) + - Karolis + - Bogdan Scordaliu + - Pavel Golovin (pgolovin) + - Tony Arcangelini + - John Nickell (jrnickell) + - Max Summe + - Bastien Picharles + - Paul Andrieux + - Karim Miladi + - Maxime AILLOUD (mailloud) + - Mark Ogilvie + - Julien Bianchi (jubianchi) + - Yendric + - bill moll + - Oleksii Svitiashchuk + - Rares Vlaseanu (raresvla) + - Alan Scott + - ivelin vasilev + - Anton Babenko (antonbabenko) + - Kevin Verschaeve (keversc) + - dlorek + - Philippe Degeeter (pdegeeter) + - j.schmitt + - Jan Pech (pechynho) + - Thomas Ferney (thomasf) + - toxxxa + - Chris Jones (leek) + - Bartłomiej Zając + - ShiraNai7 + - Ben Oman + - Pavol Tuka + - Sven Fabricius + - Arkadiusz Kondas (itcraftsmanpl) + - JK Groupe + - Johannes + - Samy D (dinduks) + - Adam Klvač + - Danil + - Prasetyo Wicaksono (jowy) + - Boris Grishenko (arczinosek) + - Jeroen de Graaf + - Ettore Del Negro + - Wojciech Skorodecki - Lance Chen - - sabruss + - Gunther Konig + - Pierre LEJEUNE (darkanakin41) + - Bogdan Rancichi (devck) + - Alex Olmos (alexolmos) + - ondrowan + - Max Voloshin (maxvoloshin) - Sami Mussbach - - vdauchy - - Yannick + - Tim Ward + - Romain Jacquart (romainjacquart) - Timon van der Vorm - - Victor - EdgarPE - - Sven Fabricius - - Samy D (dinduks) + - Phobetor - 蝦米 + - gitlost + - Andrew Coulton + - Dominik Pesch (dombn) + - Henne Van Och (hennevo) + - Eric J. Duran + - ProgMiner + - Bart Reunes (metalarend) - Kai Eichinger - Rudy Onfroy - Nicolas Roudaire - Oleg Golovakhin (doc_tr) - rkerner - - Wojciech Skorodecki - - Bogdan Rancichi (devck) - - Alex Olmos (alexolmos) - - Robert Meijers - - Jon Cave - - Phobetor - - sauliusnord - - Oleksii Svitiashchuk - - fbuchlak - - V1nicius00 - - Wahyu Kristianto (kristories) - - Ladislav Tánczos - - Matt Brunt - otsch - - Andrea Giannantonio - - Miłosz Guglas (miloszowi) - - Alexandre Segura - - Şəhriyar İmanov (shehriyari) - - Peter Bex - - Àlex Fiestas - - Damian Sromek - - Benoit Garret - - Foxprodev - - Erwan Nader (ernadoo) + - Andreas Kleemann (andesk) - tsilefy - - Thomas Bibb - - SenTisso - - Alexander Janssen (tnajanssen) - - dsech - - Jenne van der Meer - Falco Nogatz + - Alex Demchenko + - Pawel Szczepanek (pauluz) + - Jelle Kapitein + - bokonet + - Tristan Pouliquen - Alexandre Jardin (alexandre.jardin) - - Mikko Pesari - - Clément LEFEBVRE (nemoneph) - - Boullé William (williamboulle) - - Jan Hort - - Tom Corrigan (tomcorrigan) + - Charles-Henri Bruyand + - 🦅KoNekoD + - Steeve Titeca (stiteca) - Johannes - - Aaron Stephens (astephens) - - seho-nl - - Thomas Counsell - - Viktor Bajraktar (njutn95) - - Ben Johnson - - Adam Prickett - - Makdessi Alex - - Dmitry Korotovsky - - Volodymyr Kupriienko (greeflas) - - Pierre-Chanel Gauthier (kmecnin) + - baron (bastien) + - Ondřej Führer + - Vedran Mihočinec (v-m-i) + - MrNicodemuz + - sabruss + - Dylan + - Nick Stemerdink - Samy Mahmoudi - - Oscar Esteve (oesteve) - - alifanau - - Wojciech Błoszyk (wbloszyk) - - Kevin Weber - - Marcus - - Laurent Clouet - - RichardGuilland - - Floran Brutel (notFloran) (floran) - - Georg Ringer (georgringer) - - Vasily Khayrulin (sirian) - - wivaku - - Toro Hill - - Ruud Arentsen - - jack.shpartko - - Nicolas Eeckeloo (neeckeloo) - - Neil Katin - - Rémi Blaise - - Bart Brouwer (bartbrouwer) - - rchoquet - - Pascal Woerde (pascalwoerde) - - none (nelexa) - - Paul Seiffert (seiffert) - - Juraj Surman - - Andrea Giuliano (shark) - - Mikkel Paulson - - ju1ius - - Orban Florin (forban) - - Marcos Quesada (marcos_quesada) - - Ener-Getick - - Dan Finnie - - omniError - - Jānis Lukss - - Javan Eskander - - Joe - - Vladimir Sadicov (xtech) - - Quentin Moreau (sheitak) - - Marko Vušak - - Christophe Meneses (c77men) - - Antoine Leblanc - - cilefen (cilefen) - - Daniel Iwaniec - - Jontsa - - Rares Vlaseanu (raresvla) - - Bernhard Rusch - Juan Mrad - Dmytro Pigin (dotty) - Viacheslav Sychov - - Artiom + - Jeffrey Moelands (jeffreymoelands) - Grégoire Hébert (gregoirehebert) - Mas Iting - Greg Szczotka (greg606) - - AlbinoDrought - - Zoran Makrevski (zmakrevski) - - Ramon Cuñat - - Erwin Houtsma - - aetxebeste - - Markkus Millend - - Buster Neece - - Thomas Decaux - - Martynas Narbutas - - Mickaël BULIARD - - Rosio (ben-rosio) - - Laurent Legaz - - Marion Hurteau (marionleherisson) - - Tugba Celebioglu - - Danijel Obradović - - Urban Suppiger - - Hoffmann András + - alifanau + - Wojciech Błoszyk (wbloszyk) + - Sorin Pop (sorinpop) + - Richard Trebichavský - George Dietrich - Yury (daffox) - - M.Mahdi Mahmoodian - - Arend Hummeling + - Ruud Arentsen + - Jay Severson - Krzysztof Pyrkosz - - Sergiy Sokolenko - - Jules Lamur - - Mark van Duijker - - alefranz - - Jorge P. Hernandez Lalcebo - - Alexander Kurilo (kamazee) - - Dušan Kasan (dudo1904) - - sal-car - - Thibaut Cholley - - Arend Hummeling - - Siragusa (asiragusa) - - Chris Jones (leek) - - Bartłomiej Zając - - Danil - Christian Kolb - Houssem - - Martijn Boers (plebian) - - Tomáš Ludvik - - Michael Dawart (mdawart) + - Kévin + - Nicolas Eeckeloo (neeckeloo) + - ju1ius + - ConneXNL + - Jules Matsounga (hyoa) + - Nick Chiu + - Jonny Schmid (schmidjon) + - Manuele Menozzi + - Yann (yann_eugone) + - Martin Mandl (m2mtech) - Eviljeks - smokeybear87 - Michael van Tricht - Masao Maeda (brtriver) - Success Go - - Florian Heller - - Prasetyo Wicaksono (jowy) - - Boris Grishenko (arczinosek) - - alireza - - Eric Krona - - Joan Cruz - - Sylvain METAYER - - Ciaran McNulty (ciaranmcnulty) - - DaikiOnodera - - Grayson Koonce + - Taylan Kasap + - Maciej Zgadzaj + - Stuart Fyfe + - Fraller Balázs (fracsi) + - Vincent Godé - Raphael Davaillaud - Soner Sayakci - - Yohann Tilotti + - dima-gr - Pieter - - Gennadi Janzen - - Martins (kevin_martins) - - Sobhan Sharifi (50bhan) - - Sander van der Vlugt (stranding) - - Sergio Santoro - - Igor Timoshenko (igor.timoshenko) - - Jelle Kapitein - - bokonet - - VojtaB - - tilaven - - nuncanada - - Jean Ragouin - - Jan Christoph Beyer - - Vicky Hagemeister - - Charles-Henri Bruyand - Luis Galeas - dbrekelmans - Maxim Semkin - - Ahmed Abdulrahman - - znerol - - Damir Mitrović - - Robert Campbell - - Jörn Lang - - Marcus Stöhr - - Ruben Kruiswijk - - Ilya Bulakh - - 🦅KoNekoD - - Steeve Titeca (stiteca) - - Dylan - - Michel Krenz - - Alberto Aldegheri - - Sorin Pop (sorinpop) - - Richard Trebichavský - - Anna Filina (afilina) - - Andrei Igna - - Quentin Favrie - - Richard Heine - - Giorgio Premi - - Marek Víger (freezy) - - Till Krüss - - Florent Cailhol - - Ariful Alam - - Raphaël Davaillaud - - Timothy Anido (xanido) - - Nathaniel Catchpole - - Alexandru Năstase - - Ash014 - - Aryel Tupinamba (dfkimera) - - Rafał Toboła - - Paul Matthews - - TheMhv - - Lukas Kaltenbach - - Felix Eymonot (hyanda) - - Tijs Verkoyen - - Malte Wunsch (maltewunsch) - - Gaylord Poillon (gaylord_p) - - Steve Müller + - Stefan Koopmanschap + - Pedro Magalhães (pmmaga) + - Yannick + - Julien Boudry + - ttomor + - David Barratt + - Benjamin Paap (benjaminpaap) + - Vitalii + - Dave Heineman (dheineman) + - linh + - Maxime PINEAU + - Rik van der Heijden + - Lukas Kaltenbach + - JakeFr + - Matthew Covey + - Robert Campbell + - Jörn Lang + - Bermon Clément (chou666) + - Ruben Kruiswijk + - Ilya Bulakh + - Giorgio Premi + - Marek Víger (freezy) + - Orban Florin (forban) + - John Doe (theboat) + - Ariful Alam - david perez (davidpv) - Christian Rishøj - Yannick Warnier (ywarnier) - - Christoph Vincent Schaefer (cvschaefer) + - Serhii Polishchuk (spolischook) + - Luciano Mammino (loige) + - Marco + - Gerard Berengue Llobera (bere) + - mlievertz - Pablo Maria Martelletti (pmartelletti) - - Zoli Szabó (zoliszabo) - - Valentin VALCIU - - dantleech - - Ninos - - Fernando Henrique - - Sylvain Fabre (sylvain-fabre-assoconnect) - - Patrick Daley (padrig) - - elattariyassine - - Norman Soetbeer - - Josef Hlavatý - - Thomas Citharel (tcit) - - urban - - Belhassen - - Mlanawo MBECHEZI - - andreyserdjuk - - Dmitrii Fedorenko (dmifedorenko) - - Hayk Zakaryan - - tamirvs - - Brian Corrigan - - Alexandru Bucur - - Illia Sakovich - - Lauris Binde (laurisb) - - darkweak - - Nicolae Serban + - Quentin Moreau (sheitak) + - Jeremy Benoist + - Bernhard Rusch - Timothée BARRAY - The Whole Life to Learn - Andreas Allacher - Jeroen Bouwmans - - Staormin - - Merijn Wijngaard - - Boris Betzholz - - Sajad Torkamani - - Robin Kanters (anddarerobin) - - Daniel Bannert - - Dominik Schwind (dominikschwind) - - ZiYao54 - - Matthew Donadio - - Konstantin Bogomolov - - Karim - - ttomor - - shreyadenny - - Guillaume BRETOU (guiguiboy) - - Alan ZARLI - - Mehrdad + - Àlex Fiestas + - Rémy LESCALLIER - creiner - Haritz Iturbe (hizai) - - Tammy D - GuillaumeVerdon - - Alexandre GESLIN + - Wim Hendrikx - Tim Porter - - DcgRG + - Jonathan Poston - Steve Marvell - - Alfonso Fernández García + - Erwin Houtsma - Shamimul Alam - - Alexis MARQUIS + - aetxebeste + - root + - Alex Vo (votanlean) + - Daniele Orru' (danydev) + - Marc Jauvin + - Simon Bouland (bouland) + - Chris + - Guillaume BRETOU (guiguiboy) + - Marion Hurteau (marionleherisson) - RTUnreal - - Michaël Thieulin (mthieulin) + - Matthieu Prat - Peter Culka - Bernat Llibre Martín (bernatllibre) - - Jörg Rühl - - Icode4Food (icode4food) - - Jeremy David (jeremy.david) - - Ali Sol - - adam-mospan - - Alex Vo (votanlean) + - Tugba Celebioglu + - SOEDJEDE Felix (fsoedjede) + - Jochen Mandl + - Urban Suppiger + - Frederik Schmitt + - g123456789l + - M.Mahdi Mahmoodian + - Jorge Martin (jorgemartind) + - Ondřej Frei + - Konstantin Chigakov + - Arrakis (arrakis) + - xdavidwu - vladyslavstartsev - Chihiro Adachi (chihiro-adachi) - Antonio Peric-Mazar (antonioperic) + - Artem Lopata + - Marvin Petker + - Dmitriy Derepko + - Christopher Georg (sky-chris) + - peter + - Szymon Kamiński (szk) + - brian978 + - Kevin Meijer + - Jan Emrich + - Ruud Seberechts + - Billy Scheufler + - Frank Jogeleit + - Matthias Perret (mp3000mp) + - Attila Bukor (r1pp3rj4ck) + - Conrad Kleinespel (conradk) + - abluchet + - Dennis Tobar + - Jan Marek (janmarek) + - Jeroen De Dauw (jeroendedauw) + - Irmantas Šiupšinskas (irmantas) + - Stewart Malik + - AnrDaemon + - Toro Hill + - Bastien Clément (bastienclement) + - Mark van Duijker + - Gabriel Solomon (gabrielsolomon) + - Maciej Paprocki (maciekpaprocki) + - Jonas Claes + - Guillermo Gisinger (t3chn0r) + - Lorenzo Adinolfi (loru88) + - Will Rowe + - Koray Zorluoglu + - Pchol + - Jontsa + - Zan Baldwin (zanderbaldwin) + - Brieuc Thomas + - André Laugks + - Florian "Ori" Neveu (fnev-eu) + - Tristan Kretzer + - Alex Plekhanov + - Brian Graham (incognito) + - rchoquet + - David Lima + - Mephistofeles + - Malte Schlüter + - Helmer Aaviksoo + - Miloš Milutinović + - Roromix + - Jorge P. Hernandez Lalcebo + - Alexander Kurilo (kamazee) + - Julien Sanchez (sumbobyboys) + - es + - Giuseppe Arcuti + - Jan Pintr + - Adam Bramley + - Dušan Kasan (dudo1904) + - Thibaut Cholley + - Phil Davis + - developer-av + - Danijel Obradović + - Tomáš Ludvik + - Ian Phillips + - Petr Jaroš (petajaros) + - Yuriy Potemkin + - Pierre Tondereau + - Vincent Pabst + - Johannes + - Michael Dawart (mdawart) + - Citia (citia) + - Kevin EMO + - Dan Harper + - mindaugasvcs + - NothingWeAre + - Florian Heller + - Daniel Kolvik (dkvk) + - alireza + - Hein Zaw Htet™ + - Pierre Geyer (ptheg) + - steveYeah + - Oliver Eglseder + - Kurt Thiemann + - avi123 + - Marcel Pociot (mpociot) + - Ivan Tse + - Alexandre Melard + - Schuyler Jager (sjager) + - Artem Kolesnikov (tyomo4ka) + - Christian Schiffler + - Dariusz Czech + - David Ronchaud + - DcgRG + - Dmitrii Lozhkin + - Steve Preston + - Fred Cox + - Antoine Bellion (abellion) + - Raphaëll Roussel + - vdauchy + - Miłosz Guglas (miloszowi) + - Foxprodev + - Alexander Janssen (tnajanssen) + - Till Hörner + - Peter van Dommelen + - Mehrdad + - dsech + - Michael Hüneburg + - Igor Tarasov (polosatus) + - heccjj + - Joris Garonian (grifx) + - Ciaran McNulty (ciaranmcnulty) + - Kevin Mian Kraiker + - dinitrol + - andreyserdjuk + - Dmitrii Fedorenko (dmifedorenko) + - Igor Timoshenko (igor.timoshenko) + - tilaven + - Gunnar Lium (gunnarlium) + - Steve Hyde + - Ksaveras Šakys (xawiers) + - Pierre Tachoire + - Skorney + - Matthieu + - kaiwa + - Sebastian Schwarz + - Boris Betzholz + - Alan Chen + - Roman Igoshin (masterro) + - Vicky Hagemeister + - Damir Mitrović + - Jon Cave + - Kevin Vergauwen (innocenzo) + - Ahmed Abdou + - Marcus Stöhr + - Stephan Wentz (temp) + - Alfonso Fernández García + - Antoine Beyet + - Dariusz Ruminski + - demeritcowboy + - djama + - Matthew Donadio + - Konstantin Bogomolov - Alain Flaus (halundra) - - Kélian Bousquet (kells) - - Armando + - Michel Krenz - kernig - Claus Due (namelesscoder) - Adrien Gallou (agallou) - - error56 - - Vincent Chalnot + - Alberto Aldegheri + - NorthBlue333 - tatankat + - Gennadi Janzen + - adhamiamirhossein + - InbarAbraham + - Nicolas Valverde + - Rikijs Murgs + - Simone Ruggieri + - zolikonta + - Till Krüss + - Raphaël Davaillaud - Tomanhez - - Romain Pierre + - Shaun Simmons - goohib - - phc - - SOEDJEDE Felix (fsoedjede) - - Christopher Georg (sky-chris) - - peter - - Jérémy CROMBEZ (jeremy) - - insekticid - - Pavel Golovin (pgolovin) - - alexpods - - Jochen Mandl + - Thomas Rothe + - Timothy Anido (xanido) + - Romeo + - ergiegonzaga + - pizzaminded + - Wojciech Sznapka - Vladimir Sazhin - Evgeny Z (meze) - Ismail Asci (ismailasci) - Rachid Hammaoui (makmaoui) - - klemens - - Quique Porta (quiqueporta) - - Shude - - Sebastian Utz - - Attila Bukor (r1pp3rj4ck) - - Conrad Kleinespel (conradk) - - taiiiraaa - - Gennadi McKelvey (gennadigennadigennadi) - - Dennis Tobar + - Malte Wunsch (maltewunsch) + - Jitendra Adhikari (adhocore) + - chispita - Philipp Strube + - Sylvain Fabre (sylvain-fabre-assoconnect) + - Patrick Daley (padrig) + - elattariyassine + - Norman Soetbeer + - sam-bee + - urban + - sauliusnord + - Andreas Streichardt + - Hayk Zakaryan + - neodevcode - nietonfir - tpetry - Angel Koilov (po_taka) - - Marvin Petker - - Peter van Dommelen - - Artem Lopata - - Dmitriy Derepko - - kshida - - Michael Hüneburg - - Daniel Bartoníček + - Illia Sakovich + - Alan ZARLI + - Zayan Goripov + - Aleksey Prilipko - Bálint Szekeres - Benoit Leveque - - Irmantas Šiupšinskas (irmantas) - - Jeremiah VALERIE - - Cedric Kastner (nurtext) - - Benoit Mallo - - Jan Emrich - - tante kinast (tante) - - Billy Scheufler - - den den (dionisvl3) - - Jean-François Morin-Abdullah - - Stewart Malik - - AnrDaemon - - Lorenzo Adinolfi (loru88) - - Fabian Haase - - Will Rowe - Matej Žilák (teo_sk) - - ibasaw - - Brieuc Thomas - - André Laugks - - Ivan Yivoff - - Adam Bramley - - Raito Akehanareru (raito) - - Pierre Schmitz - - Bastien Clément (bastienclement) - - G/ - - Patrick Janzen - - Jelte Steijaert (jelte) - - Phil Davis - - developer-av + - Alexis MARQUIS + - César Suárez (csuarez) + - Ali Sol + - Mantas Urnieža + - darkweak + - Götz Gottwald + - Kélian Bousquet (kells) + - AntoineDly + - Marin Nicolae + - Vitali Tsyrkin + - Christian Seel + - Armando + - Uladzimir Tsykun + - Oleg Sedinkin (akeylimepie) + - error56 + - Daniel Konstantinov + - WoutervanderLoop.nl - andreybolonin1989@gmail.com - - Aurélien MARTIN + - Cyril HERRERA - fmarchalemisys - - Bram Van der Sype (brammm) + - Andrey Helldar + - Dan Brown + - Simon Paarlberg (blamh) + - kshida + - Andrew Zhilin (zhil) + - Julien ARBEY + - Grégoire Rabasse + - damaya + - mikocevar + - Jeremiah VALERIE + - Benoit Mallo + - Andrey Ryaguzov + - tante kinast (tante) + - Nicolae Serban + - Flohw + - Petar Marjanovic + - Konstantin Scheumann + - Wing + - Maxime THIRY + - Mihai Stancu + - stefan.r + - Mauro Foti (skler) + - Adamo Crespi (aerendir) + - LHommet Nicolas (nicolaslh) + - Wickex + - Vašek Purchart (vasek-purchart) + - cmfcmf + - Stelian Mocanita (stelian) + - Nicolas Jourdan (nicolasjc) + - Albert Bakker (babbert) + - Ryan Linnit + - Ángel Guzmán Maeso (shakaran) + - Wissame MEKHILEF + - Sjoerd Adema + - Rudolf Ratusiński + - Ovidiu Gabriel Gireada (ovidiugireada) + - Marcin Twardowski + - Penny Leach + - Antoine (antoinela_adveris) + - Şəhriyar İmanov (shehriyari) + - Alexander Varwijk + - Jordi Kroon + - Fabien Perroquin + - AbdElKader Bouadjadja + - Martin Komischke + - Thomas Counsell + - Adria Lopez (adlpz) + - Adiel Cristo (arcristo) + - Yura Uvarov (zim32) + - Nathanael d. Noblet + - Maxcastel + - Benoit Garret + - Kevin Weber + - Erwan Nader (ernadoo) + - Simon Jamain + - Dan Finnie + - Jan Hort + - Tom Corrigan (tomcorrigan) + - michael.kubovic + - Tomaz Ahlin + - Tom Kaminski + - Joe + - Nathanaël Martel (nathanaelmartel) + - Alexis MARQUIS + - Tarjei Huse (symfony_cloud) + - Andriy + - Marko Vušak + - Benjamin BOUDIER + - Daniel Basten (axhm3a) + - Bruno Baguette + - Mario Blažek (marioblazek) + - Ronny López (ronnylt) + - Marcos Labad + - Axel Venet + - Pablo Eliezer + - BrokenSourceCode + - Artiom + - Viktor Bajraktar (njutn95) + - Adam Prickett + - Makdessi Alex + - Dmitry Korotovsky + - Volodymyr Kupriienko (greeflas) + - Lucas Bustamante + - Constantine Shtompel + - Martin Schophaus (m_schophaus_adcada) + - William Pinaud (docfx) + - Peter van Dommelen + - Gennadi McKelvey (gennadigennadigennadi) + - Brian Debuire + - René Kerner + - Markus Staab + - Bart Wach + - sualko + - Muharrem Demirci (mdemirci) + - Rich Sage + - Stan Jansen (stanjan) + - Kovacs Nicolas + - Lachlan Arthur + - ElisDN + - Jiri Korenek + - Arend Hummeling + - ged15 + - Jan Eichhorn (exeu) + - Daniel Mecke (daniel_mecke) + - Seyedramin Banihashemi (ramin) + - Pierre-Chanel Gauthier (kmecnin) + - Ilia Sergunin (maranqz) + - wivaku + - Andreas Allacher + - alefranz + - sal-car + - Aaron Somi + - Boris Medvedev + - Serhii Bondarenko + - Jordan Hoff + - Andoni Larzabal (andonilarz) + - Hugo Posnic + - Martijn Boers (plebian) + - Billie Thompson + - Peter Zwosta + - Tom Maguire + - Agustin Gomes + - Emmanuelpcg + - Wouter Diesveld + - Wahyu Kristianto (kristories) + - Ladislav Tánczos + - Ismo Vuorinen + - karstennilsen + - Nilmar Sanchez Muguercia + - Yohann Tilotti + - MGatner + - Waqas Ahmed + - VojtaB + - Floran Brutel (notFloran) (floran) + - Vasily Khayrulin (sirian) + - Ramon Cuñat + - Joachim Krempel (jkrempel) + - Marcus Jaschen + - Markkus Millend + - benkarrer-lab + - Dennis Smink (dsmink) + - Arvids Godjuks (psihius) + - Jörg Rühl + - Icode4Food (icode4food) + - nuncanada + - David Brooks + - Brandon Antonio Lorenzo + - Curtis (ccorliss) + - Paul Clegg (clegginabox) + - jack.shpartko + - Audain + - Neil Katin + - Rémi Blaise + - Bart Brouwer (bartbrouwer) + - Ahmed Abdulrahman + - Kirk Madera + - Bruno MATEU + - Brad Bayliss + - Stakovicz + - J Bruni + - Rutger Hertogh + - botbotbot + - Sait KURT + - Geoffrey Pécro (gpekz) + - insekticid + - alexpods + - Nouhail AL FIDI (alfidi) + - drublic + - adars + - znerol + - Pascal Woerde (pascalwoerde) + - none (nelexa) + - Paul Seiffert (seiffert) + - Juraj Surman + - calm329 + - Anna Filina (afilina) + - Christophe Meneses (c77men) + - Antoine Leblanc + - Andrei Igna + - Daniel Iwaniec + - Pierre Rebeilleau (pierrereb) + - Julien Pauli + - Vladimir Belozyorov + - Tammy D + - Richard Heine + - Stephen Lewis (tehanomalousone) + - Denys Voronin (hurricane) + - Florent Cailhol + - Rosio (ben-rosio) + - Nathaniel Catchpole + - Albert (aprat84) + - Ahmed Soliman (ahmedsoliman) + - Martynas Sudintas (martiis) + - inspiran + - Aryel Tupinamba (dfkimera) + - Elias Häußler + - Andrea Giannantonio + - Mateusz Żyła (plotkabytes) + - Christoph Vincent Schaefer (cvschaefer) + - Laurent Bardin + - Aaron Stephens (astephens) + - tamirvs + - Belhassen + - Arend Hummeling + - Siragusa (asiragusa) + - Anna Damm + - Mlanawo MBECHEZI + - dakur + - Joel Lusavuvu (enigma97) + - Paul LE CORRE + - Peter Bouwdewijn + - Jean-Christophe Cuvelier [Artack] + - AUDUL + - Keith Maika + - Kubicki Kamil (kubik) + - Matheus Gontijo + - Matthias Meyer + - Sander Coolen (scoolen) + - Kevin Jansen + - Nicolas Fabre (nfabre) + - adnen chouibi + - Raul Garcia Canet (juagarc4) + - Bradley Zeggelaar + - Jakub Kisielewski + - fabi + - Safonov Nikita (ns3777k) + - Mikhail Prosalov (mprosalov) + - Mikkel Paulson + - Sobhan Sharifi (50bhan) + - Lucas Matte + - Radosław Kowalewski + - Thibaut Arnoud (thibautarnoud) + - Mdsujansarkar + - Thomas Dutrion (theocrite) + - Nicolas Séverin + - Marc J. Schmidt (marcjs) + - jdcook - Mohamed Karnichi (amiral) + - Cas - caalholm - - jdcook + - Samael tomas - popnikos - PabloKowalczyk - Brandon Kelly (brandonkelly) - VolCh - - Monere + - Victor + - Uwe Kleinmann + - David Legatt (dlegatt) + - ddebree - Marek Šimeček (mssimi) - Temuri Takalandze (abgeo) - Sander Goossens (sandergo90) - - djordy - - Marcin Kruk + - Guilain (guilain_sylapps) - David Soms - Marc Duboc (icemad) - - Andrew Zhilin (zhil) - - Julien ARBEY - - Marc J. Schmidt (marcjs) - - Thomas Dutrion (theocrite) + - fbuchlak + - V1nicius00 + - tomasz-kusy + - pf - Pete Mitchell (peterjmit) - Philipp Fritsche - Albert Prat - Dominik Piekarski (dompie) - nuryagdy mustapayev (nueron) - - AUDUL + - Walter Dal Mut (wdalmut) + - Harold Iedema + - djordy - Ernesto Domato - Michael Squires + - Marien Fressinaud - Vincent MOULENE (vints24) - Łukasz Chruściel (lchrusciel) - kaywalker - - Grégoire Rabasse + - Alexandre Segura - Craig Menning (cmenning) - pborreli - Philipp Kretzschmar - Gerard - Adam Katz - Benny Born - - Jean-Christophe Cuvelier [Artack] - - RevZer0 (rav) + - Romain Dorgueil + - andrey-tech - Gyula Szucs + - Damian Sromek - Guillaume Lajarige (molkobain) - - Sandro Hopf (senaria) + - Ryan Rud - Joeri Verdeyen (jverdeyen) - Michel Bardelmeijer - Laurent G. (laurentg) - fruty - lol768 - - Omar Yepez (oyepez003) + - Junaid Farooq (junaidfarooq) - Abdouni Karim (abdounikarim) - - Vladislav Vlastovskiy (vlastv) + - Luis Pabon (luispabon) - Grzegorz Łukaszewicz (newicz) - Trevor N. Suarez (rican7) - Julien Menth (cfjulien) - Billie Thompson - - Joachim Krempel (jkrempel) - - Hryhorii Hrebiniuk - - Ian Phillips + - Thomas Bibb - Pieter Jordaan - Jérémie Broutier - - Petr Jaroš (petajaros) + - SenTisso - Robert Korulczyk - - Johan Wilfer (johanwilfer) + - Markus Ramšak - Dan Blows - Haikiri - Christian Weiske - Claudiu Cristea - - Yuriy Potemkin + - Alexandre GESLIN - Tomas Javaisis - Johan de Ruijter - Bart Ruysseveldt - Balázs Benyó (duplabe) - - Lucas Matte + - Filippos Karailanidis - Abdouarrahmane FOUAD (fabdouarrahmane) - Sebastian Landwehr (dword123) - - Mikkel Paulson - - damaya + - Rafał Muszyński (rafmus90) + - Ben Johnson - Dario Guarracino - - Mikhail Prosalov (mprosalov) + - Camille Dejoye (cdejoye) - Fabian Kropfhamer (fabiank) - - mikocevar - - Petar Marjanovic - - stefan.r + - den den (dionisvl3) + - Sander van der Vlugt (stranding) + - Sergio Santoro - Ashura - Mathieu Ledru (matyo91) - Valérian Galliat - - fabi + - Reece Fowell (reecefowell) - Jérémy (libertjeremy) + - John Espiritu (johnillo) - Abdelilah Jabri - - Jakub Kisielewski - - Bradley Zeggelaar + - Julien Manganne (juuuuuu) + - Javier Núñez Berrocoso (javiernuber) - Ralf Kühnel (ralfkuehnel) - Berat Doğan - Ricardo de Vries (ricardodevries) - - Vašek Purchart (vasek-purchart) - - Jérémy Jourdin (jjk801) + - Mati Kochen (mtk) + - Peter Potrowl - Oussama Elgoumri - Juan Traverso - Mike Gladysch @@ -3816,212 +3850,215 @@ The Symfony Connect username in parenthesis allows to get more information - dropfen - Marcin Chwedziak - Gert de Pagter - - Vladimir Pakhomchik + - František Maša - Thibault G - Povilas S. (povilas) - Gordienko Vladislav - Amirreza Shafaat (amirrezashafaat) - - Cas van Dongen - - Darius Leskauskas (darles) - - Hallison Boaventura (hallisonboaventura) - - cmfcmf + - Michal Kurzeja (mkurzeja) + - Pierre Gasté (pierre_g) + - HMAZonderland - Thanos Polymeneas (thanos) - Michael Hudson-Doyle - - Vincent Vermeulen - - Paul LE CORRE + - Hryhorii Hrebiniuk + - Jérémy Jourdin (jjk801) - akimsko - - Joel Lusavuvu (enigma97) + - Vladimir Pakhomchik - Alexis BOYER - Alexander Menk - tsufeki - - Matthias Meyer - - Kevin Jansen + - RevZer0 (rav) + - Andreas Frömer - joris de wit (jdewit) - Andrejs Leonovs - Sander Hagen - Marc Torres + - Jean Ragouin + - Till Klampaeckel (till) + - Jan Christoph Beyer + - Jenne van der Meer + - carlos-ea + - Muhammad Elhwawshy + - twifty + - AlberT - MatTheCat - - Marvin Butkereit - anna-lena.waltinger - rogamoore - Maxime Corteel (mcorteel) - Enrico - andreabreu98 - - adnen chouibi + - Richard Hodgson - Leonid Terentyev - - Gabriel Solomon (gabrielsolomon) + - Alexey Vlasov - David Grüner (vworldat) - Egor Gorbachev - - Raul Garcia Canet (juagarc4) - - Maciej Paprocki (maciekpaprocki) - - Till Klampaeckel (till) - - Taylan Kasap - - David Brooks - - Radosław Kowalewski + - David Gorges (davidgorges) + - Sergey Fedotov + - Vincent Bouzeran + - Mynyx + - Jan Vernarsky - Stefan Oderbolz - - Bruno MATEU + - Mikko Pesari - Zakaria AMMOURA (zakariaamm) - - Gavin Staniforth - - Aleksei Lebedev - - Thibaut Arnoud (thibautarnoud) + - e-ivanov + - Clément LEFEBVRE (nemoneph) + - Houziaux mike - Eduardo Conceição - - Pierre Tondereau + - Oscar Esteve (oesteve) - Max Beutel - - Cas - - Samael tomas - - Sorin Gitlan (forapathy) - - tamar peled - - everyx - - parhs - - Flinsch - - tomasz-kusy - - mieszko4 - - Will Donohoe + - Gavin Staniforth + - Matt Drollette (mdrollette) - Neophy7e - - pf - - Walter Dal Mut (wdalmut) - - HMAZonderland + - David Otton + - A. Pauly + - Benjamin Pick - Gordienko Vladislav - - Marien Fressinaud + - Juan Miguel Besada Vidal (soutlink) - Simon Neidhold - - Romain Dorgueil + - Lars Moelleken - Sean Templeton - - Johannes + - mrossard - Steffen Keuper - Walid BOUGHDIRI (walidboughdiri) - tadas - - botbotbot + - Jeremy David (jeremy.david) - Eduard Morcinek - - Ryan Linnit + - Marcus - Nikita Sklyarov - - Ángel Guzmán Maeso (shakaran) - - andrey-tech - - Julien Manganne (juuuuuu) - - carlos-ea + - Georg Ringer (georgringer) + - Maxime P - Vladislav Iurciuc + - Andrea Giuliano (shark) - Andrew Tch - Mickael Perraud - - Ryan Rud + - ddegentesh - Geoff - - Junaid Farooq (junaidfarooq) - - Luis Pabon (luispabon) - - Rudolf Ratusiński - - Markus Ramšak - - Filippos Karailanidis - - Andrea Ruggiero (pupax) - - fh-github@fholzhauer.de - - AbdElKader Bouadjadja + - Shude + - Dawid Sajdak + - Luis Muñoz + - Kévin Gomez (kevin) + - Alex Nostadt + - Robert Kopera + - Verlhac Gaëtan (viviengaetan) + - szymek + - Dennis Haarbrink - rvoisin - - twifty - - Rafał Muszyński (rafmus90) - - Peter Potrowl + - MightyBranch + - Michael + - Sander Marechal - Alexander Pasichnik (alex_brizzz) - Kamil Szalewski (szal1k) - - Camille Dejoye (cdejoye) + - Jakub Janata (janatjak) - Mehdi Achour (machour) - Andrey Chernykh - Kérian MONTES-MORIN (kerianmm) + - Alessandra Lai + - Hugo Fonseca (fonsecas72) + - Julian Krzefski + - Gabi Udrescu + - Gerd Christian Kunze (derdu) + - Ross Tuck - BenjaminBeck + - Andrew Marcinkevičius (ifdattic) - n-aleha - - Luke Towers - - Julius Beckmann (h4cc) - - Peter Bouwdewijn - tuqqu - - László GÖRÖG + - Mikkel Paulson - Valery Maslov (coderberg) + - Courcier Marvin (helyakin) + - Ulugbek Miniyarov + - David Soria Parra + - ghazy ben ahmed - Damien Harper (damien.harper) - - Reece Fowell (reecefowell) - - Clement Herreman (clemherreman) + - pritasil - Kevin Dew + - m.chwedziak + - SALMERON Valentin (vasal) + - Clement Herreman (clemherreman) - Rowan Manning - - Javier Núñez Berrocoso (javiernuber) - - Alex Teterin (errogaht) - - Maxim Kolokolnikov + - dantleech - Wouter Ras - - adhamiamirhossein - - David Legatt (dlegatt) - - ddebree - Jesper Noordsij - - František Maša - - Michal Kurzeja (mkurzeja) + - Jakub Sacha + - Ashura - Igor Plantaš - - Wouter de Wild + - 2manypeople - Tobias Feijten (tobias93) - - Pierre Gasté (pierre_g) + - Jacek Kobus (jackks) + - Marcos Quesada (marcos_quesada) + - Alexey Popkov + - Giovanni Albero (johntree) + - Emre Akinci (emre) + - André Laugks + - upchuk + - Thibaut Salanon + - GK-302 + - GagnarTest (gagnartest) - stloyd - Ian Carroll - Jaap van Otterdijk (jaapio) - Iwan van Staveren (istaveren) - - Andreas Frömer + - Cas van Dongen - Benjamin RICHARD - - Harold Iedema - - Adria Lopez (adlpz) - - Keith Maika - - John Espiritu (johnillo) - - Sander Coolen (scoolen) - - Adiel Cristo (arcristo) + - Nei Rauni Santos (nrauni) + - Steve Frécinaux + - Ener-Getick - Christian Stocker - - Babichev Maxim (rez1dent3) - - AlberT + - Mykola Zyk + - Julius Beckmann (h4cc) + - mantulo + - Dalibor Karlović + - adam-mospan + - GurvanVgx + - Hans Höchtl (hhoechtl) + - fh-github@fholzhauer.de - Simone Fumagalli (hpatoio) - Freek Van der Herten (freekmurze) - - Richard Hodgson + - Andrea Ruggiero (pupax) - valmonzo - - Sergey Fedotov + - George Giannoulopoulos - Erika Heidi Reinaldo (erikaheidi) - Muhammad Aakash - - Mynyx - - Jan Vernarsky - - Nicolas Fabre (nfabre) - - e-ivanov - - mantulo - - Houziaux mike - - Matheus Gontijo - - Vladimir Vasilev (bobahvas) + - Markus + - omniError + - EXT - THERAGE Kevin + - Javier Ledezma + - Przemysław Piechota (kibao) - Flo Gleixner (redflo) - Alessio Baglio (ioalessio) - - mousezheng + - Michael Thieulin - wesleyh - florian-michael-mast - Chris McGehee - - Matt Drollette (mdrollette) - - David Otton + - Frank Neff (fneff) + - pawel-lewtak - Piet Steinhart - Christopher Parotat - Arman - Benjamin Laugueux - Žan V. Dragan - - Yura Uvarov (zim32) + - Jānis Lukss - Vladimir Mantulo (mantulo) - - Jannik Zschiesche - - JustDylan23 - - Verlhac Gaëtan (viviengaetan) - - Adrien Foulon + - Javan Eskander + - Vincent Chalnot - Pablo Borowicz - Emilie Lorenzo - Samuel Gordalina (gordalina) - Mike Milano (mmilano) - Ganesh Chandrasekaran (gxc4795) - - A. Pauly - - Tony Arcangelini + - Dan Ionut Dumitriu (danionut90) + - Vladimir Sadicov (xtech) - Julius (sakalys) - - Juan Miguel Besada Vidal (soutlink) + - skalpa - Diego Sapriza - - Tomas Kmieliauskas - - Laurent Bardin - - Nei Rauni Santos (nrauni) - - Steve Frécinaux - - Rikijs Murgs - - Lars Moelleken + - klemens + - Daniel Bartoníček + - Andrew (drew) - Abdelhakim ABOULHAJ - Robert Meijers - agaktr - Muhammed Akbulut - - szymek - - Dennis Haarbrink - - Maxime P - Brooks Boyd - - ddegentesh + - Hallison Boaventura (hallisonboaventura) - joris - Matthias Bilger - Nathan DIdier (icz) @@ -4029,129 +4066,93 @@ The Symfony Connect username in parenthesis allows to get more information - David de Boer (ddeboer) - youssef saoubou - Lesueurs Frédéric (fredlesueurs) - - Dawid Sajdak + - Vincent Vermeulen - Mathieu MARCHOIS (mmar) - Matteo Giachino (matteosister) - - Luis Muñoz - - MightyBranch - - Michael - - Courcier Marvin (helyakin) + - ChS - Pavel.Batanov - - Kévin Gomez (kevin) + - Ken Marfilla (marfillaster) - zorn - - Hugo Fonseca (fonsecas72) - Ismail Turan - - Alex Nostadt - - Kim Laï Trinh - - Xavier RENAUDIN + - Julien Moulin (lizjulien) + - André Filipe Gonçalves Neves (seven) + - MusikAnimal - Albin Kerouaton - - Sander Marechal - - Jakub Sacha + - Iliya Miroslavov Iliev (i.miroslavov) + - Signor Pedro - Raphaël Droz - Ilia Lazarev (ilzrv) - Peter Gribanov - Tito Costa - - Jakub Janata (janatjak) - - Alessandra Lai - - Julian Krzefski - - Gabi Udrescu + - Alex Teterin (errogaht) + - Pierre Grimaud (pgrimaud) + - Stefan Hüsges (tronsha) + - Quentin Favrie + - Patricia - Sergei Gorjunov + - Moritz Borgmann (mborgmann) + - Vivien + - Claas Augner + - Ferran Vidal - Pierre-Olivier Vares (povares) - Gilbertsoft - - ghazy ben ahmed + - Amine Yakoubi - Antanas Arvasevicius - Ha Phan (haphan) + - Lesnykh Ilia + - Cedric Kastner (nurtext) + - jean pasqualini (darkilliant) + - Taras Girnyk + - Jeremiah VALERIE - Eddy - Alexander Onatskiy - efeen - - pritasil + - timaschew - Andrea Civita - - dantleech - - David Gorges (davidgorges) + - Michael Steininger - Renato Mendes Figueiredo + - Kévin Gonella + - Frank Dekker + - SAY-5 + - Alexandru Năstase + - Michael Telgmann - Bram Tweedegolf (bram_tweedegolf) - - Robert Kopera - - Vincent Bouzeran - - Ashura - Carlos Ortega Huetos - - Alexey Popkov - - Emre Akinci (emre) + - ADmad + - Steffen Persch (n3o77) - Rafał + - Vladislav (simpson) + - Vyacheslav Slinko + - Benjamin Dos Santos - temperatur - - André Laugks + - Edvinas Klovas - Remi Collet - - Jonathan (grafikart) + - Ash014 - Sam Ward - qsz - luffy1727 - - Jm Aribau (jmaribau) + - Aurélien MARTIN - Ben Gamra Housseine (hbgamra) - Tim Strehle - Rémi Faivre (rfv) - Derek Bonner - Claude Dioudonnat - - GagnarTest (gagnartest) + - Tobias Genberg (lorceroth) - Giuseppe Petraroli (gpetraroli) - withbest - - George Giannoulopoulos - - Markus - - EXT - THERAGE Kevin + - changmin.keum - Bizley + - Konrad Mohrfeldt + - Pascal Hofmann + - parhs - Alan Bondarchuk - Philip Frank - - J Bruni - - Martin Komischke + - AlbinoDrought + - Zoran Makrevski (zmakrevski) - Oriol Mangas Abellan (oriolman) - Harald Tollefsen - Maks Rafalko (bornfree) - Oliver Klee - - Frank Neff (fneff) + - Peter Jaap Blaakmeer - Monet Emilien - - Gerd Christian Kunze (derdu) - - pawel-lewtak - - Ross Tuck - - Andreas Streichardt - - Dan Ionut Dumitriu (danionut90) - - Ulugbek Miniyarov - - skalpa - - Andrew (drew) - - upchuk - - Thibaut Salanon - - GurvanVgx - MaPePeR - - Siebe Vanden Eynden - - ChS - - Diego Campoy - - Pierre Sv (rrr63) - - neodevcode - - Ken Marfilla (marfillaster) - - David Soria Parra - - Julien Moulin (lizjulien) - - Jacek Kobus (jackks) - - Thomas Ploch - - André Filipe Gonçalves Neves (seven) - - Giovanni Albero (johntree) - - GK-302 - - Dalibor Karlović - - Roland Franssen :) - - Hans Höchtl (hhoechtl) - - Mykola Zyk - - tinect (tinect) - - Nathan Sepulveda - - MusikAnimal - - robmro27 - - Patricia - - hjkl - - Tatsuya Tsuruoka - - Mantas Urnieža - - Iliya Miroslavov Iliev (i.miroslavov) - - Signor Pedro - - enomotodev - - Javier Ledezma - - Przemysław Piechota (kibao) - - Lesnykh Ilia - - Sébastien HOUZE - - Patrick Kuijvenhoven - - Frank Schulze (xit) - - Ignacio Alveal - - Pierre Grimaud (pgrimaud) From f46a73b69c361f348b6dd7a7dc458fe02dc59a0d Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 10:55:59 +0200 Subject: [PATCH 40/43] Update VERSION for 6.4.40 --- src/Symfony/Component/HttpKernel/Kernel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 95db550a60a08..00e574a7c02b3 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -77,12 +77,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '6.4.40-DEV'; + public const VERSION = '6.4.40'; public const VERSION_ID = 60440; public const MAJOR_VERSION = 6; public const MINOR_VERSION = 4; public const RELEASE_VERSION = 40; - public const EXTRA_VERSION = 'DEV'; + public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2026'; public const END_OF_LIFE = '11/2027'; From 21600bd8f127766aa361ad43073eb24e565782a5 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 10:57:35 +0200 Subject: [PATCH 41/43] Bump Symfony version to 6.4.41 --- src/Symfony/Component/HttpKernel/Kernel.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 00e574a7c02b3..3fff039c02588 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -77,12 +77,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '6.4.40'; - public const VERSION_ID = 60440; + public const VERSION = '6.4.41-DEV'; + public const VERSION_ID = 60441; public const MAJOR_VERSION = 6; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 40; - public const EXTRA_VERSION = ''; + public const RELEASE_VERSION = 41; + public const EXTRA_VERSION = 'DEV'; public const END_OF_MAINTENANCE = '11/2026'; public const END_OF_LIFE = '11/2027'; From 51fa3df8104483f21e037859f5f88cff5beb4d29 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 11:47:23 +0200 Subject: [PATCH 42/43] Update CHANGELOG for 8.0.12 --- CHANGELOG-8.0.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CHANGELOG-8.0.md b/CHANGELOG-8.0.md index c1232b5dfda2d..28891d6736f0e 100644 --- a/CHANGELOG-8.0.md +++ b/CHANGELOG-8.0.md @@ -7,6 +7,37 @@ in 8.0 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/v8.0.0...v8.0.1 +* 8.0.12 (2026-05-20) + + * security #cve-2026-46626 [Runtime] Fix CVE-2024-50340 patch bypass by gating argv on $_SERVER['QUERY_STRING'] (nicolas-grekas) + * security #cve-2026-45754 [Notifier][Lox24] Reject webhooks with missing or invalid token (nicolas-grekas) + * security #cve-2026-47212 [Notifier][Twilio] Reject webhooks with missing or invalid HMAC signature (nicolas-grekas) + * security #cve-2026-45753 [HtmlSanitizer] Sanitize URLs in action, formaction, poster and cite attributes (nicolas-grekas) + * security #cve-2026-45754 [Mailer][Mailjet] Reject webhooks with missing or invalid Basic credentials (alexandre-daubois) + * security #cve-2026-45072 [TwigBridge] Fix XSS issue in CodeExtension::fileExcerpt() (nicolas-grekas) + * security #cve-2026-45064 [HtmlSanitizer] Reject BiDi override characters and percent-encode spaces in URLs (nicolas-grekas) + * security #cve-2026-45066 [HtmlSanitizer] Fix `allowLinkHosts`/`allowMediaHosts` bypass via URL parser differentials and `` misclassification (alexandre-daubois) + * security #cve-2026-45069 [Security] Add missing claims in `OidcTokenHandler` (alexandre-daubois) + * bug #64258 [DomCrawler] Fix `ChoiceFormField::addChoice()` clobbering values on multi-selects (nicolas-grekas) + * bug #64261 [Messenger] Fix PhpSerializer::getMessageType() when getting payload with Serializable instances (nicolas-grekas) + * bug #64207 [MonologBridge] Fix `interactive_only` not preventing propagation (philbates35) + * bug #64214 [HttpKernel] Preserve named-attribute override on Request/Session value resolvers (nicolas-grekas) + * security #cve-2026-45305 [Yaml] Harden the Parser::cleanup() regexes against catastrophic backtracking (nicolas-grekas) + * security #cve-2026-45304 [Yaml] Bound collection-alias resolution in the parser (nicolas-grekas) + * security #cve-2026-45133 [Yaml] Bound recursion depth in the parser (nicolas-grekas) + * security #cve-2026-45071 [DomCrawler] Fix XXE in addXmlContent() by not enabling `validateOnParse` (alexandre-daubois) + * security #cve-2026-45068 [Mailer] Add end-of-options separator before recipients in SendmailTransport; reject addresses starting with a dash (alexandre-daubois) + * security #cve-2026-45063 [Security] Anchor emailAddress regex to RDN boundary in X509Authenticator (alexandre-daubois) + * security #cve-2026-45065 [Routing] Fix regex alternation anchoring in `UrlGenerator` requirement validation (alexandre-daubois) + * security #cve-2026-45067 [Mime] Reject email addresses containing line breaks in Address (alexandre-daubois) + * security #cve-2026-45073 [Cache] Validate the prefix given to AbstractAdapter::clear() (nicolas-grekas) + * security #cve-2026-45077 [MonologBridge] Bind server:log to localhost by default (nicolas-grekas) + * security #cve-2026-45755 [Mailer][Mailtrap] Reject webhooks with missing or invalid HMAC signature (alexandre-daubois) + * security #cve-2026-45756 [JsonPath] Cap regex backtracking in `match()`/`search()` to prevent ReDoS (alexandre-daubois) + * security #cve-2026-45074 [Security] Require configuring trusted hosts when using CAS authentication (nicolas-grekas) + * security #cve-2026-45075 [Security][HttpKernel] Fix HEAD requests bypassing methods filter in `IsGranted`, `IsCsrfTokenValid` and `IsSignatureValid` attributes (nicolas-grekas) + * bug #64213 [Security] Fix impersonation being deauthenticated on every request (nicolas-grekas) + * 8.0.11 (2026-05-13) * bug #64198 [SecurityBundle] Allow defining security provider factories without config (hockdudu) From 1ff9eace0947e8dccde825910fe1bcad32b9ad84 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 20 May 2026 11:47:36 +0200 Subject: [PATCH 43/43] Update VERSION for 8.0.12 --- src/Symfony/Component/HttpKernel/Kernel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 72108bf2ff992..98a7428b856d9 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -72,12 +72,12 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ private static array $freshCache = []; - public const VERSION = '8.0.12-DEV'; + public const VERSION = '8.0.12'; public const VERSION_ID = 80012; public const MAJOR_VERSION = 8; public const MINOR_VERSION = 0; public const RELEASE_VERSION = 12; - public const EXTRA_VERSION = 'DEV'; + public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '07/2026'; public const END_OF_LIFE = '07/2026';