source: ChangeLog @ 4d26776

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