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