{"push_id":1389994405,"size":46,"distinct_size":1,"ref":"refs/heads/securitybundle/deprecate_firewallcontext-getcontext","head":"b6a29b22d89e108735938fe9c234fcbba773ceb2","before":"6c00f60cd90657eebffe768b29a9499da062837c","commits":[{"sha":"0423d894f43a60da6d1625906f1fea536dcb5513","author":{"name":"VJ","email":"9c995d272391084e8d695dfb34ca2709fca85129@itsupportme.com"},"message":"[HttpFoundation][Session] memcached connection should not be closed","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/0423d894f43a60da6d1625906f1fea536dcb5513"},{"sha":"e64de1eac65779f1aa3c9c9c4203ea2e64558907","author":{"name":"Robin Chalas","email":"b2279aef7859a3d07e898d1552aa88f2e54a09f8@gmail.com"},"message":"[Console] Fix infinite loop on missing input\n\n[Console] Use console exception for missing input\n\nBackport Console RuntimeException in 2.7","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/e64de1eac65779f1aa3c9c9c4203ea2e64558907"},{"sha":"ad54d83c902a80367d27d946b00b6f3808e1e26b","author":{"name":"Christian Flothmann","email":"aba769945e5ab0e948be3a2c0061fe5823865200@sensiolabs.de"},"message":"[Yaml] set arguments depending on the PHP version","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/ad54d83c902a80367d27d946b00b6f3808e1e26b"},{"sha":"172d0a4c08f11e1f1e1f9ad28302d3a8bda51492","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"minor #20408 [Yaml] set arguments depending on the PHP version (xabbuh)\n\nThis PR was merged into the 3.1 branch.\n\nDiscussion\n----------\n\n[Yaml] set arguments depending on the PHP version\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 3.1\n| Bug fix?      | no\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | yes\n| Fixed tickets | n/a\n| License       | MIT\n| Doc PR        | n/a\n\nCommits\n-------\n\nad54d83 [Yaml] set arguments depending on the PHP version","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/172d0a4c08f11e1f1e1f9ad28302d3a8bda51492"},{"sha":"74e65e1631c699a209b8adc4a586725b65fac096","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"bug #20377 [Console] Fix infinite loop on missing input (chalasr)\n\nThis PR was merged into the 2.7 branch.\n\nDiscussion\n----------\n\n[Console] Fix infinite loop on missing input\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 2.7\n| Bug fix?      | yes\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | yes\n| Fixed tickets | #20277\n| License       | MIT\n| Doc PR        | n/a\n\nThis fixes the infinite loop occurring when no input is provided for a question which has a validator and no max attempts (`null`), e.g. when using `SymfonyStyle::ask()` which automatically adds a validator.\n\nCommits\n-------\n\ne64de1e [Console] Fix infinite loop on missing input","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/74e65e1631c699a209b8adc4a586725b65fac096"},{"sha":"8d5c56348c18c7772f97154c4210cbc619519084","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"Merge branch '2.7' into 2.8\n\n* 2.7:\n  [Console] Fix infinite loop on missing input","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/8d5c56348c18c7772f97154c4210cbc619519084"},{"sha":"f37ac131e120c37e0481d400cebd9fa990cddbc8","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"bug #20375 [HttpFoundation][Session] Fix memcache session handler (klandaika)\n\nThis PR was merged into the 2.7 branch.\n\nDiscussion\n----------\n\n[HttpFoundation][Session] Fix memcache session handler\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 3.0, 3.1, master\n| Bug fix?      | yes\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | yes\n| Fixed tickets |\n| License       | MIT\n| Doc PR        |\n\nCommit 0216e056051a6304cab01defc107fb583f3f5efa removed the opening of connection to memcached server on call to `open()`, because it's assumed that connection is already opened. However, `close()` still closes the connection. As a result no more read/write calls can be made if session got closed, as the connection does not get reestablished.\n\nBasically MemcacheSessionHandler should follow same logic as Memcache**d**SessionHandler, which is exactly what this MR acomplishes.\n\nCommits\n-------\n\n0423d894 [HttpFoundation][Session] memcached connection should not be closed","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/f37ac131e120c37e0481d400cebd9fa990cddbc8"},{"sha":"d030a9d4036894a2a77af2100e3d23e597a0b65c","author":{"name":"Javier Eguiluz","email":"221f3d56f15cf666a7b98684fae970c0a8e9e47c@gmail.com"},"message":"Improved the design of the metrics in the profiler","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/d030a9d4036894a2a77af2100e3d23e597a0b65c"},{"sha":"8fd97217e7d424613617b22e89a617eda9d915c7","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"bug #20294 Improved the design of the metrics in the profiler (javiereguiluz)\n\nThis PR was squashed before being merged into the 2.8 branch (closes #20294).\n\nDiscussion\n----------\n\nImproved the design of the metrics in the profiler\n\n| Q | A |\n| --- | --- |\n| Branch? | 2.8 |\n| Bug fix? | yes |\n| New feature? | no |\n| BC breaks? | no |\n| Deprecations? | no |\n| Tests pass? | yes |\n| Fixed tickets | - |\n| License | MIT |\n| Doc PR |  |\n- Performance panel now displays Sub-Requests a bit separated from the normal metrics\n- Singular/plural: when there is 1 sub-request, we don't display \"sub-request**s**\" anymore\n### Before\n\n![before_subrequests](https://cloud.githubusercontent.com/assets/73419/19680261/5289fd26-9aa5-11e6-8702-1ac50997da78.png)\n### After\n\n![after_subrequests](https://cloud.githubusercontent.com/assets/73419/19680272/57324b44-9aa5-11e6-8d85-44cc089bd9f4.png)\n- Add bottom margin to metrics so they are correctly displayed when the screen is very small.\n### Before & After\n\n![metrics-small-screens](https://cloud.githubusercontent.com/assets/73419/19680259/4f826654-9aa5-11e6-9ed8-1ffe9a3db8bf.png)\n\nCommits\n-------\n\nd030a9d Improved the design of the metrics in the profiler","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/8fd97217e7d424613617b22e89a617eda9d915c7"},{"sha":"c3dacbb9a1418e3e7c433152439f7e6ae390706f","author":{"name":"Jan Emrich","email":"729a22377f27a85f9052ae01ec568c7610217ba6@mehrkanal.com"},"message":"Remove double use Statement\n\nSyntax Error in Helper/QuestionHelper.php","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/c3dacbb9a1418e3e7c433152439f7e6ae390706f"},{"sha":"3dcbdfdd392531df18a9bea727b18c81d7f16dee","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"minor #20414 [Console] Fix double use Statement (Jan Emrich)\n\nThis PR was merged into the 2.8 branch.\n\nDiscussion\n----------\n\n[Console] Fix double use Statement\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 2.8\n| Bug fix?      | yes\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | yes\n| Fixed tickets | -\n| License       | MIT\n\nCommits\n-------\n\nc3dacbb Remove double use Statement","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/3dcbdfdd392531df18a9bea727b18c81d7f16dee"},{"sha":"90ba197cefefe5ab2f3d332a5495988c34874b9b","author":{"name":"Nicolas Grekas","email":"ec5ccb19bcd9237073a700927cff7f3ddf333fd9@gmail.com"},"message":"[DI][Serializer] Add missing deprecations","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/90ba197cefefe5ab2f3d332a5495988c34874b9b"},{"sha":"7572a53b847af0c74ec1c23cd56087c46f9a2978","author":{"name":"Nicolas Grekas","email":"ec5ccb19bcd9237073a700927cff7f3ddf333fd9@gmail.com"},"message":"[Bridge\\Monolog][FrameworkBundle] Add & wire a DebugProcessor","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/7572a53b847af0c74ec1c23cd56087c46f9a2978"},{"sha":"35642288faebec8b5d8ec9028494b43b78348a69","author":{"name":"Yonel Ceruto","email":"8e6d99f4090cbf94d5da812a437af1ae87f165de@gmail.com"},"message":"[Form] Fix show float values as choices values in ChoiceType","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/35642288faebec8b5d8ec9028494b43b78348a69"},{"sha":"5bd3a000d830e685791276f7f2975e8c649586b5","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"bug #20415 [DI][Serializer] Add missing deprecations (nicolas-grekas)\n\nThis PR was merged into the 3.2-dev branch.\n\nDiscussion\n----------\n\n[DI][Serializer] Add missing deprecations\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 3.2\n| Bug fix?      | no\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | no\n| Fixed tickets | -\n| License       | MIT\n| Doc PR        | -\n\nCommits\n-------\n\n90ba197 [DI][Serializer] Add missing deprecations","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/5bd3a000d830e685791276f7f2975e8c649586b5"},{"sha":"eb0d6c94ca51aef6701dff88fbea2e8616e0e72d","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"removed a deprecation notice","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/eb0d6c94ca51aef6701dff88fbea2e8616e0e72d"},{"sha":"2dd77a6b9b6814cdfb84742f07879c689c7d3852","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"feature #20416 [Bridge\\Monolog][FrameworkBundle] Add & wire a DebugProcessor (nicolas-grekas)\n\nThis PR was merged into the 3.2-dev branch.\n\nDiscussion\n----------\n\n[Bridge\\Monolog][FrameworkBundle] Add & wire a DebugProcessor\n\n| Q             | A\n| ------------- | ---\n| Branch?       | master\n| Bug fix?      | yes\n| New feature?  | yes\n| BC breaks?    | no\n| Deprecations? | yes\n| Tests pass?   | yes\n| Fixed tickets | #20370\n| License       | MIT\n| Doc PR        | -\n\nAs identified in #20370, collecting the log records for the profiler should happen before any processor.\nThe only way to do so is by registering a processor to do exactly that.\nSince the last added processor is called first, this one is wired in a compiler pass that is called after other processors are registered.\n\nThe DebugHandler class being now useless, it is deprecated.\nIf this approach is accepted, I'll send a PR on monolog bundle & silex to leverage it.\n\nCommits\n-------\n\n7572a53 [Bridge\\Monolog][FrameworkBundle] Add & wire a DebugProcessor","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/2dd77a6b9b6814cdfb84742f07879c689c7d3852"},{"sha":"27c91e514e563e090d9f8122235cf61951cde5bd","author":{"name":"Abdellatif Ait boudad","email":"602b62da6e3bf90b2a995bd2bd7d9d4cd47fee0d@gmail.com"},"message":"[Translation][fallback] add missing resources in parent catalogues.","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/27c91e514e563e090d9f8122235cf61951cde5bd"},{"sha":"9043a551b2f2ebacc00564a249234f2d32df7469","author":{"name":"Andreas Braun","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@alcaeus.org"},"message":"Properly format value in UniqueEntityValidator","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/9043a551b2f2ebacc00564a249234f2d32df7469"},{"sha":"94d9bfbc1d9d56577d9e2a143bfdea6108dd58de","author":{"name":"Fabien Potencier","email":"6094910757de3667a08340f5b21f6399d2ffcc52@gmail.com"},"message":"bug #20378 [Form] Fixed show float values as choice value in ChoiceType (yceruto)\n\nThis PR was merged into the 2.7 branch.\n\nDiscussion\n----------\n\n[Form] Fixed show float values as choice value in ChoiceType\n\n| Q             | A\n| ------------- | ---\n| Branch?       | 2.7\n| Bug fix?      | yes\n| New feature?  | no\n| BC breaks?    | no\n| Deprecations? | no\n| Tests pass?   | yes\n| Fixed tickets | #13817\n| License       | MIT\n| Doc PR        | -\n\nThere is a closed [issue][1] related to this before Symfony 2.7 (when choice value still was the key from the `array`). This issue already happened in 2.7+ but now inside Symfony core.\n\nInformation\n-----------\n\n[This method][3] checks whether the given choices can be cast to strings without generating duplicates (https://github.com/symfony/symfony/commit/3ab8189080738bbe55227698faf0334f35c64081 in #16705):\n\n```php\nprivate function castableToString(array $choices, array &$cache = array())\n{\n    foreach ($choices as $choice) {\n        if (is_array($choice)) {\n            if (!$this->castableToString($choice, $cache)) {\n                return false;\n            }\n\n            continue;\n        } elseif (!is_scalar($choice)) {\n            return false;\n        } elseif (isset($cache[$choice])) {  // <---- red breakpoint\n            return false;\n        }\n\n        $cache[$choice] = true; // <---- red breakpoint\n    }\n\n    return true;\n}\n```\n\nSo it should to keep [scalar values (integer, float, string or boolean)][2] as choice values always (unless have duplicates values).\n\nThe Problem\n-----------\n\nBut in this situation it doesn't happen:\n\n```php\n$form = $this->createFormBuilder()\n    ->add('foo', ChoiceType::class, [\n        'choices' => [\n            'Min' => 0.5,\n            'Mid' => 1.0,\n            'Max' => 1.5,\n        ]\n    ])\n    ->getForm();\n```\n\n**Output:**\n\n```html\n<select id=\"form_foo\" name=\"form[foo]\">\n  <option value=\"0\">Min</option>\n  <option value=\"1\">Mid</option>\n  <option value=\"2\">Max</option>\n</select>\n```\n\n[**Why?**][5]\n\nIf the key of the array is a float number, it's interpreted as integer automatically:\n\n```php\n// ...\n\n$cache[$choice] = true;\n\n// when $choice = 0.5: $cache = [0 => true]\n// when $choice = 1.0: $cache = [0 => true, 1 => true]\n```\n\nThen, when `$choice = 1.5` [this sentence][4] `isset($cache[1.5])` returns `true` because really checks `isset($cache[1])` and this key already exists, so `castableToString()` returns `false` (detected as duplicate) and the choices values are generated incrementing integers as values.\n\nThe PR's Effect\n-------------\n\n**Before:**\n\n```html\n<select id=\"form_foo\" name=\"form[foo]\">\n  <option value=\"0\">Min</option>\n  <option value=\"1\">Mid</option>\n  <option value=\"2\">Max</option>\n</select>\n```\n\n**After:**\n\n```html\n<select id=\"form_foo\" name=\"form[foo]\">\n  <option value=\"0.5\">Min</option>\n  <option value=\"1\">Mid</option>\n  <option value=\"1.5\">Max</option>\n</select>\n```\n\n  [1]: https://github.com/symfony/symfony/issues/13817\n  [2]: http://php.net/manual/en/function.is-scalar.php\n  [3]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L228\n  [4]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L239\n  [5]: https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php#L243\n\nCommits\n-------\n\n3564228 [Form] Fix show float values as choices values in ChoiceType","distinct":false,"url":"https://api.github.com/repos/chalasr/symfony/commits/94d9bfbc1d9d56577d9e2a143bfdea6108dd58de"}]}
{"actor":{"display_login":"chalasr"}}