source: ChangeLog @ 5df4b9a

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