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