source: ChangeLog @ b18151c

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