Merge branch '3.3' into 3.4

* 3.3:
  Fixed the escaping of back slashes and << in console output
  bumped Symfony version to 2.8.28
  updated VERSION for 2.8.27
  updated CHANGELOG for 2.8.27
  bumped Symfony version to 2.7.35
  updated VERSION for 2.7.34
  update CONTRIBUTORS for 2.7.34
  updated CHANGELOG for 2.7.34
This commit is contained in:
Christian Flothmann 2017-08-31 11:02:44 +02:00
commit c708d02299
3 changed files with 33 additions and 21 deletions

View File

@ -7,8 +7,8 @@ Symfony is the result of the work of many people who made the code better
- Fabien Potencier (fabpot) - Fabien Potencier (fabpot)
- Nicolas Grekas (nicolas-grekas) - Nicolas Grekas (nicolas-grekas)
- Bernhard Schussek (bschussek) - Bernhard Schussek (bschussek)
- Tobias Schultze (tobion)
- Christian Flothmann (xabbuh) - Christian Flothmann (xabbuh)
- Tobias Schultze (tobion)
- Christophe Coevoet (stof) - Christophe Coevoet (stof)
- Jordi Boggiano (seldaek) - Jordi Boggiano (seldaek)
- Victor Berchet (victor) - Victor Berchet (victor)
@ -37,8 +37,8 @@ Symfony is the result of the work of many people who made the code better
- Roland Franssen (ro0) - Roland Franssen (ro0)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Jules Pietri (heah) - Jules Pietri (heah)
- Sarah Khalil (saro0h)
- Guilhem Niot (energetick) - Guilhem Niot (energetick)
- Sarah Khalil (saro0h)
- Jonathan Wage (jwage) - Jonathan Wage (jwage)
- Diego Saint Esteben (dosten) - Diego Saint Esteben (dosten)
- Alexandre Salomé (alexandresalome) - Alexandre Salomé (alexandresalome)
@ -65,20 +65,20 @@ Symfony is the result of the work of many people who made the code better
- Michel Weimerskirch (mweimerskirch) - Michel Weimerskirch (mweimerskirch)
- Eric Clemmons (ericclemmons) - Eric Clemmons (ericclemmons)
- Charles Sarrazin (csarrazi) - Charles Sarrazin (csarrazi)
- Christian Raue
- Konstantin Myakshin (koc) - Konstantin Myakshin (koc)
- Christian Raue
- Dany Maillard (maidmaid)
- Arnout Boks (aboks) - Arnout Boks (aboks)
- Jérémy DERUSSÉ (jderusse)
- Deni - Deni
- Henrik Westphal (snc) - Henrik Westphal (snc)
- Dariusz Górecki (canni) - Dariusz Górecki (canni)
- Jáchym Toušek (enumag) - Jáchym Toušek (enumag)
- Titouan Galopin (tgalopin) - Titouan Galopin (tgalopin)
- Douglas Greenshields (shieldo) - Douglas Greenshields (shieldo)
- Dany Maillard (maidmaid)
- Lee McDermott - Lee McDermott
- Brandon Turner - Brandon Turner
- Luis Cordova (cordoval) - Luis Cordova (cordoval)
- Jérémy DERUSSÉ (jderusse)
- Graham Campbell (graham) - Graham Campbell (graham)
- Daniel Holmes (dholmes) - Daniel Holmes (dholmes)
- Toni Uebernickel (havvg) - Toni Uebernickel (havvg)
@ -87,24 +87,24 @@ Symfony is the result of the work of many people who made the code better
- Jérôme Tamarelle (gromnan) - Jérôme Tamarelle (gromnan)
- John Wards (johnwards) - John Wards (johnwards)
- Dariusz Ruminski - Dariusz Ruminski
- Alexander M. Turek (derrabus)
- Fran Moreno (franmomu) - Fran Moreno (franmomu)
- Antoine Hérault (herzult) - Antoine Hérault (herzult)
- Tobias Nyholm (tobias)
- Paráda József (paradajozsef) - Paráda József (paradajozsef)
- Issei Murasawa (issei_m) - Issei Murasawa (issei_m)
- Arnaud Le Blanc (arnaud-lb) - Arnaud Le Blanc (arnaud-lb)
- Maxime STEINHAUSSER - Maxime STEINHAUSSER
- Alexander M. Turek (derrabus)
- Michal Piotrowski (eventhorizon) - Michal Piotrowski (eventhorizon)
- Tim Nagel (merk)
- Yonel Ceruto González (yonelceruto) - Yonel Ceruto González (yonelceruto)
- Tim Nagel (merk)
- Brice BERNARD (brikou) - Brice BERNARD (brikou)
- Baptiste Clavié (talus) - Baptiste Clavié (talus)
- Vladimir Reznichenko (kalessil) - Vladimir Reznichenko (kalessil)
- marc.weistroff - marc.weistroff
- lenar - lenar
- Tobias Nyholm (tobias)
- Włodzimierz Gajda (gajdaw)
- Alexander Schwenn (xelaris) - Alexander Schwenn (xelaris)
- Włodzimierz Gajda (gajdaw)
- Jacob Dreesen (jdreesen) - Jacob Dreesen (jdreesen)
- Florian Voutzinos (florianv) - Florian Voutzinos (florianv)
- Colin Frei - Colin Frei
@ -152,7 +152,9 @@ Symfony is the result of the work of many people who made the code better
- Rouven Weßling (realityking) - Rouven Weßling (realityking)
- Teoh Han Hui (teohhanhui) - Teoh Han Hui (teohhanhui)
- Clemens Tolboom - Clemens Tolboom
- Oleg Voronkovich
- Helmer Aaviksoo - Helmer Aaviksoo
- Lars Strojny (lstrojny)
- Hiromi Hishida (77web) - Hiromi Hishida (77web)
- Matthieu Ouellette-Vachon (maoueh) - Matthieu Ouellette-Vachon (maoueh)
- Michał Pipa (michal.pipa) - Michał Pipa (michal.pipa)
@ -166,7 +168,6 @@ Symfony is the result of the work of many people who made the code better
- Warnar Boekkooi (boekkooi) - Warnar Boekkooi (boekkooi)
- Dmitrii Chekaliuk (lazyhammer) - Dmitrii Chekaliuk (lazyhammer)
- Clément JOBEILI (dator) - Clément JOBEILI (dator)
- Lars Strojny (lstrojny)
- Possum - Possum
- Dorian Villet (gnutix) - Dorian Villet (gnutix)
- Richard Miller (mr_r_miller) - Richard Miller (mr_r_miller)
@ -184,7 +185,6 @@ Symfony is the result of the work of many people who made the code better
- Daniel Espendiller - Daniel Espendiller
- sun (sun) - sun (sun)
- Larry Garfield (crell) - Larry Garfield (crell)
- Oleg Voronkovich
- Martin Schuhfuß (usefulthink) - Martin Schuhfuß (usefulthink)
- apetitpa - apetitpa
- Matthieu Bontemps (mbontemps) - Matthieu Bontemps (mbontemps)
@ -336,9 +336,11 @@ Symfony is the result of the work of many people who made the code better
- Damien Alexandre (damienalexandre) - Damien Alexandre (damienalexandre)
- Felix Labrecque - Felix Labrecque
- Yaroslav Kiliba - Yaroslav Kiliba
- Amrouche Hamza
- Terje Bråten - Terje Bråten
- Robbert Klarenbeek (robbertkl) - Robbert Klarenbeek (robbertkl)
- Thomas Calvet (fancyweb) - Thomas Calvet (fancyweb)
- Valentin Udaltsov (vudaltsov)
- Niels Keurentjes (curry684) - Niels Keurentjes (curry684)
- JhonnyL - JhonnyL
- David Badura (davidbadura) - David Badura (davidbadura)
@ -389,6 +391,7 @@ Symfony is the result of the work of many people who made the code better
- Karel Souffriau - Karel Souffriau
- Christophe L. (christophelau) - Christophe L. (christophelau)
- Anthon Pang (robocoder) - Anthon Pang (robocoder)
- Jérôme Parmentier (lctrs)
- Emanuele Gaspari (inmarelibero) - Emanuele Gaspari (inmarelibero)
- Sébastien Santoro (dereckson) - Sébastien Santoro (dereckson)
- Brian King - Brian King
@ -423,7 +426,6 @@ Symfony is the result of the work of many people who made the code better
- Dirk Pahl (dirkaholic) - Dirk Pahl (dirkaholic)
- cedric lombardot (cedriclombardot) - cedric lombardot (cedriclombardot)
- Jonas Flodén (flojon) - Jonas Flodén (flojon)
- Amrouche Hamza
- Marcin Sikoń (marphi) - Marcin Sikoń (marphi)
- Dominik Zogg (dominik.zogg) - Dominik Zogg (dominik.zogg)
- Marek Pietrzak - Marek Pietrzak
@ -434,6 +436,7 @@ Symfony is the result of the work of many people who made the code better
- Zander Baldwin - Zander Baldwin
- Adam Harvey - Adam Harvey
- Maxime Veber (nek-) - Maxime Veber (nek-)
- Sanpi
- Alex Bakhturin - Alex Bakhturin
- Alexander Obuhovich (aik099) - Alexander Obuhovich (aik099)
- boombatower - boombatower
@ -514,6 +517,7 @@ Symfony is the result of the work of many people who made the code better
- Dave Hulbert (dave1010) - Dave Hulbert (dave1010)
- Ivan Rey (ivanrey) - Ivan Rey (ivanrey)
- Marcin Chyłek (songoq) - Marcin Chyłek (songoq)
- Ben Scott
- Ned Schwartz - Ned Schwartz
- Ziumin - Ziumin
- Jeremy Benoist - Jeremy Benoist
@ -522,7 +526,6 @@ Symfony is the result of the work of many people who made the code better
- Benjamin Laugueux (yzalis) - Benjamin Laugueux (yzalis)
- Zach Badgett (zachbadgett) - Zach Badgett (zachbadgett)
- Aurélien Fredouelle - Aurélien Fredouelle
- Jérôme Parmentier (lctrs)
- Pavel Campr (pcampr) - Pavel Campr (pcampr)
- Johnny Robeson (johnny) - Johnny Robeson (johnny)
- Disquedur - Disquedur
@ -594,7 +597,6 @@ Symfony is the result of the work of many people who made the code better
- Ulumuddin Yunus (joenoez) - Ulumuddin Yunus (joenoez)
- Luc Vieillescazes (iamluc) - Luc Vieillescazes (iamluc)
- Johann Saunier (prophet777) - Johann Saunier (prophet777)
- Valentin Udaltsov (vudaltsov)
- Michael Devery (mickadoo) - Michael Devery (mickadoo)
- Antoine Corcy - Antoine Corcy
- Artur Eshenbrener - Artur Eshenbrener
@ -673,9 +675,11 @@ Symfony is the result of the work of many people who made the code better
- Andrew Hilobok (hilobok) - Andrew Hilobok (hilobok)
- Noah Heck (myesain) - Noah Heck (myesain)
- Christian Soronellas (theunic) - Christian Soronellas (theunic)
- Adam Szaraniec (mimol)
- Yosmany Garcia (yosmanyga) - Yosmany Garcia (yosmanyga)
- Wouter de Wild - Wouter de Wild
- Degory Valentine - Degory Valentine
- izzyp
- Benoit Lévêque (benoit_leveque) - Benoit Lévêque (benoit_leveque)
- Jeroen Fiege (fieg) - Jeroen Fiege (fieg)
- Krzysiek Łabuś - Krzysiek Łabuś
@ -711,7 +715,6 @@ Symfony is the result of the work of many people who made the code better
- Pierre Vanliefland (pvanliefland) - Pierre Vanliefland (pvanliefland)
- Sofiane HADDAG (sofhad) - Sofiane HADDAG (sofhad)
- frost-nzcr4 - frost-nzcr4
- Sanpi
- Abhoryo - Abhoryo
- Fabian Vogler (fabian) - Fabian Vogler (fabian)
- Korvin Szanto - Korvin Szanto
@ -744,7 +747,6 @@ Symfony is the result of the work of many people who made the code better
- Omar Yepez (oyepez003) - Omar Yepez (oyepez003)
- mwsaz - mwsaz
- Jelle Kapitein - Jelle Kapitein
- Ben Scott
- Benoît Bourgeois - Benoît Bourgeois
- mantulo - mantulo
- corphi - corphi
@ -879,6 +881,7 @@ Symfony is the result of the work of many people who made the code better
- Boris Vujicic (boris.vujicic) - Boris Vujicic (boris.vujicic)
- Max Beutel - Max Beutel
- Antanas Arvasevicius - Antanas Arvasevicius
- Maximilian Berghoff (electricmaxxx)
- nacho - nacho
- Piotr Antosik (antek88) - Piotr Antosik (antek88)
- Artem Lopata - Artem Lopata
@ -912,6 +915,7 @@ Symfony is the result of the work of many people who made the code better
- Matteo Giachino (matteosister) - Matteo Giachino (matteosister)
- Alex Demchenko (pilot) - Alex Demchenko (pilot)
- Tadas Gliaubicas (tadcka) - Tadas Gliaubicas (tadcka)
- Thanos Polymeneas (thanos)
- Benoit Garret - Benoit Garret
- Jakub Sacha - Jakub Sacha
- DerManoMann - DerManoMann
@ -1100,7 +1104,6 @@ Symfony is the result of the work of many people who made the code better
- Tomaz Ahlin - Tomaz Ahlin
- Marcus Stöhr (dafish) - Marcus Stöhr (dafish)
- Emmanuel Vella (emmanuel.vella) - Emmanuel Vella (emmanuel.vella)
- Adam Szaraniec (mimol)
- Carsten Nielsen (phreaknerd) - Carsten Nielsen (phreaknerd)
- Mathieu Rochette - Mathieu Rochette
- Jay Severson - Jay Severson
@ -1173,6 +1176,7 @@ Symfony is the result of the work of many people who made the code better
- César Suárez (csuarez) - César Suárez (csuarez)
- Nicolas Badey (nico-b) - Nicolas Badey (nico-b)
- Shane Preece (shane) - Shane Preece (shane)
- Johannes Goslar
- Geoff - Geoff
- georaldc - georaldc
- Malte Wunsch - Malte Wunsch
@ -1206,6 +1210,7 @@ Symfony is the result of the work of many people who made the code better
- catch - catch
- Alexandre Segura - Alexandre Segura
- Josef Cech - Josef Cech
- Harold Iedema
- Arnau González (arnaugm) - Arnau González (arnaugm)
- Simon Bouland (bouland) - Simon Bouland (bouland)
- Matthew Foster (mfoster) - Matthew Foster (mfoster)
@ -1238,7 +1243,6 @@ Symfony is the result of the work of many people who made the code better
- Dennis Væversted - Dennis Væversted
- nuncanada - nuncanada
- flack - flack
- izzyp
- František Bereň - František Bereň
- Mike Francis - Mike Francis
- Christoph Nissle (derstoffel) - Christoph Nissle (derstoffel)
@ -1479,6 +1483,7 @@ Symfony is the result of the work of many people who made the code better
- Ismail Asci (ismailasci) - Ismail Asci (ismailasci)
- Simon CONSTANS (kosssi) - Simon CONSTANS (kosssi)
- Kristof Van Cauwenbergh (kristofvc) - Kristof Van Cauwenbergh (kristofvc)
- Paulius Jarmalavičius (pjarmalavicius)
- Ramon Henrique Ornelas (ramonornela) - Ramon Henrique Ornelas (ramonornela)
- Markus S. (staabm) - Markus S. (staabm)
- Till Klampaeckel (till) - Till Klampaeckel (till)
@ -1571,11 +1576,13 @@ Symfony is the result of the work of many people who made the code better
- Matt Janssen - Matt Janssen
- Peter Gribanov - Peter Gribanov
- Ben Johnson - Ben Johnson
- Florent Mata
- kwiateusz - kwiateusz
- David Soria Parra - David Soria Parra
- Sergiy Sokolenko - Sergiy Sokolenko
- dinitrol - dinitrol
- Penny Leach - Penny Leach
- Yurii K
- Richard Trebichavský - Richard Trebichavský
- g123456789l - g123456789l
- Jonathan Vollebregt - Jonathan Vollebregt
@ -1653,6 +1660,7 @@ Symfony is the result of the work of many people who made the code better
- samuel laulhau (lalop) - samuel laulhau (lalop)
- Laurent Bachelier (laurentb) - Laurent Bachelier (laurentb)
- Florent Viel (luxifer) - Florent Viel (luxifer)
- Matthieu Mota (matthieumota)
- Matthieu Moquet (mattketmo) - Matthieu Moquet (mattketmo)
- Moritz Borgmann (mborgmann) - Moritz Borgmann (mborgmann)
- Michal Čihař (mcihar) - Michal Čihař (mcihar)

