~ubuntu-branches/ubuntu/edgy/gnats/edgy

« back to all changes in this revision

Viewing changes to contrib/gnatsweb/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Chad Walstrom
  • Date: 2005-03-07 17:56:31 UTC
  • mfrom: (1.1.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050307175631-agtm10dvjbemuc64
Tags: 4.1.0-0
* New upstream version
* debian/rules: now uses '--with-lispdir' option instead of environment
  variable overloading. Re-enabled optimization.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
==========  Gnatsweb 4.0 released ======================================
2
 
 
3
 
2003-07-29  Yngve Svendsen  <yngve.svendsen@sun.com>
4
 
 
5
 
        * Makefile: update OTHER_FILES and INSTALL_CGI.
6
 
 
7
 
        * README: Emphasize that Gnatsweb 4.0 needs GNATS 4.  Be specific
8
 
        about CGI.pm versions.  Fix typos.  Change 2002 to 2003 in the
9
 
        copyright notice -- there were no official releases in 2002.
10
 
 
11
 
        * gnatsweb-site-example.pl, test.pl: Change 2002 to 2003 in the
12
 
        copyright notice -- there were no official releases in 2002.
13
 
 
14
 
        * gnatsweb.pl: Change 2002 to 2003 in the copyright notice --
15
 
        there were no official releases in 2002.  Change $VERSION to 4.00.
16
 
 
17
 
        * NEWS: Add.
18
 
 
19
 
        * BETA, TODO: Remove.
20
 
        
21
 
2003-05-06  Yngve Svendsen  <yngve.svendsen@sun.com>
22
 
 
23
 
        * gnatsweb.pl (edit): Change check for whether field value is a
24
 
        known enumeration value to take into account that 'unknown' may be
25
 
        an already existing, legitimate field value.
26
 
 
27
 
2003-04-29  Yngve Svendsen  <yngve.svendsen@sun.com>
28
 
 
29
 
        * gnatsweb.pl (sendpr): Set default Submitter-Id field to the
30
 
        value stored in the global cookie.
31
 
 
32
 
        * gnatsweb.pl (submit_stored_query): Separate "submit query"
33
 
        command and query string with ';', not '&'. Fixes PR 469.  Fix
34
 
        thanks to Alexey Roytman.
35
 
 
36
 
        * gnatsweb.pl (fix_multiline_val): Prevent whitespace-only values
37
 
        from being entered in multiline fields.
38
 
 
39
 
        * gnatsweb.pl (edit): Rewrite check for whether field value is a
40
 
        known enumeration value -- use foreach instead of grep.  Fixes PR
41
 
        474.
42
 
 
43
 
        * gnatsweb.pl (get_mailto_link): Opera needs the URL in the
44
 
        mailto: link message body encoded only once (sigh, another special
45
 
        case).
46
 
 
47
 
2003-01-08  Yngve Svendsen <yngve.svendsen@sun.com>
48
 
 
49
 
        * gnatsweb.pl (get_mailto_link): Correct negation of binding
50
 
          operator from !=~ to !~. Thanks to Alwin Dieperink.
51
 
 
52
 
==========  Gnatsweb 4.0 beta 4 released ===============================
53
 
 
54
 
2002-11-23  Yngve Svendsen  <yngve.svendsen@sun.com>
55
 
 
56
 
        * gnatsweb.pl: Set VERSION to 3.99.4.  This is beta 4.
57
 
 
58
 
        * Makefile: Add a few forgotten files to OTHER_FILES.
59
 
        
60
 
        * gnatsweb.pl: $site_no_gnats_passwords now has a default value
61
 
        of 0.
62
 
        - CUSTOMIZE.vars: Update accordingly.
63
 
        
64
 
        * BETA: Update for beta 4.  Add 2002 to copyright notice.
65
 
 
66
 
        * Makefile, README, gnatsweb-site-example.pl, gnatsweb.pl,
67
 
        test.pl: Add 2002 to copyright notice.
68
 
        
69
 
2002-10-31  Yngve Svendsen  <yngve.scary@trick.or.treat>
70
 
 
71
 
        * gnatsweb.pl (view, edit, submit_stored_query,
72
 
        delete_stored_query): Call error_page() instead of printing out
73
 
        errors ourselves.  The stored query error printing didn't even
74
 
        work at all.
75
 
 
76
 
        * gnatsweb.pl (get_reply): Call page_footer and page_end_html
77
 
        after calls to gerror().  Fixes PR 399.
78
 
 
79
 
2002-10-29  Yngve Svendsen  <yngve.svendsen@sun.com>
80
 
 
81
 
        * gnatsweb.html: Mention that required fields on the Create PR
82
 
        page are emphasized in red, by default.
83
 
 
84
 
2002-10-27  Yngve Svendsen  <yngve.svendsen@sun.com>
85
 
 
86
 
        * CUSTOMIZE.vars: Document $site_required_field_color.
87
 
 
88
 
        * gnatsweb.pl: New field flag $SENDREQUIRED to mark a field as
89
 
        being set to "inital-entry require" in the dbconfig.
90
 
        - $site_required_field_color: new config variable specifying the
91
 
        color to use when marking required fields on the Create PR page.
92
 
        - (init_fieldinfo): Set it.
93
 
        - (sendpr): Use it to mark required fields.
94
 
 
95
 
        * gnatsweb.pl (query_page): Add missing "print" statement in front
96
 
        of some end table cell and row tags.
97
 
 
98
 
        * gnatsweb.pl (display_query_results): Display `unknown' for
99
 
        enumerated-field values that don't exist.  This and the 3 next
100
 
        items are due to Lars Henriksen.
101
 
 
102
 
        * gnatsweb.pl (submitedit): Throw an error if Responsible,
103
 
        Category or Submitter-Id are set to `unknown'.
104
 
        - Remove check for empty username or empty Responsible field.
105
 
        Noone quite understood why it was there.
106
 
 
107
 
        * gnatsweb.pl (edit): Check whether the value set in an enumerated
108
 
        field exists or has been removed from the administrative database
109
 
        (file or dbconfig).  If the value has been removed, use the value
110
 
        `unknown'.
111
 
 
112
 
        * gnatsweb.pl (sendpr): Force users to set category to something
113
 
        meaningful by setting default value to `unknown'.
114
 
 
115
 
        * gnatsweb.pl (sendpr, edit): The value being returned from
116
 
        fieldinfo() is a hashref, not a hash.  Change @values to $values
117
 
        in all applicable places.
118
 
 
119
 
2002-10-25  Yngve Svendsen  <yngve.svendsen@sun.com>
120
 
 
121
 
        * gnatsweb.pl (submitnewpr): Remove return statement -- the call
122
 
          client_cmd("$text.") will exit after leaving an error message
123
 
          because $client_would_have_exited has not been set to 1.
124
 
          Spotted and fixed by Lars Henriksen.
125
 
        
126
 
        * gnatsweb.pl (edit, sendpr, view): Get rid of the blank row after
127
 
        "Reporter's E-mail". Takes up space and separating mail headers
128
 
        and GNATS fields has no meaning for users of the interface.
129
 
 
130
 
2002-10-15  Yngve Svendsen  <yngve.svendsen@clustra.com>
131
 
 
132
 
        * gnatsweb.pl (main): Allow passwordless logins in order to
133
 
          support revised authentication mechanism in latest revision of
134
 
          GNATS 4.  Change due to Pankaj K. Garg.
135
 
 
136
 
2002-10-12  Yngve Svendsen  <yngve.svendsen@clustra.com>
137
 
 
138
 
        * gnatsweb.pl (submitnewpr): Check PR text before submitting new
139
 
          PR.  Previously, it did not check contents, which implied that
140
 
          in a GNATS database where text fields were defined in dbconfig
141
 
          with the `matching' keyword, you could create a PR that would be
142
 
          rejected with a "Field x with contents `y' didn't match any of
143
 
          the required regexps" the first time you edit it, even though
144
 
          you didn't change the text field at all.
145
 
 
146
 
        * gnatsweb.pl (login_page): Add missing </td> after "User Name:".
147
 
          Fixes PR 398.
148
 
 
149
 
        * gnatsweb.pl (submitnewpr): Remove extra newline after PR text.
150
 
          Patch due to Lars Henriksen.
151
 
 
152
 
        * gnatsweb.pl (server_reply, read_server, client_cmd): Print
153
 
          proper headers when needed.  Patch by Robert Lupton the Good.
154
 
 
155
 
        * gnatsweb.pl (display_query_results): Add a link at the bottom of
156
 
          the Query Results page which allows the user to reverse the sort
157
 
          order of the currently displayed results.  Based on a patch by
158
 
          Lars Henriksen.
159
 
        - gnatsweb.html: Mention the Reverse sort order link.
160
 
 
161
 
        * gnatsweb.html: Change the description of the Query Page to match
162
 
          the new layout and describe a few previously left-out fields.
163
 
 
164
 
        * gnatsweb.pl (query_page): Place the "Originated by You" and
165
 
          "Ignore Closed" checkboxes together with the Submitter-Id and
166
 
          State listboxes resp.  Use valign=top in the left-column cells.
167
 
          Change the placement of the "Display Current Date" checkbox.
168
 
          Change the designation "Descending Order" to "Reverse Order".
169
 
        - (advanced_query_page): Change the placement of the "Display
170
 
          Current Date" checkbox.  Change the designation "Descending
171
 
          Order" to "Reverse Order".
172
 
 
173
 
        * gnatsweb.pl (get_mailto_link): Quote the URL in the body twice
174
 
          for all non-Netscape browsers.
175
 
 
176
 
2002-10-11  Yngve Svendsen  <yngve.svendsen@clustra.com>
177
 
 
178
 
        * gnatsweb.pl: field2param and param2field are gone.  We now
179
 
          operate exclusively both internally and externally with proper
180
 
          dbconfig fieldnames, not lower-case versions.  This breaks
181
 
          compatibility of Gnatsweb 2.x and older Gnatsweb 3.x stored
182
 
          queries with this version.  site-files may also need a slight
183
 
          change, in that the callbacks edit_intro_'fieldname' and
184
 
          sendpr_intro_'fieldname' need to have 'fieldname' changed from
185
 
          the lower case name to the fieldname set in dbconfig.  Changes
186
 
          due to Lars Henriksen.
187
 
        - (submitquery): Use anchored regexp searches for enumerated
188
 
          types.  Changes due to Lars Henriksen.
189
 
        * CUSTOMIZE.cb: Explicitly state that the edit_intro_'fieldname'
190
 
          and sendpr_intro_'fieldname' should have 'fieldname' set to the
191
 
          dbconfig fieldname, not the lower case version.
192
 
        * gnatsweb-site-example.pl: Amend the edit_intro_'fieldname' and
193
 
          sendpr_intro_'fieldname' to take the above into account.
194
 
        
195
 
2002-09-24  Yngve Svendsen  <yngve.svendsen@clustra.com>
196
 
 
197
 
        * gnatsweb.pl (submitedit): Remove \n at the end of the edited PR
198
 
          text during submission.  Fix by Lars Henriksen, PR 385.
199
 
 
200
 
        * gnatsweb.pl (query_page, advanced_query_page): Add "Descending
201
 
          Order" option to `sort by'.
202
 
 
203
 
2002-09-17  Yngve Svendsen  <yngve.svendsen@clustra.com>
204
 
 
205
 
        * CUSTOMIZE.vars: Document the mark_urls hash. Note to everyone
206
 
          who does checkins: Remember to update the docs when you check in
207
 
          something significant.
208
 
 
209
 
        * gnatsweb.pl (edit, view): Include PR number in page title.
210
 
          Patch by Robert Lupton the Good.
211
 
 
212
 
        * gnatsweb.pl (login_page): Add missing comma to print statement.
213
 
          Fix by Robert Lupton the Good.
214
 
 
215
 
        * gnatsweb.pl (query_page, advanced_query_page): Add `sort by'
216
 
          functionality, based on patch by Robert Lupton the Good.
217
 
        - Move `Originated by You' checkbox so it appears just beneath
218
 
          `Ignore Closed'.
219
 
        - Use real dbconfig fieldnames in the list boxes instead of lower
220
 
          case or builtin fieldnames.
221
 
 
222
 
2002-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
223
 
 
224
 
        * gnatsweb.pl (server_reply): Use <br /> instead of <br> for
225
 
        future XHTML compliance.
226
 
        (read_server): Ditto.
227
 
        (client_cmd): Ditto.
228
 
        (print_attachments): Ditto.
229
 
        (sendpr): Ditto.
230
 
        (view): Ditto.
231
 
        (edit): Ditto.
232
 
        (advanced_query_page): Ditto.
233
 
        (initialize): Ditto.
234
 
        (change_database): Ditto.
235
 
        (cmd_logout): Ditto.
236
 
        (cmd_login): Ditto.
237
 
 
238
 
2002-08-10  Anders Johnson <anders@wischip.com>
239
 
 
240
 
        * gnatsweb.pl (server_reply): Print actual reply from server.
241
 
 
242
 
2002-07-26  Yngve Svendsen  <yngvesv@math.ntnu.no>
243
 
 
244
 
        * gnatsweb-site-example.pl (site_callback): Change qfmt field
245
 
        separators in accordance with the new usage of octal charcter 037
246
 
        as field separator.
247
 
 
248
 
2002-06-04  Dirk Bergstrom  <dirk@juniper.net>
249
 
 
250
 
        * gnatsweb.pl (mark_urls): Changed the regexes so it no longer
251
 
        does four passes over the string.  Put in a config knob
252
 
        (%mark_urls) to control behavior, and limit size of fields
253
 
        processed.  This is theoretically a fix for PR 387 (mark_urls
254
 
        takes over a minute), however, I find no measurable difference in
255
 
        performance before and after the change.  oh well, it's still a
256
 
        good patch.
257
 
 
258
 
2002-02-22  Dirk Bergstrom  <dirk@juniper.net>
259
 
 
260
 
        * gnatsweb.pl (sendpr, validate_new_pr, submitnewpr, view, edit,
261
 
        submitedit, parsepr, interested_parties): Remove X-GNATS-Notify
262
 
        from gnatsweb.  it's not supported by gnatsd, so it's just
263
 
        confusing users.
264
 
        (init_prefs): add a hack to support old "email_add" cookie value.
265
 
        (edit, sendpr): change the name of forms to "PrForm".  this is
266
 
        used by a javascript hook in a helper app, and it needs to talk to
267
 
        both forms.
268
 
        (edit): decremented the field count so the javascript hook would
269
 
        work after removing the x-gnats-notify field.
270
 
 
271
 
2002-02-09  Yngve Svendsen  <yngve.svendsen@clustra.com>
272
 
 
273
 
        * gnatsweb.pl (submitquery): Use exact matching when querying on
274
 
          enum or multienum type fields.  Should be the behaviour that
275
 
          most people would expect.  Fixes PR 322.
276
 
 
277
 
2001-12-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
278
 
 
279
 
        * gnatsweb.pl (page_start_html): Do not mix classic HTML color
280
 
        tags (BGCOLOR) and CSS.
281
 
 
282
 
==========  Gnatsweb 4.0 beta 3 released ===============================
283
 
        
284
 
2001-12-12  Yngve Svendsen  <yngve.svendsen@clustra.com>
285
 
 
286
 
        * gnatsweb.pl: Set VERSION to 3.99.3.  This is beta 3.
287
 
 
288
 
2001-12-04  Yngve Svendsen  <yngve.svendsen@clustra.com>
289
 
 
290
 
        * gnatsweb.pl (sendpr, validate_email_field, init_prefs): Rename
291
 
          'email_addr' to 'email' in the global cookie.
292
 
 
293
 
2001-12-02  Yngve Svendsen  <yngve.svendsen@clustra.com>
294
 
 
295
 
        * gnatsweb.pl (submitquery, display_query_results): Use ASCII
296
 
          octal \037 (unit separator) as field separator in the query
297
 
          output format string, instead of '|', which would make Gnatsweb
298
 
          mess up the query results display when a field contained a '|'.
299
 
 
300
 
2001-11-30  Yngve Svendsen  <yngve.svendsen@clustra.com>
301
 
 
302
 
        * gnatsweb.pl (display_query_results): Removed definition of
303
 
          $myurl -- it was never used.
304
 
 
305
 
        * gnatsweb.pl: Implement redirect after 'Store query':
306
 
        - (display_query_results): Add return_url hidden field to form.
307
 
        - (store_query): Add redirect code, notify user that redirect is
308
 
          about to happen.
309
 
 
310
 
2001-11-29  Yngve Svendsen  <yngve.svendsen@clustra.com>
311
 
 
312
 
        * gnatsweb.pl: Implement redirect after 'Create':
313
 
        - (sendpr): Add hidden field 'return_url' to form.
314
 
        - (submitnewpr): Defer call to page_start_html until we know
315
 
          whether we need a customized HTML head.  Create global cookie
316
 
          here, not in main.  Add code to issue refresh header and call
317
 
          page_start_html with extra arguments for the HTML head section
318
 
          for the MSIE workaround.  Add a line to the result page saying
319
 
          that the user will be redirected automatically.
320
 
        - (get_pr_url): Do not include pr=xxx in URL when $pr is 0.
321
 
        - (page_start_html): Add passed arguments (if any) to the call to
322
 
          start_html.  Use URL containing return_url parameter in the
323
 
          CREATE link in the button bar.
324
 
        - (main): Remove call to print_header in the 'submit' case.  We do
325
 
          this inside the submitnewpr subroutine now.
326
 
        - (submitedit): Do the refresh in the same way as in submitnewpr -
327
 
          the old method emitted bad HTML.
328
 
        - (delete_stored_query): Ditto.
329
 
 
330
 
        * gnatsweb.pl (sendpr, edit): Fix syntax error that prevented
331
 
          table cell and row end tags from being printed.
332
 
 
333
 
2001-11-21  Yngve Svendsen  <yngve.svendsen@clustra.com>
334
 
 
335
 
        * CUSTOMIZING.vars, TROUBLESHOOTING, INSTALL, gnatsweb.html,
336
 
          gnatsweb.pl: Changes to reflect that GNATS development has moved
337
 
          to Savannah.
338
 
 
339
 
        * gnatsweb.pl: Add 'use Text::Tabs'.
340
 
        - (view): Expand tabs to spaces, replace back-to-back occurrences
341
 
          of spaces with "&nbsp;" and a space.  This makes browsers render
342
 
          indented code correctly.  Thanks to Brad Garcia.
343
 
 
344
 
2001-11-19  Yngve Svendsen  <yngve.svendsen@clustra.com>
345
 
 
346
 
        * gnatsweb.pl: A bit of cleanup, based on suggestions from Dirk
347
 
          Bergstrom:
348
 
        - (init_fieldinfo): Add 'separators' and 'default_sep' hash
349
 
          elements for multienum fields.
350
 
        - (parse_multienum, unparse_multienum): Use them.
351
 
        - (multiselect_menu): New subroutine.  Returns a
352
 
          multiselect menu.
353
 
        - (edit, sendpr): Use it.
354
 
        - (query_page): Use // around regexp.
355
 
        - (unparse_multienum): Use join instead of foreach loop.
356
 
 
357
 
2001-11-03  Yngve Svendsen  <yngve.svendsen@clustra.com>
358
 
 
359
 
        * gnatsweb.pl: Initial check-in of multienum support code.
360
 
        - (parse_multienum): Parse a legally separated MultiEnum string by
361
 
          splitting on the multienum separators and returning the result
362
 
          as an array ref.
363
 
        - (unparse_multienum): Collect multienum form values in a single
364
 
          string, values separated by the first character in the multienum
365
 
          separator string for that field.
366
 
        - (submitnewpr, submitedit): Use unparse_multienum on MultiEnum
367
 
          field values from the form.
368
 
        - (edit): Use parse_multienum to pre-fill MultiEnum fields in the
369
 
          form with the old values.  We use a multiselect scrolling list.
370
 
        - (query_page, advanced_query_page): Support queries on MultiEnum
371
 
          fields.  We use a multiselect scrolling list. 
372
 
        - (sendpr): Support entry of values for MultiEnum fields using a
373
 
          multiselect scrolling list.
374
 
        
375
 
        * gnatsweb.pl (delete_stored_query): Use refresh, not redirect,
376
 
          since that confuses Netscape.  Add workaround for MSIE's
377
 
          non-handling of refresh headers.
378
 
 
379
 
        * gnatsweb.pl (login_page): Tweak print statement to avoid user
380
 
          strict-related warning.
381
 
 
382
 
2001-11-01  Dirk Bergstrom  <dirk@juniper.net>
383
 
 
384
 
        * gnatsweb.pl (one_line_form, view): Change form submission from
385
 
        POST to GET.  Postdata expires from cache after some time (i
386
 
        believe it's browser-dependent), and this can cause loss of data
387
 
        in the following scenario: user clicks the create button on the
388
 
        main page, spends half an hour entering PR data, hits submit, and
389
 
        there's an error; user hits "back", but is told that the create
390
 
        form is postdata, and it has expired.  all the data they entered
391
 
        is lost, and much frustration ensues.  this can also happen with
392
 
        editing and query submission.
393
 
        (edit): Increment number of hardcoded fields in $field_number to
394
 
        account for the addition of return_url.  This needs to be done
395
 
        whenever a non-dynamic field is added to the top of the edit or
396
 
        view pages.
397
 
 
398
 
2001-10-30  Yngve Svendsen  <yngve.svendsen@clustra.com>
399
 
 
400
 
        * gnatsweb.pl (get_mailto_link): Remove special handling
401
 
          of Internet Explorer browser -- not all MSIE users use Outlook.
402
 
          Furthermore, newer versions of Outlook do not need the special
403
 
          quoting.
404
 
        - (get_mailto_link): Put Synopsis, as well as category and PR
405
 
          number in the Subject field of the mailto link.
406
 
 
407
 
2001-10-23  Yngve Svendsen  <yngve.svendsen@clustra.com>
408
 
 
409
 
        * gnatsweb.pl ($site_banner_text): Say 'GNU Gnatsweb'.
410
 
 
411
 
2001-10-21  Yngve Svendsen  <yngve.svendsen@clustra.com>
412
 
 
413
 
        * TROUBLESHOOTING: New document.
414
 
 
415
 
        * INSTALL: Update, expand, correct. Mention troubleshooting
416
 
          document.
417
 
 
418
 
        * gnatsweb.pl (advanced_query_page): Use cellspacing=0.
419
 
 
420
 
        * gnatsweb.pl (sendpr): Change name of form from editPrForm to
421
 
          sendPrForm.
422
 
 
423
 
2001-10-20  Yngve Svendsen  <yngve.svendsen@clustra.com>
424
 
 
425
 
        * gnatsweb.pl (get_viewpr_url): Properly escape the 'view
426
 
          audit-trail' command.
427
 
 
428
 
==========  Gnatsweb 4.0 beta 2 released ===============================
429
 
 
430
 
2001-10-17  Yngve Svendsen  <yngve.svendsen@clustra.com>
431
 
 
432
 
        * $VERSION set to 3.99.2.  This is Gnatsweb 4.0 beta 2.
433
 
        
434
 
        * Gnatsweb is finally under the GPL.  All significant files,
435
 
          copyright notices and licensing conditions have been added to
436
 
          all code files and the README file.
437
 
        - COPYING: New file containing the GPL.
438
 
        - BETA: New file.
439
 
        
440
 
 
441
 
2001-10-17  Dirk Bergstrom  <dirk@juniper.net>
442
 
 
443
 
        * gnatsweb.pl (parse_submitters): Populate %submitter_complete
444
 
        with the human-readable value from the submitters file.
445
 
        (popup_or_scrolling_menu): Use %submitter_complete to provide
446
 
        labels for Submitter-Id field.
447
 
        (main_page): Display current database in change database dropdown.
448
 
        (formstart): Workaround for an exceedingly dumb netscape bug, in
449
 
        which the back arrow is broken after submitting a new PR or an
450
 
        edited PR.
451
 
        (form_start, multipart_form_start): Wrapper functions for
452
 
        formstart().
453
 
        (send_pr, edit): Use multipart_form_start().
454
 
        (init_prefs): Added code to save email_addr in the global cookie.
455
 
        This value is used to populate the email field in the create PR
456
 
        screen.  This functionality disappeared somewhere after 1.59.
457
 
 
458
 
2001-10-15  Yngve Svendsen  <yngves@gnu.org>
459
 
 
460
 
        * INSTALL: Change the treatment of access control to take into
461
 
          account the new 'listdb' level.
462
 
 
463
 
        * CUSTOMIZE.vars: Document the $include_audit_trail variable.
464
 
 
465
 
2001-10-12  Yngve Svendsen  <yngve.svendsen@clustra.com>
466
 
 
467
 
        * Makefile: Silence the test target a bit.
468
 
 
469
 
        * test.pl: Get rid of noise generated when the test script is
470
 
          unable to connect to the GNATS database.  Add a note on how to
471
 
          troubleshoot connection problems.
472
 
 
473
 
        * gnatsweb.pl: Strengthen warning about setting config variables
474
 
          in the site file, not in the main script.
475
 
 
476
 
2001-10-11  Yngve Svendsen  <yngves@gnu.org>
477
 
 
478
 
        * gnatsweb.pl (split_csl): New subroutine. Splits comma-separated
479
 
          e-mail addresses in such a way that commas in quotes aren't
480
 
          considered separators.  Thanks to Arno Unkrig.
481
 
          (fix_email_addrs): Use it.
482
 
          (interested_parties): Likewise.
483
 
 
484
 
        * gnatsweb.html: Document the Display Current Date checkbox in the
485
 
          query pages.
486
 
 
487
 
        * gnatsweb.pl (query_page, advanced_query_page): Add checkbox
488
 
          controlling whether to display the current date on the results
489
 
          page. Default is on.
490
 
        - (display_query_results): Display current date below number of
491
 
          matches if the "Display current date" checkbox on the query page
492
 
          is checked.
493
 
 
494
 
        * gnatsweb.pl: New config variable $include_audit_trail which
495
 
          controls whether the Audit-Trail will be shown by default in the
496
 
          View PR screen.
497
 
          (main_page, get_viewpr_url): Use it.
498
 
 
499
 
        * gnatsweb.pl (popup_or_scrolling_menu): Use both username and
500
 
          full name in the Responsible dialog. 
501
 
        - (parse_responsible): New responsible_complete hash.  Contains
502
 
          both username and full name.
503
 
 
504
 
2001-09-21  Dirk Bergstrom  <dirk@juniper.net>
505
 
 
506
 
        * gnatsweb.pl (main_page): add a '$q->' to a CGI.pm call that i
507
 
        missed on 2001-09-6.
508
 
 
509
 
2001-09-12  Yngve Svendsen  <yngve.svendsen@clustra.com>
510
 
 
511
 
        * gnatsweb.pl: Various very minor changes to get rid of strict
512
 
          warnings.
513
 
 
514
 
        * gnatsweb-site-example.pl: Fix problems with 'open' and 'not
515
 
          closed' examples by switching to custom query format instead of
516
 
          sql2.
517
 
 
518
 
        * CUSTOMIZE.cb, CUSTOMIZE.vars: Update in accordance with the
519
 
          changes below.  Make layout a smidgen clearer.
520
 
 
521
 
        * gnatsweb.pl: Change $gnats_info_top to point to a page on
522
 
          sources which contains links to documentation for multiple
523
 
          versions of GNATS.
524
 
 
525
 
        * gnatsweb.pl (login_page): Add a callback which allows printing
526
 
          of a welcome message on the login page.
527
 
        - gnatsweb-site-example.pl: Use it.
528
 
 
529
 
2001-09-11  Yngve Svendsen  <yngve.svendsen@clustra.com>
530
 
 
531
 
        * gnatsweb.pl: Change $VERSION to 3.99. We're in beta now.
532
 
 
533
 
        * INSTALL: Include notes for upgraders.
534
 
 
535
 
        * gnatsweb-site-example.pl: Fix problems with query results table
536
 
          header row when using the 'open' and 'not closed' buttons.
537
 
 
538
 
        * gnatsweb.html: Fairly minor changes to reflect the way GNATS and
539
 
          Gnatsweb 4 work.
540
 
 
541
 
        * Makefile: Add new files to the OTHER_FILES macro.  Rewrite
542
 
          install target to back up old installations and to preserve the
543
 
          gnatsweb-site.pl file if already installed.  Remove references
544
 
          to gnatsweb-site-sente.pl.
545
 
 
546
 
2001-09-10  Yngve Svendsen  <yngve.svendsen@clustra.com>
547
 
 
548
 
        * gnatsweb-site-sente.pl: Gone -- it was getting a bit long in the
549
 
          tooth and 2.x-specific.
550
 
 
551
 
        * gnatsweb-site-example.html: Fleshed out a bit.
552
 
 
553
 
        * CUSTOMIZE.cb: Callback documentation finished.
554
 
 
555
 
        * gnatsweb.pl (sendpr): Removed get_default_value callback hook.
556
 
 
557
 
2001-09-09  Yngve Svendsen  <yngve.svendsen@clustra.com>
558
 
 
559
 
        * gnatsweb.pl (main): Support cmd callbacks.
560
 
 
561
 
        * CUSTOMIZE, CUSTOMIZE.vars: New documentation on how to customize
562
 
          Gnatsweb.
563
 
 
564
 
        * gnatsweb.pl: $global_cookie_expires was being defined twice.
565
 
 
566
 
        * Makefile (tarball, default, no-debug-statements): Misc. fixes.
567
 
 
568
 
        * gnatsweb.pl: $VERSION now global, so that we can use it in the
569
 
          Makefile.
570
 
 
571
 
        * gnatsweb.pl (client_init): Trap attempts to use a nonexisting
572
 
        $site_gnats_host.
573
 
 
574
 
        * README, TODO: Update for Gnatsweb 4.
575
 
        - INSTALL: Largely rewritten for Gnatsweb 4
576
 
        - gnatsweb-site.pl: Minimal local configuration file.
577
 
        - Makefile: Install gnatsweb-site.pl, not gnatsweb-site-sente.pl
578
 
 
579
 
2001-09-08  Yngve Svendsen  <yngve.svendsen@clustra.com>
580
 
 
581
 
        * gnatsweb.pl (page_start_html): Reenable the button bar on the
582
 
          main page -- turns out users who are accustomed to it use it
583
 
          almost exclusively.
584
 
 
585
 
2001-09-07  Dirk Bergstrom  <dbergstr@crawler.juniper.net>
586
 
 
587
 
        * gnatsweb.pl (get_mailto_link): rewritten to properly html-escape
588
 
        the followup mailto: link contents.
589
 
 
590
 
        * gnatsweb.pl (help_page): Changed bare calls to p() & a() to
591
 
        $q->p() style calls.  Missed these yesterday.
592
 
 
593
 
2001-09-06  Dirk Bergstrom  <dbergstr@crawler.juniper.net>
594
 
 
595
 
        * gnatsweb.pl: Use CGI qw/-nosticky/; This prevents CGI.pm from
596
 
        appending a bunch of .cgifields to every self_url().  AFAIK, we're
597
 
        not using CGI.pm's sticky field features, so we can do w/o the
598
 
        overhead and the unreasonably long URLs it produces.
599
 
 
600
 
        * gnatsweb.pl: Changed bare calls to CGI.pm routines to qualified
601
 
        calls (ie. submit(foo... becomes $q->submit(foo... ).  This allows
602
 
        us to stop importing the :standard and :netscape extensions to
603
 
        CGI.pm.  Doing so should improve the startup time and decrease
604
 
        memory footprint.
605
 
 
606
 
        * gnatsweb.pl: Refresh headers choke on semicolon-separated
607
 
        query-strings, so we change semicolons to ampersands in the URL
608
 
        everywhere we use refresh.
609
 
 
610
 
        * gnatsweb.pl (view, edit, submitedit, download_attachment): Added
611
 
        code to strip non-digit characters from $pr.  Gnatsd sometimes
612
 
        accepts category/number, and sometimes does the Wrong Thing, and I
613
 
        thought it best to remove the possibility of problems.
614
 
 
615
 
        * gnatsweb.pl (camouflage, set_pref): Removed camouflage()ing of
616
 
        'user', since the first time I used this version of gnatsweb, it
617
 
        became convinced that my username was 'ag`tavqw'.  This migration
618
 
        problem far outweighs the meager benefits of masking the username
619
 
        in the cookie.  camouflage()ing the password will still cause
620
 
        migration problems for sites that have used a previous incarnation
621
 
        of gnatsweb, but it might be worth it...
622
 
 
623
 
        * gnatsweb.pl (page_start_html): Don't show logout button if
624
 
        $site_gnatsweb_server_auth is set.  Don't show button bar on main
625
 
        page.  Changed all the html tags to lowercase, for
626
 
        standards-compliance.
627
 
 
628
 
        * gnatsweb.pl (datemenu, edit): Removed datemenu(), and the one
629
 
        (unreachable) reference to it.  It was unused, and probably
630
 
        justifiably so, given the robust date parsing abilities in gnatsd.
631
 
 
632
 
        * gnatsweb.pl (display_query_results): Strip empty params out of
633
 
        $url for the "View for bookmarking" link.
634
 
 
635
 
        * gnatsweb.pl (store_query): Strip empty params out of
636
 
        $query_string before building cookie, to help keep it under the 4K
637
 
        limit.  Check (approx) length of cookie, error if it looks like
638
 
        it's going to be over 4K.
639
 
 
640
 
        * gnatsweb.pl (get_mailto_link): Added a new config parameter,
641
 
        %site_pr_submission_address.  If set for the current database,
642
 
        get_mailto_link() adds a mailto: link ("submit followup via
643
 
        email") that goes to the local PR submission address and the PR's
644
 
        Reply-To address.  The subject is set so that the message gets
645
 
        tacked on to the PR's audit trail.
646
 
 
647
 
2001-09-02  Yngve Svendsen  <yngve.svendsen@clustra.com>
648
 
 
649
 
        * test.pl: Remove parse/unparse tests.  These would be very hard
650
 
          to get to work with GNATS 4's customized fields.
651
 
 
652
 
2001-08-23  Yngve Svendsen  <yngve.svendsen@clustra.com>
653
 
 
654
 
        * gnatsweb.pl ($VERSION): Change to 3.98.
655
 
 
656
 
        * gnatsweb.pl (submitedit): Corrected a typo that prevented
657
 
          free-text search against specific fields from working.  Thanks
658
 
          to Paul-Andre Panon for spotting this.
659
 
 
660
 
2001-08-20  Yngve Svendsen  <yngve.svendsen@clustra.com>
661
 
 
662
 
        * gnatsweb.pl (edit): Add the attribute wrap=hard to
663
 
          Reason-Changed textareas.  Causes input in these fields to be
664
 
          added to the Audit-Trail prewrapped at $textwidth.
665
 
 
666
 
2001-08-19  Yngve Svendsen  <yngve.svendsen@clustra.com>
667
 
 
668
 
        * gnatsweb.pl (parse_categories): No longer exclude 'pending' from
669
 
          the category search list. This restriction made little sense.
670
 
 
671
 
        * gnatsweb.pl: Move the initial declaraion of $GNATS_VERS from the
672
 
          sub initialize to the outermost block so that main_page can
673
 
          access it.
674
 
        - (main_page): Print both the Gnatsweb and GNATS version numbers
675
 
          in the main page footer.
676
 
 
677
 
        * gnatsweb.pl ($use_temp_db_prefs_cookie): New variable.  If this
678
 
          is set, the db_prefs cookie is set without an expiry date,
679
 
          generating a browser-stored cookie limited to the current
680
 
          session.  This improves security.
681
 
        - (cmd_login): Set cookie expiry only if $use_temp_db_prefs_cookie
682
 
          is false.
683
 
 
684
 
        * gnatsweb.pl (camouflage): New subroutine. If passed a scalar,
685
 
          camouflages it by XORing it with 19 and reversing the string.
686
 
          If passed a hash reference with keys "user" and "password", it
687
 
          camouflages the values of these keys using the same algorithm.
688
 
        - (uncamouflage): The camouflage algorithm is symmetric, so we
689
 
          just call it from here.
690
 
        - (cmd_login): Use camouflage to hide username and password in
691
 
          login cookies.  Will only provide a certain measure of security
692
 
          against the most casual and amateurish of prying eyes.
693
 
        - (set_pref): Use uncamouflage to retrieve username and password.
694
 
 
695
 
2001-08-18  Yngve Svendsen  <yngve.svendsen@clustra.com>
696
 
 
697
 
        * gnatsweb.pl (submitquery): Make issuing of the client command
698
 
          EXPR conditional.  Certain slightly unusual queries
699
 
          would result in the client command EXPR being sent with no
700
 
          parameter, generating a gnatsd error.
701
 
 
702
 
        * gnatsweb.pl (query_page): Avoid use strict-related warning if
703
 
          $global_prefs{'columns'} was undefined.
704
 
 
705
 
        * gnatsweb.pl (print_stored_queries): Filter out stored queries
706
 
          for other databases than the current one.  Change due to
707
 
          Paul-Andre Panon.
708
 
 
709
 
2001-08-17  Yngve Svendsen  <yngve.svendsen@clustra.com>
710
 
 
711
 
        * test.pl: Change query commands to work with gnatsd v4 syntax.
712
 
          Testing now runs, but fails on parse/unparse.  May need a rewrite.
713
 
 
714
 
2001-08-16  Yngve Svendsen  <yngve.svendsen@clustra.com>
715
 
 
716
 
        * gnatsweb.pl: Make the $suppress_main variable global - it has to
717
 
          be in order to make gnatsweb.pl callable from the test.pl
718
 
          script.
719
 
 
720
 
2001-08-12  Yngve Svendsen  <yngve.svendsen@clustra.com>
721
 
 
722
 
        * gnatsweb.pl (login_page): Prevent the word "Password" from being
723
 
          printed twice.
724
 
 
725
 
2001-08-08  Yngve Svendsen  <yngve.svendsen@clustra.com>
726
 
 
727
 
        * gnatsweb.pl: ($VERSION): Change to 3.97 -- we're nearly
728
 
          4.0 feature-complete now.
729
 
 
730
 
        * gnatsweb.pl: Replace the Login Again functionality with a Log
731
 
          Out function:
732
 
        - Replace all occurences of "login again" with "logout".
733
 
        - (main_page): Change the "Login Again" label to "Log Out / Change
734
 
          Database".
735
 
        - (cmd_logout): New subroutine. Clears the db_prefs cookie and
736
 
          redirects the user to the login page.
737
 
        - (main): Call cmd_logout instead of going directly to login_page.
738
 
 
739
 
        * gnatsweb.pl: Add a navigation bar just below the page banner:
740
 
        - $site_button_background and $site_button_foreground. New
741
 
          variables initialized to black and white resp.
742
 
        - (page_start_html): Rewrite to display button bar and generally
743
 
          clean up the code, with clearer style declarations.
744
 
        - (login_page): Call page_start_html with an additional parameter
745
 
          set to '1'. Prevents the button bar from being displayed on this
746
 
          page.
747
 
 
748
 
2001-08-07  Yngve Svendsen  <yngve.svendsen@clustra.com>
749
 
 
750
 
        * gnatsweb.pl (download_attachment): Fix a syntax error which
751
 
        prevented attachment downloading from working properly.
752
 
 
753
 
        * Cleanup to get rid of strict warnings:
754
 
        gnatsweb.pl: Change initial definition of
755
 
        $no_create_without_access from undef to ''.
756
 
        - (submitedit, main, mark_urls, display_query_results, unparsepr):
757
 
          Add some || '' constructs. Fixes a bunch of 'uninitialized
758
 
          value' warnings.
759
 
        - (param2field): Correctly translate 'PR' to 'Number'.  Remove
760
 
          warn statement as it makes little sense with GNATS 4
761
 
          configurable fields.
762
 
        
763
 
2001-07-26  Yngve Svendsen  <yngve.svendsen@clustra.com>
764
 
 
765
 
        * gnatsweb.pl (display_query_results): Use cellspacing 0 and
766
 
          cellpadding 1. Makes table a tad more readable.
767
 
 
768
 
        * gnatsweb.pl (page_start_html): Redesign the banner. Different
769
 
        typeface, different size. This is done so that we no longer need
770
 
        to keep separate styles based on browser and platform - things
771
 
        will look fairly similar across the board.
772
 
        - Also, we now print user and access level info in the banner
773
 
        itself, along with the database name.
774
 
        - (page_heading): Stop printing user and access level info in the
775
 
        heading (it now appears in the banner). We now print the page
776
 
        heading inside a simple <H1>, instead of in a table. This makes
777
 
        for cleaner HTML and less space between heading and page content.
778
 
        - Remove the third parameter in calls to page_heading. This used
779
 
        to control whether to print user and access info in the page
780
 
        heading.
781
 
 
782
 
2001-07-18  Yngve Svendsen  <yngve.svendsen@clustra.com>
783
 
 
784
 
        * gnatsweb.pl (view, edit): Removed the check for non-digit
785
 
        characters introduced below. It is no longer needed since we now
786
 
        treat CODE_NO_PRS_MATCHED as an error.
787
 
 
788
 
        * gnatsweb.pl (store_query): Add checking of query name before we
789
 
        attempt to store it. According to
790
 
        http://home.netscape.com/newsref/std/cookie_spec.html, cookie
791
 
        names must not contain commas, semicolons or spaces, and they must
792
 
        not be blank.
793
 
 
794
 
        * gnatsweb.pl: New variables $print_header_done,
795
 
        $page_start_html_done and $page_heading_done to be used to
796
 
        ensure that we don't print headers, headings and banners twice.
797
 
        (print_header, page_start_html, page_heading): Use these
798
 
        variables.
799
 
        - All direct calls to CGI.pm's header function replaced by calls
800
 
          to print_header.
801
 
        - (gerror): Rewritten to output headers, heading and banner.
802
 
        - (get_reply): We now treat the return code CODE_NO_PRS_MATCHED as
803
 
          an error. Otherwise, users would be able to edit nonexistent
804
 
          PRs. This has the unfortunate side-effect of outputting an error
805
 
          when there are no matches to a query, but I consider that a
806
 
          small price to pay. Tweaked error code formatting.
807
 
        - (popup_or_scrolling_menu): Inserted missing '!' in if statement.
808
 
        - (edit): Switched order of page_heading and readpr.
809
 
 
810
 
2001-07-16  Yngve Svendsen  <yngve.svendsen@clustra.com>
811
 
 
812
 
        * gnatsweb.pl (page_heading): Use -nowrap=>'1' instead of plain
813
 
          nowrap to avoid silly CGI.pm messages in the error_log.
814
 
 
815
 
        * gnatsweb.pl (error_page): New subroutine which replaces the
816
 
        local err_sub routine used in submitedit. We want all error
817
 
        reporting to be done through this subroutine, since it gives us
818
 
        a consistent look.
819
 
 
820
 
        * gnatsweb.pl (popup_or_scrolling_menu): Check if $string is
821
 
        defined by using 'if defined' instead of a numeric comparison.
822
 
 
823
 
        * gnatsweb.pl (advanced_query_page): Add a line below 'Closed
824
 
        After' and 'Closed Before' reminding users to uncheck 'Ignore
825
 
        Closed'. Added a little bit of vertical space between tables.
826
 
        Ported from 2.x branch.
827
 
 
828
 
        * gnatsweb.pl (view, edit): Add a check for non-digit characters
829
 
        in PR numbers. If such characters are found, an appropriate error
830
 
        message is issued. gnatsd will actually accept PR numbers on the
831
 
        format string/xxxx, where xxxx is a number,  and return the
832
 
        appropriate PR. However, when edits are submitted to such a PR, a
833
 
        new PR with the "number" 'string/xxxx' would be created, with the
834
 
        same category as the original PR. This is a workaround for that
835
 
        problem. Ported from 2.x branch.
836
 
 
837
 
        * gnatsweb.pl: (page_heading): Set the width of the table
838
 
        containing the page heading and database, username and access
839
 
        level to 100%. Opera would display a too narrow table when the
840
 
        width wasn't explicitly set.
841
 
 
842
 
        * gnatsweb.pl (main): Add an explicit link to the automatic
843
 
        redirection page. Fix due to Mark Kuchel. Ported from 2.x branch.
844
 
 
845
 
        * gnatsweb.pl (login_page_javascript): Use correct <SCRIPT
846
 
        LANGUAGE>.
847
 
 
848
 
        * gnatsweb.pl (submitquery): If there's a query name, include it
849
 
        in the page heading. Ported from 2.x branch.
850
 
 
851
 
        * gnatsweb.pl (store_query): Gnatsweb will no longer allow you to
852
 
        store a query if this would result in more than 20 cookies.
853
 
        Otherwise random cookies get dropped and things start acting
854
 
        weird. 20 is a magical number as defined in
855
 
        http://home.netscape.com/newsref/std/cookie_spec.html. Ported from
856
 
        2.x branch.
857
 
 
858
 
        * gnatsweb-pl (display_query_results): Added a 'View for
859
 
        bookmarking' link, which reloads the same query so that you can
860
 
        bookmark it in your browser. Ported from 2.x branch.
861
 
        
862
 
        * gnatsweb.pl (submitedit): Modifying the CC list (X-GNATS-Notify
863
 
        header) was not working if X-GNATS-Notify existed but was empty.
864
 
        Problem turned out to be a couple of extraneous spaces in the
865
 
        field substitution regexps.
866
 
 
867
 
        * gnatsweb.pl: Change the example value of $site_mail_domain from
868
 
        @juniper.net to something nonexistent.
869
 
 
870
 
        * Implement redirects after edits (ported from 2.x branch): 
871
 
        
872
 
        gnatsweb.pl (get_pr_url): New subroutine. Returns a URL which
873
 
        will take one to the specified $pr and with a specified $cmd.
874
 
        (get_editpr_url, get_viewpr_url): Rewrite to use get_pr_url.
875
 
        (get_script_name): New subroutine. Same as script_name(), but
876
 
        includes 'database=xxx' parameter.
877
 
        (view, edit): Pass hidden variable return_url.
878
 
        (submitedit): New local subroutine err_sub. Makes it easier to
879
 
        postpone calling print_header. Rewrite all error messages in
880
 
        submitedit to use this routine.
881
 
        (submitedit): After submitting edits, users are now redirected
882
 
        back to the page where they were before the edit.
883
 
        (display_query_results): Change to use get_viewpr_url and
884
 
        get_editpr_url so that we get the return_url parameter as part of
885
 
        the URL.
886
 
        (print_header): New subroutine. Print HTTP header unless it's been
887
 
        printed already.
888
 
        (main): Don't call header() before calling submitedit(). Let
889
 
        submitedit itself take care of printing the headers it needs.
890
 
 
891
 
2001-07-15  Yngve Svendsen  <yngve.svendsen@clustra.com>
892
 
 
893
 
        * test.pl: Don't use 'diff -u' during 'make test'; not everyone
894
 
        has GNU diff. Ported from 2.x branch.
895
 
 
896
 
        * gnatsweb.pl (decode_attachment): Fix a problem where attachments
897
 
        containing a double newline in the body would be truncated
898
 
        during decoding. Fix due to Omar Rashad.
899
 
        
900
 
        * gnatsweb.pl (parsepr): Strip leading space characters from each
901
 
        line of the attachments. Fixes attachment handling, which has
902
 
        been broken almost since GNATS 4.0 development started.
903
 
 
904
 
        * gnatsweb.pl (download_attachment): Insert a conditional to send
905
 
        the header based on HTTP_USER_AGENT. MS Internet Explorer 5.5
906
 
        would attempt to save downloaded attachments under the same name
907
 
        as the Gnatsweb script file, typically gnatsweb.pl. This is
908
 
        because MSIE handles the HTTP header "Content-Disposition:
909
 
        attachment" wrongly. It needs "file" instead of "attachment".
910
 
 
911
 
        * gnatsweb.pl (submitedit): Check whether fields that are
912
 
        specified in dbconfig as requiring a 'Reason Changed' have the
913
 
        reason specified.
914
 
 
915
 
2001-07-08  Yngve Svendsen  <yngve.svendsen@clustra.com>
916
 
 
917
 
        * $VERSION increased to 3.96.
918
 
 
919
 
2001-07-08  Dirk Bergstrom  <dirk@juniper.net>
920
 
 
921
 
        * gnatsweb.pl: now runs with "use strict;". while combing though
922
 
        the code to properly declare and scope variables, i found several
923
 
        flags and routines that were unused; they were removed.  some
924
 
        routines were massaged to accomodate lexical scoping:
925
 
        - the sortby_field(_num) subs were inlined.
926
 
        - can_do_mime is wrapped in a do{} block to capture the cached value.
927
 
        - $default was removed from date_menu.
928
 
 
929
 
        * gnatsweb.pl: configuration switches gathered together at the top
930
 
        of the file, keeping all the hardcoded global values in one place.
931
 
 
932
 
        * gnatsweb.pl (popup_or_scrolling_menu): category
933
 
        dropdown/scrolling list now includes descriptions.  the
934
 
        descriptions from the categories file are now displayed, instead
935
 
        of just the (sometimes cryptic) codes.
936
 
 
937
 
        * gnatsweb.pl: uses warn() to write errors to the server logfile
938
 
        whenever an error is generated, a message is emitted to STDERR,
939
 
        containing a diagnostic message, the username, the database, and a
940
 
        stacktrace.
941
 
 
942
 
        * gnatsweb.pl (send_pr, edit): the create and edit PR pages now
943
 
        keep track of field number, so that javascript hooks can be
944
 
        applied.  forms are also named.  gnats field names customarily
945
 
        include dashes, and javascript names cannot include dashes, so it
946
 
        was impossible to write a javascript routine that could examine or
947
 
        change a field value.  to get around this, the code keeps track of
948
 
        the field number (starting at zero), and passes this value to the
949
 
        cb() callback.  this way, the callback can generate javascript on
950
 
        the fly, for things like client-side validitity checking.
951
 
 
952
 
        * gnatsweb.pl (send_pr, edit): field descriptions are printed in
953
 
        the create and edit pages (and optionally on the view PR page,
954
 
        though that tends to look overly cluttered), using the field
955
 
        descriptions from the dbconfig file.  this necessitated setting
956
 
        the column width of the left column to 20%, so that the
957
 
        descriptions would wrap.
958
 
 
959
 
        * gnatsweb.pl (view): tidied up logic for
960
 
           [edit] or [view audit-trail] or send email to interested parties
961
 
        so that the last 'or' doesn't show up when users w/o edit access
962
 
        are viewing the audit trail.
963
 
        
964
 
        * gnatsweb.pl (page_start_html): database name now displayed in
965
 
        header.
966
 
 
967
 
        * gnatsweb.pl (mark_urls): replaced with a more rigorous
968
 
        version. now does email addresses, and turns references to PRs
969
 
        into view_pr_urls.  this is used on just about every field in
970
 
        the view-pr page, and on many fields in the query-results
971
 
        page.
972
 
 
973
 
        * gnatsweb.pl (client_exit): improved handling of errors and
974
 
        exceptions from gnatsd.  $suppress_client_exit is now actually
975
 
        honored, so that submitedit() and initialize() can recover
976
 
        gracefully from problems.  this is particularly important in
977
 
        submitedit() -- if we shut down the connection to gnatsd on an
978
 
        edit error, the lock on the PR will not be properly cleared.  this
979
 
        fixes a problem with stale PR lockfiles.
980
 
  
981
 
        * gnatsweb.pl (submitquery): dates are returned from queries as
982
 
        ISO-8601-like dates (yyyy-mm-dd hh:mm:ss tz), using the query
983
 
        format %{%Y-%m-%d %H:%M:%S %Z}D.  This makes sorting query results
984
 
        by date actually work.
985
 
  
986
 
        * gnatsweb.pl (submitquery): empty parameters are stripped from
987
 
        the query-string on the query-results page.  in a gnats db with
988
 
        many fields, the query-string will become very long, filled up
989
 
        with ...&field_name=&other_field=&third_field=&....  this is a
990
 
        problem, since IE5 truncates query-strings at ~2048 characters.
991
 
 
992
 
        * gnatsweb.pl (advanced_query_page): applied yngve's fix of v2.33
993
 
        to the advanced query page.
994
 
        
995
 
        * gnatsweb.pl: added explicit return statements to several subs
996
 
        for readability.
997
 
 
998
 
        * gnatsweb.pl (param2field): now looks thru @fieldnames for a
999
 
        matching field.  the old, algorithmic, behavior would fail on
1000
 
        fields with multiple consecutive capitalized letters (ie: ID-Num
1001
 
        would come back as Id-Num) and fields containing underscores
1002
 
        (ie: Project_Number would come back as Project-Number).  if there
1003
 
        is no matching gnats fieldname, it falls back to the old behavior.
1004
 
 
1005
 
        * gnatsweb.pl ($sn): global variable $sn renamed $script_name for
1006
 
        clarity.
1007
 
 
1008
 
        * gnatsweb.pl: Responsible field always displayed as a mailto:
1009
 
        link
1010
 
 
1011
 
        * gnatsweb.pl (send_html): removed the die() on file open failure.
1012
 
        it seemed better to simply return, and let the caller decide what
1013
 
        to do, especially since help_page already had error handling coded
1014
 
        in...
1015
 
 
1016
 
        * gnatsweb.pl (can_edit, can_create): now use the access levels
1017
 
        defined in gnatsd.h
1018
 
 
1019
 
        * gnatsweb.pl: added $no_create_without_access flag.  useful
1020
 
        primarily for web-only sites which wish to limit PR creation to
1021
 
        users with a minimum access level.  allows for view-without-create
1022
 
        access.
1023
 
 
1024
 
        * gnatsweb.pl: gnatsd/gnatsweb can be set up for web-only access.
1025
 
        if you want to set up a more tightly secured installation, you can
1026
 
        allow only localhost connections to gnatsd, restrict logins to the
1027
 
        host, and require all users to go thru gnatsweb.  this option
1028
 
        assumes that the web server is doing authentication, and that the
1029
 
        REMOTE_USER environment variable is correctly set.  with this
1030
 
        switch set, the "login again" button is replaced by a "change
1031
 
        database" button.
1032
 
 
1033
 
        * gnatsweb.pl (change_database): added to support web-only access
1034
 
 
1035
 
        * gnatsweb.pl: gnatsweb can be set up to ignore the gnats
1036
 
        password.  the gnats network mode is quite cavalier about
1037
 
        passwords, and some sites may elect not to use gnats passwords.
1038
 
        if so, there's no point in gnatsweb asking for them.  if this
1039
 
        switch is set, the "login again" page does not prompt for a
1040
 
        password.
1041
 
 
1042
 
        * gnatsweb.pl (parse_config): removed this sub, since it is
1043
 
        unused, and the %config hash is unused.  i have no clue why it's
1044
 
        here -- it may be a relic from gnats 3.113, which, iirc, has a
1045
 
        "config" file...
1046
 
 
1047
 
        * gnatsweb.pl ($site_mailer): removed, as it was unused
1048
 
 
1049
 
        * gnatsweb.pl (submitedit): removed $ok flag, since it was
1050
 
        superfluous.  the "last LOCKED;" statements in the error handling
1051
 
        blocks serve the same purpose
1052
 
 
1053
 
        * gnatsweb.pl (%db_pref): changed db_pref hash element 'email' to
1054
 
        'email_addr'.  otherwise, whatever value user entered into the
1055
 
        "Reporter's Email" field on the "Create PR" page would get stuck
1056
 
        as their email address (because set_pref overrides %cvals{'foo'}
1057
 
        with $q->param('foo')...)
1058
 
 
1059
 
        * gnatsweb.pl (initialize): substantially rewritten.  the old
1060
 
        version issued a CHDB first, then attempted to set the user name
1061
 
        (and thus get access) with USER.  this could lead to a deadlock
1062
 
        situation where the user was "in" a database they didn't have
1063
 
        access to, and thus login_page() couldn't display a list of
1064
 
        databases so the user could change to one they *did* have access
1065
 
        to.  access level defaulted to 'edit'.  the new version starts off
1066
 
        by caching the results of DBLS, so that any failures down the line
1067
 
        won't leave us in a deadlock.  then it does a CHDB, using the
1068
 
        three-argument form (db-name, user-name, password), which will
1069
 
        fail if the user does not have access to the selected database.
1070
 
        from the response to the CHDB command, it extracts the
1071
 
        access-level the user is granted in that database, and sets the
1072
 
        global $access_level variable
1073
 
        (access_level defaults to view, instead of edit).  finally, if the
1074
 
        access_level is less than view (ie, submit, none or deny), the
1075
 
        user is given the login page.
1076
 
 
1077
 
        * gnatsweb.pl (main, cmd_login): moved login code from command
1078
 
        switch in main() to it's own sub.  this makes main() much cleaner.
1079
 
        since i added a bunch of code to the login, it seemed best to move
1080
 
        it to it's own sub.  cmd_login() also does some sanity-checking on
1081
 
        the user name -- i discovered that users were entering PR numbers
1082
 
        in the login field, because they were so used to just typing away
1083
 
        in the first field they saw...
1084
 
 
1085
 
        * gnatsweb.pl (login_page): now displays an optional message,
1086
 
        given as second parameter, useful for passing authentication
1087
 
        errors to the user. only displays the necessary fields, depending
1088
 
        on $site_gnats_browser_auth and $site_no_gnats_passwords.
1089
 
 
1090
 
        * gnatsweb.pl: debug flags allow for browser viewing of
1091
 
        communications with gnatsd.  if the $site_allow_remote_debug flag
1092
 
        is set, setting the 'debug' param will allow you to see the
1093
 
        conversation between gnatsweb and gnatsd.  setting it to 'cmd'
1094
 
        will show just gnatsweb's commands, 'reply' will show just
1095
 
        gnatsd's replies, and 'all' will show both.  this is useful mostly
1096
 
        for developers and gnats admins.  unfortunately, there's no good
1097
 
        way to limit use of debug params to users with admin privileges,
1098
 
        since much of what you might want to snoop happens *before* access
1099
 
        level is determined.
1100
 
 
1101
 
        * gnatsweb.pl (hidden_debug): added to forms to preserve state of
1102
 
        debug params.  this allows debugging during queries and
1103
 
        create/edit submits.
1104
 
 
1105
 
        * gnatsweb.pl (main_page): now exit()s when finished.  so that we
1106
 
        can call it from the big switch in main() when users try to do
1107
 
        something they aren't allowed to do.
1108
 
 
1109
 
        * gnatsweb.pl (main): if access level is less than 'edit', users
1110
 
        cannot submit edits to PRs.  previously, users w/o edit privileges
1111
 
        did not see the "edit" button on the main page, but gnatsweb did
1112
 
        not explicitly prevent them from submitting an edit
1113
 
        (ie, with a manually created form).  this loophole is now closed.
1114
 
 
1115
 
        * gnatsweb.pl (main): $gnatsweb_site_file is read and eval'd,
1116
 
        rather than pulled in using do(), to facilitate using strict
1117
 
        (using do(), the included file is not in the including file's
1118
 
        lexical scope).  errors generate a warn()ing to the server log as
1119
 
        well as a die (which will go to the browser, via
1120
 
        CGI::Carp::FatalsToBrowser).
1121
 
        
1122
 
        * gnatsweb-site-sente.pl: configuration switches from gnatsweb.pl
1123
 
        duplicated at the top of the file, since this is the recommended
1124
 
        place for them...
1125
 
 
1126
 
        * gnatsweb-site-sente.pl (site_callback): cleaned up the if
1127
 
        blocks, removed unsupported callbacks.  added documentation for
1128
 
        the suported callbacks.
1129
 
 
1130
 
2001-06-26  Yngve Svendsen  <yngve.svendsen@clustra.com>
1131
 
 
1132
 
        * gnatsweb.pl (help_page): Fix a serious security hole where an
1133
 
        attacker would be able to read any file on the system or run any
1134
 
        command to which the web server process user had access to by
1135
 
        submitting a rogue help_file parameter in the URL.  help_file is
1136
 
        now hardcoded to 'gnatsweb.html'.
1137
 
 
1138
 
2001-04-05  Yngve Svendsen  <yngve.svendsen@clustra.com>
1139
 
 
1140
 
        * gnatsweb.pl (query_page): Shift 'number' out of the array of
1141
 
        selectable column names (@fieldnames) to prevent user from
1142
 
        selecting it. That would cause the 'number' column to be
1143
 
        repeated twice, since NUMBER_FIELD is explicitly added to the
1144
 
        search format in submitquery. The best solution would be to
1145
 
        remove the explicit addition, but that messes up column sorting.
1146
 
        However, since the only drawback of the current fix is that we
1147
 
        force the inclusion of PR numbers in the query results listing,
1148
 
        this doesn't seem to matter much.
1149
 
        
1150
 
        * gnatsweb.pl (help_page): If present, return the gnatsweb.html
1151
 
        document installed with Gnatsweb, stripped with send_html, as
1152
 
        help text. Ported from Gnatsweb 2.x branch.
1153
 
 
1154
 
        * gnatsweb.pl (send_html): New subroutine that strips off
1155
 
        everything outside <BODY> and </BODY> in an HTML document and
1156
 
        returns the contents. Ported from Gnatsweb 2.x branch.
1157
 
 
1158
 
        * gnatsweb.html: Clean up HTML, fix spelling, remove some <I>'s
1159
 
        and <B>'s that made the text less readable. Some slight
1160
 
        rephrasing in order to clarify things.
1161
 
 
1162
 
2001-04-04  Yngve Svendsen  <yngve.svendsen@clustra.com>
1163
 
 
1164
 
        * gnatsweb.pl (display_query_results): Use the provided 'nonempty'
1165
 
        routine to pad empty cells with &nbsp;'s instead of the if used in
1166
 
        the last checkin. This only takes care of the cases where the empty
1167
 
        cells are not at the end of a row.  
1168
 
 
1169
 
        * gnatsweb.pl (display_query_results): When there are one or more
1170
 
        empty cells at the end of a query result row, the remaining cells
1171
 
        are padded with &nbsp;'s.
1172
 
 
1173
 
2001-03-29  Yngve Svendsen  <yngve.svendsen@clustra.com>
1174
 
 
1175
 
        * gnatsweb.pl (display_query_results): Add an if clause in order to 
1176
 
        print an &nbsp; if a field is empty. This is needed because most
1177
 
        browsers won't render the border of an empty field.
1178
 
 
1179
 
        * gnatsweb.pl: Make output more amenable to CSS stylesheet formatting. 
1180
 
        Add paragraph tags and enclose stuff that doesn't belong inside 
1181
 
        paragraphs in DIV tags. Use heading tags instead of font size tags for 
1182
 
        headings. Also correct some rather bad HTML problems with missing 
1183
 
        endtags for paragraph and table tags all over the place. These caused 
1184
 
        Netscape Navigator to refuse to use stylesheet styling in query results 
1185
 
        table cells. This should also improve browser rendering performance.
1186
 
        Improved HTML source code formatting by adding lots of \n's
1187
 
 
1188
 
        * gnatsweb.pl (main_page): Remove Matt's and Kenneth's e-mail
1189
 
        addresses. They do not seem to be valid anymore.
1190
 
 
1191
 
        * gnatsweb.pl (main_page): Collect the two query buttons on one
1192
 
        line in order to conserve vertical space.
1193
 
 
1194
 
2001-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1195
 
 
1196
 
        * gnatsweb.pl (login_page_javascript): Use correct <SCRIPT LANGUAGE>.
1197
 
        Fix the Javascript code and improve the warning messages if cookies
1198
 
        are not enabled.
1199
 
 
1200
 
2001-03-22  Yngve Svendsen  <yngve.svendsen@clustra.com>
1201
 
 
1202
 
        * gnatsweb.pl (display_query_results): Apply escapeHTML to
1203
 
        $fieldcontents before printing.
1204
 
 
1205
 
2001-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1206
 
 
1207
 
        * gnatsweb.pl ($VERSION): Bump to 3.95.
1208
 
 
1209
 
2001-03-21  Yngve Svendsen  <yngve.svendsen@clustra.com>
1210
 
 
1211
 
        * gnatsweb.pl: New configuration variable $site_stylesheet.
1212
 
        (page_start_html): Use it.
1213
 
 
1214
 
2001-03-11  Tommi Virtanen  <tv@debian.org>
1215
 
 
1216
 
        * gnatsweb.pl (decode_attachment): Editing bugs with attached files 
1217
 
        used to bomb out trying to chomp a constant string.
1218
 
 
1219
 
2000-02-08  Tom Tromey  <tromey@cygnus.com>
1220
 
 
1221
 
        Turn URLs in PR text into real URLs:
1222
 
        * cgi-bin/gnatsweb.pl (mark_urls): New function.
1223
 
        (view): Use it.
1224
 
        (edit): Likewise.
1225
 
 
1226
 
2001-02-03  Mark Kuchel <mark@kuchel.net>
1227
 
            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1228
 
 
1229
 
        * gnatsweb.pl (login_page_javascript): Properly warn about cookies
1230
 
        being required, both if Javascript is enabled and if it is disabled.
1231
 
 
1232
 
2001-01-22  Mark Kuchel <mark@kuchel.net>
1233
 
 
1234
 
        * gnatsweb.pl (main): Generate proper cookie paths.
1235
 
 
1236
 
2001-01-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1237
 
        
1238
 
        * gnatsweb.pl (help_page): Simplify the welcome text and make it
1239
 
        more generic.
1240
 
        
1241
 
2000-12-29  Mark Kuchel <mark@kuchel.net>
1242
 
            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1243
 
 
1244
 
        * gnatsweb.pl (main): Add an explicit link to the automatic
1245
 
        redirection page.
1246
 
 
1247
 
==========  Starting immediately, we have to use GNU ChangeLogs =====
1248
 
 
1249
 
==========  gnatsweb 2.6 released ===================================
1250
 
 
1251
 
1999-11-30  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1252
 
 
1253
 
        * Enhancement: If user does not have cookies enabled, they now get
1254
 
        a warning on the Login page.  Previously, you would have to submit
1255
 
        the login page before you got the warning, then you would have to
1256
 
        go back and resubmit the page.  A little JavaScript goes a long
1257
 
        way.
1258
 
 
1259
 
1999-11-27  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1260
 
 
1261
 
        * Enhancement: If DEFAULT_RELEASE is set in the gnats config file,
1262
 
        then it is now used as the default value in new PR's.
1263
 
        Patch by Brian Cameron <Brian.Cameron@Eng.Sun.COM>.
1264
 
 
1265
 
        * Bug fix: In "send email" link, include GNATS_ADDR.
1266
 
        Patch by Jason Molenda <jsm@cygnus.com>.
1267
 
 
1268
 
        * Enhancement: Reversed the default sort, so that new PR's appear
1269
 
        before older ones.  Added some more debug prints.
1270
 
        Patch by Tim Riker <TimR@CalderaSystems.com>.
1271
 
 
1272
 
1999-11-18  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1273
 
 
1274
 
        * New features: Now the site_callback can
1275
 
        - supply default values for various things until they are
1276
 
        specified and stored in the user's cookies: Reporter's
1277
 
        email...(more coming?).  This facilitates that first PR for new
1278
 
        people.
1279
 
        - print new buttons at top+bottome of main page.
1280
 
        - print stuff at the top of individual fields on the sendpr and
1281
 
        editpr pages.
1282
 
 
1283
 
        See gnatsweb-site-sente.pl for  examples.
1284
 
 
1285
 
        * Bug fix: The default list of columns displayed for a query was
1286
 
        empty; now it isn't.  You can still get the empty list if you
1287
 
        explicitly turn off all columns.
1288
 
 
1289
 
==========  gnatsweb 2.6 beta2 released ===================================
1290
 
 
1291
 
1999-11-17  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1292
 
 
1293
 
        * New feature: Now all links and forms contain the database param,
1294
 
        so that you can keep multiple databases open in multiple browser
1295
 
        windows.
1296
 
 
1297
 
==========  gnatsweb 2.6 beta released ===================================
1298
 
 
1299
 
1999-11-14  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1300
 
 
1301
 
        * New feature? Cookies are now stored with path=/.  I don't know
1302
 
        if this'll help IE users or not; I actually did it to share
1303
 
        cookies between my test web and my main web.  You should still be
1304
 
        able to get to your stored queries, and even delete them.
1305
 
 
1306
 
        * New feature: If you follow a URL such as
1307
 
        http://www.x.com/cgi-bin/gnatsweb.pl?cmd=view&database=main&pr=1269
1308
 
        and you are forced to login, then after logging in you will be
1309
 
        redirected to the requested age.  I tried doing this with a
1310
 
        redirect but that didn't work; had to use a somewhat ugly
1311
 
        zero-delay refresh.  If you can figure that out I'd be grateful.
1312
 
 
1313
 
        * New feature: Split cookies into a global cookie (column
1314
 
        preference and email addr) and a db-specific cookie.  That way you
1315
 
        don't have to keep typing in different passwords if you change
1316
 
        db's.
1317
 
 
1318
 
        * Code reorg: Cleaned up the main proc especially w.r.t. the
1319
 
        cookie-setting stuff.  Now all of the preference settings happen
1320
 
        at once, and there is only one 'switch' over all of the commands.
1321
 
        However, if you don't have cookies enabled I probably broke the
1322
 
        detection of this error.
1323
 
 
1324
 
1999-11-13  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1325
 
 
1326
 
        * New feature: Added a button to delete stored queries.
1327
 
        Patch by Robert Lupton the Good <rhl@astro.princeton.edu>.
1328
 
 
1329
 
        * Bug fix (get_mailto_link): MSIE users need special handling in
1330
 
        the mailto: link.
1331
 
        Patch by <ralph_pursifull@am.exch.hp.com>.
1332
 
 
1333
 
==========  gnatsweb 2.5 released ===================================
1334
 
 
1335
 
1999-10-16  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1336
 
 
1337
 
        * Bug fix: Attachment file names are now stripped of any path
1338
 
        elements, so that the browser doesn't prompt you to save,
1339
 
        e.g. c:\windows\system.ini
1340
 
 
1341
 
        * New feature: In the Query Results page, there is now an edit
1342
 
        link next to the view link, if you have edit priviledges.
1343
 
 
1344
 
1999-10-13  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1345
 
 
1346
 
        * New feature: If you have an "unknown" category, then gnatsweb
1347
 
        will use it as the default, and issue an error if somebody tries
1348
 
        to submit a PR with Category=unknown.
1349
 
        Patch by Robert Lupton the Good <rhl@astro.princeton.edu>.
1350
 
 
1351
 
1999-10-01  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1352
 
 
1353
 
        * Bug fix: When parsing a PR with a description field containing
1354
 
        From:, gnatsweb would erroneously save that as the originator's
1355
 
        email address.
1356
 
        Patch by Elgin Lee <ehl@terisa.com>.
1357
 
 
1358
 
1999-09-28  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1359
 
 
1360
 
        * Bug fix: For release-based gnats, "target" should have been
1361
 
        "quarter".
1362
 
 
1363
 
1999-09-24  Ken Cox  <kenstir@special-sauce.senteinc.com>
1364
 
 
1365
 
        * Bug fix (main): Gnatsweb was not handling failed logins
1366
 
        correctly.  Thanks to Robert Abatecola <robert@tsgus.com>
1367
 
        for the fix.
1368
 
 
1369
 
==========  gnatsweb 2.5 beta2 ======================================
1370
 
 
1371
 
1999-09-23  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1372
 
 
1373
 
        * Bug fix: An extra blank attachment was getting added during
1374
 
        edit.  Now it isn't.
1375
 
 
1376
 
        * New feature: Can now delete file attachments.
1377
 
 
1378
 
        * Enhancement: gnatsweb-site.pl can now set $site_post_max.
1379
 
        If this is set, and a post exceeds this limit, then gnatsweb will
1380
 
        fail with an error.  This prevents somebody from swamping your
1381
 
        server by attaching a huge file.
1382
 
 
1383
 
        * Enhancement: Now sets cookie only when the cookie values
1384
 
        change.  This makes it much less annoying for people who have
1385
 
        cookie prompting turned on.
1386
 
        Patch by Ronald J. Kimball <rkimball@vgi.com> and
1387
 
        Robert Abatecola <robert@tsgus.com>.
1388
 
 
1389
 
1999-09-20  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1390
 
 
1391
 
        * New feature: gnatsweb-site.pl can now override basic color
1392
 
        selections without using the complicated site_callback method.  I
1393
 
        do this so that I can tell visually when I'm running a test
1394
 
        version of gnatsweb and when I'm running the production version.
1395
 
        See $site_background, $site_banner_foreground,
1396
 
        $site_banner_background.
1397
 
 
1398
 
==========  gnatsweb 2.5 beta ======================================
1399
 
 
1400
 
1999-09-19
1401
 
 
1402
 
        * New feature: Experimental support for file
1403
 
        attachments in the Unformatted field.  Use MIME::Base64 package
1404
 
        because it makes life easy.  Looked at but did not use MIME-tools
1405
 
        for creating and parsing the attachments, because it required that
1406
 
        too many packages be installed (it contains 21 packages and it
1407
 
        requires 5 more).  For this to work you need CGI.pm-2.56 and
1408
 
        any version of MIME::Base64.
1409
 
 
1410
 
        This I consider this support experimental because
1411
 
            - it's tested, but not all that thoroughly
1412
 
            - it requires you to get new perl packages
1413
 
              CGI.pm-2.56
1414
 
              MIME::Base64
1415
 
            - there is as yet no way to delete file attachments
1416
 
            - uploading a big file can cause the appearance that gnatsweb
1417
 
              is hung.  I think a workaround is to set $CGI::POST_MAX
1418
 
              but I haven't tried it.
1419
 
 
1420
 
        * Enhancement: Added 'send email' link to edit page.  Used to be
1421
 
        present only on view page.
1422
 
 
1423
 
        * Enhancement: Added submit + reset buttons to top of
1424
 
        Create PR form.
1425
 
 
1426
 
        * Enhancement (test.pl): Die if loading gnatsweb.pl or
1427
 
        gnatsweb-site has errors.
1428
 
        Patch from Ronald J. Kimball <rkimball@vgi.com>
1429
 
 
1430
 
        * Enhancement (validate_email_field): Used regexp donated by
1431
 
        rkimball@vgi.com to allow @ in email addresses only if it's
1432
 
        followed by what looks more or less like a domain name.
1433
 
 
1434
 
        * Bug fix (submit_stored_query): Must use full (not relative) URL
1435
 
        in redirect, to work around bug interacting with Netscape
1436
 
        Enterprise Server 3.5.1.
1437
 
        Patch from Elgin Lee <ehl@terisa.com>.
1438
 
 
1439
 
        * Bug fix (initialize): Keyword query should have been 'kywd' not
1440
 
        'keyw'.
1441
 
        Patch from Elgin Lee <ehl@terisa.com>.
1442
 
 
1443
 
        * Bug fix (sendpr): Removed "CC" capability, as it was causing too
1444
 
        much confusion.  That field would only send a copy of the initial
1445
 
        PR, but wouldn't put you on the X-Gnats-Notify list; everyone here
1446
 
        thought it would. Now there are only "Reporter's email" and "CC
1447
 
        these people on PR status email".  Also, the latter list gets a
1448
 
        copy of the initial PR.  Hopefully that will clear up the
1449
 
        confusion.
1450
 
 
1451
 
        * Bug fix (sendpr): The X-Gnats-Notify field was not handling
1452
 
        lists of email addresses properly.  Now it is.
1453
 
        Patch from James Lin <james@jeditech.com>.
1454
 
 
1455
 
        * Bug fix (submitedit): Really fixed the following bug:
1456
 
        When sending mail, use email address in
1457
 
        responsible file as From, if present.
1458
 
        Reported by Jason Molenda <jsm@cygnus.com>.
1459
 
        Thanks, Carl Lindberg for pointing this out.
1460
 
 
1461
 
==========  gnatsweb 2.4 released ======================================
1462
 
 
1463
 
1999-07-27  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1464
 
 
1465
 
        * Enhancement?:  Added HTML help (gnatsweb.html) provided by Matt.
1466
 
        As yet, there is no way to get to this help file from within
1467
 
        gnatsweb.  A patch to do this would be appreciated.  Note that to
1468
 
        keep installation drop-dead simple, this HTML help should be
1469
 
        served up by gnatsweb itself, not installed in a separate file
1470
 
        (which for an Apache server would need to be installed into a
1471
 
        separate directory).
1472
 
 
1473
 
        * Requested enhancement: Use version number (not revision number)
1474
 
        on main page.
1475
 
 
1476
 
        * Bug fix (get_reply): Gnatsweb was mangling some gnatsd error
1477
 
        messages so as to make them ungrammatical.
1478
 
        Reported by Jason Molenda <jsm@cygnus.com>.
1479
 
 
1480
 
        * Bug fix (submitedit): When sending mail, use email address in
1481
 
        responsible file as From, if present.
1482
 
        Reported by Jason Molenda <jsm@cygnus.com>.
1483
 
 
1484
 
1999-06-25  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1485
 
 
1486
 
        * Requested enhancement:
1487
 
        (sendpr): Description text area is larger (8 lines) Environment is
1488
 
        smaller (2 lines).
1489
 
 
1490
 
        * Bug fixes:
1491
 
        (display_query_results): Carl Lindberg fixed a bug in the results
1492
 
        display when using apache + mod_perl.
1493
 
        (validate_email_field):  Carl Lindberg made a change to allow
1494
 
        non-qualified email addresses.
1495
 
 
1496
 
        * Speed enhancement:
1497
 
        Removed 'use POSIX' since it's not needed.
1498
 
 
1499
 
1999-06-13  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1500
 
 
1501
 
        * New feature:
1502
 
        The "send email to interested parties" link now includes in the
1503
 
        body of the message the URL which you can use to view the PR in
1504
 
        question.
1505
 
 
1506
 
        * Bug fix:
1507
 
        The "send email to interested parties" link is now properly URL
1508
 
        encoded.
1509
 
 
1510
 
1999-05-30  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1511
 
 
1512
 
        * Bug fix:
1513
 
        X-gnatsweb-version header was being thrown away by GNATS.  Changed
1514
 
        to `X-Send-Pr-Version: gnatsweb-$VERSION' so that it wouldn't be.
1515
 
        Reported by rickm.
1516
 
 
1517
 
1999-05-13  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1518
 
 
1519
 
        * Bug fix:
1520
 
        Replaced font() with $q->font() for old CGI.pm's.
1521
 
 
1522
 
==========  gnatsweb 2.3 released ======================================
1523
 
 
1524
 
1999-05-08  Ken Cox  <kenstir@special-sauce.senteinc.com>
1525
 
 
1526
 
        * Requested enhancement: Reporter's email address is now shown on
1527
 
        the view and edit pages.
1528
 
 
1529
 
        * Bug fixes:
1530
 
        (initialize): Fixed bug reported by Thomas A Peterson
1531
 
        <tap@htc.honeywell.com>:  If a user has logged in, then somebody
1532
 
        changes their gnatsd password, then gnatsweb got stuck; it would
1533
 
        try the old password without presenting the login screen.  Now for
1534
 
        the 'chdb' and 'user' commands, failure takes you to the login
1535
 
        screen.
1536
 
        (main): Use 'warn' to report compilation errors in
1537
 
        'gnats-site.pl'.  Previously these errors were not being reported
1538
 
        anywhere.
1539
 
        (everywhere): Use '$q->escapeHTML' instead of 'CGI::escapeHTML',
1540
 
        as the latter was not working for folks with old CGI.pm's.
1541
 
 
1542
 
        * Audit-Trail feature (submitedit): Since no conclusion was
1543
 
        reached on the gnats mailing list re: the redesigned Audit-Trail
1544
 
        format and how to change all of the programs to support it, I
1545
 
        implemented a gnatsweb-only feature.  In the site_callback you can
1546
 
        set a field's AUDITINCLUDE flag; if the flag is set then changes
1547
 
        in that field are recorded in the Audit-Trail.  Multitext fields
1548
 
        are indented when their old/new values are printed.  By default,
1549
 
        the only fields which have the AUDITINCLUDE flag set are
1550
 
        Responsible and State.
1551
 
 
1552
 
1999-04-25  Ken Cox  <kenstir@special-sauce.senteinc.com>
1553
 
 
1554
 
        * Bug fixes:
1555
 
        (interested_parties): Fixed notify problems reported by someone.
1556
 
        Since MLPR is not working as expected, do the work in this sub.
1557
 
        (trim_responsible): Fixed bug reported by Matt.  Don't lowercase
1558
 
        the Responsible name address, don't confuse Responsible with email
1559
 
        addresses.
1560
 
 
1561
 
        * View PR page: Display a mailto link for sending email to all
1562
 
        interested parties.
1563
 
 
1564
 
1999-04-21  Ken Cox  <kenstir@special-sauce.senteinc.com>
1565
 
 
1566
 
        * PR Notify lists: Now editors can add themselves to the list of
1567
 
        people who get notified when a PR changes state, by changing
1568
 
        "X-GNATS-Notify".  This is also available when creating a new PR.
1569
 
 
1570
 
        * New PR validation: submitnewpr() now performs more error
1571
 
        checking on a new PR before mailing it.
1572
 
 
1573
 
        * Bug fixes:
1574
 
        test.pl: Fixed tests so that they don't fail for lines beginning
1575
 
        with '.'.  RickM #22.
1576
 
        (initialize): Removed 'pending' from category list.
1577
 
        (submitedit): No longer gives an error if it trims old-style
1578
 
        'Responsible: kenstir (Ken Cox)' to 'Responsible: kenstir'.
1579
 
        (praddr): Patch from Carl to support blank responsible field.
1580
 
 
1581
 
1999-04-17  Ken Cox  <kenstir@special-sauce.senteinc.com>
1582
 
 
1583
 
        * Better test harness: Does query, then uses those PR's for
1584
 
        parsepr/unparsepr test.
1585
 
 
1586
 
        * In email notifications, include database name in URL.
1587
 
 
1588
 
==========  gnatsweb 2.2 released ======================================
1589
 
 
1590
 
1999-04-17  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1591
 
 
1592
 
        * site_callback: New reason 'initialize', lets the site_callback
1593
 
        muck with the global data structures if desired.
1594
 
        Suggested by Carl_Lindberg@BLaCKSMITH.com.
1595
 
 
1596
 
        * Advanced Query page:
1597
 
        - Added reset button.  RickM #8.
1598
 
        - Sort category, submitter_id, responsible lists.  RickM #5.
1599
 
        - Reordered date queries on Advanced Query page, as requested by
1600
 
        RickM #6.
1601
 
        - Added GNATS_RELEASE_BASED date queries.
1602
 
 
1603
 
        * Create PR page: Submitter-Id and Originator are now visible;
1604
 
        Submitter-Id is treated as an enumerated field.  Both are
1605
 
        remembered via the cookie.
1606
 
 
1607
 
        * Misc fixes:
1608
 
        - New PR no longer escapes leading '.' characters.  RickM #23.
1609
 
        - No more blank cells in query results table.
1610
 
        - Check 2 common places for sendmail, before bombing
1611
 
        out with a helpful message.  Fixes reports of gnatsweb install
1612
 
        trouble on solaris.
1613
 
        - Can now display and sort by Confidential, Release, Submitter-Id.
1614
 
        RickM bug #3, #10.
1615
 
 
1616
 
        * Use scrolling_list instead of checkbox_group on query page.  Was
1617
 
        beginning to have too many unaligned checkboxes.
1618
 
 
1619
 
        * New $site_release_based var controls display of fields added by
1620
 
        compiling gnats with -DGNATS_RELEASE_BASED
1621
 
        Incorporates spirit of patches by Paul Traina <pst@juniper.net>.
1622
 
 
1623
 
1999-04-14  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1624
 
 
1625
 
        * gnatsweb.pl: Replaced CGI function calls with method
1626
 
        invocations, e.g. Tr() with $q->Tr().  This is more in keeping
1627
 
        with mg's style, and clears up problems which Martin Apel
1628
 
        <apel@tecmath.de> had using perl 5.004_04.
1629
 
 
1630
 
1999-04-13  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1631
 
 
1632
 
        * gnatsweb.pl (view): Only print 'edit' button on View page if
1633
 
        user can edit.  RickM bug #1.
1634
 
 
1635
 
1999-04-12  Kenneth H. Cox  <kenstir@abraham.senteinc.com>
1636
 
 
1637
 
        * gnatsweb.pl (submitedit): Don't complain if you can't get the
1638
 
        email address of the old Responsible; it may have been invalid, or
1639
 
        they may have left the company.
1640
 
        Reported by Carl_Lindberg@BLaCKSMITH.com.
1641
 
        (edit): When editing a PR, trim Responsible field as if it were an
1642
 
        email address  Carl reports that his PR's from gnats 3.2 look this
1643
 
        way.
1644
 
        (sendpr, edit): Shift 'all' off of @responsible and @state.
1645
 
        Reported by Carl.
1646
 
 
1647
 
==========  gnatsweb 2.1 released ======================================
1648
 
 
1649
 
* Fixed Advanced Query page: multi-selection listboxes weren't working;
1650
 
was querying for "|kenstir".  Patch suggested by
1651
 
Carl_Lindberg@BLaCKSMITH.com.
1652
 
 
1653
 
* site_callback() extended.  Now called for additional reasons:
1654
 
        page_footer --   can print extra stuff near the bottom of the
1655
 
                         page, e.g. to add buttons on the view page
1656
 
        page_end_html -- can extend the absolute end of the page
1657
 
Requested by Carl_Lindberg@BLaCKSMITH.com.
1658
 
 
1659
 
* --- INCOMPATIBILE CHANGES to site_callback() ---
1660
 
  - When the $reason is 'page_heading', the argument list is different.
1661
 
    See gnatsweb-site-sente.pl for example.  Changed for consistency.
1662
 
  - No need for reason 'view_postlude'; can be done with 'page_footer'.
1663
 
 
1664
 
Changes in 2.0:
1665
 
 
1666
 
* Stored queries.
1667
 
 
1668
 
* Query results can be sorted by clicking on a column heading.
1669
 
 
1670
 
* Advanced query page for access to full power of gnats.
1671
 
 
1672
 
* Integrated with Matt Gerassimoff's "gnats.pl" for gnatsd hipness.