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