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