core: Avoid confusing log message when legacy client connects
[quassel.git] / ChangeLog
1 ChangeLog for Quassel IRC
2 =========================
3 This is not a full ChangeLog, but rather an end-user FeatureLog that is supposed
4 to provide a list of new features between Quassel versions. As such, it only
5 contains end-user visible, mostly major new features. It does not contain (most)
6 bugfixes, nor is it guaranteed to be complete or up-to-date at all. Also, it does
7 start at 0.3.0 only, since this was the first version widely available.
8
9 Please have a look at <https://bugs.quassel-irc.org/projects/quassel-irc/roadmap> for a
10 list of closed bug/feature reports (which still does not cover bugs we have
11 fixed but which were never reported, of course), and for a full list of
12 changes, the git history at <https://git.quassel-irc.org> is your friend.
13
14 Without further ado, let's start:
15
16 Version 0.13.0 (TBR)
17 ====================
18
19 NOTE: Database schema and settings format change, no downgrade possible!
20
21 * Use Qt 5 by default
22 * Add Breeze/Breeze Dark icon themes, allow selection of icon theme
23 * Use Breeze icon theme by default
24 * Introduce new quassel-specific icons
25 * Use Plasma notification sounds by default (rather than KDE4's)
26 * Make IRC rate limits configurable
27 * Sender colors by default (and optionally for ACTION messages)
28 * Improve ChatView color settings
29 * Improve default sender colors, and make configurable by palette in QSS
30 * Optionally hide brackets around sender/timestamp
31 * Improved SSL certificate handling
32 * Add cmdline options for SSL certificate/key paths
33 * Use SHA-512 to store the core certificate digest
34 * Chat list filter/search
35 * QtMultimedia notification backend (deprecates Phonon support with Qt 5)
36 * Various UI improvements (tooltips, tool bars, menus...)
37 * Spell checking via Sonnet if KDE Frameworks integration is enabled
38 * Support for many IRCv3 features, improved capability negotiation
39 * Improve handling of user modes
40 * Store sender prefixes (@+v...) in database, and optionally show in UI
41 * Buffer filter/search
42 * Add context menu option in ChatView for enabling the menubar
43 * Add support for ZNC self-messages
44 * Support twitch.tv's membership capability
45 * Settings versioning (allows upgrading from older versions, too)
46 * LDAP authentication backend for core users (--select-authenticator)
47 * Handle buffer activity core-side
48 * Core-side (synced) highlight rules (in addition to local highlight rules)
49 * Allow disconnecting other clients via "Core Info" dialog (if supported by client)
50 * System proxy support for the client
51 * Support rendering of extended mIRC colors, hex colors, reverse and strikethrough
52 * Make /list open the channel list dialog
53 * Support $i:ident and $i:account in aliases
54 * Extended core/client feature negotiation, including diagnostic output
55 * Improve database performance
56 * Build system improvements
57 * Many smaller fixes and improvements
58 * Translation updates
59
60 Version 0.12.5 (2018-04-24)
61 ===========================
62
63 * Make "/ " use the rest of the message as a literal
64 * Use commit date instead of build date to support reproducible builds
65 * Support Qt 5.6 through Qt 5.10
66 * Automated OSX builds (via Travis)
67 * Update deployment and CI settings for OSX and Windows
68 * Better HIDPI support with recent Qt 5 versions
69 * Snapcraft packaging support
70 * Inxi version bump
71 * Prioritization of PING/PONG messages to prevent timeouts
72 * Improved touch screen support (scrolling etc.)
73 * WebEngine support for URL previews (deprecates WebKit support with Qt 5)
74 * Disable WebKit by default due to it being unmaintained and a security risk
75 * Strip format codes when checking for highlights
76 * Properly disconnect from networks when shutting down
77 * Reload SSL certificates on signal SIGHUP
78 * Add AppData metadata for quassel and quasselclient
79 * Allow channel buffer merges
80 * Improve dock and tray handling on OSX
81 * Split user messages on newlines, as per the RFC
82 * Join channels on double-click in platforms other than OSX and Windows
83 * Support Elliptic Curve keys for client<->core connections on Qt 5.5+
84 * Add sanity checks for QDataStream deserialization (e.g. for size)
85 * Prevent clients from trying to login to an unconfigured core, avoiding a crash
86 * Various bugfixes
87 * Some code cleanups
88 * Translation updates
89
90 Version 0.12.4 (2016-04-24)
91 ===========================
92
93 * Handle STATUSMSG messages (recently abused for query spam)
94 * Link previews are enabled again in Windows builds
95 * Fix core crash caused by clients sending invalid handshake data
96 * Fix session management with Qt 5
97 * Fix connection issues with non-compliant ircds
98 * Translation updates
99
100 Version 0.12.3 (2016-02-09)
101 ===========================
102
103 * Fix activity filters when selecting buffers in custom ChatViews
104 * Fix default shortcuts when integrated with KDE Frameworks
105 * Introduce support for Appveyor CI (automated Windows builds)
106 * Support SnoreNotify 0.7
107 * Various cleanups and performance improvements
108 * Various build system fixes
109 * Channel keys are again remembered between syncs
110 * Support for Qt 5.5
111 * Network (re)connection fixes
112 * Fix possible message loss when running multiple core users on a psql database
113 * Command line option for specifying SSL certificates and keys
114 * Many smaller fixes
115
116 Version 0.12.2 (2015-04-23)
117 ===========================
118
119 * Fix PostgreSQL not re-initializing after reconnect (raising CVE-2013-4422 from the dead)
120 * Remove warning on startup due to a change in Kdelibs4ConfigMigrator
121
122 Version 0.12.1 (2015-04-21)
123 ===========================
124
125 * Emergency fix for behavior change in Qt5's psql driver regarding timezones
126
127 Version 0.12.0 (2015-04-15)
128 ===========================
129
130 * Full support for KDE Frameworks
131 * Properly split messages with multi-byte encodings and/or encryption
132 * Improve core password hashing algorithm
133   NOTE: This upgrades the database schema, so no downgrades are possible!
134 * Remote password change
135 * Core connection improvements
136 * Build system improvements
137 * PostgreSQL connection improvements
138 * Improve Qt 5 support
139 * Qt 4.8+ or Qt 5.2+ now required
140 * Several tweaks and fixes
141 * Translation updates
142
143 Version 0.11.0 (2014-09-23)
144 ===========================
145
146 * New build requirements:
147   - C++11 capable compiler (gcc 4.7+, clang 3.3+, MSVC 2013+)
148   - cmake 2.8.9+
149 * Full support for Qt 5.2+ in addition to Qt 4.6+
150 * Completely revamp the build system, making use of "new" CMake features
151
152 Version 0.10.1 (2014-09-23)
153 ===========================
154
155 * Fix buffer hotlist sorting
156 * Split CTCP messages if they're too long
157 * Make database problems more obvious
158 * Fix backlog loading for QuasselDroid
159 * Properly save the toolbar state on Mac OSX
160 * Fix a crash with KDE's network detection
161 * Various other fixes
162
163 Version 0.10.0 (2014-03-25)
164 ===========================
165
166 * Refactor lots of the protocol and connection code
167 * Introduce connection probing for reliably negotiating protocol features
168 * Introduce the new DataStream protocol with streaming compression
169 * Option for forcing the core to only accept SSL connections
170 * Support for the Snore notification backend
171 * Allow searching the web for selected text
172 * Connection-related fixes
173 * Allow for hiding inactive networks
174 * Enable line wrap in the input field
175 * Show backlog messages in the Chat Monitor
176 * Remove SSL protocol selection, always use auto-negotiation for best results
177 * Highlight rules are now case-insensitive by default
178 * New and updated translations
179 * Bump inxi version (for /sysinfo)
180 * Use the raster rendering engine by default on OSX (should improve performance)
181
182 Version 0.9.3 (2014-03-25)
183 ==========================
184
185 * Notification fixes
186 * Improve reliability of SSL connections
187 * Save toolbar state properly on Mac
188 * Prevent user interaction with the web preview
189 * Fix fullscreen mode
190 * Fix spurious crash caused by shaky ircd connections
191 * Fix adding an unneeded colon to custom commands
192 * Avoid Qt's DNS cache to properly handle round-robin DNS records
193
194 Version 0.9.2 (2013-11-26)
195 ==========================
196
197 * Don't crash if /topic contains newlines
198 * Fix SSL-related issues
199 * Fix Phonon notifications not playing sound
200 * Pingout if connection drops during SASL auth phase
201 * Prevent messages from being sent to status buffers
202 * Make sure manipulated/buggy clients cannot access backlog of other core users
203 * Fix context menu issues
204
205 Version 0.9.1 (2013-10-11)
206 ==========================
207
208 * Fix security issue with Qt 4.8.5 and PostgreSQL
209 * Phonon notifications for Mac OS X
210 * Convert tabs in messages into 8 spaces
211 * Silence superfluous QCA warnings
212 * Various key- and encryption-related fixes
213 * Ignore formatting in clickables
214 * Enable warnings when compiling with Clang
215 * Updated translations
216 * Various other small fixes and improvements
217
218 Version 0.9.0 (2013-04-16)
219 ==========================
220
221 * Halfop support
222 * Channel-specific highlights
223 * Support for intermediate CA certificates
224 * Support the DockManager interface
225 * OSX Notification Center support
226 * DH1080 key exchange
227 * SASL EXTERNAL support
228 * Improvements for Retina displays on OSX
229 * Supporting to start minimized to tray
230 * Rudimentary support for Qt5 (obsolete again because upstream changed too much)
231 * Refactor of SignalProxy, network and protocol code
232 * First pieces of the coming protocol abstraction
233 * Build system improvements
234 * Various bugfixes
235 * New and updated translations
236 * Reformatted ALL the source code
237
238 Version 0.8.0 (2012-03-20)
239 ==========================
240
241 * Make tab completion key configurable
242 * Syslog support for the core
243 * Make the core more robust against random invalid input
244 * oidentd support
245 * Build system improvements
246 * Many new and updated translations
247 * Various bugfixes
248
249 Version 0.7.4 (2012-03-20)
250 --------------------------
251
252 * Improve keyboard navigation
253 * Bump Oxygen icons
254 * Conform with icon naming spec
255 * Remove JS support from webpreview
256 * Fix support for Qt 4.8
257 * Several bugfixes and cleanups
258
259 Version 0.7.3 (2011-09-08)
260 --------------------------
261
262 * Fix a core crash
263
264 Version 0.7.2 (2011-03-24)
265 --------------------------
266
267 * PostgreSQL improvements
268 * Various bugfixes
269
270 Version 0.7.1 (2010-09-21)
271 --------------------------
272
273 * Critical fixes for CTCP and connection handshake
274
275 Version 0.7.0 (2010-09-14)
276 ==========================
277
278 * Improved DE integration, support for dbusmenu
279 * Bump Qt dependency: we need Qt 4.6 for client and monolithic now
280 * Fullscreen mode (F11)
281 * CTCP CLIENTINFO support
282 * Shortcuts for navigation between chats (Alt+Left/Right/Up/Down)
283 * Add blowfish encryption (/setkey and /delkey; needs QCA2)
284 * Shortcut editing for all platforms (!KDE)
285 * Improved handling of invites
286 * New tray icon for highlights
287 * Global away
288 * Emacs-style keybindings for the input line
289 * Improved markerline behavior
290   - Allow manual setting (Ctrl+R)
291   - Provide shortcut for jumping to the markerline (Ctrl+K)
292 * New languages: el, gl, ja
293 * Many bugfixes
294
295 Version 0.6.1 (2010-04-16)
296 --------------------------
297
298 * Critical bugfixes
299
300 Version 0.6.0 (2010-04-14)
301 ==========================
302
303 * New languages: en_GB, es, nl, oc, pt, pt_BR, sq, sv, uk, zh_CN
304 * Updated existing languages
305 * Restore last selected buffer on restart
306 * Optional per-chat history
307 * SASL authentication support (e.g. supported by Freenode)
308 * Allow inputting formatted (colored/bold/...) text in the inputline
309 * Support the StatusNotifierItem DBus spec
310   - Replace old-style tray icon where supported (currently KDE >= 4.4)
311   - Integrate freedesktop notifications support (libnotify or knotify)
312 * Systemtray refactoring
313   - Replace animation by blinking icon
314   - Properly handle notifications and mainwindow toggle
315 * Improved URL detection
316 * Sender column is now clickable (double click opens query)
317 * Improved notification handling
318 * ChatView performance improvements
319 * Many buildsystem fixes
320   - Improved handling of icons
321   - Updated cmake macros
322   - Support building with MinGW
323   - Support KDE on non-X11 platforms
324   - Better handling of SSL libraries
325 * Solid network state detection support (with KDE)
326 * Settingspage refactoring
327 * Improved handling of SSL certificates
328 * Completely reworked the client/core connection
329   - New settingspage for managing core accounts
330   - Streamlined login/sync process
331   - Configurable timeout
332   - Automatic reconnect to core
333 * Send unknown commands to server
334 * New stylesheets
335 * Use gettext for translations
336
337 Version 0.5.2 (2010-01-18)
338 --------------------------
339
340 * CTCP ignore
341 * Buildsystem fixes
342
343 Version 0.5.1 (2009-11-21)
344 --------------------------
345
346 * Many Bugfixes
347 * Updated translations
348 * Fix issues with Qt >= 4.6
349
350 Version 0.5.0 (2009-10-14)
351 ==========================
352
353 * Tons of bugfixes
354 * Many translation updates
355 * Use DrKonqi/Apport to provide backtraces in case of a crash
356 * Support for Ayatana's Message Indicator (libindicate; *buntu specific feature for now)
357 * Fix wordwrap issues
358 * Improved notification behavior (highlighted channels can now be cycled)
359 * Improved icon packaging (don't install them if KDE is available and current enough)
360 * Menubar can now be hidden (Ctrl+M to toggle)
361 * Ignore list support
362 * Vast performance improvements in the handling of synced objects
363   - Core startup/shutdown now almost instant
364   - Joining/leaving large channels much more efficient
365 * Netsplit detection
366 * New topic widget dynamically resizes to show all of the topic
367 * Usability tweaks
368   - Reworked configuration dialogs
369   - Renamed "Buffer" to "Chat" throughout in all user-visible strings
370 * Introduce stylesheet-based (QSS) styling for ChatView and the whole application
371 * Allow configuration of ping timeouts and auto-WHO
372 * Make toolbars configurable in KDE
373 * Alt+A shortcut for jumping to cycle through active buffers
374 * Properly remember the mainwindow state on shutdown/restart
375 * Multiline input support
376 * Improved systray notifications
377 * Lazy backlog fetching for hidden buffers
378 * Improved flood control
379 * Spell check support (requires KDE integration)
380 * /exec support for executing external scripts/programs
381 * CLI interface for managing core users with quasselcore rather than a script
382 * Improved ping timeout detection
383 * PostgreSQL database backend support
384 * Smart nickname completion (most recently active)
385
386 Version 0.4.3 (2009-08-26)
387 --------------------------
388
389 * Bugfixes and translation updates
390
391 Version 0.4.2 (2009-05-20)
392 --------------------------
393
394 * Bugfixes and translation updates
395
396 Version 0.4.1 (2009-03-18)
397 --------------------------
398
399 * Bugfixes and translation updates
400
401 Version 0.4.0 (2009-02-17)
402 ==========================
403
404 * Buffer view font can now be changed
405 * Colored nicknames
406 * Wizard for setting up identity and networks on first run
407 * Paste protection warns if you try to paste many lines
408 * Use login name and real name for default identity
409 * Add toolbar to main window
410 * Away log window showing highlighted messages while you're away
411 * Settings dialog streamlining
412 * Animated system tray icon
413 * Shiny new Oxygen icons all over the place, including our new app icon
414 * Build system improvements
415 * Put all config and data files in one location and make that configurable
416 * Allow presetting networks and a list of channels to join on first start
417 * Change and improve CLI argument handling
418 * All buffer views are now customizable
419 * Streamlined monolithic client
420 * Many usability improvements
421 * Method for easily hiding and unhiding buffers in buffer views
422 * Renaming and merging of query buffers
423 * Improved SSL certificate handling
424 * Optional support for KDE4
425   - KNotify support
426   - KDE icon and color theme support
427   - Editable shortcuts
428 * Core now supports a proxy for connections to IRC
429 * Core supports SSL certs and keys for IRC connections
430 * Chat Monitor configuration dialog
431 * Audio notifications
432 * Clickable channel names in ChatView
433 * Context menus in ChatView and BufferViews
434 * Respect the separate clipboards (Ctrl+C / X11 selection) on X11
435 * Improved mouse handling:
436   - Double/triple click selections
437   - Drag'n'Drop
438
439 Version 0.3.1 (2008-11-20)
440 --------------------------
441
442 * Nick changes and day change messages can now be hidden
443 * Web previews and status icons can be disabled
444 * Icons for Online/Away/Offline status of queries
445 * Load Qt's default translations
446 * Add new settings for proper message redirection
447 * Add context menu to links
448 * Automatic backtraces on Windows
449 * Add russian translation
450 * Cut off the sender column on the left in ChatView
451 * Enable away on detach
452 * Backlog amount (initial and dynamic) can now be configured
453 * Shift Up/Down scrolls the ChatView
454 * Page Up/Down scrolls the ChatView
455 * ChatView Zoom with Ctrl + / Ctrl -
456 * Join/Part/Quit... events can now be hidden in ChatView
457 * Monolithic build features zero configuration: Click'n'Run
458 * Monolithic build now uses a proper (socket-less) internal connection
459 * Ctrl+L focuses input line
460 * Improve notification handling, use proper D-Bus notifications
461 * Day change messages in ChatView
462 * Web Preview on hovering over a link (requires QtWebkit)
463 * Allow icons to be installed externally, optionally use system Oxygen theme
464 * Improve URL handling in ChatView (underline, single-click invocation)
465
466 Version 0.3.0 (2008-08-27)
467 ==========================
468 The first widely available release of Quassel IRC.