After one year of development we are ready to release Drupal 6.0 to the world. Thanks to the tireless work of the Drupal community, over 1,600 issues have been resolved during the Drupal 6.0 release cycle. These changes are evident in Drupal 6's major usability improvements, security and maintainability advancements, friendlier installer, and expanded development framework. Further, from bug fix to feature request, these issues follow-through on the Drupal project's continued commitment to deliver flexibility and power to themers and developers.

Today, Drupal powers sites including the homepages of Warner Brothers Records, The New York Observer, Fast Company, Popular Science, and Amnesty International and project sites by SonyBMG, Forbes, Harvard University, and more. Drupal can be used to create personal weblogs (Tim Berners-Lee), deliver podcasts (TWIT.tv), connect online communities (SpreadFireFox.com), or inform the masses (The Onion).

What's new

The Drupal 6.0 release contains many improvements, some visible from the first click, and others hidden beneath the hood. For a quick video tour, check out Greg Knaddison's "New features in Drupal 6.0 screencast", or one of the other screencasts linked below. While the complete list of changes is too lengthy to list here, we have included just a few of the reasons we're so excited about Drupal 6.

Introducing the easiest version of Drupal ever. There are only so many clicks in a day. With Drupal 6, the smooth new installer will get your web project up and running in minutes. More time for you to enjoy the new and intuitive drag-and-drop interface. Quick and easy setup Installing Drupal is now a snap, since the new installer guides you quickly through the process. You can even import translations of the Drupal interface from within the installer and enjoy Drupal in your own language right from the start. You'll be posting content in minutes! Check out a screencast by Addison Berry. Drag-and-drop administration Use drag-and-drop to create and manage your site's menus. Move blocks around to change the content on your pages, or organize books intuitively by dragging pages within an outline. The drag-and-drop interface is available for menu items, forums, taxonomy terms, uploaded files, input formats, profile fields, and more. All languages spoken here! Translate posts to different languages through an easy interface. Have Drupal automatically choose a language for the interface based on a custom URL, a user setting or browser preferences. Take advantage of left-to-right and right-to-left language support directly "out-of-the-box". Check out a screencast by Michael F and another one by Greg Knaddison. Improved multilingual interface Automatically import translations when adding a new language, installing modules or enabling themes. Quick interface translation Download and install the optional localization client module to translate the Drupal interface "on the fly". Great new core modules. The sleek and slender core Drupal distribution includes impressive new features. Actions and triggers Need a custom workflow? Want to send customized e-mails when a post is created or control how posts are published? Automate your processes with just a few clicks using the new and powerful "actions" feature. No programming knowledge required! Actions are available for posts, users, comments and more. Sign in with OpenID OpenID support is built in, making it even easier for your visitors to become a member of your site. OpenID is a free and easy way to use a single digital identity across the internet. With OpenID, login to all your favorite websites and forget about the online paperwork. Update status module Always know when new versions or security fixes are available. The update status module stays in touch with drupal.org to keep you informed of new versions of Drupal, your modules and your themes. Theming: it's never been easier. Customizing the look and feel of your site is easier, just as powerful, and even more flexible. CSS-only theming Define regions, dependencies and features with simple theme .info files without writing a line of PHP code, opening the door to slim CSS-only themes. Theme developer module Drupal 6 supports new tools for themers, including the exciting Theme Developer module (a separate download). It's the equivalent of Firebug, but for Drupal theming and will greatly enhance your theming workflow. Check out the screencast by Moshe Weitzman. Customize your theme Want to change how something looks? Almost all themeable content now uses separate template files written in simple HTML, so just copy a template to your theme directory and modify as desired. No coding - no hassle. Watch the screencast by Earl Miles. Enhanced preprocessing Preprocessing functions free themers from maintaining PHP code (the template.php file) in themes. Themes remain just as flexible as before and with improved, comprehensive documentation, are even easier to use. A unified approach Drupal 6 extends its themeing support and automatic translation features to interface elements provided by JavaScript. Updated jQuery Since the release of Drupal 5, Drupal has leveraged the powerful JavaScript library jQuery to deliver its interface enhancements and Ajax interactions. Drupal 6 continues this tradition, using jQuery to provide an even richer user experience. The jQuery version 1.2.3 is included with Drupal 6.

