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