RSS

(root)/bugzilla/2.20 : 976 : CHANGES

To get this branch, use:
bzr branch /bugzilla/2.20

« back to all changes in this revision

Viewing changes to CHANGES

barnboy%trilobyte.net
2001-08-10 22:35:21
Revision ID: cvs-1:barnboytrilobyte.net-20010811053521-6j0svav14niuw60u
CHANGES move to "UPGRADING-pre-2.8"

Show diffs side-by-side

added added

removed removed

1
 
This file contains only important changes made to Bugzilla.  If you
2
 
are updating from an older verseion, make sure that you check this file!
3
 
 
4
 
For a more complete list of what has changed, use Bonsai
5
 
(http://cvs-mirror.mozilla.org/webtools/bonsai/cvsqueryform.cgi) to
6
 
query the CVS tree.  For example,
7
 
 
8
 
    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 
9
 
 
10
 
will tell you what has been changed in the last week.
11
 
 
12
 
 
13
 
10/12/99 The CHANGES file is now obsolete!  There is a new file called
14
 
checksetup.pl.  You should get in the habit of running that file every time
15
 
you update your installation of Bugzilla.  That file will be constantly 
16
 
updated to automatically update your installation to match any code changes.
17
 
If you're curious as to what is going on, changes are commented in that file, 
18
 
at the end.
19
 
 
20
 
Many thanks to Holger Schurig <holgerschurig@nikocity.de> for writing this
21
 
script!
22
 
 
23
 
 
24
 
 
25
 
10/11/99 Restructured voting database to add a cached value in each
26
 
bug recording how many total votes that bug has.  While I'm at it, I
27
 
removed the unused "area" field from the bugs database.  It is
28
 
distressing to realize that the bugs table has reached the maximum
29
 
number of indices allowed by MySQL (16), which may make future
30
 
enhancements awkward.
31
 
 
32
 
You must feed the following to MySQL:
33
 
 
34
 
        alter table bugs drop column area;
35
 
        alter table bugs add column votes mediumint not null, add index (votes);
36
 
 
37
 
You then *must* delete the data/versioncache file when you make this
38
 
change, as it contains references to the "area" field.  Deleting it is safe,
39
 
bugzilla will correctly regenerate it.
40
 
 
41
 
If you have been using the voting feature at all, then you will then
42
 
need to update the voting cache.  You can do this by visiting the
43
 
sanitycheck.cgi page, and taking it up on its offer to rebuild the
44
 
votes stuff.
45
 
 
46
 
 
47
 
10/7/99 Added voting ability.  You must run the new script
48
 
"makevotestable.sh".  You must also feed the following to mysql:
49
 
 
50
 
        alter table products add column votesperuser smallint not null;
51
 
 
52
 
 
53
 
 
54
 
9/15/99 Apparently, newer alphas of MySQL won't allow you to have
55
 
"when" as a column name.  So, I have had to rename a column in the
56
 
bugs_activity table.  You must feed the below to mysql or you won't
57
 
work at all.
58
 
 
59
 
        alter table bugs_activity change column when bug_when datetime not null;
60
 
 
61
 
 
62
 
8/16/99 Added "OpenVMS" to the list of OS's. Feed this to mysql:
63
 
 
64
 
        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.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "OpenVMS", "other") not null;
65
 
 
66
 
6/22/99 Added an entry to the attachments table to record who the submitter
67
 
was.  Nothing uses this yet, but it still should be recorded.
68
 
 
69
 
        alter table attachments add column submitter_id mediumint not null;
70
 
 
71
 
You should also run this script to populate the new field:
72
 
 
73
 
#!/usr/bonsaitools/bin/perl -w
74
 
use diagnostics;
75
 
use strict;
76
 
require "globals.pl";
77
 
$|=1;
78
 
ConnectToDatabase();
79
 
SendSQL("select bug_id, attach_id from attachments order by bug_id");
80
 
my @list;
81
 
