X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=ChangeLog;h=42afac6671dba8ed762ba423d2f57e0be9deb786;hp=f8bb58f39d3e08de25f35a4afe6247b7edd1b124;hb=5c16b6e05eef3343594d9cac10a96e1e098bbefd;hpb=c2e3479b87e7d0713d302d26fb2d7d01d7b8c9c2 diff --git a/ChangeLog b/ChangeLog index f8bb58f3..42afac66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,38 +13,185 @@ changes, the git history at is your friend. Without further ado, let's start: +Version 0.14.0 (Unreleased) +=========================== -Version 0.13.0 (TBR) -==================== +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) -NOTE: Database schema and settings format change, no downgrade possible! +Version 0.13.1 (2019-02-15) +=========================== -* Use Qt 5 by default -* Add Breeze/Breeze Dark icon themes, allow selection of icon theme -* Use Breeze icon theme by default -* Make IRC rate limits configurable -* Snapcraft packaging support -* Sender colors by default (and optionally for ACTION messages) -* Optionally hide brackets around sender/timestamp -* Improved SSL certificate handling -* Automated OSX builds (via Travis) -* Improved automated Windows builds (via Appveyor) -* Chat list filter/search -* WebEngine support for URL previews (deprecates WebKit support with Qt 5) -* QtMultimedia notification backend (deprecates Phonon support with Qt 5) -* Various UI improvements (tooltips, tool bars, menus...) -* Spell checking via Sonnet if KDE Frameworks integration is enabled -* Support for many IRCv3 features, improved capability negotiation -* Many smaller fixes and improvements +* 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) +=========================== -Version 0.12.5 (TBR) -==================== +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.) -* Support Qt 5.6 and 5.7 +* 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) ===========================