X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=ChangeLog;h=ee90b1517a40f96fdfe5f46ba6bcb178154732e4;hp=b4dfc9b551bd1fd3bffd2b6391c31b75430d92a7;hb=HEAD;hpb=b139d05a6d113475f21001d1c9ee22eeeb63b4ae diff --git a/ChangeLog b/ChangeLog index b4dfc9b5..cb8adf2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,15 +6,268 @@ 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 for a +Please have a look at 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 is your friend. +changes, the git history at is your friend. Without further ado, let's start: -Version 0.10-rc1 (2014-03-16) -============================= +Version 0.14.0 (2022-01-01) +=========================== + +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) +* Support building against Qt 5.15 (and all prior versions down to and including Qt 5.5) +* Remove support for building against Qt4/KDE4 +* Require SSL support in Qt +* Don't silently fall back to unencrypted client/core communication if certificate cannot be loaded +* Properly escape LDAP usernames to prevent injection or bypassing authentication +* Strip format codes in ignore list rules (this might affect pre-existing rules) +* Support many more features of IRCv3 +* Improve window handling under Wayland +* 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 +* Update bundled iconsets and application icons +* Update default network and documentation to point to our new home Libera IRC (since Freenode killed itself) + +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 @@ -28,11 +281,12 @@ Version 0.10-rc1 (2014-03-16) * 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 translations +* 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 (TBD) -=================== +Version 0.9.3 (2014-03-25) +========================== * Notification fixes * Improve reliability of SSL connections @@ -131,7 +385,7 @@ Version 0.7.0 (2010-09-14) * 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) +* 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 @@ -278,7 +532,7 @@ Version 0.4.0 (2009-02-17) - 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 +* Core supports SSL certs and keys for IRC connections * Chat Monitor configuration dialog * Audio notifications * Clickable channel names in ChatView