Merge branch '3.3' into 3.4
* 3.3: fixed CS [2.8] Modify 2.8 upgrade doc - key option is deprecated. [DebugBundle] Reword an outdated comment about var dumper wiring [DI] Fix some docblocks [DI] Fix some docblocks Fixed the exception page design in responsive mode [Console] Log exit codes as debug messages instead of errors Fixed UPGRADE-4.0 about Container::set Ignore memcached missing key error on dession destroy bumped Symfony version to 3.2.14 updated VERSION for 3.2.13 updated CHANGELOG for 3.2.13
This commit is contained in:
commit
a1faaa1221
@ -7,6 +7,22 @@ in 3.2 minor versions.
|
||||
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
|
||||
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.2.0...v3.2.1
|
||||
|
||||
* 3.2.13 (2017-08-01)
|
||||
|
||||
* bug #22244 [Console] Fix passing options with defaultCommand (Jakub Sacha)
|
||||
* bug #23684 [Debug] Missing escape in debug output (c960657)
|
||||
* bug #23654 [DI] Fix using private services in expressions (nicolas-grekas)
|
||||
* bug #23662 [VarDumper] Adapt to php 7.2 changes (nicolas-grekas)
|
||||
* bug #23649 [Form][TwigBridge] Don't render _method in form_rest() for a child form (fmarchalemisys)
|
||||
* bug #23023 [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables (vudaltsov)
|
||||
* bug #23619 [Validator] Fix IbanValidator for ukrainian IBANs (paroe)
|
||||
* bug #23586 Fix case sensitive sameSite cookie (mikefrancis)
|
||||
* bug #23238 [Security] ensure the 'route' index is set before attempting to use it (gsdevme)
|
||||
* bug #23330 [WebProfilerBundle] Fix full sized dump hovering in toolbar (ogizanagi)
|
||||
* bug #23580 Fix login redirect when referer contains a query string (fabpot)
|
||||
* bug #23558 [FrameworkBundle] fix ValidatorCacheWarmer: use serializing ArrayAdapter (dmaicher)
|
||||
* bug #23574 [VarDumper] Move locale sniffing to dump() time (nicolas-grekas)
|
||||
|
||||
* 3.2.12 (2017-07-17)
|
||||
|
||||
* bug #23549 [PropertyInfo] conflict for phpdocumentor/reflection-docblock 3.2 (xabbuh)
|
||||
|
@ -164,8 +164,8 @@ DependencyInjection
|
||||
|
||||
* Using unsupported options to configure service aliases raises an exception.
|
||||
|
||||
* Setting or unsetting a private service with the `Container::set()` method is
|
||||
no longer supported. Only public services can be set or unset.
|
||||
* Setting or unsetting a service with the `Container::set()` method is
|
||||
no longer supported. Only synthetic services can be set or unset.
|
||||
|
||||
* Checking the existence of a private service with the `Container::has()`
|
||||
method is no longer supported and will return `false`.
|
||||
|
@ -27,8 +27,10 @@ class DebugBundle extends Bundle
|
||||
$container = $this->container;
|
||||
|
||||
// This code is here to lazy load the dump stack. This default
|
||||
// configuration for CLI mode is overridden in HTTP mode on
|
||||
// 'kernel.request' event
|
||||
// configuration is overridden in CLI mode on 'console.command' event.
|
||||
// The dump data collector is used by default, so dump output is sent to
|
||||
// the WDT. In a CLI context, if dump is used too soon, the data collector
|
||||
// will buffer it, and release it at the end of the script.
|
||||
VarDumper::setHandler(function ($var) use ($container) {
|
||||
$dumper = $container->get('data_collector.dump');
|
||||
$cloner = $container->get('var_dumper.cloner');
|
||||
|
@ -80,7 +80,7 @@ header .container { display: flex; justify-content: space-between; }
|
||||
.exception-hierarchy .icon svg { height: 13px; width: 13px; vertical-align: -2px; }
|
||||
|
||||
.exception-without-message .exception-message-wrapper { display: none; }
|
||||
.exception-message-wrapper .container { display: flex; align-items: flex-start; min-height: 70px; padding: 10px 0 8px; }
|
||||
.exception-message-wrapper .container { display: flex; align-items: flex-start; min-height: 70px; padding: 10px 15px 8px; }
|
||||
.exception-message { flex-grow: 1; }
|
||||
.exception-message, .exception-message a { color: #FFF; font-size: 21px; font-weight: 400; margin: 0; }
|
||||
.exception-message.long { font-size: 18px; }
|
||||
@ -107,11 +107,11 @@ header .container { display: flex; justify-content: space-between; }
|
||||
.trace-line .icon svg { height: 16px; width: 16px; }
|
||||
.trace-line-header { padding-left: 36px; }
|
||||
|
||||
.trace-file-path, .trace-file-path a { color: #999; color: #795da3; color: #B0413E; color: #222; font-size: 13px; }
|
||||
.trace-file-path, .trace-file-path a { color: #222; font-size: 13px; }
|
||||
.trace-class { color: #B0413E; }
|
||||
.trace-type { padding: 0 2px; }
|
||||
.trace-method { color: #B0413E; color: #222; font-weight: bold; color: #B0413E; }
|
||||
.trace-arguments { color: #222; color: #999; font-weight: normal; color: #795da3; color: #777; padding-left: 2px; }
|
||||
.trace-method { color: #B0413E; font-weight: bold; }
|
||||
.trace-arguments { color: #777; font-weight: normal; padding-left: 2px; }
|
||||
|
||||
.trace-code { background: #FFF; font-size: 12px; margin: 10px 10px 2px 10px; padding: 10px; overflow-x: auto; white-space: nowrap; }
|
||||
.trace-code ol { margin: 0; float: left; }
|
||||
|
@ -59,10 +59,10 @@ class ErrorListener implements EventSubscriberInterface
|
||||
}
|
||||
|
||||
if (!$inputString = $this->getInputString($event)) {
|
||||
return $this->logger->error('The console exited with code "{code}"', array('code' => $exitCode));
|
||||
return $this->logger->debug('The console exited with code "{code}"', array('code' => $exitCode));
|
||||
}
|
||||
|
||||
$this->logger->error('Command "{command}" exited with code "{code}"', array('command' => $inputString, 'code' => $exitCode));
|
||||
$this->logger->debug('Command "{command}" exited with code "{code}"', array('command' => $inputString, 'code' => $exitCode));
|
||||
}
|
||||
|
||||
public static function getSubscribedEvents()
|
||||
|
@ -61,7 +61,7 @@ class ErrorListenerTest extends TestCase
|
||||
$logger = $this->getLogger();
|
||||
$logger
|
||||
->expects($this->once())
|
||||
->method('error')
|
||||
->method('debug')
|
||||
->with('Command "{command}" exited with code "{code}"', array('command' => 'test:run', 'code' => 255))
|
||||
;
|
||||
|
||||
@ -74,7 +74,7 @@ class ErrorListenerTest extends TestCase
|
||||
$logger = $this->getLogger();
|
||||
$logger
|
||||
->expects($this->never())
|
||||
->method('error')
|
||||
->method('debug')
|
||||
;
|
||||
|
||||
$listener = new ErrorListener($logger);
|
||||
@ -97,7 +97,7 @@ class ErrorListenerTest extends TestCase
|
||||
$logger = $this->getLogger();
|
||||
$logger
|
||||
->expects($this->exactly(3))
|
||||
->method('error')
|
||||
->method('debug')
|
||||
->with('Command "{command}" exited with code "{code}"', array('command' => 'test:run --foo=bar', 'code' => 255))
|
||||
;
|
||||
|
||||
@ -112,7 +112,7 @@ class ErrorListenerTest extends TestCase
|
||||
$logger = $this->getLogger();
|
||||
$logger
|
||||
->expects($this->once())
|
||||
->method('error')
|
||||
->method('debug')
|
||||
->with('Command "{command}" exited with code "{code}"', array('command' => 'test:run', 'code' => 255))
|
||||
;
|
||||
|
||||
|
@ -320,11 +320,11 @@ EOF;
|
||||
|
||||
.trace-message { font-size: 14px; font-weight: normal; margin: .5em 0 0; }
|
||||
|
||||
.trace-file-path, .trace-file-path a { margin-top: 3px; color: #999; color: #795da3; color: #B0413E; color: #222; font-size: 13px; }
|
||||
.trace-file-path, .trace-file-path a { color: #222; margin-top: 3px; font-size: 13px; }
|
||||
.trace-class { color: #B0413E; }
|
||||
.trace-type { padding: 0 2px; }
|
||||
.trace-method { color: #B0413E; color: #222; font-weight: bold; color: #B0413E; }
|
||||
.trace-arguments { color: #222; color: #999; font-weight: normal; color: #795da3; color: #777; padding-left: 2px; }
|
||||
.trace-method { color: #B0413E; font-weight: bold; }
|
||||
.trace-arguments { color: #777; font-weight: normal; padding-left: 2px; }
|
||||
|
||||
@media (min-width: 575px) {
|
||||
.hidden-xs-down { display: initial; }
|
||||
|
@ -33,7 +33,7 @@ class ChildDefinition extends Definition
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Definition being decorated.
|
||||
* Returns the Definition to inherit from.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
@ -43,7 +43,7 @@ class ChildDefinition extends Definition
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Definition being decorated.
|
||||
* Sets the Definition to inherit from.
|
||||
*
|
||||
* @param string $parent
|
||||
*
|
||||
|
@ -869,7 +869,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
|
||||
* with a fluid interface.
|
||||
*
|
||||
* @param string $id The service identifier
|
||||
* @param string $class The service class
|
||||
* @param string $class|null The service class
|
||||
*
|
||||
* @return Definition A Definition instance
|
||||
*/
|
||||
|
@ -190,6 +190,13 @@ class Definition
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the properties to define when creating the service.
|
||||
*
|
||||
* @param array $properties
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setProperties(array $properties)
|
||||
{
|
||||
$this->properties = $properties;
|
||||
@ -197,11 +204,24 @@ class Definition
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the properties to define when creating the service.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getProperties()
|
||||
{
|
||||
return $this->properties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a specific property.
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setProperty($name, $value)
|
||||
{
|
||||
$this->properties[$name] = $value;
|
||||
@ -224,7 +244,7 @@ class Definition
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a specific argument.
|
||||
* Replaces a specific argument.
|
||||
*
|
||||
* @param int|string $index
|
||||
* @param mixed $argument
|
||||
@ -252,6 +272,14 @@ class Definition
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a specific argument.
|
||||
*
|
||||
* @param int|string $key
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setArgument($key, $value)
|
||||
{
|
||||
$this->arguments[$key] = $value;
|
||||
@ -780,7 +808,7 @@ class Definition
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets autowired.
|
||||
* Enables/disables autowiring.
|
||||
*
|
||||
* @param bool $autowired
|
||||
*
|
||||
|
@ -95,7 +95,9 @@ class MemcacheSessionHandler implements \SessionHandlerInterface
|
||||
*/
|
||||
public function destroy($sessionId)
|
||||
{
|
||||
return $this->memcache->delete($this->prefix.$sessionId);
|
||||
$this->memcache->delete($this->prefix.$sessionId);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -101,7 +101,9 @@ class MemcachedSessionHandler implements \SessionHandlerInterface
|
||||
*/
|
||||
public function destroy($sessionId)
|
||||
{
|
||||
return $this->memcached->delete($this->prefix.$sessionId);
|
||||
$result = $this->memcached->delete($this->prefix.$sessionId);
|
||||
|
||||
return $result || $this->memcached->getResultCode() == \Memcached::RES_NOTFOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user