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