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