release-notes.html.tmpl 24.9 KB
Newer Older
1 2 3
[%# 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/.
4
  #
5 6
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
7 8
  #%]

9 10
[% SET title = "Bugzilla 5.0 Release Notes" %]
[% INCLUDE global/header.html.tmpl
11
  title = title
12
  bodyclasses = ['narrow_page']
13 14
%]

15 16
<h1>[% title FILTER html %]</h1>

17
<ul class="bz_toc">
18 19 20 21 22 23
  <li><a href="#introduction">Introduction</a></li>
  <li><a href="#point">Updates in this 5.0.x Release</a></li>
  <li><a href="#req">Minimum Requirements</a></li>
  <li><a href="#feat">New Features and Improvements</a></li>
  <li><a href="#issues">Outstanding Issues</a></li>
  <li><a href="#code_changes">Code Changes Which May Affect
24
    Customizations and Extensions</a></li>
25 26
  <li><a href="https://bugzilla.readthedocs.org/en/latest/installing/upgrading.html">
    Notes On Upgrading From a Previous Version</a></li>
27
  <li><a href="http://www.bugzilla.org/releases/">Release Notes for Previous Versions</a></li>
28 29
</ul>

30
<h2 id="introduction">Introduction</h2>
31

David Lawrence's avatar
David Lawrence committed
32
<p>Welcome to Bugzilla 5.0! It has been slightly over two years since we released
33 34
  Bugzilla 4.4 in May of 2013. This new major release comes with many new features
  and improvements to WebServices and performance.</p>
35

36 37 38 39
<p>If you're upgrading, make sure to read
  <a href="https://bugzilla.readthedocs.org/en/latest/installing/upgrading.html">
  Notes On Upgrading From a Previous Version</a>. If you are upgrading from a
  release before 4.4, make sure to read the release notes for all the
40 41 42
  <a href="http://www.bugzilla.org/releases/">previous versions</a> in between
  your version and this one, <strong>particularly the Upgrading section of each
  version's release notes</strong>.</p>
43

44 45
<h2 id="point">Updates in this 5.0.x Release</h2>

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
<h3>5.0.4</h3>

<p>This release fixes one security issue. See the
  <a href="https://www.bugzilla.org/security/4.4.12/">Security Advisory</a>
  for details.</p>

<p>This release also contains the following [% terms.bug %] fixes:</p>

<ul>
  <li><kbd>checksetup.pl</kbd> would fail to update Chart storage during pre-3.6 to 5.0 upgrade.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1273846">[% terms.Bug %] 1273846</a>)</li>
  <li><kbd>editflagtypes.cgi</kbd> would crash when classifications are enabled and
    the user did not have global <kbd>editcomponents</kbd> privileges.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1310728">[% terms.Bug %] 1310728</a>)</li>
  <li>The <kbd>File::Slurp</kbd> would trigger warnings on perl 5.24.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1301887">[% terms.Bug %] 1301887</a>)</li>
  <li>All the time entries in the 'when' column had the correct date but the time
    was fixed to 00:00 when using Sqlite.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1303702">[% terms.Bug %] 1303702</a>)</li>
</ul>

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
<h3>5.0.3</h3>

<p>This release fixes one security issue. See the
  <a href="https://www.bugzilla.org/security/4.4.11/">Security Advisory</a>
  for details.</p>

<p>This release also contains the following [% terms.bug %] fixes:</p>

<ul>
  <li>A regression in Bugzilla 5.0.2 caused <kbd>whine.pl</kbd> to be unable
    to send emails due to a missing subroutine.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1235395">[% terms.Bug %] 1235395</a>)</li>
  <li>The <kbd>Encode</kbd> module changed the way it encodes strings, causing
    email addresses in emails sent by [%terms.Bugzilla %] to be encoded,
    preventing emails from being correctly delivered to recipients.
    We now encode email headers correctly.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1246228">[% terms.Bug %] 1246228</a>)</li>
  <li>Fix additional taint issues with Strawberry Perl.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=987742">[% terms.Bug %] 987742</a> and
    <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1089448">[% terms.bug %] 1089448</a>)</li>
  <li>When exporting a buglist as a CSV file, fields starting with either
    "=", "+", "-" or "@" are preceded by a space to not trigger formula
    execution in Excel.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1259881">[% terms.Bug %] 1259881</a>)</li>
  <li>An extension which allows user-controlled data to be used as a link in
    tabs could trigger XSS if the data is not correctly sanitized.
93
    [%+ terms.Bugzilla %] no longer relies on the extension to do the sanity
94 95 96 97 98 99 100
    check. A vanilla installation is not affected as no tab is user-controlled.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1250114">[% terms.Bug %] 1250114</a>)</li>
  <li>Extensions can now easily override the favicon used for the
    [%+ terms.Bugzilla %] website.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1250264">[% terms.Bug %] 1250264</a>)</li>
</ul>

101 102
<h3>5.0.2</h3>

103
<p>This release fixes two security issues. See the
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
  <a href="https://www.bugzilla.org/security/4.2.15/">Security Advisory</a>
  for details.</p>

<p>This release also contains the following [% terms.bug %] fixes:</p>

<ul>
  <li>mod_perl now works correctly with mod_access_compat turned off on
    Apache 2.4. To regenerate the <kbd>.htaccess</kbd> files, you must first
    delete all existing ones in subdirectories:
    <pre>find . -mindepth 2 -name .htaccess -exec rm -f {} \;</pre>
    You must then run <kbd>checksetup.pl</kbd> again to recreate them with
    the correct syntax.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1223790">[% terms.Bug %] 1223790</a>)</li>
  <li>Emails sent by [% terms.Bugzilla %] are now correctly encoded as UTF-8.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=714724">[% terms.Bug %] 714724</a>)</li>
  <li>Strawberry Perl is now fully supported on Windows.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1089448">[% terms.Bug %] 1089448</a>
    and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=987742">[% terms.bug %] 987742</a>)</li>
  <li>The XML-RPC API now works with IIS on Windows.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=708252">[% terms.Bug %] 708252</a>)</li>
  <li>Some queries should now be faster on PostgreSQL.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1184431">[% terms.Bug %] 1184431</a>)</li>
</ul>

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
<h3>5.0.1</h3>

<p>This release fixes one security issue. See the
  <a href="https://www.bugzilla.org/security/4.2.14/">Security Advisory</a>
  for details.</p>

<p>This release also contains the following [% terms.bug %] fixes:</p>

<ul>
  <li>Users whose login name is not an email address could not log in on
    installations which use LDAP to authenticate users.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1179160">[% terms.Bug %] 1179160</a>)</li>
  <li>If a mandatory custom field was hidden, it was not possible to create
    a new [% terms.bug %] or to edit existing ones.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1183398">[% terms.Bug %] 1183398</a>
    and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1196969">[% terms.bug %] 1196969</a>)</li>
  <li>A user editing his login name to point to a non-existent email address
    could cause Bugzilla to stop working, causing a denial of service.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1194987">[% terms.Bug %] 1194987</a>)</li>
  <li>Emails generated during a transaction made PostgreSQL stop working.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1186700">[% terms.Bug %] 1186700</a>)</li>
  <li>[% terms.Bugs %] containing a comment with a reference to a [% terms.bug %]
    ID larger than 2^31 could not be displayed anymore using PostgreSQL.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1191937">[% terms.Bug %] 1191937</a>)</li>
  <li>The date picker in the "Time Summary" page was broken.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1181649">[% terms.Bug %] 1181649</a>)</li>
  <li>If <kbd>Test::Taint</kbd> or any other Perl module required to use the
    JSON-RPC API was not installed or was too old, the UI to tag comments was
    displayed anyway, you could tag comments, but tags were not persistent
    (they were lost on page reload). Now the UI to tag comments is not displayed
    at all until the missing Perl modules are installed and up-to-date.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1183227">[% terms.Bug %] 1183227</a>)</li>
  <li>Custom fields of type <kbd>INTEGER</kbd> now accept negative integers.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1198659">[% terms.Bug %] 1198659</a>)</li>
  <li>On Windows, the <kbd>checksetup.pl</kbd> installation script no longer
    asks for a SMTP server. It can be set after the installation is complete.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1191255">[% terms.Bug %] 1191255</a>)</li>
</ul>

167
<h2 id="req">Minimum Requirements</h2>
168

169
<p>Any requirements that are new since 4.4 will look like
170 171 172
  <span class="req_new">this</span>.</p>

<ul>
173 174 175 176 177 178 179 180
  <li><a href="#req_perl">Perl</a></li>
  <li><a href="#req_mysql">For MySQL Users</a></li>
  <li><a href="#req_pg">For PostgreSQL Users</a></li>
  <li><a href="#req_oracle">For Oracle Users</a></li>
  <li><a href="#req_sqlite">For SQLite Users</a></li>
  <li><a href="#req_modules">Required Perl Modules</a></li>
  <li><a href="#req_optional_mod">Optional Perl Modules</a></li>
  <li><a href="#req_apache">Optional Apache Modules</a></li>
181 182
</ul>

183
<h3 id="req_perl">Perl</h3>
184

185
<p>Perl <span class="req_new">v5.10.1</span></p>
186 187 188

[% INCLUDE db_req db='mysql' %]

189
[% INCLUDE db_req db='pg' %]
190 191 192 193 194

[% INCLUDE db_req db='oracle' %]

[% INCLUDE db_req db='sqlite' %]

195
<h3 id="req_modules">Required Perl Modules</h3>
196 197

[% INCLUDE req_table reqs = REQUIRED_MODULES
198
                     new = ['JSON-XS', 'Email-Sender']
199 200
                     updated = ['DateTime', 'DateTime-TimeZone',
                                'Template-Toolkit', 'URI'] %]
201

202
<h3 id="req_optional_mod">Optional Perl Modules</h3>
203 204

<p>The following perl modules, if installed, enable various
205
  features of Bugzilla:</p>
206 207

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

212
<h3 id="req_apache">Optional Apache Modules</h3>
213

214
<p>If you are using Apache as your webserver, Bugzilla can
215
  take advantage of some Apache features if you have the below Apache
216
  modules installed and enabled.</p>
217 218 219 220 221 222 223 224 225 226 227 228

<ul>
  <li>mod_headers</li>
  <li>mod_expires</li>
  <li>mod_env</li>
</ul>

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


229
<a name="v50_feat"></a>
230
<h2 id="feat">New Features and Improvements</h2>
231 232

<ul>
233 234 235 236 237 238
  <li><a href="#feat_webservices">Improved WebServices</a></li>
  <li><a href="#feat_caching_performance">Improved Caching using Memcached</a></li>
  <li><a href="#feat_comment_tags">Abililty to Tag [% terms.Bug %] Comments</a></li>
  <li><a href="#feat_bug_groups">Improved [% terms.Bug %] Group Membership Checking</a></li>
  <li><a href="#feat_documentation">Improved Documentation for Users and Administrators</a></li>
  <li><a href="#feat_other">Other Enhancements and Changes</a></li>
239 240
</ul>

241
<h3 id="feat_webservices">Improved WebServices</h3>
242 243

<p>
244 245 246 247 248
  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. <strong>Note:</strong> XML-RPC and JSON-RPC are
  deprecated in favor of REST and will likely be removed in the Bugzilla 7.0 release.
249
</p>
250
<p>
251 252 253 254
  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.
255 256
</p>
<p>
257 258 259 260 261 262
  Several methods have been added and existing ones improved to allow returning
  data that was not available before such as <kbd>Group.get</kbd>. <kbd>B[%%]ug.search</kbd>
  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
  <a href="#feat_webservices_other">below</a>.
263 264
</p>

265
<h3 id="feat_caching_performance">Improved Caching using Memcached</h3>
266 267

<p>
268 269 270 271 272
  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.
273 274
</p>

275
<h3 id="feat_comment_tags">Ability to Tag [% terms.Bug %] Comments</h3>
276 277

<p>
278 279 280 281 282 283
  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.
284 285
</p>

286
<h3 id="feat_bug_groups">Improved [% terms.Bug %] Group Membership Checking</h3>
287 288

<p>
289 290 291 292 293 294 295 296
  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.
297 298
</p>
<p>
299 300 301 302 303
  <strong>Note:</strong> 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.
304 305
</p>

306
<h3 id="feat_documentation">Improved Documentation for Users and Administrators</h3>
307 308

<p>
309 310 311 312 313 314
  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.
315 316
</p>

317
<h3 id="feat_other">Other Enhancements and Changes</h3>
318 319 320 321

<h4>Enhancements for Users</h4>

<ul>
322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339
  <li><strong>[% terms.Bugs %]:</strong> The deadline field is now visible to users
    not in the the <kbd>timetracking</kbd> group.</li>
  <li><strong>[% terms.Bugs %]:</strong> There is now a "Preview" mode when
    creating a new comment that allows you to see how the comment will look
    before committing to the database.</li>
  <li><strong>[% terms.Bugs %]:</strong> The reporter is now allowed to enter
    keywords at time of [% terms.bug %] creation.</li>
  <li><strong>[% terms.Bugs %]:</strong> "See Also" now allows spaces as well as
    commas to delimit multiple values.</li>
  <li><strong>[% terms.Bugs %]:</strong> Auto linkification in comments of [% terms.bug %]
    IDs and comment IDs has been improved.</li>
  <li><strong>[% terms.Bugs %]:</strong> [% terms.Bugs %] can now have multiple
    aliases assigned to them. Before each [% terms.bug %] could only have a single
    value. Also, aliases are now visible in the browser's title bar.</li>
  <li><strong>[% terms.Bugs %]:</strong> Users can now change the flags of multiple
    [%+ terms.bugs %] at once using the mass-edit form.</li>
  <li><strong>Charts and Reports:</strong> UTF-8 characters are now correctly
    displayed in "New Charts" and graphical reports.</li>
340 341 342
  <li><strong>Charts and Reports:</strong> Custom multi-select fields are now
    available as report axis options. This makes them usable for categorizing
    [%+ terms.bugs %] in reports.</li>
343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
  <li><strong>Email:</strong> You can now choose to not receive any mail at all
    about a particular [% terms.bug %], even if you continue to have a role on
    that [% terms.bug %] (e.g. reporter).</li>
  <li><strong>Email:</strong> When adding or removing [% terms.abug %] as a
    dependency, the summary of the [% terms.bug %] is included in the email
    notification.</li>
  <li><strong>Requests:</strong> <kbd>request.cgi</kbd> can now output results in
    CSV format.</li>
  <li><strong>Requests:</strong><kbd> X-Bugzilla-*</kbd> headers are now included
    in flag notification emails.</li>
  <li><strong>Searches:</strong> Some useful searches have been added to the
    Bugzilla home page.</li>
  <li><strong>Searches:</strong> Quicksearch now allows for use of comparison
    operators such as !=, >=, >, &lt;, etc., in addition to substring searches.</li>
  <li><strong>Searches:</strong> The "Blocks" and "Depends On" values can now be
    displayed as columns in [% terms.abug %] list.</li>
  <li><strong>Searches:</strong> The "is empty" and "is not empty" search operators
    have been added to the Advanced Search UI. This allows searching for null
    and not null values for certain fields.</li>
362 363 364 365 366
</ul>

<h4>Enhancements for Administrators and Developers</h4>

<ul>
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385
  <li><strong>Administration:</strong> There are now <kbd>INTEGER</kbd> and
    <kbd>DATE</kbd> custom field types.</li>
  <li><strong>Administration:</strong> Filenames used to store product data for
    "Old Charts" are now based on product IDs to avoid data loss when changing
    product names.</li>
  <li><strong>Administration:</strong> JavaScript and CSS files are now minified
    and concatenated to improve page load performance. When changes are made,
    <kbd>checksetup.pl</kbd> should be run to regenerate the combined files.</li>
  <li><strong>[% terms.Bugs %]:</strong> Bugzilla now keeps track of the last
    time each user visited (that is, loaded the show_bug page in a web browser)
    each [% terms.bug %]. This could be useful for dashboards or API clients.</li>
  <li><strong>Database:</strong> Text that contained unicode
    supplementary characters (outside BMP) was cut off when using MySQL as backend.
    This has been fixed to prevent data loss.</li>
  <li><strong>Database:</strong> SSL connections are now possible when using
    MySQL as backend.</li>
  <li><strong>Database:</strong> For version 8.x of PostgreSQL, <kbd>plpgsql</kbd>
    was not always installed by default and <kbd>checksetup.pl</kbd> would
    generate an error. This has been fixed.</li>
386 387
  <li><strong>Development:</strong> Bugzilla is now HTML5 compliant. As a
    consequence, Internet Explorer 6 and 7 are no longer supported.</li>
388 389 390 391 392 393 394 395 396 397 398 399 400 401
  <li><strong>Email:</strong> Email generation originally was done before the
    jobqueue job was inserted. This is now delayed and done by
    <kbd>jobqueue.pl</kbd> right before sending the email which can improve
    responsiveness when processing [% terms.bug %] changes.</li>
  <li><strong>Email:</strong> When a site administrator creates a new user, an
    email is sent to the user.</li>
  <li><strong>Email:</strong> For dependency email notifications, the header
    <kbd>X-B[%%]ugzilla-Type: dep_changed</kbd> is set.</li>
  <li><strong>Email:</strong> <kbd>whine.pl</kbd> emails now use
    <kbd>DEFAULT_COLUMN_LIST</kbd> (the same default columns seen in the buglist
    page) instead of hard coded column list.</li>
  <li><strong>Security:</strong> Support for increased values for
    <kbd>PASSWORD_SALT_LENGTH</kbd> without breaking compatibility with old
    hashes.</li>
402 403
</ul>

404
<h4 id="feat_webservices_other">WebService Changes</h4>
405 406

<ul>
407 408 409 410 411 412 413 414 415
  <li><kbd>B[%%]ug.search</kbd> now allows for full search functionality
    similar to what is possible using the Advanced Query UI.</li>
  <li>Basic support for eTag headers has been added to all WebServices
    to allow for better network performance.</li>
  <li>Administrators can now change a parameter that filters all email
    addresses returned in WebService calls similar to filtering that
    happens in the web UI.</li>
  <li>WebService calls now support use of API keys for authentication.
    Usernames and passwords remain supported.</li>
416 417 418
  <li>Invalid or expired authentication cookies and tokens now throw
    errors instead of being silently ignored. <kbd>User.valid_login</kbd>
    can be used to determine if they are still valid or not.</li>
419 420 421 422 423 424 425 426 427 428
  <li>WebService calls that are used to create and update [% terms.bugs %]
    and attachments now support setting and updating of flags.</li>
  <li><kbd>B[%%]ug.update_attachment</kbd> can update an attachment's
    metadata as well as its flags.</li>
  <li>The <kbd>product</kbd> parameter for <kbd>B[%%]ug.possible_duplicates</kbd>
    has been renamed to <kbd>products</kbd>.</li>
  <li>Some compatibility fields included in returned data that were marked
    to be removed in this release are now gone.</li>
  <li><kbd>Group.get</kbd> has been added to get information about a group and
    its members.</li>
429 430
  <li><kbd>FlagType.get</kbd> has been added to get information about valid
    flag types for a given product and component.</li>
431 432 433 434
  <li>The deprecated <kbd>B[%%]ug.get_bugs</kbd>, <kbd>B[%%]ug.get_history</kbd>
    and <kbd>Product.get_products</kbd> methods are no longer supported.
    They have been renamed to <kbd>B[%%]ug.get</kbd>, <kbd>B[%%]ug.history</kbd>
    and <kbd>Product.get</kbd> respectively.</li>
435 436
</ul>

437
<h2 id="code_changes">Code Changes Which May Affect Customizations and Extensions</h2>
438 439

<ul>
440 441 442 443 444
  <li>Support for CVS, Bonsai and LXR has been removed entirely when viewing
    attachments. This means that the <kbd>cvsroot</kbd>, <kbd>cvsroot_get</kbd>,
    <kbd>bonsai_url</kbd>, <kbd>lxr_url</kbd> and <kbd>lxr_root</kbd> parameters
    are all gone, as well as <kbd>cvsbin</kbd> from the <kbd>localconfig</kbd>
    file.</li>
445 446 447 448 449
  <li>The <kbd>docs_urlbase</kbd> parameter has been removed. If documentation
    has not been compiled locally, the "Help" links and other documentation links
    will redirect to <a href="https://bugzilla.readthedocs.org">bugzilla.readthedocs.org</a>
    automatically.</li>
  <li>The <kbd>mostfreqthreshold</kbd> parameter has also been removed.</li>
450 451 452
  <li>All extensions which define new public WebService methods must list them
    in a <kbd>PUBLIC_METHODS</kbd> constant. Methods which are not listed there
    will not be accessible remotely.</li>
453 454 455 456 457 458 459 460
  <li><kbd>JSON::XS</kbd> is now used instead of <kbd>Data::Dumper</kbd> for
    storage on configuration values in <kbd>data/params</kbd>. This should
    improve performance when loading the file.</li>
  <li>A new test has been added to check for reserved words in SQL schema.</li>
  <li><kbd>Pod::Coverage</kbd> is now used to ensure subroutines are documented.</li>
  <li>Bugzilla code now uses <kbd>use parent</kbd> instead of <kbd>use base</kbd>
    in all places applicable.</li>
  <li>A new hook called <kbd>cgi_headers</kbd> has been added to allow
461
    customization of the HTTP headers returned.</li>
462 463
  <li>A new hook called <kbd>user_check_account_creation</kbd> has been added
    to add extra checks before accepting the creation of a new user account.</li>
464 465
</ul>

466 467 468 469
[% INCLUDE global/footer.html.tmpl %]

[% BLOCK db_req %]
  [% SET m = DB_MODULE.$db %]
Frédéric Buclin's avatar
Frédéric Buclin committed
470
  <h3 id="req_[% db FILTER html %]">For [% m.name FILTER html %] Users</h3>
471 472

  <ul>
473 474 475 476
    <li>[% m.name FILTER html %]
       [%+ '<span class="req_new">' IF db_new %]v[% m.db_version FILTER html %]
       [% '</span>' IF db_new %]
       </li>
477
    <li><strong>perl module:</strong>
478 479
      [%+ m.dbd.module FILTER html %]
      [%+ '<span class="req_new">' IF dbd_new %]v[% m.dbd.version FILTER html %]
480
      [% '</span>' IF dbd_new %]</li>
481 482 483 484 485
  </ul>
[% END %]


[% BLOCK req_table %]
486
  <table class="req_table">
487 488 489 490 491 492 493 494
    <tr>
      <th>Module</th> <th>Version</th>
      [% IF include_feature %]
        <th>Enables Feature</th>
      [% END %]
    </tr>
    [% FOREACH req = reqs %]
      <tr>
495
        <td [% ' class="req_new"' IF new.contains(req.package) %]>
496 497
          [%- req.module FILTER html %]</td>
        <td [% ' class="req_new"' IF updated.contains(req.package)
498
                                     OR new.contains(req.package) %]>
499 500 501 502 503 504
          [%- IF req.version == 0 %]
            (Any)
          [% ELSE %]
            [%- req.version FILTER html %]
          [% END %]
        </td>
505
        [% IF include_feature %]
506
          <td>[% req.feature.join(', ') FILTER html %]</td>
507 508 509 510 511
        [% END %]
      </tr>
    [% END %]
</table>
[% END %]