New Features in Bugzilla 3.2

Major UI Improvements

Bugzilla 3.2 has had some UI assistance from the NASA Human-Computer Interaction department and the new Bugzilla User Interface Team.

In particular, you will notice a massively redesigned bug editing form, in addition to our new skin.

New Default Skin: Dusk

Bugzilla 3.2 now ships with a skin called "Dusk" that is a bit more colorful than old default "Classic" skin.

Upgrading installations will still default to the "Classic" skin--administrators can change the default in the Default Preferences control panel. Users can also choose to use the old skin in their Preferences (or using the View :: Page Style menu in Firefox).

The changes that Bugzilla required for Dusk made Bugzilla much easier to skin. See the Addons page for additional skins, or try making your own!

Custom Status Workflow

You can now customize the list of statuses in Bugzilla, and transitions between them.

You can also specify that a comment must be made on certain transitions.

New Custom Field Types

Bugzilla 3.2 has support for three new types of custom fields:

  • Large Text: Adds a multi-line textbox to your bugs.
  • Multiple Selection Box: Adds a box that allows you to choose multiple items from a list.
  • Date/Time: Displays a date and time, along with a JavaScript calendar popup to make picking a date easier.

Easier Installation

Bugzilla now comes with a script called install-module.pl that can automatically download and install all of the required Perl modules for Bugzilla. It stores them in a directory inside your Bugzilla installation, so you can use it even if you don't have administrator-level access to your machine, and without modifying your main Perl install.

checksetup.pl will print out instructions for using install-module.pl, or you can read its documentation.

Experimental Oracle Support

Bugzilla 3.2 contains experimental support for using Oracle as its database. Some features of Bugzilla are known to be broken on Oracle, but hopefully will be working by our next major release.

The Bugzilla Project, as an open-source project, of course does not recommend the use of proprietary database solutions. However, if your organization requires that you use Oracle, this will allow you to use Bugzilla!

The Bugzilla Project thanks Oracle Corp. for their extensive development contributions to Bugzilla which allowed this to happen!

Improved UTF-8 Support

Bugzilla 3.2 now has advanced UTF-8 support in its code, including correct handling for truncating and wrapping multi-byte languages. Major issues with multi-byte or unusual languages are now resolved, and Bugzilla should now be usable by users in every country with little (or at least much less) customization.

Group Icons

Administrators can now specify that users who are in certain groups should have an icon appear next to their name whenever they comment. This is particularly useful for distinguishing developers from bug reporters.

Other Enhancements and Changes

These are either minor enhancements, or enhancements that have very short descriptions. Some of these are very useful, though!

Enhancements For Users

  • Bugs: You can now reassign a bug at the same time as you are changing its status.
  • Bugs: When entering a bug, you will now see the description of a component when you select it.
  • Bugs: The bug view now contains some Microformats, most notably for users' names and email addresses.
  • Bugs: You can now remove a QA Contact from a bug simply by clearing the QA Contact field.
  • Bugs: There is now a user preference that will allow you to exclude the quoted text when replying to comments.
  • Bugs: You can now expand or collapse individual comments in the bug view.
  • Attachments: There is now "mid-air collision" protection when editing attachments.
  • Attachments: Patches in the Diff Viewer now show line numbers (Example).
  • Attachments: After creating or updating an attachment, you will be immediately shown the bug that the attachment is on.
  • Search: You can now reverse the sort of a bug list by clicking on a column header again.
  • Search: Atom feeds of bug lists now contain more fields.
  • Search: QuickSearch now supports searching flags and groups. It also now includes the OS field in the list of fields it searches by default.
  • Search: "Help" text can now appear on query.cgi for Internet Explorer and other non-Firefox browsers. (It always could appear for Firefox.)
  • Bugzilla now ships with an icon that will show up next to the URL in most browsers. If you want to replace it, it's in images/favicon.ico.
  • You can now set the Deadline when using "Change Several Bugs At Once"
  • Saved Searches now save their column list, so if you customize the list of columns and save your search, it will always contain those columns.
  • Saved Searches: When you share a search, you can now see how many users have subscribed to it, on userprefs.cgi.
  • Saved Searches: You can now see what group a shared search was shared to, on the list of available shared searches in userprefs.cgi.
  • Flags: If your installation uses drop-down user lists, the flag requestee box will now contain only users who are actually allowed to take requests.
  • Flags: If somebody makes a request to you, and you change the requestee to somebody else, the requester is no longer set to you. In other words, you can "redirect" requests and maintain the original requester.
  • Flags: Emails about flags now will thread properly in email clients to be a part of a bug's thread.
  • When using email_in.pl, you can now add users to the CC list by just using @cc as the field name.
  • Many pages (particularly administrative pages) now contain links to the relevant section of the Bugzilla Guide, so you can read the documentation for that page.
  • Dependency Graphs should render more quickly, as they now (by default) only include the same bugs that you'd see in the dependency tree.

