source: ChangeLog @ 51b6c7c

owl
Last change on this file since 51b6c7c was 51b6c7c, checked in by James M. Kretchmar <kretch@mit.edu>, 15 years ago
make pre-1 until tested for release
  • Property mode set to 100644
File size: 48.4 KB
Line 
1$Id$
2
32.2.1-pre-1
4        Fix some strcpy's that could be vulnerable
5        Remove an unused function
6
72.2.0
8        Workaround to libzephyr on unnoticed zephyrs
9        With smartnarrow and zpunt, include .d suffix and ^un prefix as
10           part of the allowed regex for the relevant class or instance
11        Cleanup of lots of bad sprintf usage
12
132.1.12
14        Don't crash on mobile device AIM messages [BZ 20]
15        Don't crash when sending to someone not on AIM buddy list [BZ 94]
16        Fix overflow vulerability in zwrite.c and zcrypt.c
17        Add stack protector and -D_FORTIFY_SOURCE=2 where possible
18        Fix hang [barnowl 4c46dfdebc294ca24fef59924f01688b8ee07dee]
19        Fix segfault on missing subs [barnowl 99dabeed7de6d19acb50f1e73aa0bfe5f9469c02]
20        Fix zcrypt bufffer size bug [barnowl 559076cd86edc3a8317819814dd5877b8bc7c3cb]
21        Fix double free [barnowl e97c4a306ae2c9d2147d83da29fee59918198e70]
22        Memory leak fix [barnowl c0a90c2c7ab97b9465c9873757faf312faa0021e]
23        Memory leak fix [barnowl 95caa16b2e9ba10770d87d0955198c14c2d0e16a]
24        Memory leak fix [barnowl 1716fed8c2650e46892cf6571555eac937266c6e]
25        Add getstyle command [barnowl 216c73421653e3ef0e957aa9a9804e208a77c80e]
26        Binary search for msgid [barnowl 0c8ab5eadbb6ecc97a120c91b9a824b33538c764]
27        File-handle leak [barnowl e78397d6ac5da0de31a4e269c0ba7f3d691857a3]
28        Fix delay in jump from top to bottom [barnowl 801b7ac63b962640debbcfd422cb9a60da5fea31]
29        Load subs in chunks [barnowl 93e883d60051b80bf6d35391f9d76fd7dfd198e3]
30        Load subs in chunks [barnowl f6050ee9b0a171a5031f84409eb181062afacd18]
31        Better zsig logging [barnowl d857b667a5a9b108b1a2a26b4a5513bef2b53f80]
32        free() -> owlfree() [barnowl d524c838ac7c115628424b8ac171c3489622ea3a]
33        Escape AIM users in smartfilters [barnowl af9b92e3e7ccb7de276a94b5c7e5861b24e71eff]
34        Better regex escape chars [barnowl 80e54a7631f091be8c9762adb9746bad38104738]
35        Deal with quotes in smart filters [barnowl 4099cf83702763fa8d1efc4f1582a605431bdb77]
36        Deal with 0 length zephyr fields [barnowl 128171aaf7cefa91a4bb1eada93a19d8fd0c355c]
37        Deal with 0 length zephyr fields [barnowl 50e29e35c64d64e223d378d350a7bc4f038d78f5]
38        Deal with 0 length zephyr fields [barnowl 804ab8af8b6d00bcd7e2402df892db8fbd61a3ec]
39        Leave curmsg on screen after resize [barnowl c0f9e3009bc03e80a44de64cd5f2b4033290236e]
40        Rip out brower stuff [barnowl 8e5935d11c699a7ce5a3e6e9a47799564c696d6a]
41        Rip out browser stuff [barnowl 4f15e8e9ceada0d4b2cc969ebf43b0a1fb3709ea]
42        No passwords in command history [barnowl 6e400cc71aa59e041dce677aadf50dc1f25228e2]
43        Format NOC mssages [barnowl a1bb1980e4bca23b8329cc0e7c0bd5027055ea0a]
44        Expand ~ in loadsubs [barnowl 27d8d835dc6d58c08fae10e75aae306c49215143]
45        Expand ~ in source [barnowl 10d67d57cb29221f63a43a30643c697fc7b38911]
46        Only use resizeterm() if it's available
47        Debian backports
48        Change license to GPLv3
49        general sprintf cleanup
50
512.1.11
52        Don't crash doing zlocate with bad tickets. [BZ 12]
53        Metion the path for the owlconf in intro.txt [BZ 54]
54        Print better error message if startup fails due to unreadable
55           .owlconf [BZ 57]
56        In load-subs: Print an error message if the file is unreadable or
57          doesn't exist, UNLESS load-subs is called with no arguments.  In
58          that case only print an error if the file exists but isn't
59          readable.  Still prints an error either way if zephyr reports a
60          failure. [BZ 19]
61        Fixed some small memory leaks in logging if files unwriteable
62        If the variable logfilter is set it names a filter.  Any messages
63          matching this filter are logged.  This is an independent
64          mechanism from the other logging variables.  If you want to
65          control all logging with logfilter the other variables must be
66          set to their default (off) settings. [BZ 37]
67        Relatively substantial changes made under the hood to support
68          filter logging.  Now have more consistent interfaces to
69          creating messages etc.  Still needs more work though.
70        Deal gracefully with being resized as small as 1x1 [BZ 3]
71
722.1.10
73        Fix a new problem finding libdes425
74        Don't crash on very long hostnames [BZ 52]
75        In 'sub' command, create .zephyr.subs if it doesn't exist [BZ 15]
76        A fix for certain resize crashes (partly from alexmv) [BZ 55]
77        Turn off ISTRIP (gildea)
78       
792.1.9
80        Include /usr/include/kerberosIV if it's found
81       
822.1.8
83        Do OLC formatting for anything coming from olc.matisse
84        Improvements to popup size algorithm (from gildea)
85        Improved 'show colors' with non-colored labels
86       
872.1.7
88        The colorclass command is added, to make colorization easy
89        Handle MIT Athena OLC zephyrs correctly
90        Updated ktools website / bug address
91        Do ntohs() when printing zephyr port in zephyr info
92        Updated man page
93       
942.1.6
95        Fixed three bugs found by Valgrind.
96        Fixed a case where doing "aim addbuddy" instead of "addbuddy aim"
97          would cause a segfault.
98        pexec will now incrimentally display data as it is output
99          by the child process.  Additionally, commands running under
100          pexec may now be killed by quitting out of the popless window.
101        Added muxevents select loop dispatcher.  File descriptors may
102          be registered with muxevents and handlers will be dispatched
103          to when data is available for non-blocking read/write/except.
104        Switched the stderr_redir stuff to use muxevents.
105        Print C-\ correctly (from gildea)
106        Dropped first brace in muxevents functions for consistency
107        Catch SIGHUP and SIGTERM and do a proper logout
108       
1092.1.5
110        Added a licence
111        The 'personalbell' variable can now be set to 'on' 'off' or
112          the name of a filter to match against
113        The 'loglogins' variable now controls whether login/logout
114          messages are logged.  It is off by default.  For now this
115          affects only AIM messages, later zephyr login/logout messages
116          will also be logged if this is set to 'on'
117        Added 'show license'
118       
1192.1.4
120        Normalize and downcase AIM names for logging
121        Fixed a bug where sending a null zsig could cause a crash
122        Better 'away' toggling if only one protocol is away.
123
1242.1.3
125        Added perl filter elements.  Similar to having "filter <subfilter>"
126          in a filter, you may also have "perl <functionname>"
127          where <functionname> is passed an owl::Message object and
128          returns 0 or 1 depending on whether the message matches
129          that element of the filter.
130        Don't print an error about loading subs if there is no
131          .zephyr.subs
132        Do the initial zephyr_buddy_check when pseduologin set to true.
133        Updated man page
134       
1352.1.2
136        removed unused filter_depth variable
137        Fixed memory bug on receiving pings
138       
1392.1.1
140        Filters of filters now work.
141        Removed the "possibly not readable" part of the config parsing
142          error
143        In the sepbar, reverse video the view name when it's not set to
144          view_home (as opposed to the static 'all').
145        The '!' key (bound to 'view -r') now creates a negative version of
146          the current view and switches to it.  i.e. "show me all the
147          messages that are not these"
148        Added the 'ignorelogins' variable
149        Log when outgoing personal message fails
150        Removed file descriptor from sigpipe catcher printer just for now,
151          since the field does not exist on OSX
152        Added an ifndef for socklen_t in libfaim/ft.c
153        Added the 'aim search' command.  The popup on callback may be
154          dangerous, should switch to an admin msg for results, or add a
155          new event queue
156        First pass at AIM away messages.  It is a little different from
157          what most clients seem to do, in that an away reply is sent for
158          each message received.  Most clients only reply to the first one
159          per away-session.
160        Now have a set of 'aaway' commands and variables just like the
161          'zaway' ones (except that changing the 'aaway' variable talks to
162          the server)
163        The new 'away' command does everything for both AIM *and* zephyr.
164          There is a known funkiness here, where if you turn one away on,
165          and then use 'away' (or 'A') to toggle, you will turn on off and
166          the other on.  Just leaving it for now.  Should do better in the
167          next patch.
168        The 'A' key is bound to 'away'
169        Status bar can now read AWAY, Z-AWAY or A-AWAY.
170        Changed C-n to scroll down just a line in popless
171        If the config exists but is not readable, print an error before
172          exiting
173        Only print forced AIM logout message once.
174        Don't bind F1 to help in edit context
175        Fix bug in 'getsubs' with no tickets
176        New code for getting users from .anyfile
177        Added the 'pseudologins' variable, and code to do it
178        new attributes 'pseudo' 'logintty' and 'loginhost'
179        Don't print extra new lines in popless_file
180        New zephyr_get_field function
181       
1822.0.14
183        Fixed missing word in startup message
184        Better 'status' command
185        Use '+' for popwin corners when 'fancylines' is off
186        Allow TERMINFO to be overridden in the envrionment
187        Command line arg -D turns on debugging and deletes previous
188          debugging file
189        Do ~ expansion in 'dump' command.
190        Current directory added to 'status' command
191        Massive changes to libfaim and aim
192       
1932.0.13
194        Changed startup message for new mailing list
195        blist now prints AIM info even if .anyone is unreadable
196        Catch SIGPIPE and print an error rather than crashing.
197                [It's possible that this may have some portability
198                issues under Solaris and we may need to add some
199                configure stuff around SA_SIGINFO...]
200        Handle the case in aim_bstream_send where aim_send returns -1,
201                although there is likely an underlying problem here
202                that would lead to this case.
203        Print the username on aim login failure, not something random like
204                the password.  ;)
205        Un-word-wrap text when sending AIM messages.
206        Replace the main loop continue in the keyboard handler with an else.
207       
2082.0.12
209        Command history now doesn't allow the last entry
210           to be repeated
211        If format_msg returns "" print "<unformatted message>"
212        Better align oneline admin and loopback messages
213        Print an admin message indicating when subscriptions can
214           not be loaded on startup
215        Set aim_ignorelogin_timer to 15 by default
216        Admin message on login/logout of AIM
217        Fixed double quoting in smartzpunt
218        Added timestamp to login/logout messages
219        Fixed replies to loopback messages
220        Fixed smartnarrow on classes/instances with spaces
221        Added the 'loggingdirection' variable
222        All loopback messages log to 'loopback' now
223        Print an error message if trying an invalid color for a filter
224        Fixed bug causing > not to go to end of editwin every time
225       
2262.0.11
227        Updated basic help
228        Display CC: in outgoing CC messages
229        More AIM logout detection
230        Don't proclaim "interfaces changed" on first build.
231        Added the 'loopback' message type
232        Added the 'loopwrite' command
233        Added a timestamp to the default style
234        Zpunt now works with weird regex characters
235        Smart filters now work with weird regex characters
236       
2372.0.10
238        Allow 'hostname' in filters.
239        Fixed bug in reporting when no one is subbed to a class
240        Added an extral newline in logging incoming zephyrs
241        An admin message is displayed when you are logged out of AIM
242        Print an error message and admin message if an AIM send fails
243       
2442.0.9
245        Added the 'fancylines' variable.
246        Added the 'show startup' command.
247        Added feature for capturing stderr messages
248           from commands and displaying them in the errors buffer.
249        Create an admin message explaning that a zephyr couldn't
250           be sent
251        Better reporting of perl errors (both into the errqueue
252                and also clearing the error after displaying it).
253        Allow default_style to be specified in config.
254        Added errqueue
255        Added command "show errors"
256        Fixed bug removing newlines in backup files
257       
2582.0.8
259        Increased size of screen name field in buddy listing
260        Fixed bug with idle times causing broken pipes.
261        New libfaim
262        Added the 'source' command.
263        Make sure that a newline is always at the end of messages
264                returned by perl style formatting functions.
265        Add owl::login and owl::auth to legacy variables populated for format_msg.
266        Additions to intro.txt and advanced.txt documents.  (Still in progress.)
267        Add base methods for login_host and login_tty
268                and others that return undef.
269        New API for perl message formatting functions. 
270                Legacy variables are still supported for owl::format_msg
271                and owl::receive_msg, but these functions are now also
272                passed an owl::Message object which contains methods
273                for accessing the contents of the message.  See perlwrap.pm
274                (and docs TBD) for the available methods.
275                *** WARNING:  The exact API for owl::Message has
276                *** not yet stabilized.
277        Added "style" command for creating new styles.
278                Usage:  style <name> perl <function_name>
279        Added support for "show styles".  Changed global style table
280                from list to dictionary.
281        Changed AIM password prompt from "Password:" to "AIM Password:".
282        Messages are reformatted after a window resize to allow styles
283                to take into account the width of the window.
284        When perl throws an error, the message is put in the msgwin
285                if possible.
286        Added perl functions for:       
287                owl::getcurmsg() -- returns an owl::Message object for
288                                    the active message
289                                    in the current view.
290                owl::getnumcols() -- returns the column width of the window
291                owl::zephyr_getrealm() -- returns the zephyr realm
292                owl::zephyr_getsender() -- returns the zephyr sender
293        Made owl::COMMAND("foo"); be syntactic sugar for
294                owl::command("COMMAND foo");
295        Added perlwrap.pm to contain perl code to be compiled into
296                the binary.  This is transformed into perlwrap.c by
297                encapsulate.pl.
298        Renamed readconfig.c to perlconfig.c and changed variables accordingly.
299        Minor bugfixes in cmd.c and commands.c
300        Improved intro doc
301
3022.0.7
303        Idletimes now appear in the buddylisting
304        Failed AIM logins are now correctly reported
305        Owl will build now without zephyr, enabling it to act as a
306          standalone AIM client.
307        There is now a zcrypt command
308        Replies to zcrypted messages now work
309        Don't allow zwrite if zephyr isn't present
310        Cleaned up some warnings from linux gcc.
311        Fixed bug that can cause response stuff to crash
312        Improved status command
313        Fixed bug in buddy stuff
314       
3152.0.6
316        aimlogin will now accept the screenname without a password and ask
317           for the password such that it is not echo'd to the terminal
318        'addbuddy aim' and 'delbuddy aim' now work
319        Bug fix to make zwrite -m work with -c/-i
320        Fixed documentation bug in aimwrite
321        Initialze $owl::auth
322        Fix in autoconf for des425
323        Reformatted editwin.c and added capability of doing password-style
324           echoing
325       
3262.0.5
327        Fix in finding des for building zcrypt
328        Fixed description for alert_action variable
329        More detailed usage from -h
330        Special cased replies for webzephyr users on classes and
331          login notifications for webzephyr users
332        Fixed bug that caused a crash on zpunt with '*' for an instance
333        AIM logout and then login now works.
334        Fixed bug causing view -d not to work.
335        Added hostname and tty name to LOGIN/LOGOUT zephyrs on oneline
336          style
337       
3382.0.4
339        Made command line option -n actually work
340        Implemented styles, including the 'default' 'basic' and 'oneline'
341          styles.  A 'perl' style is available if a format_msg() function
342          is found in .owlconf
343        Added the 'default_style' variable
344        Added the 'toggle-oneline' command
345        The 'o' key is bound to 'toggle-oneline'
346        Internally, the one view now has a name, 'main', and message
347          recalcuations are done in place when its filter is changed.
348        Added filter field 'login' which can take the values 'login'
349           'logout' or 'none'
350        Added the perl variable $owl::login, just as above
351        Updated the 'login' and 'trash' filters appropriately
352        Fix for checking for DES in build system
353        Bug fix in using makemsg when no curses window is present
354        The variable $owl::auth now exists in perl
355        Use new internal function to delete zephyr subs from file
356        New 'sepbar_disable' variable can turn off sepbar info display
357        Updated contributor info
358        Added the 'show view' command
359        Bug fix in owl_regex
360        Fixed personal aim messages logging to class directory
361        Log "LOGIN" or "LOGOUT" for AIM buddy messages
362        zwrite -m now correctly displays an outgoing message and logs
363        zwrite -s now works
364        Strip spaces in AIM usernames on aimwrite send
365        Removed libfaim/config.log from CVS
366        Fixed some easy fixed-length buffers
367        Wordwrap incoming AIM messages
368        Fixed bug causing buddies not to be added to buddy list during
369          ingorelogin timer
370        Translate &lt; &gt; &amp; &quot; &nbsp; &ensp, &emsp, &endash and
371           &emdash
372       
3732.0.3
374        Don't ring the terminal bell on mail messages.
375        Nuke <FONT>
376        Make the build work a little better on OSX
377        Fixed a bug in fmtext
378        Expanded the size of the hostname buffer
379       
3802.0.2
381        Fixed bug in 'startup' command.
382
3832.0.1
384        Moved newmsgproc stuff to a function procedure
385        Added the 'newlinestrip' variable, on by default, that strips
386          leading and trailing newlines from incoming messages.
387        Fixed a case sensitivity probelm in owl_message_is_personal and
388           owl_message_is_private
389        The message object now uses a list of attributes internally, in
390          prep. for supporting new messaging protocols
391        owl_function_info now uses fmtext instead of one staticly sized
392          buffer
393        in owl_message_get_cc() require that the colon be present after
394          cc.
395        Added some defenses against resize crashes, and put in debug
396          messages if they're encountered
397        In filters 'true' and 'false' are now valid tokens.
398        The 'all' filter has been redefinied to be 'true' and there is a
399          'none' filter defined as 'false'
400        Fixed bug in 'unsub' command that could cause file corruption
401        In the zlist function, give a more detailed error message if
402          the file cannot be opened.
403        Renamed old instances of zsig_exec in the code to zsigproc
404        Don't print the stderr from zsigproc
405        Added a 'loadloginsubs' command to load login subscriptions from a
406          file
407        Added a 'loadsubs' command to eventually phase out the 'load-subs'
408          command
409        Made M-n work on classes and instances with spaces in them
410        Zaway now obeys the smart strip variable
411        Hacked the build system to not have the -E link problem on Athena
412        Added ZResetAuthentication in a number of places to fix problems
413          with stale tickets
414        Added some hooks for malloc debugging
415        M-p is bound to 'view personal' by default
416        loadsubs and loadloginsubs only print messages if in interactive
417          mode
418        added the 'alert_filter' variable, defaults to 'none'.
419        added the 'alert_action' variable, which is an owl command that
420          will be executed when new messages arive that match the
421          alert_filter
422        added the 'term' command which takes the 'raise' and 'deiconify'
423          options.  It assumes xterm for now.
424        only 'make distclean' will nuke core and ~ files now
425        fixes to owl_function_do_newmsgproc from Stephen
426        converted functions.c to new code style, which I'm giving a shot
427        Makefile.in: define DATADIR, for default owlconf.
428        Makefile.in: provide "all" and "install" rules.
429        configure.in: try also libdes and libkrb4, for people using heimdal
430        configure.in: see if des_ecb_encrypt is already prototyped.
431        configure.in: minor changes to work with new autoconf without needing acconfig.h.
432        configure.in: find the install program.
433        configure.in: test for use_default_colors since some versions of
434          solaris don't have it, so we can at least compile something
435          vaguely working there.
436        keypress.c: ifdefs for keys not defined on at least some solarises.
437        owl.c: don't call use_default_colors if we don't have it
438        readconfig.c: added *commented out* code to try to find a
439          system-default owlconf if the user doesn't have one.  Have to
440          ponder if I want this
441        zcrypt.c: don't prototype des_ecb_encrypt if there is a prototype in
442          des.h.
443        zcrypt.c: include owl.h so we get the configure-generated config.h
444        Change to codelist.pl to deal with new code style
445        Remove some ancient stuff from zcrypt.c
446        General cleanup to Makefile.in
447        CTRL and META are now OWL_CTRL and OWL_META.  OWL_CTRL moved to
448          keypress.c
449        do_encrypt declaired static
450        if we don't have des functions, do not try to build in zcrypt
451        kill the newmsgproc function on exit
452        Added libfaim
453        Added basic AIM support, including the "aimlogin", "aimwrite" and
454           "aimlogout" commands
455        New built-in filters 'aim' and 'zephyr'.
456        Do ZResetAuthentication() before zlog_in and zlog_out as well.
457        Print AIM login / logout notifications
458        The 'alist' command prints a list of aim buddies logged in
459        The 'blist' command prints users from all protocols
460        The 'l' key is now bound to 'blist' instead of 'zlist'
461        Started work on 'addbuddy' and 'delbuddy' command but they DO NOT
462          WORK yet
463        Removed a bit of faim code that allowed commands to be executed.
464        The 'B' key is now bound to 'alist'
465        Added the 'startup' and 'unstartup' commands
466        The $HOME/.owl directory is created on startup if it does not exist
467        Added the 'aim_ingorelogin_timer' variable
468        'addbuddy zephyr <user>' and 'delbuddy zephyr <user>' now work.
469        'isloginout' and 'isprivate' are now message attributes
470        improved 'info' function lists seperate info for zephyr, aim and
471           also prints all message attributes
472        AIM logging (both in and out) now works
473        Disabled 'addbuddy' and 'delbuddy' for aim since it doesn't work yet
474        Hacked the Perl build stuff not to link with iconv
475       
4761.2.8
477        Class pings are displayed differently now
478        Updated owlconf.simple example to format outgoing messages.
479       
4801.2.7
481        Outgoing messages now go through the config for formatting
482        Zaway now makes an outgoing message, instead of an admin message
483        The 'zlocate' command can now handle multiple users
484        The simple user format for "To:" is in effect again
485        Prettyed up the zwrite line for using 'reply' on a zaway
486        Added a workaround for a libzephyr bug that caused zwrites to fail
487          if zephyrs were sent just before and just after renewing tickets
488        Fixed a memory bug in getsubs
489        Added receive support for zcrypt messages
490        Added the 'zcrypt' variable which controls whether or not zcrypt
491          messages are decrypted
492        'reply' is disabled for zcrypt until sending zcrypt works
493        Started implementing zcrypt command
494        More updates to the intro doc
495       
4961.2.6
497        Started adding code for newmsgproc.  It doesn't fully work yet!
498          Don't use it.
499        Added search, '/' and '?' to basic help.
500        Will attempt to keep the current message as close as possible
501             to the previous current message after an expunge.
502        "set <variable>" and "unset <variable>" now work for boolean variables.
503        Fixed a bug in owl_function_calculate_topmsg_normal that caused a
504          segfault
505        Fixed some typos in the intro doc
506        Removed old zlog functions from zephyr.c
507        Implemented the dump command
508        New startup message
509       
5101.2.5
511        Patch to fix memory bug in replying to CC messages
512        If we're on Athena and have static krb (or other) libraries, use
513          them
514        Added "athstatic" program to the release, which handles the above
515        Cast to an int for isspace, to make gcc -Wall quiet
516        Added 'zlist' and 'l' to basic help.
517       
5181.2.4
519        'zlog in' will now take an optional thrid argument to set the
520             'tty' variable before setting the zlocation
521        There is now a 'zlist' command that acts like 'znol -l'
522        'l' is bound to 'zlist'
523        Fixed memory leak uninitialzed memory read in fmtext
524        viewwin will now say "End" instead of "More" when at the end
525        Added a debugging message indicating the result of topmsg
526          calculations
527        You can now use %me% in filters
528        The built-in personal filter is updated to do so
529        Fixed a bug in moving the pointer after an expunge
530        Fixed up the normal scrolling code.  Now it should always
531          land on a message, but it's still not optimal.
532        Added the variable 'smartstrip' which will strip kerberos
533          instances out for the 'reply' command.
534        Added -R/usr/athena/lib to the build for Athena
535        Started updating the intro document
536        Small changes to help / about
537        The 'subscribe' and 'unsubscribe' commands (and their aliases) now
538          update .zephyr.subs by default.  If either is given the '-t'
539          (for "temporary") option the .zephyr.subs will not be updated
540        Turned off beeping for hitting the top or bottom of the list of
541          messages
542        Made daemon.webzephyr a special case for smartstrip
543        Added 'out' as a default filter for outgoing messages
544       
5451.2.3
546        Added filters "ping", "auto" and "login" by default.
547        Added "body" as a valid field to match on in a filter.
548        Temporary fix to bug where C-SPACE would cause the key handler to
549             lock up.
550        Messages now have a direciton (in, out or none).  Filters can
551             match on this direction
552        Outbound messages are no longer type 'admin' but are of the
553             appropriate message type (i.e. 'zephyr') and are direction
554             'out'.
555        Smartnarrow now works on outgoing messages
556        'info' updated to show more information for admin and outgoing
557             messages
558        Renamed pretty_sender to short_zuser and renamed long_sender to
559             long_zuser
560        Moved zsig generation to the zwrite object
561        Print the zsig used for outgoing messages
562        The tty variable now controls the zephyr location tty name
563       
5641.2.2
565        Added the 'search' command.
566        '/' is a keybinding for 'search'
567        '?' is a keybinding for 'search -r'
568        Fixed stristr, which was completely broken
569        renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip
570             and put it in functions.c
571        Attempts to stay near the current message when switching views.
572             When switching from an empty view to one we've previously
573             been in, the new current message position will attempt
574             to be close to the current position from the last
575             time we visited that view.
576        Fixed bug in readconfig.c that prevented building under perl 5.005.
577        Switched "C-x C-x" to only "startcommand quit"
578        'getsubs' prints closer to the order you sub in.
579        Modified the behavior of last so that "> >" will clear the screen.
580        The new behavior of last is:
581              Moves the pointer to the last message in the view.
582              If we are already at the last message in the view,
583              blanks the screen and moves just past the end of the view
584              so that new messages will appear starting at the top
585              of the screen.
586        Fixed a typo in the help for smartzpunt.
587        Fixed functions to handle curmsg being past the end of the view.
588
5891.2.1
590        New framework for command handling.
591        New framework for keymap handling.
592        Added commands for everything that is bound
593             to a key (do 'show commands' to get the full list).
594        Added 'multi' and '(' commands to allow multiple commands
595             to be specified on a line.             
596        Added user keybindings with bindkey command.
597        Added command aliases (eg, "alias foo bar").
598        Added undelete command that parallels the delete command.
599        Added additional options to delete command.
600        The reply command now takes arguments.
601        Added 'edit:insert-text' command.
602        Added 'show zpunts' to show active punt filters.
603        Added 'show variable <name>' and 'show variables'.
604        Added 'show command <name>' and 'show commands'.
605        Added 'show keymap <name>' and 'show keymaps'.
606        Added 'M-u' to undelete all messages in current view.
607        Fixed dotsend so that the zephyr will still send if there
608             is whitespace after the dot but not on the same line.
609             This should resolve an issue where dotsend wouldn't work
610             if you'd gone up and edited a zephyr.
611        Bug in page down fixed
612        C-t will transpose characters
613        Fix the scrolling bug where we would sometimes fail to scroll
614             the screen down, leaving the current message off
615             the bottom of the screen.
616        Refixed 'login or login' typo in help
617        Fixed M-u description
618        Removed 'first' and 'last' from basic command help
619        Added M-N to basic key help
620        Added M-D, M-u to basic key help
621        Fixed a quoting problem in configure.in
622        Changed top of help to use 'show' instead of M-x
623        Fixed a bug in the summary field for user-created aliases
624        Added "reply zaway" which sends a zaway response to the current msg.
625        Added "edit:delete-prev-word" command and bound M-BACKSPACE to it.
626        Some buffer overruns fixed
627        Variables now have a summary and a long description.
628                Only the summary is shown with help.
629                The long description is shown with "show variable foo".
630        Added a 'scrollmode' variable which determines how the screen
631             will scroll as the cursor moves.  The default behaves
632             identically to previous versions of owl.
633             The following modes are supported:
634             normal      - This is the owl default.  Scrolling happens
635                           when it needs to, and an attempt is made to
636                           keep the current message roughly near
637                           the middle of the screen.  (default)
638             top         - The current message will always be the
639                           the top message displayed.
640             neartop     - The current message will be one down
641                           from the top message displayed,
642                           where possible.
643             center      - An attempt is made to keep the current
644                           message near the center of the screen.
645             paged       - The top message displayed only changes
646                           when user moves the cursor to the top
647                           or bottom of the screen.  When it moves,
648                           the screen will be paged up or down and
649                           the cursor will be near the top or
650                           the bottom.
651             pagedcenter - The top message displayed only changes
652                           when user moves the cursor to the top
653                           or bottom of the screen.  When it moves,
654                           the screen will be paged up or down and
655                           the cursor will be near the center.
656        Added owl_sprintf which returns the formatted string, or NULL.
657                The caller must free this string.
658                This will allocate enough memory and thus
659                avoid potential some buffer overrun situations.
660        Simple implementation of 'zwrite -m' (doesn't yet log an outgoing
661                message as having been sent.)
662        The "Not logged in or subscribing to messages" error
663                now includes the name of the recipient.
664        The "disable-ctrl-d" variable may also be set to "middle"
665                which will result in ctrl-d only sending at the
666                end of the message.  This is now the default.
667                This also added a command "editmulti:done-or-delete".
668        Fixed a bug in the "reply -e" command.
669        Always clear the command buffer before executing the command.
670                (So that interactive commands can sanely do start-command.)
671        Fixed preservation of e->dotsend across owl_editwin_clear().
672        Added history for multiline edit windows (eg, for zephyr composition).
673                The M-n and M-p keys will cycle through the history ring.
674                In particular, it is now possible to edit the command line
675                of a zephyr being composed:  C-c it and restart it
676                and then M-p to get the aborted composition back.
677        Added owl::send_zwrite(command, message) to the perl glue
678                to allow for the direct sending of multi-line messages.
679                For example:  owl::send_zwrite("-c foo -i bar", "hello");
680        Changed owl_fmtext_print_plain to return an alloc'd string to
681                avoid buffer overrun risks.
682        Added owl::ztext_stylestrip("...") function to perlglue
683                 which returns the ztext with formatting stripped out.
684        Added colorztext variable which can be used to disable @color()
685                 strings arriving in messages after it is set.
686                 (Currently, changing its value won't reformat messages).
687        Outgoing zephyr logging now obeys the logpath variable.
688        The '~' character in logpath and classlogpath now gets
689                 replaced with the user's home directory.
690        Added simple implementation of smartnarrow-to-admin that
691                 creates a "type-admin" autofilter.
692                 This was done mostly so that M-C-n and M-C-p do something
693                 sane on admin messages.
694        Added opera to the allowed options to the webbrowser variable.
695        Fixed some buffer overruns in the "reply" command.
696        When repying to "all" on a message that begins with "CC:" (eg, sent
697                 with "zwrite -C", the reply line will be constructed
698                 from the sender and the usernames on the CC: line
699                 of the message being replied to.
700        There is no such thing as C-R, so left C-r as it is but added:
701                 M-r --- edit reply to all
702                 M-R --- edit reply to sender
703        Added RCS Id strings to all files.
704        'show keymaps' shows details of all keymaps after summary list.
705        Added --no-move option to delete command.
706                In particular, delete-and-always-move-down may now
707                be implemented with
708                '( delete --no-move ; next --skip-deleted )'.
709        Folded the nextmsg and prevmsg commands and functions together into
710                one command which takes arguments.
711                Added '--filter <name>' option (eg, for next_personal),
712                '--skip-deleted' option, and
713                '--last-if-none'/'--first-if-none' options.
714                Help updated accordingly. 
715                In particular, the 'personal' filter is now used
716                for 'next personal'. 
717                Added --smart-filter and --smart-filter-instance options
718                to the next and prev commands.
719        Updated examples/owlconf.erik with the above.
720        Made owl_function_fast*filt return a string and not do the
721                narrowing, to make it more general.
722        Added a smartfilter command that creates a filter
723                based on the current message and returns the name
724                of the filter.
725        Added M-C-n and M-C-p keybindings to "move to next message
726                matching current" and "move to previous message
727                matching current"
728        Added variables edit:maxfillcols and edit:maxwrapcols which
729                will limit how wide editing paragraphs may get before
730                they get wrapped.  This is a max and may be narrower
731                depending on the current size of the window.
732                If 0, the max is unlimited.  Default is 70 columns for
733                edit:maxfillcols and unlimited for edit:maxwrapcols.
734        Added smartzpunt command with key binding of "C-x k".
735                This starts a zpunt command filled in with
736                the proposed zpunt.
737        Fixed a memory reference bug in delete and undelete commands.
738        Added support for perl to call directly back into owl.
739        Changed the implementation of owl::command("...") to immediately
740                call back into owl.  This allows perl to get the return
741                value of strings returned by owl commands.
742        Added the getview command which returns the name of the current
743                view's filter. 
744        Added the getvar command which returns the value of a variable.
745        Added an example to examples/owlconf.erik which uses TAB to
746                narrow and restore the view. 
747        Added an example to examples/owlconf.erik which uses M-c to
748                color messages matching the current one green.
749        Integrated change to fix problem with popup blinking on new zephyrs.
750        C-l and resizes will now refresh an open viewwin (eg, help).
751        Updated doc/code.txt to include info about filters, commands,
752                contexts, and keybindings.
753        Exec commands cleaned up to not have buffer-size limitations
754                and to not mess up spaces.  exec also returns a string
755                of the output now.
756        Integrated changes from 1.1.3, and added docs for "zlocate -d"
757                and new show commands.
758        Show with arguments produces help on show.
759        Fix a bug in readconfig caught by efence (where we'd try to read before
760                the beginning of a string if it was empty).
761        The perl command doesn't do makemsg directly, but instead
762             returns the string and it will get printed if it
763             was run interactively.
764       
7651.1.3
766        'show subs' and 'show subscriptions' are now the same as 'getsubs'
767        zlocate now takes an optional -d argument
768        'show terminal' / 'show term'
769        '>' / last doesn't set the last message at the top of the screen now
770        implemented _followlast as an unsupported feature
771        include 'default' in the 'show colors' list
772        added help for 'zpunt' and 'zunpunt'
773        changed the bug address in the startup message
774        can now do 'show status'
775        can now do 'show version'
776        'status' / 'show status' includes the owl version number now
777        'show terminal' includes whether the terminal can change colors
778        fixed off by one bugs in paging / scrolling viewwin
779        don't downcase the sender when getting the log name for personals
780        support @owl::fields as well as @fields
781        downcase class/inst filter names in auto filters
782
7831.1.2
784        Fixed memory mishandling bug
785        Fixed bug in redfining the filter attached to the current view
786        M-n will narrow to message, instance on non-personal, class
787             MESSAGE messages
788        M-N behavies like M-n except that on class messages it narrows
789            to class and instance
790        line wrap earlier, to account for tabbing
791        fixed typo in help
792        'status' command now displays info on terminal color support
793        zephyr @ formatting is now case independant
794        added support for color terminals
795        zephyr @color(foo) now works
796        'D' for deleted messages is now not bold, unless it's the current
797          message
798        F1 displays the help screen
799        added filter colors
800        added the 'colorview' command
801        added the 'show colors' command
802        users who don't have a .zephyr.subs get a simpler format for
803          incoming messages
804        If colors are available 'show filters' will show a filter in the
805          color associated with it.
806        Added the zpunt and zunpunt commands
807        Lines in the subs file starting with '-' are zpunted
808        Include login/logout messages in auto user filters
809        'V' changes to the home view ('all' by default)
810       
8111.1.1
812        Fixed perl, aperl, and pperl commands to deal with quoting
813              and spaces in a saner manner.
814        Removed all owl_get_* methods for booleans and switched
815              cases where they were used to owl_is_*
816        Changes to owlconf.erik to use some new features.
817        Increased the size of the help buffer (as it
818              was overflowing and truncating the help message).
819        Variables prefixed with a _ are not shown in help
820              or by printallvars (and prefixed Not Yet Implemented
821              variables with this).
822        Fix typo in help
823        include stdio.h in functions.c
824        remove stale "q to quit" from bottom of info message
825        fix downward scrolling more than a page
826        use authentication for zlocate, by default
827        fixed buffer over run in info command on long messages
828        call 'perl <file>' from Makefile to avoid hardcoding perl paths
829        in Makefile don't build owl_prototypes.h unless necessary
830        store the time for admin messages
831        display admin message time in 'info' command
832        fixed an editwin M-> last character bug
833               
8341.1
835        reply is a normal function now
836        'R' does reply to sender
837        'T' tells you how many messages were marked for deletion
838        local realm removed from login / logout messages
839        added command history
840        better runtime / starttime reporting in 'status' command
841        leave the pointer near the current message after expunge
842        C-l recenters editwin
843        implemented zlocate
844        @italic works the same as @i
845        on reply only quote class / instance when necessary
846        C-r allows you to edit the reply line
847        don't use unecessary options in reply line
848        display 'info' errors in msgwin, not popup
849        impelemnted aexec, pexec commands
850        the zsig now goes through ztext formatting
851        messages have id numbers now
852        'info' prints the msgid
853        added the 'filter' command
854        added the 'view' command
855        added the 'show filter' command
856        added the 'viewclass' (and 'vc') commands
857        added the 'viewuser' (and 'vu') commands
858        M-n will filter to the current class or user
859        'v' starts a view command
860        M-D will delete all messages in current view
861        added the 'delete' (and 'del') command
862        load-subs with no argument loads the default subs file
863        '<truncated>' is now when the *current* message is truncated
864        the reply-lockout filter (with default) specifices messages that
865           cannot be replied to.
866        in the configfile owl::receive_msg is run whenever a message is
867          received
868        added the beep command
869        added the contributors file
870        declare ZGetSubscriptions and ZGetLocations since the includes
871          don't seem to
872        fixed bug in displaying last line in popwin if no final '\n'
873        'T' uses the 'trash' filter now
874        zaway_msg, zaway_msg_default and zaway are all user variables now.
875        zsig variable overrides zsigproc
876        If there's no appendtosepbar don't interfear with the sepbar
877        Changed: owl_message_get_numlines will return 0 of m is NULL
878        Added login messages to messages marked by owl_function_delete_automsgs
879        Added owl_function_delete_by_id(id) which acts independent of view
880        Added "-id <id>" option to delete command
881        Fixed an arg checking bug in delete command
882        Added owl::id to perl namespace with message id
883        Fixed a memory corruption bug in readconfig.c (where right
884              after the strdup to "out", we'd strcat a \n onto the end.
885              This would be triggered whenever owl::format_msg returned
886              a string not ending in a newline
887        Added 'X' keybinding which expunges and then switches to
888              a view defined by the variable "view_home" which defaults
889              to "all"
890        Consolidated readconfig.c somewhat to remove duplication.
891              owl_config_execute now returns a string.
892        Added an example config file that does vt-style formatting.
893              (examples/owlconf.vtformat)
894        Added the 'perl', 'aperl', and 'pperl' commands which will
895              evaluate perl expressions.
896        Fixed bug where pclose zsigproc would cause zombies
897        Can set zsigproc or zsig to "" to disable
898        Added support for multiple browsers (galeon and none were added).
899              Configure with the "webbrowser" variable.
900        Changing typewinsize height triggers resize event.
901        Added zsig variable which will be used if no zsigproc and non-empty.
902        Added "make test" rule to Makefile which will run regression tests,
903              and added regression testing framework to tester
904        Fixed codelist.pl to ignore static declarations.
905        Added dict.c which contains string->ptr dictionary routines
906              and the owl_dict type.
907              These include regression tests.
908        Overhaul/rewrite of variable handling.  Variables are now managed
909              in an owl_vardict (in g.vars) which contains a dictionary
910              of owl_variable's.  Each owl_variable has dispatch functions
911              for validating values, setting it and getting it,
912              and for setting it to and from string values.
913              The variable.c file contains the list of variables.
914              Stubs for the owl_global_<varname>_get functions and friends
915              are generated from variable.c by stubgen.pl.
916              The help.c messages for variables now calls into variable.c
917              so all information about most variables is in one place.   
918        Cleaned out code from global.c and command.c that was made obselete
919              by variable overhaul.
920        The set command now takes a -q option to not log a message.
921        Fixed a bug where set and print with no arguments would
922              print "Undefined variable" in addition
923              to running owl_function_printallvars.
924        debug is now a variable that can be turned on and off.
925        Fixed mail,inbox message parsing in examples/owlconf.erik
926        Made zaway_msg and zaway_msg_default into variables
927        Changed owl_function_makemsg and owl_function_debugmsg
928               to use varargs (ie, so they can now take a format
929               string with args).
930        Don't allow " and \ characters in URLs with the "w" command.
931        Removed lots of build warnings.
932        Popwins are wider by default so help messages fit better.
933        Added an atokenize_free function.
934        Fixes to work with an older version of libzephyr.
935        Added dependencies on header files to Makefile.in
936        Added pageup and pagedown key bindings to message list
937        Added pageup and pagedown to viewwin
938        Added configfile section to doc/intro.txt (from example config file)
939        Added appendtosepbar variable which may contain text which will
940              be appended to the sepbar.  This allows the configfile
941              to put information about pings and logins into
942              the sepbar.  (It may be worth also providing a variable
943              which enables this by default, but for now this allows
944              for experimenting with what works well.)
945        Added doc/code.txt which gives a brief overview of the code.
946        Added tags makefile rule and added TAGS to distclean rule.
947       
9481.0.1
949        fix frees in loadsubs and loadloginsubs
950        don't return in owl_free
951       
9521.0
953        'print' and 'set' with no arguments prints all variables
954        Added the 'unsubscribe' and 'unsub' command
955        Renamed the 'unsub' command to 'unsuball'
956        Added the 'getsubs' command which is like zctl ret
957        Fixed bug in logging messages sent to more than one recipient
958        Support '-C', '-O', and '-n' options to zwrite
959        Fixed bug in owl_editwin_delete_char when there are no later chars
960          after the cursor
961        Make "more" and "truncated" work in the status bar
962        enable printing of zsigproc and loginsubs variables
963        only allow message scrolling if the message is actually off the
964          screen
965        'T' will mark all automated message for deletion
966        'P' will go to the next personal message
967        'M-P' will go to the previous personal message
968        replying to a login message goes to the user now
969        added a status command
970        added the intro doc to the release
971        fixed off by one bug in viewwin
972        added complete online help
973        pass $owl::realm in configfile
974        fixed editwin wordwrapping on the last line
975        fixed editwin problem with key_right past the last char
976        print an error and quit if the configfile can't be parsed
977        got rid of owl_mainwin_calculate_topmsg
978        fixed off by one error in calculating topmsg upwards
979        you can now reply to an admin message
980        don't display an error about keypress on window resize
981       
9820.11
983        fixed bug in viewing messages longer than the screen
984        indicate in the sepbar if there is a non zero vert offset
985        send on '.' on a line by itself
986        added disable-ctrl-d variable
987        fixed bug where C-k did not delete the last \n in the buffer
988        make non-character meta keys work
989        use ZSendNotice instead of ZSendList
990        implemented <, >, M-< and M-> in viewwin
991        removed the spaces at the bottom of viewwin
992        added 'about' command
993        fixed bug using 'M' with no current message
994        changed message object to use char *'s to save on memory
995        change malloc, realloc, strdup and free to use owl hooks so that
996           debugging can be added
997               
9980.10.1
999        fixed a trailing space bug in the parser
1000        impelemented the "burning ears" feature
1001        have admin messages do ztext parsing
1002        fixed bug in reporting which M- key was pressed
1003        C-g will now cancel commands like C-c
1004       
10050.10
1006        implemented owl_function_full_redisplay().
1007        C-l uses owl_function_full_redisplay().
1008        when a popwin exists to a full redisplay.  (fixes bug)
1009        improved the owl_editwin_process_char logic
1010        removed all unnecessary wrefresh's and replaced with wnoutrefesh
1011        owl_editwin_redisplay now takes an argument to optionally doupdate()
1012        improved the cut-and-paste speed by not doing a usleep the first
1013          time through the loop after getting a keypress.
1014        nuked typwin.c and associated stuff.  It's useless now.
1015        added viewwin code for paging windows
1016        curly braces work for zephyr formatting
1017        @i in zephyr formatting will be displayed as underlined text
1018        turned off idlok
1019        implemented viewwin
1020        implemented viewwi in popwin for pageable popwins
1021        help, info now use pageable popwins
1022        bound 'M' to bring the current message up in a popwin
1023        return, space bar, 'b' and backspace now scroll within a message
1024        turned off resize message
1025        C-v and M-v page the main window
1026        implemented owl_message_is_mail
1027        some build cleanup
1028
1029       
10300.9
1031        added owl_message_is_personal and have things use it
1032        added owl_message_is_private
1033        fixed 'print personalbell' and have 'set personalbell'
1034           print a message
1035        bold only on message_is_personal
1036        display the realm if not local
1037        implemented M-f, M-b, M-d, M-<, M-> in editwin
1038        implemnted word wrapping in editwin
1039        implemented M-q (paragraph-fill) in editwin
1040        fixed bug that caused owl to segfault logging a 'weird' class
1041        M-x is a keysym for ':'
1042        added smart bolding and userclue
1043        fixed a bug causing pings to beep even if rxping is off
1044       
10450.8.1
1046        fixed bug in logging code
1047       
10480.8
1049        implemented personal logging
1050        implemented class logging
1051        implemented resize of typewin
1052        fixed the backspace problem
1053        -v command line option prints the version number
1054       
10550.7
1056        load-subs will report error opening file
1057        skip comment lines in loadsubs and loadloginsubs
1058        changed internal references to rxping and txping
1059        fix replying to a blank instance
1060        added subscribe command
1061        subscribe to login messages from .anyone by default
1062        'loginsubs' variarble controlls automated login messages
1063        redisplay the editwin after a resize
1064        leave the cursor in the editwin if active
1065        fix problems in the build system
1066        added displayoutgoing variable
1067        temporarily removed error printing for zlog in / out
1068       
10690.61
1070        fixed bug in "message sent to <foo>" for zwrite
1071       
10720.6
1073        help updated
1074        zaway key set to caps A
1075        support zephyring other realms
1076        rxping variable for receiving pings
1077        txping variable for sending pings
1078        function in place to resize typwin
1079        C-l to refresh
1080        personal bell variable
1081        beta message now an admin message
1082       
10830.5
1084        Added the debug command and flag
1085        Fixed bug in printing fields in info command
1086        Added owl_fmtext_append_ztext and use it
1087        Better formating for pings and login zephyrs
1088        make tester depends on proto
Note: See TracBrowser for help on using the repository browser.