Drupal 8 core updates for October 19, 2015
It's been a while since the last Drupal 8 Core Update, and many exciting things have happened: most significantly, Drupal 8.0's first release candidate was released! As Campbell Vertesi points out, this isn't the final release: "while Drupal 8.0 is stable enough to use, we're still discovering critical bugs a little to frequently to recommend it for everyone, in every use case." But, now that Drupal 8 is in the release candidate phase, our goal is to move it to release as quickly as possible, so we're going to be a lot more careful about the patches we commit to it.
In other exciting news, the Drupal community on Google+ has grown to more than 10,000 members, and the legacy Drupal 8 testbots have been disabled in favor of DrupalCI.
What's new with Drupal 8?
Some other notable changes to Drupal 8.0 included adding Dynamic Page Cache (which doubles Drupal 8's speed in many use cases) and a Stable base theme to core (to allow us to improve Drupal's markup in future 8.x releases without breaking themes), removing SafeMarkup::set()
, ::checkPlain()
, and friends (they were dangerous) and PHPTemplate (it had been superceded by Twig), and switching to a single vendor directory in the root (to allow Composer to be used without modifications).
Also, Wolfgang Ziegler became a typed data system mainatiner; Lauri Eskola became a Theme system maintainer; and Lucas Hedding, Valery Lourie, Alina Mackenzie, Chris McCaferty, and Cathy Theys all became core mentoring co-ordinators.
Some other highlights of the past few months were:
- To improve the D8 experience for end-users, we changed one-time login link failure messages from status messages to errors, moved inline form errors functionality to an optional module (since the follow-up issues to didn't progress as much as we would have liked), and fixed the String field to recognize empty strings as empty values.
- Manuel Pistner at Bright Solutions GmbH wrote about their strategy for starting Drupal 8 projects, Derek DeRaps at Mediacurrent gave an introduction to Drupal 8 vocabulary, WDTutorials.com wrote about how to install Drupal 8 with MAMP, Steve Burge from OSTraining listed 10 new features in Drupal 8 core, and Melissa Anderson gave us the results of the latest Drupal 8 usability study.
- To improve the D8 experience for themers, we removed the divitis from fields, moved tabs, local actions links and page titles from the page template to blocks, and fixed an issue where specific theme preprocess functions would not be invoked.
- Anne Tomasevich at Savas shared her tips for writing Drupal-flavored SMACSS, Joris Snoek at Lucius Websystems BV wrote a three-part series on headless Drupal, Dries wrote about The future of decoupled Drupal, morten Birch Heide-Jørgensen wrote about Classy Theming, Brian Lewis at Modules Unraveled interviewed Lewis Nyman and morten Birch Heide-Jørgensen about What You Need to Know About Theming in Drupal 8, Amanda Luker and Jack Haas at Advomatic wrote about adding responsive images to your Drupal 8 site, and Marc Drummond at Lullabot explained the reasoning behind adding the Stable base theme to core,
- To improve the D8 experience for site builders, we fixed in issue where zero values were not shown in views tables.
- Rod Martin at OSTraining shared a webinar on what site builders need to know about Drupal 8, Tim Millwood discussed revisions in Drupal 8 and future plans for universal Create/Read/Archive/Purge operations and revisions everywhere, Ivan Zugec at WebWash wrote a three-part series on how to build a blog in Drupal 8, Luca Lusso at WELLNET S.r.l. made an infographic on how Drupal 8 renders pages, and Steve Burge from OSTraining introduced the new fields in D8, and explained how to build a multilingual site and how to set up Drupal 8's RESTful API.
- To improve the D8 experience for DevOps, we stopped creating
services.yml
by default (now it's only necessary if you want to override a default setting), converted the last remaining filesystem caches to use our standard caching mechanism (so Drupal can be used on multiple webheads without needing a shared filesystem), and renamed the CMI import/export directory (so it didn't get confused with staging environments). - Larry Garfield at Palantir.net wrote about how to swap out the Drupal 8 default storage systems, and Jingsheng Wang at INsReady Inc. explained how to update your Nginx config to support Drupal 8.
- To improve the D8 experience for developers, we documented the JavaScript that ships with core.
- Frédéric G. Marand wrote about autoloading code in a
.install
file, neeravbm at Red Crackle explained how dependency injection and interfaces work, Blair Wadman at BeFused wrote about creating your first D8 module, Dries wrote about how we could make Drupal core always-shippable, RealityLoop wrote about programmatically attaching files to nodes in D8, Andreas Mayr explained how to add custom menu item attributes and create custom entities with bundle support in Drupal 8, Daniel Sipos wrote about creating custom display suite fields, creating custom plugin types, and Drupal 8 third-party settings and pseudo-fields, Bojan Živanović made a definitive introduction to Drupal 8 and Composer, and Lee Rowlands introduced Drupal 8's entity validation API. - To improve the migration experience, we added D6 Imagecache to D8 Image module migration.
- vincent baronnet at Studio.gd explained how to migrate to Drupal 8 from a custom site, Mike Ryan wrote an update on migration in Drupal 8, and Advomatic explained how to migrate to Drupal 8 from Drupal 6 with a custom process plugin.
- To improve performance, we made the forum module aware of vocabulary cache tags, and improved the comment module's use of cache tags.
- Wim Leers explained how the new Dynamic Page Cache feature works.
- To improve security, we ported SA-CORE-2015-003, removed unnecessary uses of the
!
placeholder in strings, gave sites using theimage_allow_insecure_derivatives
directive partial protection denial-of-service attacks, and updated the "limit allowed HTML tags" filter to restrict most HTML attributes. - Peter Wolanin at Acquia listed the top ten security features in Drupal 8
- We removed the
every_page
option for CSS/JS (it was confusing and we can calculate it automatically), and theconf_path()
function (it was deprecated). - Karen Stevenson at Lullabot talked about when to adopt the newest version of Drupal, the D8 Rules team announced that they finished milestone 1,
How can I help get Drupal 8 finished?
See Help get Drupal 8 released! for updated information on the current state of the software and more information on how you can help.
We're also looking for more contributors to help compile these posts. Contact mparker17 if you'd like to help!
Drupal 8 In Real Life
- Drupal Camp Quito will be held on October 19–21 in Quito, Pichincha, Ecuador. Tickets are still available, so get them while you can!
- BADCamp 2015 will take place on October 22–25 in Berkeley, California, USA. Spaces are filling up quickly, so register now!
- DrupalCamp Ohio 2015 will be on October 23–24 in Columbus, Ohio, USA. Don't forget to register! I'll be there, presenting on how to contribute to Drupal!
- Intracto and the Belgian Drupal User Group are organizing a Drupal Code Sprint on October 24th in Herentals, Antwerp, Belgium. Registration is required.
- DrupalCamp Essen 2015 will be held on October 24–25 in Essen, Germany. Tickets are available now.
- DrupalCamp Mexico 2015 is scheduled for November 5–7 in Coyoacán, Mexico City, Mexico. There are only 200 tickets available this year, so buy now to ensure your entry!
Whew! That's a wrap!
Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or git pull origin 8.0.x
every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. If you'd like to volunteer for helping to draft these posts, please follow the steps here!