<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Greetings, devel list!</div><div><br></div>Due to holidays, conferences, illnesses, and such, it's been about two months since our last unstable release. So, upon mysteriously finding myself some time tonight, I figured now was as good a time as any to roll the next one. :)<div><br></div><div>Here's a summary of some of the changes that seemed to stick out while reading the UNSTABLE-3 => UNSTABLE-4 changelog. I've attached the output of /contributions/tricks/cvs-release-notes.php to this mail (hopefully it makes it through to the list). See <a href="http://drupal.org/node/224333#UNSTABLE-3">http://drupal.org/node/224333#UNSTABLE-4</a> for the full list of API changes this release.</div><div><br></div><div>Once again, I encourage contributors to use<a href="http://groups.drupal.org/patch-spotlight">http://groups.drupal.org/patch-spotlight</a> as a place to organize, prioritize, and coordinate on patches they'd like to see in Drupal 7. Keep up the great work, folks!</div><div><br>For developers:<br>===============</div><div><div>- RDF goodness! An RDF namespace registry (and core now is XHTML 1.1 compliant as a result). I don't really know what an RDF namespace registry means, but Dries is excited about it. ;)</div><div><br></div></div><div><div>- All of our hook documentation is now embedded in Drupal core files. This means it is easily searchable without access to api.drupal.org, You can enter "hook_something_something" in an IDE and have it auto-fill, AND it means that we will no longer have any hook introduced into Drupal without corresponding documentation. Hooray!</div><div><br></div></div><div><div>- There were several patches committed that are bringing consistency to our table naming conventions: blocks -> block, filters -> filter, etc. This is an enabler for interesting Data API things.</div><div><br></div><div>- Speaking of the database, HOOK_DB_REWRITE_SQL() IS DEAD. Long live hook_query_alter(), which gives you an actual *query object* instead of a fricking *string* that you have to parse with regex! :P Hooray!</div><div><br></div><div>- Various "plumbing" improvements to systems like SimpleTest (which got way faster and also had some bug fixes), DBTNG (which got bug fixes, subquery support, improved test coverage, various conversion patches, etc.), File API (tests, tests, and more tests, all of which fixed underlying bugs), and so on.</div><div><br></div><div>- Node links and comments were moved into $node->content['links'] and $node->content['comments'], respectively. This will make them a lot easier to theme.</div><div><br></div></div><div>- Performance improvements to the module system, bootstrap, etc. and the addition of functions such as node_load_multiple() and file_load_multiple() which allow you to save approximately oodles of queries by retrieving all of the objects you need at once rather than one at a time.</div><div><br></div><div><div>For users:</div><div>==========</div><div>- Users can now (if given permissions) cancel their own accounts. So endeth the oldest issue in the issue queue. Sniff. ;)</div><div><br></div><div>- Permissions page now displays human-readable names, in addition to descriptions.</div><div><div><br></div><div>- Improvements have been made to Aggregator module which allow pluggable feed fetchers, parsers, and processors.</div></div><div><br></div><div>- SQLite database support, which, among other things, opens up interesting possibilities for a "LiveCD"-like distribution of Drupal that requires no installer.</div><div><br></div><div>- A PostgreSQL "surge" has brought us pretty close to "true" PostgreSQL database support (for real this time - we even have two maintainers!).</div><div><br></div></div><div><div>- The "Display post information" options have been moved from the theme settings (where no one on earth ever thinks to look) to the content type settings (where they do).</div><div><br></div><div>- A new "Clear all logs" button which lets you delete all watchdog data without having to dork around in the database.</div><div><br></div><div>- A new module dependency system which magically figures out what order to enable modules when you check off a bunch of them that are inter-dependent so you don't get ugly "function does not exist" fatal errors. Yay, math!</div><div><br></div><div>-Angie</div><div></div></div></body></html>