Enhancements For Administrators

  • Admin UI: Instead of having the Administration Control Panel links in the footer, there is now just one link called "Administration" that takes you to a page that links to all the administrative controls for Bugzilla.
  • Admin UI: Administrative pages no longer display confirmation pages, instead they redirect you to some useful page and display a message about what changed.
  • Admin UI: The interface for editing group inheritance in editgroups.cgi is much clearer now.
  • Admin UI: When editing a user, you can now see all the components where that user is the Default Assignee or Default QA Contact.
  • Email: For installations that use SMTP to send mail (as opposed to Sendmail), Bugzilla now supports SMTP Authentication, so that it can log in to your mail server before sending messages.
  • Email: Using the "Test" mail delivery method now creates a valid mbox file to make testing easier.
  • Authentication: Bugzilla now correctly handles LDAP records which contain multiple email addresses. (The first email address in the list that is a valid Bugzilla account will be used, or if this is a new user, the first email address in the list will be used.)
  • Authentication: Bugzilla can now take a list of LDAP servers to try in order until it gets a successful connection.
  • Authentication: Bugzilla now supports RADIUS authentication.
  • Security: The login cookies is now created as "HTTPOnly" so that it can't be read by possibly malicious scripts. Also, if SSL is enabled on your installation, the login cookie is now only sent over SSL connections.
  • Security: The ssl parameter now protects every page a logged-in user accesses, when set to "authenticated sessions." Also, SSL is now enforced appropriately in the WebServices interface when the parameter is set.
  • Database: Bugzilla now uses transactions in the database instead of table locks. This should generally improve performance with many concurrent users. It also means if there is an unexpected error in the middle of a page, all database changes made during that page will be rolled back.
  • Database: You no longer have to set max_packet_size in MySQL to add large attachments. However, you may need to set it manually if you restore a mysqldump into your database.
  • New WebService functions: Bug.add_comment and Bugzilla.extensions.
  • You can now delete custom fields, but only if they have never been set on any bug.
  • There is now a --reset-password argument to checksetup.pl that allows you to reset a user's password from the command line.
  • There is now a script called sanitycheck.pl that you can run from the command line. It works just like sanitycheck.cgi. By default, it only outputs anything if there's an error, so it's ideal for administrators who want to run it nightly in a cron job.
  • The strict_isolation parameter now prevents you from setting users who cannot see a bug as a CC, Assignee, or QA Contact. Previously it only prevented you from adding users who could not edit the bug.
  • Extensions can now add their own headers to the HTML <head> for things like custom CSS and so on.
  • sanitycheck.cgi has been templatized, meaning that the entire Bugzilla UI is now contained in templates.
  • When setting the sslbase parameter, you can now specify a port number in the URL.
  • When importing bugs using importxml.pl, attachments will have their actual creator set as their creator, instead of the person who exported the bug from the other system.
  • The voting system is off by default in new installs. This is to prepare for the fact that it will be moved into an extension at some point in the future.
  • The shutdownhtml parameter now works even when Bugzilla's database server is down.

Enhancements for Localizers (or Localized Installations)

  • The documentation can now be localized--in other words, you can have documentation installed for multiple languages at once and Bugzilla will link to the correct language in its internal documentation links.
  • Bugzilla no longer uses the languages parameter. Instead it reads the template/ directory to see which languages are available.
  • Some of the messages printed by checksetup.pl can now be localized. See template/en/default/setup/strings.txt.pl.