[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Everything Solved.
# Portions created by Everything Solved are Copyright (C) 2006
# Everything Solved. All Rights Reserved.
#
# Contributor(s): Max Kanat-Alexander Welcome to [% terms.Bugzilla %] 3.2! This is our first major feature
release since [% terms.Bugzilla %] 3.0, and it brings a lot of great
improvements and polish to the [% terms.Bugzilla %] experience. If you're upgrading, make sure to read How to
Upgrade From An Older Version. If you are upgrading from a release
before 3.0, make sure to read the release notes for all the
previous versions in between your version
and this one, particularly the "Notes For Upgraders" section of each
version's release notes. This section describes what's changed in the most recent bug-fix
releases of [% terms.Bugzilla %] after 3.2. We only list the
most important fixes in each release. If you want a detailed list of
everything that's changed in each version, you should use our
Change Log
Page. This release also contains a security fix. See the
Security Fixes Section for details. This release fixes one security issue that is critical for installations
running 3.2.1 under mod_perl. See the
Security Advisory
for details. This release fixes one security issue related to attachments. See the
Security Advisory
for details. This release fixes one security issue that is critical for installations
running 3.2.1 under mod_perl. See the
Security Advisory
for details. This release contains several security fixes. One fix may break any
automated scripts you have that are loading process_bug.cgi
directly. We recommend that you read the entire
Security Advisory
for this release. Any requirements that are new since 3.0.5 will look like
this. Perl v5.8.1 The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]: [% terms.Bugzilla %] 3.2 has had some UI assistance from the NASA
Human-Computer Interaction department and the new
[% terms.Bugzilla %]
User Interface Team. In particular, you will notice a massively redesigned [% terms.bug %]
editing form, in addition to our new skin. [% terms.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 [% terms.Bugzilla %] required for Dusk made
[%+ terms.Bugzilla %] much easier to skin. See the
Addons page
for additional skins, or try making your own! You can now customize the list of statuses in [% terms.Bugzilla %],
and transitions between them. You can also specify that a comment must be made on certain transitions. [% terms.Bugzilla %] 3.2 has support for three new types of
custom fields: [% terms.Bugzilla %] now comes with a script called
install-module.pl that can automatically download
and install all of the required Perl modules for [% terms.Bugzilla %].
It stores them in a directory inside your [% terms.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. [% terms.Bugzilla %] 3.2 contains experimental support for using
Oracle as its database. Some features of [% terms.Bugzilla %] are known
to be broken on Oracle, but hopefully will be working by our next major
release. The [% terms.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 [% terms.Bugzilla %]! The [% terms.Bugzilla %] Project thanks Oracle Corp. for their extensive
development contributions to [% terms.Bugzilla %] which allowed this to
happen! [% terms.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 [% terms.Bugzilla %] should now be usable
by users in every country with little (or at least much less)
customization. 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
[%+ terms.bug %] reporters. These are either minor enhancements, or enhancements that have
very short descriptions. Some of these are very useful, though! Once you have read the notes above, see the
Upgrading
documentation for instructions on how to upgrade. There are more code hooks in 3.2 than there were in 3.0. See the
documentation of Bugzilla::Hook
for more details. Bugzilla/Search.pm has been heavily modified, to be much
easier to read and use. It contains mostly the same code as it did in
3.0, but it has been moved around and reorganized significantly. As part of implementing install-module.pl,
[%+ terms.Bugzilla %] was given a local lib directory which
it searches for modules, in addition to the standard system path. This means that all [% terms.Bugzilla %] scripts now start with
Welcome to [% terms.Bugzilla %] 3.0! It's been over eight years since
we released [% terms.Bugzilla %] 2.0, and everything has changed since
then. Even just since our previous release, [% terms.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 this one. This section describes what's changed in the most recent bug-fix
releases of [% terms.Bugzilla %] after 3.0. We only list the
most important fixes in each release. If you want a detailed list of
everything that's changed in each version, you should use our
Change Log Page. See also the Security Advisory section for
information about a security issue fixed in this release. See also the Security Advisory section for
information about security issues fixed in this release. See also the Security Advisory section for
information about security issues fixed in this release. See also the Security Advisory section for
information about an important security issue fixed in this release. Any requirements that are new since 2.22 will look like
this. The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]: [% terms.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 [% terms.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 [% terms.Bugzilla %], only then should you
start your custom fields. [% terms.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 [% terms.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, [% terms.Bugzilla %] still runs perfectly as a normal CGI
application, as well. 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
Users can control their shared and subscribed queries from
the "Preferences" screen. You can now add an attachment while you are filing a new
[% terms.bug %]. You can also set flags on the [% terms.bug %] and on attachments, while
filing a new [% terms.bug %]. You can now customize the list of resolutions available
in [% terms.Bugzilla %], including renaming the default resolutions. The resolutions 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. There has been some work on the user interface for [% terms.Bugzilla %] 3.0,
including: [% terms.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
[% terms.Bugzilla %]
API Docs, in the various Bugzilla::WebService modules. [% terms.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 with
[% terms.Bugzilla %]. If you write an alternate skin, please
let us know! As long as you are logged in, when viewing [% terms.abug %], 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 outbound emails are now controlled by the templating system.
What used to be the 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 Users of [% terms.Bugzilla %] will sometimes accidentally submit
[% terms.abug %] twice, either by going back in their web browser,
or just by refreshing a page. In the past, this could file the same
[% terms.bug %] twice (or even three times) in a row, irritating
developers and confusing users. Now, if you try to submit [% terms.abug %] twice from the same screen
(by going back or by refreshing the page), [% terms.Bugzilla %] will warn
you about what you're doing, before it actually submits the duplicate
[%+ terms.bug %]. You can specify a list of users who will always be added to
the CC list of new [% terms.bugs %] in a component. You can now file or modify [% terms.bugs %] via email. Previous versions
of [% terms.Bugzilla %] included this feature only as an
unsupported add-on, but it is now an official interface to
[%+ terms.Bugzilla %]. For more details see the documentation
for email_in.pl. There is now a parameter called globalwatchers. This
is a comma-separated list of [% terms.Bugzilla %] users who will
get all [% terms.bug %] notifications generated by [% terms.Bugzilla %]. Group controls still apply, though, so users who can't see [% terms.abug %]
still won't get notifications about that [% terms.bug %]. [% terms.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.) [% terms.Bugzilla %]
now correctly supports searching and sorting in non-English languages,
including multi-bytes languages such as Chinese. If you belong to the admin group, you will be notified
when you log in if there is a new release of [% terms.Bugzilla %]
available to download. You can control these notifications by changing the
upgrade_notification parameter. If your [% terms.Bugzilla %] installation is on a machine that needs to go
through a proxy to access the web, you may also have to set the
proxy_url parameter. When you log in for the first time on a brand-new [% terms.Bugzilla %]
installation, you will be presented with a page that describes
where you should go from here, and what parameters you should set. Firefox 2 users and Internet Explorer 7 users will be presented
with the option to add [% terms.Bugzilla %] to their search bar.
This uses the
QuickSearch syntax. These are either minor enhancements, or enhancements that have
very short descriptions. Some of these are very useful, though! [% terms.Bugzilla %] contains a minor security fix. For details, see the
Security Advisory. [% terms.Bugzilla %] contains one security fix for
importxml.pl.
For details, see the
Security Advisory. [% terms.Bugzilla %] 3.0.4 contains three security fixes.
For details, see the
Security Advisory.Table of Contents
Introduction
Updates in this 3.2.x Release
3.2.3
recode.pl
would sometimes crash when trying to convert
databases from older versions of [% terms.Bugzilla %].
([% terms.Bug %] 431201)shadowdb
parameter,
[% terms.Bugzilla %] was accidentally writing to the "tokens" table
in the shadow database (instead of the master database) when using the
"Change Several [% terms.Bugs %] at Once" page.
([% terms.Bug %] 476943)3.2.2
3.2.1
params
file). [% terms.Bugzilla %] will now
throw an error in this case, telling you what is wrong.
([% terms.Bug %] 347707)usemenuforusers
parameter,
and [% terms.abug %] was assigned to (or had a QA Contact of) a disabled
user, that field would be reset to the first user in the list when
updating [% terms.abug %].
([% terms.Bug %] 465589)PROJECT
environment variable
to have multiple [% terms.Bugzilla %] installations using one codebase,
project-specific templates were being ignored.
([% terms.Bug %] 467324)checksetup.pl
now checks for these bad versions and
will reject them.
([% terms.Bug %] 468009)Security Fixes In This 3.2.x Release
3.2.3
3.2.2
3.2.1
Minimum Requirements
Perl
Required Perl Modules
[% INCLUDE req_table reqs = REQUIRED_MODULES
new = []
updated = ['Template-Toolkit', 'Email-MIME',
'Email-MIME-Modifier', 'CGI.pm'] %]
Optional Perl Modules
New Features and Improvements
Major UI Improvements
New Default Skin: Dusk
Custom Status Workflow
New Custom Field Types
Easier Installation
Experimental Oracle Support
Improved UTF-8 Support
Group Icons
Other Enhancements and Changes
Enhancements For Users
Enhancements For Administrators
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.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.shutdownhtml
parameter now works even when
[% terms.Bugzilla %]'s database server is down.Enhancements for Localizers (or Localized Installations)
Outstanding Issues
However, charts migrated from Old Charts will be restricted to
the groups that are marked MANDATORY for the corresponding Product.
There is currently no way to change this restriction, and the
groupings will not be updated if the group configuration
for the Product changes.How to Upgrade From An Older Version
Notes For Upgraders
Steps For Upgrading
Code Changes Which May Affect
Customizations
More Hooks!
Search.pm Rearchitecture
lib Directory
use lib qw(. lib);
as one of the first lines.Other Changes
get_status('NEW')
instead of
status_descs.NEW
in templates.[%# version = 1.0 %]
comment at the top of every
template file has been removed.Release Notes For Previous Versions
[% terms.Bugzilla %] 3.0.x Release Notes
Table of Contents
Introduction
Updates in this 3.0.x Release
3.0.6
faultCode
that was a string instead of a number.
([% terms.Bug %] 446327)3.0.5
Email::
modules are required in Perl, thus avoiding the
problem where emails show up with a body like
SCALAR(0xBF126795).
([% terms.Bug %] 441541)3.0.4
3.0.3
3.0.2
3.0.1
show_bug.cgi
user interface
should no longer "collapse" after you modify [% terms.abug %].
([% terms.Bug %] 370739)specific_search_allow_empty_words
.
([% terms.Bug %] 385910)text/x-patch
or text/x-diff
, it will automatically be treated as a
patch by [% terms.Bugzilla %].
([% terms.Bug %] 365756)data
directory called
errorlog
, in which case warnings will be printed there.
([% terms.Bug %] 390148)ThrowUserError
.
([% terms.Bug %] 380709)Date
header.
([% terms.Bug %] 304999).Bug.legal_values
now
correctly returns values for custom fields if you request values
for custom fields.
([% terms.Bug %] 381737)urlbase
parameter included a port number,
like www.domain.com:8080
, SMTP might have failed.
([% terms.Bug %] 384501)smtp_debug
.
Turning on this parameter will log the full information about
every SMTP session to your web server's error log, to help with
debugging issues with SMTP.
([% terms.Bug %] 384497)Minimum Requirements
Perl
For MySQL Users
For PostgreSQL Users
Required Perl Modules
Module Version
CGI 2.93
Date::Format 2.21
DBI
1.41
File::Spec 0.84
Template 2.12
Email::Send
2.00
Email::MIME
1.861
Email::MIME::Modifier
1.442
Optional Perl Modules
Module Version
Enables Feature
LWP::UserAgent
(Any)
Automatic Update Notifications
Template::Plugin::GD::Image
(Any)
Graphical Reports
GD::Graph
(Any)
Graphical Reports
GD::Text
(Any)
Graphical Reports
GD
1.20
Graphical Reports, New Charts, Old Charts
Email::MIME::Attachment::Stripper
(Any)
Inbound Email
Email::Reply
(Any)
Inbound Email
Net::LDAP
(Any)
LDAP Authentication
HTML::Parser
3.40
More HTML in Product/Group Descriptions
HTML::Scrubber
(Any)
More HTML in Product/Group Descriptions
XML::Twig
(Any)
Move [% terms.Bugs %] Between Installations
MIME::Parser
5.406
Move [% terms.Bugs %] Between Installations
Chart::Base
1.0
New Charts, Old Charts
Image::Magick
(Any)
Optionally Convert BMP Attachments to PNGs
PatchReader
0.9.4
Patch Viewer
SOAP::Lite
(Any)
XML-RPC Interface
mod_perl2
1.999022
mod_perl
CGI
3.11
mod_perl
New Features and Improvements
Custom Fields
mod_perl Support
Shared Saved Searches
querysharegroup
parameter.Attachments and Flags on New
[% terms.Bugs %]
Custom Resolutions
FIXED
, DUPLICATE
and MOVED
have a special meaning to [% terms.Bugzilla %],
though, and cannot be renamed or deleted.Per-Product Permissions
User Interface Improvements
XML-RPC Interface
Skins
Unchangeable Fields Appear
Unchangeable
All Emails in Templates
passwordmail
, whinemail
,
newchangedmail
and voteremovedmail
parameters are now all templates in the template/ directory.mailfrom
parameter to let you set
who shows up in the From
field on all emails that
[%+ terms.Bugzilla %] sends.No More Double-Filed [% terms.Bugs %]
Default CC List for Components
File/Modify [% terms.Bugs %] By Email
Users Who Get All [% terms.Bug %]
Notifications
Improved UTF-8 Support
Automatic Update Notification
Welcome Page for New Installs
QuickSearch Plugin for IE7 and Firefox 2
Other Enhancements and Changes
Enhancements That Affect [% terms.Bugzilla %] Users
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.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.http://bugs.mycompany.com/show_bug.cgi?id=1212
) that
links to [% terms.abug %], you will see the title of the
[%+ terms.bug %]. Of course, this only works for [% terms.bugs %] in your
[%+ terms.Bugzilla %] installation.Enhancements For Administrators
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.Outstanding Issues
However, charts migrated from Old Charts will be restricted to
the groups that are marked MANDATORY for the corresponding Product.
There is currently no way to change this restriction, and the
groupings will not be updated if the group configuration
for the Product changes.Security Updates in This Release
3.0.6
3.0.5
3.0.4
No security fixes in this release.
[% terms.Bugzilla %] 3.0.1 had an important security fix that is critical for public installations with "requirelogin" turned on. For details, see the Security Advisory
[% terms.Bugzilla %] 3.0 had three security issues that have been
fixed in this release: one minor information leak, one hole only
exploitable by an admin or using email_in.pl
, and one in an
uncommonly-used template. For details, see the
Security Advisory.
Once you have read the notes above, see the Upgrading documentation for instructions on how to upgrade.
In previous versions of [% terms.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.
[% terms.Bugzilla %] now supports a code hook mechanism. See the documentation for Bugzilla::Hook for more details.
This gives [% terms.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 [% terms.Bugzilla %] plugins written! Let us know on the developers@bugzilla.org mailing list if you write a plugin.
If you need more hooks, please File a bug!
[% terms.Bugzilla %] now ships with all of its perldoc built as HTML. Go ahead and read the API Documentation for all of the [% terms.Bugzilla %] modules now! Even scripts like checksetup.pl have HTML documentation.
The old file globals.pl has been eliminated. Its code is now in various modules. Each function went to the module that was appropriate for it.
Usually we filed [% terms.abug %] in bugzilla.mozilla.org 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.
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.
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 [% terms.Bugzilla %], see the Developer's Guide Section About DBI
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.pm 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 Bugzilla.pm 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};
.
checksetup.pl
has been completely re-written, and most
of its code moved into modules in the Bugzilla::Install
namespace. See the
checksetup
documentation and [% terms.Bugzilla %]
[%+ terms.bug %] 277502 for details.Bugzilla->localconfig
hash instead of through
Bugzilla::Config.Release notes for versions of [% terms.Bugzilla %] for versions prior to 3.0 are only available in text format: Release Notes for [% terms.Bugzilla %] 2.22 and Earlier.
[% INCLUDE global/footer.html.tmpl %] [% BLOCK db_req %] [% SET m = DB_MODULE.$db %]Module | Version | [% IF include_feature %]Enables Feature | [% END %]
---|---|---|
[%- req.module FILTER html %] | [%- IF req.version == 0 %] (Any) [% ELSE %] [%- req.version FILTER html %] [% END %] | [% IF include_feature %][% req.feature FILTER html %] | [% END %]