]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 322960: Release Notes for Bugzilla 2.22rc1
authormkanat%kerio.com <>
Mon, 20 Feb 2006 06:42:19 +0000 (06:42 +0000)
committermkanat%kerio.com <>
Mon, 20 Feb 2006 06:42:19 +0000 (06:42 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit

docs/rel_notes.txt

index 87a8481c31d42c3e8ac3d7fd110dd40b1c660e0d..15ddc42ba86b49340c5ee029d10846918ecaf023 100644 (file)
@@ -1,3 +1,536 @@
+***************************************
+*** The Bugzilla 2.22 Release Notes ***
+***************************************
+
+Note: These Release Notes are a DRAFT until the final release of 2.22.
+
+Table of Contents
+*****************
+
+- Introduction
+- Minimum Requirements
+    * Perl
+    * For MySQL Users
+    * For PostgreSQL Users
+    * Required Perl Modules
+    * Optional Perl Modules
+- What's New?
+    * Complete PostgreSQL Support
+    * Parameters In Sections
+    * One Codebase, Multiple Databases
+    * UTF-8 for New Installations
+    * Admins Can Impersonate Users
+    * Bug Import and Moving Improvements
+    * Adding Individual Bugs to Saved Searches
+    * Attach URLs
+    * Optional "Strict Isolation" for Groups
+    * "editcomponents" Change
+    * "shutdownhtml" Change
+    * Miscellaneous Improvements
+    * All Changes
+- Deprecated Features
+- Outstanding Issues (<======================== IMPORTANT, PLEASE READ)
+- How to Upgrade From An Older Bugzilla
+    * Steps for Upgrading
+- Code Changes Which May Affect Customizations
+    * CGI.pl is Gone
+    * Other Changes
+- Security Fixes In 2.22 Releases
+- Release Notes for Previous Versions
+
+Introduction
+************
+Bugzilla 2.22 is one of our most polished releases. We did a lot of
+small cleanups to make Bugzilla easier to use and more useful in
+many, many small ways, in addition to adding some major new features.
+
+This document contains the release notes for Bugzilla 2.22.
+In this document, recently added, changed, and removed features
+of Bugzilla are described. If you are upgrading from an older version,
+you will definitely want to read these release notes in detail, so that
+you have an idea of what has changed.
+
+If you are upgrading from a version before 2.20, also read the 2.20 
+release notes (lower in this file) and any previous release notes.
+
+If you are installing a new Bugzilla, you will still want to look over
+the release notes to see if there is any particularly important 
+information that affects your installation.
+
+If you would like to contribute code to Bugzilla, read our 
+Contributor's Guide at:
+
+http://www.bugzilla.org/docs/contributor.html
+
+
+Minimum Requirements
+********************
+
+Perl
+----
+
+  Perl v5.6.1              (Non-Windows platforms)
+  ActiveState Perl v5.8.1  (Windows only)
+
+  Note that this is the last release of Bugzilla to support perl 5.6.x--
+  future versions will require perl 5.8.
+
+For MySQL Users
+---------------
+
+  MySQL v4.0.14                    (changed from 2.20)
+  perl module: DBD::mysql v2.9003  (changed from 2.18)
+
+For PostgreSQL Users
+--------------------
+
+  PostgreSQL 7.3.x
+  perl module: DBD::Pg 1.31 (1.41 required for PostgreSQL 8+)
+
+  WARNING: DBD::Pg 1.43 has a bug which causes checksetup.pl to fail
+  and corrupt the database. If you are using DBD::Pg 1.43, downgrade 
+  to 1.42 or 1.41.
+
+Required Perl Modules
+---------------------
+
+  AppConfig v1.52
+  CGI v2.93
+  Data::Dumper (any)
+  Date::Format v2.21
+  DBI v1.38
+  File::Spec v0.84
+  File::Temp (any)
+  Template Toolkit v2.08
+  Text::Wrap v2001.0131
+  Mail::Mailer v1.67     (changed from 2.20)
+  MIME::Base64 v3.01     (new in 2.22)
+  MIME::Parser v5.406    (new in 2.22)
+  Storable (any)
+
+  Note: The SMTP support in Mail::Mailer 1.73 (the most recent version)
+        is broken. The last known working version is 1.67.
+
+Optional Perl Modules
+---------------------
+
+  Chart::Base v1.0
+  GD v1.20
+  GD::Graph (any)
+  GD::Text::Align (any)
+  Net::LDAP (any)
+  PatchReader v0.9.4
+  XML::Twig (any)       (new in 2.22)
+  Image::Magick         (new in 2.22)
+
+
+What's New?
+***********
+
+Complete PostgreSQL Support
+---------------------------
+Bugzilla 2.20 contained experimental support for PostgreSQL.
+In Bugzilla 2.22, PostgreSQL support is fully complete and stable. Using
+PostgreSQL with Bugzilla should be as stable as using MySQL, and if
+you experience any problems they will be taken as seriously as if you
+were running MySQL.
+
+There are no known remaining major problems with Bugzilla on PostgreSQL.
+All features of Bugzilla have been tested and work.
+
+
+Parameters In Sections
+----------------------
+Long-time users of Bugzilla know that over time the parameter list has
+grown quite large. It has now been split into sections to make it easier
+to use.
+
+
+One Codebase, Multiple Databases
+--------------------------------
+There is now limited support for having multiple projects use the
+same Bugzilla codebase, but all have separate databases.
+
+The different projects can have their own templates and their own
+bug database, but all use the same set of Bugzilla code in the same
+directory.
+
+To enable this, set an environment variable called PROJECT when
+calling the Bugzilla CGIs. Then for each project, you can have
+a localconfig.PROJECT (where "PROJECT" is the value of the PROJECT
+environment variable) file for the database parameters, and a 
+template/en/PROJECT directory (where "PROJECT" is the value of the
+PROJECT environment variable)
+
+This feature isn't documented yet, but we hope to have documentation for
+it soon.
+
+
+UTF-8 For New Installations
+---------------------------
+If this is the first time you're installing Bugzilla, it will now use
+UTF-8 encoding for all pages, automatically. It will also send emails
+in UTF-8. This eliminates most of the internationalization problems
+users have experienced, as one Bugzilla page may now contain any number
+of languages simultaneously.
+
+If you are upgrading and you want to use UTF-8, just turn on the "utf8"
+Parameter. However, realize that if you have non-UTF-8 data in your 
+Bugzilla, it will appear unreadable. (If you just have ASCII in your
+database, you're safe to turn on the "utf8" parameter, definitely.)
+
+
+Admins Can Impersonate Users
+----------------------------
+User impersonation (think of the su/sudo command on Unix) allows you
+to view pages and perform actions as if you are logged in as someone else,
+without having to know their password.
+
+A user in the new "bz_sudoers" group has the option of "becoming"
+any user in Bugzilla. Once they "become" that user, they *are* that user
+for the rest of the session, until they decide to switch back to being
+themselves.
+
+However, they cannot "become" any user in the "bz_sudo_protect" group.
+This group includes everybody in the "admin" and "bz_sudoers" groups by 
+default.
+
+Any time a user is impersonated, they will get an email notifying them
+who has impersonated them.
+
+
+Bug Import and Moving Improvements
+----------------------------------
+The XML Import script, importxml.pl, has been completely re-written.
+
+It now:
+
+  * Correctly imports the "priority" field
+  * Understands when the "Reporter" or "CC List" security boxes 
+    are unchecked on the bug.
+  * Places bugs in the appropriate groups
+  * Allows attachments to be imported
+  * Is much more forgiving about small problems in the XML
+
+
+Adding Individual Bugs to Saved Searches
+----------------------------------------
+Users now have the option of adding an individual bug to any
+particular Saved Search. If you don't like having the entry box in
+your footer for this feature, you can disable it in your Preferences.
+
+
+Attach URLs
+-----------
+Instead of attaching a file, you can now also attach a URL to a bug.
+This will show up just like an attachment on show_bug.cgi, but when
+you click on it, it will take you to the URL.
+
+To enable this, turn on the "allow_attach_url" parameter.
+
+
+Optional "Strict Isolation" for Groups
+--------------------------------------
+If you turn on the "strict_isolation" parameter in Bugzilla, you
+will *not* be able to add any user to the CC field (or set them
+as an Asignee or QA Contact) unless that user could normally see
+the bug. That is, you will no longer be able to "accidentally" 
+(or intentionally) give somebody access to a bug that they 
+otherwise couldn't see.
+
+
+"editcomponents" Change
+-----------------------
+Previously, all users who had "editcomponents" could see every Product,
+using the editcomponents.cgi script. Now, users with "editcomponents"
+can only see Products that they normally have access to.
+
+This restriction also affects editversions.cgi, editmilestones.cgi and
+editproducts.cgi.
+
+
+"shutdownhtml" Change
+---------------------
+All of Bugzilla is now affected by the "shutdownhtml" parameter,
+including command-line scripts. checksetup.pl is exempt. Many scripts
+(such as collectstats.pl and whine.pl) will just exit silently when
+"shutdownhtml" is turned on.
+
+
+Miscellaneous Improvements
+--------------------------
+
+- Added a frequently-requested user preference for whether or not to go
+  to the next bug in your list after submitting changes to a bug.
+
+- The ability to do relative date searches (like "1d" for "1 day" or "1w"
+  for "1 week") by hour now, in addition to days and other units of time.
+
+- "Alias" added to the New Bug form, for users with editbugs.
+
+- Users can now actually see the descriptions of flags that you enter
+  in editflagtypes.cgi. The description will appear as a tooltip
+  when a user places their mouse over the flag name on show_bug.cgi.
+
+- Bugzilla will optionally convert BMP attachments into PNGs for you.
+  See the "convert_uncompressed_images" in the "Attachments" section
+  of the Parameters.
+
+- You can now edit the Status Whiteboard when you are changing multiple
+  bugs at once.
+
+- The way that groups work in the database has changed, and large-scale 
+  Bugzilla use with many concurrent users should be much faster, as a 
+  result. (Technical Details: The need for Bugzilla to "derive groups" 
+  has gone away pretty much entirely.)
+
+- Performance improvements on searching attachment information that's not
+  the actual content of the attachment (such as searching the Attachment
+  Description or the Attachment MIME Type)
+
+- You can now specify multiple email addresses, comma-separated, when 
+  setting the requestee of a flag, and it will set the flag once for each
+  of those email addresses
+
+- "Bug Creation Time" is now searchable in the Boolean Charts.
+
+- When you mark a comment on a bug as private, the background color
+  of the comment will change immediately. However, in order for
+  Bugzilla to register that the comment is now private, you still
+  have to "submit" the changes.
+
+- Emails sent from Bugzilla now have "X-Bugzilla-Keywords" and
+  "X-Bugzilla-Severity" by default, containing the information
+  from the related Bugzilla fields.
+
+- You can now change the assignee and QA contact on multiple bugs at
+  once even when those bugs are in different products.
+
+
+All Changes
+-----------
+
+If you'd like to see all the changes between Bugzilla 2.20 and Bugzilla
+2.22, see:
+
+http://tinyurl.com/9p2tm
+
+
+Deprecated Features
+*******************
+
+- This is the last release of Bugzilla to support perl 5.6.x. All future
+  versions of Bugzilla will require at least perl 5.8.
+
+
+Outstanding Issues
+******************
+
+- bug 305836: PostgreSQL users: do not use DBD::Pg version 1.43 with 
+  Bugzilla. It has a bug which can corrupt the database. Version 1.42
+  is fine. Version 1.44 will also be fine, when it is released.
+
+- (No Bug Number) VERY IMPORTANT: If you have customized the values in
+  your Status/Resolution field, you must edit checksetup.pl BEFORE YOU
+  RUN IT. Find the line that starts like this:
+
+  bug_status   => ["UNCONFIRMED",
+
+  That's where you set the values for the Status field.
+
+  resolution   => ["","FIXED",
+
+  And that's where you set values for the Resolution field.
+
+  Those are both near line 1826 in checksetup.pl.
+
+  If you forget to do this, you will have to manually edit the "bug_status"
+  and "resolution" tables in the database to contain the correct values.
+
+- bug 276230: 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. However, additionally, 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.
+
+- bug 37765: If you use the "sendmail" support of Bugzilla,
+  and you use an MTA which is *not* Sendmail (such as Postfix, Exim, etc.)
+  make sure the "sendmailnow" parameter is ON or Bugzilla will not send
+  e-mail correctly.
+
+- bug 69621: If you rename or remove a keyword that is in use on bugs, you will
+  need to rebuild the "keyword cache" by running sanitycheck.cgi and choosing
+  the option to rebuild the cache when it asks. Otherwise keywords may not show
+  up properly in search results.
+
+- (No Bug Number) If you have a lot of non-ASCII data in your Bugzilla (for 
+  example, if you use a translation of Bugzilla), don't enable the XS::Stash
+  option when you install the Template Toolkit, or your Bugzilla installation
+  may become slow. This problem is fixed in a not-yet-released version of the
+  Template Toolkit (after 2.14).
+
+- Bug 99215: Flags are not protected by "mid-air collision" detection.
+  Nor are any attachment changes.
+
+- Bug 89822: When changing multiple bugs at the same time, there is no
+  "mid-air collision" protection.
+
+- bug 322955: The email interface (bug_mail.pl) in the contrib/ directory
+  has not been maintained (as it has no maintainer), and does not work 
+  properly. We hope to have this fixed in our next major release of 
+  Bugzilla; however, any help or contributions in this area are very 
+  welcome.
+
+
+How to Upgrade From An Older Bugzilla
+*************************************
+
+NOTE: Upgrading from a large installation (over 10,000 bugs) running 2.18
+      or before may take a significant amount of time. checksetup will 
+      try to let you know how long it will take, but expect downtime 
+      of an hour or more if you have many bugs, many attachments, 
+      or many users.
+
+Steps for Upgrading
+-------------------
+
+1) Read these entire Release Notes, particularly the "Outstanding Issues"
+   and "Security Fixes" sections.
+
+2) View the Sanity Check (sanitycheck.cgi) page on your installation before
+   upgrading. Attempt to fix all warnings that the page produces before
+   you go any further, or you may experience problems during your upgrade.
+
+3) Make a backup of the Bugzilla database before you upgrade, perhaps
+   by using mysqldump. THIS IS VERY IMPORTANT. If anything goes wrong
+   during the upgrade, your installation can be corrupted beyond
+   recovery. Having a backup keeps you safe.
+
+   Example:
+
+      mysqldump -u root -p bugs > bugs-db.sql
+
+4) Replace the files in your installation with the new version of Bugzilla,
+   or you can try to use CVS to upgrade. The bugzilla.org website has 
+   instructions on how to do the actual installation.
+
+   You can also use a brand-new Bugzilla directory, as long as you
+   copy over the old data/ directory and the "localconfig" file to the
+   new installation.
+
+5) Run checksetup.pl after you install the new version.
+
+7) View the Sanity Check page again after you run checksetup.pl.
+
+8) It is recommended that, if possible, you fix any problems you find
+   immediately. Failure to do this may mean that Bugzilla will not work 
+   correctly. Be aware that if the sanity check page contains more errors after
+   an upgrade, it doesn't necessarily mean there are more errors in your 
+   database, as additional tests are added to the sanity check over time, and 
+   it is possible that those errors weren't being checked for in the old 
+   version.
+
+9) This version of Bugzilla contains improvements to the email that
+   Bugzilla sends when a bug is changed. The template for that email 
+   is contained in the "newchangedmail" parameter. If you would like
+   to take advantage of the email enhancements in this version of
+   Bugzilla, reset that parameter to its default. (You can customize
+   it after that again, if you want.)
+
+
+Code Changes Which May Affect Customizations
+********************************************
+
+CGI.pl is Gone
+--------------
+The CGI.pl file, which used to contain many global functions, and which
+also contained initialization code for every CGI, is gone. The functions
+have been moved to various places and sometimes renamed.
+
+The initialization code that used to happen inside CGI.pl is now inside
+of Bugzilla.pm. All CGIs must "use Bugzilla" in one way or another. (Some
+CGIs "use Bugzilla" by doing "require globals.pl".)
+
+
+Deriving Groups No Longer Happens
+---------------------------------
+Bugzilla no longer needs to "derive groups" in advance. That is, previously
+Bugzilla used to flatten the group heirarchy into the user_group_map
+table. (That is, show that a user was in every group they were in,
+even if they were only in that group because they belonged to *another*
+group.) Now the table only contains groups that the user is in directly,
+and groups that they are in because of a regexp.
+
+Instead, The Bugzilla::User->group function determines the groups a user
+is in when called.
+
+We did this because the group derivation was causing a lot of complexity
+in the code, and also deriving the groups was a slow process that 
+frequently had to happen inside of a database lock while sending mail
+or viewing a bug list.
+
+See https://bugzilla.mozilla.org/show_bug.cgi?id=304583 for details.
+
+
+Other Changes
+-------------
+
+- The move.pl script's functionality has been merged into process_bug.cgi.
+
+- $::template and $::vars are gone from globals.pl. Instead of $::template,
+  use Bugzilla->template. Every script creates the $vars variable by itself
+  instead of using a global $::vars variable.
+
+- $::userid is gone. Instead use Bugzilla->user->id.
+
+- QuickSearch is now in perl instead of in JavaScript. The code is in
+  Bugzilla/Search/QuickSearch.pm. This makes it much easier to customize,
+  and it also fixes some long-standing issues that QuickSearch had.
+
+- Attachment data is now in the attach_data table. Other information
+  about attachments is still in the "attachments" table.
+
+- Much like the 2.20 release, many functions have been removed from
+  globals.pl and CGI.pl. They were moved elsewhere and renamed.
+  Search RESOLVED bugs in bugzilla.mozilla.org for the old
+  version of the function name, and that will usually show you
+  the bug where we moved the function, allowing you to find out
+  what the new name and location is.
+
+- We expect this to be the last release that contains the deprecated
+  SendSQL, SqlQuote, FetchSqlData, MoreSqlData, and FetchOneColumn 
+  functions. Instead, you should use DBI functions. For a very brief 
+  example, see:
+
+  http://www.bugzilla.org/docs/developer.html#sql-sendreceive
+
+
+Security Fixes in 2.22 Releases
+*******************************
+
+A long-standing, well-known security issue is finally resolved in Bugzilla
+2.22: Previously, the "Session ID" of each user could be easily guessed,
+given enough time. This could have allowed an attacker to take over a
+user's account, in certain circumstances. Now, the "Session ID" is totally
+random, resolving this issue. See bug 119524 in bugzilla.mozilla.org for
+details.
+
+If you are very concerned about the security of your Bugzilla installation,
+it would be a very good idea to run the following command on your
+database immediately after upgrading:
+
+TRUNCATE TABLE logincookies;
+
+This is actually safe to do at any time--it just forces a logout of
+every single user, even those with saved sessions. (It invalidates
+every login cookie Bugzilla has ever given out.)
+
+
+Release Notes For Previous Versions
+************************************
+
 ***************************************
 *** The Bugzilla 2.20 Release Notes ***
 ***************************************