Software-update: Bugzilla 3.0rc1

The Mozilla Organisation heeft de eerste release candidate van Bugzilla 3.0 vrijgegeven. Bugzilla is een bekend 'bug tracking'-programma in een omgeving die voorzien is van Perl en MySQL of PostgreSQL. Hiermee kunnen ontwikkelaars de gerapporteerde bugmeldingen en feature requests van gebruikers overzichtelijk rangschikken op prioriteit en vervolgens behandelen. De gebruikers kunnen de voortgang bekijken en nieuwe informatie toevoegen. Deze release candidate is met de volgende aankondiging op de wereld gezet:


Welcome to Bugzilla 3.0! It's been over eight years since we released Bugzilla 2.0, and everything has changed since then. Even just since our previous release, Bugzilla 2.22, we've added a lot of new features. So enjoy the release, we're happy to bring it to you.

If you're upgrading, make sure to read How to Upgrade From An Older Version. If you are upgrading from a release before 2.22, make sure to read the release notes for all the previous versions in between your version and Bugzilla 3.0.

New Features and Improvements

Custom Fields
    Bugzilla now includes very basic support for custom fields. Users in the admin group can add plain-text or drop-down custom fields. You can edit the values available for drop-down fields using the "Field Values" control panel. Don't add too many custom fields! It can make Bugzilla very difficult to use. Try your best to get along with the default fields, and then if you find that you can't live without custom fields after a few weeks of using Bugzilla, only then should you start your custom fields.
mod_perl Support
    Bugzilla 3.0 supports mod_perl, which allows for extremely enhanced page-load performance. mod_perl trades memory usage for performance, allowing near-instantaneous page loads, but using much more memory. If you want to enable mod_perl for your Bugzilla, we recommend a minimum of 1.5GB of RAM, and for a site with heavy traffic, 4GB to 8GB. If performance isn't that critical on your installation, you don't have the memory, or you are running some other web server than Apache, Bugzilla still runs perfectly as a normal CGI application, as well.
Shared Saved Searches
    Users can now choose to "share" their saved searches with a certain group. That group will then be able to "subscribe" to those searches, and have them appear in their footer. If the sharer can "bless" the group he's sharing to, (that is, if he can add users to that group), it's considered that he's a manager of that group, and his queries show up automatically in that group's footer (although they can unsubscribe from any particular search, if they want.) In order to allow a user to share their queries, they also have to be a member of the group specified in the querysharegroup parameter. Users can control their shared and subscribed queries from the "Preferences" screen.
Attachments and Flags on New Bugs
    You can now add an attachment while you are filing a new bug. You can also set flags on the bug and on attachments, while filing a new bug.
Custom Resolutions
    You can now customize the list of resolutions available in Bugzilla, including renaming the default resolutions. The resolutions FIXED, DUPLICATE and MOVED have a special meaning to Bugzilla, though, and cannot be renamed or deleted.
Per-Product Permissions
    You can now grant users editbugs and canconfirm for only certain products. You can also grant users editcomponents on a product, which means they will be able to edit that product including adding/removing components and other product-specific controls.
User Interface Improvements
    There has been some work on the user interface for Bugzilla 3.0, including:
    • There is now navigation and a search box a the top of each page, in addition to the bar at the bottom of the page.
    • A re-designed "Format for Printing" page for bugs.
    • The layout of show_bug.cgi (the bug editing page) has been changed, and the attachment table has been redesigned.
XML-RPC Interface
    Bugzilla now has a Web Services interface using the XML-RPC protocol. It can be accessed by external applications by going to the xmlrpc.cgi on your installation. Documentation can be found in the Bugzilla API Docs, in the various Bugzilla::WebService modules.
    Bugzilla can have multiple "skins" installed, and users can pick between them. To write a skin, you just have to write several CSS files. See the Custom Skins Documentation for more details. We currently don't have any alternate skins shipping withBugzilla. If you write an alternate skin, please let us know!
Unchangeable Fields Appear Unchangeable
    As long as you are logged in, when viewing a bug, if you cannot change a field, it will not look like you can change it. That is, the value will just appear as plain text.
All Emails in Templates
    All outbound emails are now controlled by the templating system. What used to be the passwordmail, whinemail, newchangedmail and voteremovedmail parameters are now all templates in the template/ directory. This means that it's now much easier to customize your outbound emails, and it's also possible for localizers to have more localized emails as part of their language packs, if they want. We also added a mailfrom parameter to let you set who shows up in the From field on all emails that Bugzilla sends.
No More Double-Filed Bugs
    Users of Bugzilla will sometimes accidentally submit a bug twice, either by going back in their web browser, or just by refreshing a page. In the past, this could file the same bug twice (or even three times) in a row, irritating developers and confusing users. Now, if you try to submit a bug twice from the same screen (by going back or by refreshing the page), Bugzilla will warn you about what you're doing, before it actually submits the duplicate bug.
Default CC List for Components
    You can specify a list of users who will always be added to the CC list of new bugs in a component.
File/Modify Bugs By Email
    You can now file or modify bugs via email. Previous versions of Bugzilla included this feature only as an unsupported add-on, but it is now an official interface to Bugzilla. For more details see the documentation for