while (MoreSQLData()) {
82
 
    my @row = FetchSQLData();
83
 
    push(@list, \@row);
84
 
}
85
 
foreach my $ref (@list) {
86
 
    my ($bug, $attach) = (@$ref);
87
 
    SendSQL("select long_desc from bugs where bug_id = $bug");
88
 
    my $comment = FetchOneColumn() . "Created an attachment (id=$attach)";
89
 
 
90
 
    if ($comment =~ m@-* Additional Comments From ([^ ]*)[- 0-9/:]*\nCreated an attachment \(id=$attach\)@) {
91
 
        print "Found $1\n";
92
 
        SendSQL("select userid from profiles where login_name=" .
93
 
                SqlQuote($1));
94
 
        my $userid = FetchOneColumn();
95
 
        if (defined $userid && $userid > 0) {
96
 
            SendSQL("update attachments set submitter_id=$userid where attach_id = $attach");
97
 
        }
98
 
    } else {
99
 
        print "Bug $bug can't find comment for attachment $attach\n";
100
 
    }
101
 
}
102
 
 
103
 
 
104
 
 
105
 
 
106
 
 
107
 
 
108
 
6/14/99 Added "BeOS" to the list of OS's. Feed this to mysql:
109
 
 
110
 
        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.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "other") not null;
111
 
 
112
 
 
113
 
5/27/99 Added support for dependency information.  You must run the new
114
 
"makedependenciestable.sh" script.  You can turn off dependencies with the new
115
 
"usedependencies" param, but it defaults to being on.  Also, read very
116
 
carefully the description for the new "webdotbase" param; you will almost
117
 
certainly need to tweak it.
118
 
 
119
 
 
120
 
5/24/99 Added "Mac System 8.6" and "Neutrino" to the list of OS's.
121
 
Feed this to mysql:
122
 
 
123
 
        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.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "other") not null;
124
 
 
125
 
 
126
 
5/12/99 Added a pref to control how much email you get.  This needs a new
127
 
column in the profiles table, so feed the following to mysql:
128
 
 
129
 
        alter table profiles add column emailnotification enum("ExcludeSelfChanges", "CConly", "All") not null default "ExcludeSelfChanges";
130
 
 
131
 
5/5/99 Added the ability to search by creation date.  To make this perform
132
 
well, you ought to do the following:
133
 
 
134
 
        alter table bugs change column creation_ts creation_ts datetime not null, add index (creation_ts);
135
 
 
136
 
 
137
 
4/30/99 Added a new severity, "blocker".  To get this into your running
138
 
Bugzilla, do the following:
139
 
 
140
 
        alter table bugs change column bug_severity bug_severity enum("blocker", "critical", "major", "normal", "minor", "trivial", "enhancement") not null;
141
 
 
142
 
 
143
 
4/22/99 There was a bug where the long descriptions of bugs had a variety of
144
 
newline characters at the end, depending on the operating system of the browser
145
 
that submitted the text.  This bug has been fixed, so that no further changes
146
 
like that will happen.  But to fix problems that have already crept into your
147
 
database, you can run the following perl script (which is slow and ugly, but
148
 
does work:)
149
 
#!/usr/bonsaitools/bin/perl -w
150
 
use diagnostics;
151
 
use strict;
152
 
require "globals.pl";
153
 
$|=1;
154
 
ConnectToDatabase();
155
 
SendSQL("select bug_id from bugs order by bug_id");
156
 
my @list;
157
 
while (MoreSQLData()) {
158
 
    push(@list, FetchOneColumn());
159
 
}
160
 
