source: ChangeLog @ 3b80321

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