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