View File

@ -52,7 +52,8 @@ class OutputFormatter implements OutputFormatterInterface
if ('\\' === substr($text, -1)) { if ('\\' === substr($text, -1)) {
$len = strlen($text); $len = strlen($text);
$text = rtrim($text, '\\'); $text = rtrim($text, '\\');
$text .= str_repeat('<<', $len - strlen($text)); $text = str_replace("\0", '', $text);
$text .= str_repeat("\0", $len - strlen($text));
} }
return $text; return $text;
@ -167,8 +168,8 @@ class OutputFormatter implements OutputFormatterInterface
$output .= $this->applyCurrentStyle(substr($message, $offset)); $output .= $this->applyCurrentStyle(substr($message, $offset));
if (false !== strpos($output, '<<')) { if (false !== strpos($output, "\0")) {
return strtr($output, array('\\<' => '<', '<<' => '\\')); return strtr($output, array("\0" => '\\', '\\<' => '<'));
} }
return str_replace('\\<', '<', $output); return str_replace('\\<', '<', $output);

View File

@ -28,6 +28,9 @@ class OutputFormatterTest extends TestCase
$formatter = new OutputFormatter(true); $formatter = new OutputFormatter(true);
$this->assertEquals('foo<bar', $formatter->format('foo\\<bar')); $this->assertEquals('foo<bar', $formatter->format('foo\\<bar'));
$this->assertEquals('foo << bar', $formatter->format('foo << bar'));
$this->assertEquals('foo << bar \\', $formatter->format('foo << bar \\'));
$this->assertEquals("foo << \033[32mbar \\ baz\033[39m \\", $formatter->format('foo << <info>bar \\ baz</info> \\'));
$this->assertEquals('<info>some info</info>', $formatter->format('\\<info>some info\\</info>')); $this->assertEquals('<info>some info</info>', $formatter->format('\\<info>some info\\</info>'));
$this->assertEquals('\\<info>some info\\</info>', OutputFormatter::escape('<info>some info</info>')); $this->assertEquals('\\<info>some info\\</info>', OutputFormatter::escape('<info>some info</info>'));