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