Users Who Get All Bug Notifications
    There is now a parameter called globalwatchers. This is a comma-separated list of Bugzilla users who will get all bug notifications generated by Bugzilla. Group controls still apply, though, so users who can't see a bug still won't get notifications about that bug.
Improved UTF-8 Support
    Bugzilla users running MySQL should now have excellent UTF-8 support if they turn on the utf8 parameter. (New installs have this parameter on by default.) Bugzilla now correctly supports searching and sorting in non-English languages, including multi-bytes languages such as Chinese.
Automatic Update Notification
    If you belong to the admin group, you will be notified when you log in if there is a new release of Bugzilla available to download. You can control these notifications by changing the upgrade_notification parameter.
Welcome Page for New Installs
    When you log in for the first time on a brand-new Bugzilla installation, you will be presented with a page that describes where you should go from here, and what parameters you should set.
QuickSearch Plugin for IE7 and Firefox 2
    Firefox 2 users and Internet Explorer 7 users will be presented with the option to add Bugzilla to their search bar. This uses the QuickSearch syntax.
Other Enhancements and Changes
    These are either minor enhancements, or enhancements that have very short descriptions. Some of these are very useful, though!

    Enhancements That Affect Bugzilla Users
    • In comments, quoted text (lines that start with >) will be a different color from normal text.
    • There is now a user preference that will add you to the CC list of any bug you modify. Note that it's on by default.
    • Bugs can now be filed with an initial state of ASSIGNED, if you are in the editbugs group.
    • By default, comment fields will zoom large when you are typing in them, and become small when you move out of them. You can disable this in your user preferences.
    • You can hide obsolete attachments on a bug by clicking "Hide Obsolete" at the bottom of the attachment table.
    • If a bug has flags set, and you move it to a different product that has flags with the same name, the flags will be preserved.
    • You now can't request a flag to be set by somebody who can't set it (Bugzilla will throw an error if you try).
    • Many new headers have been added to outbound Bugzilla bug emails: X-Bugzilla-Status, X-Bugzilla-Priority, X-Bugzilla-Assigned-To, X-Bugzilla-Target-Milestone, and X-Bugzilla-Changed-Fields, X-Bugzilla-Who. You can look at an email to get an idea of what they contain.
    • In addition to the old X-Bugzilla-Reason email header which tells you why you got an email, if you got an email because you were watching somebody, there is now an X-Bugzilla-Watch-Reason header that tells you who you were watching and what role they had.
    • If you hover your mouse over a full URL (like that links to a bug, you will see the title of the bug. Of course, this only works for bugs in your Bugzilla installation.
    • If your installation has user watching enabled, you will now see the users that you can remove from your watch-list as a multi-select box, much like the current CC list. (Previously it was just a text box.)
    • When a user creates their own account in Bugzilla, the account is now not actually created until they verify their email address by clicking on a link that is emailed to them.
    • You can change a bug's resolution without reopening it.
    • When you view the dependency tree on a bug, resolved bugs will be hidden by default. (In previous versions, resolved bugs were shown by default.)
    • When viewing bug activity, fields that hold bug numbers (such as "Blocks") will have the bug numbers displayed as links to those bugs.
    • When viewing the "Keywords" field in a bug list, it will be sorted alphabetically, so you can sanely sort a list on that field.
    • In most places, the Version field is now sorted using a version-sort (so 1.10 is greater than 1.2) instead of an alphabetical sort.
    • Options for flags will only appear if you can set them. So, for example, if you can't grant + on a flag, that option won't appear for you.
    • You can limit the product-related output of config.cgi by specifying a product= URL argument, containing the name of a product. You can specify the argument more than once for multiple products.
    • You can now search the boolean charts on whether or not a comment is private.

    Enhancements For Administrators
    • Administrators can now delete attachments, making them disappear entirely from Bugzilla.
    • sanitycheck.cgi can now only be accessed by users in the editcomponents group.
    • The "Field Values" control panel can now only be accessed by users in the admin group. (Previously it was accessible to anybody in the editcomponents group.)
    • There is a new parameter announcehtml, that will allow you to enter some HTML that will be displayed at the top of every page, as an announcement.
    • The loginnetmask parameter now defaults to 0 for new installations, meaning that as long as somebody has the right login cookie, they can log in from any IP address. This makes life a lot easier for dial-up users or other users whose IP changes a lot. This could be done because the login cookie is now very random, and thus secure.
    • Classifications now have sortkeys, so they can be sorted in an order that isn't alphabetical.
    • Authentication now supports LDAP over SSL (LDAPS) or TLS (using the STARTLS command) in addition to plain LDAP.
    • LDAP users can have their LDAP username be their email address, instead of having the LDAP mail attribute be their email address. You may wish to set the emailsuffix parameter if you do this.
    • Administrators can now see what has changed in a user account, when using the "Users" control panel.
    • REMIND and LATER are no longer part of the default list of resolutions. Upgrading installations will not be affected--they will still have these resolutions.
    • editbugs is now the default for the timetrackinggroup parameter, meaning that time-tracking will be on by default in a new installation.
Code Changes Which May Affect Customizations

Packagers: Location Variables Have Moved
    In previous versions of Bugzilla, Bugzilla::Config held all the paths for different things, such as the path to localconfig and the path to the data/ directory. Now, all of this data is stored in a subroutine, Bugzilla::Constants::bz_locations. Also, note that for mod_perl, bz_locations must return absolute (not relative) paths. There is already code in that subroutine to help you with this.
    Bugzilla now supports a code hook mechanism. See the documentation for Bugzilla::Hook for more details. This gives Bugzilla very advanced plugin support. You can hook templates, hook code, add new parameters, and use the XML-RPC interface. So we'd like to see some Bugzilla plugins written! Let us know on the mailing list if you write a plugin. If you need more hooks, please File a bug!
API Documentation
    Bugzilla now ships with all of its perldoc built as HTML. Go ahead and read the API Documentation for all of the Bugzilla modules now! Even scripts like have HTML documentation.
Elimination of
    The old file has been eliminated. Its code is now in various modules. Each function went to the module that was appropriate for it. Usually we filed a bug in for each function we moved. You can search there for the old name of the function, and that should get you the information about what it's called now and where it lives.
Cleaned Up Variable Scoping Issues
    In normal perl, you can have code like this:
    my $var = 0;
    sub y { $var++ }
    However, under mod_perl that doesn't work. So variables are no longer "shared" with subroutines--instead all variables that a subroutine needs must be declared inside the subroutine itself.
No More SendSQL
    The old SendSQL function and all of its companions are gone. Instead, we now use DBI for all database interaction. For more information about how to use DBI with Bugzilla, see the Developer's Guide Section About DBI
Auth Re-write
    The Bugzilla::Auth family of modules have been completely re-written. For details on how the new structure of authentication, read the Bugzilla::Auth API docs. It should be very easy to write new authentication plugins, now.
    There is a new base class for most of our objects, Bugzilla::Object. It makes it really easy to create new objects based on things that are in the database.
Bugzilla->request-cache used to cache things like the database connection in package-global variables (like $_dbh). That doesn't work in mod_perl, so instead now there's a hash that can be accessed through Bugzilla->request_cache to store things for the rest of the current page request. You shouldn't access Bugzilla->request_cache directly, but you should use it inside of if you modify that. The only time you should be accessing it directly is if you need to reset one of the caches. Hash keys are always named after the function that they cache, so to reset the template object, you'd do: delete Bugzilla->request_cache->{template};.
Other Changes
  • has been completely re-written, and most of its code moved into modules in the Bugzilla::Install namespace. See the checksetup documentation and Bugzilla bug 277502 for details.
  • Instead of UserInGroup(), all of Bugzilla now uses Bugzilla->user->in_group
  • mod_perl doesn't like dependency loops in modules, so we now have a test for that detects dependency loops in modules when you run
  • used to modify the environment variables, like PATH. That now happens in
  • Templates can now link to the documentation more easily. See the global/code-error.html.tmpl and global/user-error.html.tmpl templates for examples. (Search for "docslinks.")
  • Parameters are accessed through Bugzilla->params instead of using the Param() function, now.
  • The variables from the localconfig file are accessed through the Bugzilla->localconfig hash instead of through Bugzilla::Config.
  • Bugzilla::BugMail::MessageToMTA() has moved into its own module, along with other mail-handling code, called Bugzilla::Mailer
  • The CheckCanChangeField() subroutine in process_bug.cgi has been moved to Bugzilla::Bug, and is now a method of a bug object.
  • The code that used to be in the global/banner.html.tmpl template is now in global/header.html.tmpl. The banner still exists, but the file is empty.
Versienummer 3.0rc1
Website Mozilla
Bestandsgrootte 2,07MB
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Japke Rosink


26-02-2007 • 17:00

4 Linkedin

Bron: Mozilla

Reacties (4)

Wijzig sortering
Wat een joekel van een update, dit is nog eens iets anders dan IE of FF die zijn software een nieuw nummertje geeft bij een paar UI veranderingen!
Het enige wat ik jammer vind is dat het in perl is, maar het is wel een zeer goed en compleet systeem.

P.S. Schrijft iemand ff een portje naar PHP? :Y)
Dat kan je beter zeggen van MS/IE.
Firefox zit wel in de decimalen. ... ... ... gek word je ervan.
Dit is dan ook een major update, niet te vergelijken de updates van Fx 1.5 of 2.0.

Als je overigens gaat kijken naar de updates die in Gecko 1.9 komen (waar Fx3.0 op gebaseerd zal zijn) dan zul je ook een enorme waslijst met updates tegenkomen...

En over het poorten naar PHP, waarom zou je dat willen? Als je het alleen maar gebruikt is het toch helemaal niet interessant waar de tool in geschreven is?
Ik hoop dat ze wat hebben gedaan aan het feit
dat je 2 keer bezig bent om een bug aan jouw te assigen en te zeggen dat hij assigned is.

Op dit item kan niet meer gereageerd worden.

Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack,, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.


Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details


    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details