source: ChangeLog @ 23e1110

debianrelease-1.10release-1.4release-1.5release-1.6release-1.7release-1.8release-1.9
Last change on this file since 23e1110 was 308ace3, checked in by Nelson Elhage <nelhage@mit.edu>, 16 years ago
Bump the version to 1.0.6 for development. Doing the version bump now is probably a better practice than doing it just before the relase.
  • Property mode set to 100644
File size: 67.1 KB
Line 
11.0.6
2
31.0.5
4 * Implement initial support for real timers. -nelhage
5 * Fix some compile warnings. -nelhage
6 * Don't ignore the --datarootdir setting. -andersk
7 * Replace questionable sprintf(buf, "%s...", buf, ...) pattern. -andersk
8 * Show IRC /me messages with the conventional * instead of bold -andersk
9 * Rip out the openurl function and related variables. -andersk
10 * Stop leaking perl variables in :perl. -nelhage
11 * Display multi-line error messages as admin messages. -nelhage
12 * Fix a bug rendering multi-byte characters in the last column of the window. -andersk
13 * Map Esc-A/B/C/D like arrow keys everywhere. -geofft
14 * Fix a bug trying to disconnect from Jabber with no accounts connected. -asedeno
15 * Call perl_sys_init3 to make libperl work on several other platforms. -hartmans
16 * Bind the 'Delete' key to delete the next character. -andersk
17 * Fix a double-free in owl_zephyr_delsub. -geofft
18 * Don't fill-paragraph the ending dot of the buffer. -price
19 * Fix numerous unsafe uses of sprintf(). -nelhage
20        (Fixes CVE-2009-0363)
21
221.0.4
23 * Added a ':show quickstart' command. -geofft
24 * Allow filters that reference a sub filter more than once non-cyclically. -nelhage
25 * Make 'version' return 'BarnOwl' not 'Owl'
26 * Escape interpolated regexes in filters. -andersk
27 * Various code cleanups. -andersk
28 * Fix format string injection bugs. -andersk
29 * Clean up various code warnings. -nelhage
30 * Replace questionable sprintf(buf, "%s...", buf, ...) pattern. -andersk
31 * Show IRC /me messages with the conventional * instead of bold. -andersk
32 * Rip out the openurl function and webbrowser variable. -andersk
33
341.0.3
35 * Moved BarnOwl source control to git on github.
36 * Only call the zsig proc when we actually send a message. -asedeno
37 * Strip out BOMs from Jabber messages. -asedeno
38 * Fix logging of personal jabbers from JIDs containing / -nelhage
39 * Fix Jabber breakage under reload-modules. -asedeno
40 * Make reload-moduled correctly re-run startup hooks. -asedeno
41 * Squelch Jabbers with no bodies, such as typing notifications. -asedeno
42 * Various small spelling and grammar fixes. -geofft
43 * Fix a segfault when sending short zcrypted messages. -asedeno
44
451.0.2.1
46 * Fix :reload-module's interactions with PAR modules
47
481.0.2
49 * Fix a segfault on retrieving zephyr subs when the user doesn't
50   have any or has expired tickets. -asedeno
51 * Don't complain about non-existant ~/.owl/startup when starting. -asedeno
52 * Fix narrowing to personals in IRC. -alexmv
53 * Don't segfault retrieving subscriptions without valid tickets. -asedeno
54 * Load modules even if .owlconf doesn't run successfully. -nelhage
55 * Update the manpage for barnowl. -nelhage
56 * Better support for irc-names, irc-topic, and irc-whois. -geofft
57 * Display /quit messages in IRC -geofft.
58 * Add a new perl hook for all new messages. -geofft
59 * Fix a bug causing corrupted input in the editwin on end-of-line. -nelhage
60 * Add better support for adding hooks in perl that behave correctly
61       on module reload. -nelhage
62 * Added a :reload-module command to reload a single module. -nelhage
63 * Fixed quoting issues replying to jabber users or MUCs containing
64        whitespace or quites. -nelhage
65
661.0.1
67 * Remove an unneeded .orig file from libfaim/ - hartmans
68 * Update the copyright notice in ':show license' - nelhage
69 * Add a jabber:spew variable that controls whether unrecognized
70   Jabber messages (such as pubsub requests) are displayed. - nelhage
71 * Make the 'style' command assume the main:: package for
72   unqualified subroutine references. Reported by Jesse Vincent. - nelhage
73 * Rename doc/contributors to the more canonical AUTHORS - nelson
74
751.0.0
76 * Don't fail silently when sourcing a file; actually let the user know. - asedeno
77 * Only hang for 1s, rather than 10s, if there is no zhm - nelhage
78 * Merge the unicode branch to trunk. BarnOwl is now unicode aware
79   and can send, receive, input and display UTF-8 encoded
80   messages. Unicode changelog:
81   * Put glib's CFLAGS and LDFLAGS at the beginning of the corresponding
82     variables. - nelhage
83   * Unicode branch: Fix building without zephyr. - asedeno
84   * Fix a unicode branch wordwrap problem. - asedeno
85   * Fixing an obscure wrapping bug that nelhage and I tracked down. - asedeno
86   * Rename configure.in to configure.ac so Debian autoconf DTRT. - nelhage
87   *  Fix a bug in owl_editwin_move_to_previousword() which would skip over
88       single letter words. - asedeno
89   * I think I like this better. - asedeno
90   * Fix nelhage's key_left bug. Don't spin at the locktext boundary. - asedeno
91   * fix a typo in OWL_FMTEXT_UTF8_BGDEFAULT
92   * fix a parsing issue for attributes - asedeno
93   * Better compliance with UTF-8 processing. Stop trying
94     to pull in a UTF-8 character as soon as we know something has gone
95     wrong. - asedeno
96   * Removing more hackery I left behind after doing things
97     the right way. - asedeno
98   * editwin.c - fix a wrapping bug I introduced in the
99     last revision. It could leave us with a buffer that was not valid UTF-
100     8 - asedeno
101   * editwin.c - lots of utf-8 cleanup that I had been
102     putting off. util.c - a can we break here'' function based on perl's
103     Text::WrapI18N - asedeno
104   * Remove more bad hacks. - asedeno
105   * Remove a debug message I accidentally left in. Remove
106     the hours old check_utf8 hackery in favor of actually marking strings as
107     UTF-8 from the C side. - asedeno
108   * editwin.c: make locktext deal with UTF-8
109   * Jabber - More utf-8 sanitizing.
110   * Pet peeve - tabs. That should be the end of it for
111     now. - asedeno
112   * Shuffling a line of code to where it actually should
113     be. - asedeno
114   * Patches to jabber libraries for better UTF-8
115     handling. - asedeno
116   * fix a typo that was causing background problems
117   * pass defaults attributes through in the truncate functions - asedeno
118   * Eliminating a warning by un-internalizing a new fmtext
119     function. - asedeno
120   * Do not use bit 0x80 to indicate meta. We have other uses for that bit.
121   * shift it above ncurses's KEY_MAX instead. - asedeno
122   * drop unused struct member
123   * fixing post-processing in the editwin. - asedeno
124   * Preserve colors when highlighting search terms. - asedeno
125   * ignore KEY_RESIZE if we know what that is. We don't need an
126     unhandled keypress every time we resize the terminal. - asedeno
127   * more strict utf-8 byte fetching.
128     This probably still needs more work. - asedeno
129   * Strip formmating characters when dumping to
130     file. - asedeno
131   * fixing bugs in editwin bufflen calculations. - asedeno
132   * Fix search code so higlighting actually works. - asedeno
133   * Remove options for libcurses and libncurses. This really only works with
134     libncursesw. - asedeno
135   * text entry:
136    first pass at utf-8 text entry.
137   * Change wcwidth() calls to mk_wcwidth() - asedeno
138   * First pass at outbound zephyr -> iso-8859-1 sanitizing.
139     Not that we can input anything other than ascii yet...
140   * Fixing bug encountered when last field was not null-
141     terminated. - asedeno
142   * First pass at incoming zephyr -> UTF-8 sanitizing.
143     This only operates on incoming data so far. We still need to clean outgoing
144     data -- the plan is to attempt conversion to ISO-8859-1, and use that if it
145     works. - asedeno
146   * Reworked the fmtext format to use in-line formatting.  Characters used
147     for formatting are part of Unicode Supplemental Private Area-B, or
148     Plane 16.
149   * include wchar.h
150   * replace hand-rolled width detection with wcswidth.
151   * pad with space if we end up halfway into a character at the start of a line.
152   * UTF-8 - first pass
153   * make owl_text_truncate_cols() and owl_fmtext_truncate_cols() understand character width.
154     This may need more work. Some code duplication - see if we can refactor.
155   * stristr() rewritten to yse g_utf_casefold() instead of downstr(), and restructured to have a single return.
156   * only_whitespace() rewritten for unicode.
157 * Fix sending jabbers to JIDs beginning with `+' - nelhage
158 * Compile zcrypt.c with -w so I don't get all these warnings in my compile
159   output whenever I change any headers - nelhage
160 * Implement /me for outgoing IRC messages - geofft
161 * Add a makefile rule to support emacs flymake-mode - nelhage
162 * Bind the combinations the iPhone sends for arrow keys [probably other
163   terminals, too] - nelhage
164 * avoid null pointer dereference if msg is NULL (or a 0 length is
165   claimed) - shadow
166 * Move styles from the current mishmash of different options to a unified
167   perl object interface. - nelhage
168 * Refactor default style code somewhat to be more easily extensible - nelhage
169 * Put glib's CFLAGS and LDFLAGS at the beginning of the corresponding
170   variables. - nelhage
171 * IRC: /list, /who, and /stats commands - geofft
172 * IRC: Make M-N mostly, rather than completely, useless. - geofft
173 * Fix two small bugs in styling pointed out by broder - nelhage
174 * Document create_style - nelhage
175 * Move time_hhmm into a format_time method - nelhage
176 * Remove prototypes from perlwrap.pm - nelhage
177 * Quote regexp filter elements with spaces in them. - asedeno
178 * Deal with smart-narrowing when the user's screenname has spaces in it. - asedeno
179 * Add a new struct member to the global to hold an escaped aim screenname.
180    populate the aforementioned new struct member. - asedeno
181 * Removed our debian subdirectory, per Debian guidelines, at broder's
182   request. - geofft
183 * Make `all' the first target so we build the modules by default - nelhage
184 * Commit inc/ under IRC so we build on systems with too old a M::I - nelhage
185 * updating contributors - nelhage
186 * Clean up licensing information and add a COPYING file - nelhage
187 * Update bugs email to a more professional looking address, and remove the
188   Development build warning. - nelhage
189
190BarnOwl r989 (2008-03-21)
191 * Stick modules on the beginning of @INC, not the end - nelhage
192 * Merge in the select branch. BarnOwl's main loop now uses a select()
193   based event loop rather than continually polling, and uses much less
194   CPU. - asedeno
195 * Fix a bug where an explicit (local) realm foiled
196   owl_message_get_cc_without_recipient(). (per quentin) - geofft
197 * HTML Filtering fix for BODY tag - austein
198 * Add parenthesis to fix a perl error in IRC - nelhage
199 * Make IRC admin messages actually display their content - nelhage
200 * Fix a file descriptor leak. - asedeno
201 * Fix loading PAR modules that weren't present at startup - nelhage
202 * Update perlwrap.pm documentation for the select() BarnOwl - nelhage
203 * Render IRC notices as normal messages - nelhage
204 * ensure that even if ioctl(,TIOCGWINSZ,) returns 0s we never set g->lines
205   (and g->cols) to 0 - shadow
206 * Generate less ugly error spew if a module fails to load - nelhage
207 * Added :webzephyr command with keybinding W. - geofft
208 * Fix a race condition in which zephyrs received during init are not noticed
209   until the next zephyr after entering the mainloop. - asedeno
210
211BarnOwl r941 (2008-02-18)
212 * unicode/glib branch Remove a debug message I accidentally left in. Remove
213   the hours old check_utf8 hackery in favor of actually marking strings as
214   UTF-8 from the C side. - asedeno
215 * unicode/glib branch Remove more bad hacks. - asedeno
216 * Rewrite ::Connection to not subclass Net::IRC::Connection to avoid stupid
217   namespace conflicts - nelhage
218 * svn:ignore for great justice - nelhage
219 * Attempt to load BarnOwl::MessageList::SQL and error if it fails. Note that
220   the aforementioned class n'existe pas - nelhage
221 * unicode/glib branch editwin.c - lots of utf-8 cleanup that I had been
222   putting off. util.c - a can we break here'' function based on perl's
223   Text::WrapI18N - asedeno
224 * unicode/glib branch editwin.c - fix a wrapping bug I introduced in the
225   last revision. It could leave us with a buffer that was not valid UTF-
226   8 - asedeno
227 * dropping one unnecessary time(NULL) call. - asedeno
228 * unicode/glib branch removing more hackery I left behind after doing things
229   the right way. - asedeno
230 * unicode/glib branch better compliance with UTF-8 processing. Stop trying
231   to pull in a UTF-8 character as soon as we know something has gone
232   wrong. - asedeno
233*        First prototype of a SQL-backed message list. This is probably
234        horribly broken, and is painfully slow at the moment. - nelhage
235 * minor changes to IRC
236 * Resizing should not leave the current message off screen. - asedeno
237 * Added initial IRC support. Not built or installed by default. - geofft
238 * Preserve colors when highlighting search terms. - asedeno
239 * Handle zephyrs to users on non -c message better [trac #39] - nelhage
240 * Make :reload-modules work correctly with PARs - nelhage
241 * Document (nearly) every public function in the BarnOwl:: namespace -
242   nelhage
243 * strip IRC coloring from IRC messages - nelhage
244 * Document ::Hook and ::Hooks - nelhage
245 * Nuke the stylefunc_default C code - nelhage
246 * Nuke some refs to owl_message_get_notice - nelhage
247 * Clearing the line should preserve the echochar. - asedeno
248 * Fix logins to jabber.org - reported by gendalia - asedeno
249 * Move oneline style to perl. [trac #43] - nelhage
250 * Fix the error messages sending to users who don't exist or aren't signed
251   on. - nelhage
252 * Jabber Buddy Lists:
253  * Query the jabber:show_offline_buddies once when invoking onGetBuddyList()
254  * Don't bold online roster entries when hiding offline ones - asedeno
255 * Portability - removing C++ style comments. - asedeno
256 * Add the variable 'zsender' to customize the outgoing Zephyr
257   username. - geofft
258 * Bind M-left and M-right by default in the editor - nelhage
259 * eliminate a segfault. - asedeno
260
261BarnOwl r796 (2008-01-08)
262 * Define variables at the top of blocks for better ANSI C-ness (patch by
263   Chris Laas) [trac #18] - nelhage
264 * Implement :punt and :unpunt to punt arbitrary filters, rather than just z-
265   triplets. [trac #6] - nelhage
266 * Show non-personal pings like stock owl does. [trac #12] - nelhage
267 * Fix problems with jabber servers keeping the same stream id when
268   negotiating TLS tracked down by Greg Hudson. - asedeno
269 * When we're narrowing to an instance, properly include un-instances. This
270   fixes narrowing to any instance that starts with ``un-'' - nelhage
271 * Don't read before the start of the string for an instance - nelhage
272 * Adding an explicit -f - to the tar commands for FreeBSD compatibility
273   (reported by ecprice) - nelhage
274 * Some fixes for FreeBSD. - ecprice
275 * Do ~-expansion in :loadsubs. [trac #26] - nelhage
276 * Validate JIDs passed to jmuc join. [trac #25] - nelhage
277 * Show full JIDs for users in non-anonymous JIDs in :jmuc presence. [trac
278   #24] - nelhage
279 * Don't crash if we hit `i' on a zephyr containing non-ASCII iso-8859-
280   *. - nelhage
281 * added -m flag to aimwrite - matt
282 * aimwrite -m displays according to displayoutgoing - austein
283 * Make the usleep call more reasonable for less CPU usage - asedeno
284 * Add zip as build-depends - nelhage
285 * bind END in popless windows. [trac #41] - nelhage
286 * Allow C-r on outgoing messages (useful for CCs) - chmrr
287 * Identify ourselves as barnowl more consistently - chmrr
288 * Report subscription errors more accurately. - chmrr
289
290BarnOwl r751 (2007-08-01)
291 * Refactored message processing: All new messages, incoming or outgoing, get
292   added to the owl_global_messagequeue by protocol code, and then passed to
293   owl_proces_message, which serves as a single central code path for adding
294   messages to the message list. - nelhage
295 * Properly pass the usage when defining the jabberlogin command - nelhage
296 * Outgoing messages now log as much information as incoming messages - chmrr
297 * Fix a pointer corruption issue if we redefine the current style. - nelhage
298 * Adding 3 variables for the Jabber module: jabber:show_offline_buddies,
299   jabber:auto_away_timeout, jabber:auto_xa_timeout - asedeno
300 * Don't include self when replying to CC'd messages - chmrr
301 * Outgoing CC'd messages get logged to all recipients - chmrr
302 * Incoming CC'd zephyrs logged to all people they were sent to - chmrr
303 * Change the width at which we hard-wrap outgoing zephyrs by default so
304   that zephyrs will fit on screen with the default style. (suggested by
305   andersk) - nelhage
306 * Added a -s switch to change the location of the config dir (~/.owl) -
307   nelhage
308 * Don't allow you to go off the end of an empty message list. [trac
309   #9] - nelhage
310 * Allow you to send to -c message -i personal * - nelhage
311 * Make zephyr smartnarrow use the `personal' and `private' distinction
312   properly [trac #2] - nelhage
313 * Change the default personal filter to <message,personal,*> for
314   zephyr. - nelhage
315 * Display opcodes with the default style - nelhage
316
317BarnOwl r720 (2007-05-29)
318 * Correctly define a ``private'' zephyr as one that is sent to a
319    recipient that is neither empty nor starts with ``@'' - nelhage
320 * Fix builds under make -j - nelhage
321 * Fix sending of zcrypted zephyrs - nelhage
322 * Rewrite perl internals to factor out module loading. - nelhage
323 * Fix display of zephyrs with empty instances - nelhage
324 * Implemented a Module::Install plugin for building barnowl plugins - nelhage
325 * Modified the makefile to build and install perl modules - nelhage
326 * Fix the bug in which rejoining a MUC you're already in (nick change)
327   results in the MUC appearing multiple times when you show presence info for
328   all MUCs. - asedeno
329 * Implemented loading of both PAR and unpacked modules, and module
330   reloading. - nelhage
331 * Make the Makefile build and install perl modules on a clean install.
332   - nelhage
333 * Implemented an LRU cache of the message list fmtexts. This reduces
334   memory usage by roughly 1MB/kilo-zephyrs in steady state. - nelhage
335 * Escape $ in regexes (e.g. smartnarrowed instances)
336  - nelhage
337 * Adding 256-color support. This requires a version of ncurses that supports
338   ABI-6. Colors beyond the first eight are refered to by number. - asedeno
339 * Correctly escape {} and () in regular expressions - nelhage
340 * When generating filters, change single quotes and double quotes into
341   dots, so they line parser doesn't choke on them. This fixes problems
342   smart-narrowing to instances such as "this'll break it". - asedeno
343 * Improving the private/personal distinction:
344 * ``private'' means to/or from an individual, not a chat/class/etc.
345 * ``personal'' means ``matches the personal filter'' - nelhage
346 * Beep on personal messages, not private, by default.
347  - nelhage
348 * Some small doc fixes (thanks to jwalden for pointing them out). - nelhage
349 * Added the ability to define new variables from perl. - nelhage
350 * Documented said ability via BarnOwl::new_variable_* - nelhage
351 * Add a "setsearch" command which sets the search highlight string without
352   moving the cursor. - glasser
353
354BarnOwl r657 (2007-03-06)
355 * Fix libfaim to make it compile - nelhage
356 * Apply some memory leak patches by alexmv and yoz - nelhage
357 * Make smartnarrow un- and .d-aware - chmrr
358 * Add a `getstyle' command - asedeno
359 * Make Test failures print file/line numbers - nelhage
360 * Fixed regression tests for booleans variables. - asedeno
361 * Add a perl perl hook into owl's main loop. - asedeno
362 * Added the ability to install real commands from perl code - nelhage
363 * Fix a hang in owl_editwin_move_to_previousword - nelhage
364 * Updated the version number and startup message - nelhage
365 * Added initial support for creating and injecting messages into the display
366   from perl. - nelhage
367 * Added the ability for perl code to hang arbitrary reply commands off of
368   messages. - nelhage
369 * Expose the edit window hooks to perl - nelhage
370 * Removed references to -ldes - kchen
371 * Exposed owl_function_error and owl_function_makemsg as commands - nelhage
372 * Implemented initial Jabber support. - asedeno
373 * Implemented initial Jabber groupchat support. - asedeno
374 * Added a perl hook to the buddy list display - nelhage
375 * Added a get_data_dir function to the perl interface - hartmans
376 * Don't include the default typemap in xsubpp compile line - hartmans
377 * Cause perl to always be loaded, even if no owlconf is present. - hartmans
378 * Implemented an extensible perl module system - hartmans
379 * Exposed owl_fuction_popless_text() and owl_fuction_popless_ztext() to
380   perl - asedeno
381 * Support multiple simaltaneous Jabber connections - asedeno
382 * Fixed a segfault on subbing without a .zephyr.subs file - nelhage
383 * Implemented Jabber Roster support - asedeno
384 * Don't quit if we can't contact the hostmaster. - nelhage
385 * Support filters based on arbitrary message attributes - nelhage
386 * Rewrote and massively cleaned up the filter system internals. - nelhage
387 * Fixed the ``personal'' filter to work better with all protocols - nelhage
388 * Made `smartnarrow' more generic, and implemented it for jabber. - nelhage
389 * Changed executable name to "barnowl" - nelhage
390 * Renamed the `owl::' package to BarnOwl:: - nelhage
391 * Dynamically link perl libraries - nelhage
392 * Added background color support - asedeno
393 * Added idle-time tracking, and updated jabber to automatically set away
394   status - asedeno
395 * Implemented shortnames for jabber rosters and jwriting. - nelhage
396 * Fixed a crash when smartnarrowing to instances with lots of periods or
397   other regular expression metacharacters. - nelhage
398 * Support comments in ~/.owl/startup - asedeno
399 * Dispal tweaks for MIT's -c discuss messages. - asedeno
400 * Don't override perl's idea of the switches we need to do embedding. -
401   shadow
402 * Make the default style perl, rather than C. - nelhage
403 * Refactor the default style to be protocol generic - nelhage
404 * Prefer ~/.barnowlconf to .owlconf, if it exists. - nelhage
405 * Intern hostnames and message attribute keys for a slight memory
406   saving. - nelhage
407 * Use libncursesw when available - asedeno
408
4092.1.12pre
410        Don't crash when sending/logging outgoing
411           AIM message and not logged in [BZ 90]
412        Don't crash when senging to someone not on AIM buddy list [BZ 94]
413           (patch from Alex Vandiver)
414       
4152.1.11
416        Don't crash doing zlocate with bad tickets. [BZ 12]
417        Metion the path for the owlconf in intro.txt [BZ 54]
418        Print better error message if startup fails due to unreadable
419           .owlconf [BZ 57]
420        In load-subs: Print an error message if the file is unreadable or
421          doesn't exist, UNLESS load-subs is called with no arguments.  In
422          that case only print an error if the file exists but isn't
423          readable.  Still prints an error either way if zephyr reports a
424          failure. [BZ 19]
425        Fixed some small memory leaks in logging if files unwriteable
426        If the variable logfilter is set it names a filter.  Any messages
427          matching this filter are logged.  This is an independent
428          mechanism from the other logging variables.  If you want to
429          control all logging with logfilter the other variables must be
430          set to their default (off) settings. [BZ 37]
431        Relatively substantial changes made under the hood to support
432          filter logging.  Now have more consistent interfaces to
433          creating messages etc.  Still needs more work though.
434        Deal gracefully with being resized as small as 1x1 [BZ 3]
435
4362.1.10
437        Fix a new problem finding libdes425
438        Don't crash on very long hostnames [BZ 52]
439        In 'sub' command, create .zephyr.subs if it doesn't exist [BZ 15]
440        A fix for certain resize crashes (partly from alexmv) [BZ 55]
441        Turn off ISTRIP (gildea)
442       
4432.1.9
444        Include /usr/include/kerberosIV if it's found
445       
4462.1.8
447        Do OLC formatting for anything coming from olc.matisse
448        Improvements to popup size algorithm (from gildea)
449        Improved 'show colors' with non-colored labels
450       
4512.1.7
452        The colorclass command is added, to make colorization easy
453        Handle MIT Athena OLC zephyrs correctly
454        Updated ktools website / bug address
455        Do ntohs() when printing zephyr port in zephyr info
456        Updated man page
457       
4582.1.6
459        Fixed three bugs found by Valgrind.
460        Fixed a case where doing "aim addbuddy" instead of "addbuddy aim"
461          would cause a segfault.
462        pexec will now incrimentally display data as it is output
463          by the child process.  Additionally, commands running under
464          pexec may now be killed by quitting out of the popless window.
465        Added muxevents select loop dispatcher.  File descriptors may
466          be registered with muxevents and handlers will be dispatched
467          to when data is available for non-blocking read/write/except.
468        Switched the stderr_redir stuff to use muxevents.
469        Print C-\ correctly (from gildea)
470        Dropped first brace in muxevents functions for consistency
471        Catch SIGHUP and SIGTERM and do a proper logout
472       
4732.1.5
474        Added a licence
475        The 'personalbell' variable can now be set to 'on' 'off' or
476          the name of a filter to match against
477        The 'loglogins' variable now controls whether login/logout
478          messages are logged.  It is off by default.  For now this
479          affects only AIM messages, later zephyr login/logout messages
480          will also be logged if this is set to 'on'
481        Added 'show license'
482       
4832.1.4
484        Normalize and downcase AIM names for logging
485        Fixed a bug where sending a null zsig could cause a crash
486        Better 'away' toggling if only one protocol is away.
487
4882.1.3
489        Added perl filter elements.  Similar to having "filter <subfilter>"
490          in a filter, you may also have "perl <functionname>"
491          where <functionname> is passed an owl::Message object and
492          returns 0 or 1 depending on whether the message matches
493          that element of the filter.
494        Don't print an error about loading subs if there is no
495          .zephyr.subs
496        Do the initial zephyr_buddy_check when pseduologin set to true.
497        Updated man page
498       
4992.1.2
500        removed unused filter_depth variable
501        Fixed memory bug on receiving pings
502       
5032.1.1
504        Filters of filters now work.
505        Removed the "possibly not readable" part of the config parsing
506          error
507        In the sepbar, reverse video the view name when it's not set to
508          view_home (as opposed to the static 'all').
509        The '!' key (bound to 'view -r') now creates a negative version of
510          the current view and switches to it.  i.e. "show me all the
511          messages that are not these"
512        Added the 'ignorelogins' variable
513        Log when outgoing personal message fails
514        Removed file descriptor from sigpipe catcher printer just for now,
515          since the field does not exist on OSX
516        Added an ifndef for socklen_t in libfaim/ft.c
517        Added the 'aim search' command.  The popup on callback may be
518          dangerous, should switch to an admin msg for results, or add a
519          new event queue
520        First pass at AIM away messages.  It is a little different from
521          what most clients seem to do, in that an away reply is sent for
522          each message received.  Most clients only reply to the first one
523          per away-session.
524        Now have a set of 'aaway' commands and variables just like the
525          'zaway' ones (except that changing the 'aaway' variable talks to
526          the server)
527        The new 'away' command does everything for both AIM *and* zephyr.
528          There is a known funkiness here, where if you turn one away on,
529          and then use 'away' (or 'A') to toggle, you will turn on off and
530          the other on.  Just leaving it for now.  Should do better in the
531          next patch.
532        The 'A' key is bound to 'away'
533        Status bar can now read AWAY, Z-AWAY or A-AWAY.
534        Changed C-n to scroll down just a line in popless
535        If the config exists but is not readable, print an error before
536          exiting
537        Only print forced AIM logout message once.
538        Don't bind F1 to help in edit context
539        Fix bug in 'getsubs' with no tickets
540        New code for getting users from .anyfile
541        Added the 'pseudologins' variable, and code to do it
542        new attributes 'pseudo' 'logintty' and 'loginhost'
543        Don't print extra new lines in popless_file
544        New zephyr_get_field function
545       
5462.0.14
547        Fixed missing word in startup message
548        Better 'status' command
549        Use '+' for popwin corners when 'fancylines' is off
550        Allow TERMINFO to be overridden in the envrionment
551        Command line arg -D turns on debugging and deletes previous
552          debugging file
553        Do ~ expansion in 'dump' command.
554        Current directory added to 'status' command
555        Massive changes to libfaim and aim
556       
5572.0.13
558        Changed startup message for new mailing list
559        blist now prints AIM info even if .anyone is unreadable
560        Catch SIGPIPE and print an error rather than crashing.
561                [It's possible that this may have some portability
562                issues under Solaris and we may need to add some
563                configure stuff around SA_SIGINFO...]
564        Handle the case in aim_bstream_send where aim_send returns -1,
565                although there is likely an underlying problem here
566                that would lead to this case.
567        Print the username on aim login failure, not something random like
568                the password.  ;)
569        Un-word-wrap text when sending AIM messages.
570        Replace the main loop continue in the keyboard handler with an else.
571       
5722.0.12
573        Command history now doesn't allow the last entry
574           to be repeated
575        If format_msg returns "" print "<unformatted message>"
576        Better align oneline admin and loopback messages
577        Print an admin message indicating when subscriptions can
578           not be loaded on startup
579        Set aim_ignorelogin_timer to 15 by default
580        Admin message on login/logout of AIM
581        Fixed double quoting in smartzpunt
582        Added timestamp to login/logout messages
583        Fixed replies to loopback messages
584        Fixed smartnarrow on classes/instances with spaces
585        Added the 'loggingdirection' variable
586        All loopback messages log to 'loopback' now
587        Print an error message if trying an invalid color for a filter
588        Fixed bug causing > not to go to end of editwin every time
589       
5902.0.11
591        Updated basic help
592        Display CC: in outgoing CC messages
593        More AIM logout detection
594        Don't proclaim "interfaces changed" on first build.
595        Added the 'loopback' message type
596        Added the 'loopwrite' command
597        Added a timestamp to the default style
598        Zpunt now works with weird regex characters
599        Smart filters now work with weird regex characters
600       
6012.0.10
602        Allow 'hostname' in filters.
603        Fixed bug in reporting when no one is subbed to a class
604        Added an extral newline in logging incoming zephyrs
605        An admin message is displayed when you are logged out of AIM
606        Print an error message and admin message if an AIM send fails
607       
6082.0.9
609        Added the 'fancylines' variable.
610        Added the 'show startup' command.
611        Added feature for capturing stderr messages
612           from commands and displaying them in the errors buffer.
613        Create an admin message explaning that a zephyr couldn't
614           be sent
615        Better reporting of perl errors (both into the errqueue
616                and also clearing the error after displaying it).
617        Allow default_style to be specified in config.
618        Added errqueue
619        Added command "show errors"
620        Fixed bug removing newlines in backup files
621       
6222.0.8
623        Increased size of screen name field in buddy listing
624        Fixed bug with idle times causing broken pipes.
625        New libfaim
626        Added the 'source' command.
627        Make sure that a newline is always at the end of messages
628                returned by perl style formatting functions.
629        Add owl::login and owl::auth to legacy variables populated for format_msg.
630        Additions to intro.txt and advanced.txt documents.  (Still in progress.)
631        Add base methods for login_host and login_tty
632                and others that return undef.
633        New API for perl message formatting functions. 
634                Legacy variables are still supported for owl::format_msg
635                and owl::receive_msg, but these functions are now also
636                passed an owl::Message object which contains methods
637                for accessing the contents of the message.  See perlwrap.pm
638                (and docs TBD) for the available methods.
639                *** WARNING:  The exact API for owl::Message has
640                *** not yet stabilized.
641        Added "style" command for creating new styles.
642                Usage:  style <name> perl <function_name>
643        Added support for "show styles".  Changed global style table
644                from list to dictionary.
645        Changed AIM password prompt from "Password:" to "AIM Password:".
646        Messages are reformatted after a window resize to allow styles
647                to take into account the width of the window.
648        When perl throws an error, the message is put in the msgwin
649                if possible.
650        Added perl functions for:       
651                owl::getcurmsg() -- returns an owl::Message object for
652                                    the active message
653                                    in the current view.
654                owl::getnumcols() -- returns the column width of the window
655                owl::zephyr_getrealm() -- returns the zephyr realm
656                owl::zephyr_getsender() -- returns the zephyr sender
657        Made owl::COMMAND("foo"); be syntactic sugar for
658                owl::command("COMMAND foo");
659        Added perlwrap.pm to contain perl code to be compiled into
660                the binary.  This is transformed into perlwrap.c by
661                encapsulate.pl.
662        Renamed readconfig.c to perlconfig.c and changed variables accordingly.
663        Minor bugfixes in cmd.c and commands.c
664        Improved intro doc
665
6662.0.7
667        Idletimes now appear in the buddylisting
668        Failed AIM logins are now correctly reported
669        Owl will build now without zephyr, enabling it to act as a
670          standalone AIM client.
671        There is now a zcrypt command
672        Replies to zcrypted messages now work
673        Don't allow zwrite if zephyr isn't present
674        Cleaned up some warnings from linux gcc.
675        Fixed bug that can cause response stuff to crash
676        Improved status command
677        Fixed bug in buddy stuff
678       
6792.0.6
680        aimlogin will now accept the screenname without a password and ask
681           for the password such that it is not echo'd to the terminal
682        'addbuddy aim' and 'delbuddy aim' now work
683        Bug fix to make zwrite -m work with -c/-i
684        Fixed documentation bug in aimwrite
685        Initialze $owl::auth
686        Fix in autoconf for des425
687        Reformatted editwin.c and added capability of doing password-style
688           echoing
689       
6902.0.5
691        Fix in finding des for building zcrypt
692        Fixed description for alert_action variable
693        More detailed usage from -h
694        Special cased replies for webzephyr users on classes and
695          login notifications for webzephyr users
696        Fixed bug that caused a crash on zpunt with '*' for an instance
697        AIM logout and then login now works.
698        Fixed bug causing view -d not to work.
699        Added hostname and tty name to LOGIN/LOGOUT zephyrs on oneline
700          style
701       
7022.0.4
703        Made command line option -n actually work
704        Implemented styles, including the 'default' 'basic' and 'oneline'
705          styles.  A 'perl' style is available if a format_msg() function
706          is found in .owlconf
707        Added the 'default_style' variable
708        Added the 'toggle-oneline' command
709        The 'o' key is bound to 'toggle-oneline'
710        Internally, the one view now has a name, 'main', and message
711          recalcuations are done in place when its filter is changed.
712        Added filter field 'login' which can take the values 'login'
713           'logout' or 'none'
714        Added the perl variable $owl::login, just as above
715        Updated the 'login' and 'trash' filters appropriately
716        Fix for checking for DES in build system
717        Bug fix in using makemsg when no curses window is present
718        The variable $owl::auth now exists in perl
719        Use new internal function to delete zephyr subs from file
720        New 'sepbar_disable' variable can turn off sepbar info display
721        Updated contributor info
722        Added the 'show view' command
723        Bug fix in owl_regex
724        Fixed personal aim messages logging to class directory
725        Log "LOGIN" or "LOGOUT" for AIM buddy messages
726        zwrite -m now correctly displays an outgoing message and logs
727        zwrite -s now works
728        Strip spaces in AIM usernames on aimwrite send
729        Removed libfaim/config.log from CVS
730        Fixed some easy fixed-length buffers
731        Wordwrap incoming AIM messages
732        Fixed bug causing buddies not to be added to buddy list during
733          ingorelogin timer
734        Translate &lt; &gt; &amp; &quot; &nbsp; &ensp, &emsp, &endash and
735           &emdash
736       
7372.0.3
738        Don't ring the terminal bell on mail messages.
739        Nuke <FONT>
740        Make the build work a little better on OSX
741        Fixed a bug in fmtext
742        Expanded the size of the hostname buffer
743       
7442.0.2
745        Fixed bug in 'startup' command.
746
7472.0.1
748        Moved newmsgproc stuff to a function procedure
749        Added the 'newlinestrip' variable, on by default, that strips
750          leading and trailing newlines from incoming messages.
751        Fixed a case sensitivity probelm in owl_message_is_personal and
752           owl_message_is_private
753        The message object now uses a list of attributes internally, in
754          prep. for supporting new messaging protocols
755        owl_function_info now uses fmtext instead of one staticly sized
756          buffer
757        in owl_message_get_cc() require that the colon be present after
758          cc.
759        Added some defenses against resize crashes, and put in debug
760          messages if they're encountered
761        In filters 'true' and 'false' are now valid tokens.
762        The 'all' filter has been redefinied to be 'true' and there is a
763          'none' filter defined as 'false'
764        Fixed bug in 'unsub' command that could cause file corruption
765        In the zlist function, give a more detailed error message if
766          the file cannot be opened.
767        Renamed old instances of zsig_exec in the code to zsigproc
768        Don't print the stderr from zsigproc
769        Added a 'loadloginsubs' command to load login subscriptions from a
770          file
771        Added a 'loadsubs' command to eventually phase out the 'load-subs'
772          command
773        Made M-n work on classes and instances with spaces in them
774        Zaway now obeys the smart strip variable
775        Hacked the build system to not have the -E link problem on Athena
776        Added ZResetAuthentication in a number of places to fix problems
777          with stale tickets
778        Added some hooks for malloc debugging
779        M-p is bound to 'view personal' by default
780        loadsubs and loadloginsubs only print messages if in interactive
781          mode
782        added the 'alert_filter' variable, defaults to 'none'.
783        added the 'alert_action' variable, which is an owl command that
784          will be executed when new messages arive that match the
785          alert_filter
786        added the 'term' command which takes the 'raise' and 'deiconify'
787          options.  It assumes xterm for now.
788        only 'make distclean' will nuke core and ~ files now
789        fixes to owl_function_do_newmsgproc from Stephen
790        converted functions.c to new code style, which I'm giving a shot
791        Makefile.in: define DATADIR, for default owlconf.
792        Makefile.in: provide "all" and "install" rules.
793        configure.in: try also libdes and libkrb4, for people using heimdal
794        configure.in: see if des_ecb_encrypt is already prototyped.
795        configure.in: minor changes to work with new autoconf without needing acconfig.h.
796        configure.in: find the install program.
797        configure.in: test for use_default_colors since some versions of
798          solaris don't have it, so we can at least compile something
799          vaguely working there.
800        keypress.c: ifdefs for keys not defined on at least some solarises.
801        owl.c: don't call use_default_colors if we don't have it
802        readconfig.c: added *commented out* code to try to find a
803          system-default owlconf if the user doesn't have one.  Have to
804          ponder if I want this
805        zcrypt.c: don't prototype des_ecb_encrypt if there is a prototype in
806          des.h.
807        zcrypt.c: include owl.h so we get the configure-generated config.h
808        Change to codelist.pl to deal with new code style
809        Remove some ancient stuff from zcrypt.c
810        General cleanup to Makefile.in
811        CTRL and META are now OWL_CTRL and OWL_META.  OWL_CTRL moved to
812          keypress.c
813        do_encrypt declaired static
814        if we don't have des functions, do not try to build in zcrypt
815        kill the newmsgproc function on exit
816        Added libfaim
817        Added basic AIM support, including the "aimlogin", "aimwrite" and
818           "aimlogout" commands
819        New built-in filters 'aim' and 'zephyr'.
820        Do ZResetAuthentication() before zlog_in and zlog_out as well.
821        Print AIM login / logout notifications
822        The 'alist' command prints a list of aim buddies logged in
823        The 'blist' command prints users from all protocols
824        The 'l' key is now bound to 'blist' instead of 'zlist'
825        Started work on 'addbuddy' and 'delbuddy' command but they DO NOT
826          WORK yet
827        Removed a bit of faim code that allowed commands to be executed.
828        The 'B' key is now bound to 'alist'
829        Added the 'startup' and 'unstartup' commands
830        The $HOME/.owl directory is created on startup if it does not exist
831        Added the 'aim_ingorelogin_timer' variable
832        'addbuddy zephyr <user>' and 'delbuddy zephyr <user>' now work.
833        'isloginout' and 'isprivate' are now message attributes
834        improved 'info' function lists seperate info for zephyr, aim and
835           also prints all message attributes
836        AIM logging (both in and out) now works
837        Disabled 'addbuddy' and 'delbuddy' for aim since it doesn't work yet
838        Hacked the Perl build stuff not to link with iconv
839       
8401.2.8
841        Class pings are displayed differently now
842        Updated owlconf.simple example to format outgoing messages.
843       
8441.2.7
845        Outgoing messages now go through the config for formatting
846        Zaway now makes an outgoing message, instead of an admin message
847        The 'zlocate' command can now handle multiple users
848        The simple user format for "To:" is in effect again
849        Prettyed up the zwrite line for using 'reply' on a zaway
850        Added a workaround for a libzephyr bug that caused zwrites to fail
851          if zephyrs were sent just before and just after renewing tickets
852        Fixed a memory bug in getsubs
853        Added receive support for zcrypt messages
854        Added the 'zcrypt' variable which controls whether or not zcrypt
855          messages are decrypted
856        'reply' is disabled for zcrypt until sending zcrypt works
857        Started implementing zcrypt command
858        More updates to the intro doc
859       
8601.2.6
861        Started adding code for newmsgproc.  It doesn't fully work yet!
862          Don't use it.
863        Added search, '/' and '?' to basic help.
864        Will attempt to keep the current message as close as possible
865             to the previous current message after an expunge.
866        "set <variable>" and "unset <variable>" now work for boolean variables.
867        Fixed a bug in owl_function_calculate_topmsg_normal that caused a
868          segfault
869        Fixed some typos in the intro doc
870        Removed old zlog functions from zephyr.c
871        Implemented the dump command
872        New startup message
873       
8741.2.5
875        Patch to fix memory bug in replying to CC messages
876        If we're on Athena and have static krb (or other) libraries, use
877          them
878        Added "athstatic" program to the release, which handles the above
879        Cast to an int for isspace, to make gcc -Wall quiet
880        Added 'zlist' and 'l' to basic help.
881       
8821.2.4
883        'zlog in' will now take an optional thrid argument to set the
884             'tty' variable before setting the zlocation
885        There is now a 'zlist' command that acts like 'znol -l'
886        'l' is bound to 'zlist'
887        Fixed memory leak uninitialzed memory read in fmtext
888        viewwin will now say "End" instead of "More" when at the end
889        Added a debugging message indicating the result of topmsg
890          calculations
891        You can now use %me% in filters
892        The built-in personal filter is updated to do so
893        Fixed a bug in moving the pointer after an expunge
894        Fixed up the normal scrolling code.  Now it should always
895          land on a message, but it's still not optimal.
896        Added the variable 'smartstrip' which will strip kerberos
897          instances out for the 'reply' command.
898        Added -R/usr/athena/lib to the build for Athena
899        Started updating the intro document
900        Small changes to help / about
901        The 'subscribe' and 'unsubscribe' commands (and their aliases) now
902          update .zephyr.subs by default.  If either is given the '-t'
903          (for "temporary") option the .zephyr.subs will not be updated
904        Turned off beeping for hitting the top or bottom of the list of
905          messages
906        Made daemon.webzephyr a special case for smartstrip
907        Added 'out' as a default filter for outgoing messages
908       
9091.2.3
910        Added filters "ping", "auto" and "login" by default.
911        Added "body" as a valid field to match on in a filter.
912        Temporary fix to bug where C-SPACE would cause the key handler to
913             lock up.
914        Messages now have a direciton (in, out or none).  Filters can
915             match on this direction
916        Outbound messages are no longer type 'admin' but are of the
917             appropriate message type (i.e. 'zephyr') and are direction
918             'out'.
919        Smartnarrow now works on outgoing messages
920        'info' updated to show more information for admin and outgoing
921             messages
922        Renamed pretty_sender to short_zuser and renamed long_sender to
923             long_zuser
924        Moved zsig generation to the zwrite object
925        Print the zsig used for outgoing messages
926        The tty variable now controls the zephyr location tty name
927       
9281.2.2
929        Added the 'search' command.
930        '/' is a keybinding for 'search'
931        '?' is a keybinding for 'search -r'
932        Fixed stristr, which was completely broken
933        renamed owl_fmtext_ztext_stylestrip to owl_function_ztext_styletsrip
934             and put it in functions.c
935        Attempts to stay near the current message when switching views.
936             When switching from an empty view to one we've previously
937             been in, the new current message position will attempt
938             to be close to the current position from the last
939             time we visited that view.
940        Fixed bug in readconfig.c that prevented building under perl 5.005.
941        Switched "C-x C-x" to only "startcommand quit"
942        'getsubs' prints closer to the order you sub in.
943        Modified the behavior of last so that "> >" will clear the screen.
944        The new behavior of last is:
945              Moves the pointer to the last message in the view.
946              If we are already at the last message in the view,
947              blanks the screen and moves just past the end of the view
948              so that new messages will appear starting at the top
949              of the screen.
950        Fixed a typo in the help for smartzpunt.
951        Fixed functions to handle curmsg being past the end of the view.
952
9531.2.1
954        New framework for command handling.
955        New framework for keymap handling.
956        Added commands for everything that is bound
957             to a key (do 'show commands' to get the full list).
958        Added 'multi' and '(' commands to allow multiple commands
959             to be specified on a line.             
960        Added user keybindings with bindkey command.
961        Added command aliases (eg, "alias foo bar").
962        Added undelete command that parallels the delete command.
963        Added additional options to delete command.
964        The reply command now takes arguments.
965        Added 'edit:insert-text' command.
966        Added 'show zpunts' to show active punt filters.
967        Added 'show variable <name>' and 'show variables'.
968        Added 'show command <name>' and 'show commands'.
969        Added 'show keymap <name>' and 'show keymaps'.
970        Added 'M-u' to undelete all messages in current view.
971        Fixed dotsend so that the zephyr will still send if there
972             is whitespace after the dot but not on the same line.
973             This should resolve an issue where dotsend wouldn't work
974             if you'd gone up and edited a zephyr.
975        Bug in page down fixed
976        C-t will transpose characters
977        Fix the scrolling bug where we would sometimes fail to scroll
978             the screen down, leaving the current message off
979             the bottom of the screen.
980        Refixed 'login or login' typo in help
981        Fixed M-u description
982        Removed 'first' and 'last' from basic command help
983        Added M-N to basic key help
984        Added M-D, M-u to basic key help
985        Fixed a quoting problem in configure.in
986        Changed top of help to use 'show' instead of M-x
987        Fixed a bug in the summary field for user-created aliases
988        Added "reply zaway" which sends a zaway response to the current msg.
989        Added "edit:delete-prev-word" command and bound M-BACKSPACE to it.
990        Some buffer overruns fixed
991        Variables now have a summary and a long description.
992                Only the summary is shown with help.
993                The long description is shown with "show variable foo".
994        Added a 'scrollmode' variable which determines how the screen
995             will scroll as the cursor moves.  The default behaves
996             identically to previous versions of owl.
997             The following modes are supported:
998             normal      - This is the owl default.  Scrolling happens
999                           when it needs to, and an attempt is made to
1000                           keep the current message roughly near
1001                           the middle of the screen.  (default)
1002             top         - The current message will always be the
1003                           the top message displayed.
1004             neartop     - The current message will be one down
1005                           from the top message displayed,
1006                           where possible.
1007             center      - An attempt is made to keep the current
1008                           message near the center of the screen.
1009             paged       - The top message displayed only changes
1010                           when user moves the cursor to the top
1011                           or bottom of the screen.  When it moves,
1012                           the screen will be paged up or down and
1013                           the cursor will be near the top or
1014                           the bottom.
1015             pagedcenter - The top message displayed only changes
1016                           when user moves the cursor to the top
1017                           or bottom of the screen.  When it moves,
1018                           the screen will be paged up or down and
1019                           the cursor will be near the center.
1020        Added owl_sprintf which returns the formatted string, or NULL.
1021                The caller must free this string.
1022                This will allocate enough memory and thus
1023                avoid potential some buffer overrun situations.
1024        Simple implementation of 'zwrite -m' (doesn't yet log an outgoing
1025                message as having been sent.)
1026        The "Not logged in or subscribing to messages" error
1027                now includes the name of the recipient.
1028        The "disable-ctrl-d" variable may also be set to "middle"
1029                which will result in ctrl-d only sending at the
1030                end of the message.  This is now the default.
1031                This also added a command "editmulti:done-or-delete".
1032        Fixed a bug in the "reply -e" command.
1033        Always clear the command buffer before executing the command.
1034                (So that interactive commands can sanely do start-command.)
1035        Fixed preservation of e->dotsend across owl_editwin_clear().
1036        Added history for multiline edit windows (eg, for zephyr composition).
1037                The M-n and M-p keys will cycle through the history ring.
1038                In particular, it is now possible to edit the command line
1039                of a zephyr being composed:  C-c it and restart it
1040                and then M-p to get the aborted composition back.
1041        Added owl::send_zwrite(command, message) to the perl glue
1042                to allow for the direct sending of multi-line messages.
1043                For example:  owl::send_zwrite("-c foo -i bar", "hello");
1044        Changed owl_fmtext_print_plain to return an alloc'd string to
1045                avoid buffer overrun risks.
1046        Added owl::ztext_stylestrip("...") function to perlglue
1047                 which returns the ztext with formatting stripped out.
1048        Added colorztext variable which can be used to disable @color()
1049                 strings arriving in messages after it is set.
1050                 (Currently, changing its value won't reformat messages).
1051        Outgoing zephyr logging now obeys the logpath variable.
1052        The '~' character in logpath and classlogpath now gets
1053                 replaced with the user's home directory.
1054        Added simple implementation of smartnarrow-to-admin that
1055                 creates a "type-admin" autofilter.
1056                 This was done mostly so that M-C-n and M-C-p do something
1057                 sane on admin messages.
1058        Added opera to the allowed options to the webbrowser variable.
1059        Fixed some buffer overruns in the "reply" command.
1060        When repying to "all" on a message that begins with "CC:" (eg, sent
1061                 with "zwrite -C", the reply line will be constructed
1062                 from the sender and the usernames on the CC: line
1063                 of the message being replied to.
1064        There is no such thing as C-R, so left C-r as it is but added:
1065                 M-r --- edit reply to all
1066                 M-R --- edit reply to sender
1067        Added RCS Id strings to all files.
1068        'show keymaps' shows details of all keymaps after summary list.
1069        Added --no-move option to delete command.
1070                In particular, delete-and-always-move-down may now
1071                be implemented with
1072                '( delete --no-move ; next --skip-deleted )'.
1073        Folded the nextmsg and prevmsg commands and functions together into
1074                one command which takes arguments.
1075                Added '--filter <name>' option (eg, for next_personal),
1076                '--skip-deleted' option, and
1077                '--last-if-none'/'--first-if-none' options.
1078                Help updated accordingly. 
1079                In particular, the 'personal' filter is now used
1080                for 'next personal'. 
1081                Added --smart-filter and --smart-filter-instance options
1082                to the next and prev commands.
1083        Updated examples/owlconf.erik with the above.
1084        Made owl_function_fast*filt return a string and not do the
1085                narrowing, to make it more general.
1086        Added a smartfilter command that creates a filter
1087                based on the current message and returns the name
1088                of the filter.
1089        Added M-C-n and M-C-p keybindings to "move to next message
1090                matching current" and "move to previous message
1091                matching current"
1092        Added variables edit:maxfillcols and edit:maxwrapcols which
1093                will limit how wide editing paragraphs may get before
1094                they get wrapped.  This is a max and may be narrower
1095                depending on the current size of the window.
1096                If 0, the max is unlimited.  Default is 70 columns for
1097                edit:maxfillcols and unlimited for edit:maxwrapcols.
1098        Added smartzpunt command with key binding of "C-x k".
1099                This starts a zpunt command filled in with
1100                the proposed zpunt.
1101        Fixed a memory reference bug in delete and undelete commands.
1102        Added support for perl to call directly back into owl.
1103        Changed the implementation of owl::command("...") to immediately
1104                call back into owl.  This allows perl to get the return
1105                value of strings returned by owl commands.
1106        Added the getview command which returns the name of the current
1107                view's filter. 
1108        Added the getvar command which returns the value of a variable.
1109        Added an example to examples/owlconf.erik which uses TAB to
1110                narrow and restore the view. 
1111        Added an example to examples/owlconf.erik which uses M-c to
1112                color messages matching the current one green.
1113        Integrated change to fix problem with popup blinking on new zephyrs.
1114        C-l and resizes will now refresh an open viewwin (eg, help).
1115        Updated doc/code.txt to include info about filters, commands,
1116                contexts, and keybindings.
1117        Exec commands cleaned up to not have buffer-size limitations
1118                and to not mess up spaces.  exec also returns a string
1119                of the output now.
1120        Integrated changes from 1.1.3, and added docs for "zlocate -d"
1121                and new show commands.
1122        Show with arguments produces help on show.
1123        Fix a bug in readconfig caught by efence (where we'd try to read before
1124                the beginning of a string if it was empty).
1125        The perl command doesn't do makemsg directly, but instead
1126             returns the string and it will get printed if it
1127             was run interactively.
1128       
11291.1.3
1130        'show subs' and 'show subscriptions' are now the same as 'getsubs'
1131        zlocate now takes an optional -d argument
1132        'show terminal' / 'show term'
1133        '>' / last doesn't set the last message at the top of the screen now
1134        implemented _followlast as an unsupported feature
1135        include 'default' in the 'show colors' list
1136        added help for 'zpunt' and 'zunpunt'
1137        changed the bug address in the startup message
1138        can now do 'show status'
1139        can now do 'show version'
1140        'status' / 'show status' includes the owl version number now
1141        'show terminal' includes whether the terminal can change colors
1142        fixed off by one bugs in paging / scrolling viewwin
1143        don't downcase the sender when getting the log name for personals
1144        support @owl::fields as well as @fields
1145        downcase class/inst filter names in auto filters
1146
11471.1.2
1148        Fixed memory mishandling bug
1149        Fixed bug in redfining the filter attached to the current view
1150        M-n will narrow to message, instance on non-personal, class
1151             MESSAGE messages
1152        M-N behavies like M-n except that on class messages it narrows
1153            to class and instance
1154        line wrap earlier, to account for tabbing
1155        fixed typo in help
1156        'status' command now displays info on terminal color support
1157        zephyr @ formatting is now case independant
1158        added support for color terminals
1159        zephyr @color(foo) now works
1160        'D' for deleted messages is now not bold, unless it's the current
1161          message
1162        F1 displays the help screen
1163        added filter colors
1164        added the 'colorview' command
1165        added the 'show colors' command
1166        users who don't have a .zephyr.subs get a simpler format for
1167          incoming messages
1168        If colors are available 'show filters' will show a filter in the
1169          color associated with it.
1170        Added the zpunt and zunpunt commands
1171        Lines in the subs file starting with '-' are zpunted
1172        Include login/logout messages in auto user filters
1173        'V' changes to the home view ('all' by default)
1174       
11751.1.1
1176        Fixed perl, aperl, and pperl commands to deal with quoting
1177              and spaces in a saner manner.
1178        Removed all owl_get_* methods for booleans and switched
1179              cases where they were used to owl_is_*
1180        Changes to owlconf.erik to use some new features.
1181        Increased the size of the help buffer (as it
1182              was overflowing and truncating the help message).
1183        Variables prefixed with a _ are not shown in help
1184              or by printallvars (and prefixed Not Yet Implemented
1185              variables with this).
1186        Fix typo in help
1187        include stdio.h in functions.c
1188        remove stale "q to quit" from bottom of info message
1189        fix downward scrolling more than a page
1190        use authentication for zlocate, by default
1191        fixed buffer over run in info command on long messages
1192        call 'perl <file>' from Makefile to avoid hardcoding perl paths
1193        in Makefile don't build owl_prototypes.h unless necessary
1194        store the time for admin messages
1195        display admin message time in 'info' command
1196        fixed an editwin M-> last character bug
1197               
11981.1
1199        reply is a normal function now
1200        'R' does reply to sender
1201        'T' tells you how many messages were marked for deletion
1202        local realm removed from login / logout messages
1203        added command history
1204        better runtime / starttime reporting in 'status' command
1205        leave the pointer near the current message after expunge
1206        C-l recenters editwin
1207        implemented zlocate
1208        @italic works the same as @i
1209        on reply only quote class / instance when necessary
1210        C-r allows you to edit the reply line
1211        don't use unecessary options in reply line
1212        display 'info' errors in msgwin, not popup
1213        impelemnted aexec, pexec commands
1214        the zsig now goes through ztext formatting
1215        messages have id numbers now
1216        'info' prints the msgid
1217        added the 'filter' command
1218        added the 'view' command
1219        added the 'show filter' command
1220        added the 'viewclass' (and 'vc') commands
1221        added the 'viewuser' (and 'vu') commands
1222        M-n will filter to the current class or user
1223        'v' starts a view command
1224        M-D will delete all messages in current view
1225        added the 'delete' (and 'del') command
1226        load-subs with no argument loads the default subs file
1227        '<truncated>' is now when the *current* message is truncated
1228        the reply-lockout filter (with default) specifices messages that
1229           cannot be replied to.
1230        in the configfile owl::receive_msg is run whenever a message is
1231          received
1232        added the beep command
1233        added the contributors file
1234        declare ZGetSubscriptions and ZGetLocations since the includes
1235          don't seem to
1236        fixed bug in displaying last line in popwin if no final '\n'
1237        'T' uses the 'trash' filter now
1238        zaway_msg, zaway_msg_default and zaway are all user variables now.
1239        zsig variable overrides zsigproc
1240        If there's no appendtosepbar don't interfear with the sepbar
1241        Changed: owl_message_get_numlines will return 0 of m is NULL
1242        Added login messages to messages marked by owl_function_delete_automsgs
1243        Added owl_function_delete_by_id(id) which acts independent of view
1244        Added "-id <id>" option to delete command
1245        Fixed an arg checking bug in delete command
1246        Added owl::id to perl namespace with message id
1247        Fixed a memory corruption bug in readconfig.c (where right
1248              after the strdup to "out", we'd strcat a \n onto the end.
1249              This would be triggered whenever owl::format_msg returned
1250              a string not ending in a newline
1251        Added 'X' keybinding which expunges and then switches to
1252              a view defined by the variable "view_home" which defaults
1253              to "all"
1254        Consolidated readconfig.c somewhat to remove duplication.
1255              owl_config_execute now returns a string.
1256        Added an example config file that does vt-style formatting.
1257              (examples/owlconf.vtformat)
1258        Added the 'perl', 'aperl', and 'pperl' commands which will
1259              evaluate perl expressions.
1260        Fixed bug where pclose zsigproc would cause zombies
1261        Can set zsigproc or zsig to "" to disable
1262        Added support for multiple browsers (galeon and none were added).
1263              Configure with the "webbrowser" variable.
1264        Changing typewinsize height triggers resize event.
1265        Added zsig variable which will be used if no zsigproc and non-empty.
1266        Added "make test" rule to Makefile which will run regression tests,
1267              and added regression testing framework to tester
1268        Fixed codelist.pl to ignore static declarations.
1269        Added dict.c which contains string->ptr dictionary routines
1270              and the owl_dict type.
1271              These include regression tests.
1272        Overhaul/rewrite of variable handling.  Variables are now managed
1273              in an owl_vardict (in g.vars) which contains a dictionary
1274              of owl_variable's.  Each owl_variable has dispatch functions
1275              for validating values, setting it and getting it,
1276              and for setting it to and from string values.
1277              The variable.c file contains the list of variables.
1278              Stubs for the owl_global_<varname>_get functions and friends
1279              are generated from variable.c by stubgen.pl.
1280              The help.c messages for variables now calls into variable.c
1281              so all information about most variables is in one place.   
1282        Cleaned out code from global.c and command.c that was made obselete
1283              by variable overhaul.
1284        The set command now takes a -q option to not log a message.
1285        Fixed a bug where set and print with no arguments would
1286              print "Undefined variable" in addition
1287              to running owl_function_printallvars.
1288        debug is now a variable that can be turned on and off.
1289        Fixed mail,inbox message parsing in examples/owlconf.erik
1290        Made zaway_msg and zaway_msg_default into variables
1291        Changed owl_function_makemsg and owl_function_debugmsg
1292               to use varargs (ie, so they can now take a format
1293               string with args).
1294        Don't allow " and \ characters in URLs with the "w" command.
1295        Removed lots of build warnings.
1296        Popwins are wider by default so help messages fit better.
1297        Added an atokenize_free function.
1298        Fixes to work with an older version of libzephyr.
1299        Added dependencies on header files to Makefile.in
1300        Added pageup and pagedown key bindings to message list
1301        Added pageup and pagedown to viewwin
1302        Added configfile section to doc/intro.txt (from example config file)
1303        Added appendtosepbar variable which may contain text which will
1304              be appended to the sepbar.  This allows the configfile
1305              to put information about pings and logins into
1306              the sepbar.  (It may be worth also providing a variable
1307              which enables this by default, but for now this allows
1308              for experimenting with what works well.)
1309        Added doc/code.txt which gives a brief overview of the code.
1310        Added tags makefile rule and added TAGS to distclean rule.
1311       
13121.0.1
1313        fix frees in loadsubs and loadloginsubs
1314        don't return in owl_free
1315       
13161.0
1317        'print' and 'set' with no arguments prints all variables
1318        Added the 'unsubscribe' and 'unsub' command
1319        Renamed the 'unsub' command to 'unsuball'
1320        Added the 'getsubs' command which is like zctl ret
1321        Fixed bug in logging messages sent to more than one recipient
1322        Support '-C', '-O', and '-n' options to zwrite
1323        Fixed bug in owl_editwin_delete_char when there are no later chars
1324          after the cursor
1325        Make "more" and "truncated" work in the status bar
1326        enable printing of zsigproc and loginsubs variables
1327        only allow message scrolling if the message is actually off the
1328          screen
1329        'T' will mark all automated message for deletion
1330        'P' will go to the next personal message
1331        'M-P' will go to the previous personal message
1332        replying to a login message goes to the user now
1333        added a status command
1334        added the intro doc to the release
1335        fixed off by one bug in viewwin
1336        added complete online help
1337        pass $owl::realm in configfile
1338        fixed editwin wordwrapping on the last line
1339        fixed editwin problem with key_right past the last char
1340        print an error and quit if the configfile can't be parsed
1341        got rid of owl_mainwin_calculate_topmsg
1342        fixed off by one error in calculating topmsg upwards
1343        you can now reply to an admin message
1344        don't display an error about keypress on window resize
1345       
13460.11
1347        fixed bug in viewing messages longer than the screen
1348        indicate in the sepbar if there is a non zero vert offset
1349        send on '.' on a line by itself
1350        added disable-ctrl-d variable
1351        fixed bug where C-k did not delete the last \n in the buffer
1352        make non-character meta keys work
1353        use ZSendNotice instead of ZSendList
1354        implemented <, >, M-< and M-> in viewwin
1355        removed the spaces at the bottom of viewwin
1356        added 'about' command
1357        fixed bug using 'M' with no current message
1358        changed message object to use char *'s to save on memory
1359        change malloc, realloc, strdup and free to use owl hooks so that
1360           debugging can be added
1361               
13620.10.1
1363        fixed a trailing space bug in the parser
1364        impelemented the "burning ears" feature
1365        have admin messages do ztext parsing
1366        fixed bug in reporting which M- key was pressed
1367        C-g will now cancel commands like C-c
1368       
13690.10
1370        implemented owl_function_full_redisplay().
1371        C-l uses owl_function_full_redisplay().
1372        when a popwin exists to a full redisplay.  (fixes bug)
1373        improved the owl_editwin_process_char logic
1374        removed all unnecessary wrefresh's and replaced with wnoutrefesh
1375        owl_editwin_redisplay now takes an argument to optionally doupdate()
1376        improved the cut-and-paste speed by not doing a usleep the first
1377          time through the loop after getting a keypress.
1378        nuked typwin.c and associated stuff.  It's useless now.
1379        added viewwin code for paging windows
1380        curly braces work for zephyr formatting
1381        @i in zephyr formatting will be displayed as underlined text
1382        turned off idlok
1383        implemented viewwin
1384        implemented viewwi in popwin for pageable popwins
1385        help, info now use pageable popwins
1386        bound 'M' to bring the current message up in a popwin
1387        return, space bar, 'b' and backspace now scroll within a message
1388        turned off resize message
1389        C-v and M-v page the main window
1390        implemented owl_message_is_mail
1391        some build cleanup
1392
1393       
13940.9
1395        added owl_message_is_personal and have things use it
1396        added owl_message_is_private
1397        fixed 'print personalbell' and have 'set personalbell'
1398           print a message
1399        bold only on message_is_personal
1400        display the realm if not local
1401        implemented M-f, M-b, M-d, M-<, M-> in editwin
1402        implemnted word wrapping in editwin
1403        implemented M-q (paragraph-fill) in editwin
1404        fixed bug that caused owl to segfault logging a 'weird' class
1405        M-x is a keysym for ':'
1406        added smart bolding and userclue
1407        fixed a bug causing pings to beep even if rxping is off
1408       
14090.8.1
1410        fixed bug in logging code
1411       
14120.8
1413        implemented personal logging
1414        implemented class logging
1415        implemented resize of typewin
1416        fixed the backspace problem
1417        -v command line option prints the version number
1418       
14190.7
1420        load-subs will report error opening file
1421        skip comment lines in loadsubs and loadloginsubs
1422        changed internal references to rxping and txping
1423        fix replying to a blank instance
1424        added subscribe command
1425        subscribe to login messages from .anyone by default
1426        'loginsubs' variarble controlls automated login messages
1427        redisplay the editwin after a resize
1428        leave the cursor in the editwin if active
1429        fix problems in the build system
1430        added displayoutgoing variable
1431        temporarily removed error printing for zlog in / out
1432       
14330.61
1434        fixed bug in "message sent to <foo>" for zwrite
1435       
14360.6
1437        help updated
1438        zaway key set to caps A
1439        support zephyring other realms
1440        rxping variable for receiving pings
1441        txping variable for sending pings
1442        function in place to resize typwin
1443        C-l to refresh
1444        personal bell variable
1445        beta message now an admin message
1446       
14470.5
1448        Added the debug command and flag
1449        Fixed bug in printing fields in info command
1450        Added owl_fmtext_append_ztext and use it
1451        Better formating for pings and login zephyrs
1452        make tester depends on proto
Note: See TracBrowser for help on using the repository browser.