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