New Features in Bugzilla 2.22

Complete PostgreSQL Support

Bugzilla 2.20 contained experimental support for PostgreSQL. In Bugzilla 2.22, PostgreSQL support is fully complete and stable. Using PostgreSQL with Bugzilla should be as stable as using MySQL, and if you experience any problems they will be taken as seriously as if you were running MySQL.

There are no known remaining major problems with Bugzilla on PostgreSQL. All features of Bugzilla have been tested and work.

Parameters In Sections

Long-time users of Bugzilla know that over time the parameter list has grown quite large. It has now been split into sections to make it easier to use.

One Codebase, Multiple Databases

There is now limited support for having multiple projects use the same Bugzilla codebase, but all have separate databases.

The different projects can have their own templates and their own bug database, but all use the same set of Bugzilla code in the same directory.

To enable this, set an environment variable called PROJECT when calling the Bugzilla CGIs. Then for each project, you can have a localconfig.PROJECT (where "PROJECT" is the value of the PROJECT environment variable) file for the database parameters, and a template/en/PROJECT directory (where "PROJECT" is the value of the PROJECT environment variable).

This feature isn't documented yet, but we hope to have documentation for it soon.

UTF-8 for New Installations

If this is the first time you're installing Bugzilla, it will now use UTF-8 encoding for all pages, automatically. It will also send emails in UTF-8. This eliminates most of the internationalization problems users have experienced, as one Bugzilla page may now contain any number of languages simultaneously.

If you are upgrading and you want to use UTF-8, just turn on the "utf8" Parameter. However, realize that if you have non-UTF-8 data in your Bugzilla, it will appear unreadable. (If you just have ASCII in your database, you're safe to turn on the "utf8" parameter, definitely.)

Admins Can Impersonate Users

User impersonation (think of the su/sudo command on Unix) allows you to view pages and perform actions as if you are logged in as someone else, without having to know their password.

A user in the new "bz_sudoers" group has the option of "becoming" any user in Bugzilla. Once they "become" that user, they *are* that user for the rest of the session, until they decide to switch back to being themselves.

However, they cannot "become" any user in the "bz_sudo_protect" group. This group includes everybody in the "admin" and "bz_sudoers" groups by default.

Any time a user is impersonated, they will get an email notifying them who has impersonated them.

Bug Import and Moving Improvements

The XML Import script, importxml.pl, has been completely re-written.

It now:

  • Correctly imports the "priority" field
  • Understands when the "Reporter" or "CC List" security boxes are unchecked on the bug.
  • Places bugs in the appropriate groups
  • Allows attachments to be imported
  • Is much more forgiving about small problems in the XML

Adding Individual Bugs to Saved Searches

Users now have the option of adding an individual bug to any particular Saved Search. If you don't like having the entry box in your footer for this feature, you can disable it in your Preferences.

Attach URLs

Instead of attaching a file, you can now also attach a URL to a bug. This will show up just like an attachment on show_bug.cgi, but when you click on it, it will take you to the URL.

To enable this, turn on the "allow_attach_url" parameter.

Optional "Strict Isolation" for Groups

If you turn on the "strict_isolation" parameter in Bugzilla, you will *not* be able to add any user to the CC field (or set them as an Asignee or QA Contact) unless that user could normally see the bug. That is, you will no longer be able to "accidentally" (or intentionally) give somebody access to a bug that they otherwise couldn't see.

"editcomponents" Change

Previously, all users who had "editcomponents" could see every Product, using the editcomponents.cgi script. Now, users with "editcomponents" can only see Products that they normally have access to.

This restriction also affects editversions.cgi, editmilestones.cgi and editproducts.cgi.

"shutdownhtml" Change

All of Bugzilla is now affected by the "shutdownhtml" parameter, including command-line scripts. checksetup.pl is exempt. Many scripts (such as collectstats.pl and whine.pl) will just exit silently when "shutdownhtml" is turned on.

Miscellaneous Improvements

  • Added a frequently-requested user preference for whether or not to go to the next bug in your list after submitting changes to a bug.
  • The ability to do relative date searches (like "1d" for "1 day" or "1w" for "1 week") by hour now, in addition to days and other units of time.
  • "Alias" added to the New Bug form, for users with editbugs.
  • Users can now actually see the descriptions of flags that you enter in editflagtypes.cgi. The description will appear as a tooltip when a user places their mouse over the flag name on show_bug.cgi.
  • Bugzilla will optionally convert BMP attachments into PNGs for you. See the "convert_uncompressed_images" in the "Attachments" section of the Parameters.
  • You can now edit the Status Whiteboard when you are changing multiple bugs at once.
  • The way that groups work in the database has changed, and large-scale Bugzilla use with many concurrent users should be much faster, as a result. (Technical Details: The need for Bugzilla to "derive groups" has gone away pretty much entirely.)
  • Performance improvements on searching attachment information that's not the actual content of the attachment (such as searching the Attachment Description or the Attachment MIME Type).
  • You can now specify multiple email addresses, comma-separated, when setting the requestee of a flag, and it will set the flag once for each of those email addresses.
  • "Bug Creation Time" is now searchable in the Boolean Charts.
  • When you mark a comment on a bug as private, the background color of the comment will change immediately. However, in order for Bugzilla to register that the comment is now private, you still have to "submit" the changes.
  • Emails sent from Bugzilla now have "X-Bugzilla-Keywords" and "X-Bugzilla-Severity" by default, containing the information from the related Bugzilla fields.
  • You can now change the assignee and QA contact on multiple bugs at once even when those bugs are in different products.
  • contrib/merge-users.pl allows you to merge two user accounts. This is particulary useful when a user opened several accounts and only one should be kept. It also lets you merge a deleted account with an existing one.