Fix typo for learn-nickserv variable.
[jelmer/ctrlproxy.git] / NEWS
1 Unless otherwise indicated, all changes made by Jelmer Vernooij.
2
3 Ctrlproxy 3.0.7 UNRELEASED
4
5   FEATURES
6
7     * Add 'create-implicit' option.
8
9   BUG FIXES
10
11     * Handle client-specific admin commands being run without a client 
12       more gracefully.
13
14     * Be less verbose about unredirectable responses.
15
16     * Avoid usage of blocking /dev/random for SSL code. (Andreas Schneider)
17
18     * Move time in ctcp requests. (#197)
19
20     * Support storing ban exception lists, realname ban lists and 
21       join throttling (MODE +e, MODE +d and MODE +J) as supported by hyperion.
22
23     * Fix handling of channel and user modes. (#196)
24
25     * Avoid disconnecting clients that are still waiting for a connection. 
26       (#198, David Ford)
27
28     * Fix parsing of ``learn-nickserv'' setting.
29
30     * Support listening on IPv6.
31
32   INTERNALS
33
34     * Import non-blocking GIOChannel improvements from libsoap into 
35       the SSL wrapper code. (Andreas Schneider)
36
37
38 Ctrlproxy 3.0.6 2008-04-13
39
40   IMPROVEMENTS
41
42     * Add report-time-offset setting.
43     
44     * New settings ``port'', ``linestack'', ``logging'', ``password'',
45       ``default-network'', ``auto-away-message'', ``auto-away-nick'', 
46       ``auto-away-enable'' and ``auto-away-time''.
47
48     * Simplify files in networks/ further by storing keys in ~/.ctrlproxy/keys 
49       and having a list of channels to autojoin. (#76)
50
51     * Only update autojoin settings when ctrlproxy is completely logged in. 
52       (#113)
53
54     * Increase the debug level at which messages about joins/parts are 
55       logged.
56
57     * Put linestack state data in separate files. This will make it possible 
58       in the future to remove some of the state files.
59
60     * Avoid data overhead when responding to /NAMES out of cache.
61
62     * Add --check-running option.
63
64     * The pid file is now read to check whether another instance of 
65       ctrlproxy is already running.
66
67     * ``bind'' is now also accepted in the global section of the network 
68       configuration. (#194)
69
70     * New configuration variable ``autocmd'' in network configuration 
71       can contain a list (semi-colon-seperated) of commands to send when
72       logged in to a server. (#152)
73
74   BUG FIXES
75
76     * Improve handling of empty pid files. (#186)
77
78     * Handle out of disk space correctly. (#91)
79
80     * Don't "forget" listener password.
81
82     * Don't add all existing networks to autoconnect list. (#90)
83
84     * Fix a couple of minor memory leaks.
85
86     * Store CTCP ACTIONs for replication.
87
88     * Warn about unknown networks listed for listeners rather than crash.
89
90     * Fixed segfault when no conversion is being used. Patch by Ashish Shukla.
91
92     * Don't use AI_ADDRCONFIG if it's not provided by the system.  (#179)
93
94     * Fix segfault when address type is not reachable at the moment. (#177)
95       Patch by wahjava@gmail.com.
96
97     * Abort startup when one or more listener ports are already in use. 
98       (#175)
99
100     * Fix crash bug when client shuts down correctly. (#176)
101
102     * Allow multi-character prefixes for users in channels.
103
104     * Support EXTBAN parameter in 005 lines.
105
106     * Handle 008 responses.
107
108     * Cache more than just the first result returned in RPL_USERHOST.
109
110     * Fix hostmask and response code returned by USERHOST in administration 
111       network.
112
113     * Fix timestamp marshalling. (#180)
114
115     * Correctly recognize error responses to WHOIS and WHOWAS. (#136)
116
117     * Actually remove networks from disk when they have been removed in 
118       the configuration.
119
120     * Parse removals of banlist entries correctly.
121
122     * Correctly generate prefix when replicating users that have more 
123       than one mode set. (Martin Meredith)
124
125     * Support NICKSERV and CHANSERV commands when tracking messages.
126
127     * Handle incomplete PREFIX lines. (#192)
128
129     * Re-open log files when HUP signal is received to allow 
130       rotation. (#183)
131
132     * Avoid writing nick changes and quits to nick-specific files
133       when not in a query with a user. (#173)
134
135     * Fix occasional repeating of lines. (#75)
136
137     * Fix outgoing SSL connections. (#128)
138
139     * Send topic change time if known.
140
141     * Support 249 response code.
142
143   INTERNALS
144
145     * A simple, single API is now used for managing modes.
146
147 Ctrlproxy 3.0.5 2007-12-07
148
149   IMPROVEMENTS
150   
151     * Integrate auto-away module into the core.
152
153     * New settings ``autosave'', ``replication'', ``learn-nickserv'', 
154       ``learn-network-name'', ``admin-log'', ``admin-user''.
155
156     * Warn about unknown configuration file settings. (#15)
157
158     * Support prefixing all lines with the time ("report-time = always"). (#169)
159
160     * Allow using expansions in log file names for irssi. (#149)
161
162   BUG FIXES
163
164     * Handle 275 response correctly.
165
166     * Fix memory error. (#170)
167
168     * Fix several memory leaks.
169
170 Ctrlproxy 3.0.4 2007-11-24
171
172   IMPROVEMENTS
173
174     * Add ctrlproxy-admin command for command-line access to the admin network.
175
176     * Send message to the client when ctrlproxy connects to the network.
177
178     * Announce number of clients/channels during client login. (#162)
179
180     * Add "set" command in the administration interface, including 
181       initial settings "log_level", "motd-file" and "report-time". (#6)
182
183     * Add "default-network" setting.
184
185   BUG FIXES
186     
187     * Don't allow disconnect of admin network. (#164)
188
189     * Clearer error messages during disconnect.
190
191     * Handle ping timeouts from server. (#158)
192
193     * Don't crash when network of listener goes away. (#168)
194
195     * Don't abort when sending colon to listener. (#167)
196
197     * Handle 263 response correctly.
198
199     * Properly send non-data lines when using repl_lastdisconnect. (#146)
200
201     * No longer "skip" users on reconnect. (#146)
202
203     * Check for empty argument to /CTRLPROXY BACKLOG (#132)
204
205     * Integrate some more standard replication backends. 
206
207     * Allow specifying a network in the password, separated by a colon (:). 
208       (#11)
209
210     * Integrate listeners into the core.
211
212     * Reconcile log_custom and log_irssi. (#114)
213
214     * Integrate socks support into listener code. Socks connections 
215       can now be accepted at the same port as other connections.
216
217     * Allow configuring a single listener in ~/.ctrlproxy/config.
218
219     * Several simplifications of the configuration file.
220
221     * Recognize NS as command for NickServ (#145)
222
223     * Start checking plugin versions.
224
225     * Open log file if stdout goes away.
226
227     * Make /AWAY with empty argument mark as unaway. (Adeodato Simó)
228
229     * Automatically mark as unaway when a client connects and auto-away/no_client=true. (#150)
230
231     * Add support for handling additional 005 parameters: HCN.
232
233     * Compress /NAMES lines (#123).
234
235     * Bail out when invalid arguments are specified on the command-line
236       (Emanuele Giaquinta <e.giaquinta@glauco.it>)
237
238     * Make connect to networks non-blocking. (#133)
239
240     * Support IRCD 005 parameter. (#160)
241
242     * Redirect DCC messages to clients. (#163)
243
244   NEW FEATURES
245
246     * New configuration option for auto-away: "client_limit". If set,
247       the connection will never be changed to away if there are more
248       than client_limit clients connected. Supersedes "only_noclient";
249       to achieve the effect of only_noclient=true, set client_limit=0.
250       (Adeodato Simó)
251
252   LICENSING
253
254     * CtrlProxy is now licensed under the GNU GPLv3.
255
256   INTERNALS
257
258     * Moved some common logging code to the core.
259
260 Ctrlproxy 3.0.3 2007-07-22
261
262   BUG FIXES
263
264     * Handle 470 response correctly.
265
266     * Recognize supported channel / user modes correctly.
267     
268     * Properly store topic_set_time and topic_set_by in the 
269       linestack. (#108)
270
271     * Reset idle time when AWAY is used in auto-away (#121)
272
273     * Fix crash when using /CTRLPROXY without arguments
274
275     * Don't update config when we're disconnecting during shutdown. (#113)
276
277     * Handle 354 response correctly. (#134)
278
279     * Handle responses after forced joins correctly. (#125)
280
281     * Handle 250 response correctly. (#138)
282
283     * Handle 263 response correctly. (#135)
284
285     * Handle 330 response correclty. (#137)
286
287     * Handle 403 response correctly when sent in response to a MODE 
288       query. (#139)
289
290     * Fall back to user name if real name is empty. 
291
292     * Handle 479 responses correctly. (#142)
293
294     * Only send PRIVMSG and NOTICE lines during the BACKLOG command. (#143)
295
296     * Support SILENCE without arguments. 
297
298   INTERNALS
299
300     * Use GIOChannels for reading the motd. 
301         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
302
303   PORTABILITY
304     
305     * Include netinet/in.h in src/utils.c and src/network.c. Required 
306       for building on FreeBSD. Reported by underlig.
307
308
309 Ctrlproxy 3.0.2 2007-04-15
310
311   BUG FIXES
312
313     * Support redirecting 396, 318, 437 and 330 replies. (#84)
314
315     * Fixed redirect warnings for 251, 252, 253, 254, 265 and 266.
316
317     * Don't abort when trying to send auto-AWAY while network is 
318       disconnected.
319
320     * Handle CTRLPROXY command without any arguments. (#92)
321
322     * Fixed crash when using SSL support. (#83)
323
324     * Add support for storing topic set time and topic set by nick (#97).
325
326     * Fixed CTCP source reply URL. (#86)
327
328     * Hide assertion in g_key_file_free in free_config when a network has no associated file (patch by exg)
329
330     * Fix coredump with --init when the default config cannot be opened (patch by exg)
331
332     * Fix crash when CHARSET command fails (#89, #96)
333
334     * Fall back to default charset if client charset can't be set 
335         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
336
337     * Fix use of %S segfault in log_custom. (#111)
338
339     * 005-lines are now forwarded to the end-client in a more 
340       structural manner. (#94)
341     
342     * Properly expand target in log_irssi if it is a comma-separated list (#9)
343         (based on patch by Korbinian Rosenegger)
344
345     * Properly expand target in log_custom if it is a comma-separated list (#9)
346         (patch by Emanuele Giaquinta and Korbinian Rosenegger)
347
348     * Don't append extra colon before RPL_TOPICWHOTIME (Korbinian Rosenegger)
349
350     * Adding timed backlog in BACKLOG command without a channel 
351       (Korbinian Rosenegger)
352
353     * Handle disconnects of clients properly (#108)
354
355     * Fix handling of non-UTF8 characters in linestack_file.
356
357     * Don't use CHARSETs by default (#117).
358
359     * Never send origin to the server (#122).
360
361     * Added support for 307 responses. 
362
363   FEATURES
364
365     * More advanced help support
366
367     * Add LOG_LEVEL command (#101)
368
369     * Add 'make uninstall' (#95)
370
371     * Do some more config checking (#102)
372
373     * Show disconnect reason in admin network (#100)
374
375     * Add support for handling additional 005 parameters: MAXCHANNELS,
376         NICKLEN, MAXBANS, MODES, NICKLEN, MAXBANS, TOPICLEN, KICKLEN, 
377         AWAYLEN, MAXTARGETS, WALLCHOPS, WALLVOICES, RFC2812, PENALTY,
378         FNC, SAFELIST, USERIP, CNOTICE, KNOCK, VCHANNELS, WHOX, CALLERID,
379         ACCEPT, KEYLEN, USERLEN, HOSTLEN, MAXCHANNELLEN, 
380         MAXNICKLEN, DEAF, ELIST, MAXPARA, NAMESX, SECURELIST, WATCH
381         REMOVE, MAP, OVERRIDE, VBANLIST and SILENCE
382
383     * Print actual address that a listener bound to.
384
385   INTERNALS
386
387     * Remove is_private from line struct (#12).
388         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
389
390     * Implement ISON, USERHOST, WHO, WHOIS, JOIN, PART, AWAY for admin networks. (#99)
391
392   PORTABILITY
393
394     * Looks for check using pkg-config now.
395
396     * Fix handling of addresses when listening on FreeBSD. (#87)
397
398   DOCUMENTATION
399       
400       * Added more documentation to the help system. (#106)
401
402
403 Ctrlproxy 3.0.1 2007-01-04
404
405   BUG FIXES
406
407     * Logging for network state information has been simplified and been 
408       made less verbose.
409
410     * 324 and 329 replies are now cached.
411
412     * 352 and 315 replies are now (optionally) cached. The "max_who_age" 
413       setting can be set to the number of seconds that results should be cached.
414       This prevents "Excess Flood" errors when connecting using several xchat clients
415       at once. Can be disabled by setting max_who_age=0 (the default).
416
417     * Fixed bug in administration command (reported by Daniel Poelzleithner)
418
419     * Fix invalid assert in auto-away (reported by Daniel Poelzleithner)
420
421     * Fix rejoining parted channels on restart (#78)
422
423     * Fix erroneus toggling of "report-time" setting (#77)
424     
425     * Fix endless loop in logging system when debug level is 
426       set to 5 (reported by _static_).
427     
428     * listener configuration is no longer truncated at exit.
429
430     * Fix channel information not being replicated for the administration 
431       network.
432
433     * Allow ports different than 6680 in ctrlproxy --init. (#85)
434
435   PORTABILITY
436   
437     * Added replacement functions for g_file_{set,get}_contents, for those 
438       with GLib < 2.8
439     
440   DOCUMENTATION UPDATES
441
442     * Updated command documentation (thanks, Korbinian Rosenegger)
443
444     * Updated requirements
445
446   MINOR CHANGES
447
448     * Fixed several compiler warnings
449
450 Ctrlproxy 3.0    2006-12-08
451
452   This list is not complete. Several subsystems in ctrlproxy have been 
453   rewritten.
454
455   BUG FIXES
456
457     * NetBSD portability fixes. (Adrian Portelli)
458
459     * Properly support strict-rfc1459 comparisons.
460
461     * No longer depend on specific order of USER and NICK commands.
462
463     * Fixed 100% CPU usage bug.
464
465     * Fix large number of memory leaks.
466
467     * Fix crash bug in log_custom (Korbinian Rosenegger)
468
469     * Support 'true' RFC1459 string comparison.
470
471     * Respect CASEMAPPING sent by server.
472
473     * Support different NICK sent by client in replication.
474
475     * Make repl_* work when NICK sent by client differs from current NICK.
476
477     * Support mIRC and ksirc.
478
479     * Fix bug with setting PRIVATE too often.
480
481     * Fix issue with NickServ IDENTIFY'ing when connecting to server.
482     
483     * Fix problems with incorrectly added colons.
484
485   INTERNALS
486
487     * Reduce number of files generated by configure.
488
489     * Moved source control system to Bazaar (http://www.bazaar-vcs.org/)
490
491     * Use separate include files rather than one large one.
492
493     * Get rid of complicated filter class system.
494
495     * Several modules have been integrated into the ControlProxy binary 
496       to avoid (engineering) overhead.
497
498     * There now is a testsuite that tests some of the internal functions.
499
500     * Add 'debug' module for easier debugging.
501
502   NEW FEATURES
503
504     * Removed dependency on popt and libxml.
505
506     * Enhance custom_log (Alexander Wild).
507
508     * Add support for %B, %e and %Y in log_custom (Korbinian Rosenegger)
509
510     * Support CONNECT proxy command as used by irssi and other clients.
511
512     * Use new CtrlProxy-specific logging system. 
513       Logs go to ~/.ctrlproxy/log by default now when in daemon mode.
514
515     * nickserv is now "self-learning".
516
517     * Add socks module to allow connecting using SOCKS.
518
519     * Install default configuration that is used when the user 
520       does not have a local configuration.
521
522     * Support autogenerating a configuration using `ctrlproxy --init'.
523
524     * Uses GNUTLS now rather than OpenSSL.
525
526     * Remove linestack_memory and make linestack_file the default.
527
528     * Admin module can now also work as a seperate ('virtual') network.
529
530     * Make reconnect_timeout changeable (Alexander Wild)
531
532     * Add inetd-style client support.
533
534     * Support non-blocking connects. (Daniel Poelzleithner)
535
536     * Parse 005 line sent by server for PREFIX, CHANTYPES, NETWORK.
537
538     * Add ability to change NICK when away.
539
540     * Add help support in admin module (Daniel Poelzleithner).
541
542     * Allows connecting to networks on ~/.ctrlproxy/socket using 
543       unix domain sockets.
544
545     * Write out PID file.
546
547     * lots of other small improvements