Updates history

[4.6] Monday 25th July 2011

Version 4.6 adds/confirms support for the following new browsers:

This version also includes the following, unrelated bugfixes:

There's one significant change to the Keyboard navigation module:

And the following extensions have been updated (either with bugfixes as noted earlier, or simply to add support for new browsers):

[4.5] Thursday 11th May 2006

This version is a big change in terms of browser and device support. Version 4.5:

The reason for removing OSX/MSN support is that it's a dead browser - withdrawn by Microsoft in May 2005, and now no longer officially available or supported. It would just be wasted code to continue to support it.

Other notable changes in Version 4.5 include:

Some of the extension scripts have had to be updated to accommodate these changes. If you use any of these extensions you should also update that script:

And if your layout is based on either the Chocolate bar demo or the Office XP demo, please note that the additional CSS for these examples has changed slightly, as shown in the respective demos.

Finally in local news, I've added an RSS feed to the site, for menu updates and development news.

[4.45] Thursday 10th November 2005

Version 4.45 is a service release to fix a few quirks and update a couple of extension scripts, most notably:

This update has required changes to the following extensions, so if you're using either of them already, updgrading is necessary:

The "You Are Here" extension has also been updated to avoid a display quirk in Internet Explorer.

[4.44] Monday 8th August 2005

Version 4.44 is a critical security update, to fix a recently-discovered vulnerability in the PHP scripts. This vulnerability could allow a malicious user to read directory listings or other files, or to include remote files that run commands as the web user.

You only need to upgrade if you're using the PHP version. If you are, please download the latest zipfile, and replace udm-style.php and udm-dom.php with the new files. After updating you will need to re-set your default $config value, and then set the new $cmatch variable to define a character-match for allowed filenames. Please see the PHP setup documentation for details.

Thanks to several people for reporting this, particularly to hackthisite.org who provided a vulnerability report, and to users at CodingForums.com for suggesting solutions.

[4.43] Monday 18th July 2005

Version 4.43 introduces two new extensions, both by popular request:

The Load XML extension is only possible because of a new public method called um.refresh, which re-initialises the navigation tree as though the page had been reloaded - many thanks to Mikkel Heisterberg for suggesting this.

It means that you can now add or remove items after page load, or populate the menus using XMLHttpRequest (aka Ajax). For more about its uses please see: Refreshing the tree after dynamic changes

There are also some improvements to a couple of existing extensions:

And a variety of smaller edits to address some quirks and other issues reported recently:

[4.42] Tuesday 8th March 2005

Version 4.42 is a service release, to tidy up some bugs and other quirks discovered over the last few weeks; notably:

[4.4] Saturday 15th January 2005

This release is a signficant update in terms of accessibility, usability, and cross-browser support. Existing users are encouraged to read these release notes carefully, as the changes may affect your current configuration.

Version 4.4 introduces support for Konqueror 3.2 or later, thanks partly to improvements in the browser, and partly to an increased understanding of its quirks. I'm also very pleased to announce support for Opera 8 - including compatibility with relevant voice commands (if the keyboard navigation module is used).

This version also extends the Keyboard navigation module, addding varying levels of support for Opera 7 and 8, Safari 1.2, and Konqueror 3.2 or later; plus you can now use the Command (apple) key as a hotkey modifier.

And the menu's accessibility to screenreaders is greatly improved, so it no longer relies on scripting, and includes any browser-based reader using Opera, Mozilla, Safari or Konqueror (as well as Win/IE).

The impact on existing menus

The accessibility improvements require a change to the way expanding menus work - assimilating some of the manual conversion process into the main configuration. If you're already using an expanding menu, please see the notes on Converting an expanding menu to 4.4 compatibility.

Most of the extension scripts have been updated or otherwise tweaked - if you're using the Keyboard Navigation Help extension, the Snapshot Cookie extension or the "You are here" extension then you must update, or it won't work correctly anymore. If you're using any other extension, updating is recommended though not essential.

Finally two controls in the um.list array - show menus to IE-based screenreaders and hide static menus for netscape 4 - have been retired, because they no longer seem relevant or appropriate. The first has been superceded by better default behavior; the second now defaults to "no", as it otherwise would be. You don't need to take any action here.

New frameworks

Over to the server-side, and there's a new classic ASP configuration to add to the range of available server-side frameworks. The scripting is written in JScript, but since it's all in external files you can equally use it on pages written in VBScript.

Version 4.4 also adds support for dynamically-generated menus in server-side configurations.

New extensions

Two new extensions this time, both by popular request:

Other improvements and bugfixes

[4.302] Thursday 7th October 2004

