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