This (two) weeks in Drupal Core
What's new with Drupal 8?
Last week, in lieu of a This week in Drupal Core, xjm and wechick compiled a phenomenal This YEAR in Drupal Core, so here's a catch up of the last two weeks.
Happy 13th birthday, Drupal!
Drupal 1.0.0 was released on January 15th, 2001. Many software projects from that era are long forgotten by now. That we have stayed relevant and gotten stronger through 13 years of fast and chaotic evolution of the internet is, in my opinion, very impressive. Here's some highlights from the birthday:
- New York celebrated with pizza, beer, and cake (same as what I had for my 13th birthday, minus the beer).
- Dries posted his thoughts on how the internet is evolving, and therefore, what he believes to be important for Drupal. And he spent much of the day providing thoughtful answers to all sorts of interesting questions on his first-ever Reddit AMA, which can also be conveniently read in tabular form.
- For those of you like me who can't resist anthropomorphizing, Josh Koenig shared his take on Drupal growing up and will dive deeper into that and other insights in his keynote session at SANDCamp this Saturday.
- ~100 people gave Drupal core the birthday gift of their development time. Thank you!
- Ray Saltini came up with a creative gift idea: a Drupal manifesto!
- When a birthday falls so close to the new year, and therefore, a new quarter, that can create double or triple the reflecting, predicting, and planning. So check out the community predictions for 2014 and the Drupal Association's Tech Team plan for the quarter.
Drupal 8 Alpha 8
For module developers who've already begun porting their modules to Drupal 8, there's a shiny new alpha8 for you to play with as of yesterday. These alphas are provided to give you something more stable to work off of than having to chase HEAD every day. If you do choose to chase HEAD though, be prepared for more volatility. For example, Move definition of menu links to hook_menu_link_defaults(), decouple key name from path, and make 'parent' explicit was a very important patch committed immediately following the alpha8 release, but requires extensive follow up changes that we are trying to resolve between now and the next alpha.
Where's Drupal 8 at in terms of release?
Last week, we fixed 7 critical issues and 11 major issues, and opened 6 criticals and 20 majors. That puts us overall at 136 release-blocking critical issues and 497 major issues.
3 beta-blocking issues were fixed last week. There are still 60 of 107 beta blockers that must be resolved and 38 change records that must be written before we can release a Drupal 8 beta.
Where can I help?
Top criticals to hit this week
Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented.
- Block 8.0.0 and possibly minor versions on critical security issues - this is an important policy discussion for making Drupal security maintenance sustainable.
- Finalize module-facing API of declaring menu links - this is one of the follow up issues alluded to earlier in the section about alpha8. Declaring menu links is something that nearly every contrib module does, so let's get the DX of this right.
More ways to help
The Drupal 8 "meta meta", compiled by vijaycs85, is a great place to start if you want to dig your teeth into a technical problem but aren't sure where to start. Or if coding isn't your thing, there are plenty of issues tagged as Needs change notification. Writing these is a great way to keep abreast of recent changes - see more on change records to get started.
As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
Read moreThis YEAR in Drupal Core (2013)
Co-authored by xjm and webchick
Welcome! For Drupal's 13th birthday, in addition to Give Drupal a Birthday Present: Tackle a D8 Issue!, we wanted to celebrate the occasion with a retrospective of the year 2013 as it relates to Drupal core development!
Here are some stats to get us started:
- 1,120 unique Drupal 8 patch contributors during 2013, bringing the total number of contributors for the release to over 1,800!
- 4,175 Drupal 8 core patches committed (even with one core maintainer on leave for several months).
- 316 critical issues fixed.
- Nearly 10,000 automated test assertions added, bringing our total to nearly 60,000 tests!
- Over 60,000 lines of documentation added (and for the record, less than 2% of our lines of documentation are
{@inheritdoc}). :P