4.302 is another minor service release to fix a small, yet pernitious problem in recent mozilla builds. Thanks to Zsolt Kozak for drawing my attention to that.

[4.301] Tuesday 5th October 2004

4.301 is a minor service release to fix support for dynamic menu creation. Thanks to Nick Kaijaks for reporting that.

[4.3] Tuesday 28th September 2004

Version 4.3 is a major upgrade, yet much of it is behind the scenes: many people won't notice a significant difference, while for others whole new vistas of possibility will unfold. :)

First and most significantly, UDM 4.3 introduces a brand-new PHP configuration - your custom file is processed on the server, to generate pure CSS styling automatically, and scripting which only includes the functions you're actually using. This reduces the footprint to a practical minimum, and can bring the total filesize down to only 20K!

This is the first in a range of server-side configurations, to be released over the next few months; upcoming frameworks include ASP, XML and Python.

Back on the client-side, Version 4.3 introduces support for right-to-left (RTL) and bi-directional languages, such as Hebrew and Arabic. Thanks to Ophir Radnitz for his help with this.

This version also has several bug-compensation tweaks for better stability and performance in Internet Explorer, particularly with regard to menu indicators - they're no longer visibly affected by the flickering images at certain cache settings bug in IE6, and are now correctly positioned when using a right-aligned navbar with right-aligned text. These changes have also removed the need for a separate arrow-shim image, and fixed an occassional (also cache-related) problem where unrelated CSS background images might be reloaded on the first time of using the menu.

However in order to streamline the code for these changes, it's been necessary to remove support for textual arrow rollovers - you can still use textual arrows, but the characters will only do whatever CSS changes they inherit from their parent link.

On a more general note, you can now download the developer's manul in a range of different formats, including one which is designed for easy printing. And by popular request we've launched a UDM Support Forum where you can ask for help, and offer support to fellow users.

New extensions

There are also three new event codes in the UDM API, for link mouseout, mousedown and mouseup events.

And the Sliding Menus extension now supports Opera 7.5 (because it can) but no longer supports Mozilla Gecko browsers earlier than 1.3 (because of nasty rendering artifacts).

Other improvements and bugfixes

[4.2] Monday 12th April 2004

Version 4.2 introduces a host of elegant new features:

  1. You can now make menus open onclick, configurable on a per-item basis.
  2. As an offshoot of that, UDM can now be configured as an expanding menu with single or multiple nested levels. This gives you a whole new layout from the same core menu script - what a bargain :)
  3. The main menu script is now available in two stripped-down versions, so you can choose to sacrifice features you don't need or don't mind losing in favour of smaller, and therefore faster scripts.
  4. The um.behaviors value "hide <select> for win/ie5.0" has been redesigned as "manage windowed controls for win/ie", which reconciles the previous choices and adds two new ones. These give greater control over what the script does to prevent <select> elements showing through the menus in Windows Internet Explorer.
  5. There's a new array in udm-custom.js called um.reset, which allows you to control whether certain events will send a reset command - in other words, close all menus and clear all highlighted links. These options were previously hard-coded to "yes".

There are also three new extensions:

  1. The Sliding Menus extension adds a cross-browser sliding transition effect to the menus, with independently controllable open and close animations.
  2. The Keyboard Navigation Help extension provides compact instructions to help your visitors navigate the menus with the keyboard.
  3. The Snapshot Cookie extension maintains the visible state of menus on refresh and between page views. Its purpose is to add persistence to an expanding menu.

And a selection of smaller improvements and bugfixes, particularly:

  1. a crucial bugfix for Internet Explorer 6 to prevent a memory leak between pages or on refresh. Thanks to Björn Carlsson who told me about this, and to Richard Cornford, whose newsgroup posting was the root of the solution.
  2. the show menus to screenreaders functionality is no longer dependent on the keyboard navigation module being present.
  3. fixed a problem where the menus would often not open if you mouse directly over a submenu-indicator arrow, rather than over the text or surrounding space. Thanks to Brian Mohabir for spotting that.
  4. a small correction to the keyboard navigation module, so that pressing the left-arrow key from the first link in a horizontal navbar correctly sends focus to the final link.
  5. a fix to the API which was not reporting direction-key events to Windows Internet Explorer.
  6. some adjustments to the style script for better encapsulation.

[4.1] Tuesday 16th March 2004

There are no major changes in this update, just a few small tweaks:

  1. a bugfix to prevent script errors when using filters in Internet Explorer with disabled or insufficient DirectX integration. Thanks to Rod MacTaggart for telling me about this.
  2. an improvement to the behavior that prevents menus from opening when colors are turned off in Win/IE, so it also works with popup menus.
  3. a bugfix for Safari where border collapse was not being applied to horizontal navbar links if they have an explicit width. Thanks to Sean Courtney who discovered this issue.
  4. a bugfix for all browsers that corrects an error in the menu repositioning routine when applied to first-level popup menus.

