-
Notifications
You must be signed in to change notification settings - Fork 10
/
ChangeLog
389 lines (339 loc) · 15.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
version 1.4.8 (2011-06-11):
General:
* Close socket when filetransfer is finished. Fixes filetransfer
for tkabber.
* Cancel remote filetransfers when XMPP user disconnets.
* Escape status message before sending it to legacy network.
* Update buddies in database after remote-roster change.
* Send status code 210 when nickname changes in Multi user chat.
* Fixed bug when chatstates weren't forwarded to XMPP in some cases.
* Disable not working IBB filetransfer method.
* Don't forward avatars bigger than 300KB to XMPP.
* Added support for memory usage in statistics on *BSD.
* Send unavailable presences from all buddies when Spectrum is not able
to reconnect XMPP user in 10 seconds because of network error.
* filetransfer_force_cache option now works as expected.
* Added [registration] extra_fields config variable to disable/enable
'encoding' field in registration form.
* Added support for newest Poco libraries.
* Epoll eventloop is now supported again using libev library
(libevent is not used anymore).
* Fixed nickname updating using remote-roster.
ICQ:
* Fixed login after ICQ protocol change.
* Emails are allowed in registration form.
IRC:
* Fixed regression with broken private messages.
* Fixed Nickserv identification without irc-helper plugin.
version 1.4.7 (2011-01-22):
General:
* Fixed 100% cpu usage when Spectrum can't connect Jabber server.
* Resize and convert avatars before sending them into legacy network.
Needs libmagick++ installed during compilation.
* Working nicknames/groups synchronization in both directions
using Remote Roster protoXEP. Need patched Ejabberd or extra Prosody
module. Check http://spectrum.im/projects/spectrum/wiki/Remote_roster.
* Fixed crash when filetransfers have not been cancelled before XMPP user
disconnected.
* Fixed bug when filetranfer got stuck sometimes.
* Send Adhoc Commands always in the same order.
* Answer to VCard IQ for transport contact.
* Fixed bug when two SpectrumConversations were created for single
PurpleConversation and therefore messages have been sent to resource
with lower priority sometimes.
* Send messages always to bare JID when resources have the same priority.
* Send disco#info and disco#items features for all protocols. Fixes
bad capability hash in presences.
ICQ:
* Fixed avatars forwarding from Jabber to ICQ.
* Set use_clientlogin=0 and server=login.icq.com as default values
for older libpurple.
* Forward more informations in VCards. Thanks to Alexander Skovpen.
* Fixed denying of authorization requests.
XMPP:
* Fixed nickname setting for Jabber MUC.
* Send status code 110 while joining the room.
Identica:
* Store last message ID in database, so Spectrum doesn't send the same
messages again.
version 1.4.6 (2010-12-30):
General:
* Fixed compilation issues with older libpurple (XStatus for ICQ is
disabled when Spectrum is compiled with libpurple which doesn't
support it).
spectrumctl:
* Fixed syntax error caused by use of newer Python features.
version 1.4.5 (2010-12-28):
General:
* Map Extended Away status to Away if particular libpurple protocol
plugin does not support XA status.
* Added new filetransfer_force_cache_storage=0 config variable to force
storing files from legacy network on server. This is also configurable
per user via Transport Settings adhoc commands.
* Added "Reject all incoming authorizations" Transport Settings option.
* Fixed forwarding of initial presence to XMPP user when more resource
are connected.
* Automatic tests (spectrum_test) are temporarily disabled.
ICQ:
* Working XStatus forwarding from ICQ buddies to XMPP user.
XMPP:
* Fixed GTalk's new email notification when there are more pending emails.
IRC:
* Fixed forwarding of IRC users modes changes.
Yahoo:
* Fixed issues when receiving messages from MSN buddies using Yahoo
transport. Thanks to Paolo Encomienda.
GroupWise:
* Added support, use protocol=groupwise in config file.
spectrumctl:
* No longer enforce any permissions on filetransfer_cache (it has to
be writable by the webserver)
* Remove the --cron option for action 'list'
* New action 'cron' is now intended for regular cron runs:
* It outputs transports that have crashed
* Saves backtraces, logs and the current spectrum_version (see
new --output-dir option)
* Prints location of those files
* Creation of backtraces can be surpressed with --no-backtraces.
version 1.4.4 (2010-11-25):
General:
* Error messages are sent in presences from transport contact.
* SQL statement to check if user is VIP can be changed in config file
using [database] vip_statement config.
* Fixed crash when there were buddies with non-unicode characters
in database
ICQ:
* Fixed connecting the network with libpurple 2.7.7.
version 1.4.3 (2010-10-28):
General:
* Fixed crash when there were buddies with non-unicode characters
in database
* Faster Roster Item Exchange forwarding.
* First presence from transport is sent when user is actually
logged in to legacy network.
* Forward only presences from active resource to legacy network.
* Send mime-types in VCards.
* Fixed caps hash.
ICQ:
* Fixed logging issues.
version 1.4.2 (2010-10-08):
General:
* Fixed crash when user rejected susbcribe request after automatic
reconnection.
* Fixed crash in DNSResolver when resolving was cancelled in some cases.
* Fixed crash when conversations were not properly deleted after logout.
* Fixed chatstates forwarding from XMPP to legacy network.
* Sending statistics to anyone can be disabled by setting
[features] statistics=0.
* Fixed missing 'ver' attribute in presence caps after
"spectrumctl reload".
* Added support for libevent. Epoll can be used instead of poll by setting
[service] eventloop=epoll. Use epoll only with standard libpurple
protocols, otherwise it doesn't have to work well.
* Added new [registration] allowed_users=regexp config variable
to white-list registration usernames.
pytransports2spectrum:
* Fixed migration of utf8 usernames from py-transports [Nikolaus Polak].
Bonjour:
* Added Bonjour protocol support.
XMPP:
* Receiving VCards supported.
version 1.4.1 (2010-08-25):
General:
* Fixed memory corruption in SQLClass on x86_64.
* Fixed memory leak in SpectrumDiscoHandler.
* Fixed memory corruption when user settings are changed.
* Fixed memory corruption when XMPP user tried to add legacy network
buddy twice.
* Fixed crash when storing buddies settings to database when stored string
is NULL.
* Fixed crash in Ad-Hoc commands when user submitted his settings after he
disconnected the transport.
Twitter:
* Store Twitter tokens in database. Fixes a bug when Spectrum was asking
for access on almost every login.
Identica:
* Fixed Identica support.
version 1.4.0 (2010-08-12):
General:
* Don't answer twice to disco#items stanzas.
* Fixed memory corruption in SpectrumTimer.
* Use transactions for storing buddies into database (storing buddies is
much more faster especially with SQLite).
* Better subscriptions handling. Fixes the bug when accepting buddies with
capital letters or spaces.
* Fixed disconnecting the rooms.
Twitter:
* Twitter is going to stop basic authentication support. Old Prpltwtr
plugin doesn't support new OAuth authentication, therefore Spectrum
needs microblog-purple <http://code.google.com/p/microblog-purple/>
since this release. Read Upgrade Notes:
<http://spectrum.im/projects/spectrum/wiki/UpgradeNotes>.
* Before first connection, Spectrum asks user to allow it access to his
Twitter account. User has to open the link in web-browser and send
the PIN back to Spectrum.
* Passwords are not stored on the server now.
* #home MUC room doesn't work.
XMPP:
* Fixed crash in AdHoc commands.
Identica:
* Added support for Identica - needs microblog-purple
<http://code.google.com/p/microblog-purple/>.
Heroes of Newerth:
* Added support for HoN network - needs honpurpl
<http://code.google.com/p/honpurple/>.
spectrumctl:
* --quiet is no longer ignored by list action:
Only print not running transports and no header-line
* --cron allows you to run spectrumctl --cron list for periodic
cron jobs: Only print crashed transports ("Dead but pid-file
exists") and remove the pid file afterwards.
version 0.3.1 (2010-07-21):
General:
* Fixed bug in localization of empty strings.
* Handle disco#info for buddies properly.
* Added 'Ad-Hoc Commands' node into default disco#items list.
* Use FindPythonInterp to find Python in CMake.
* Added [service] jid_escaping variable to disable use of JID Escaping by default
for newly registered users.
* Ping MySQL database to avoid session timeout.
XMPP:
* Fixed private messages in MUC.
AIM:
* Fixed sending apostrophes.
spectrumctl:
* fixed crash when updating database from old version
* support for spaces in config-file names
* cleaned up imports
* drop privileges using fork()->setuid()->exec() and not with su
version 0.3 (2010-07-13):
General:
* Added localization support.
* Added support for XEP-0106: JID Escaping. JID Escaping is used only for newly
added buddies. Old buddies don't use this XEP.
* Added option to disable new registrations.
* Added option to change user username while registering. This allows
to have for example Facebook transport where users can register only their
facebook name (no the whole JID).
* Added --list-purple-settings (-s) command line option to list all settings
which can be passed as key in [purple] section in config file.
* Added --check-db-version (-c) command line options to check current database
version.
* New Ad-Hoc Commands for Spectrum administrators: Register new user,
Unregister user, Set VIP status, Send message to all online users.
* Support for glib older than 2.14.
* Try to reconnect to Jabber server for all stream errors.
* Disconnect users from legacy network when Jabber server gets down.
* Send unavailable presences from all online buddies when restarting Spectrum
with spectrumctl.
* Fixed timestamps for delayed messages from legacy network.
* Entity capabilities hash is now computed correctly.
* Users are correctly divided into 2 groups according to "vip" column in
"users" database table.
* transport_features and vip_features config variables are deprecated now.
Use [features] and [vip-features] sections instead of them. See default
spectrum.cfg for more details and example.
* Spectrum is not showed as available when it's disabled in Ad-Hoc commands.
* Don't send Roster Item Exchange to clients which don't answer disco#info
request.
* Fixed bug in adding new buddies when buddy wasn't properly added to legacy
network contanct list in some cases.
* Fixed crash when MySQL database is stopped while Spectrum is running. Spectrum
tries to reconnect automatically now.
* Fixed memory leak when conversations were not destroyed after logout.
* Linkify outgoing xhtml messages.
* Use proper show and status message when connecting to legacy network.
* Send /me to legacy networks properly.
* Fixed various crashes in RosterManager class.
* Send next message from legacy network to bare jid if active resource changed.
Twitter:
* Added support for latest prpltwtr plugin (http://code.google.com/p/prpltwtr/).
XMPP:
* Room Jabber IDs don't start with "#" character. So proper JID to join our room
is now "spectrum%[email protected]".
ICQ/AIM:
* Fixed connection issues on Windows.
MSN:
* Send proper features in disco#info (Fixes filetransfer problems in some Jabber
Clients).
Gadu-Gadu:
* Added support for receiving VCards.
IRC:
* Fixed bug when user stays connected to IRC even he is logged out from Jabber.
* Fixed sending first private message from XMPP to IRC.
* Working /me command. Other commands can be listed by /help command.
* Fixed memory leak in joining the room.
spectrumctl
* Heavy refactoring for advanced options
* New actions:
* set_vip_status (enable/disable VIP status of a given user)
* upgrade-db (upgrade database to most recent version)
* shell (launch interactive shell)
* help (give help on any command)
* message-all (message all users currently online)
* set-vip-status (set VIP status of user)
* register (register a user)
* unregister (delete a user)
All commands are now also documented on the homepage:
http://spectrum.im/projects/spectrum/wiki/Managing_Spectrum_instances
* Framework to use the epydoc documentation for generating runtime
help, the man-page and the documentation on the homepage.
version 0.2 (2010-04-08):
General:
* Don't answer error IQ stanza on disco#info request.
* Added Windows compilation support.
* Send unavailable presences when shutting transport down.
* Working filetransfer from XMPP to legacy network when legacy network user
can't receive file. File is then stored on server and the link to file is
sent. Web address and file storage directory can be set in config file.
* Twitter protocol support (using http://code.google.com/p/prpltwtr/)
* Added $filename:jid, $filename:protocol and $filename:port config variables
which are set according to config filename. It has to be named as
jid:protocol:port.cfg (for example icq.localhost:icq:5432.cfg).
* Fixed crash when legacy network user cancels filetransfer.
* Fixed crash when XMPP user cancels Adhoc command execution.
* Fixed crash when two XMPP users try to use one legacy network account.
* Don't send duplicate presences.
* Don't forward typing notification without an existing conversation.
* Fixed transport unregister process. Buddies are now removed also if user
doesn't support Roster Item Exchange.
* Forward VCard avatars from XMPP to legacy network, with the caveat that
this only works if the VCard avatar adheres to the file type, size,
and dimension constraints of the legacy network (no scaling is currently
done).
* Added filetransfer_bind_address and filetransfer_public_address config
variables to be able to set IP and port for filetransfer proxy. The
public address is used if Spectrum is behind a NAT.
* Spectrum can now open a local socket that allows (fast) statistics
gathering. This is already used by spectrumctl. The path to the
local socket is configured with the config_interface option.
* New man pages for spectrum.cfg and spectrumctl.
spectrumctl:
* The script now does rigorous checking of ownership and permissions
on all the important files and directories.
* New action "stats" which gathers statistics via the config_interface
(see above).
* Two new command-line options for start:
* --no-daemon: Do not start spectrum as a daemon
* --debug: Sets some environment variables, a coredump will be made
to $HOME in case of a segfault.
* New command-line option for list:
* --machine-readable: Output data as comma-seperated values
* env-variable SPECTRUM_PATH can now configure how spectrumctl is
called. If the variable is not set, it assumes that spectrum is in its
PATH.
* env-variable SPECTRUM_USER can now configure the name of the
spectrum-user. This is still overridden by --su.
XMPP:
* MUC support for XMPP
IRC:
* IRC Nickserv password can be set via Adhoc command.
* Fixed Private Messages.
* Using IRC Helper (http://plugins.guifications.org/trac/wiki/irchelper) for
identyfing user. Used only if IRC Helper is installed.
Munin plugin
* Now use config_interface instead of XMPP-connection. This changes
the configuraton significantly, please see documentation of the
plugin for details.
version 0.1 (2010-02-05):
* initial version