8000 Merge branch 'master' into STRINGREADER · symfony/symfony@0b15d14 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0b15d14

Browse files
committed
Merge branch 'master' into STRINGREADER
2 parents 51b87f7 + f2768dc commit 0b15d14

File tree

560 files changed

+11299
-3723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

560 files changed

+11299
-3723
lines changed

.github/build-packages.php

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?php
2+
3+
if (3 > $_SERVER['argc']) {
4+
echo "Usage: branch dir1 dir2 ... dirN\n";
5+
exit(1);
6+
}
7+
chdir(dirname(__DIR__));
8+
9+
$dirs = $_SERVER['argv'];
10+
array_shift($dirs);
11+
$mergeBase = trim(shell_exec(sprintf('git merge-base %s HEAD', array_shift($dirs))));
12+
13+
$packages = array();
14+
$flags = PHP_VERSION_ID >= 50400 ? JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE : 0;
15+
16+
foreach ($dirs as $k => $dir) {
17+
if (!system("git diff --name-only $mergeBase -- $dir", $exitStatus)) {
18+
if ($exitStatus) {
19+
exit($exitStatus);
20+
}
21+
unset($dirs[$k]);
22+
continue;
23+
}
24+
echo "$dir\n";
25+
26+
$json = ltrim(file_get_contents($dir.'/composer.json'));
27+
if (null === $package = json_decode($json)) {
28+
passthru("composer validate $dir/composer.json");
29+
exit(1);
30+
}
31+
32+
$package->repositories = array(array(
33+
'type' => 'composer',
34+
'url' => 'file://'.str_replace(DIRECTORY_SEPARATOR, '/', dirname(__DIR__)).'/',
35+
));
36+
if (false === strpos($json, "\n \"repositories\": [\n")) {
37+
$json = rtrim(json_encode(array('repositories' => $package->repositories), $flags), "\n}").','.substr($json, 1);
38+
file_put_contents($dir.'/composer.json', $json);
39+
}
40+
passthru("cd $dir && tar -cf package.tar --exclude='package.tar' *");
41+
42+
if (!isset($package->extra->{'branch-alias'}->{'dev-master'})) {
43+
echo "Missing \"dev-master\" branch-alias in composer.json extra.\n";
44+
exit(1);
45+
}
46+
$package->version = str_replace('-dev', '.999', $package->extra->{'branch-alias'}->{'dev-master'});
47+
$package->dist['type'] = 'tar';
48+
$package->dist['url'] = 'file://'.str_replace(DIRECTORY_SEPARATOR, '/', dirname(__DIR__))."/$dir/package.tar";
49+
50+
$packages[$package->name][$package->version] = $package;
51+
52+
$versions = file_get_contents('https://packagist.org/packages/'.$package->name.'.json');
53+
$versions = json_decode($versions);
54+
55+
foreach ($versions->package->versions as $v => $package) {
56+
$packages[$package->name] += array($v => $package);
57+
}
58+
}
59+
60+
file_put_contents('packages.json', json_encode(compact('packages'), $flags));
61+
62+
if ($dirs) {
63+
$json = ltrim(file_get_contents('composer.json'));
64+
if (null === $package = json_decode($json)) {
65+
passthru("composer validate $dir/composer.json");
66+
exit(1);
67+
}
68+
69+
$package->repositories = array(array(
70+
'type' => 'composer',
71+
'url' => 'file://'.str_replace(DIRECTORY_SEPARATOR, '/', dirname(__DIR__)).'/',
72+
));
73+
if (false === strpos($json, "\n \"repositories\": [\n")) {
74+
$json = rtrim(json_encode(array('repositories' => $package->repositories), $flags), "\n}").','.substr($json, 1);
75+
file_put_contents('composer.json', $json);
76+
}
77+
}

.github/travis.php

Lines changed: 0 additions & 54 deletions
This file was deleted.

