source: ChangeLog @ 6d80673

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