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