summaryrefslogtreecommitdiffstats
path: root/template/en
diff options
context:
space:
mode:
Diffstat (limited to 'template/en')
-rw-r--r--template/en/default/pages/release-notes.html.tmpl915
1 files changed, 894 insertions, 21 deletions
diff --git a/template/en/default/pages/release-notes.html.tmpl b/template/en/default/pages/release-notes.html.tmpl
index 8877c2672..eea13e85d 100644
--- a/template/en/default/pages/release-notes.html.tmpl
+++ b/template/en/default/pages/release-notes.html.tmpl
@@ -18,12 +18,648 @@
#%]
[% PROCESS global/variables.none.tmpl %]
+[% SET title = "$terms.Bugzilla 4.0 Release Notes" %]
[% INCLUDE global/header.html.tmpl
- title = "$terms.Bugzilla 3.6 Release Notes"
+ title = title
style_urls = ['skins/standard/page.css']
%]
-<h2>Table of Contents</h2>
+<h1>[% title FILTER html %]</h1>
+
+<ul class="bz_toc">
+ <li><a href="#v40_introduction">Introduction</a></li>
+ <li><a href="#v40_req">Minimum Requirements</a></li>
+ <li><a href="#v40_feat">New Features and Improvements</a></li>
+ <li><a href="#v40_issues">Outstanding Issues</a></li>
+ <li><a href="#v40_upgrading">Notes On Upgrading From a Previous Version</a></li>
+ <li><a href="#v40_code_changes">Code Changes Which May Affect
+ Customizations and Extensions</a></li>
+ <li><a href="#v40_previous">Release Notes for Previous Versions</a></li>
+</ul>
+
+<h2 id="v40_introduction">Introduction</h2>
+
+<p>This is [% terms.Bugzilla %] 4.0! Since 3.6 (our previous major
+ release) we've come a long way, and we've come even further compared to
+ 3.0 in 2007! Since [% terms.Bugzilla %] 3.0, almost every major user
+ interface in [% terms.Bugzilla %] has been redesigned, the WebServices have
+ evolved enormously, there's a great new Extensions system, and there
+ are hundreds of other new features. With the major redesigns that come
+ particularly in this release compared to 3.6, we felt that it was time to
+ call this release 4.0.</p>
+
+<p>It's not just major WebService and UI enhancements that are new in
+ [%+ terms.Bugzilla %] 4.0&mdash;there are many other exciting new features,
+ including automatic duplicate detection, enhanced custom field
+ functionality, autocomplete for users, search improvements, and much
+ more. Overall, 4.0 is far and away the best version of [% terms.Bugzilla %]
+ we've ever released.</p>
+
+<p>If you're upgrading, make sure to read <a href="#v40_upgrading">Notes
+ On Upgrading From a Previous Version</a>. If you are upgrading from a release
+ before 3.6, make sure to read the release notes for all the
+ <a href="#v40_previous">previous versions</a> in between your version
+ and this one, <strong>particularly the Upgrading section of each
+ version's release notes</strong>.</p>
+
+<p>We would like to thank
+ <a href="http://www.itasoftware.com/">ITA Software</a>,
+ the <a href="http://www.ibm.com/linux/ltc/">IBM Linux Technology Center</a>,
+ and <a href="http://www.redhat.com/">Red Hat</a> for funding the development
+ of certain features and improvements in this release of
+ [%+ terms.Bugzilla %].</p>
+
+<h2 id="v40_req">Minimum Requirements</h2>
+
+<p>Any requirements that are new since 3.6.3 will look like
+ <span class="req_new">this</span>.</p>
+
+<ul>
+ <li><a href="#v40_req_perl">Perl</a></li>
+ <li><a href="#v40_req_mysql">For MySQL Users</a></li>
+ <li><a href="#v40_req_pg">For PostgreSQL Users</a></li>
+ <li><a href="#v40_req_oracle">For Oracle Users</a></li>
+ <li><a href="#v40_req_modules">Required Perl Modules</a></li>
+ <li><a href="#v40_req_optional_mod">Optional Perl Modules</a></li>
+ <li><a href="#v40_req_apache">Optional Apache Modules</a></li>
+</ul>
+
+
+<h3 id="v40_req_perl">Perl</h3>
+
+<p>Perl v5.8.1</p>
+
+[% INCLUDE db_req db='mysql' %]
+
+[% INCLUDE db_req db='pg' %]
+
+[% INCLUDE db_req db='oracle' %]
+
+<h3 id="v40_req_modules">Required Perl Modules</h3>
+
+[% INCLUDE req_table reqs = REQUIRED_MODULES
+ new = ['List-MoreUtils']
+ updated = ['Email-MIME', 'CGI.pm'] %]
+
+<h3 id="v40_req_optional_mod">Optional Perl Modules</h3>
+
+<p>The following perl modules, if installed, enable various
+ features of [% terms.Bugzilla %]:</p>
+
+[% INCLUDE req_table reqs = OPTIONAL_MODULES
+ new = ['JSON-XS']
+ updated = []
+ include_feature = 1 %]
+
+<h3 id="v40_req_apache">Optional Apache Modules</h3>
+
+<p>If you are using Apache as your webserver, [% terms.Bugzilla %] can
+ now take advantage of some Apache features if you have the below Apache
+ modules installed and enabled. Currently,
+ <a href="#v40_feat_js_css_update">certain [% terms.Bugzilla %] features</a>
+ are enabled only if you have all of the following modules installed
+ and enabled:</p>
+
+<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>
+
+<h2 id="v40_feat">New Features and Improvements</h2>
+
+<ul>
+ <li><a href="#v40_feat_dup">Automatic Duplicate Detection When Filing
+ [%+ terms.Bugs %]</a></li>
+ <li><a href="#v40_feat_search_ui">New Advanced Search UI</a></li>
+ <li><a href="#v40_feat_attach_ui">New Attachment Details UI</a></li>
+ <li><a href="#v40_feat_autocomplete">Autocomplete for Users and
+ Keywords</a></li>
+ <li><a href="#v40_feat_ui">General Usability Improvements</a></li>
+ <li><a href="#v40_feat_workflow">New Default Status Workflow</a></li>
+ <li><a href="#v40_feat_lists">"Last Search" Now Remembers Multiple
+ Searches</a></li>
+ <li><a href="#v40_feat_jsonp">Cross-Domain WebServices with JSONP</a></li>
+ <li><a href="#v40_feat_ws">Major WebService Enhancements</a></li>
+ <li><a href="#v40_feat_mandatory">Mandatory Custom Fields</a></li>
+ <li><a href="#v40_feat_vot_ext">Voting Is Now An Extension</a></li>
+ <li><a href="#v40_feat_js_css_update">Users Get New CSS and Javascript
+ Automatically</a></li>
+ <li><a href="#v40_feat_hooks">Many New Hooks</a></li>
+ <li><a href="#v40_feat_apache_config">New Apache Configuration</a></li>
+ <li><a href="#v40_feat_other">Other Enhancements and Changes</a></li>
+</ul>
+
+<h3 id="v40_feat_dup">Automatic Duplicate Detection When Filing
+ [%+ terms.Bugs %]</h3>
+
+<p>When filing [% terms.abug %], as soon as you start typing in the summary
+ field, [% terms.Bugzilla %] will suggest possible duplicates of the
+ [%+ terms.bug %] you are filing.</p>
+
+<p>In order for this feature to work, all pre-requisites for JSON-RPC
+ support must be installed on your [% terms.Bugzilla %]. It will be
+ much faster on installations that run under mod_perl than it will
+ be on other installations.</p>
+
+<p>This automatic duplicate detection does not currently work for installations
+ running on PostgreSQL.</p>
+
+<h3 id="v40_feat_search_ui">New Advanced Search UI</h3>
+
+<p>Thanks to the UI work of <a href="http://guy-pyrzak.blogspot.com/">Guy
+ Pyrzak</a>, the Advanced Search UI has been completely redesigned.
+ It is now much simpler, and far more approachable for new users, while
+ still retaining all of the features that power users are used to.</p>
+
+<h3 id="v40_feat_attach_ui">New Attachment Details UI</h3>
+
+<p>The UI used for editing attachment details has been completely
+ redesigned, allowing for a normally-size comment box to be used
+ when commenting on attachments, and allowing nearly the entire screen
+ width to be used when doing code reviews or editing an attachment as
+ a comment.</p>
+
+<p>Thanks to <a href="http://guy-pyrzak.blogspot.com/">Guy Pyrzak</a> for
+ his excellent work on this UI redesign.</p>
+
+<h3 id="v40_feat_autocomplete">Autocomplete for Users and Keywords</h3>
+
+<p>Once you type at least three characters in any field that can contain a user
+ (including the [% field_descs.cc FILTER html %],
+ [%+ field_descs.qa_contact FILTER html %], or
+ [%+ field_descs.assigned_to FILTER html %] fields), a list will appear
+ containing all of the users whose real names or usernames match what you are
+ typing. Your [% terms.Bugzilla %] must have all of the optional Perl
+ modules required for JSON-RPC support installed, though, in order for
+ this feature to work. Also, this feature will be <strong>much</strong>
+ faster on installations that run under mod_perl than it will be on
+ other installations.</p>
+
+<p>There is also a similar autocomplete for the Keywords field. The
+ Keywords autocomplete does not require JSON-RPC.</p>
+
+<h3 id="v40_feat_ui">General Usability Improvements</h3>
+
+<p>In addition to the enhancements listed above, there have been
+ <strong>many</strong> improvements made across the [% terms.Bugzilla %]
+ user interface. For a list of specific enhancements that were significant,
+ see the <a href="#v40_feat_other">Other Enhancements and Changes</a>
+ section.</p>
+
+<h3 id="v40_feat_workflow">New Default Status Workflow</h3>
+
+<p>For new installations of [% terms.Bugzilla %], the default set of
+ statuses will now be:</p>
+
+<ul>
+ <li>UNCONFIRMED</li>
+ <li>CONFIRMED</li>
+ <li>IN_PROGRESS</li>
+ <li>RESOLVED</li>
+ <li>VERIFIED</li>
+</ul>
+
+<p>And the UNCONFIRMED status will be enabled by default in all products.</p>
+
+<p>On upgrade, existing installations will not be affected--you will retain
+ your existing status workflow. However, we strongly recommend that you
+ update your existing workflow to the new one, using a special tool
+ we've included, <kbd>contrib/convert-workflow.pl</kbd>, which you
+ can run after you use <kbd>checksetup.pl</kbd> to upgrade. The
+ <kbd>whineatnews.pl</kbd> and <kbd>bugzilla-submit</kbd> scripts
+ will probably not work properly if you continue to use the old workflow
+ (though most other parts of [% terms.Bugzilla %] will still function
+ normally).</p>
+
+<p>For more information about the workflow and our rationale for changing
+ it, see the
+ <a href="http://bugzillaupdate.wordpress.com/2010/07/06/bugzilla-4-0-has-a-new-default-status-workflow/">blog
+ post about it</a> and the
+ <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=486292">[% terms.bug %]
+ where the change was made</a>.</p>
+
+<h3 id="v40_feat_lists">"Last Search" Now Remembers Multiple Searches</h3>
+
+<p>At the top of every [% terms.bug %] in [% terms.Bugzilla %], there are
+ links that look like: "First", "Last", "Prev", "Next", and
+ "Show last search results". In earlier versions of [% terms.Bugzilla %],
+ if you did two separate searches in separate windows, these links would
+ only work for the <em>last</em> search you did. Now, [% terms.Bugzilla %]
+ will "remember" which search result you came from and give you the right
+ "last search results" or "next bug" from <em>that</em> list, instead of
+ always using your most recent search.</p>
+
+<p>There are still some situations where [% terms.Bugzilla %] will have to
+ "guess" which search you are trying to navigate through, but it does its
+ best to get it right.</p>
+
+<h3 id="v40_feat_jsonp">Cross-Domain WebServices with JSONP</h3>
+
+<p>[% terms.Bugzilla %] now supports making WebService calls from
+ another domain, inside of a web browser, thanks to support for
+ <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a>.
+ This will allow for web "mash-ups" to use [% terms.Bugzilla %] data.
+ When using JSONP, you may only call functions that <em>get</em> data,
+ you may not call functions that <em>change</em> data.</p>
+
+<p>For more details, see the
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Server/JSONRPC.html#JSONP">JSONP
+ section</a> of the JSON-RPC WebService documentation.</p>
+
+<h3 id="v40_feat_ws">Major WebService Enhancements</h3>
+
+<p>The WebService has been expanded considerably. The WebService should now be
+ able to do everything with [% terms.bugs %] that you can do via the
+ web interface, including updating [% terms.bugs %], adding attachments,
+ and getting attachment data. For specifics, see the
+ <a href="#v40_feat_ws_changes">WebService Changes</a> section of these
+ release notes.</p>
+
+<h3 id="v40_feat_mandatory">Mandatory Custom Fields</h3>
+
+<p>You can now specify that certain custom fields are "mandatory",
+ meaning that they must have a value when [% terms.abug %] is filed,
+ and they can never be empty after that.</p>
+
+<h3 id="v40_feat_vot_ext">Voting Is Now An Extension</h3>
+
+<p>All of the code for voting in [% terms.Bugzilla %] has been moved
+ into an extension, called "Voting", in the <kbd>extensions/Voting/</kbd>
+ directory. To enable it, you must remove the <kbd>disabled</kbd> file
+ from that directory, and run checksetup.pl.</p>
+
+<p>In a future version of [% terms.Bugzilla %], the Voting extension will
+ be moved outside of the [% terms.Bugzilla %] core code, so we are looking
+ for somebody who has an interest in the Voting system and would like to
+ maintain it as a separate extension. There are many enhancement requests
+ that have been made against the Voting system, and the best way for those
+ to get addressed is for somebody to step up and offer to maintain the
+ system outside of [% terms.Bugzilla %]'s core code.</p>
+
+<h3 id="v40_feat_js_css_update">Users Get New CSS and Javascript
+ Automatically</h3>
+
+<p>In past versions of [% terms.Bugzilla %], if you changed
+ [%+ terms.Bugzilla %]'s CSS or Javascript files, then every user of
+ [%+ terms.Bugzilla %] would have to clear their cache in order to get
+ the updated files. Now, if you are using Apache as your webserver and
+ you have the <a href="#v40_req_apache">optional Apache modules</a>
+ installed, users will automatically get every new version of
+ [%+ terms.Bugzilla %]'s Javascript and CSS without having to clear
+ their caches.</p>
+
+<p>This feature also gives a slight performance speedup to
+ [%+ terms.Bugzilla %] in some cases, and so we recommend that all
+ administrators install the optional Apache modules if possible.</p>
+
+<h3 id="v40_feat_hooks">Many New Hooks</h3>
+
+<p>Many new code hooks have been added for use by Extensions,
+ in [% terms.Bugzilla %] 4.0. Now Extensions can access and modify
+ nearly every part of [% terms.Bugzilla %].</p>
+
+<h3 id="v40_feat_apache_config">New Apache Configuration</h3>
+
+<p>(Note: If your [% terms.Bugzilla %] runs under mod_perl or runs on some
+ other webserver than Apache, this section does not apply to you.)</p>
+
+<p>The Apache configuration used for [% terms.Bugzilla %] has changed.
+ In particular, a different AllowOverride statement is required.
+ See the
+ <a href="[% docs_urlbase FILTER html %]configuration.html#http-apache">Configuration</a>
+ section of the [% terms.Bugzilla %] Guide for details.</p>
+
+<h3 id="v40_feat_other">Other Enhancements and Changes</h3>
+
+<h4>Enhancements for Users</h4>
+
+<ul>
+ <li>Now, everywhere in [% terms.Bugzilla %] where you can enter a date,
+ there is a Calendar widget where you can select the date on a
+ calendar.</li>
+ <li>The big icons on the front page have been replaced with much nicer
+ icons, thanks to Jon Pink of <a href="http://www.jpink.co.uk/">J.&nbsp;Pink&nbsp;Design</a>!</li>
+ <li><strong>[% terms.Bugs %]:</strong> When filing [% terms.bugs %],
+ you will now be warned if you forgot to fill in any mandatory fields,
+ <em>before</em> the page is submitted.</li>
+ <li><strong>[% terms.Bugs %]:</strong> When filing [% terms.abug %],
+ you can hover your mouse over any of the field labels on the page
+ to get a brief description of what that field is and what its purpose
+ is.</li>
+ <li><strong>[% terms.Bugs %]:</strong> [% terms.Bug %] comments are no
+ longer word-wrapped at 80 characters. They are simply wrapped by your
+ web browser to be as wide as the comment view in the UI. They will still
+ be wrapped to 80 characters in emails, though.</li>
+ <li><strong>[% terms.Bugs %]:</strong> When adding Hours Worked to [% terms.abug %],
+ you are no longer required to comment.</li>
+ <li><strong>[% terms.Bugs %]:</strong> There is now a user preference
+ for whether the comment box appears above or below the existing
+ comments.</li>
+ <li><strong>[% terms.Bugs %]:</strong> [% terms.Bugzilla %] will now
+ send an email for every comment that you mark or un-mark as being
+ private. (Previous versions of [% terms.Bugzilla %] did not send emails
+ to users about this change.) The state of comments being made private
+ is also now stored in [% terms.abug %]'s history.</li>
+ <li><strong>[% terms.Bugs %]:</strong> The box to "Add [% terms.Bug %] URLs"
+ in the See Also field is now hidden behind an "(add)" link that you
+ have to click to see the box.</li>
+
+ <li><strong>Searches:</strong> You can now properly search for field values
+ that have commas in their name, when using the Advanced Search form.</li>
+ <li><strong>Searches:</strong> The "URL" field can now be shown as a column
+ in search results.</li>
+ <li><strong>Searches:</strong> When viewing a search result, you can now
+ click on the Summary of the [% terms.bug %] in order to go to the
+ [%+ terms.bug %]-view page, in addition to being able to click on the
+ [%+ terms.bug %] ID.</li>
+ <li><strong>Searches:</strong> When doing a search using the "quicksearch"
+ box in the header or footer, the box will still contain what you searched
+ for when viewing the search results page.</li>
+ <li><strong>Searches:</strong> Multi-select custom fields can now be
+ shown as columns in the search results.</li>
+ <li><strong>Searches:</strong> When using the Boolean Charts (now called
+ "Custom Search"), if you specify both a criterion for an attachment
+ and a criteron for a flag, then only [% terms.bugs %] that have
+ attachments with that flag will be found.</li>
+ <li><strong>Searches:</strong> If you hover your mouse over the field labels
+ on the Advanced Search page, you will get a description of what that
+ field is.</li>
+ <li><strong>Searches:</strong> When searching via a saved search, if you
+ accidentally click on "Forget Search", there is a link to undo it.</li>
+ <li><strong>Searches:</strong> When using the Boolean Charts (now called
+ "Custom Search"), you can search for values "greater than or equal to"
+ or "less than or equal to" some value.</li>
+
+ <li><strong>Flags:</strong> If you hover your mouse over the name of
+ a flag setter when viewing [% terms.abug %], you can see that
+ flag setter's full name and complete username.</li>
+ <li><strong>Flags:</strong> When setting a flag on [% terms.abug %],
+ the box for entering a requestee does not appear until you set the flag
+ to "?", now.</li>
+ <li><strong>Flags:</strong> On the "My Requests" page, [% terms.bugs %]
+ that are restricted to certain groups now properly have the "padlock"
+ icon shown next to them to indicate that they may contain confidential
+ information.</li>
+
+ <li>When using the Reports interface, you can now choose many more fields
+ as the X, Y, or Z axis of a report, including custom fields.</li>
+ <li>[% terms.Bugzilla %] now prevents
+ Internet Explorer 8 and later from attempting to render
+ <kbd>text/plain</kbd> attachments as HTML.</li>
+ <li>If you receive a Whine mail that is empty, there will now be a brief
+ message explaining that your search found no results.</li>
+ <li>The <a href="page.cgi?id=fields.html">Field Help Page</a> now
+ contains a description of every single field that can be on
+ [%+ terms.abug %] in [% terms.Bugzilla %].</li>
+</ul>
+
+<h4>Enhancements for Administrators and Developers</h4>
+
+<ul>
+ <li>The system for moving [% terms.bugs %] between installations has been
+ moved into an extension called <kbd>OldBugMove</kbd>. This system was used
+ by very few [% terms.Bugzilla %] installations--if you aren't certain
+ whether or not you are using it, you're not using it. To enable the system,
+ you have to remove the file <kbd>extensions/OldBugMove/disabled</kbd>
+ and then run checksetup.pl. In a future version of [% terms.Bugzilla %],
+ this extension may be moved outside of the core [% terms.Bugzilla %] code,
+ so if you are interested in maintaining it, please let us know.</li>
+ <li><strong>Custom Fields: </strong> "[% terms.Bug %] ID" custom fields can
+ now represent relationships between [% terms.bugs %], similarly to how the
+ [%+ field_descs.blocked FILTER html %] and
+ [%+ field_descs.dependson FILTER html %] fields work now.</li>
+ <li><strong>Custom Fields:</strong> You can now restrict the visibility
+ of custom fields and their values to a specific Component or
+ Classification.</li>
+ <li>The "keyword cache" has been removed. When you edit keywords, you no
+ longer will have to "rebuild the keyword cache" after you are done.</li>
+ <li>Running <kbd>./collectstats.pl --regenerate</kbd> will now take
+ minutes or hours, instead of days.</li>
+ <li>When using <kbd>email_in.pl</kbd>, there are two new switches,
+ <kbd>--default</kbd> and <kbd>--override</kbd>, which allow you to
+ specify certain default values or override specified values for
+ <kbd>@field</kbd> values sent in emails. (This also allows you to specify
+ defaults for everything so that people do not have to specify any field
+ values when filing [% terms.abug %] via email.)</li>
+ <li><strong>Installation:</strong> If you are using a localized version of
+ [%+ terms.Bugzilla %] and your terminal does not understand Unicode,
+ <kbd>checksetup.pl</kbd> will now attempt to output its messages in your
+ terminal's character set.</li>
+ <li><strong>Installation:</strong> [% terms.Bugzilla %] no longer needs empty
+ "placeholder" CSS in the <kbd>skins/custom</kbd> directory and other
+ directories. When you update, <kbd>checksetup.pl</kbd> will remove these.
+ This also significantly reduces the number of HTTP requests required to
+ load a page for the first time in [% terms.Bugzilla %].</li>
+ <li><strong>Installation:</strong> For Windows users, [% terms.Bugzilla %]
+ now supports Strawberry Perl fully.</li>
+ <li><strong>Installation:</strong> Now, whenever <kbd>checksetup.pl</kbd>
+ throws an error, it will be printed in the color red, to make it
+ obvious that something is wrong.</li>
+ <li><strong>Installation:</strong> Some actions of checksetup.pl were
+ silent, in the past. Now, checksetup.pl will print a message for
+ almost anything it does.</li>
+ <li><strong>Installation:</strong> The process of adding foreign keys
+ to a table is now much faster. This will particularly improve the speed
+ of upgrading from [% terms.Bugzilla %] 3.4 or earlier.</li>
+ <li>If you are using <kbd>jobqueue.pl</kbd> and email gets heavily delayed
+ for some reason, those emails will now have a Date header reflecting the
+ time they were <em>supposed</em> to be sent, instead of when they actually
+ <em>were</em> sent.</li>
+ <li><kbd>./jobqueue.pl install</kbd> now works on SuSE Linux.</li>
+ <li>[% terms.Bugzilla %] now runs much better in Apache's suexec mode
+ than it used to. As part of this, <kbd>checksetup.pl</kbd> sets
+ much stricter permissions on all the files in [% terms.Bugzilla %]
+ than it used to. In particular, any files that [% terms.Bugzilla %]
+ does not know about will not be readable by the webserver.</li>
+ <li>The <kbd>sendmailnow</kbd> parameter has been removed, as it was
+ not necessary for any modern version of Sendmail or other Mail Transfer
+ Agent.</li>
+ <li>When editing a user via the Users administration panel, you can now
+ see if they are a Default CC on any component.</li>
+ <li>For new installations of [% terms.Bugzilla %], all users will be
+ able to see and use the Whining system by default.</li>
+ <li>When you are using SSL with [% terms.Bugzilla %], you can now
+ turn on the <kbd>strict_transport_security</kbd> parameter to
+ send the
+ <a href="https://developer.mozilla.org/en/Security/HTTP_Strict_Transport_Security">Strict-Transport-Security</a>
+ header with every HTTPS connection, for additional security.</li>
+ <li>New code hooks (see their documentation in
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Hook.html">Bugzilla::Hook</a>):
+ bug_check_can_change_field, search_operator_field_override,
+ bugmail_relationships, object_columns, object_update_columns,
+ and object_validators. The colchange_columns hook has been removed,
+ as it is no longer necessary (buglist_columns will be used for data
+ about which columns can be on the buglist).</li>
+ <li>When [% terms.Bugzilla %] throws certain types of errors, it will
+ now include a "traceback" of where exactly the error occurred in the
+ code, to help administrators and developers debug problems.</li>
+ <li>There is now a test, <kbd>xt/search.t</kbd>, that assures that all
+ of the functionality of <kbd>Bugzilla::Search</kbd> is working properly.
+ If you customize the search functionality of [% terms.Bugzilla %],
+ you may wish to run this test to assure that your changes are correct.
+ You can see more information about running this test by doing
+ <kbd>perldoc xt/search.t</kbd> at the command line.</li>
+</ul>
+
+<h4 id="v40_feat_ws_changes">WebService Changes</h4>
+
+<ul>
+ <li>You can now call some JSON-RPC methods using HTTP GET, in addition to
+ using HTTP POST. See the
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Server/JSONRPC.html#Connecting_via_GET">JSON-RPC
+ documentation</a> for details.</li>
+ <li>You can now update existing [% terms.bugs %] using the
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#update">B[% %]ug.update</a>
+ function.</li>
+ <li>You can now add attachments to [% terms.bugs %] using the
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#add_attachment">B[% %]ug.add_attachment</a>
+ function.</li>
+ <li>The <kbd>B[% %]ug.get</kbd> function now returns all of [% terms.abug %]'s
+ information other than comments and attachments.</li>
+ <li><kbd>B[% %]ug.get</kbd> no longer returns the <kbd>internals</kbd> hash.</li>
+ <li>The <kbd>B[% %]ug.attachments</kbd> function now also returns attachment
+ data.</li>
+ <li>The following functions now support the <kbd>include_fields</kbd>
+ and <kbd>exclude_fields</kbd> arguments: <kbd>B[% %]ug.get</kbd>,
+ <kbd>B[% %]ug.search</kbd>, and <kbd>B[% %]ug.attachments</kbd>. Also,
+ server-side performance of the WebService is actually increased when
+ using these arguments, now, as [% terms.Bugzilla %] will no longer
+ get data from the database for fields you haven't asked for.</li>
+ <li>You can now mark the initial description of [% terms.abug %] as
+ private when filing [% terms.abug %] via the <kbd>B[% %]ug.create</kbd>
+ function.</li>
+ <li>You can now specify groups to put [% terms.abug %] in, in the
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#create">B[% %]ug.create</a>
+ function. (This also means that you can specify groups when filing
+ [%+ terms.abug %] via email_in.pl.)</li>
+ <li>The <kbd>User.get</kbd> function now accepts <kbd>groups</kbd>
+ and <kbd>group_ids</kbd> arguments, to limit the returned values to
+ only users in the specified groups.</li>
+ <li>There is a new, undocumented B[% %]ug.possible_duplicates
+ function that helps implement the automatic duplicate detection
+ system. Because this function is not documented, its API may change
+ between releases of [% terms.Bugzilla %].</li>
+ <li>You can no longer search using the <kbd>votes</kbd> argument in
+ <kbd>B[% %]ug.search</kbd>.</li>
+ <li><kbd>B[% %]ug.attachments</kbd> now returns the attachment's description
+ using the name "summary" instead of the name "description", to be
+ consistent with the fact that [% terms.bug %] summaries are called
+ "summary". The value is still <em>also</em> returned as "description",
+ for backwards compatibility, but this backwards compatibility will go
+ away in [% terms.Bugzilla %] 5.0.</li>
+ <li>In the return values of various <kbd>B[% %]ug</kbd> functions, the author
+ of comments, [% terms.bugs %], and attachments is now called "creator",
+ instead of sometimes being called "reporter", "author", or "attacher".
+ The old names are retained for backwards-compatibility, and will stay
+ around until [% terms.Bugzilla %] 5.0.</li>
+</ul>
+
+<h2 id="v40_issues">Outstanding Issues</h2>
+
+<ul>
+ <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=423439">
+ [%- terms.Bug %] 423439</a>: Tabs in comments will be converted
+ to four spaces, due to a b<!-- -->ug in Perl as of Perl 5.8.8.</li>
+ <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=89822">
+ [%- terms.Bug %] 89822</a>: When changing multiple [% terms.bugs %] at
+ the same time, there is no "mid-air collision" protection.</li>
+ <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=276230">
+ [%- terms.Bug %] 276230</a>: The support for restricting access to
+ particular Categories of New Charts is not complete. You should treat
+ the 'chartgroup' Param as the only access mechanism available.<br>
+ 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.</li>
+</ul>
+
+<h2 id="v40_upgrading">Notes On Upgrading From a Previous Version</h2>
+
+<h3>New .htaccess file</h3>
+
+<p>In previous versions of [% terms.Bugzilla %], there was a file
+ in [% terms.Bugzilla %]'s root directory called ".htaccess" that was
+ generated by <kbd>checksetup.pl</kbd>. This file is now shipped with
+ [%+ terms.Bugzilla %] instead of being generated during installation.</p>
+
+<p>If you update via CVS or bzr, you will get a message that your existing
+ .htaccess file conflicts with the new one. You must
+ <strong>remove your existing .htaccess file</strong> and use the new one
+ instead. Continuing to use your old .htaccess file will cause certain new
+ features of [% terms.Bugzilla %] to not work properly, and may also lead
+ to security issues for your system in the future.</p>
+
+<h2 id="v40_code_changes">Code Changes Which May Affect Customizations and
+ Extensions</h2>
+
+<ul>
+ <li>In Extensions, if you want to serve files to the user via the web,
+ they must now be in a <kbd>web/</kbd> subdirectory of your Extension.
+ (For example, <kbd>extensions/Foo/web/</kbd>). <kbd>checksetup.pl</kbd>
+ sets permissions on extensions much more strictly now, and files in
+ other locations (such as your base <kbd>extensions/Foo/</kbd> directory)
+ will no longer be available to [% terms.Bugzilla %] users via the web
+ under certain configurations.</li>
+ <li>Previous versions of [% terms.Bugzilla %] used to allow putting a
+ single file into the "skins" directory and having that be an entire
+ skin. That is no longer allowed, and on upgrade, <kbd>checksetup.pl</kbd>
+ will convert any such skins into a directory with a single
+ <kbd>global.css</kbd> file in them.</li>
+ <li>When updating [% terms.bugs %], you should now use
+ <code>$bug-&gt;set_all</code> instead of using the individual
+ <kbd>set_</kbd> methods. In particular, <kbd>set_all</kbd> is now the
+ <em>only</em> way to set the product of [% terms.abug %]. See
+ <kbd>process_bug.cgi</kbd> for an example of how <kbd>set_all</kbd>
+ should be used.</li>
+ <li>You should not insert &lt;script&gt; tags and &lt;link&gt; CSS tags
+ into HTML anymore, in Extensions or in your customizations. Instead,
+ you should push new values into the <kbd>style_urls</kbd> or
+ <kbd>javascript_urls</kbd> parameters. If you have to insert manual
+ tags for some reason, be sure to call "FILTER mtime" on the URL. (Search
+ for other uses of "FILTER mtime" in the templates to see how it is
+ used.)</li>
+ <li>When calling <kbd>Bugzilla::BugMail::Send</kbd>, the "changer"
+ argument must now be a <kbd>Bugzilla::User</kbd> object, not just
+ a login name. The "owner" and "qacontact" arguments are still
+ just login names.</li>
+ <li>When creating a new subclass of Bugzilla::Object, you should no
+ longer use <kbd>UPDATE_VALIDATORS</kbd>. Also, in most cases you will
+ no longer need to override <kbd>run_create_validators</kbd>. Instead,
+ there is a new constant called
+ <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Object.html#VALIDATOR_DEPENDENCIES">VALIDATOR_DEPENDENCIES</a>,
+ that specifies that certain fields have to be validated before other fields.
+ Then, all validators receive each already-validated value in a hash
+ as their fourth argument, so each validator can know the other values
+ that were passed in, while an object is being created. For an example of
+ how to use <kbd>VALIDATOR_DEPENDENCIES</kbd>, see
+ <kbd>Bugzilla/Field.pm</kbd>.</li>
+ <li>In previous versions of [% terms.Bugzilla %], you had to call
+ <code>Bugzilla-&gt;template_inner("")</code> after any time
+ that you called <kbd>template_inner</kbd> for a specific language.
+ It is no longer necessary to do this second <kbd>template_inner</kbd>
+ call.</li>
+ <li><kbd>post_bug.cgi</kbd> and <kbd>Bugzilla::Bug-&gt;create</kbd> now take
+ the <em>names</em> of groups instead of group ids.</li>
+ <li>Bugzilla::Bugmail now uses Bugzilla::Bug objects internally instead of
+ a lot of direct SQL.</li>
+ <li>For sending changes about [% terms.bugs %], there is now a method
+ called <kbd>send_changes</kbd> that you can call on Bugzilla::Bug
+ objects. For an example of its use, see <kbd>process_bug.cgi</kbd>.</li>
+ <li>The <kbd>Bugzilla::Search</kbd> class has been refactored, and should
+ now be easier to customize.</li>
+ <li>The <kbd>Bugzilla::Util::lsearch</kbd> function is gone. Use
+ <kbd>firstidx</kbd> from <kbd>List::MoreUtils</kbd>, instead.</li>
+ <li>[% terms.Bugzilla %] now includes YUI 2.8.2.</li>
+</ul>
+
+
+<h1 id="v40_previous">[% terms.Bugzilla %] 3.6 Release Notes</h1>
<ul class="bz_toc">
<li><a href="#v36_introduction">Introduction</a></li>
@@ -174,31 +810,268 @@
<li><a href="#v36_req_optional_mod">Optional Perl Modules</a></li>
</ul>
-
-<h3 id="v36_req_perl">Perl</h3>
-
+<h3 id="v36_req_perl">Perl</h3>
+
<p>Perl v5.8.1</p>
-[% INCLUDE db_req db='mysql' %]
-
-[% INCLUDE db_req db='pg' %]
-
-[% INCLUDE db_req db='oracle' %]
-
+<h3 id="v36_req_mysql">For MySQL Users</h3>
+
+ <ul>
+ <li>MySQL
+ v4.1.2
+ </li>
+ <li><strong>perl module:</strong>
+ DBD::mysql v4.00</li>
+ </ul>
+
+<h3 id="v36_req_pg">For PostgreSQL Users</h3>
+
+ <ul>
+ <li>PostgreSQL
+ v8.00.0000
+ </li>
+ <li><strong>perl module:</strong>
+ DBD::Pg v1.45</li>
+ </ul>
+<h3 id="v36_req_oracle">For Oracle Users</h3>
+
+ <ul>
+ <li>Oracle
+ v10.02.0
+ </li>
+ <li><strong>perl module:</strong>
+ DBD::Oracle v1.19</li>
+ </ul>
+
<h3 id="v36_req_modules">Required Perl Modules</h3>
-[% INCLUDE req_table reqs = REQUIRED_MODULES
- new = [] updated = [] %]
-
-<h3 id="v36_req_optional_mod">Optional Perl Modules</h3>
-
+<table class="req_table" border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <th>Module</th> <th>Version</th>
+ </tr>
+ <tr>
+ <td >CGI</td>
+ <td >3.21
+ </td>
+ </tr>
+ <tr>
+ <td >Digest::SHA</td>
+ <td >
+ (Any)
+ </td>
+ </tr>
+ <tr>
+ <td >Date::Format</td>
+ <td >2.21
+ </td>
+ </tr>
+ <tr>
+ <td >DateTime</td>
+ <td >0.28
+ </td>
+ </tr>
+ <tr>
+ <td >DateTime::TimeZone</td>
+ <td >0.71
+ </td>
+ </tr>
+ <tr>
+ <td >DBI</td>
+ <td >1.41
+ </td>
+ </tr>
+ <tr>
+ <td >Template</td>
+ <td >2.22
+ </td>
+ </tr>
+ <tr>
+ <td >Email::Send</td>
+ <td >2.00
+ </td>
+ </tr>
+ <tr>
+ <td >Email::MIME</td>
+ <td >1.861
+ </td>
+ </tr>
+ <tr>
+ <td >Email::MIME::Encodings</td>
+ <td >1.313
+ </td>
+ </tr>
+ <tr>
+ <td >Email::MIME::Modifier</td>
+ <td >1.442
+ </td>
+ </tr>
+ <tr>
+ <td >URI</td>
+ <td >
+ (Any)
+ </td>
+ </tr>
+</table>
+
+<h3 id="v36_req_optional_mod">Optional Perl Modules</h3>
+
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
-[% INCLUDE req_table reqs = OPTIONAL_MODULES
- new = ['JSON-RPC', 'Test-Taint']
- updated = ['Chart']
- include_feature = 1 %]
+<table class="req_table" border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <th>Module</th> <th>Version</th>
+ <th>Enables Feature</th>
+ </tr>
+ <tr>
+ <td >GD</td>
+ <td >1.20
+ </td>
+ <td>Graphical Reports, New Charts, Old Charts</td>
+ </tr>
+ <tr>
+ <td >Chart::Lines</td>
+ <td class="req_new">2.1
+ </td>
+ <td>New Charts, Old Charts</td>
+ </tr>
+ <tr>
+ <td >Template::Plugin::GD::Image</td>
+ <td >
+ (Any)
+ </td>
+ <td>Graphical Reports</td>
+ </tr>
+ <tr>
+ <td >GD::Text</td>
+ <td >
+ (Any)
+ </td>
+ <td>Graphical Reports</td>
+ </tr>
+ <tr>
+ <td >GD::Graph</td>
+ <td >
+ (Any)
+ </td>
+ <td>Graphical Reports</td>
+ </tr>
+ <tr>
+ <td >XML::Twig</td>
+ <td >
+ (Any)
+ </td>
+ <td>Move [% terms.Bugs %] Between Installations,
+ Automatic Update Notifications</td>
+ </tr>
+ <tr>
+ <td >MIME::Parser</td>
+ <td >5.406
+ </td>
+ <td>Move [% terms.Bugs %] Between Installations</td>
+ </tr>
+ <tr>
+ <td >LWP::UserAgent</td>
+ <td >
+ (Any)
+ </td>
+ <td>Automatic Update Notifications</td>
+ </tr>
+ <tr>
+ <td >PatchReader</td>
+ <td >0.9.4
+ </td>
+ <td>Patch Viewer</td>
+ </tr>
+ <tr>
+ <td >Net::LDAP</td>
+ <td >
+ (Any)
+ </td>
+ <td>LDAP Authentication</td>
+ </tr>
+ <tr>
+ <td >Authen::SASL</td>
+ <td >
+ (Any)
+ </td>
+ <td>SMTP Authentication</td>
+ </tr>
+ <tr>
+ <td >Authen::Radius</td>
+ <td >
+ (Any)
+ </td>
+ <td>RADIUS Authentication</td>
+ </tr>
+ <tr>
+ <td >SOAP::Lite</td>
+ <td >0.710.06
+ </td>
+ <td>XML-RPC Interface</td>
+ </tr>
+ <tr>
+ <td class="req_new">JSON::RPC</td>
+ <td class="req_new">
+ (Any)
+ </td>
+ <td>JSON-RPC Interface</td>
+ </tr>
+ <tr>
+ <td class="req_new">Test::Taint</td>
+ <td class="req_new">
+ (Any)
+ </td>
+ <td>JSON-RPC Interface, XML-RPC Interface</td>
+ </tr>
+ <tr>
+ <td >HTML::Parser</td>
+ <td >3.40
+ </td>
+ <td>More HTML in Product/Group Descriptions</td>
+ </tr>
+ <tr>
+ <td >HTML::Scrubber</td>
+ <td >
+ (Any)
+ </td>
+ <td>More HTML in Product/Group Descriptions</td>
+ </tr>
+ <tr>
+ <td >Email::MIME::Attachment::Stripper</td>
+ <td >
+ (Any)
+ </td>
+ <td>Inbound Email</td>
+ </tr>
+ <tr>
+ <td >Email::Reply</td>
+ <td >
+ (Any)
+ </td>
+ <td>Inbound Email</td>
+ </tr>
+ <tr>
+ <td >TheSchwartz</td>
+ <td >
+ (Any)
+ </td>
+ <td>Mail Queueing</td>
+ </tr>
+ <tr>
+ <td >Daemon::Generic</td>
+ <td >
+ (Any)
+ </td>
+ <td>Mail Queueing</td>
+ </tr>
+ <tr>
+ <td >mod_perl2</td>
+ <td >1.999022
+ </td>
+ <td>mod_perl</td>
+ </tr>
+</table>
<h2 id="v36_feat">New Features and Improvements</h2>
@@ -3196,7 +4069,7 @@ sub y { $var++ }</pre>
[% BLOCK db_req %]
[% SET m = DB_MODULE.$db %]
- <h3 id="v36_req_[% db FILTER html %]">For [% m.name FILTER html %] Users</h3>
+ <h3 id="v40_req_[% db FILTER html %]">For [% m.name FILTER html %] Users</h3>
<ul>
<li>[% m.name FILTER html %]