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