source: doc/CHANGES @ e3a0e7e

Last change on this file since e3a0e7e was e3a0e7e, checked in by Wilmer van der Gaast <wilmer@…>, at 2005-11-18T00:17:57Z

Renamed #bitlbee to &bitlbee to avoid confusion with the channel on OFTC

  • Property mode set to 100644
File size: 24.7 KB
1Version 1.0:
2- Removed some crashy debugging code.
3- QUIT command now works before logging in. (Mainly an RFC-compliancy fix.)
4- Hopefully slightly clearer handling of buddy add requests.
5- set buddy_sendbuffer_delay now also supports milisecond precision.
6- Renamed #bitlbee to &bitlbee to avoid confusion with the channel on OFTC.
8Finished ...
10Version 0.99:
11- Fixed memory initialization bug in OSCAR module that caused crashes on
12  closing the connection.
13- Most likely fixed the bug that caused BitlBee to use 100% CPU time in
14  some situations.
15- Outgoing MSN typing notifications are now understood correctly by the
16  orignal MS Mac/Windows clients (again).
17- Added "account add $protocol" to the documentation, got rid of a lot
18  of over-markup (i.e. overuse of bold-tags), reviewed some other parts.
19- Small changes to help.xsl to fix small flaws in the help.txt formatting.
20- Messaging yourself now doesn't make irssi or mIRC crash anymore.
22Finished 3 Nov 2005
24Version 0.93:
25- &quot; is now correctly converted to " instead of '.
26- Code cleanup in OSCAR module.
27- Some changes for better RFC-compliancy.
28- It's now possible to specify an alternate Jabber server.
29- bitlbee_save() now also checks the return value of fclose(), which might
30  solve more problems with lost account data.
31- Fixed a file descriptor leak in bitlbee.c.
32- Signedness fixes (mainly to keep GCC4 happy).
33- Away messages are now sent correctly to most ICQ clients.
34- BitlBee knows now which connection sends HTML, so it will strip HTML
35  automatically, "set html strip" is no longer necessary. Also, outgoing HTML
36  is escaped correctly.
37- info-command works for AIM-connections too now.
38- /notices to users will be sent as auto-away replies.
39- Messages about a connection now also mention a handle, for people who have
40  multiple accounts in use of the same protocol.
41- Examples are back in help.txt.
43Finished 31 Oct 2005
45Version 0.92:
46- Fixed some formatting issues with the help.txt XSL-sheet.
47- Moved the polling of the IRC connections to glib instead of a separate
48  select().
49- Added ctags generation to the Makefiles.
50- Sending a CTCP TYPING message to a user in your buddy list now sends a
51  typing notification to that person, if the protocol supports it. You
52  probably want to write/use a script for your IRC client to do this.
53- A dash is no longer considered a lowercase underscore in nicknames.
54- CTCP's to buddies no longer alter their private/non-private state.
55- Clean shutdown (with saving settings) on SIGTERM.
56- Fixed a crash on connecting to unreachable Jabber/SSL servers.
57- On ICQ, offline messages are now requested after receiving the buddy
58  list. This should get rid of the "Message from unknown OSCAR handle"
59  messages on login.
60- The linked list of buddies/nicks is now always sorted, which makes the
61  blist output a bit more useful.
62- Fixed a crash on renaming NickServ. (There's no reason to do this, but
63  still crashing isn't really how BitlBee should tell you that. ;-)
64- Now the message about the "new" ICQ server-side buddy lists is only
65  displayed when the server-side list is still empty.
66- The Yahoo! markup language stripper is now less likely to strip things
67  that shouldn't be stripped.
68- Working around a shortcoming in the Yahoo! cleanup code that didn't
69  cause any serious problems in previous versions, but got pretty nasty
70  (100% CPU time usage) now with everything in the glib main loop.
71- Fixed a bug in http_encode that might have caused buffer overflows
72  (although not likely to be exploitable) when trying to encode strings
73  with non-ASCII characters.
74- Fixed AIM screenname handling on ICQ connections.
75- When blocking someone, the MSN module now closes the conversation you're
76  having with him/her (if any) so he/she can't continue talking to you
77  (for as long as the conversation lasts).
78- Away messages are only sent when messaging someone outside the control
79  channel. (And now also when the user is offline instead of just away.)
80- Moved charset conversion in serv_buddy_rename() to the right place so
81  bogus changes are always detected now.
82- iso8859-1 is now the default charset because -15 caused some problems
83  and because -1 is enough for most people anyway.
84- Fixed crashes on attempting to add a buddy (or do other things) on
85  connections that are still initializing.
86- Added support for server-side notifies using the WATCH command.
87- IRC_MAX_ARGS is dead, at least for IRC commands.
88- Fixed a bug that made BitlBee crash on failing fresh MSN switchboard
89  connections.
90- Fixed an invisibility bug in the MSN code that handled transfers to
91  other servers in the middle of a session.
92- Newline stripping added to prevent newline-in-friendlyname attacks.
93  (Which allowed remote people to make BitlBee send raw custom IRC lines.)
95Finished 23 Feb 2005
97Version 0.91:
98- Full support for ICQ server-side contact lists!
99  NOTE: BitlBee now ignores your client-side contact list. If you want to
100        import your ICQ contact list, use the import_buddies command.
101- Added the import_buddies command for upgrading purposes.
102- Added support for OpenSSL.
103- Fixed one major problem with the daemon mode by getting rid of the global
104  IRC structure.
105- Documentation fixes. help.txt is now generated from XML. Also updated the
106  installation manual.
107- Made the quickstart up-to-date. (By Elizabeth Krumbach)
108- Some bitlbeed additions. (By Marcus Dennis)
109- info-command support for Jabber, MSN, Yahoo! and a more verbose info-reply
110  for ICQ. (By Frank Thieme)
111- Support for Jabber over SSL.
112- nick_get() appends a _ on duplicates instead of chopping off the last
113  character.
114- Got rid of an unused piece of code that caused crashes.
115  (oscar.c:gaim_parse_clientauto)
116- When splitting long messages into 450-char chunks, BitlBee now tries not
117  to cut off in the middle of a line.
118- Added a warning when the user specifies an unknown OSCAR server.
119- Removed GLib 2.x dependency, BitlBee will work with GLib 1.x again.
120- Improved strip_html(), now less likely to strip non-HTML things.
121- An invalid account-command will now display an error message.
122- Fixed a bug that caused crashes when /CTCP'ing a groupchat channel.
123- Hopefully better Unicode/non-ASCII support for ICQ.
124- Fixed MSN connection crash on non-ASCII characters in screenname.
125- Added some missing charset conversion calls. (serv_got_crap,
126  serv_buddy_rename)
127- "account off" without extra arguments now logs off all connections.
128- Fixed a crash-bug on disconnecting Yahoo! connections before they're fully
129  connected.
130- Fixed a bug in helpfile handling which sometimes caused crashes in daemon
131  mode.
132- block and allow commands work with just a nick as an argument again.
133- Working around a crash on some probably invalid Yahoo! packets.
134- Fixed a possible double free() on shutdown in irc_free().
135- Talking to ICQ people on AIM and vice versa and talking to people with
136 accounts now possible.
137- Low ASCII chars are now stripped from away-messages so the Jabber module
138  won't barf on BitchX and lame-script away messages anymore.
140Finished 25 Sep 2004
142Version 0.90a:
143- Fixed the Yahoo! authentication code.
145Finished 28 Jun 2004
147Version 0.90:
148- A complete rewrite of the MSN module. This gives BitlBee the following
149  new features/improvements:
150  * You can now start groupchats with MSN people without having to send them
151    a bogus message first.
152  * People who are in your MSN block/allow list, but not in your contact
153    list, shouldn't show up in your BitlBee buddy lists anymore.
154  * Passport authentication shouldn't lock up the whole program for a couple
155    of seconds anymore. Additionally, it should also work behind proxies now.
156  * Better recognition of incoming file transfers; they're now recognized
157    when coming from non-English MS Messenger clients too.
158  * Fixed a problem with MSN passwords with non-alphanumeric characters.
159  * Mail notification support (also for Yahoo!)...
160  * Parsing of maintenance messages (ie "Server is going down in x minutes").
161  * Hopefully more stability.
162- Changes in the OSCAR module:
163  * Better reading of ICQ-away-states.
164  * Lots of cleanups.
165- Yahoo! module:
166  * Fixed authentication on 64-bit machines. (Patch from Matt Rogers)
167  * Better stripping of markup tags.
168- Lots of cleanup in all IM-modules.
169- Added support for using libnss instead of libgnutls.
170- Reverse hostname lookups work on IPv6 sockets too now. (And don't crash
171  the program anymore.)
172- Fixed a little problem with identifying right after registering a nick.
173- Restored complete proxy support and added a proxy setting to the conffile.
174- BitlBee can now tell you when people in your buddy list change their
175  "friendly name".
176- Instead of an account number, you can also specify the protocol name or
177  (part of) the username as an account identification with commands like
178  "account on", "add", etc.
179- BitlBee remembers what connection a question (i.e. authorization request)
180  belongs to and cleans it up when the connection goes down; this fixes
181  (one of) the last known crash bugs.
182- Plus some other changes in question management. (The query_order setting
183  is one of them. The default behaviour changed a bit, for more information
184  please read "help set query_order".)
185- Also fixed a memory management bug in the question code which caused some
186  crashes.
187- Optimized some nick handling functions and added a hash of all the users
188  to speed up user_find() a bit (especially good for people with large
189  buddy and notify lists).
190- Lots of changes for the Win32 port (see
191- Added the drop-command.
192- Fixed small problem with versions of sed which don't support the +
193  "operator" (the BSD version, for example, even though the operator is
194  documented properly in the re_format manpage...).
195- Added the default_target setting.
196- Added a CenterICQ2BitlBee conversion script.
197- Put back the evaluator for "set charset" (which got lost somewhere between
198  0.84 and 0.85), so an incorrect charset will be rejected again.
199- ISON now (A) gives one single reply and (B) also replies when none of the
200  persons asked for are on-line.
201- Using GConv instead of iconv now.
202- Incoming messages larger than 450 characters are now split into parts
203  before sending them to the user.
204- Fixed a bug in irc_exec() which could crash the program when some commands
205  were called with too little arguments.
206- Fixed a dumb NULL pointer dereference in the JOIN command.
207- Added rate limiting to bitlbeed. (Against server hammering)
208- Added handling of CTCP PINGs (yet another self-ping used by some IRC
209  clients...)
210- Added
211- Removed the vCard handling code from Jabber because it's (A) not used and
212  (B) had a possible format string vulnerability.
213- Got rid of strcpy() in account.c. (Thanks to NETRIC for reporting these two
214  problems.)
215- ISO8859-15 is now the default charset.
217Finished 21 May 2004
219Version 0.85a:
220- Fixed an authentication problem with logging into some MSN accounts.
221- Removed a non-critical warning message from the ICQ servers when logging
222  in with an empty contact list.
223- Fixed reading the [defaults] section of bitlbee.conf.
224- The last newline in outgoing messages when using the buddy_sendbuffer is
225  now removed correctly.
226- Yahoo! colour/font tag stripping now actually works.
227- Fixed compilation on *BSD and some Linux architectures.
229Finished 24 Mar 2004
231Version 0.85:
232- Users can specify alternate configuration files/directories at runtime
233  now.
234- Rename now doesn't choke on name changes with only case changes anymore.
235- Imported the daemon patch into the main source tree. The daemon mode is
236  still experimental, this just eases maintenance. This daemon patch brings
237  a lot of features, including (as the name says) a real daemon mode and
238  also buffering of the data sent to the user, and flood protection.
239- Strips font and colour codes from Yahoo! messages.
240- Support for groupchats on Yahoo!
241- Fixed removing Yahoo! buddies from a different group than "Buddies".
242- Jabber presence packets with error messages are interpreted correctly now.
243  (They used to be parsed as a signin.)
244- bitlbee_save() checks return values from fprintf() and writes to tempfiles
245  first to make sure no old files get lost when there's a write error.
246- ICQ buddies are added all at once instead of once at a time. This should
247  solve problems with huge buddy lists.
248- Made the client pinging timings configurable. (Without requiring
249  recompilation)
250- MSN and Yahoo flag the connection as "wants_to_die" when they're logged
251  off because of a concurrent login. This means reconnection will be disabled
252  on concurrent logins.
253- BitlBee can now buffer the messages sent to someone before they're actually
254  sent, and wait for a specified number of seconds for more lines to be added
255  to the buffer before the message will really be sent.
256- Renamed the reconnect_delay setting to auto_reconnect_delay.
257- Unknown settings aren't saved anymore.
259Finished 13 Mar 2004
261Version 0.84:
262- Removed the libsoup dependency.
263- Fixed AuthMode=Registered: It will now restore your accounts when
264  identifying.
265- Fixed Yahoo! support.
266- Fixed a little memory leak in user.c.
267- Fixed a security bug in unused code in proxy.c, only people who use
268  the HTTP proxy support and an untrusted proxy might need this. We
269  haven't done an emergency release for this fix because proxy support
270  is disabled by default.
271- Fixed some memory leaks in IM-code.
273Finished 13 Feb 2004
275Version 0.83:
276- Fixed a crash bug on connecting to unsupported accounts.
277- Fixed a problem with connecting to MSN accounts with empty buddy
278  lists.
279- Fixed another inifite-loop bug in nick_get() and added a piece
280  of code which detects the infinite loop and asks the user to send
281  a bug report.
282- Fixed iconv-Solaris linking issues.
283- Fixed all the problems with spaces in AIM screennames now, we hope.
284- Fixed a buffer overflow in the nick handling code. Buffers are
285  overflowed with static data (nulls), so we don't think it's exploitable.
286- Added server-client pinging, useful for remote servers.
287- Added the hostname setting.
288- Some bitlbeed changes.
289- Added a little part to the on-line quickstart about the settings and
290  other help topics, this hopefully answers a lot of FAQ's.
291- Fixed the signal handler to re-raise the signal after the handler quits.
292  This makes sure the default handler is called after our handler sends
293  the user a bye-message, so core dumps are created and the parent will
294  get more useful information back from wait().
295- Added support for ICQ URL messages.
296- Fixed strip_html() behaviour on unknown &entities;.
297- Fixed a possible problem with Yahoo!
298- Fixed a problem with logging into more than one MSN account at once.
300Finished 31 Dec 2003
302Version 0.82:
303- Fixed a little bug in nick.c which could cause a complete hang for
304  some tricky buddylists. (Thanks to Geert Hauwaerts for helping with
305  fixing this bug)
306- Fixed MSN support. (Lots of thanks to Wouter Paesen!)
307- Removed the old login/logout commands.
308- Added the qlist command.
309- Fixed a buffer overflow in the nick checking code. (Thanks to Jon
310  Åslund for pointing us at this problem)
311- Adds the add_private and add_channel options for set handle_unknown.
312- Some documentation updates.
313- Added two small utilities to encode/decode BitlCrypted files.
315Finished 31 Oct 2003
317Version 0.81a:
318- This version just fixes some small things we should've fixed before
319  releasing 0.81:
320- Fixed a small bug in the auto-reconnect cleanup code.
321- Fixed the Makefile: Now it doesn't just overwrite your etc files when
322  installing.
323- Fixed the Makefile: $prefix/etc/bitlbee/ is the default etcdir now.
324- Disabling MSN by default, now that it doesn't work. It'll be back on
325  as soon as we get the module working again.
327Finished 16 Oct 2003
329Version 0.81:
330- Added a configuration file.
331- Added support for the PASS command to restrict access to the daemon to
332  only the people who know this password.
333- Only allowing registered people to use the daemon is possible too.
334- In case you, at some time, need to check the currently running BitlBee
335  version, just CTCP-VERSION someone in the channel.
336- Added the auto_connect setting for people who don't want the program
337  to connect to IM-networks automatically.
338- Extended the blist command.
339- Applied the auto-reconnect patch from G-Lite.
340- Applied the iconv patch from Yuri Pimenov.
341- Imported the MSN-friendlyname patch from Wouter Paesen.
342- Away-message aliasing code now just parses the beginning of the string,
343  not the whole string. This allows you to have a more descriptive away
344  message like "Busy - Fixing bugs in BitlBee" and all the IM connections
345  will have a busy-like away-state.
346- Added some information about away states to the help system.
347- MSN file transfers aren't silently ignored anymore.
348- Integrated the Yahoo protocol fix from Cerulean Studios (Trillian).
349  (Thanks to Tony Perrie!)
350- Made all protocol plugins optional. (Patch from Andrej Kacian/Ticho)
352Finished 15 Oct 2003
354Version 0.80:
355- Fixed a very stupid bug in the MSN away-state reading.
356- nick_cmp() now actually works, RFC-compliant.
357- Fixed and cleaned up the away-state handling, there were some very
358  weird things in the original Gaim code base which broke this completely
359  all the time.
360- The daemon prevents you from using root/NickServ as your nick now,
361  previous versions crashed on that.
362- At last ... GROUP CHAT SUPPORT! :-D
363- People who are *not* away get mode +v in #bitlbee now, so you can see
364  in /names who's away and who's not.
365- Crashing BitlBee by using the NICKSERV command without any arguments
366  is impossible now.
367- Added some notes about Darwin/OSX portability.
368- Separated connections from accounts. This means restoring a lost
369  connection can be done using a simple "account on <number>" command.
370  See "help account" for more information.
371  *** For now this won't cause problems when upgrading because the login
372  command still exists (as an alias for "account add"). This alias will
373  not stay forever, though.
374- irc_process() now makes sure it reads the whole available buffer before
375  executing the commands. Previous versions were very bad at handling
376  long floods from non-floodprotected clients. The code is still not
377  perfect, but good enough for local links.
378- Allow/Deny questions from msn.c now also mention your own screenname.
379  This is useful for people who run two (or even more) MSN accounts in
380  one BitlBee.
381- Fixed a little bug in the helpfile-changed-check code.
382- A little trick in "make install" makes sure the help function in running
383  sessions doesn't break while upgrading.
384- Added a nifty (and editable) MOTD.
385- Added IRIX to the compatibility list.
386- Added support for Cygwin.
387- Better HTML-stripping, it also handles &entities; correctly now.
388- Fixed some problems to make it compile on Solaris.
389- Added support for messages from Miranda/Mac ICQ. (Code port from Gaim 0.59)
390- Fixed the crash problem when removing yahoo buddies.
391- Added the handle_unknown setting.
392- Did some editing on a few docs.
393- Added a FAQ.
394- Added the daemon-patch by Maurits Dijkstra which adds stand-alone daemon
395  support to BitlBee.
396- Jabber now doesn't barf on high ASCII characters in away messages anymore.
397  (Thanks to Christian Häggström <>)
399Finished 24 Jun 2003
401Version 0.74a:
402- The music-festivals-are-bad-for-your-mind release.
403- This one actually contains the fix for the bug 0.74 claimed to have.
405Finished 11 Jun 2003
407Version 0.74:
408- Fixed a security leak, where using a / in the nickname causes the saved
409  settings and account information to be stored in undesirable places.
411Finished 10 Jun 2003
413Version 0.73:
414- Fixed the unable-to-remove-icq-users (actually users from any *local*
415  contact list) bug.
416- Fixed away bug in aim protocol.
417- Fixed the 'statistics' under the blist command output.
418- Removed the commands from the XML documentation because they're 'on-line'
419  already.
420- Added some signal handling; ignoring SIGPIPE should als get rid of some
421  crashes (for some weird reason this has to be done). Also, crashes because
422  of things like segfaults are a bit more verbose now. ;-)
423- Changed the select() timeout in main(), this might improve some latencies.
424  (At leasts it speeds up signing on (especially for ICQ) a lot!)
425- Made the own-QUIT messages more compliant, probably.
426- Fixed some memory-bugs, thanks to valgrind.
427- irc_write() now checks the write() return value, and tries to send the rest
428  of the string, if it could not write it completely the first time.
429- Hostname lookups also work on NetBSD now.
430  (Thanks to David.Edmondson*sun*com (hi spambot))
431- At last, a new protocol. Welcome to ... YAHOO!
432- Documentation and code cleanup. Somehow the helpfile documented register
433  and identify twice, now that's what I call over-documenting.. :-/
434- Added the rename command to the helpfile, somehow I forgot that one.
435- Been a bit pedantic about compiler warnings. They're all dead now.
436- Fixed a small Makefile problem which gave an error when a clean tree was
437  "made distclean"
438- Fixed a (possible) memory leak in nogaim.c:proto_away()
439- Fixed the way proto_away() calls proto_away_alias_find(), now it gives
440  the *whole* list of away states
441- proto_away() doesn't give a NULL message anymore because AIM didn't like
442  that
443- Got rid of the last goto in my code (without ruining the code)
444- Created a more samba-like compiling process (without the complete command
445  lines, just a simple echo)
446- "help set ops" works now too, without quoting the "set ops"
447- Trying to log in with a protocol without a prpl (ICQ and TOC, for example)
448  made previous versions crash
450Finished 13 Apr 2003
452Version 0.72:
453- Updated the documentation.
454- Improved the MSN friendlyname code. (Although it doesn't seem to be perfect
455  yet..)
456- info-command added to get more information about ICQ users.
457- blist-command added to get a complete buddy list.
458- Fixed a bug which broke the AIM code when adding a screenname with a space
459  in it.
460- Added the NS alias for the NICKSERV command (Tony Vroon).
461- Fixed the USERHOST command implementation (Tony Vroon).
462- /me from IM-networks is now converted to a CTCP ACTION correctly.
463- Added an utils/ directory with some misc toys and handy things.
464- Added a /notice to the on_typing event. Don't use it though, the /notice
465  flood will just be a big annoyance. ;-)
466- Some people like root and themself to be ops, some don't. Now it's
467  configurable. (set ops)
468- Now the umode stuff actually works. Next step: Use those modes... (How?)
470Finished 19 Dec 2002
472Version 0.71:
473- Fixed the help command output layout (alignment)
474- Added a sample xinetd file
475- Cleaned up, 0.70 released with a build-stamp and DEADJOE file (oops)..
476- Messages can be sent like '<user>, <message>' in the control channel now,
477  instead of just '<user>: <message>'
478- Added a debug setting boolean: Set it to true for some debugging crap
479  which used to be on by default..
480- Changed the /whois reply: In the server section you now see the
481  connection this user belongs to.
482- Added some root/permission checks.
483- configure script works correctly when the terminating / is forgotten for
484  a directory.
485- Fixed format string bug in protocols/oscar/meta.c (Hmm, what's the use of
486  that file?)
487- Added '#include "crypting.h"' to commands.c to get rid of stupid warnings
488- Fixed crash-bug (SIGSEGV when adding an @-less contact to MSN/Jabber)
489- Added to_char setting
490- Fixed bug in set.c: It ignored the new value returned by the evaluator
491  :-(
492- Removed protocol tag from 'hostname' in user hostmask because this info
493  is in /whois' server section now
494- Added the GPL. Somehow 0.7 released without a COPYING file.. :-/
495- Enhanced the root_command() parser, you can 'quote' "arguments" now so
496  arguments can be strings with spaces
497- Debugging versions have True as the default value for set debug
498- NICKSERV is now an alternative for PRIVMSG root. This does not affect
499  functionality of current NICKSERV commands, but does allow people to just
500  do identify <pass> in channel.
501- NICKSERV REGISTER now doesn't try to log you in (to check if the user
502  exists) but checks for the existence of the user-configuration files.
503- NICKSERV SET password now works (as does set password in channel). This
504  makes changing your password possible.
505- NICKSERV password now stored in irc_t.
506- ./configure now only bugs you about possible problems with strip if it's
507  actually going to strip (wooohoooo! _sexy_ :)
508- Fixed a load of warnings in oscar.c, irc.c, nick.c and set.c
509- Split up root_command() into a version which eats raw strings and one
510  which eats split strings
511- New help system: Help available for most (all?) commands, all read from
512  an external help-file.
513- Changed the maximum message length in irc_usermsg() from IRC_MAX_LINE to
514  1024 (for loooong help messages..).
515- Only allow user to set supported umodes.
516- Fixed a memory leak in crypting.c (Thanks to Erik Hensema.)
517- Added a send_handler callback to user_t. Needed for the following entry:
518- Added the NickServ user as a root-clone.
519- Disabled tcpd by default because it's just a PITA for a lot of systems
520  and because you can use /usr/sbin/tcpd as well.
521- The root user can be renamed now.
523Finished 16 Sep 2002
Note: See TracBrowser for help on using the repository browser.