.php_cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ return Symfony\CS\Config\Config::create()
66
->fixers(array(
77
'long_array_syntax',
88
'php_unit_construct',
9+
'php_unit_dedicate_assert',
910
))
1011
->finder(
1112
Symfony\CS\Finder\DefaultFinder::create()

.travis.yml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ env:
2020
matrix:
2121
include:
2222
# Use the newer stack for HHVM as HHVM does not support Precise anymore since a long time and so Precise has an outdated version
23-
- php: hhvm-3.12
23+
- php: hhvm-stable
2424
sudo: required
2525
dist: trusty
2626
group: edge
2727
- php: 5.5
2828
- php: 5.6
2929
- php: 7.0
3030
env: deps=high
31-
- php: 7.0
31+
- php: 7.1
3232
env: deps=low
3333
fast_finish: true
3434

@@ -57,31 +57,36 @@ before_install:
5757
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = mongo.so >> $INI_FILE; fi
5858
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = memcache.so >> $INI_FILE; fi
5959
- if [[ ! $skip && $PHP = 5.* ]]; then (echo yes | pecl install -f apcu-4.0.11 && echo apc.enable_cli = 1 >> $INI_FILE); fi
60-
- if [[ ! $skip && $PHP = 7.0 ]]; then (echo yes | pecl install -f apcu-5.1.5 && echo apc.enable_cli = 1 >> $INI_FILE); fi
60+
- if [[ ! $skip && $PHP = 7.* ]]; then (echo yes | pecl install -f apcu-5.1.6 && echo apc.enable_cli = 1 >> $INI_FILE); fi
6161
- if [[ ! $deps && $PHP = 5.* ]]; then (cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && echo extension = $(pwd)/modules/symfony_debug.so >> $INI_FILE); fi
6262
- if [[ ! $skip && $PHP = 5.* ]]; then pecl install -f memcached-2.1.0; fi
6363
- if [[ ! $skip && ! $PHP = hhvm* ]]; then echo extension = ldap.so >> $INI_FILE; fi
6464
- if [[ ! $skip && ! $PHP = hhvm* ]]; then echo extension = redis.so >> $INI_FILE; fi;
6565
- if [[ ! $skip && ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
6666
- if [[ ! $skip ]]; then [ -d ~/.composer ] || mkdir ~/.composer; cp .composer/* ~/.composer/; fi
67-
- if [[ ! $skip ]]; then ./phpunit install; fi
6867
- if [[ ! $skip ]]; then export PHPUNIT=$(readlink -f ./phpunit); fi
6968
- if [[ ! $skip ]]; then ldapadd -h localhost:3389 -D cn=admin,dc=symfony,dc=com -w symfony -f src/Symfony/Component/Ldap/Tests/Fixtures/data/base.ldif; fi
7069
- if [[ ! $skip ]]; then ldapadd -h localhost:3389 -D cn=admin,dc=symfony,dc=com -w symfony -f src/Symfony/Component/Ldap/Tests/Fixtures/data/fixtures.ldif; fi
7170

7271
install:
72+
- if [[ ! $skip && $deps ]]; then cp composer.json composer.json.orig; fi
73+
- if [[ ! $skip && $deps ]]; then echo -e '{\n"require":{'"$(grep phpunit-bridge composer.json)"'"php":"*"},"minimum-stability":"dev"}' > composer.json; fi
7374
- if [[ ! $skip ]]; then COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n'); fi
7475
# Create local composer packages for each patched components and reference them in composer.json files when cross-testing components
75-
- if [[ ! $skip && $deps ]]; then git fetch origin $TRAVIS_BRANCH && php .github/travis.php FETCH_HEAD $TRAVIS_BRANCH $COMPONENTS; fi
76+
- if [[ ! $skip && $deps ]]; then php .github/build-packages.php HEAD^ $COMPONENTS; fi
< 10000 /code>
77+
- if [[ ! $skip && $deps ]]; then mv composer.json composer.json.phpunit; mv composer.json.orig composer.json; fi
78+
- if [[ ! $skip && ! $deps ]]; then php .github/build-packages.php HEAD^ src/Symfony/Bridge/PhpUnit; fi
7679
# For the master branch when deps=high, the version before master is checked out and tested with the locally patched components
7780
- if [[ $deps = high && $TRAVIS_BRANCH = master ]]; then SYMFONY_VERSION=$(git ls-remote --heads | grep -o '/[1-9].*' | tail -n 1 | sed s/.//); else SYMFONY_VERSION=$(cat composer.json | grep '^ *"dev-master". *"[1-9]' | grep -o '[0-9.]*'); fi
78-
- if [[ $deps = high && $TRAVIS_BRANCH = master ]]; then git fetch origin $SYMFONY_VERSION; git checkout -m FETCH_HEAD; COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n'); ./phpunit install; fi
81+
- if [[ $deps = high && $TRAVIS_BRANCH = master ]]; then git fetch origin $SYMFONY_VERSION; git checkout -m FETCH_HEAD; COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n'); fi
7982
# Legacy tests are skipped when deps=high and when the current branch version has not the same major version number than the next one
8083
- if [[ $deps = high && ${SYMFONY_VERSION%.*} != $(git show $(git ls-remote --heads | grep -FA1 /$SYMFONY_VERSION | tail -n 1):composer.json | grep '^ *"dev-master". *"[1-9]' | grep -o '[0-9]*' | head -n 1) ]]; then LEGACY=,legacy; fi
8184
- export COMPOSER_ROOT_VERSION=$SYMFONY_VERSION.x-dev
82-
- if [[ ! $deps ]]; then composer update; else export SYMFONY_DEPRECATIONS_HELPER=weak; fi
83-
- if [[ $TRAVIS_BRANCH = master ]]; then export SYMFONY_PHPUNIT_OVERLOAD=1; fi
84-
- if [[ ! $PHP = hhvm* ]]; then php -i; else hhvm --php -r 'print_r($_SERVER);print_r(ini_get_all());'; fi
85+
- if [[ ! $skip && $deps ]]; then export SYMFONY_DEPRECATIONS_HELPER=weak; fi
86+
- if [[ ! $skip && $deps ]]; then mv composer.json.phpunit composer.json; fi
87+
- if [[ ! $skip ]]; then composer update; fi
88+
- if [[ ! $skip ]]; then COMPOSER_ROOT_VERSION= ./phpunit install; fi
89+
- if [[ ! $skip && ! $PHP = hhvm* ]]; then php -i; else hhvm --php -r 'print_r($_SERVER);print_r(ini_get_all());'; fi
8590

8691
script:
8792
- if [[ $skip ]]; then echo -e "\\n\\e[1;34mIntermediate PHP version $PHP is skipped for pull requests.\\e[0m"; fi

CHANGELOG-3.1.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,88 @@ in 3.1 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v3.1.0...v3.1.1
99

10+
* 3.1.5 (2016-10-03)
11+
12+
* bug #20102 [Validator] Url validator not validating hosts ending in a number (gwkunze)
13+
* bug #20132 Use "more entropy" option for uniqid() (javiereguiluz)
14+
* bug #20122 [Validator] Reset constraint options (ro0NL)
15+
* bug #20116 fixed AddConstraintValidatorsPass config (fabpot)
16+
* bug #20078 Fix #19943 Make sure to process each interface metadata only once (lemoinem)
17+
* bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)
18+
* bug #20087 [VarDumper] Fix PHP 7.1 compat (nicolas-grekas)
19+
* bug #20086 [VarDumper] Fix PHP 7.1 compat (nicolas-grekas)
20+
* bug #20077 [Process] silent file operation to avoid open basedir issues (xabbuh)
21+
* bug #20079 fixed Twig support for 1.26 and 2.0 (fabpot)
22+
* bug #20051 Fix indexBy type extraction (lemoinem)
23+
* bug #19951 [Finder] Trim trailing directory slash in ExcludeDirectoryFilterIterator (ro0NL)
24+
* bug #19980 [Ldap] Fixed issue with legacy find() method not working as expected (csarrazi)
25+
* bug #20026 [Cache] Fixed password used to make the redis connection. (ErikSaunier)
26+
* bug #20018 [VarDumper] Fix test (nicolas-grekas)
27+
* bug #20011 Use UUID for error codes for Form validator. (Koc)
28+
* bug #20010 [DX] Fixed regression when exception message swallowed when logging it. (Koc)
29+
* bug #19983 [TwigBridge] removed Twig null nodes (deprecated as of Twig 1.25) (fabpot)
30+
* bug #19946 [Console] Fix parsing optionnal options with empty value in argv (chalasr)
31+
* bug #19636 [Finder] no PHP warning on empty directory iteration (ggottwald)
32+
* bug #19784 [HttpKernel] Fixed the nullable support for php 7.1 and below (iltar)
33+
* bug #19923 [bugfix] [Console] Set `Input::$interactive` to `false` when command is executed with `--quiet` as verbosity level (phansys)
34+
* bug #19811 Fixed the nullable support for php 7.1 and below (2.7, 2.8, 3.0) (iltar)
35+
* bug #19853 [PropertyInfo] Make ReflectionExtractor compatible with ReflectionType changes in PHP 7.1 (teohhanhui)
36+
* bug #19904 [Form] Fixed collapsed ChoiceType options attributes (HeahDude)
37+
* bug #19872 [Filesystem] Consider the umask setting when dumping a file (leofeyer)
38+
* bug #19908 [Config] Handle open_basedir restrictions in FileLocator (Nicofuma)
39+
* bug #19893 [FrameworkBundle] Remove cache clearer default value in config (nicolas-grekas)
40+
* bug #19924 [DoctrineBridge][PropertyInfo] Treat Doctrine decimal type as string (teohhanhui)
41+
* bug #19932 Fixed bad merge (GrahamCampbell)
42+
* bug #19922 [Yaml][TwigBridge] Use JSON_UNESCAPED_SLASHES for lint commands output (chalasr)
43+
* bug #19928 [Validator] Update IpValidatorTest data set with a valid reserved IP (jakzal)
44+
* bug #19813 [Console] fixed PHP7 Errors are now handled and converted to Exceptions (fonsecas72)
45+
* bug #19879 [Form] Incorrect timezone with DateTimeLocalizedStringTransformer (mbeccati)
46+
* bug #19878 Fix translation:update command count (tgalopin)
47+
* bug #19859 [ClassLoader] Fix ClassCollectionLoader inlining with declare(strict_types=1) (nicolas-grekas)
48+
* bug #19780 [FrameworkBundle] Incorrect line break in exception message (500 debug page) (pedroresende)
49+
* bug #19595 [form] lazy trans `post_max_size_message`. (aitboudad)
50+
* bug #19870 [DI] Fix setting synthetic services on ContainerBuilder (nicolas-grekas)
51+
* bug #19848 Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)" (nicolas-grekas)
52+
* bug #19842 [FrameworkBundle] Check for class existence before is_subclass_of (chalasr)
53+
* bug #19827 [BrowserKit] Fix cookie expiration on 32 bit systems (jameshalsall)
54+
55+
* 3.1.4 (2016-09-03)
56+
57+
* bug #19812 [WebProfilerBundle] Fix margin on toolbar route panel when no route is found in the request (jameshalsall)
58+
* bug #19786 Update profiler's layout to use flexbox (javiereguiluz)
59+
* bug #19794 [VarDumper] Various minor fixes & cleanups (nicolas-grekas)
60+
* bug #19751 Fixes the calendar in constructor to handle null (wakqasahmed)
61+
* bug #19743 [symfony/symfony] add "provides" for psr/cache-implementation (alcohol)
62+
* bug #19388 [Validator][GroupSequence] fixed GroupSequence validation ignores PropetyMetadata of parent classes (Sandro Hopf)
63+
* bug #19729 Add symfony/inflector to composer.json "replaces" (teohhanhui)
64+
* bug #19601 [FrameworkBundle] Added friendly exception when constraint validator class does not exist (yceruto)
65+
* bug #19580 [Validator] fixed duplicate constraints with parent class interfaces (dmaicher)
66+
* bug #19647 [Debug] Swap dumper services at bootstrap (lyrixx)
67+
* bug #19685 [DI] Include dynamic services in alternatives (ro0NL)
68+
* bug #19702 [Debug][HttpKernel][VarDumper] Prepare for committed 7.2 changes (aka "small-bc-breaks") (nicolas-grekas)
69+
* bug #19704 [DependencyInjection] PhpDumper::isFrozen inconsistency (allflame)
70+
* bug #19643 [DependencyInjection] Fix service autowiring inheritance (chalasr)
71+
* bug #19649 [Serializer] Fix denormalization of arrays (dunglas)
72+
* bug #19667 [SecurityBundle] Add missing deprecation notice for form_login.intention (ro0NL)
73+
* bug #19666 Verify explicitly that the request IP is a valid IPv4 address (nesk)
74+
* bug #19660 Disable CLI color for Windows 10 greater than 10.0.10586 (mlocati)
75+
* bug #19663 Exception details break the layout (Dionysis Arvanitis)
76+
* bug #19651 [HttpKernel] Fix HttpCache validation HTTP method (tgalopin)
77+
* bug #19650 [FrameworkBundle] Fix default lifetime of cache pools (nicolas-grekas)
78+
* bug #19623 [VarDumper] Fix dumping continuations (nicolas-grekas)
79+
* bug #19437 [PropertyInfo] Fix an error in PropertyInfoCacheExtractor (Ener-Getick)
80+
* bug #19549 [HttpFoundation] fixed Request::getContent() reusage bug (1ma)
81+
* bug #19373 [Form] Skip CSRF validation on form when POST max size is exceeded (jameshalsall)
82+
* bug #19541 Fix #19531 [Form] DateType fails parsing when midnight is not a valid time (mbeccati)
83+
* bug #19567 [Cache] Handle unserialize() failures gracefully (nicolas-grekas)
84+
* bug #19579 [Process] Strengthen Windows pipe files opening (again...) (nicolas-grekas)
85+
* bug #19564 Added class existence check if is_subclass_of() fails in compiler passes (SCIF)
86+
* bug #19551 [Cache] Use SCAN instead of KEYS with Redis >= 2.8 (nicolas-grekas)
87+
* bug #19522 [SwiftMailerBridge] Fix flawed deprecation message (chalasr)
88+
* bug #19510 [Process] Fix double-fread() when reading unix pipes (nicolas-grekas)
89+
* bug #19508 [Process] Fix AbstractPipes::write() for a situation seen on HHVM (at least) (nicolas-grekas)
90+
* bug #19470 undefined offset fix (#19406) (ReenExe)
91+
1092
* 3.1.3 (2016-07-30)
1193

1294
* bug #19300 [HttpKernel] Use flock() for HttpCache's lock files (mpdude)

0 commit comments

Comments
 (0)
0