[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [% SET title = "Bugzilla 5.0 Release Notes" %] [% INCLUDE global/header.html.tmpl title = title bodyclasses = ['narrow_page'] %]

[% title FILTER html %]

Introduction

Welcome to Bugzilla 5.0! It has been slightly over two years since we released Bugzilla 4.4 in May of 2013. This new major release comes with many new features and improvements to WebServices and performance.

If you're upgrading, make sure to read Notes On Upgrading From a Previous Version. If you are upgrading from a release before 4.4, make sure to read the release notes for all the previous versions in between your version and this one, particularly the Upgrading section of each version's release notes.

Minimum Requirements

Any requirements that are new since 4.4 will look like this.

Perl

Perl v5.10.1

[% INCLUDE db_req db='mysql' %] [% INCLUDE db_req db='pg' %] [% INCLUDE db_req db='oracle' %] [% INCLUDE db_req db='sqlite' %]

Required Perl Modules

[% INCLUDE req_table reqs = REQUIRED_MODULES new = ['File-Slurp','JSON-XS', 'Email-Sender'] updated = ['DateTime', 'DateTime-TimeZone', 'Template-Toolkit', 'URI'] %]

Optional Perl Modules

The following perl modules, if installed, enable various features of Bugzilla:

[% INCLUDE req_table reqs = OPTIONAL_MODULES new = ['Cache-Memcached','File-Copy-Recursive'] updated = ['Chart', 'Test-Taint'] include_feature = 1 %]

Optional Apache Modules

If you are using Apache as your webserver, Bugzilla can take advantage of some Apache features if you have the below Apache modules installed and enabled.

On most systems (but not on Windows), checksetup.pl is able to tell whether or not you have these modules installed, and it will tell you.

New Features and Improvements

Improved WebServices

This release has major improvements in the WebServices interface. One big addition is a new REST-like endpoint alongside the existing XML-RPC and JSON-RPC endpoints. This will allow clients to access Bugzilla data using standard HTTP calls for easy development. Note: XML-RPC and JSON-RPC are deprecated in favor of REST and will likely be removed in the Bugzilla 7.0 release.

Also API key support has been added so that API calls will no longer need to use cookies or a user's login and password. Users can create a different API key for each application and revoke API keys that have been compromised or are no longer needed. The API key will simply be passed to each call as credentials.

Several methods have been added and existing ones improved to allow returning data that was not available before such as Group.get. B[%%]ug.search is now as full featured as the Advanced Query UI allowing for the same searches to be executed. Attachment data such as flags and other metadata can now be updated through the API. Other WebService changes are detailed below.

Improved Caching using Memcached

Bugzilla now has the ability to connect to a Memcached server running either locally or on the network to allow fast access to different types of data. This cuts down on the amount of database hits and can improve performance. Other areas have been improved as well to take advantage of caching in memory for objects that are retrieved multiple times during a request such as user data, etc.

Ability to Tag [% terms.Bug %] Comments

Users can add tags, visible to other users, to [% terms.bug %] comments. This gives the users the ability to thread conversations, mark comments as spam, identify important comments, etc. Users can hide comments that contain specific tags if desired. The tag input field also supports autocompletion so commonly used tags can be selected. Administrators can make specifically tagged comments be automatically hidden from view.

Improved [% terms.Bug %] Group Membership Checking

In the past, Bugzilla restricted who can view [% terms.abug %] to everyone who was a member of ALL the groups the [% terms.bug %] was in. That is, the groups were ANDed together. This made some access control scenarios rather difficult to achieve. So now, Bugzilla defaults to (and can be switched to, in existing installations) a mode where the [% terms.bug %] can be viewed by everyone who is a member of ANY group the [% terms.bug %] is in. That is, the groups are ORed together. This give more flexibility in the way [% terms.bugs %] are made private to specific groups of users.

Note: Group memberships for [% terms.bugs %] and users are not changed at all when this setting is switched. When switching from AND to OR, this means that [% terms.bugs %] may be more widely viewable than previously. It is the responsibility of the administrator to make sure that no [% terms.bugs %] are accidentally revealed to the wrong people when changing this setting.

Improved Documentation for Users and Administrators

The standard documentation that is shipped along with the Bugzilla code has been rewritten and improved using the reStructuredText format. This allows the documentation to be easily hosted at sites such as ReadTheDocs.org and can also be more easily converted into different formats such as HTML and PDF. A new section dedicated to the new REST WebService API has also been added, significantly improving on the old WebService documentation.

Other Enhancements and Changes

Enhancements for Users

Enhancements for Administrators and Developers

WebService Changes

Code Changes Which May Affect Customizations and Extensions

[% INCLUDE global/footer.html.tmpl %] [% BLOCK db_req %] [% SET m = DB_MODULE.$db %]

For [% m.name FILTER html %] Users

[% END %] [% BLOCK req_table %] [% IF include_feature %] [% END %] [% FOREACH req = reqs %] [% IF include_feature %] [% END %] [% END %]
Module VersionEnables Feature
[%- req.module FILTER html %] [%- IF req.version == 0 %] (Any) [% ELSE %] [%- req.version FILTER html %] [% END %] [% req.feature.join(', ') FILTER html %]
[% END %]