Most secure Drupal release ever. Beginning with the important Update status module, more tools are available to protect your site and your users. We've got your back! Drupal's security team helps you keep your site secure. Working closely with the authors of contributed projects and the core Drupal code committers, coordinated security releases are published as necessary. With the core Update status module and a subscription to the e-mail Security Announcements list, you'll always be among the first to know about new security updates. Password strength checking Get instant feedback on the strength of your password. Granular permissions Role-based permissions are much more refined. Manage your user's privileges with ease and precision. PHP format secured The "PHP input format" is now an "opt-in" core module, rather than being enabled by default. Safer for you. Performance and maintenance. Even with great new features and improvements, we've still optimized performance. Less code is loaded on each page, so you can use more modules with the same memory limits. Optimized code Drupal 6 splits most core modules into smaller pieces and only loads what's needed, resulting in less code per page. JavaScript aggregation and block-level caching further improves performance for both authenticated and anonymous users. Scalability options For large sites, Drupal 6 performs properly when running behind a reverse proxy like Squid or Pound. A new menu system Drupal's menu system has been rewritten from scratch, making it much more efficient and powerful. Better file handling Files are keyed to users instead of posts, and new, reusable validation functions are available that check file sizes, extensions and resolution. Extended logging Choose between database or OS-level logging, with the flexibility to monitor your Drupal site events with your own enterprise monitoring tools. Drupal's monitoring tools follow the guidelines in RFC 3164. Schema API Drupal 6's Schema API provides rich support for creating and maintaining data tables, improving compatibility of both core and contributed modules with databases other than MySQL. Batch API Run time-consuming operations with the Batch API. An automatic progress bar monitors the tasks running in the background through multiple HTTP requests. Scripting from the command line Easily run Drupal code from the command line with the new drupal.sh script. It's the little things… Many small improvements to enhance your Drupal experience. Better polls Quickly add and manage poll options. Forum improvements Include polls, quiz forms or any other type of content in forums. Use the more granular permissions to hand out forum moderator rights. Easier path alias management Quickly find path aliases with powerful filter tools. E-mail notifications Send administrators e-mail when users are approved, blocked, or deleted. Better anonymous commenting Drupal 6 remembers the contact details of anonymous posters, automatically filling them in for their next comment. New teaser handling Cut a long story short with new interactive teaser tools. You decide whether to have a teaser or a separate summary for each post. Sticky table headers Always know what you are looking at. Table headings automatically scroll with you as you move up and down the page. Custom date formats Get precise control over how dates are presented with custom date formats. Pretty signatures User signatures are now optional and can be themed.

Maintenance releases

The Drupal 6 branch is maintained by Gábor Hojtsy with the help of Dries Buytaert based on feedback from the issue queues. The first maintenance release will be 6.1. Please note that as of now, the Drupal 4.7 branch is no longer maintained, so switching to Drupal 5 or 6 is strongly advised.

Installation and upgrading

For installation instructions, please see the file "INSTALL.txt" in the root directory of your Drupal 6.0 distribution. For a video walk-through, see the videocast about installing Drupal 6.0 by Addison Berry.

For upgrade instructions, please see the file "UPGRADE.txt", in the root directory of your Drupal 6.0 distribution. For a video walk-through, see the videocast about upgrading to Drupal 6.0 by Greg Knaddison.

Coder, a contributed module maintained by Doug Green, provides automated assistance with converting your Drupal 5 modules to work with Drupal 6.

For support options, please see the support page. For questions, or to review the experiences of others, visit the forums for installation problems or upgrade problems.

Upgrading from Drupal 4.7 or earlier

Drupal 6 supports direct upgrades from 5.x versions. If you are using an earlier version of Drupal, first upgrade your site to the latest version of Drupal 5, and then upgrade to Drupal 6.

Upgrading from Drupal 5.x

Ensure that you have Drupal 6 versions of all of your contributed modules and themes, and that you have reviewed and updated your site's custom code (if any).

When upgrading, always save backups of your original files and database.

of your original files and database. Disable contributed themes and modules before starting the upgrade process. Contributed modules and themes may be upgraded after your core upgrade is complete.

before starting the upgrade process. Contributed modules and themes may be upgraded after your core upgrade is complete. Because some modules may have been renamed or removed within the Drupal core, you should not extract Drupal 6.0 on top of your existing installation. Instead, start with a fresh copy of Drupal and then add your custom modules, themes and configuration file.

of Drupal and then add your custom modules, themes and configuration file. If you are using the Update status contributed module for Drupal 5.x, you are encouraged to both disable and uninstall the module before upgrading to Drupal 6.0. Also, some of the advanced features of the contributed version of Update status were not moved into the Update status module included with Drupal core, and can be found in the Update status advanced settings contributed module for Drupal 6.x.

In Drupal 6, translation files are now spread across a set of small files, and distributed in a package (since importing translations from one large file did not work on some hosts). To import all new translation files automatically, uncompress the translation files into the Drupal root and use the Reimport tab (under Import page in the Translate interface administration section) provided by the contributed Localization client module. The Localization client module provides a number of useful features for managing and translating a multilingual site. Drupal 6 versions (when available) of other contributed modules, including i18n and localizer, also provide additional features that complement or complete the Drupal 6 multilingual feature set.

Upgrading from a Drupal 6.0 release candidate

Copy the new distribution over your existing installation and run the upgrade script.

Additional notes

Sites which deploy their Drupal installations by directly checking out code from CVS will need to install the CVS deploy contributed module for Drupal 6.x for the Update status module in 6.x core to work properly.

Special thanks to Roy Scholten (yoroy) for assembling the new feature list and to Keith Smith and others for editing it to its current state.