source: ChangeLog @ b310c0e

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