foreach my $id (@list) {
161
 
    if ($id % 50 == 0) {
162
 
        print "\n$id ";
163
 
    }
164
 
    SendSQL("select long_desc from bugs where bug_id = $id");
165
 
    my $comment = FetchOneColumn();
166
 
    my $orig = $comment;
167
 
    $comment =~ s/\r\n/\n/g;     # Get rid of windows-style line endings.
168
 
    $comment =~ s/\r/\n/g;       # Get rid of mac-style line endings.
169
 
    if ($comment ne $orig) {
170
 
        SendSQL("update bugs set long_desc = " . SqlQuote($comment) .
171
 
                " where bug_id = $id");
172
 
        print ".";
173
 
    } else {
174
 
        print "-";
175
 
    }
176
 
}
177
 
 
178
 
 
179
 
 
180
 
4/8/99 Added ability to store patches with bugs.  This requires a new table
181
 
to store the data, so you will need to run the "makeattachmenttable.sh" script.
182
 
 
183
 
3/25/99 Unfortunately, the HTML::FromText CPAN module had too many bugs, and
184
 
so I had to roll my own.  We no longer use the HTML::FromText CPAN module.
185
 
 
186
 
3/24/99 (This entry has been removed.  It used to say that we required the
187
 
HTML::FromText CPAN module, but that's no longer true.)
188
 
 
189
 
3/22/99 Added the ability to query by fields which have changed within a date
190
 
range.  To make this perform a bit better, we need a new index:
191
 
 
192
 
        alter table bugs_activity add index (field);
193
 
 
194
 
3/10/99 Added 'groups' stuff, where we have different group bits that we can
195
 
put on a person or on a bug.  Some of the group bits control access to bugzilla
196
 
features.  And a person can't access a bug unless he has every group bit set
197
 
that is also set on the bug.  See the comments in makegroupstable.sh for a bit
198
 
more info.
199
 
 
200
 
The 'maintainer' param is now used only as an email address for people to send
201
 
complaints to.  The groups table is what is now used to determine permissions.
202
 
 
203
 
You will need to run the new script "makegroupstable.sh".  And then you need to
204
 
feed the following lines to MySQL (replace XXX with the login name of the
205
 
maintainer, the person you wish to be all-powerful).
206
 
 
207
 
        alter table bugs add column groupset bigint not null;
208
 
        alter table profiles add column groupset bigint not null;
209
 
        update profiles set groupset=0x7fffffffffffffff where login_name = XXX;
210
 
 
211
 
 
212
 
 
213
 
3/8/99 Added params to control how priorities are set in a new bug.  You can
214
 
now choose whether to let submitters of new bugs choose a priority, or whether
215
 
they should just accept the default priority (which is now no longer hardcoded
216
 
to "P2", but is instead a param.)  The default value of the params will cause
217
 
the same behavior as before.
218
 
 
219
 
3/3/99 Added a "disallownew" field to the products table.  If non-zero, then
220
 
don't let people file new bugs against this product.  (This is for when a 
221
 
product is retired, but you want to keep the bug reports around for posterity.)
222
 
Feed this to MySQL:
223
 
 
224
 
        alter table products add column disallownew tinyint not null;
225
 
 
226
 
 
227
 
2/8/99 Added FreeBSD to the list of OS's.  Feed this to MySQL:
228
 
 
229
 
        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.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
230
 
 
231
 
 
232
 
2/4/99 Added a new column "description" to the components table, and added 
233
 
links to a new page which will use this to describe the components of a 
234
 
given product.  Feed this to MySQL:
235
 
 
236
 
        alter table components add column description mediumtext not null;
237
 
 
238
 
 
239
 
2/3/99 Added a new column "initialqacontact" to the components table that gives
240
 
an initial QA contact field.  It may be empty if you wish the initial qa
241
 
contact to be empty.  If you're not using the QA contact field, you don't need
242
 
to add this column, but you might as well be safe and add it anyway:
243
 
 
244
 
        alter table components add column initialqacontact tinytext not null;
245
 
 
246
 
 
247
 
2/2/99 Added a new column "milestoneurl" to the products table that gives a URL
248
 
which is to describe the currently defined milestones for a product.  If you
249
 
don't use target milestone, you might be able to get away without adding this
250
 
column, but you might as well be safe and add it anyway:
251
 
 
252
 
        alter table products add column milestoneurl tinytext not null;