A tag cloud showing the top Drupal 8 contributors
Photo credit: Wordle.net
This (three) weeks in Drupal Core - January 10th 2014
What's new with Drupal 8?
It's been three weeks since our last 'This week in core' post, but with holidays providing a welcome break for many, core development has continued at its usual rapid pace. Time flies! The session submission deadline for Drupal Dev Days Szeged is just around the corner on the 15th of January.
Give Drupal a birthday present
Next week is Drupal's 13th birthday! Want to give Drupal a birthday present? Why not tackle an issue, or help mentor someone else to do so. There's also a Reddit AMA appearance by Dries (that's Ask me anything for those who don't use Reddit - I had to look it up) and we're also planning a special "This Year in Drupal Core".
New Drupal core commit schedule
We're trying out a new commit schedule to increase core momentum. For one week starting January 15 up until the release of Drupal 8.0-alpha8 on January 22, core maintainers will commit only critical and major patches. (Normal and minor patches will be committed again starting January 23.) Read more about the new commit schedule.
Where's Drupal 8 at in terms of release?
Last week, we fixed 11 critical issues and 14 major issues, and opened 9 criticals and 11 majors. That puts us overall at 135 release-blocking critical issues and 482 major issues.
10 beta-blocking issues were fixed last week. There are still 61 of 98 beta blockers that must be resolved and 48 change records that must be written before we can release a Drupal 8 beta.
Where can I help?
Top criticals to hit this week
Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented.
- Objectify the language negotiation system (no that doesn't involve wolf whistles) - this one blocks the final removals of variable_get/set and unblocks more work on cleaning up bootstrap.
- Move definition of menu links to hook_default_menu_links(), decouple key name from path, and make 'parent' explicit (removes hook_menu() and will iron out the new routing system; also fixes a performance regression.)
- Allow per-bundle overrides of field definitions (allows for node titles to have potentially different labels per node type from the managed fields screen and also fixes a performance regression)
More ways to help
If core's toughest criticals aren't on your to-do list this week, there are lots of other places to jump in and help with conversions and cleanups in core. The Drupal 8 "meta meta", compiled by vijaycs85, is a great place to start if you want to dig your teeth into a technical problem but aren't sure where to start. Or if coding isn't your thing, there are plenty of issues tagged as Needs change notification. Writing these is a great way to keep abreast of recent changes - see more on change records to get started.
Additionally:
- The CMI initiative are planning to hold biweekly meetings to gain momentum around the remaining critical issues
- As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
This week in Drupal core: December 19, 2013
Bonjour, it is that time of year again, we hope that you are getting ready for the holidays and New Year. If not, then we are ready with final edition of This Week in Drupal Core of 2013! :)
What's new with Drupal 8?
A new D8 alpha
Drupal 8.0-alpha7 was released today! Download it, try it out, and explore the latest-and-greatest in Drupal 8. There will be a new alpha release come mid-January. Watch this spot for more details!
PHP 4 support EOL in D6
As part of efforts to improve the core release cycle, support data migration from Drupal 6 to Drupal 8 (join up here!), and make best use of our limited security team resources, we've decided to stop supporting PHP 4 for Drupal 6 as of March 1, 2014.
Last week's top criticals
Two of last week's top criticals have been fixed thanks to everyone's focused efforts!
- Shortcuts are entities now and decoupled from menu links, which both unblocks work on configuration synchronization and cleans up signifiant technical debt in the menu system. Thanks to amateescu and tim.plunkett for recognizing the importance of this issue early and carrying it through.
- Meanwhile, a memory-hogging upstream Doctrine bug that was causing all sorts of chaos on the testbots was patched in core as a stopgap measure, courtesy efforts by dawehner and chx. The regression still needs to be resolved upstream, but the memory issues were severe enough that we committed an emergency fix and opened a policy discussion for similar cases in the future.
Theme negotiation
A new theme negotiator service is added to replace 'theme callback' form hook_menu() and move us closer to removing the legacy menu and routing technical debt. Thanks dawehner, David Rothstein, and tim.plunkett!
Where's Drupal 8 at in terms of release?
In the past week, we've fixed 9 critical issues and 5 major issues, and opened 1 critical and 12 majors. That puts us overall at 115 release-blocking critical issues and 488 major issues.
So what's the big picture? How long is it going to take to release Drupal 8.0? Here's a look at the criticals we've opened versus fixed each month since API freeze on July 1:

