After an extensive testing period, the Drupal project has released version 4.4.0 of its open-source content management and community platform. The release of version 4.4.0 adds a number new features that improve Drupal's flexibility, performance, usability and accessibility. A list of the major changes and additions is provided below. For more information, please refer to the CHANGELOG.

You can download Drupal 4.4.0 from http://www.drupal.org/drupal/drupal-4.4.0.tgz.

Major changes

  • Usability improvements: added breadcrumb navigation to all pages, made it possible to add context-sensitive help to all pages, replaced drop-down menus by radio buttons where appropriate, removed the 'magic_quotes_gpc = 0' requirement, added a 'book navigation' block, and so on.
  • Accessibility improvements: made themes degrade gracefully in absence of CSS, grouped form elements using '<fieldset>' and '<legend>' tags, added '<label>' tags to form elements.
  • All search queries are logged.
  • RSS/RDF aggregator improvements: added support for conditional GET, added support for HTTP redirects, export feeds as OPML, added support for <image>, <pubDate>, <dc:date>, <dcterms:created>, <dcterms:issued> and <cterms:modified>, and so on.
  • Comment module improvements: made it possible to disable the "comment viewing controls".
  • Performance improvements: improved module loading when serving cached pages, made it possible to automatically disable modules when under heavy load, made it possible to automatically disable blocks when under heavy load, improved performance and memory footprint of the locale module.
  • Theme system improvements: simplified the theme system, added many new theme functions and improved themability of Drupal, added avatar support to some themes, replaced theme 'UnConeD' by 'Chameleon'. replaced theme 'Marvin' by 'Pushbutton'.
  • Added a file API: enables better document management.
  • Added support for the MetaWeblog API and MovableType extensions.
  • Refactored 404 (file not found) handling to support custom 404 pages.
  • Documentation: added many PHPDoc/Doxygen comments.

Installation and upgrading

You can download Drupal 4.4.0 from http://www.drupal.org/drupal/drupal-4.4.0.tgz.

For instructions on installing or upgrading Drupal, please consult the installation documentation and the instructions carried out by the update.php script. You can also check the release candidate post for upgrade experiences of early adopters.

First, for the most trouble free transition it is recommended that you first upgrade existing installations to Drupal 4.3.0, Drupal 4.3.1 or Drupal 4.3.2.

Also, please take note that several documents (e.g. INSTALL, CHANGELOG, etc.), modules (e.g. import module) and themes (e.g. UnConeD and Marvin) have been renamed or moved to the contributions repository. It is recommended that you (temporarily) remove these files before you run the upgrade script.

Third, remember that contributed or third-party themes and modules developed for Drupal 4.3.x are not likely to work with Drupal 4.4.0. Developers that want to help update themes or modules can find a list of changes with Drupal 4.3.x in the Module developer's guide and Theme developer's guide. We recommend you to disable contributed themes and modules during the upgrade process.

No database changes are required for people upgrading from the release candidate.

Comments

Frodo Looijaard’s picture

The .tgz archive does not create its own directory when you unpack it, and throws everything into the current directory. Not nice :-(

Dries’s picture

Fixed that.

Frodo Looijaard’s picture

That was fast!

And, of course, thanks to you and all other developers for all the good work, leading to the release of 4.4.0.

Thank you!
Frodo

adrian’s picture

All the developer's man hours who made this great release possible.

Of the releases I have participated in, I think this one has gone the smoothest, and we have added an incredible amount of polish to the drupal code base.

Congrats to everyone , and here's to an awesome 4.5.0 =)

  Sanity is a sandbox in the playground of my mind.
     I'm going to go play on the swings now.
Frodo Looijaard’s picture

Look at this issue to solve 500 Internal Server Error messages. It is new if you upgrade from 4.3.x or older. It happens when you expect to get a page-not-found. A similar problem may occur if you use caching, but I have not tested that; look in includes/bootstrap.inc in that case and apply a similar fix as described in the above issue.

igc’s picture

This only affects new installations, where no posts exist. When you go to administer > content and click on the Go button (filters & operations), a warning will pop on top of the page.

The problem is in ./modules/node.module, line 684. Here's the fixed code (only changed the first line):

if (isset($_POST['edit']['operation']) && isset($_POST['edit']['status'])) {
$operation = $operations[$_POST['edit']['operation']][1];
foreach ($_POST['edit']['status'] as $nid => $value) {
if ($value) {
db_query($operation, $nid);
}
}

PS. I have some more suggestions on this specific function, but have no clue which is the right place to post them (I'm kinda new to drupal). Can you give me some directions?

Brian@brianpuccio.net’s picture

You can submit bug reports here. Enter a title and select a project (in this case, Drupal). Click "preview". Enter all the information that you want (bunches of fields will pop up).

If you feel so inclined, submit a patch as well.

(Yes, the bug submission proccess is not as clear cut as it culd/should be.)

CodeMonkeyX’s picture

Maybe April 1st was not the best day to post this. ;) At first I thought you might be pulling my leg. ;)

drstuey’s picture

Hi,
the Downloads/Releases page hasn't been updated with the new version yet.

http://drupal.org/project/releases

yasha’s picture

im trying to upgrade from 4.3.2 to 4.4.0 but the upgrade script page says there are no updates available. the last one is from october of 2003. how do i update my installation?

jibbajabba’s picture

I had a few problems upgrading. Be sure to remove old themes and contributed modules that haven't been updated to 4.4.0 before installing. Before I removed old contributed modules, I had a problem with Node bodies display "process" instead of showing the content of the node.

paul138’s picture

Sadly, I had the 'Process' problem and fixed it by removing many of the old modules. There should be a better way to do this no? Something like many of the groupware applications are using. The page fetches an XML file and parses a list of current modules/versions. It then checks against what it has installed and notifies you of upgrades or incompatibilities. This could also involve a web-based module installer, but that's a whole other can of worms.

As it stands, I don't mind visiting the download page every now and then but there are a lot of modules at this location and it's a bit of a drag to do updates. This has prob been covered many times before so I wont flog a dead horse.

As far as the path problem, it's odd. Sometimes it happens and sometimes it doesn't. I'm having problems with the forums myself. When I go to the root taxonomy entry it returns 404. I'll dig deep and see what I can fix :-)