[4.02 RC1] Thursday 11th March 2004

Version 4.02 adds some useful new features:

  1. By request, a horizontal navbar can now have a visible continuation strip, that stretches the navbar <ul> to 100% of its available width. Thanks to Scott Blanchard for this suggestion. You can see it in action with the Office XP demo.
  2. The keyboard navigation module now supports a user-preferences form, allowing your visitors to change the hotkey and hotkey-modifier. Thanks to Aurelien Levy for this idea.
  3. The menu close timer can now take a value of "never", which allows you to create persistent menus - that only close from a document mouse click, rather than from menu mouseout.

And there are several smaller changes, notably:

  1. some edits to the menu script to avoid an image-loading bug in Internet Explorer.
  2. a bugfix to prevent script errors when using a navbar with no menus at all.
  3. a correction to the CSS generating script where padding-top was not being applied to menus which use border collapse.
  4. a usability tweak for Win/IE so that the menus don't open when colors are turned off - to prevent them from showing up transparent. Thanks to Aurelien Levy again for drawing my attention to this.
  5. some code optimisation for better performance in Internet Explorer.

I've also updated the Making an image-based navbar documentation to correct some problems in Opera 5, 6 and 7.2. Thanks to Mark Hewitt who told me about these.

[4.01 Beta3] Wednesday 11th February 2004

Version 4.01 adds support for headings within the navbar list, which should improve usability for screenreaders and other serial browsers, by allowing them to skip from branch to branch using their "headings-reading mode" or equivalent. Internal headings also provide additional semantics that should help to distinguish a navbar link from a menu link.

As a pleasant side-effect of this feature, you can now add any valid HTML between <li> and <a>, as well as inside <a>.

There's also a number of smaller fixes and improvements, most notably:

  1. A small visual enhancement to reduce unnecessary menu-opening - if you click a link before its menu has opened, the open call is cancelled.
  2. Mid-level browser support is extended back to Konqueror 2.2.
  3. The appearance and layout of a horizontal navbar is now consistent in all versions of Opera 5, where previously it was off in 5.0x builds.
  4. A couple of tweaks to stabilise rigid horizontal overflow, for IE5, IE6 and MSN for Mac OS X.
  5. Fixed a positioning discrepancy with a relative horizontal navbar in Safari 1.1 - apparently a bug I was compensating for in 1.0 no longer exists in 1.1 or later.
  6. Removed an extraneous return value in the item mouseover method, which was interfering with the default behavior of links to show their URI in the status bar when hovered-over or focused.
  7. Updated the Import HTML extension to exclude Opera 7.1 or earlier, because it was causing Linux/Opera 7.11 to crash.

[4.0 Beta2] Thursday 22nd January 2004

The following improvements have been made since yesterday's release:

  1. When viewed in a browser with javsacript enabled but CSS disabled, the menu list no longer responds to open/close events - the list remains static and useable as though javascript were also disabled.
  2. A small tweak for Opera 5.0x to prevent submenus being visible. This was a browser bug where display and visibility styles were not being applied unless they come in a rule of their own. However the appearance of a horizontal navbar is still not perfect in these early builds (there may be a margin around each link, caused by incorrect application of the display property) but by 5.1 everything is fine.
  3. A small tweak for Win/IE6 so that if the navbar is contained in a <div> which uses the align attribute, the menus do not inherit that alignment, which might otherwise cause a position discrepancy compared with other browsers. Why the value of an attribute should be inherited by an element that doesn't have that attribute, is anybody's guess..

[4.0 Beta1] Wednesday 21st January 2004

Version 4.0 is a whole new codebase - improved over Version 3 in almost every conceivable way.

At first, it's what you might expect from a major version upgrade - better, more powerful and configurable, with a wider and more precise range of features. It's also lighter, faster-loading and easier to use.

But it's much more than that - UDM is now based on transformed HTML - which means it still provides content to browsers that don't support javascript.

Among the forerunners of a new breed of semantic DHTML - UDM creates rich, dynamic functionality for modern graphical browsers, but degrades gracefully all the way back to plain text.

Neither Flash nor Java can claim anything like that level of accessibility - the navbar is accessible to all browsers that understand HTML - and unlike traditional DHTML navigation, it doesn't rely on javascript to exist.


We would like your feedback! Take the UDM4 Survey!

UDM 4 is valid XHTML, and in our judgement, meets the criteria for WAI Triple-A conformance.