Problem/Motivation
Drupal 8 minor versions should wherever possible track the latest major/minor version of external libraries. For example Drupal 8.0.0 is currently slated to release with Symfony 2.7.* components.
This ensures the following:
- Upstream support cycles are usually shorter than major Drupal releases, so we're able to stay on a supported version longer by tracking the latest
- Drupal core is able to incorporate security, bug and performance fixes from upstream quickly into stable core releases
- Contributing fixes upstream is easier because we're using a recent version
- By tracking major/minor versions every minor core release, we avoid falling so far upstream that updates become impossible
We have #2203431: [meta] Various asset (JavaScript) libraries have to be updated to a (minified) stable release prior to 8.0.0 open for JavaScript, this issue is for PHP libraries.
Proposed resolution
For each library, we should aim to be on the latest minor release when 8.0.0 is released.
When libraries are following semantic versioning, the following should explain the priority of upgrades:
| Version upgrade | Priority |
| Major (1.* to 2.*) | Critical |
| Minor (1.1.* to 1.2.*) | Critical |
| Patch (1.1.2 to 1.1.3) | Normal (unless it contains a major/critical fix that affects core) |
When libraries don't follow semantic versioning, the priority will need to be handled case by case.
For each library update, open a separate child issue of this one, with the appropriate priority.
Remaining tasks
Quick look at Composer.json for things that don't already have an issue open.
- #2488960: Upgrade egulias/EmailValidator to 1.2.9
- #2493907: Update doctrine/collections to the latest stable release
- #2493909: Update doctrine/cache to the latest stable release
- #2493911: Update guzzle, goutte and mink-goutte-driver to the latest release
- #2493913: Update mikey179/vfsstream to the latest stable release
- Update overview table / Instructions how to keep the overview table updated
Libraries
| Library name | Matching on | Latest release | Update available | Date checked |
|---|---|---|---|---|
| behat/mink | ~1.6 | 1.7.0 | 10-Nov-2015 | |
| behat/mink-goutte-driver | ~1.2 | 1.2.0 | 10-Nov-2015 | |
| doctrine/annotations | 1.2.* | 1.2.7 | 10-Nov-2015 | |
| doctrine/common | 2.5.* | 2.5.1 | 10-Nov-2015 | |
| easyrdf/easyrdf | 0.9.* | 0.9.1 | 10-Nov2015 | |
| egulias/email-validator | 1.2.* | 1.2.10 | 10-Nov-2015 | |
| fabpot/goutte | ~3.1 | 3.1.2 | 10-Nov-2015 | |
| guzzlehttp/guzzle | ~6.1.0 | 6.1.0 | 10-Nov-2015 | |
| masterminds/html5 | ~2.1 | 2.1.2 | 10-Nov-2015 | |
| mikey179/vfsStream | ~1.2 | 1.6.0 | 10-Nov-2015 | |
| phpunit/phpunit | ~4.8 | 5.0.8 | Yes #2578813: Figure out PHPUnit version support | 10-Nov-2015 |
| stack/builder | 1.0.* | 1.0.3 | 10-Nov-2015 | |
| symfony/* | 2.7.* | 2.7.6 | 10-Nov-2015 | |
| symfony/psr-http-message-bridge | v0.2 | v0.2 | 10-Nov-2015 | |
| symfony-cmf/routing | 1.3.* | 1.3.0 | 10-Nov-2015 | |
| twig/twig | ^1.22.2 | 1.23.1 | 10-Nov2015 | |
| zendframework/zend-diactoros | ~1.1 | 1.1.4 | 10-Nov-2015 | |
| zendframework/zend-feed | ~2.4 | 2.5.2 | Dependency: #2578819: Upgrade zendframework/zend-stdlib | 10-Nov-2015 |
User interface changes
None
API changes
None
Original report by @catch
| Comment | File | Size | Author |
|---|---|---|---|
| #174 | meta_ensure_vendor-2400407-174.patch | 63.97 KB | timmillwood |
Comments
Comment #1
catchComment #2
catchComment #3
catchComment #4
kim.pepperComment #5
kim.pepperComment #6
kim.pepperComment #7
catchComment #8
catchComment #9
webchickNote to the folks filing sub-issues:
I talked this issue over with the other branch maintainers the other day. Normally, we would indeed make any issues that are hard blockers to solving critical issues critical as well. However, in the case of meta issues like this where every child issue is essentially a copy/paste of the other ones, it's actually polluting the list of criticals quite a bit, which has a number of down sides: it makes it hard to tell how we're progressing against release; the volume "drowns out" other issues that are actually critical blockers; it also makes it impossible to determine whether an issue involves just routine library updates or if upgrading a library actually is critical (for example, if it solves a security issue).
So please go ahead and just file these children as "normal" unless there's something about the library upgrade that would meet the standard issue priority definitions. Rest assured, we're all constantly looking at the RTBC queue for these library update issues because a) we know they help resolve this critical issue and b) they are normally pretty easy to sign-off on and commit. (If for some reason one of them sits at RTBC for longer than a couple of days feel free to ping one of us about it in #drupal-contribute.)
Comment #10
webchickThis is now captured as part of #2485119: [meta] The Drupal 8.0.0-rc1 Release Checklist. Downgrading.
Comment #11
mustanggb commentedAdded a table of all libraries currently being used by core/composer.json
Comment #12
imiksu@MustangGB how did you generated that table? I'm not sure how to update that table while
composer.jsonhas different list than in that table?I was able to identify four updates on composer update:
Comment #13
cilefen commentedComment #14
cilefen commentedComment #15
cilefen commentedComment #16
cilefen commentedComment #17
mustanggb commentedegulias/email-validator 1.2.8 should already be supported, so I don't think it needs to say there is an update.
Comment #18
berdirSome of those projects bring out releases very frequently, especially guzzle (which just released Guzzle 6, we started using it with version 3 I think..).
Might make sense to wait with short before the release with updating those that are just minor updates and aren't blocking other work, otherwise we might repeat it a few times before we get 8.0.0 out?
Comment #19
cilefen commented@Berdir I agree in general. Having read the Guzzle 6 release notes, it is an example of something we have to push on.
Comment #20
Crell commentedWord from Michael Dowling of Guzzle: https://twitter.com/mtdowling/status/603415290802614272
6 should be the last stable for a while (hopefully), but requires PHP 5.5. Thus, updating to it is blocked by (and supports doing) #2296557: [policy] Require PHP 5.5
Comment #21
dawehnerUpdating PHPUnit/Symfony version information
Comment #22
imiksuAdding related issue where external libraries are tried to be removed from and let Composer handle it: #1475510: Remove external dependencies from the core repo and let Composer manage the dependencies instead
Comment #23
timmillwoodThe future of issues like this could seriously helped by committing and deploying the patches in:
#1923582: Add ability for testbot to run 'composer install' during installation
#2315545: Install composer dependencies to D8 when packaging
Comment #24
joelpittetThere is no patch and this is a meta so we can use the new cat.
Comment #25
TJacksonVA commentedUpdated Symfony and Twig versions.
Comment #26
webchickI don't know of a non-manual way to do this, so here's how I'm spending my Thursday night. ;)
Comment #27
webchickHaven't figured out the best way to do this yet. Here's a git diff after:
However, this will only tell us of point-release upgrades, not minor/major version upgrades. Still. Quite a lot in here.
Comment #28
webchickGlancing at that, it looks like at least:
- Composer
- Guzzle
- Symfony
- Twig
Need an update.
Comment #29
hussainwebI can't think of issues for others, but for Symfony, we have #2548135: Upgrade to Symfony 2.7.3. I think it's lying there since quite some time.(This update has security fixes as well.)EDIT: Ignore above, I was clearly thinking of something else. :)
Comment #30
webchickMoar table updates. PHPUnit is way behind (2 minor versions) as well.
Comment #31
webchickDamn it, Guzzle.
Comment #32
hussainwebI see this and many others like it. It seems it is moving it back to 2.7.2. I wonder what changed.
Comment #33
webchickBetter links on version numbers to packagist pages for the respective projects so it's a lot easier to check these next time.
Comment #34
webchick@hussainweb: Oh, you should probably assume I have no idea what I'm doing. :)
But something I noticed was when I ran composer update/install, it basically goes and downloads the old beta14 of Drupal 8 and overwrites my existing install (which seems... suboptimal :P). So it's possible those are just remnants of that.
Comment #35
hussainweb@webchick: Oh, I think you were running
composer install/updatein the root directory? The composer.json in root is for use with the entirely composer driven workflow. I think for our purposes, we should run composer in the core directory.Comment #36
hussainwebThat also explains why you got the old Symfony 2.7.2. I don't think #2548135: Upgrade to Symfony 2.7.3 is in beta14 and it probably picked up the version from the composer.lock in beta14.
Comment #37
webchickOk, think that (&@#ing table is updated now.
We definitely have some work to do here. So while I love being at 5 criticals more than life itself, need more eyes on this one now. Escalating to critical, and an Actionable D8 Critical.
Comment #38
hussainweb@webchick: The table lists an update for Symfony, but I believe Symfony is already updated in core.
Comment #39
webchick@hussainweb: Oh, good call. Here's the same thing from that directory instead.
That's... a big... patch... ;)
Comment #40
webchickWelp. No idea what to make of all of that, but correcting the Symfony and EasyRDF rows based on that, if nothing else.
BTW, if you can get on IRC this might be easier to hash out in person. I also could always just go to bed like a sane person. ;)
Comment #41
webchickFor giggles, let's see what testbot makes of that.
Comment #42
dawehnerInteresting, this does not update symfony, I guess they did not had a release in the meantime. I hope there will be one until we release, given that had
quite a DX improvement lately, see https://github.com/symfony/symfony/pull/15380
Comment #44
dawehnerUps I actually did not intended to upload that patch. Sorry
Comment #46
dawehner@webchick
Did you made a git diff or did you also ensured that you include new files?
Comment #47
hussainweb@webchick: This is what I get on composer update (at the end). The total size of changes comes to 2.6 MiB (but that's with the -M flag).
@dawehner: It seems that the PR was merged immediately after 2.7.3 release. There has been no release since. It is there in 2.3.32 but that doesn't help us.
Comment #48
hussainwebI checked guzzle and MinkGoutteDriver and both commits are not in releases yet. We could update guzzle to latest commit but there is nothing substantial in MinkGoutteDriver as of now. I think we can wait for a proper release for both of them. I am continuing to look into others.
Comment #49
hussainwebMarking fabpot/goutte, masterminds/html5, stack/builder components as has updates. I also marked that zendframework/zend-feed and phpunit also has a patch version update. Added more rows as well.
Comment #50
hussainwebRemoving zendframework components which are not directly used.
Comment #51
iantresman commentedIt would be useful if an option in reports/status report listed all the libraries, together with their version numbers (and links to vendor websites), in the same way that you can get more information about PHP at status/php, and perhaps an indication of the latest vendor version.
Comment #52
dawehnerIt would be great to discuss that as part of its own issue.
Comment #53
MixologicI hope our composer.json in core will specify dependency ranges that are the 'minimum tested version-> maximum tested version" that we support when a release is finalized. We're testing drupal against a known set of changes + a known set of dependencies, and it'd be a drag if two weeks after we release, there is a patch version of a dependency that accidentally breaks an api, and people trying to download 8.0.0 end up with broken dependencies
in other words if egulias/email-validator releases 1.2.10, but it accidentally refactors away something it should'nt and breaks an api we're using, then we cant really say that 8.0.0 works with 1.2.*
we could hope that nobody ever accidentally breaks semantic versioning, but that feels really, really risky.
Comment #54
hussainweb@Mixologic: I think composer.lock helps there. We would follow the same process to update components in core as we do now, except that we will only ever commit composer.lock changes, nothing else. With that, the scenario you describe will be averted.
Comment #55
klausiSo the important changes are in composer.json and composer.lock (extra txt file attached for that changes).
The patch are all updates done as outlined in the issue summary. Let's see where this fails.
Comment #57
klausiSo we have the "invalid patch format" error again, although "git apply php-lib-update-2400407-55.patch" works fine for me locally.
I'm assuming that the bot has a problem with the large patch file size (over 3MB) and it also choked on the 2MB patch from dawehner.
Let's try to do smaller chunks of updates then, I'm going to try the phpunit update alone next.
Comment #58
dawehnerI thought the problem is the --binary but yeah you are maybe right. My patch was smaller because I use a quite aggressive moving setting in my gitconfig.
+1
We have one issue for the doctrine stuff already as well.
Comment #59
klausiThe phpunit update alone is 2 MB, created with changing the phpunit entry in composer.json and:
Comment #60
catchOnce we're out of post-beta commit freeze I'll try to get the Doctrine issue in asap.
I think given the trade-off patch size doing everything and commit conflicts with multiple sub-issues, the quickest way to get this done is rapid serial patches - i.e. upgrade one, commit, upgrade next, commit. That's probably least work overall, but not sure how to co-ordinate it. We could open sub-issues and postpone them on doctrine for now or something then unpostpone one each time another is committed. Might be too much thinking.
Comment #61
hussainweb@catch: Yes, I was just going to create multiple sub-issues and post patches for each. It is simple and we already do that everywhere else. :)
Comment #62
dawehnerRTBC, but note, this issue won't be done after that.
Comment #63
webchickPer catch, let's get that one split off into its own dedicated issue.
I'll also be around for the next 8+ hours for anyone who wants to do the "rapid serial patches - i.e. upgrade one, commit, upgrade next, commit" dance.
Comment #64
webchickSorry! I misread. Serial patches, not issues! Great.
Comment #65
webchickOk, #2105825: Update Doctrine/common Component to 2.5.1 (security) (includes cache/annotations too) was committed, so the PHPUnit one needs a small re-roll now.
Comment #67
klausion it.
Comment #68
klausireroll for the phpunit update.
Comment #69
Mixologic@hussainweb : It was my understanding that composer.lock only helps with locking versions at the root of your project, and there can only be one lockfile per project (no nested lock files). If a user wants to use composer for their d8 site and either add modules or have modules with dependencies, then core's composer.lock will have to be ignored, in which case they may potentially get versions of dependencies that have been released after the core release happened, which holds the possibility that a dependency broke an api somewhere. I know that its a lot of ifs, and it probably doesn't matter until we no longer ship core/vendor with the tarball. But once we do, it'll be something we need to consider implementing.
Comment #70
klausiComment #71
webchickCommitted and pushed #68 to 8.0.x. YAY!
Let's get subsequent library update patches in their own issues tho, for better visibility. It's fine if their issue summary is just "do it" ;)
Comment #72
webchickUpdating table.
Comment #74
dawehnerAnd the rest.
Comment #76
hussainwebUpdating easyrdf:
Comment #77
hussainweb@Mixologic: You're right. I didn't think of when Drupal itself would be a dependency in the regular composer workflow. To counter that, it makes sense to lock the max versions for components that don't promise semantic versioning. Maybe this could be discussed in a different issue?
Comment #78
hussainwebUpdating the table...
Comment #80
webchickCommitted and pushed #76 to 8.0.x.
Next? :D
Comment #81
hussainwebTwig is updated as well. :)
Comment #82
heddnThe table in the IS isn't real clear what is left and what is in. Can someone add a column or some such notation to denote what is completed?
Comment #83
hussainwebUpdating all zendframework/* components:
Comment #84
hussainweb@heddn: I thought about that but then I think that before long, all will be updated and the table will be easy to manage.
Comment #85
webchickCommitted and pushed to 8.0.x. Thanks!
Next up... Twig! :)
Comment #86
hussainwebI said twig was already updated by mistake. It was to do with composer.json. Attaching the update:
Comment #88
hussainwebUpdating the table ...
Comment #90
webchickCommitted and pushed to 8.0.x. Next! :D
Comment #91
webchickOops.
Comment #92
hussainwebI noticed that we didn't update various dependencies in PHPUnit patch. Here it is first. I think we are mostly done after this. I could just post one more patch combining the remaining components now that the mostly used ones are in.
Comment #93
hussainwebOh, these are the updates in the above patch. We don't use any of these directly but PHPUnit uses them.
Comment #94
webchickLet's try this again...
Comment #95
webchickHm. I did something goofy there. Definitely did not mean to delete hussainweb's patch.
Comment #97
webchickUnfortunately, I can't seem to commit that patch (OSX case insensitivity strikes again :\):
I asked @alexpott, but he wasn't comfortable committing without knowing the exact composer command that lead to the patch's generation.
Comment #98
duaelfrFollowing that gist from @webchick I wrote a script that updates all dependencies in core one by one and then make a patch. If a dependency does not need to be updated, an empty patch will be created then cleaned at the end of the process.
Here are all the patches given by this script to see if the testbot is happy :)
Comment #100
duaelfrTrying to upload that patch that combines all previous green updates to see if the testbot is still happy and help @webchick to know if it's safe to commit.
Comment #101
duaelfr@webchick here is a "script" you can play with closed eyes. It updates all dependencies that passed the two previous tests (first alone then all together) and commit them separately.
And finally...
git push origin 8.0.x=> Week-end!
Comment #102
webchickOMG!! YOU. ARE. THE. BEST!!! :D
Working on this now.
Comment #104
webchickOk, did that. Let's see what testbot says in a half hour or so. :)
Updating the table. I think the only one left is mastermind/html5 and that had errors. However, they seem a bit goofy, so trying a re-test on that.
We also need to eventually get guzzlehttp/guzzle and behat/mink-goutte-driver on a "real" version, not a specific Git commit.
And finally, there's composer/installers which is in the main composer.json file, not the one under core/. However, when I try and do
composer update composer/installersit starts pulling in all the things again. :( So need some help on that.Comment #106
hussainwebAwesome. I think we missed one. Attaching the patch for masterminds/html5.
Comment #108
hussainwebAh, crosspost. I see it was not missed but test failure. Maybe something got missed as the patch size is different.
Regarding composer/installers. We don't actually use that composer.json at all. It is more like an example composer.json file we may use if we want to use Drupal completely using composer. In that case, you need that package to correctly install Drupal in core directory instead of composer's default location. We should actually remove that from the table.
Comment #109
webchickOh right, that won't work, because composer.lock. :P
Thanks, @hussainweb! Let's see if we have better luck with PIFT this time. Hope you got some sleep. :)
Comment #110
webchickOh, great. Done!
Also, why is it not called composer.example.json? (DUCK)
Comment #111
cilefen commentedI was just posting this when three other comments flew in:
I think this little patch is all that is needed for composer/installers. We don't ship that package's files in the distro as far as I can tell.
Comment #112
cilefen commentedActually, since the current root composer.json has a minimum version of composer/installers set, we should not have to do anything.
Comment #113
cilefen commented+1 on an issue for #110
Comment #114
cilefen commentedOr, not, it seems like it needs to be there: https://github.com/composer/installers
#1475510: Remove external dependencies from the core repo and let Composer manage the dependencies instead
Comment #115
webchickJust confirmation that both qa.d.o and DrupalCI came back with a pass on HEAD. Go team!! :D
Comment #116
webchickYAY! masterminds/html5 came back green!
Committed and pushed to 8.0.x.
Let's see what happens with composer installers, but then I think we're done here?!?!
Comment #118
webchickHm. DrupalCI didn't like #111 for some reason. Sending for a re-test.
Comment #119
webchickSecond time's a charm. :)
Committed and pushed to 8.0.x. And. We. Are. DONE.
Great work, everyone!! :D
Comment #122
webchickComment #123
jhedstromNice! Excellent work all!
Comment #124
hussainwebAwesome! But, there is a slight issue. The commit in 5823083 actually brings ClassLoader.php to an older version. It was updated in an earlier library update. I think it would be enough to just revert that one (it's good we are doing atomic commits).
Setting to Needs work for above. If you need a patch, let me know. But I think just reverting that commit is enough.
Comment #126
effulgentsia commented#124 seems right to me as well. Looks like Composer reverted the same change in https://github.com/composer/composer/commit/fbae6b1589ef28b77f0c38d1c9d4... and I don't see a commit there that re-introduces it, so I reverted Drupal's 5823083 to match. Thanks for catching that!
Comment #127
webchickYay! Thanks for catching that. But the reason I did that commit is because if I repeat the steps in #122:
:(
So something's still a bit screwy here...
Comment #128
webchickOH! I get it.
sudo composer self-updatewas the step I was missing. So somehow my local version of Composer can damage the integrity of a project that uses Composer..? Yikes. :P~Anyway, all's well that ends well. :) Thanks!!
Comment #129
catchReopening for guzzle. If we can't do that yet we still need to track it.
Also we need this issue or an identical followup open to track security or other significant library updates during rc as a release checklist item. This more or less needs to be a release checklist item every patch release for security updates. We have cooperation with Symfony on security releases, but nothing in place for doctrine afaik - given we found out about their security update via this issue. So at least a monthly check seems necessary while that's the case.
Could probably use a major plan issue to look at automating what's in the issue summary.
Comment #130
pfrenssen@webchick, if you are concerned about this we can add a dependency on Composer itself to
composer.json. Instead of using your globally installed composer you can instead do:This would ensure that everybody uses the exact same version of Composer, so there would never be any differences in the rendering of the autoloader and
composer.lock.The drawbacks are that it is another library to maintain and it adds a significant amount of code to the repository.
Comment #131
catchFound this for the next guzzle release https://github.com/guzzle/guzzle/issues/1240
One of the PRs blocking the next guzzle release is ours from when we had trouble updating to Guzzle 6: https://github.com/guzzle/guzzle/pull/1183
Comment #132
catchThere is no sign of a tagged release for MinkGoutteDriver per https://github.com/minkphp/MinkGoutteDriver/issues/63
However MinkGoutteDriver is only used by the testing framework, so I don't really care about a tagged release. This would be much easier to document if we did #2444615: Move testing packages to require-dev in composer.json.
However Guzzle is an actual runtime dependency, left a comment on thttps://github.com/guzzle/guzzle/issues/1240
Comment #133
webchickYep, my thinking was the "At RC time" portion of #2485119: [meta] The Drupal 8.0.0-rc1 Release Checklist becomes part of https://www.drupal.org/node/721106 once all's said and done (so we'd re-open this issue $time_period before a new release). I think it makes sense to wait until we try it once with RC1 and see if the steps outlined are the right ones, though.
Comment #134
webchickI wonder if it's better to spin the Guzzle issue off as its own critical issue, marked postponed, with a pointer to the GitHub thread. I would hate for anyone to waste time re-doing that table again because they think this issue as a whole is still in play atm.
Comment #135
hussainweb+1 on another issue to track Guzzle.
Comment #136
MixologicRe #129: https://security.sensiolabs.org/check could help with security checks for our dependencies. This is what I get when I upload beta-15's composer.lock. HEAD passes with flying colors.
Comment #137
catchYes new issue for guzzle would be good.
Let's postpone this until next check once that's open.
Comment #138
catchCould use fleshing out but here's the dedicated guzzle issue #2563799: Upgrade Guzzle to a tagged release.
Then this can go back to bed until next time.
Comment #139
davidwbarratt commentedSomehow...
composer/installersis now set to require at least 1.0.21, but I can't see any reason or documentation why that would be the case. We require 1.0.20 or greater, but less than 2.0.0 which is what was in there, now it says that we require 1.0.21 or greater, but for no reason. :(Comment #140
MixologicAlso worth noting that the testbots are now putting out an error message when running the composer step:
Here is what we used to see, indicating that composer.json and composer.lock file are in sync
And here is what all the testbots have now:
Comment #141
hussainweb#139, I agree. The version
^1.0.20would pick everything before 2.0.0 and it was enough (basically what we need). But given that this is more like an example composer.json file, I think it is fine. If we need to roll it back, I guess we could just revert this commit.On that note, I think there are a lot of version rules we can streamline, like Mixologic has been suggesting in #53. I think that can be something to deal with in another issue. It won't make a difference to our current workflow but it could matter if we are using composer. For example, out phpunit requirement is
4.8.*, which means if another component needs 4.9, it would fail. It is okay with something closely tied in as Symfony but I think something like PHPUnit should be flexible enough. We probably don't need PHPUnit 4.8, just 4.6 (or maybe even lower) and above is fine.Comment #142
hussainweb#140, I believe that once #2565337: Upgrade to Symfony 2.7.4 gets in, that error should be resolved.
Comment #143
hussainwebComment #144
hussainwebMore updates to the IS.
Comment #145
webchickCould also be #2563799: Upgrade Guzzle to a tagged release. I was a bit hasty in committing that earlier. :P
Comment #146
dawehnerYeah it seemed to be that noone actually reviewed the changes, nor did I :(
Comment #147
mustanggb commented#2565337: Upgrade to Symfony 2.7.4 landed.
Comment #148
mustanggb commentedTwig 1.22.0 released.
Comment #149
hussainwebPHPUnit 4.8.7 is out - #2568595: Upgrade PHPUnit to latest 4.8.x.
Comment #150
hussainwebComment #151
hussainwebUpdated version for twig.
Comment #152
hussainwebAdding updates for behat and related.
Comment #153
hussainwebUpdated versions and issues for
zendframework/*.Comment #154
alexpottCreated #2581683: Update PHP dependencies pre RC using composer to do this a final time before RC.
Comment #155
hussainwebUpdating all version information.
Comment #156
andypostnew patch release http://symfony.com/blog/symfony-2-7-6-released
Comment #157
timmillwoodcomposer updatepulls down a vast number of dependency updates.Comment #158
andypostFiled #2609268: Upgrade to Symfony 2.7.6
Comment #159
andypostFiled #2610984: Add Archive Tar via Composer, with BC shim because we have third-party (vendor) code in
Corethat looks outdated and not tracked here.Also having this code in core blocks ongoing work in a whole #2571965: [meta] Fix PHP coding standards in core, stage 1
Comment #160
andypostUpdated IS with latest versions
egulias/email-validator 1.2.9 => 1.2.10
fabpot/goutte 3.1.1 => 3.1.2
mikey179/vfsStream 1.5.0 => 1.6.0
zendframework/zend-diactoros 1.1.3 => 1.1.4
phpunit/phpunit 5.0.8
filed separate patch for twig #2609110-6: Update Twig to 1.23.1
Comment #161
davidwbarratt commentedHmm, I wonder if we even need composer/installers anymore...
Comment #162
hussainwebIt appears that the patch in #160 contains updates to Twig as well, even though that is in a different issue.
Comment #163
davidwbarratt commentedandypost,
You'll probably need to specify each package you want to update:
https://getcomposer.org/doc/03-cli.md#update
Comment #164
andypost@davidwbarratt suppose the issue is about all libraries and twig already commited, so we need to update all bundled
Comment #165
hussainwebI'd say that at least for the sake of git history, it is better to update components in their own issue. Minor updates are fine though, I guess. #2608174: Update composer-merge-plugin to latest version is close to RTBC and assuming that gets in first, this patch would work on top of that.
Comment #167
oleksiyComment #168
andypostI got the same patch as #167
Comment #169
hussainweb@Oleksiy: Thanks for the patch. However, this patch also contains wikimedia/composer-merge-plugin which is handled in another issue. This is just FYI.
Comment #170
andypostSo here's a patch without
wikimedia/composer-merge-plugin#2608174: Update composer-merge-plugin to latest versionInteresting that size of patch without it bigger...
Comment #171
andypostLanded #2608174: Update composer-merge-plugin to latest version
Comment #174
timmillwoodHere's an update of all the things
Comment #177
mac_weber commentedThe folder
vendorgot removed from git, do we need to care about this issue? I think it is outdated now. #1475510: Remove external dependencies from the core repo and let Composer manage the dependencies insteadComment #178
tstoecklerThe patch will get smaller due to the removed vendor dir, but we still have a composer.lock, so we still need to update our dependencies from time to time, specifically right before a new minor release.
Comment #187
MixologicComment #194
longwaveI don't think this is needed any more, we have updated our dependencies many times since this issue was last updated