forked from quassel/quassel
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
567 lines (498 loc) · 21.4 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
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
ChangeLog for Quassel IRC
=========================
This is not a full ChangeLog, but rather an end-user FeatureLog that is supposed
to provide a list of new features between Quassel versions. As such, it only
contains end-user visible, mostly major new features. It does not contain (most)
bugfixes, nor is it guaranteed to be complete or up-to-date at all. Also, it does
start at 0.3.0 only, since this was the first version widely available.
Please have a look at <https://bugs.quassel-irc.org/projects/quassel-irc/roadmap> for a
list of closed bug/feature reports (which still does not cover bugs we have
fixed but which were never reported, of course), and for a full list of
changes, the git history at <https://git.quassel-irc.org> is your friend.
Without further ado, let's start:
Version 0.14.0 (Unreleased)
===========================
NOTE: Database schema format change, no downgrade possible!
* New baseline for minimum build requirements and dependencies: Ubuntu 16.04 "Xenial Xerus"
- GCC 5 or Clang 3.4
- CMake 3.5
- Qt 5.5.0
* New dependencies:
- Boost (v1.54 or later, build-time only)
- zlib (bundled miniz has been removed)
* Remove support for building against Qt4/KDE4
* Require SSL support in Qt
* Support many more features of IRCv3
* Support the HAProxy protocol
* Provide a daemon providing Prometheus metrics
* Deprecate local highlight settings (prefer synced ones instead)
* Improve configuration of SASL PLAIN and EXTERNAL
* Add button for strike-through format
* Allow choosing the account to connect to via command-line option
* Make database schema migration more robust
* Make backlog fetch more efficient, allow for fetch-on-demand
* Make syncing and other aspects of the core/client protocol more efficient
* Make RPC implementation more efficient
* Improve log output
* Clean up and modernize large parts of the code base
- Replace the Qt 4 string-based connect syntax by function pointers
- Fix many clang-tidy findings
- Reformat ALL the code using clang-format instead of Uncrustify, with some style changes
* Modernize build system
* Support building shared libraries via the ENABLE_SHARED CMake option (defaults to on)
* Introduce support for (and a small selection of) unit tests via the BUILD_TESTING CMake option
* Use Github Actions as CI system, replacing Travis and Appveyor
* Revamp bundle/DMG creation on macOS
* Many smaller fixes
* Improve documentation and UI help
* Update translations
Version 0.13.1 (2019-02-15)
===========================
* Fix backlog message fetching that was broken when using Qt4
* Improve output to syslog
* Make upgrading the database schema more robust in case of interruption
* Fix alignment of buttons in the input widget
* Fix bug where the nicklist would be hidden on first start
* Allow configuring the listen addresses for the built-in identd (--ident-listen)
* Honor core options even if it was just configured via environment variables
* Fix syncing of auto reconnect retries in network settings
* Update translations
Version 0.13.0 (2018-11-17)
===========================
NOTE: Database schema and settings format change, no downgrade possible!
NOTE²: Database migration may take a long time (hours for big databases),
and temporarily require double the disk space until migration is
complete!
* Use Qt 5 by default (this will be the last feature release still supporting Qt4)
* New branding (application icon)
* UI improvements
- Improve ChatView color settings
- Improve default sender colors, and make configurable by palette in QSS
- Fix font weight parsing and other issues in QSS
- Settings dialog improvements (tree width, changed state for several pages)
- Chat list filter/search
- Shortcuts for formatting options
- Sender colors by default (and optionally for ACTION messages)
- Add context menu option in ChatView for enabling the menubar
- Optionally hide brackets around sender/timestamp
- Make /list open the channel list dialog, including advanced search for channels
- Spell checking via Sonnet if KDE Frameworks integration is enabled
- Support $i:ident, $i:identd, and $i:account in aliases
- Use system locale for date/time formatting
- Many other UI improvements and polish (tooltips, tool bars, menus...)
* Completely revamp icon theme support
- Fix icon loading on many platforms (requires newer Qt)
- Fix tray icons with StatusNotifier
- Allow selecting a fallback for incomplete system icon themes
- Ship Quassel-specific icons
- Add Breeze and Breeze Dark icon themes, use Breeze by default
* Notification improvements
- New configuration options for tray icon notification
- Use Plasma notification sounds by default (rather than KDE4's)
- QtMultimedia notification backend (deprecates Phonon support with Qt 5)
* IRC-related improvements
- Support for many IRCv3 features, improved capability negotiation
- Improve handling of user modes
- Store sender prefixes (@+v...) in database, and optionally show in UI
- Add support for ZNC self-messages
- Support twitch.tv's membership capability
- Support rendering of extended mIRC colors, hex colors, reverse and strikethrough
- Make IRC rate limits configurable
- Use UTF-8 server encoding by default (instead of ISO-8859-1, changeable via network settings)
- Internal identd (may require port forwarding rules)
- Strict ident mode (always sends user name)
- Provide CTCP timestamps in ISO 8601 format
- AutoWho-related fixes, properly support away-notify (removes workaround for non-compliant servers)
- Command line debug options for showing raw IRC messages
* Security improvements
- Improved SSL certificate handling
- Add command line options for SSL certificate/key paths
- Use SHA-512 to store the core certificate digest
- Persist blowfish keys for encrypted channels
- Use CBC by default, like other clients (instead of ECB)
* Move functionality core side (useful for mobile clients)
- Handle buffer activity, highlights, ignore rules core-side
- Improved ignore rule support
- Core-side (synced) highlight rules (in addition to local highlight rules)
* Core/client connection
- Extended core/client feature negotiation, including diagnostic output
- System proxy support for the client
- Allow disconnecting other clients via "Core Info" dialog (if supported by client)
- LDAP authentication backend for core users (--select-authenticator)
* Regular expressions
- Unify regex handling (may affect old ignore rules, see release announcement for details)
- Cache many frequently used regexes to improve performance
* Database changes
- Use 64 bit timestamps to avoid the Y2038 problem, use millisecond precision
- Use 64 bit message IDs to support giant backlogs (requires 0.13+ core and client)
- Store real names and avatar URLs in database (for now, only used by Quasseldroid)
- Improve database performance
- Make database upgrades more robust
* Containerization improvements
- Store core settings in database
- Allow configuring the core via environment variables
* Logging improvements
- Allow to configure the log level also for (monolithic or not) client
- Make debug log window more useful
- Catch early log messages
- Slightly reformat console output so it's better readable
* Settings versioning (allows upgrading from older versions, too)
* Multithread the monolithic client, to keep UI responsive even under load
* Properly shutdown client and core on exit
* Fix POSIX signal handling, support console events on Windows
* Build system improvements
* Code fixes for issues found in static analysis
* Many smaller fixes and quality-of-life improvements
* Update inxi script to 3.0.18 (now requires Perl to be installed)
* Translation updates
Version 0.12.5 (2018-04-24)
===========================
* Make "/ " use the rest of the message as a literal
* Use commit date instead of build date to support reproducible builds
* Support Qt 5.6 through Qt 5.10
* Automated OSX builds (via Travis)
* Update deployment and CI settings for OSX and Windows
* Better HIDPI support with recent Qt 5 versions
* Snapcraft packaging support
* Inxi version bump
* Prioritization of PING/PONG messages to prevent timeouts
* Improved touch screen support (scrolling etc.)
* WebEngine support for URL previews (deprecates WebKit support with Qt 5)
* Disable WebKit by default due to it being unmaintained and a security risk
* Strip format codes when checking for highlights
* Properly disconnect from networks when shutting down
* Reload SSL certificates on signal SIGHUP
* Add AppData metadata for quassel and quasselclient
* Allow channel buffer merges
* Improve dock and tray handling on OSX
* Split user messages on newlines, as per the RFC
* Join channels on double-click in platforms other than OSX and Windows
* Support Elliptic Curve keys for client<->core connections on Qt 5.5+
* Add sanity checks for QDataStream deserialization (e.g. for size)
* Prevent clients from trying to login to an unconfigured core, avoiding a crash
* Various bugfixes
* Some code cleanups
* Translation updates
Version 0.12.4 (2016-04-24)
===========================
* Handle STATUSMSG messages (recently abused for query spam)
* Link previews are enabled again in Windows builds
* Fix core crash caused by clients sending invalid handshake data
* Fix session management with Qt 5
* Fix connection issues with non-compliant ircds
* Translation updates
Version 0.12.3 (2016-02-09)
===========================
* Fix activity filters when selecting buffers in custom ChatViews
* Fix default shortcuts when integrated with KDE Frameworks
* Introduce support for Appveyor CI (automated Windows builds)
* Support SnoreNotify 0.7
* Various cleanups and performance improvements
* Various build system fixes
* Channel keys are again remembered between syncs
* Support for Qt 5.5
* Network (re)connection fixes
* Fix possible message loss when running multiple core users on a psql database
* Command line option for specifying SSL certificates and keys
* Many smaller fixes
Version 0.12.2 (2015-04-23)
===========================
* Fix PostgreSQL not re-initializing after reconnect (raising CVE-2013-4422 from the dead)
* Remove warning on startup due to a change in Kdelibs4ConfigMigrator
Version 0.12.1 (2015-04-21)
===========================
* Emergency fix for behavior change in Qt5's psql driver regarding timezones
Version 0.12.0 (2015-04-15)
===========================
* Full support for KDE Frameworks
* Properly split messages with multi-byte encodings and/or encryption
* Improve core password hashing algorithm
NOTE: This upgrades the database schema, so no downgrades are possible!
* Remote password change
* Core connection improvements
* Build system improvements
* PostgreSQL connection improvements
* Improve Qt 5 support
* Qt 4.8+ or Qt 5.2+ now required
* Several tweaks and fixes
* Translation updates
Version 0.11.0 (2014-09-23)
===========================
* New build requirements:
- C++11 capable compiler (gcc 4.7+, clang 3.3+, MSVC 2013+)
- cmake 2.8.9+
* Full support for Qt 5.2+ in addition to Qt 4.6+
* Completely revamp the build system, making use of "new" CMake features
Version 0.10.1 (2014-09-23)
===========================
* Fix buffer hotlist sorting
* Split CTCP messages if they're too long
* Make database problems more obvious
* Fix backlog loading for QuasselDroid
* Properly save the toolbar state on Mac OSX
* Fix a crash with KDE's network detection
* Various other fixes
Version 0.10.0 (2014-03-25)
===========================
* Refactor lots of the protocol and connection code
* Introduce connection probing for reliably negotiating protocol features
* Introduce the new DataStream protocol with streaming compression
* Option for forcing the core to only accept SSL connections
* Support for the Snore notification backend
* Allow searching the web for selected text
* Connection-related fixes
* Allow for hiding inactive networks
* Enable line wrap in the input field
* Show backlog messages in the Chat Monitor
* Remove SSL protocol selection, always use auto-negotiation for best results
* Highlight rules are now case-insensitive by default
* New and updated translations
* Bump inxi version (for /sysinfo)
* Use the raster rendering engine by default on OSX (should improve performance)
Version 0.9.3 (2014-03-25)
==========================
* Notification fixes
* Improve reliability of SSL connections
* Save toolbar state properly on Mac
* Prevent user interaction with the web preview
* Fix fullscreen mode
* Fix spurious crash caused by shaky ircd connections
* Fix adding an unneeded colon to custom commands
* Avoid Qt's DNS cache to properly handle round-robin DNS records
Version 0.9.2 (2013-11-26)
==========================
* Don't crash if /topic contains newlines
* Fix SSL-related issues
* Fix Phonon notifications not playing sound
* Pingout if connection drops during SASL auth phase
* Prevent messages from being sent to status buffers
* Make sure manipulated/buggy clients cannot access backlog of other core users
* Fix context menu issues
Version 0.9.1 (2013-10-11)
==========================
* Fix security issue with Qt 4.8.5 and PostgreSQL
* Phonon notifications for Mac OS X
* Convert tabs in messages into 8 spaces
* Silence superfluous QCA warnings
* Various key- and encryption-related fixes
* Ignore formatting in clickables
* Enable warnings when compiling with Clang
* Updated translations
* Various other small fixes and improvements
Version 0.9.0 (2013-04-16)
==========================
* Halfop support
* Channel-specific highlights
* Support for intermediate CA certificates
* Support the DockManager interface
* OSX Notification Center support
* DH1080 key exchange
* SASL EXTERNAL support
* Improvements for Retina displays on OSX
* Supporting to start minimized to tray
* Rudimentary support for Qt5 (obsolete again because upstream changed too much)
* Refactor of SignalProxy, network and protocol code
* First pieces of the coming protocol abstraction
* Build system improvements
* Various bugfixes
* New and updated translations
* Reformatted ALL the source code
Version 0.8.0 (2012-03-20)
==========================
* Make tab completion key configurable
* Syslog support for the core
* Make the core more robust against random invalid input
* oidentd support
* Build system improvements
* Many new and updated translations
* Various bugfixes
Version 0.7.4 (2012-03-20)
--------------------------
* Improve keyboard navigation
* Bump Oxygen icons
* Conform with icon naming spec
* Remove JS support from webpreview
* Fix support for Qt 4.8
* Several bugfixes and cleanups
Version 0.7.3 (2011-09-08)
--------------------------
* Fix a core crash
Version 0.7.2 (2011-03-24)
--------------------------
* PostgreSQL improvements
* Various bugfixes
Version 0.7.1 (2010-09-21)
--------------------------
* Critical fixes for CTCP and connection handshake
Version 0.7.0 (2010-09-14)
==========================
* Improved DE integration, support for dbusmenu
* Bump Qt dependency: we need Qt 4.6 for client and monolithic now
* Fullscreen mode (F11)
* CTCP CLIENTINFO support
* Shortcuts for navigation between chats (Alt+Left/Right/Up/Down)
* Add blowfish encryption (/setkey and /delkey; needs QCA2)
* Shortcut editing for all platforms (!KDE)
* Improved handling of invites
* New tray icon for highlights
* Global away
* Emacs-style keybindings for the input line
* Improved markerline behavior
- Allow manual setting (Ctrl+R)
- Provide shortcut for jumping to the markerline (Ctrl+K)
* New languages: el, gl, ja
* Many bugfixes
Version 0.6.1 (2010-04-16)
--------------------------
* Critical bugfixes
Version 0.6.0 (2010-04-14)
==========================
* New languages: en_GB, es, nl, oc, pt, pt_BR, sq, sv, uk, zh_CN
* Updated existing languages
* Restore last selected buffer on restart
* Optional per-chat history
* SASL authentication support (e.g. supported by Freenode)
* Allow inputting formatted (colored/bold/...) text in the inputline
* Support the StatusNotifierItem DBus spec
- Replace old-style tray icon where supported (currently KDE >= 4.4)
- Integrate freedesktop notifications support (libnotify or knotify)
* Systemtray refactoring
- Replace animation by blinking icon
- Properly handle notifications and mainwindow toggle
* Improved URL detection
* Sender column is now clickable (double click opens query)
* Improved notification handling
* ChatView performance improvements
* Many buildsystem fixes
- Improved handling of icons
- Updated cmake macros
- Support building with MinGW
- Support KDE on non-X11 platforms
- Better handling of SSL libraries
* Solid network state detection support (with KDE)
* Settingspage refactoring
* Improved handling of SSL certificates
* Completely reworked the client/core connection
- New settingspage for managing core accounts
- Streamlined login/sync process
- Configurable timeout
- Automatic reconnect to core
* Send unknown commands to server
* New stylesheets
* Use gettext for translations
Version 0.5.2 (2010-01-18)
--------------------------
* CTCP ignore
* Buildsystem fixes
Version 0.5.1 (2009-11-21)
--------------------------
* Many Bugfixes
* Updated translations
* Fix issues with Qt >= 4.6
Version 0.5.0 (2009-10-14)
==========================
* Tons of bugfixes
* Many translation updates
* Use DrKonqi/Apport to provide backtraces in case of a crash
* Support for Ayatana's Message Indicator (libindicate; *buntu specific feature for now)
* Fix wordwrap issues
* Improved notification behavior (highlighted channels can now be cycled)
* Improved icon packaging (don't install them if KDE is available and current enough)
* Menubar can now be hidden (Ctrl+M to toggle)
* Ignore list support
* Vast performance improvements in the handling of synced objects
- Core startup/shutdown now almost instant
- Joining/leaving large channels much more efficient
* Netsplit detection
* New topic widget dynamically resizes to show all of the topic
* Usability tweaks
- Reworked configuration dialogs
- Renamed "Buffer" to "Chat" throughout in all user-visible strings
* Introduce stylesheet-based (QSS) styling for ChatView and the whole application
* Allow configuration of ping timeouts and auto-WHO
* Make toolbars configurable in KDE
* Alt+A shortcut for jumping to cycle through active buffers
* Properly remember the mainwindow state on shutdown/restart
* Multiline input support
* Improved systray notifications
* Lazy backlog fetching for hidden buffers
* Improved flood control
* Spell check support (requires KDE integration)
* /exec support for executing external scripts/programs
* CLI interface for managing core users with quasselcore rather than a script
* Improved ping timeout detection
* PostgreSQL database backend support
* Smart nickname completion (most recently active)
Version 0.4.3 (2009-08-26)
--------------------------
* Bugfixes and translation updates
Version 0.4.2 (2009-05-20)
--------------------------
* Bugfixes and translation updates
Version 0.4.1 (2009-03-18)
--------------------------
* Bugfixes and translation updates
Version 0.4.0 (2009-02-17)
==========================
* Buffer view font can now be changed
* Colored nicknames
* Wizard for setting up identity and networks on first run
* Paste protection warns if you try to paste many lines
* Use login name and real name for default identity
* Add toolbar to main window
* Away log window showing highlighted messages while you're away
* Settings dialog streamlining
* Animated system tray icon
* Shiny new Oxygen icons all over the place, including our new app icon
* Build system improvements
* Put all config and data files in one location and make that configurable
* Allow presetting networks and a list of channels to join on first start
* Change and improve CLI argument handling
* All buffer views are now customizable
* Streamlined monolithic client
* Many usability improvements
* Method for easily hiding and unhiding buffers in buffer views
* Renaming and merging of query buffers
* Improved SSL certificate handling
* Optional support for KDE4
- KNotify support
- KDE icon and color theme support
- Editable shortcuts
* Core now supports a proxy for connections to IRC
* Core supports SSL certs and keys for IRC connections
* Chat Monitor configuration dialog
* Audio notifications
* Clickable channel names in ChatView
* Context menus in ChatView and BufferViews
* Respect the separate clipboards (Ctrl+C / X11 selection) on X11
* Improved mouse handling:
- Double/triple click selections
- Drag'n'Drop
Version 0.3.1 (2008-11-20)
--------------------------
* Nick changes and day change messages can now be hidden
* Web previews and status icons can be disabled
* Icons for Online/Away/Offline status of queries
* Load Qt's default translations
* Add new settings for proper message redirection
* Add context menu to links
* Automatic backtraces on Windows
* Add russian translation
* Cut off the sender column on the left in ChatView
* Enable away on detach
* Backlog amount (initial and dynamic) can now be configured
* Shift Up/Down scrolls the ChatView
* Page Up/Down scrolls the ChatView
* ChatView Zoom with Ctrl + / Ctrl -
* Join/Part/Quit... events can now be hidden in ChatView
* Monolithic build features zero configuration: Click'n'Run
* Monolithic build now uses a proper (socket-less) internal connection
* Ctrl+L focuses input line
* Improve notification handling, use proper D-Bus notifications
* Day change messages in ChatView
* Web Preview on hovering over a link (requires QtWebkit)
* Allow icons to be installed externally, optionally use system Oxygen theme
* Improve URL handling in ChatView (underline, single-click invocation)
Version 0.3.0 (2008-08-27)
==========================
The first widely available release of Quassel IRC.