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