-
Notifications
You must be signed in to change notification settings - Fork 3
/
CHANGES.txt
1369 lines (1233 loc) · 61.9 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file contains the changes to the Roundup system over time. The entries
are given with the most recent entry first.
2004-05-17 0.7.2
Fixed:
- anydbm sorting with None values (sf bug 952853)
- roundup-server -g option not recognised (sf bug 952310)
- HTML templating isset() inverted (sf bug 951779)
- otks manager missing (sf bug 952931)
- mention DEFAULT_TIMEZONE requirement in upgrading doc (sf bug 952932)
- fix DateHTMLProperty so local() can override user timezone (sf bug
953678)
- fix anydbm sort/group direction handling, and make RDBMS sort/group use
Link'ed "order" properties (sf bug 953148)
- fix Interval editing (sf bug 954891)
2004-05-07 0.7.1
Fixed:
- several temp files made it into the source distribution (sf bug 949243)
- typo in roundup/instance.py
- missing CRLF var in rfc822.py (sf patch 949471)
- fix user creation page
- have roundup server pass though the cause of a "403 Forbidden" response
- fix schema mutation in sqlite backends (thanks Tamer Fahmy)
- make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
- fix RDBMS import (thanks Tamer Fahmy)
2004-05-06 0.7.0
Fixed:
- sqlite migration drops some journal information (thanks David Linke)
- user editing Role entry help text always appears
- disable forking server when os.fork() not available (sf bug 938586)
- removed Boolean from source to make py <2.3 happy (sf bug 938790)
- fix nested scope bug in rdbms multilink sorting
- re-seed the random number generator for each request
- postgresql backend altered to not use popen (thanks Georges Martin)
- fixed journal marshalling in RDBMS backends (sf bug 943627)
- fixed handling of key values starting with numbers (sf bug 941363)
- fixed journal "param" column size in RDBMS backends
- fixed static file serving
- fixed rego from email address (sf bug 947414)
- fixed sqlite journal ordering issue
- fixed mysql date range filtering
2004-04-18 0.7.0b3
Feature:
- added a favicon
- added url_quote and html_quote methods to the utils object
- added isset method to HTMLProperty
- database export now exports full journals too
- tracker name at end of page title (sf rfe 926840)
- roundup-server now uses the ForkingMixin
- added another sample detector "creator_resolution"
- added search_checkboxes as an option for the search form
- added IMAP support to mail gateway (sf rfe 934000)
- check MANIFEST against the files actually unpacked
- roundupdb nosymessage() takes an optional bcc list
Fixed:
- mysql and postgresql schema mutation now handle added Multilinks
- web CSV export was busted (as was any action returning a result)
- MultiMapping deviated from the Zope C implementation in a number of
places (thanks Toby Sargeant)
- MySQL and Postgresql use BOOL/BOOLEAN for Boolean types
- OTK generation was busted (thanks Stuart D. Gathman)
- export and import now include journals (incompatible with export < 0.7)
- added "download_url" method to generate a correctly quoted URL for file
download links (sf bug 927745)
- all uses of TRACKER_WEB now ensure it ends with a '/'
- roundup-admin install checks for existing tracker in target home
- grouping (and sorting) by multilink in RDBMS backends (sf bug 655702)
- roundup scripts may now be asked for their version (sf rfe 798657)
- sqlite backend had stopped using the global lock
- better check for anonymous viewing of user items (sf bug 933510)
- stop Interval from displaying an empty string (sf bug 934022)
- fixed storage of some datatypes in some RDBMS backends
2004-03-27 0.7.0b2
Feature:
- added CSV export to index pages
- added emailauditor.py which works around a bug in IE. See
"detectors/emailauditor.py" for more info.
- added dispatcher functionality - see upgrading.txt for more info
- added Reject exception which may be raised by auditors. This is trapped
by mailgw and may be used to veto creation of file attachments or
messages. (sf bug 700265)
- queries on a per-user basis, and public queries (sf "bug" 891798 :)
- added DEFAULT_TIMEZONE (sf rfe 895139)
- added HTML page template to the templating context as "template"
- added is_retired to HTMLItems in templating
Fixed:
- Boolean, Date and Link HTML templating was broken
- fix reporting of test inclusion in postgresql test
- EditAction was confused about who "self" was
- edit collision detection was broken for index-page edits
- sqlite backend wasn't migrating multilink tables correctly
- use SimpleCookie instead of Cookie (is an alias for the evil SmartCookie)
- handle older sessions in session dbm
- make presetunread more resilient to status Class changes
- HTMLDatabase classes() was broken
2004-03-24 0.7.0b1
Major new features:
- added postgresql backend (originally from sf patch 761740, many changes
since)
- added new "actor" automatic property (indicates user who cause the last
"activity")
- RDBMS backends implement their session and one-time-key stores and
full-text indexers; thus they are now performing their own locking
internally
- all RDBMS backends now have indexes on several columns
- support confirming registration by replying to the email (sf bug 763668)
- all HTML templating methods now automatically check for permissions
(either view or edit as appropriate), greatly simplifying templates
Other new features:
- simple support for collision detection (sf rfe 648763)
- support setgid and running on port < 1024 (sf patch 777528)
- using Zope3's test runner now, allowing GC checks, nicer controls and
coverage analysis
- change nosymessage and send_message to accept msgid=None (RFE #707235)
- handle Resent-From: headers (sf bug 841151)
- always sort MultilinkHTMLProperty in the correct order, usually
alphabetically (sf feature 790512)
- added script for copying user(s) ("scripts/copy-user.py") from tracker
to tracker (sf patch 828963)
- ignore incoming email with "Precedence: bulk" (sf patch 843489)
- use HTTP 'Content-Length' header (modified sf patch 844577)
- HTML generated is now HTML4 (or optionally XHTML) compliant (sf feature
814314 and sf patch 834620)
- default stylesheet turns off sidebar when printing
- allow direct supply of filter() arguments in templating (thanks Godefroid
Chapelle)
- improved body_title slot in HTML templating (sf patch 873502)
- HTMLLinkProperty field() method renders as a field now (thanks darryl)
- cgi Action handlers may now return the actual content to be sent back to
the user (rather than using some template)
- date.Date now handles fractional seconds
Fixed:
- mysql documentation fixed to note requirement of 4.0+ and InnoDB
- added testing of schema mutation, fixed rdbms backends handling of a
couple of cases
- HTML 4.01 validation on the 'classic' backend
- messages to the mailgw can be about classes other than issues now.
- signature matching is more precise (sf bug 827775).
- anonymous user can no longer edit or view itself (sf bug 828901).
- corrected typo in installation.html (sf bug 822967).
- clarified listTemplates docstring.
- print a nicer error message when the address is already in use
(sf bug 798659).
- remove empty lines before sending strings off to the csv parser
(sf bug 821364).
- centralised conversion of user-input data to hyperdb values (sf bug
802405, sf bug 817217, sf rfe 816994)
- recalculate SHA on template files when installed tracker used as
template (sf bug 827510)
- fixed ZRoundup (sf bug 624380)
- the mail gateway now searches recursively for the text/plain and the
attachments of a message (sf bug 841241).
- fixed display of feedback messages in some situations (sf bug 739545)
- fixed ability to edit "content" property (sf bug 914062)
Cleanup:
- replace curuserid attribute on Database with the extended getuid() method
- extract a new 'mailer' module for sending mail
- extract a '_send_mail' method for testing mail sending
- simplify backend importing
- use roundup_server in demo.py
- implement newItemAction using editItemAction
- use FormError in client.py, moving the handling up to inner_main()
- implemented semantic comparison of Message objects in test_mailgw
- tidied up forms in default stylesheet
- force textareas to use monospace fonts, lessening surprise on the user
- moved out parts of client.py to new modules:
* actions.py - the xxxAction and xxxPermission functions refactored into
Action classes
* exceptions.py - all exceptions
* form_parser.py - parsePropsFromForm & extractFormList in a FormParser
class
2004-??-?? 0.6.9
Fixed:
- paging in classhelp popup was broken
- socket timeout error logging can fail
- hyperlink designators in message display (sf bug 931828)
- don't match retired items in RDBMS stringFind
2004-04-01 0.6.8
Fixed:
- existing trackers (ie. live ones) may be used as templates for new
trackers - the TEMPLATE-INFO.txt name entry has the tracker's dir name
appended (so the demo tracker's template name is "classic-demo")
- handle bad multilink input at item creation time better (sf bug 917834)
- make sure email signature starts on a newline (sf bug 919759)
- add line to rego email to help URL detection (sf bug 906247)
- look harder for text/plain in email
- fixed fallback excel writer in rcsv so it has a delimiter
- fixed setup.py's use of listTemplates (!)
- make rdbms serialise() less trusting
- handle Boolean values in history HTML display
2004-03-01 0.6.7
Fixed:
- be more backward-compatible when asking for EMAIL_CHARSET
- made error on create consistent with edit when user enters invalid data
for Multilink and Link form fields (sf bug 904072)
- made errors from bad input in the quick "Show issue:" form more
user-friendly (sf bug 904064)
- don't add a query to a user's list if it's already there
- nicer invalid property error in HTML templating
- use EMAIL_CHARSET for message body too (still sf bug 900046)
2004-02-25 0.6.6
Fixed:
- don't insert spaces into designators, it just confuses users (sf bug
898087)
- Eudora can't handle utf-8 headers. We love Eudora. (sf bug 900046)
- fixed bug in args to new DateHTMLProperty in the local() method (sf bug
901444)
- fixed registration (sf bug 903283)
- also changed rego to not use a 302 during confirmation, as this seems to
confuse some email clients or browsers.
2004-02-16 0.6.5
Fixed:
- mailgw handling of subject-line errors
- allow serving of FileClass file content when the class isn't called
"file" (eg. messages and other FileClasses)
- allowed negative ids (ie. new item markers) in HTMLClass.getItem,
allowing "db/file_with_status/-1/status/menu" to generate a useful
widget
- fixed content-type when templates are serving up xml (thanks Godefroid
Chapelle)
- fixed IE double-submit when it shouldn't (sf bug 842254)
- fixed check for JS pop()/push() to make more general (sf bug 877504)
- fix re-enabling queries (sf bug 861940)
- use supplied content-type on file uploads before trying filename)
- fixed roundup-reminder script to use default schema (thanks Klamer Schutte)
- fixed edit action / parsePropsFromForm to handle index-page edits better
- safer logging from HTTP server (sf bug 896917)
2003-12-17 0.6.4
Fixed:
- fixed date arithmetic to not allow day-of-month == 0 (sf bug 853306)
- fixed date arithmetic to limit hours-per-day to 24, not 60
- hard-coded python2.3-ism (socket.timeout) fixed
- fixed activity displaying as future because of Date arithmetic fix in 0.6.3
(sf bug 842027).
- fix Windows service mode for roundup-server (sf bug 819890)
- fixed #white in cgitb (thanks Henrik Levkowetz)
2003-11-14 0.6.3
Fixed:
- fixed detectors fix incorrectly fixed in bugfix release 0.6.2
- added note to upgrading doc for detectors fix in 0.6.2
- added script to help migrating queries from pre-0.6 trackers
- fixed "documentation" of getnodeids in roundup.hyperdb
- added flush() to DevNull (sf bug 835365)
- fixed javascript for help window for only one checkbox case
- date arithmetic was utterly broken, and has been for a long time.
Date +/- Interval now works, and Date - Date also works (produces
an Interval.
- handle socket timeout exception (thanks Marcus Priesch)
- fixed retirement of items in rdbms imports (sf bug 841355)
- fixed bug in looking up journal of newly-created items in *dbm backends
2003-09-29 0.6.2
Fixed:
- cleaned up, clarified internal caching API in *dbm backends
- stopped pyc writing to current directory! yay! (patch 800718 with changes)
- fixed file leak in detector initialisation (patch 800715)
- commented out example tracker homes (patch 800720)
- added note about hidden :template var in user.item (bug 799842)
- fixed Apply Error that was raised, when property was deleted from class and
we are trying to edit an instance
2003-08-31 0.6.1
Fixed:
- Add note about installing cgi-bin with a different interpreter
- Importing wasn't setting None values explicitly when it should have been
- Fixed import warning regarding 0xffff0000 literal, finally, really this
time. Checked on win2k. (sf bug 786711)
- fix CGI editCSV action to handle metakit's integer itemids
- apply fix for "remove" links from Klamer Schutte
- added permission check on "remove" link while I was there..
- applied CSV fix for python2.3 (sf bug 790363)
- fixed form padding in LHS menu (sf bug 790502)
- fixed upgrading docs for timezones (sf bug 790498)
- set the content type on page templates (can have XML templates now)
- various cosmetic fixes (thanks James Kew for being persistent :)
- applied patch 739314 (sorry John!)
2003-08-08 0.6.0
- Fixed editing attributes on FileClass nodes.
- Query editing now works correctly (sf bug 621248)
- roundup-server now logs IP addresses by default (sf bug 778795)
- logfile must be specified if pidfile is (sf bug 772820)
- timelog editing via csv interface crashes (sf bug 699837)
- sort multilinks a little better for grouping (sf bug 772935)
- batch the (list) listings at 500 entries per page (sf bug 759906)
- don't have RDBMS backends list retired nodes (sf bug 767319)
- fix file downloading
- add action attribute to issue.item form tag
2003-07-29 0.6.0b4
- plugged cross-site-scripting hole (thanks Jeff Epler)
- handle deprecation of FCNTL in python2.2+ (sf bug 756756)
- handle missing Subject: line (sf bug 755331)
- fix New User creation (sf bug 754510)
- fix hackish message escaping (sf bug 757128)
- fix :required ordering problem (sf bug 740214)
- audit some user properties for valid values (roles, address) (sf bugs
742968 and 739653)
- fix HTML file detection (hence history xref linking) (sf bug 741478)
- session database caches it's type, rather than calling whichdb each time
around.
- changed rdbms_common to fix sql backends for new Boolean types under Py2.3
2003-06-10 0.6.0b3
Fixed:
- cgi client was broken during b2 fixing
2003-06-09 0.6.0b2
Feature:
- added the start/stop/restart/condstart/status roundup-server control
script
Fixed:
- handle non-existant demo dir (thanks Ollie Rutherfurd)
- strip whitespace from Role names so "User, Admin" will work
- fixed template searching on Windows (thanks J Vickroy)
2003-05-09 0.6.0b1
Removed:
- having served its purpose as a template for other relational database
implementations, the gadfly backend has now been removed from the Roundup
distribution.
Feature:
- new instant-gratification Demo Mode
- support setting of properties on message and file through web and
email interface (thanks John Rouillard)
- allow additional control over the roundupdb email sending (explicit
cc addresses, different from address and different nosy list property)
(thanks John Rouillard)
- applied patch for nicer history display (sf feature 638280)
- cleaning old unused sessions only once per hour, not on every cgi
request. It is greatly improves web interface performance, especially
on trackers under high load
- added mysql backend (see doc/mysql.txt for details)
- switch metakit to use "compressed" multilink journal change representation
- metakit now handles "unset" for most types (not Number and Boolean)
- fixed bug in metakit search-by-ID
- added ability to display localized dates in web interface. User input is
convered to GMT (see doc/upgrading.txt).
- added a form to show a specific issue
- more proper sorting/grouping on mulitilink properties. Sorting is performed
not only by number of links, but also by links itself. This makes usable
grouping e.g. by topic multilink
- add "ago" to intervals in the past (sf bug 679232)
- included UN*X manual pages from Bastian Kleineidam
- implemented extension to form parsing to allow editing of multiple items
and creation of multiple items (but only one per class)
- the colon ":" special form variable designator may now be any of : + @
- trackers' templates directory can contain subdirectories with static files
(e.g. images). They are accessible naturally: _file/images/img.gif
- altered Class.create() and FileClass.create() methods to make "content"
property available in auditors
- can now configure CC to author only for messages creating issues (sf
feature 625808)
- registration is now a two-step process, with confirmation from the email
address supplied in the registration form
- added password reset feature for forgotten password / login
- added support for last-modified and if-modified-since headers for static
file serving
- added Node.get() method
- nicer page titles (sf feature 65197)
- relaxed CVS importing (sf feature 693277)
- added support for searching on ranges of dates and intervals (see
doc/user_guide.txt in chapter "Searching Page" for details) (closes sf
feature 700178)
- role names made case insensitive
- added ability to restore retired nodes
- more lenient date input and addition Interval input support (sf bug 677764)
- roundup mailgw now handles apop
- implemented ability to search for multilink properties with no value
- Class.find() may now find unset Links (sf bug 700620)
- more flexibility in classhelp link labelling (sf feature 608204)
- added command-line functionality for roundup-admin (sf feature 687664)
- added nicer popup windows for topic, nosy, etc (has add/remove buttons)
thanks Gus Gollings
- HTML templating files now have a .html extension
- Roundup templates are now distributed much more sanely, allowing for
3rd-party templates.
- extended date syntax to make range searches even more useful
- SMTP login and TLS support added (sf bug 710853 with extras ;)
Note: requires python 2.2+
- added Windows Service mode for roundup-server when daemonification is
attempted on Windows.
- sort HTMLClass.properties results by name (sf feature 724738)
- nicer index navigation (sf feature 676866)
Fixed:
- applied unicode patch. All data is stored in utf-8. Incoming messages
converted from any encoding to utf-8, outgoing messages are encoded
according to rfc2822 (sf bug 568873)
- fixed layout issues with forms in sidebar
- fixed timelog example so it handles new issues (sf bug 678908)
- handle missing os.fork() (sf bug 681046)
- added warning filter for "FutureWarning: hex/oct constants > sys.maxint will
return positive values..." (literal 0xffff0000 in portalocker.py)
- fixed ZPT code generating SyntaxWarning for assignment to None
- open static files using binary mode (sf bug 693208)
- fixed deja-vu bug 692910
- don't display "Editing" on read-only pages (sf bug 651967)
- re-worked detectors initialisation - woohoo, no more cross-importing!
- fixed export/import of retired nodes (sf bug 685273)
- remember the display template specified during edit (sf bug 701815)
- added example HTML tempating for vacation flag (sf bug 701722)
- finally, tables autosize columns (sf bug 609070)
- added creation to index columns (sf bug 708247)
- fixed missing (pre-commit) journal entries in *dbm backends (sf bug 679217)
- URL cited in roundup email confusing dumb Email clients (sf bug 716585)
- set title on issues even when the email body is empty (sf bug 727430)
- under the heading of "questionable whether it's a fix or not"
(sf "bug" 621226 for the users of the "standards compliant" browser IE)
2003-05-08 0.5.7
- fixed Interval maths (sf bug 665357)
- fixed sqlite rollback/caching bug (sf bug 689383)
- fixed rdbms table update detection logic (sf bug 703297)
- fixed detection of bad date specs (sf bug 691439)
- required String properties not being flagged (thanks Ajit George)
- only look for CSV files when importing (thanks Dan Grassi)
- can now unset values in CSV editing (sf bug 704788)
- fixed rdbms email address lookup (case insensitivity)
- email file attachments added to issue files list (sf bug 711501)
- added socket timeout to attempt to prevent stuck processes (sf bug 665487)
- email registered users shouldn't be able to log in (sf bug 714673)
- handle missing addresses on users (sf bug 724537)
2003-02-27 0.5.6
- fixed templating filter function arguments (sf bug 678911)
- fixed multiselect in searching (sf bug 676874)
- fixed parsing of content-disposition filenames (sf bug 675116)
- added 'h' to roundup-server optarg list (sf bug 674070)
- fixed doc for db.history in anydbm and rdbms_common (sf bug 679221)
- fixed roundup-reminder (sf bug 681042)
- fixed int assumptions about Number values (sf bug 677762)
- clarified licensing
- another attempt to fix cookie misbehaviour - customise cookie name using
tracker name
- fixed error in indexargs_url (thanks Patrick Ohly)
- fixed getnode (sf bug 684531)
- fixed args to some date templating methods (sf bug 689670)
- fixed database corruption in rdbms property mutation
2003-01-24 0.5.5
- fixed rdbms searching by ID (sf bug 666615)
- fixed metakit searching by ID
- detect corrupted index and raise semi-useful exception (sf bug 666767)
- open server logfile unbuffered
- revert StringHTMLProperty to not hyperlink text by default
- fixes to CGI form handling
- fix unlink bug in metakit backend
- fixed hyperlinking ambiguity (sf bug 669777)
- fixed cookie path to use TRACKER_WEB (sf bug 667020) (thanks Nathaniel Smith
for helping chase it down and Luke Opperman for confirming fix)
2003-01-10 0.5.4
- key the templates cache off full path, not filename
- implemented whole-database locking
- hyperlinking of special text (url, email, item designator) in messages
- fixed time default in date.py
- fixed error in cgi/templates.py (sf bug 652089)
- fixed handling of missing password (sf bug 655632)
- applied patches for handling Outlook quirks (thanks Andrey Lebedev)
(multipart/alternative, "fw" and content-type "name")
- fire auditors and reactors in rdbms retire (thanks Sheila King)
- better match for mailgw help "command" text
- handle :add: better in cgi form parsing (sf bug 663235)
- handle all-whitespace multilink values in forms (sf bug 663855)
- fixed searching on date / interval fields (sf bug 658157)
- fixed form elements names in search form to allow grouping and sorting
on "creation" field
- display of saved queries is now performed correctly
2002-12-11 0.5.3
- added mention of how to give users multiple Roles
- mention needed trailing "/" in TRACKER_WEB
- fixed upgrading doc to have CGI changes in the correct order
- fixed double-close of anydbm backend (sf bug 639030)
- removed use of string/strop from TAL/TALInterpreter
- handle KeyboardInterrupt nicely
- fixed Date and Interval form value handling
- fixed Date.local()
- email quoted text stripping is controllable again (sf bug 650742)
- extract attachment name from content-disposition if name is missing (sf
bug 637278)
- removed FILTER_POSITION from bundled configs
- reverse message listing in issue display (reversion of recent change)
- bad entries for multilink editing in cgi don't traceback now (sf bug 640310)
- detect and break email loops (sf bug 640854)
- finished of handling of retired flag in filter() (sf bug 635260)
- allow StringHTMLProperty in MultilinkHTMLProperty test to work
- don't set explicit None Link properties in web create
- fixed nasty sorting bug that was lowercasing properties
- allow multiple :remove and :add elements per property being edited
- added date header to emails (sf bug 651358)
2002-11-07 0.5.2
- added quotes around python interpreter in windows bat (sf bug 623963)
- fixed link at end of installation doc (sf bug 623957)
- handle "classname" URL path errors cleaner (generate a 404)
- added CGI :remove:<propname> and :add:<propname> which specify item ids to
remove / add in <propname> multilink.
- bugfix in boolean templating
- remember the change note on bad submissions (sf bug 625989)
- highlight required form fields (sf bug 625989)
- force non-word boundary to match re: in subject (sf bug 626303)
- handle sqlite bug (<2.7.2) (sf bug 630828)
- handle missing props in anydbm stringFind
- updated email package address formatting (deprecation)
- copied email address quoting from email v2.4.3 so we're consistent with 2.2
- email summary extraction now takes the first whole sentence or line -
whichever is longer
- documented dependency on Active State (sf bug 623959)
- ensured there's no zero-length files in source (sf bug 633622)
- added ID to the search page (sf bug 631601)
- fixed filtering by id in anydbm
- show issue ID in the headings (sf bug 631598)
- show entire messages by default in issues (sf bug 625995)
- fixed journalling to save old values instead of new (sorry it took so long GM)
- handle missing REQUEST_URI for cgi-bin users (sf bug 620163)
2002-10-16 0.5.1
- highlight rows in groups of three
- metakit cleanups
- nicer "navigation" style in index views
- handle missing Link values in anydbm backend set() operation
- fixed filter() with no sort/group (sf bug 618614)
- fixed register with no session (sf bug 618611)
- fixed log / pid file path handling in roundup-server (sf bug 617981)
- fixed old gadfly compatibiltiy problem, for sure this time (sf bug 612873)
- https URLs from config now recognised as valid (sf bug 619829)
- nicer display of tracker list in roundup-server (sf bug 619769)
- fixed some missed renaming instance -> tracker (sf bug 619769)
- allow blank passwords again (sf bug 619714)
- expose the tracker config as a variable for templating
- homogenise newlines in CGI text submissions (sf bug 614072)
- merged Zope Collector #372 fix from ZPT CVS trunk
- fixed history to display username instead of userid
- shipped templates didn't import all hyperdb types in dbinit.py
- fixed bug in Interval serialisation
- handle "unset" status in status auditor (sf bug 621250)
- issues in 'done-cbb' are now also moved to 'chatting' on new messages
- implemented the missing Interval.__add__
- added ability to implement new templating utility methods
- expose the Date.pretty method to templating
- made form table cell alignment consistent (sf bug 621887)
- include stylesheet in docs (sf bug 623183)
- store PIPE messages so we can re-send them on errors (sf bug 623082)
- implemented "retire" cgi action, added to user index (sf bug 618612)
- included doc ideas from Bernhard Reiter (sf feature 621941)
2002-10-02 0.5.0
- fixed style for alternating rows in user lists
- fixed query edit form so it doesn't barf
- #617133 ] 0.5.0pr1 uses nonexistent renderTemplate
- merged Zope Collector #539 fix from ZPT CVS trunk
2002-09-27 0.5.0 pr1
- handling of None for Date/Interval/Password values in export/import
- handling of journal values in export/import
- password edit now has a confirmation field
- registration error punts back to register page
- gadfly backend now handles changes to the schema - but only one property
at a time
- cgi.client base URL is now obtained from the config TRACKER_WEB
- request.url has gone away - there's too much magic in trying to figure
what it should be
- cgi-bin script redirects to https now if the request was https
- FileClass "content" property wasn't being returned by getprops() in most
backends
- we now verify instance attributes on instance open and throw a useful error
if they're not all there
- sf 611217 ] menu() has problems when labelprop==None
- verify contents of tracker module when the tracker is opened
- many performance improvements in *dbm and sql backends
- mailgw was missing an "import sys"
- setup now installs scripts with python -O flag, doubling performance in some
cases (there's a lot of __debug__ use)
- fix :required for Link menus
- import wasn't setting the ID to maxid+1
- added getItem to HTMLClass so you can access arbitrary items in templates
- index filtering form values may now be key values too
- replaced the content() callback ickiness with Page Template macro usage
- changed the default CSS style to be less offensive to some ;)
- better handling of Page Template compilation errors
- handle multiple unrelated indexed classes
- #614188 ] Exception in mailgw.py
- #613310 ] traceback on onexistant items
- #613291 ] typos in nosy list
- handle stupid mailers that QUOTE their Re; 'Re: "[issue1] bla blah"'
- giving a user a Role that doesn't exist doesn't break stuff any more
- revamped user guide, customisation guide, added maintenance guide
- merge Zope Collector #538 fix from ZPT CVS trunk (path expressions with a
non-path final alternate no longer try to call a value returned by that
alternate)
- merge Zope Collector #573 fix from ZPT CVS trunk
- merge Zope Collector #580 fix from ZPT CVS trunk
- added "crypt" password encoding and ability to set password with
already encrypted password through roundup-admin
- fixed the mailgw so that anonymous users may still access it
- add hook to allow external password verification, overridable in the
tracker interfaces module
- fixed login attempt by user that doesn't exist
2002-09-13 0.5.0 beta2
- all backends now have a .close() method, and it's used everywhere
- fixed bug in detectors __init__
- switched the default issue item display to only show issue summary
(added instructions to doc to make it display entire content)
- MANIFEST.in was missing a lot of template files
- added generic item editing
- much nicer layout of template rendering errors
- added context/is_edit_ok and context/is_view_ok convenience methods and
implemented use of them in the classic template
2002-09-11 0.5.0 beta1
Fixed:
- #576086 ] dumb copying mistake (frontends/ZRoundup.py)
- installation instructions now mention "python2" in "testing your python".
- made the unit tests run again - they were quite b0rken
- #571170 ] gdbm deadlock
- #576241 ] MultiLink problems in parsePropsFromForm
- fixed the date module so that Date(". - 2d") works
- web forms may now unset Link values (like assignedto)
- cleanup: moved roundup.templatebuilder to roundup.templates.builder
- instance __init__ no longer silently traps dbinit import errors
Feature:
- new backend for metakit (thanks Gordon McMillan)
- new backend for gadfly (it's as done as it's going to get)
- further split the dbm backends from the core code, allowing easier
non-dict-like backends (eg metakit, RDB)
- implemented and used the new access control mechanisms (Permissions, Roles)
(see doc/security.txt)
- switched templating to use Zope's PageTemplates (yay!)
- switched to sessions for web authentication
- added Boolean and Number types
- fixed the journal bloat
- updated design document for new access controls
- updated customisation document, including more examples
- entire database export and import (incl files)
- better mailgw help message (feature request #558562)
- re-enabled link backrefs from messages (feature request #568714)
- the page layout is now templatable
- re-worked cgi interface to abstract out the explicit "issue" interface
- have index page handle mid-page errors better so header and footer are
still visible
- we handle "not found", access and item page render errors better
- fixed double-submit by having new-item-submit redirect at end
- daemonify roundup-server (fork, logfile, pidfile)
- modify cgitb to display PageTemplate errors better
- rename to "instance" to "tracker"
- have roundup.cgi pick up tracker config from the environment
- revamped look and feel in web interface
- cleaned up stylesheet usage
- several bug fixes and documentation fixes
- added is_retired test to hyperdb.Class
- added capability to save queries:
- a query Class with name, klass (to search) and url (query string)
properties
- a Multilink to query on user called queries
- html templates for query, and a list of queries in user.item
- search form has Save button & name input
- saved queries put in menu in pagehead
- for migration, none of the above is required and old behavior preserved.
- showquery translates search form <-> query string
- cleaned up the indexer code:
- it splits more words out
- removed code we'll never use (roundup.roundup_indexer has the full
implementation, and replaces roundup.indexer)
- only index text/plain and rfc822/message (ideas for other text formats to
index are welcome)
- added simple unit test for indexer. Needs more tests for regression.
- all String properties may now be indexed too. Currently there's a bit of
"issue" specific code in the actual searching which needs to be
addressed. In a nutshell:
+ pass 'indexme="yes"' as a String() property initialisation arg, eg:
file = FileClass(db, "file", name=String(), type=String(),
comment=String(indexme="yes"))
+ the comment will then be indexed and be searchable, with the results
related back to the issue that the file is linked to
- as a result of this work, the FileClass has a default MIME type that may
be overridden in a subclass, or by the use of a "type" property as is
done in the default templates.
- the regeneration of the indexes (if necessary) is done once the schema is
set up in the dbinit.
- new "reindex" command in roundup-admin used to force regeneration of the
index
- added email display function - mangles email addrs so they're not so easily
scraped from the web
- switched to using a session-based web login
- made mailgw handle set and modify operations on multilinks (bug #579094)
- fixed the journal bloat from multilink changes - we just log the add or
remove operations, not the whole list
2002-06-24 0.4.2
Fixed:
- Cleaned up the hyperdb unit tests.
- Applied patch from Andrew W. Nosenko to give nicer Unauthorised message
when anonymous user tries to edit. Should've been applied in 0.4.2pr1. Oops.
- Added more detailed note to MIGRATION regarding the detectors changes.
2002-06-19 0.4.2pr1
Feature:
- added a "detectors" directory for people to put their useful auditors and
reactors in. Note - the roundupdb.IssueClass.sendmessage method has been
split and renamed "nosymessage" specifically for things like the nosy
reactor, and "send_message" which just sends the message.
- link() htmltemplate function now has a "showid" option for links and
multilinks. When true, it only displays the linked node id as the anchor
text. The link value is displayed as a tooltip using the title anchor
attribute.
To use in eg. the superseder field, have something like this:
<td>
<display call="field('superseder', showid=1)">
<display call="classhelp('issue', 'id,title', label='list', width=500)">
<property name="superseder">
<br>View: <display call="link('superseder', showid=1)">
</property>
</td>
- stripping of the email message body can now be controlled through the
config variables EMAIL_KEEP_QUOTED_TEXT and EMAIL_LEAVE_BODY_UNCHANGED.
- all database files created are now group readable and writable.
- added option to automatically add the authors and recipients of messages
to the nosy lists with the options ADD_AUTHOR_TO_NOSY (default 'new') and
ADD_RECIPIENTS_TO_NOSY (default 'new'). These settings emulate the current
behaviour. Setting them to 'yes' will add the author/recipients to the nosy
on messages that create issues and followup messages.
- reverting to dates for intervals > 2 months sucks
- changed the default message list in issues to display the message body
- applied patch #558876 ] cgi client customization
- split instance initialisation into two steps, allowing config changes
before the database is initialised.
- don't create an empty message on email issue creation if the email is empty
- may now display additional fields in Multilink form menus
- #541941 ] changing multilink properties by mail
- #526730 ] search for messages capability
- #505180 ] split MailGW.handle_Message
- also changed cgi client since it was duplicating the functionality
Fixed:
- stop sending blank (whitespace-only) notes
- cleanup of serialisation for database storage
- node ids are now generated from a lockable store - no more race conditions
- sorting was applied to all nodes of the MultiLink class instead of
to the nodes that are actually linked to in the "field" template
function. This adds about 20+ seconds in the display of an issue if
your database has a 1000 or more issues in it.
- added missing documentation for a few of the config option values
- file upload broke if you didn't supply a change note
- fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
(thanks dman)
- fixed some sorting issues that were breaking some unit tests under py2.2
- mailgw test output dir was confusing the init test (but only on 2.2 *shrug*)
- node caching now works, and gives a small boost in performance
- #449374 ] re-enable bsddb3 backend
bsddb3 backend now works, reinstating
- #551483 ] assignedto in Client.make_index_link
- made backends.__init__ be more specific about which ImportErrors it really
wants to ignore
- fixed the example addresses in the templates to use correct example domains
- cleaned out the template stylesheets, removing a bunch of junk that really
wasn't necessary (font specs, styles never used) and added a style for
message content
- build htmlbase if tests are run using CVS checkout
- #565979 ] code error in hyperdb.Class.find
- #565996 ] The "Attach a File to this Issue" fails
- #564271 ] find() and new properties
- #562130 ] cookie path generated from ZRoundup was wrong in some situations
- remove CR characters embedded in messages (ZRoundup)
- properly quote the email address and "real name" in all situations using the
'email' module if it is available and 'rfc822' otherwise
- #565992 ] if ISSUE_TRACKER_WEB doesn't have the trailing '/', add it
- use the rfc822 module to ensure that every (oddball) email address and
real-name is properly quoted
- #558867 ] ZRoundup redirect /instance requests to /instance/
- #569415 ] {version}
- #569178 ] type error
was fixed as part of the general cleanup of reactors
2002-03-25 - 0.4.1
Feature:
- use blobfiles in back_anydbm which is used in back_bsddb.
change test_db as dirlist does not work for subdirectories.
ATTENTION: blobfiles now creates subdirectories for files.
- add module blobfiles in backends with file access functions.
- roundup db catch only IOError in getfile.
- roundup db catches retrieving not existing files.
- #503204 ] mailgw needs a default class
- partially done - the setting of additional properties can wait for a
better configuration system.
- Alternate email addresses are now available for users. See the MIGRATION
file for info on how to activate the feature.
- #511168 ] Web interface: Adding new products
Classes that don't provide template html get a default edit interface now:
- access using the admin "class list" interface
- limited to admin-only
- requires the csv module from object-craft (url given if it's missing)
- Added popup help for classes using the classhelp html template function.
- add <display call="classhelp('priority', 'id,name,description')">
to an item page, and it generates a link to a popup window which displays
the id, name and description for the priority class. The description
field won't exist in most installations, but it will be added to the
default templates.
- #517734 ] web header customisation is obscure
- All messages sent to the nosy list are now encoded as
quoted-printable before they are sent.
- Fixed display of mutlilink properties when using the template
functions, menu and plain.
Fixed:
- Clean up mail handling, multipart handling.
- respect encodings in non multipart messages.
- makeHtmlBase: re.sub under python 2.2 did not replace '.', string.replace
does it.
- preamble in tepmlateBuilder mentioned htmldata
- mailgw checks encoding on first part too.
- #511586 ] unittest FAIL: testReldate_date
- Added a uniquely Roundup header to email, "X-Roundup-Name"
- All forms now have "double-submit" protection when Javascript is enabled
on the client-side.
- #516883 ] mail interface + ANONYMOUS_REGISTER
- #516854 ] "My Issues" and redisplay
- #517906 ] Attribute order in "View customisation"
- #514854 ] History: "User" is always ticket creator
- wasn't handling cvs parser feeding correctly
- fixed some problems in date calculations (calendar.py doesn't handle over-
and under-flow). Also, hour/minute/second intervals may now be more than
99 each.
- #527416 ] roundup-admin uses undefined value
- #527503 ] unfriendly init blowup when parent dir
(also handles UsageError correctly now in init)
- #524129 ] roundup-admin gets python path wrong
2002-01-24 - 0.4.0
Feature:
- much nicer history display (actualy real handling of property types etc)
- journal entries for link and mutlilink properties can be switched on or
off
- properties in change note are now sorted
- you can now use the roundup-admin tool pack the database
Fixed:
- the mail gateway now responds with an error message when invalid values
for arguments are specified for link or mutlilink properties
- modified unit test to check nosy and assignedto when specified as arguments
- handle attachments with no name (eg tnef)
- fixed setting nosy as argument in subject line
- fixed back_bsddb so it passed the journal tests
- fixed status changes in mail gateway (eg. unread -> chatting)
- we'll actually distribute the frontends directory now, as advertised...
- handle stripping of "AW:" from subject line
- htmltemplate list() wasn't sorting...
- unit tests for html templating (and re-enabled the listbox field for
multilinks)
- allow abbreviation of "help" in admin tool too.
- run_tests testReldate_date failed if LANG is 'german'
- mailgw failures (unexpected ones) are forwarded to the roundup admin
2002-01-16 - 0.4.0b2
Fixed:
- #495392 ] empty nosy -patch
- #500574 ] messageid must have format <part1@part2>
- fixed some problems with web editing and change detection
- mail splitting wasn't detecting responses in the same "section" as quoted
text
- missed a "from i18n import _" in date.py
- #501690 ] MIGRATION.txt incomplete
- #502342 ] pipe interface
- #502437 ] rogue reactor and unittest
- re-enabled dumbdbm when using python >2.1.1 (ie 2.1.2, 2.2)
- changed all config accesses so they access either the instance or the
config attriubute on the db. This means that all config is obtained from
instance_config instead of the mish-mash of classes. This will make
switching to a ConfigParser setup easier too, I hope.
- #502951 ] adding new properties to old database
- #502953 ] nosy-like treatment of other multilinks
- #503164 ] create and passwords
- plain rendering of links in the htmltemplate now generate a hyperlink to
the linked node's page.
- #503330 ] ANONYMOUS_REGISTER now applies to mail
- #503353 ] setting properties in initial email
- #502956 ] filtering by multilink not supported
- #503340 ] creating issue with [asignedto=p.ohly]
- #502949 ] index view for non-issues and redisplay
- #503793 ] changing assignedto resets nosy list
- lots of date/interval related changes:
- more relaxed date format for input
- handle None for date/interval properties
2002-01-08 - 0.4.0b1
Feature:
- Added INSTANCE_NAME to configuration - used in web and email to identify
the instance.
- Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup
signature info in e-mails.
- Some more flexibility in the mail gateway and more error handling.
- Login now takes you to the page you back to the were denied access to.
- Admin user now can has a user index link on their web interface.
- We now have basic transaction support. Information is only written to
the database when the commit() method is called. Only the anydbm and
bsddb3 backends are modified in this way - the bsddb3 backend needs a
lot more work anyway...
- the CGI and mailgw automatically commit() at the end of processing a
single transaction
- the admin tool requires an explicit "commit" - it will prompt at exit
if there are unsaved changes. A "rollback" removes all changes made
during the session (up to the last commit).
- Added the "display" command to the admin tool - displays a node's values
- Message author's name appears in From: instead of roundup instance name
(which still appears in the Reply-To:)
- Added a Zope frontend for roundup.
- Centralised the python version check code, bumped version to 2.1.1 (really
needs to be 2.1.2, but that isn't released yet :)
- much better attaching of erroneous messages in the mail gateway
- #496356 ] Use threading in messages
This adds the tracking of messages by message-id and allows threading
using in-reply-to. Most e-mail clients support threading using this
feature, and we hope to add support for it to the web gateway.
Fixed:
- Lots of bugs, thanks Roché and others on the devel mailing list!
- login_action and newuser_action return values were being ignored
- Woohoo! Found that bloody re-login bug that was killing the mail
gateway.
- Fixed login/registration forwarding the user to the right page (or not,
on a failure)
- We now use weakrefs in the Classes to keep the database reference, so
the close() method on the database is no longer needed.
- #487480 ] roundup-server
- #487476 ] INSTALL.txt
- #489760 ] [issue] only subject
- fixed doc/index.html to include the quoting in the mail alias.
- fixed the backends __init__ so we can pydoc the backend modules
- web i/f reports "note added" if there are no changes but a note is entered
- we were assuming database files created by anydbm had the same name, but
this is not the case for dbm. We now perform a much better check _and_
cope with the anydbm implementation module changing too!
- envelope-from is now set to the roundup-admin and not roundup itself so
delivery reports aren't sent to roundup (thanks Patrick Ohly)
- #495400 ] entering blanks
Values with spaces are now accepted in roundup-admin - check the long help
for details.
- #496360 ] table width does not work
- detectors were being registered multiple times
- added tests for mailgw