Quassel IRC v0.13.0 Release Notes

Release Date: 2018-11-17 // over 5 years ago
  • ⬇️ 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