Since September, we are consistently resolving more critical issues than we file each month. This is exactly what needs to happen during this point in the release cycle. (Keep in mind that December is still in progress!)
Taking a wider view at the history of Drupal 8, here's the trend of our outstanding critical technical debt since the 8.x branch was opened in March 2011:

Note that the number of critical issues is dropping steeply -- hooray! -- but there's also still a very long way to go. We need to reduce our technical debt more quickly for a mid-2014 release. To this end, please help us by focusing only on the most important issues, avoiding unnecessary and disruptive changes, and leaving nice-to-haves for Drupal 8.1 or later. (Read more about how we're improving the Drupal 8 release cycle.)
* Observant Drupal 8 enthusiasts will notice that the above chart looks very different from drupalreleasedate.com. That's because we're only looking at the "true" (final) priority of issues, to filter out distortions from changes in core policy (e.g., when we recategorized outstanding change records from critical to major). The historical data comes from queries against the Drupal.org database.
Where can I help?
Top criticals to hit this week
Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented.
- Objectify the language negotiation system (blocks numerous language CMI conversions)
- Convert search plugins to use a ConfigEntity and a PluginBag (blocks node rank conversion to CMI)
- Move definition of menu links to hook_default_menu_links(), decouple key name from path, and make 'parent' explicit (removes hook_menu() and will iron out the new routing system; also fixes a performance regression.)
- Allow per-bundle overrides of field definitions (allows for node titles to have potentially different labels per node type from the managed fields screen and also fixes a performance regression)
More ways to help
If core's toughest criticals aren't on your to-do list this week, there are lots of other places to jump in and help with conversions and cleanups in core. The Drupal 8 "meta meta", compiled by vijaycs85, is a great place to start if you want to dig your teeth into a technical problem but aren't sure where to start. Here are a few of the meta meta's metas (ha!) that are all important for finishing Drupal 8:
- In our two-step process to convert core to the new routing system, we've completed the first step (removing the backwards-compatibility layer to the legacy routing system), but we still have lots of work to do to clean up our page controllers and remove unneeded page callbacks. These issues are a great way to learn about Drupal 8's routing system and become more familiar with Drupal 8's object-oriented paradigms and best practices.
- Now that Views is in core, we're converting core listings to Views to make Drupal more customizable and to remove redundant, legacy code. If you can build a view, you can probably help review and test these issues! The conversions are also a great opportunity to learn about Drupal 8 features like the configuration system and the Plugin API.
- After removing drupal_set_breadcrumb() from Drupal 8, now we are very close to removing drupal_set_title() as well. These issues are very important and will help in improving caching behavior in Drupal 8. Take a look and see if you can help cleaning up the remaining uses.
As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
Read moreThis week in Drupal core: December <del>11</del> 12, 2013
Sorry that we're a day late this week! If you'd like to reduce delays due to xjm's chronic insomnia, consider helping out with these posts. ;)
What's new with Drupal 8?
Working toward drupal-8.0-beta1
This week's most important Drupal 8 news is Dries' announcement of the criteria for beta 1. Numerous contributors worked with core maintainers to flesh out an initial list of beta-blocking issues, and many contributors have begun to work on core in a beta-bound mindset. We'll have more updates on our progress toward beta in upcoming weeks.
Looking for Drupal 8 API documentation?
Did you know that there's already extensive API documentation available for Drupal 8? The documentation is still under development since some APIs are still being finalized, but it's a great resource for developers who would like to explore Drupal 8. You can even help us extend the documentation as you learn. :) Gábor Hojtsy is leading efforts on this section of the handbook. (Also check out this quick guide to Converting 7.x modules to 8.x, also under development.)
Views block conversions
This week the patch for #1957276: Let users set the block instance title for Views blocks in the Block UI finally landed. This longstanding usability issue was blocking the conversion of legacy core blocks to Views -- an important step in realizing the full potential of Views in core. Now that it's in, the block conversions have begun in earnest! Thanks to the VDC team, yoroy, and Bojhan for driving this issue home, and to all contributors who are working on the conversions! To help, check out [Meta] Convert core listings to Views.
Where's Drupal 8 at in terms of release?
In the past week, we've closed 15 critical issues and 26 major issues, and opened 7 criticals and 15 majors. That puts us overall at 112 release-blocking critical issues and 475 major issues.
Where can I help?
Top criticals to hit this week
So, as I said above, we've got plenty of critical issues to go around. :) But here are a few super important ones we could use your help on right now.
- Objectify the language negotiation system (blocks numerous language CMI conversions)
- Doctrine annotation parsing takes an unacceptable amount of time/memory on install (adds 15+ minutes to testbot time, drives memory on installation over 128M)
- Convert search plugins to use a ConfigEntity and a PluginBag (blocks node rank conversion to CMI)
- Decouple shortcuts from menu links (blocks CMI configuration synchronization)
Drupal 8 alpha 7 is due on December 16. Get your patches in now!
More ways to help
Testbot, testbot...
There's been a lot of demand on our awesome testbot volunteers jthorson and rfay for support for optional database environments (e.g. SQLite, PostgreSQL) and alternate PHP versions (especially PHP 5.4), as these are blockers for the D8 release. These features are currently blocked on some debugging tasks that could use your help! Set up a local testbot environment with Vagrant (see this helpful video) and head over to SQLite testbot confirmation fails with "failed to find test tables to drop" error and 6.x-3.x PIFR: 3 Failures in D8 test. These will allow us to make progress on Provide php 5.4 testing on testbots for D8 code without breaking everything else.
Drupal 8 performance
Performance optimization is among the most important ongoing work during Drupal 8's API completion phase. Follow [meta] Resolve known performance regressions in Drupal 8 for periodic updates on the work being done. We could also use help from one or more contributors to update this issue's summary to reflect the current work. The Drupal 8 performance team holds weekly meetings to discuss perfomance work, and manages performance issues in this spreadsheet of Drupal 8 performance issues. If you'd like to join these efforts, contact Moshe Weitzman.
Core mentoring
As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
Read moreThis (two!) weeks in Drupal Core: December 4, 2013
What's new with Drupal 8?
The last two weeks have been absolutely ACTION PACKED Drupal 8 core-wise. Let's see if I can remember it all. :)
Migrate in core
The Migrate in Core team had their first core patch land! This provides the underlying architecture for migrations, as well as a variable-to-CMI migration as a proof of concept. Drupal 8 will provide migrations from Drupal 6 and Drupal 7 both. If you're curious to see how it works, read the change notice for a quick overview, and the excellent documentation for more details. BIG congrats to mikeryan, chx, marvil07, bdone, jessehs, mpgeek, BTMash, fastangel, mongolito404, Moshe Weitzman, eliza411, YesCT, dawehner, and cosmicdreams!
RIP Overlay
Ding, dong! Overlay module is dead! My ears are still ringing a bit from all of the cheers and applause. :P~ However, rather than the module simply being booted to /dev/null, it has instead been replaced by a nifty "Back to site" button that shows up when you're in an admin context, and takes you back to where you were on your main site:

