This file contains only important changes made to Bugzilla.  If you
are updating from an older verseion, make sure that you check this file!

For a more complete list of what has changed, use Bonsai
(http://cvs-mirror.mozilla.org/webtools/bonsai/cvsqueryform.cgi) to
query the CVS tree.  For example,

    http://cvs-mirror.mozilla.org/webtools/bonsai/cvsquery.cgi?module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fwebtools%2Fbugzilla&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot 

will tell you what has been changed in the last week.

12/2/98 The op_sys and rep_platform fields have been tweaked.  op_sys
is now an enum, rather than having the legal values all hard-coded in
perl.  rep_platform now no longer allows a value of "X-Windows".

Here's how I ported to the new world.  This ought to work for you too.
Actually, it's probably overkill.  I had a lot of illegal values for op_sys
in my tables, from importing bugs from strange places.  If you haven't done 
anything funky, then much of the below will be a no-op.

First, send the following commands to MySQL to make sure all your values for
rep_platform and op_sys are legal in the new world..

	update bugs set rep_platform="Sun" where rep_platform="X-Windows" and op_sys like "Solaris%";
	update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "IRIX";
	update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "HP-UX";
	update bugs set rep_platform="DEC" where rep_platform="X-Windows" and op_sys = "OSF/1";
	update bugs set rep_platform="PC" where rep_platform="X-Windows" and op_sys = "Linux";
	update bugs set rep_platform="other" where rep_platform="X-Windows";
	update bugs set rep_platform="other" where rep_platform="";
	update bugs set op_sys="Mac System 7" where op_sys="System 7";
	update bugs set op_sys="Mac System 7.5" where op_sys="System 7.5";
	update bugs set op_sys="Mac System 8.0" where op_sys="8.0";
	update bugs set op_sys="OSF/1" where op_sys="Digital Unix 4.0";
	update bugs set op_sys="IRIX" where op_sys like "IRIX %";
	update bugs set op_sys="HP-UX" where op_sys like "HP-UX %";
	update bugs set op_sys="Windows NT" where op_sys like "NT %";
	update bugs set op_sys="OSF/1" where op_sys like "OSF/1 %";
	update bugs set op_sys="Solaris" where op_sys like "Solaris %";
	update bugs set op_sys="SunOS" where op_sys like "SunOS%";
	update bugs set op_sys="other" where op_sys = "Motif";
	update bugs set op_sys="other" where op_sys = "Other";

Next, send the following commands to make sure you now have only legal
entries in your table.  If either of the queries do not come up empty, then
you have to do more stuff like the above.

	select bug_id,op_sys,rep_platform from bugs where rep_platform not regexp "^(All|DEC|HP|Macintosh|PC|SGI|Sun|X-Windows|Other)$";
	select bug_id,op_sys,rep_platform from bugs where op_sys not regexp "^(All|Windows 3.1|Windows 95|Windows 98|Windows NT|Mac System 7|Mac System 7.5|Mac System 7.1.6|Mac System 8.0|AIX|BSDI|HP-UX|IRIX|Linux|OSF/1|Solaris|SunOS|other)$";

Finally, once that's all clear, alter the table to make enforce the new legal
entries:

	alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");


10/27/98 security check for legal products in place. bug charts are not
available as an option if collectstats.pl has never been run. all products 
get daily stats collected now. README updated: Chart::Base is listed as
a requirement, instructions for using collectstats.pl included as 
an optional step. also got silly and added optional quips to bug
reports. 

10/17/98 modified README installation instructions slightly. 

10/7/98 Added a new table called "products".  Right now, this is used
only to have a description for each product, and that description is
only used when initially adding a new bug.  Anyway, you *must* create
the new table (which you can do by running the new makeproducttable.sh
script).  If you just leave it empty, things will work much as they
did before, or you can add descriptions for some or all of your
products.


9/15/98 Everything has been ported to Perl.  NO MORE TCL.  This
transition should be relatively painless, except for the "params"
file.  This is the file that contains parameters you've set up on the
editparams.cgi page.  Before changing to Perl, this was a tcl-syntax
file, stored in the same directory as the code; after the change to
Perl, it becomes a perl-syntax file, stored in a subdirectory named
"data".  See the README file for more details on what version of Perl
you need.

So, if updating from an older version of Bugzilla, you will need to
edit data/param, change the email address listed for
$::param{'maintainer'}, and then go revisit the editparams.cgi page
and reset all the parameters to your taste.  Fortunately, your old
params file will still be around, and so you ought to be able to
cut&paste important bits from there.

Also, note that the "whineatnews" script has changed name (it now has
an extension of .pl instead of .tcl), so you'll need to change your
cron job.

And the "comments" file has been moved to the data directory.  Just do
"cat comments >> data/comments" to restore any old comments that may
have been lost.



9/2/98 Changed the way password validation works.  We now keep a
crypt'd version of the password in the database, and check against
that.  (This is silly, because we're also keeping the plaintext
version there, but I have plans...)  Stop passing the plaintext
password around as a cookie; instead, we have a cookie that references
a record in a new database table, logincookies.

IMPORTANT: if updating from an older version of Bugzilla, you must run
the following commands to keep things working:

 ./makelogincookiestable.sh
 echo "alter table profiles add column cryptpassword varchar(64);" | mysql bugs
 echo "update profiles set cryptpassword = encrypt(password,substring(rand(),3, 4));" | mysql bugs