Oh yeah, hats off to the drupal team: Thanks for another great drupal release!

Brian@brianpuccio.net’s picture

There has been talk of an installation API on the mailing lists and I think someone has a working draft of it somewhere. One of the suggestions was to have a web based install interface for modules, making site updating almost transparent to the end user with little or no need to FTP in and change files.

jibbajabba’s picture

The path problem was my fault. I neglected to put drupal_get_html_head(); in my theme. Works fine now.

jibbajabba’s picture

I noticed that filters don't get applied to main pages, e.g. node list, blog list, but they do get applied to permalink pages, e.g. node/view/[id]. Is there some reason for this? I don't like using the teasers much on my site and remove the if statement that puts out a teaser, so my /blog page will show the full node body. How do I allow filters to be used on /blog and other main pages?

gerardryan’s picture

Pushbutton is the BOMB-DIGGEDY!!!

Fantastic release, overall. Congratulations, all.

I love Drupal. :-)

Robert Castelo’s picture

Ta very much.

-- Pushbutton Test Experience -->>

------------------------------------------
Drupal Specialists: Consulting, Development & Training

Robert Castelo, CTO
Code Positive
London, United Kingdom
----

wbclay’s picture

Upgrading from Drupal 4.3.2 running with PostgreSQL, the upgrade.php script omits the "filters" table that 4.4.0 requires. The include file upgrade.inc at upgrade_78 has a placeholder where the PostgreSQL data definition is needed. I haven't delved into the exact syntax for ".inc" files, but the bare SQL syntax needed at this point is:

drupal-4.4.0/database/updates.inc, update_78 for PostgreSQL

CREATE TABLE filters (
module varchar(64) NOT NULL DEFAULT '',
weight smallint NOT NULL DEFAULT 0
);
CREATE INDEX filters_weight ON filters (weight);

Dries, great work! If you can transliterate this snippet into .inc synax, you'll have plugged a very minor hole.

Bill Clay
Charlotte NC USA

adrian’s picture

I did originally create a patch that does this but it got lost in the move from update.php to updates.inc.

I have submitted a patch for the new file to fix this again.

  Sanity is a sandbox in the playground of my mind.
     I'm going to go play on the swings now.
Moozer’s picture

Hi all, I just wanted to share a solution to a problem that tripped me up when I was upgrading. When I went to run the upgrade.php script, I got the following error:

warning: Failed opening '' for inclusion (include_path='.:/usr/share/pear') in /home/ben/public_html/includes/theme.inc on line 51.

The code at that point is (line numbers added):
49> $theme = $themes[$user->theme] ? $user->theme : variable_get("theme_default",
0);
50>
51> include_once($themes[$theme]->filename);
52>
53> return $theme;

I'm no PHP whiz, but I think it's trying to get either you user defined theme (for the 1 user) if you've defined it or the default theme for the installation if you haven't.

Now think back to the installation instructions above where it suggests deleting the UnConeD and Marvin themes. If you did this, and if you had either of these themes defined as your user theme (or if you didn't have a user theme and either of them were the default theme) then you'll get the error above.

A quick and easy solution is to execute a sql statement like the following in your drupal database:
update users set theme = 'xtemplate' where uid = 1

This will set your 1 user theme to xtemplate, which exists by default. Of course you can always change it later. Also, remember to update your default theme to one that exists once everything is up and working!

Thanks to the Drupal development team for all your hard work!

Ben E