253
 
 
254
 
 
255
 
1/29/99 Whoops; had a mispelled op_sys.  It was "Mac System 7.1.6"; it should
256
 
be "Mac System 7.6.1".  It turns out I had no bugs with this value set, so I
257
 
could just do the below simple command.  If you have bugs with this value, you
258
 
may need to do something more complicated.
259
 
 
260
 
        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.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
261
 
 
262
 
 
263
 
 
264
 
1/20/99 Added new fields: Target Milestone, QA Contact, and Status Whiteboard.
265
 
These fields are all optional in the UI; there are parameters to turn them on.
266
 
However, whether or not you use them, the fields need to be in the DB.  There
267
 
is some code that needs them, even if you don't.
268
 
 
269
 
To update your DB to have these fields, send the following to MySQL:
270
 
 
271
 
        alter table bugs add column target_milestone varchar(20) not null,
272
 
                add column qa_contact mediumint not null,
273
 
                add column status_whiteboard mediumtext not null,
274
 
                add index (target_milestone), add index (qa_contact);
275
 
 
276
 
 
277
 
 
278
 
1/18/99 You can now query by CC.  To make this perform reasonably, the CC table
279
 
needs some indices.  The following MySQL does the necessary stuff:
280
 
 
281
 
        alter table cc add index (bug_id), add index (who);
282
 
 
283
 
 
284
 
1/15/99 The op_sys field can now be queried by (and more easily tweaked).
285
 
To make this perform reasonably, it needs an index.  The following MySQL 
286
 
command will create the necessary index:
287
 
 
288
 
        alter table bugs add index (op_sys);
289
 
 
290
 
 
291
 
12/2/98 The op_sys and rep_platform fields have been tweaked.  op_sys
292
 
is now an enum, rather than having the legal values all hard-coded in
293
 
perl.  rep_platform now no longer allows a value of "X-Windows".
294
 
 
295
 
Here's how I ported to the new world.  This ought to work for you too.
296
 
Actually, it's probably overkill.  I had a lot of illegal values for op_sys
297
 
in my tables, from importing bugs from strange places.  If you haven't done 
298
 
anything funky, then much of the below will be a no-op.
299
 
 
300
 
First, send the following commands to MySQL to make sure all your values for
301
 
rep_platform and op_sys are legal in the new world..
302
 
 
303
 
        update bugs set rep_platform="Sun" where rep_platform="X-Windows" and op_sys like "Solaris%";
304
 
        update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "IRIX";
305
 
        update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "HP-UX";
306
 
        update bugs set rep_platform="DEC" where rep_platform="X-Windows" and op_sys = "OSF/1";
307
 
        update bugs set rep_platform="PC" where rep_platform="X-Windows" and op_sys = "Linux";
308
 
        update bugs set rep_platform="other" where rep_platform="X-Windows";
309
 
        update bugs set rep_platform="other" where rep_platform="";
310
 
        update bugs set op_sys="Mac System 7" where op_sys="System 7";
311
 
        update bugs set op_sys="Mac System 7.5" where op_sys="System 7.5";
312
 
        update bugs set op_sys="Mac System 8.0" where op_sys="8.0";
313
 
        update bugs set op_sys="OSF/1" where op_sys="Digital Unix 4.0";
314
 
        update bugs set op_sys="IRIX" where op_sys like "IRIX %";
315
 
        update bugs set op_sys="HP-UX" where op_sys like "HP-UX %";
316
 
        update bugs set op_sys="Windows NT" where op_sys like "NT %";
317
 
        update bugs set op_sys="OSF/1" where op_sys like "OSF/1 %";
318
 
        update bugs set op_sys="Solaris" where op_sys like "Solaris %";
319
 
        update bugs set op_sys="SunOS" where op_sys like "SunOS%";
320
 
        update bugs set op_sys="other" where op_sys = "Motif";
