build: Add Boost 1.0 license for CMake script
[quassel.git] / ChangeLog
index b4dfc9b..ee90b15 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,15 +6,209 @@ 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 <http://bugs.quassel-irc.org/projects/quassel-irc/roadmap> for a
+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 <http://git.quassel-irc.org> is your friend.
+changes, the git history at <https://git.quassel-irc.org> is your friend.
 
 Without further ado, let's start:
 
-Version 0.10-rc1 (2014-03-16)
-=============================
+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 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 +222,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 +326,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 +473,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