1[%# This Source Code Form is subject to the terms of the Mozilla Public 2 # License, v. 2.0. If a copy of the MPL was not distributed with this 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 # 5 # This Source Code Form is "Incompatible With Secondary Licenses", as 6 # defined by the Mozilla Public License, v. 2.0. 7 #%] 8 9[% SET title = "Bugzilla 5.0 Release Notes" %] 10[% INCLUDE global/header.html.tmpl 11 title = title 12 bodyclasses = ['narrow_page'] 13%] 14 15<h1>[% title FILTER html %]</h1> 16 17<ul class="bz_toc"> 18 <li><a href="#introduction">Introduction</a></li> 19 <li><a href="#point">Updates in this 5.0.x Release</a></li> 20 <li><a href="#req">Minimum Requirements</a></li> 21 <li><a href="#feat">New Features and Improvements</a></li> 22 <li><a href="#issues">Outstanding Issues</a></li> 23 <li><a href="#code_changes">Code Changes Which May Affect 24 Customizations and Extensions</a></li> 25 <li><a href="https://bugzilla.readthedocs.org/en/latest/installing/upgrading.html"> 26 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</ul> 29 30<h2 id="introduction">Introduction</h2> 31 32<p>Welcome to Bugzilla 5.0! It has been slightly over two years since we released 33 Bugzilla 4.4 in May of 2013. This new major release comes with many new features 34 and improvements to WebServices and performance.</p> 35 36<p>If you're upgrading, make sure to read 37 <a href="https://bugzilla.readthedocs.org/en/latest/installing/upgrading.html"> 38 Notes On Upgrading From a Previous Version</a>. If you are upgrading from a 39 release before 4.4, make sure to read the release notes for all the 40 <a href="http://www.bugzilla.org/releases/">previous versions</a> in between 41 your version and this one, <strong>particularly the Upgrading section of each 42 version's release notes</strong>.</p> 43 44<h2 id="point">Updates in this 5.0.x Release</h2> 45 46<h3>5.0.4</h3> 47 48<p>This release fixes one security issue. See the 49 <a href="https://www.bugzilla.org/security/4.4.12/">Security Advisory</a> 50 for details.</p> 51 52<p>This release also contains the following [% terms.bug %] fixes:</p> 53 54<ul> 55 <li><kbd>checksetup.pl</kbd> would fail to update Chart storage during pre-3.6 to 5.0 upgrade. 56 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1273846">[% terms.Bug %] 1273846</a>)</li> 57 <li><kbd>editflagtypes.cgi</kbd> would crash when classifications are enabled and 58 the user did not have global <kbd>editcomponents</kbd> privileges. 59 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1310728">[% terms.Bug %] 1310728</a>)</li> 60 <li>The <kbd>File::Slurp</kbd> would trigger warnings on perl 5.24. 61 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1301887">[% terms.Bug %] 1301887</a>)</li> 62 <li>All the time entries in the 'when' column had the correct date but the time 63 was fixed to 00:00 when using Sqlite. 64 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1303702">[% terms.Bug %] 1303702</a>)</li> 65</ul> 66 67<h3>5.0.3</h3> 68 69<p>This release fixes one security issue. See the 70 <a href="https://www.bugzilla.org/security/4.4.11/">Security Advisory</a> 71 for details.</p> 72 73<p>This release also contains the following [% terms.bug %] fixes:</p> 74 75<ul> 76 <li>A regression in Bugzilla 5.0.2 caused <kbd>whine.pl</kbd> to be unable 77 to send emails due to a missing subroutine. 78 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1235395">[% terms.Bug %] 1235395</a>)</li> 79 <li>The <kbd>Encode</kbd> module changed the way it encodes strings, causing 80 email addresses in emails sent by [%terms.Bugzilla %] to be encoded, 81 preventing emails from being correctly delivered to recipients. 82 We now encode email headers correctly. 83 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1246228">[% terms.Bug %] 1246228</a>)</li> 84 <li>Fix additional taint issues with Strawberry Perl. 85 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=987742">[% terms.Bug %] 987742</a> and 86 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1089448">[% terms.bug %] 1089448</a>)</li> 87 <li>When exporting a buglist as a CSV file, fields starting with either 88 "=", "+", "-" or "@" are preceded by a space to not trigger formula 89 execution in Excel. 90 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1259881">[% terms.Bug %] 1259881</a>)</li> 91 <li>An extension which allows user-controlled data to be used as a link in 92 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 check. A vanilla installation is not affected as no tab is user-controlled. 95 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1250114">[% terms.Bug %] 1250114</a>)</li> 96 <li>Extensions can now easily override the favicon used for the 97 [%+ terms.Bugzilla %] website. 98 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1250264">[% terms.Bug %] 1250264</a>)</li> 99</ul> 100 101<h3>5.0.2</h3> 102 103<p>This release fixes two security issues. See the 104 <a href="https://www.bugzilla.org/security/4.2.15/">Security Advisory</a> 105 for details.</p> 106 107<p>This release also contains the following [% terms.bug %] fixes:</p> 108 109<ul> 110 <li>mod_perl now works correctly with mod_access_compat turned off on 111 Apache 2.4. To regenerate the <kbd>.htaccess</kbd> files, you must first 112 delete all existing ones in subdirectories: 113 <pre>find . -mindepth 2 -name .htaccess -exec rm -f {} \;</pre> 114 You must then run <kbd>checksetup.pl</kbd> again to recreate them with 115 the correct syntax. 116 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1223790">[% terms.Bug %] 1223790</a>)</li> 117 <li>Emails sent by [% terms.Bugzilla %] are now correctly encoded as UTF-8. 118 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=714724">[% terms.Bug %] 714724</a>)</li> 119 <li>Strawberry Perl is now fully supported on Windows. 120 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1089448">[% terms.Bug %] 1089448</a> 121 and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=987742">[% terms.bug %] 987742</a>)</li> 122 <li>The XML-RPC API now works with IIS on Windows. 123 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=708252">[% terms.Bug %] 708252</a>)</li> 124 <li>Some queries should now be faster on PostgreSQL. 125 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1184431">[% terms.Bug %] 1184431</a>)</li> 126</ul> 127 128<h3>5.0.1</h3> 129 130<p>This release fixes one security issue. See the 131 <a href="https://www.bugzilla.org/security/4.2.14/">Security Advisory</a> 132 for details.</p> 133 134<p>This release also contains the following [% terms.bug %] fixes:</p> 135 136<ul> 137 <li>Users whose login name is not an email address could not log in on 138 installations which use LDAP to authenticate users. 139 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1179160">[% terms.Bug %] 1179160</a>)</li> 140 <li>If a mandatory custom field was hidden, it was not possible to create 141 a new [% terms.bug %] or to edit existing ones. 142 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1183398">[% terms.Bug %] 1183398</a> 143 and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1196969">[% terms.bug %] 1196969</a>)</li> 144 <li>A user editing his login name to point to a non-existent email address 145 could cause Bugzilla to stop working, causing a denial of service. 146 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1194987">[% terms.Bug %] 1194987</a>)</li> 147 <li>Emails generated during a transaction made PostgreSQL stop working. 148 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1186700">[% terms.Bug %] 1186700</a>)</li> 149 <li>[% terms.Bugs %] containing a comment with a reference to a [% terms.bug %] 150 ID larger than 2^31 could not be displayed anymore using PostgreSQL. 151 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1191937">[% terms.Bug %] 1191937</a>)</li> 152 <li>The date picker in the "Time Summary" page was broken. 153 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1181649">[% terms.Bug %] 1181649</a>)</li> 154 <li>If <kbd>Test::Taint</kbd> or any other Perl module required to use the 155 JSON-RPC API was not installed or was too old, the UI to tag comments was 156 displayed anyway, you could tag comments, but tags were not persistent 157 (they were lost on page reload). Now the UI to tag comments is not displayed 158 at all until the missing Perl modules are installed and up-to-date. 159 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1183227">[% terms.Bug %] 1183227</a>)</li> 160 <li>Custom fields of type <kbd>INTEGER</kbd> now accept negative integers. 161 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1198659">[% terms.Bug %] 1198659</a>)</li> 162 <li>On Windows, the <kbd>checksetup.pl</kbd> installation script no longer 163 asks for a SMTP server. It can be set after the installation is complete. 164 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1191255">[% terms.Bug %] 1191255</a>)</li> 165</ul> 166 167<h2 id="req">Minimum Requirements</h2> 168 169<p>Any requirements that are new since 4.4 will look like 170 <span class="req_new">this</span>.</p> 171 172<ul> 173 <li><a href="#req_perl">Perl</a></li> 174 <li><a href="#req_mysql">For MySQL Users</a></li> 175 <li><a href="#req_pg">For PostgreSQL Users</a></li> 176 <li><a href="#req_oracle">For Oracle Users</a></li> 177 <li><a href="#req_sqlite">For SQLite Users</a></li> 178 <li><a href="#req_modules">Required Perl Modules</a></li> 179 <li><a href="#req_optional_mod">Optional Perl Modules</a></li> 180 <li><a href="#req_apache">Optional Apache Modules</a></li> 181</ul> 182 183<h3 id="req_perl">Perl</h3> 184 185<p>Perl <span class="req_new">v5.10.1</span></p> 186 187[% INCLUDE db_req db='mysql' %] 188 189[% INCLUDE db_req db='pg' %] 190 191[% INCLUDE db_req db='oracle' %] 192 193[% INCLUDE db_req db='sqlite' %] 194 195<h3 id="req_modules">Required Perl Modules</h3> 196 197[% INCLUDE req_table reqs = REQUIRED_MODULES 198 new = ['JSON-XS', 'Email-Sender'] 199 updated = ['DateTime', 'DateTime-TimeZone', 200 '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 new = ['Cache-Memcached','File-Copy-Recursive'] 209 updated = ['Chart', 'Test-Taint'] 210 include_feature = 1 %] 211 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<ul> 219 <li>mod_headers</li> 220 <li>mod_expires</li> 221 <li>mod_env</li> 222</ul> 223 224<p>On most systems (but not on Windows), <kbd>checksetup.pl</kbd> is able to 225 tell whether or not you have these modules installed, and it will tell 226 you.</p> 227 228 229<a name="v50_feat"></a> 230<h2 id="feat">New Features and Improvements</h2> 231 232<ul> 233 <li><a href="#feat_webservices">Improved WebServices</a></li> 234 <li><a href="#feat_caching_performance">Improved Caching using Memcached</a></li> 235 <li><a href="#feat_comment_tags">Abililty to Tag [% terms.Bug %] Comments</a></li> 236 <li><a href="#feat_bug_groups">Improved [% terms.Bug %] Group Membership Checking</a></li> 237 <li><a href="#feat_documentation">Improved Documentation for Users and Administrators</a></li> 238 <li><a href="#feat_other">Other Enhancements and Changes</a></li> 239</ul> 240 241<h3 id="feat_webservices">Improved WebServices</h3> 242 243<p> 244 This release has major improvements in the WebServices interface. One big 245 addition is a new REST-like endpoint alongside the existing XML-RPC and JSON-RPC 246 endpoints. This will allow clients to access Bugzilla data using standard HTTP 247 calls for easy development. <strong>Note:</strong> XML-RPC and JSON-RPC are 248 deprecated in favor of REST and will likely be removed in the Bugzilla 7.0 release. 249</p> 250<p> 251 Also API key support has been added so that API calls will no longer need to use 252 cookies or a user's login and password. Users can create a different API key for 253 each application and revoke API keys that have been compromised or are no longer 254 needed. The API key will simply be passed to each call as credentials. 255</p> 256<p> 257 Several methods have been added and existing ones improved to allow returning 258 data that was not available before such as <kbd>Group.get</kbd>. <kbd>B[%%]ug.search</kbd> 259 is now as full featured as the Advanced Query UI allowing for the same searches 260 to be executed. Attachment data such as flags and other metadata can now be 261 updated through the API. Other WebService changes are detailed 262 <a href="#feat_webservices_other">below</a>. 263</p> 264 265<h3 id="feat_caching_performance">Improved Caching using Memcached</h3> 266 267<p> 268 Bugzilla now has the ability to connect to a Memcached server running either 269 locally or on the network to allow fast access to different types of data. 270 This cuts down on the amount of database hits and can improve performance. Other 271 areas have been improved as well to take advantage of caching in memory for 272 objects that are retrieved multiple times during a request such as user data, etc. 273</p> 274 275<h3 id="feat_comment_tags">Ability to Tag [% terms.Bug %] Comments</h3> 276 277<p> 278 Users can add tags, visible to other users, to [% terms.bug %] comments. This 279 gives the users the ability to thread conversations, mark comments as spam, 280 identify important comments, etc. Users can hide comments that contain specific 281 tags if desired. The tag input field also supports autocompletion so commonly 282 used tags can be selected. Administrators can make specifically tagged comments 283 be automatically hidden from view. 284</p> 285 286<h3 id="feat_bug_groups">Improved [% terms.Bug %] Group Membership Checking</h3> 287 288<p> 289 In the past, Bugzilla restricted who can view [% terms.abug %] to everyone 290 who was a member of ALL the groups the [% terms.bug %] was in. That is, the 291 groups were ANDed together. This made some access control scenarios rather 292 difficult to achieve. So now, Bugzilla defaults to (and can be switched to, 293 in existing installations) a mode where the [% terms.bug %] can be viewed by 294 everyone who is a member of ANY group the [% terms.bug %] is in. That is, the 295 groups are ORed together. This give more flexibility in the way [% terms.bugs %] 296 are made private to specific groups of users. 297</p> 298<p> 299 <strong>Note:</strong> Group memberships for [% terms.bugs %] and users are 300 not changed at all when this setting is switched. When switching from AND to 301 OR, this means that [% terms.bugs %] may be more widely viewable than previously. 302 It is the responsibility of the administrator to make sure that no [% terms.bugs %] 303 are accidentally revealed to the wrong people when changing this setting. 304</p> 305 306<h3 id="feat_documentation">Improved Documentation for Users and Administrators</h3> 307 308<p> 309 The standard documentation that is shipped along with the Bugzilla code has been 310 rewritten and improved using the reStructuredText format. This allows the 311 documentation to be easily hosted at sites such as ReadTheDocs.org and can 312 also be more easily converted into different formats such as HTML and PDF. 313 A new section dedicated to the new REST WebService API has also been added, 314 significantly improving on the old WebService documentation. 315</p> 316 317<h3 id="feat_other">Other Enhancements and Changes</h3> 318 319<h4>Enhancements for Users</h4> 320 321<ul> 322 <li><strong>[% terms.Bugs %]:</strong> The deadline field is now visible to users 323 not in the the <kbd>timetracking</kbd> group.</li> 324 <li><strong>[% terms.Bugs %]:</strong> There is now a "Preview" mode when 325 creating a new comment that allows you to see how the comment will look 326 before committing to the database.</li> 327 <li><strong>[% terms.Bugs %]:</strong> The reporter is now allowed to enter 328 keywords at time of [% terms.bug %] creation.</li> 329 <li><strong>[% terms.Bugs %]:</strong> "See Also" now allows spaces as well as 330 commas to delimit multiple values.</li> 331 <li><strong>[% terms.Bugs %]:</strong> Auto linkification in comments of [% terms.bug %] 332 IDs and comment IDs has been improved.</li> 333 <li><strong>[% terms.Bugs %]:</strong> [% terms.Bugs %] can now have multiple 334 aliases assigned to them. Before each [% terms.bug %] could only have a single 335 value. Also, aliases are now visible in the browser's title bar.</li> 336 <li><strong>[% terms.Bugs %]:</strong> Users can now change the flags of multiple 337 [%+ terms.bugs %] at once using the mass-edit form.</li> 338 <li><strong>Charts and Reports:</strong> UTF-8 characters are now correctly 339 displayed in "New Charts" and graphical reports.</li> 340 <li><strong>Charts and Reports:</strong> Custom multi-select fields are now 341 available as report axis options. This makes them usable for categorizing 342 [%+ terms.bugs %] in reports.</li> 343 <li><strong>Email:</strong> You can now choose to not receive any mail at all 344 about a particular [% terms.bug %], even if you continue to have a role on 345 that [% terms.bug %] (e.g. reporter).</li> 346 <li><strong>Email:</strong> When adding or removing [% terms.abug %] as a 347 dependency, the summary of the [% terms.bug %] is included in the email 348 notification.</li> 349 <li><strong>Requests:</strong> <kbd>request.cgi</kbd> can now output results in 350 CSV format.</li> 351 <li><strong>Requests:</strong><kbd> X-Bugzilla-*</kbd> headers are now included 352 in flag notification emails.</li> 353 <li><strong>Searches:</strong> Some useful searches have been added to the 354 Bugzilla home page.</li> 355 <li><strong>Searches:</strong> Quicksearch now allows for use of comparison 356 operators such as !=, >=, >, <, etc., in addition to substring searches.</li> 357 <li><strong>Searches:</strong> The "Blocks" and "Depends On" values can now be 358 displayed as columns in [% terms.abug %] list.</li> 359 <li><strong>Searches:</strong> The "is empty" and "is not empty" search operators 360 have been added to the Advanced Search UI. This allows searching for null 361 and not null values for certain fields.</li> 362</ul> 363 364<h4>Enhancements for Administrators and Developers</h4> 365 366<ul> 367 <li><strong>Administration:</strong> There are now <kbd>INTEGER</kbd> and 368 <kbd>DATE</kbd> custom field types.</li> 369 <li><strong>Administration:</strong> Filenames used to store product data for 370 "Old Charts" are now based on product IDs to avoid data loss when changing 371 product names.</li> 372 <li><strong>Administration:</strong> JavaScript and CSS files are now minified 373 and concatenated to improve page load performance. When changes are made, 374 <kbd>checksetup.pl</kbd> should be run to regenerate the combined files.</li> 375 <li><strong>[% terms.Bugs %]:</strong> Bugzilla now keeps track of the last 376 time each user visited (that is, loaded the show_bug page in a web browser) 377 each [% terms.bug %]. This could be useful for dashboards or API clients.</li> 378 <li><strong>Database:</strong> Text that contained unicode 379 supplementary characters (outside BMP) was cut off when using MySQL as backend. 380 This has been fixed to prevent data loss.</li> 381 <li><strong>Database:</strong> SSL connections are now possible when using 382 MySQL as backend.</li> 383 <li><strong>Database:</strong> For version 8.x of PostgreSQL, <kbd>plpgsql</kbd> 384 was not always installed by default and <kbd>checksetup.pl</kbd> would 385 generate an error. This has been fixed.</li> 386 <li><strong>Development:</strong> Bugzilla is now HTML5 compliant. As a 387 consequence, Internet Explorer 6 and 7 are no longer supported.</li> 388 <li><strong>Email:</strong> Email generation originally was done before the 389 jobqueue job was inserted. This is now delayed and done by 390 <kbd>jobqueue.pl</kbd> right before sending the email which can improve 391 responsiveness when processing [% terms.bug %] changes.</li> 392 <li><strong>Email:</strong> When a site administrator creates a new user, an 393 email is sent to the user.</li> 394 <li><strong>Email:</strong> For dependency email notifications, the header 395 <kbd>X-B[%%]ugzilla-Type: dep_changed</kbd> is set.</li> 396 <li><strong>Email:</strong> <kbd>whine.pl</kbd> emails now use 397 <kbd>DEFAULT_COLUMN_LIST</kbd> (the same default columns seen in the buglist 398 page) instead of hard coded column list.</li> 399 <li><strong>Security:</strong> Support for increased values for 400 <kbd>PASSWORD_SALT_LENGTH</kbd> without breaking compatibility with old 401 hashes.</li> 402</ul> 403 404<h4 id="feat_webservices_other">WebService Changes</h4> 405 406<ul> 407 <li><kbd>B[%%]ug.search</kbd> now allows for full search functionality 408 similar to what is possible using the Advanced Query UI.</li> 409 <li>Basic support for eTag headers has been added to all WebServices 410 to allow for better network performance.</li> 411 <li>Administrators can now change a parameter that filters all email 412 addresses returned in WebService calls similar to filtering that 413 happens in the web UI.</li> 414 <li>WebService calls now support use of API keys for authentication. 415 Usernames and passwords remain supported.</li> 416 <li>Invalid or expired authentication cookies and tokens now throw 417 errors instead of being silently ignored. <kbd>User.valid_login</kbd> 418 can be used to determine if they are still valid or not.</li> 419 <li>WebService calls that are used to create and update [% terms.bugs %] 420 and attachments now support setting and updating of flags.</li> 421 <li><kbd>B[%%]ug.update_attachment</kbd> can update an attachment's 422 metadata as well as its flags.</li> 423 <li>The <kbd>product</kbd> parameter for <kbd>B[%%]ug.possible_duplicates</kbd> 424 has been renamed to <kbd>products</kbd>.</li> 425 <li>Some compatibility fields included in returned data that were marked 426 to be removed in this release are now gone.</li> 427 <li><kbd>Group.get</kbd> has been added to get information about a group and 428 its members.</li> 429 <li><kbd>FlagType.get</kbd> has been added to get information about valid 430 flag types for a given product and component.</li> 431 <li>The deprecated <kbd>B[%%]ug.get_bugs</kbd>, <kbd>B[%%]ug.get_history</kbd> 432 and <kbd>Product.get_products</kbd> methods are no longer supported. 433 They have been renamed to <kbd>B[%%]ug.get</kbd>, <kbd>B[%%]ug.history</kbd> 434 and <kbd>Product.get</kbd> respectively.</li> 435</ul> 436 437<h2 id="code_changes">Code Changes Which May Affect Customizations and Extensions</h2> 438 439<ul> 440 <li>Support for CVS, Bonsai and LXR has been removed entirely when viewing 441 attachments. This means that the <kbd>cvsroot</kbd>, <kbd>cvsroot_get</kbd>, 442 <kbd>bonsai_url</kbd>, <kbd>lxr_url</kbd> and <kbd>lxr_root</kbd> parameters 443 are all gone, as well as <kbd>cvsbin</kbd> from the <kbd>localconfig</kbd> 444 file.</li> 445 <li>The <kbd>docs_urlbase</kbd> parameter has been removed. If documentation 446 has not been compiled locally, the "Help" links and other documentation links 447 will redirect to <a href="https://bugzilla.readthedocs.org">bugzilla.readthedocs.org</a> 448 automatically.</li> 449 <li>The <kbd>mostfreqthreshold</kbd> parameter has also been removed.</li> 450 <li>All extensions which define new public WebService methods must list them 451 in a <kbd>PUBLIC_METHODS</kbd> constant. Methods which are not listed there 452 will not be accessible remotely.</li> 453 <li><kbd>JSON::XS</kbd> is now used instead of <kbd>Data::Dumper</kbd> for 454 storage on configuration values in <kbd>data/params</kbd>. This should 455 improve performance when loading the file.</li> 456 <li>A new test has been added to check for reserved words in SQL schema.</li> 457 <li><kbd>Pod::Coverage</kbd> is now used to ensure subroutines are documented.</li> 458 <li>Bugzilla code now uses <kbd>use parent</kbd> instead of <kbd>use base</kbd> 459 in all places applicable.</li> 460 <li>A new hook called <kbd>cgi_headers</kbd> has been added to allow 461 customization of the HTTP headers returned.</li> 462 <li>A new hook called <kbd>user_check_account_creation</kbd> has been added 463 to add extra checks before accepting the creation of a new user account.</li> 464</ul> 465 466[% INCLUDE global/footer.html.tmpl %] 467 468[% BLOCK db_req %] 469 [% SET m = DB_MODULE.$db %] 470 <h3 id="req_[% db FILTER html %]">For [% m.name FILTER html %] Users</h3> 471 472 <ul> 473 <li>[% m.name FILTER html %] 474 [%+ '<span class="req_new">' IF db_new %]v[% m.db_version FILTER html %] 475 [% '</span>' IF db_new %] 476 </li> 477 <li><strong>perl module:</strong> 478 [%+ m.dbd.module FILTER html %] 479 [%+ '<span class="req_new">' IF dbd_new %]v[% m.dbd.version FILTER html %] 480 [% '</span>' IF dbd_new %]</li> 481 </ul> 482[% END %] 483 484 485[% BLOCK req_table %] 486 <table class="req_table"> 487 <tr> 488 <th>Module</th> <th>Version</th> 489 [% IF include_feature %] 490 <th>Enables Feature</th> 491 [% END %] 492 </tr> 493 [% FOREACH req = reqs %] 494 <tr> 495 <td [% ' class="req_new"' IF new.contains(req.package) %]> 496 [%- req.module FILTER html %]</td> 497 <td [% ' class="req_new"' IF updated.contains(req.package) 498 OR new.contains(req.package) %]> 499 [%- IF req.version == 0 %] 500 (Any) 501 [% ELSE %] 502 [%- req.version FILTER html %] 503 [% END %] 504 </td> 505 [% IF include_feature %] 506 <td>[% req.feature.join(', ') FILTER html %]</td> 507 [% END %] 508 </tr> 509 [% END %] 510</table> 511[% END %] 512