321
 
        update bugs set op_sys="other" where op_sys = "Other";
322
 
 
323
 
Next, send the following commands to make sure you now have only legal
324
 
entries in your table.  If either of the queries do not come up empty, then
325
 
you have to do more stuff like the above.
326
 
 
327
 
        select bug_id,op_sys,rep_platform from bugs where rep_platform not regexp "^(All|DEC|HP|Macintosh|PC|SGI|Sun|X-Windows|Other)$";
328
 
        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)$";
329
 
 
330
 
Finally, once that's all clear, alter the table to make enforce the new legal
331
 
entries:
332
 
 
333
 
        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");
334
 
 
335
 
 
336
 
 
337
 
 
338
 
 
339
 
11/20/98 Added searching of CC field.  To better support this, added
340
 
some indexes to the CC table.  You probably want to execute the following
341
 
mysql commands:
342
 
 
343
 
        alter table cc add index (bug_id);
344
 
        alter table cc add index (who);
345
 
 
346
 
 
347
 
10/27/98 security check for legal products in place. bug charts are not
348
 
available as an option if collectstats.pl has never been run. all products 
349
 
get daily stats collected now. README updated: Chart::Base is listed as
350
 
a requirement, instructions for using collectstats.pl included as 
351
 
an optional step. also got silly and added optional quips to bug
352
 
reports. 
353
 
 
354
 
10/17/98 modified README installation instructions slightly. 
355
 
 
356
 
10/7/98 Added a new table called "products".  Right now, this is used
357
 
only to have a description for each product, and that description is
358
 
only used when initially adding a new bug.  Anyway, you *must* create
359
 
the new table (which you can do by running the new makeproducttable.sh
360
 
script).  If you just leave it empty, things will work much as they
361
 
did before, or you can add descriptions for some or all of your
362
 
products.
363
 
 
364
 
 
365
 
9/15/98 Everything has been ported to Perl.  NO MORE TCL.  This
366
 
transition should be relatively painless, except for the "params"
367
 
file.  This is the file that contains parameters you've set up on the
368
 
editparams.cgi page.  Before changing to Perl, this was a tcl-syntax
369
 
file, stored in the same directory as the code; after the change to
370
 
Perl, it becomes a perl-syntax file, stored in a subdirectory named
371
 
"data".  See the README file for more details on what version of Perl
372
 
you need.
373
 
 
374
 
So, if updating from an older version of Bugzilla, you will need to
375
 
edit data/param, change the email address listed for
376
 
$::param{'maintainer'}, and then go revisit the editparams.cgi page
377
 
and reset all the parameters to your taste.  Fortunately, your old
378
 
params file will still be around, and so you ought to be able to
379
 
cut&paste important bits from there.
380
 
 
381
 
Also, note that the "whineatnews" script has changed name (it now has
382
 
an extension of .pl instead of .tcl), so you'll need to change your
383
 
cron job.
384
 
 
385
 
And the "comments" file has been moved to the data directory.  Just do
386
 
"cat comments >> data/comments" to restore any old comments that may
387
 
have been lost.
388
 
 
389
 
 
390
 
 
391
 
9/2/98 Changed the way password validation works.  We now keep a
392
 
crypt'd version of the password in the database, and check against
393
 
that.  (This is silly, because we're also keeping the plaintext
394
 
version there, but I have plans...)  Stop passing the plaintext
395
 
password around as a cookie; instead, we have a cookie that references
396
 
a record in a new database table, logincookies.
397
 
 
398
 
IMPORTANT: if updating from an older version of Bugzilla, you must run
399
 
the following commands to keep things working:
400
 
 
401
 
 ./makelogincookiestable.sh
402
 
 echo "alter table profiles add column cryptpassword varchar(64);" | mysql bugs
403
 
 echo "update profiles set cryptpassword = encrypt(password,substring(rand(),3, 4));" | mysql bugs
404
 
 

Loggerhead 1.18.1 is a web-based interface for Bazaar branches