So, the first Drupal 5.0 Beta release is here. When people ask what's changed some are referred to the Changelog. This is an important tool in tracking major changes in Drupal versions. But for those not following along it really only contains a brief snippet of what has changed. What has changed under the hood is pretty substantial and this time we have pretty new default theme as well which makes for a much more dramatic first impression. To get here a lot of work in the past two versions has happened to pave the way.
I'm going to run through my memories of what the various lines in the Changelog.txt may mean for the average site builder.
Drupal 5.0, xxxx-xx-xx (development version)
------------------------This line is about the version it is for. In this case, Drupal 5.0 Beta 1
----------
- completely retooled the administration page
* /admin now contains an administration page which may be themed
* reorganized administration menu items by task and by module
* added a status report page with detailed PHP/MySQL informationThis little mention fails to fully demonstrate the improvements. The /admin page is now more themer friendly. The administration menu now has a default task view and also a 'by module' module with links to configuration options. This new /admin page will be something of a shock to seasoned Drupal hands but you'll adjust. It will be a huge boost for new users.
The new 'status page' can be found under 'Status report' (?q=admin/logs/status) and contains useful information on your site... a kind of at a glance dashboard view of some information;
- It has installed Drupal version number
- whether your configuration file is protected
- when cron.php was last run and a link to manually run it and return you to this page
- GD Library (installed and versions)
- MySQL Database version and a link to various status/log information
- PHP version with a link to a built in phpinfo()
- Unicode library
- Web server information and version
----------
- added web-based installer which can:
* check installation requirements
* automatically generate the database configuration file
* install pre-made 'install profiles' or distributions
* import the database structure with automatic table prefixing
* be localizedA web based installer. This was something being worked towards for a while now and needed a lot of code in previous versions to be dealt with before it was possible. A web based installer that is part of an overall install system responsible for a lot of other things/updates/etc. Finally database table prefixing is also handled automatically rather then with manual edits. The mention of install profiles fails to really impress just what a powerful tool this has the potential to be. It makes setting up your own customized distribution so much easier. We as a community still have a lot of work to do on the long term implications if it.
----------
- added new default Garland theme
- added color module to change some themes' color schemesNew default theme. Lots and lots of discussion/disputes and arguments on this but in the end we have a new default distinctly Drupal theme with a new color changer tool that others can leverage in their own themes too.
----------
- included the JQuery JavaScript library 1.0.2 and converted all core JavaScript to use itThe inclusion of the JQuery JavaScript library in core. Drupal 4.7 had a home grown JavaScript library but ultimately the community was able to find a light weight JavaScript library with a philosophy that complimented the Drupal projects philosophy. We benefit from a whole community of work and they hopefully will be attracted to and benefit by our work as well.
----------
- introduced the ability to alter mail sent from systemI don't remember what this one did.
----------
- module system:
* added .info files for module meta-data
* added support for module dependencies
* improved module installation screen
* moved core modules to their own directoriesA lot of work here to improve module behavior and interaction. The php memory problem that some users hit with admin/modules page has been resolved by reducing the memory foot print of modules on load. All the core modules now reside in their own directory (not sure what that gains the average user but some folks really wanted it). Support for module dependencies was added so if a module needs something it can turn on another installed module or give you a good error message if you are missing a required module.
----------
- added support for different cache backendsThis won't help the average users but for those who need it, the caching system has undergone a dramatic work over that allows you greater flexibility.
----------
- added support for a generic "sites/all" directory.Sites all directory allows you to use a common set of contrib modules whose features are available to all sites on an install but without the need to put them in the core modules directory.
----------
- usability:
* added support for auto-complete forms (AJAX) to user profiles.
* made it possible to instantly assign roles to newly created user accounts.
* improved configurability of the contact forms.
* reorganized the settings pages.
* made it easy to investigate popular search termsA lot of UI interface stuff now available with the JQuery tools is in. And for sites with a lot of users, you will now be able to filter them like you could filter content (only by role, by blocked accounts, by access control permission). It's one of those that makes you think wow, why did no one contribute a patch before? Top search phrases is now an option to check.
----------
- integrated urlfilter.module in filter.moduleWhat it says... now built into the filter system is an option to make all URLs and email address click-able.
----------
- block system:
* extended the block visibility settings with a role specific settings.
* made it possible to customize all block titles.Block system has been extended so that you can limit block visibility by role instead of having to rely on php code. This was something that just didn't make it into 4.7 and now makes its re-appearance in 5.0. A long time request was the ability to customize or rename all block titles, well now you can.
----------
- poll module:
* optionally allow people to inspect all votes.
* optionally allow people to cancel their vote.I don't use poll module so you'll just have to go with what it says.
----------
- distributed authentication:
* added default server option.Allows you to set your own site authentication server.
----------
- added default robots.txt to control crawlers.If you don't know what a robots.txt is then this is a good thing for a default install to have.
----------
- database API:
* added db_table_exists().Probably important :)
----------
- blogapi module:
* 'blogapi new' and 'blogapi edit' nodeapi operations.Lets modules get in on blogapi actions, so you could take advantage of (say) extra fields from the Movable Type API for a custom node type (thanks Eaton for the explanation)
----------
- user module:
* added hook_profile_alter().
* e-mail verification is made optional.
* added mass editing and filtering on admin/user/user.Pretty much what it says, you'll have to go play to really see how neat!
----------
- PHP Template engine:
* add the ability to look for a series of suggested templates.
* look for page templates based upon the path.
* look for block templates based upon the region, module, and delta.A little fuzzy on this but it adds the ability for modules to include template layout snippets so a given module can have a default 'template' included with it which you can also use to further customize the overall layout in your own site's theme. Block and page template support improved a lot as well.
----------
- content system:
* made it easier for node access modules to work well with each other.
* added configurable content types.
* changed node rendering to work with structured arrays.Looks important to coders doesn't it? It is but the really important part for people is the phrase added configurable content types. This is a subset of CCK that allows for configurable content type. It allows you to rename them and change them later if need be. So instead of story you could rename it to news. Less confusion all around. Module developers will be able to leverage and extend it even further.
From merlinofchoas
The node access modules stuff, from a user perspective, is that you'll be able to use forum access, taxonomy access, tac lite and whatever other access modules *together* and your system will at least work
----------
- performance:
* improved session handling: reduces database overhead.
* improved access checking: reduces database overhead.
* made it possible to do memcached based session management.
* omit sidebars when serving a '404 - Page not found': saves CPU cycles and bandwidth.
* added an 'aggressive' caching policy.Lots of really neat very technical stuff which means Drupal runs better faster stronger and is more flexible too.
----------
- removed the archive module.Yes, the old archive module was used. No one was really giving it much attention and with views module you can really do better and as a contrib module the maintainer now has more flexibility to do as he chooses with less lag time for review.
----------
- upgrade system:
* created space for update branches.Important stuff for contrib module versioning.
----------
- forms API:
* made it possible to programmatically submit forms.
* improved api for multistep forms.Multipart forms and allows for modules to submit/run forms. Listen to the Lullabot podcast for a much better description of what this does.
----------
- theme system:
* split up and removed drupal.css.
* added nested lists generation.
* added a self-clearing block class.Took out drupal.css. Broke out all the css so that each core module now has its own dedicated css file if it needs it. This means more css files (watch themers go bug eyed, it's funny as heck) but if you are not running a given set of core modules, you have less actual css downloading off your site. Also, it;s more discrete so it's easier to override in your own themes.
----------
Not mentioned in the changelog is the module uninstall feature which removes the module from the database cleanly
Wow. Very long post. Hope this run through is useful to folks who aren't following development lists as closely. Let me know of anything I forgot to mention.

thanks
This is a great write up, clarified many things, thanks very much
+++
Killer post, Sepeck! Bookmarked. This is something that should be written with EVERY new Drupal version.
mail_alter
Well, this is what I submitted and got accepted. The new feature is that you can alter the mail headers or contents before Drupal sends that out to the user. You can use this to solve a variety of problems. Issue with use cases is here: http://drupal.org/node/71194
thanks Gabor
I knew it was something for more flexibility but completely missed the discussions.
Excellent explanations!
I followed your detailed comments and found them very, very helpful. Thanks for taking the time to write out everything line-by-line in the changelog.
Also, I have bookmarked this page because I definitely want to access it again in the future.
Thank you!
Walt
...
It's not everything, just what I could remember. I also probably got some things not quite right depending on your point of view but it's close enough for most of us.
Wow!
Just upgraded my personal site from 4.x CVS to HEAD. What a great job! Thanks so much to all the contributing developers for the great work. So glad I settled on Drupal for my CMS platform.
notes on three items
comments on why these are important:
"-introduced the ability to alter mail sent from system"
this means that you can add a custom footer, a custom CC or BCC field, or whatever your heart desires from any e-mail sent by any module installed on your site.
" * moved core modules to their own directories"
This is important, since it makes it easer to maintain .info and .install files for each core module, so tables can be installed as needed rather than being created by default.
" * look for page templates based upon the path."
This is really cool- it means I can have separate page templates based on path (URL) with as fine a grain as desired- all node pages different from all taxonomy term pages, a different layout for each taxonomy term, or even for each node (if necessary).
thank you
thank you
Thank you
This is a excellent writing, I learn many things that I haven't known.
Thank's
Post new comment