After extensive usability testing, this solution was found to solve the same "lost context" problem as the Overlay, but with a few thousand fewer lines of code. :) Let us all build nod_ a statue, as well as yoroy, lisarex, and Bojhan from the UX team.
Help fund a Drupal 8 core maintainer
Alex Pott, single-handedly responsible for almost 50% of the commits in Drupal 8 since he became a core maintainer, is nearing the end of his savings account + Gittip supplements that have allowed him to focus on core full time the past few months. Alex is actively seeking diverse community funding to sustain his momentum independently. If you're a business excited about the new awesome things Drupal 8 will bring, this would be an excellent way to very directly support all of D8 contributors' efforts.
Drupal 8 Alpha 6
drupal 8.0-alpha6 shipped, and alpha 7 is due on December 16. Get your patches in now! Here's the current hit-list.
Drupal security releases
There were also security releases of Drupal 6 and 7, which we are are in the process of forward-porting to Drupal 8 now. If you can help here to ensure expedient patching, that would be great!
Where can I help?
- Performance-wise, remove drupal_add_css(), remove drupal_add_js(), and remove drupal_set_title() are all very close, and fixing these helps to enable render caching, as well as get us to beta 1 sooner.
- If you're interested in learning Drupal 8 OO best practices, the ongoing effort to Convert page callbacks to Controllers and Convert non-controller forms to FormInterface is still happening. Read the docs on how to get started, as well as Form API-specific info.
- The Accessibility team is seeking help with the Green by 2014 initiaitve, which aims to ensure that there are zero accessibility-related test failures by 2014! Read that post for info on getting started.
- If you eat HTML and CSS for breakfast, the ongoing Style Guide for Drupal 8's admin theme effort needs helping hands. See if you can help with any of the issues tagged "styleguide".
- As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.
This (two) weeks in Drupal Core: November 20th 2013
What's new with Drupal 8?
Config translation UI in core
We now have a config translation UI in core! The module builds forms off of configuration schemas and automatically attaches translation operations to overview and edit forms. Whilst working on this module dozens of core bugs and DX issues were identified and resolved, all of which made Drupal 8 better.
Read moreThis week in Drupal Core: November 6, 2013
What's new with Drupal 8?
Greetings. For any of you who celebrated Halloween, Dia de Muertos, All Souls' Day, Samhain, or any other holiday marking the halfway point between equinox and solstice or between the material and spirit worlds, we hope you enjoyed your festivities and reflections. Drupal.org itself observed the event by dying for a day on October 31, and coming back to life as a Drupal 7 website on November 1. Thank you to everyone who contributed to that upgrade! If you're working on Drupal 8 core or are porting your modules to Drupal 8, and are encountering issues with the upgraded issue queue, be sure to read the Drupal.org Drupal 7 upgrade F.A.Q.
Over the past week, a lot of progress has been made in documenting Drupal 8 APIs. You can learn a lot by reading those pages, and you can learn even more by fixing or adding to them.
Something we forgot to mention last week is Lewis Nyman's post on where things are at with the Seven Style Guide for Drupal 8. If you want to help make the administrative experience of Drupal 8 look awesome, there are a bunch of links there to guide you. Meanwhile, if you're interested not in the contents of CSS files, but in the system that adds those files to the web page as efficiently and extensibly as possible, the issue/sandbox to Introduce Assetic compatibility layer for core's internal handling of assets is far enough along that there's something for people to see and play with, but still plenty left to help out on before it's ready for committing to Drupal 8.
Finally, before we move on to this week's commits, articles, and events, be aware that Drupal 8 alpha5 is targeted for Nov. 18, and alpha releases will continue monthly after that.
Read moreThis (two!) weeks in Drupal Core: October 30, 2013
What's new with Drupal 8?
Greetings! We took a week off last week to attend BADCamp. There was sprinting-o-plenty, as well as tons of sessions on Drupal 8.

Photo credit: Amazee Labs
In the meantime, a lovely new Drupal 8 landing page has launched, which includes a list of major new features, information about the current state of the release, and a nice, big, green, demo button!
There's also been movement to create and centralize expanded Drupal 8 developer API documentation on Drupal.org, including sections on the new routing system and the new entity API.
And speaking of Drupal.org, don't forget to get your patches downloaded in advance of the Drupal.org D7 launch, when d.o will be down for 24 hours. Please take the opportunity to go outdoors in the sun and otherwise step away from the computer. :)
Read moreThis week in Drupal Core: October 16th 2013
Welcome to the fourth edition of this week in Drupal core!
What's new in Drupal 8?
This week saw a large number of bug fixes and cleanup task as we work hard cleaning up our APIs and codebase for a beta release. The next alpha (alpha4) is slated for October 18th since it has been a while since alpha3 was released and also in order to have something stable to port modules from during the various sprints/sessions at BADCamp. There are still some remaining issues we’d like to see in the alpha4 so help is always appreciated.
Read more





