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