X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=ChangeLog;h=ee90b1517a40f96fdfe5f46ba6bcb178154732e4;hp=3e8e0342a41d8689538c1c3823b02d9c3bf74968;hb=HEAD;hpb=a52e3596b70ed3672a3aa057e4a6419e2bf136dc diff --git a/ChangeLog b/ChangeLog index 3e8e0342..cb8adf2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,13 +6,202 @@ 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.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) =========================== @@ -52,7 +241,7 @@ Version 0.12.0 (2015-04-15) * Core connection improvements * Build system improvements * PostgreSQL connection improvements -* Improve Qt5 support +* Improve Qt 5 support * Qt 4.8+ or Qt 5.2+ now required * Several tweaks and fixes * Translation updates @@ -196,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 @@ -343,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