Update ChangeLog
[quassel.git] / ChangeLog
index f64cc27..42afac6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,19 +13,79 @@ changes, the git history at <https://git.quassel-irc.org> is your friend.
 
 Without further ado, let's start:
 
-Version 0.13.0 (TBR)
-====================
+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)
+* 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 release still supporting Qt4)
+* 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
@@ -35,6 +95,7 @@ NOTE²: Database migration may take a long time (hours for big databases),
   - 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)
@@ -57,11 +118,15 @@ NOTE²: Database migration may take a long time (hours for big databases),
   - 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
@@ -71,6 +136,9 @@ NOTE²: Database migration may take a long time (hours for big databases),
   - 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)
@@ -87,7 +155,10 @@ NOTE²: Database migration may take a long time (hours for big databases),
   - 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