Announcing DRUPAL-7-0-UNSTABLE-9
Tonight seemed like as good a night as any to roll another interim unstable release for Drupal 7, so say hello to DRUPAL-7-0-UNSTABLE-9. I'll detail the exciting changes in a bit here, but first a few procedural things. For those who missed Dries's keynote at Drupalcon Paris (http://www.archive.org/details/TheStateofDrupal ), I'll give a recap of the parts that pertain to Drupal 7's development/release cycle: * Code freeze was extended an extra week until 9/8 to allow people in Paris (as well as abroad) to collaborate on last-minute frenzied features. Dries and I are working through last week's RTBC queue now that we're both home for a couple of days. ;) * We're now in a "code slush" phase, which means that Drupal 7 is feature frozen, apart from a few hand-selected exceptions, as well as API and markup clean-ups for existing features. Additionally, we allow improvements to Drupal's usability (minor changes), accessibility, performance, testing framework, documentation, and user interface text during this phase. Code slush is time-boxed until Oct. 15, at which point we'll enter a "hard" freeze. Then, no more XHTML markup changes, no more function signature changes, and no more database changes. * That means it'd be a /really/ good idea to begin poking at your Drupal 7 module/theme porting, oh... now-ish... so that if we missed something blatantly obvious during development of D7, we can fix it while the code is still somewhat malleable. Coder has a 7.x version to help with this: http://drupal.org/project/coder, and also consider taking the #D7CX pledge for your project: http://drupal.org/project/modules?solrsort=sort_title%20asc&text=d7cx&displa... * From Oct. 15 to Nov. 15 will be the "strictly polish" phase, where we can continue to do things such as minor accessibility and usability improvements, performance improvements, and documentation and string improvements. November 15 will then mark both a string *and* UI freeze, so that the documentation and translation teams can get busy preparing for the Drupal 7 release. * Patches that expand Drupal's automated test coverage, as well as bug fixes, can be accepted at any time up through release. * Drupal 7 will be released "when it's ready", which is when all critical issues are resolved. Keep your eyes on http://drupal.org/project/issues/search/drupal?status []= Open&priorities[]=1&categories[]=bug&categories[]=task&version[]=7.x, or enable the "Contributor block" in your drupal.org user profile to get a handy count (currently at 400). Here are some "hit lists" along with helpful deadlines for you all: * Feature freeze exceptions (Oct. 15): http://drupal.org/project/issues/search/drupal?issue_tags=Exception+code+fre... * API clean-ups for existing features (Oct. 15): http://drupal.org/project/issues/search/drupal?&issue_tags=API%20clean-up * XHTML markup (Oct. 15): http://drupal.org/project/issues/search/drupal?issue_tags=tpl-refresh * Testing framework (Oct. 15): http://drupal.org/project/issues/search/drupal? component[]=simpletest.module * Minor usability improvements (Nov. 15): [some of] http://drupal.org/project/issues/search/drupal?issue_tags=Usability * Accessibility (Nov. 15): http://drupal.org/project/issues/search/drupal?issue_tags=accessibility * Performance patches (Nov. 15): http://drupal.org/project/issues/search/drupal?issue_tags=Performance * Documentation improvements (Nov. 15): http://drupal.org/project/issues/search/drupal? component[]=documentation * String fixes (Nov. 15): http://drupal.org/project/issues/search/drupal?component[]=user +interface+text * Test coverage (Any time): http://drupal.org/project/issues/search/drupal?issue_tags=Needs+tests Ok, now that the whip-cracking is out of the way, here are the changes in this snapshot! :D As always, the full change log is attached below. Changes for developers: ======================= * Database-wise, core is now fully DBTNG-compliant! YAY! We also added basic support for 'date' and 'time' types to Schema API, update_sql() is dead, dead, dead, AND now hook_uninstall() and hook_install() will automatically handle your schema definitions. Ahhh. * The File API now uses stream wrappers for accessing files, which basically means that all functions that used to take a file path now take a URI like public://old_photos/banana.jpg. Core ships with three default stream wrappers: temp://, public://, and private:// (which means that public and private files FINALLY co-exist!) with support for contrib to offer wrappers such as s3:// for Amazon S3, flickr:// for getting data into/out of Flickr, and so on. We also added a hook_file_url_alter() for content delivery network (CDN) support. w00t! * Remember that awesome code registry I talked about back in UNSTABLE-1 or so that was going to solve all of our performance woes? Yeeeah... Turns out, it caused severe developer experience issues, in addition to not offering performance improvements on par with more well-supported systems such as APC, so this got partially rolled back. The registry no longer caches functions, though we do still offer a class registry, which means that $foo = new Foo; will work from anywhere. * Field API improvements: Taxonomy terms are now fields, comments and taxonomy terms are fieldable, and fields are also now translatable. * In terms of clean-ups, we now have the R part of a real CRUD API in core with standardized, swappable entity loaders. We also have a *real* user and permissions API, as well as a filter API. We also renamed 'box' to 'custom_block' in the name of sanity. * Performance-wise, we now ship with "smushed" images that are lighter on bandwidth, and we've now added a caching system to the render API which is currently implemented by blocks, and because it happens early in the page render cycle, it works for both authenticated users and with node access modules. Yum. * Install profile improvements! Shock! Install profiles are now basically modules with .install files, .info files to declare dependencies, etc. If you can write a module, you can write an install profile, and you can also do everything from install profiles you can do with modules including use the full Drupal API and write update functions to move from one version to another. Speaking of versions, you can now specify version-level dependencies in your .info files, so you can say your module depends on at least Views 2.0-rc1 but less than Views 3.0. And finally, you can run update.php and install.php from the command line without Drush having to do unholy things. Yay! * In terms of our testing framework, there's now a debug() function which can be used as a 'lite' version of dsm(), and also prints debugging data as SimpleTest assertions. There's also a new "verbose" mode which logs screen captures of the pages SimpleTest hit on its way through, along with the assertion messages. This should make figuring out why tests are failing MUCH easier! Thanks to the testing sprint in LA back in mid-August, we also greatly grew our test coverage and cleaned up a lot of lingering test patches from back in Szeged. Changes for themers: ==================== * Regions $sidebar_left and $sidebar_right are now called $sidebar_first and $sidebar_second, for better semantics and to make them more RTL-friendly. * The AJAX framework from CTools is now in core, and core now supports a new .once() method for ensuring that a behaviour applies only a single time. I don't really know what any of this means, but the JS folks are really excited about it. ;) * You can now use a "wildcard" operator in tpl.php files, for example page-user-%.tpl.php to affect any user/xxx while letting page- user.tpl.php affect only the actual page /user. * In accessibility news, there are now system-wide classes for marking elements as either completely hidden (.element-hidden: equivalent to jQuery's hide() function) or invisible (.element-invisible: visible only to screen readers). We're now working to apply those classes to various points in core, as well as other important accessibility improvements. Changes for end-users: ===================== * CC-FREAKING-K IN CORE! OH YEAH! :D Not to mention Token, FileField, and Poormanscron! * As a trade-off, lots of extraneous features were removed from core in favour of either contributed modules or field API alternatives: minimum number of words on the body field, related terms for taxonomy terms, per-user theme selection, Blog API module. * The D7UX IA is fully in place; no more confusing "half the items are in 'Site configuration' and half under 'Configuration & Modules'" stuff. Thanks for bearing with us while we went through that transition! * Some nice security improvements. Users are now prompted at install time to get notified via e-mail about security updates for their sites. This is great because I'm pretty sure almost no one realizes this is a setting in Drupal 5 and 6. :P We also now limit the number of login attempts to help prevent brute force attacks. And running update.php is now tied to a permission rather than having to open it up to the entire universe if you don't like sharing your user 1 password. Oh, and last but not least, SSL support in core! :D
Oh, and last but not least, SSL support in core! :D
That was meant to be in the developer section. (Details: The default session.inc now handles two cookies (real voodoo) and there is a form API paramater (#https) and an url option (https) but that's it. No end user support was added because I felt it's very very site dependent on what must go to HTTPS and can stay on HTTP.)
So, in the week of November 16, Drupal will enter in Beta phase? I think that, the updates D6->D7 bugs should have more attention now.. First the bugs from one clean D6 to D7, and next the migration of the modules that went to core. Like the out of memory bug (need to alocate more that 1GB)(#563106), the blocked_ips table that not exist(#517742), role_permission(#524710),menus (#410636), multisite(#191021), and others ( http://drupal.org/project/issues/drupal?text=&status=Open&priorities=All&cat... ) Thanks for the changes Angela.. -- ------------------------------------- Marco Sousa
participants (3)
-
Angela Byron -
Karoly Negyesi -
Marco Sousa