2.1.0 (2024-12-19) "Bunnyrific"

 * xC: fixed a crash when the channel topic had too many formatting items

 * xC: fixed keyboard EOF behaviour with Readline >= 8.0

 * xC: made it possible to stream commands into the binary

 * xM/xW: various bugfixes

 * Added a Fyne frontend for xC called xA

 * Added a Qt Widgets frontend for xC called xT


2.0.0 (2024-07-28) "Perfect Is the Enemy of Good"

 * xD: now using SHA-256 for client certificate fingerprints

 * xD: implemented WALLOPS, choosing to make it target even non-operators

 * xC: made it show WALLOPS messages, as PRIVMSG for the server buffer

 * xC: all behaviour.* configuration options have been renamed to general.*,
   with the exception of editor_command/editor, backlog_helper/pager,
   and backlog_helper_strip_formatting/pager_strip_formatting

 * xC: all attributes.* configuration options have been made abstract in
   a subset of the git-config(1) format, and renamed to theme.*,
   with the exception of attributes.reset, which has no replacement

 * xC: replaced behaviour.save_on_quit with general.autosave

 * xC: the servers.*.command configuration option now supports multiple lines

 * xC: improved pager integration capabilities

 * xC: unsolicited JOINs will no longer automatically activate the buffer

 * xC: made Readline insert the longest common completion prefix first,
   and prevented the possible-completions command from duplicating the prompt

 * xC: normalized editline's history behaviour, making it a viable frontend

 * xC: various bugfixes

 * xC: added a relay interface, enabled through the general.relay_bind option

 * Added a web frontend for xC called xP

 * Added a Win32 frontend for xC called xW

 * Added a Cocoa frontend for xC called xM

 * Added a Go port of xD called xS

 * Added a simple notifier called xN


1.5.0 (2021-12-21) "The Show Must Go On"

 * xC: made it possible to pass the cursor position to external editors,
   in particular VIM and Emacs

 * xC: started quoting text coming from bracketed pastes,
   to minimize the risk of trying to execute filesystem paths as commands

 * xC: fixed to work with post-2021-08-29 editline

 * xC: extended editline's autocomplete to show all options

 * utm-filter.lua: added Facebook's tracking parameter to the filter


1.4.0 (2021-10-06) "Call Me Scruffy Scruffington"

 * xC: made message autosplitting respect text formatting

 * xC: fixed displaying IRC colours above 16

 * xC: offer IRCnet as an IRC network to connect to,
   rather than the lunatic new Freenode

 * xD: started bumping the soft limit on file descriptors to the hard one


1.3.0 (2021-08-07) "New World Order"

 * xC: made nick autocompletion offer recent speakers first

 * All binaries have been renamed to something even sillier,
   and all references in the source tree have been redacted;
   this represents a major incompatible change for all plugins;
   configuration and program data have to be adjusted manually


1.2.0 (2021-07-08) "There Are Other Countries As Well"

 * xC: added a /squery command for IRCnet

 * xC: added trivial support for SASL EXTERNAL, enabled by adding "sasl"
   to the respective server's "capabilities" list

 * xC: now supporting IRCv3.2 capability negotiation, including CAP DEL

 * xC: added support for IRCv3 chghost

 * xC: /deop and /devoice without arguments will use the client's user

 * xC: /set +=/-= now treats its argument as a string array

 * xC: made "/help /command" work the same way as "/help command" does

 * xC: /ban and /unban don't mangle extended bans anymore

 * xC: joining new channels no longer switches to their buffer automatically
   if the current input line isn't empty

 * censor.lua: now stripping colours from censored messages;
   their attributes are also configurable rather than always black on black


1.1.0 (2020-10-31) "What Do You Mean By 'This Isn't Germany'?"

 * xC: made fancy-prompt.lua work with libedit

 * xD: fixed a regression with an unspecified "bind_host"

 * Miscellaneous minor improvements


1.0.0 (2020-10-29) "We're Finally There!"

 * Coming with real manual pages instead of help2man-generated stubs

 * xC: added support for more IRC colours and strike-through text (M-m x)

 * xC: now tolerating all UTF-8 messages cut off by the server

 * xC: disabled "behaviour.backlog_helper_strip_formatting" by default
   since the relevant issue with ACS terminfo entries has been resolved

 * xC: enabled word wrapping in the backlog by default

 * xC: made the unread marker span the whole line, with a configurable
   character; the previous behaviour can be obtained by setting it empty

 * xC: fixed the prompt not showing back up after exiting a backlog helper
   when an external event has provoked an attempt to change it

 * xC: now watching fellow channel users' away status when the server
   supports the away-notify capability; indicated by italicised nicknames

 * xC: added a plugin to highlight prime numbers in incoming messages

 * xD: make sure an unspecified "bind_host" binds to both IPv4 and IPv6

 * xB: install plugins to /usr/share and look for them in XDG data dirs

 * Miscellaneous little fixes


0.9.8 (2020-09-02) "Yep, Still Using It"

 * xC: fixed a crash and prompt attribute output in libedit 20191231-3.1,
   though users are officially discouraged from using this library

 * xC: fixed Lua 5.4 build, so far the support is experimental

 * Miscellaneous little fixes


0.9.7 (2018-10-21) "Business as Usual"

 * xD: fix wildcard handling in WHOIS

 * xD: properly handle STATS without parametetrs

 * xD: abort earlier when an invalid mode character is detected while
   processing channel MODE messages

 * xD: do not send NICK notifications when the nickname doesn't really change

 * xD: fix hostname string verification (only used for "server_name")


0.9.6 (2018-06-22) "I've Been Sitting Here All This Time"

 * Code has been relicensed to 0BSD and moved to a private git hosting

 * Fix LibreSSL compatibility

 * xC: a second /disconnect cuts the connection by force

 * xC: send a QUIT message to the IRC server on Ctrl-C

 * xC: add a Slack plugin (even though the gateway's now defunct)

 * xC: show an error message on log write failure

 * xC: fix parsing of literal IPv6 addresses with port numbers

 * xC: fix some error messages

 * xC: workaround a Readline bug in the fancy-prompt.lua plugin

 * xD: fix two memory leaks

 * xD: improve error handling for incoming connections

 * xD: disable TLS session reuse


0.9.5 (2016-12-30) "It's Time"

 * Better support for the KILL command

 * xC: export many more fields to the Lua API, add a prompt hook

 * xC: show channel user count in the prompt

 * xC: allow hiding join/part messages and other noise (Meta-Shift-H)

 * xC: allow autojoining channels with keys

 * xC: rejoin channels with keys on reconnect

 * xC: make /query without arguments just open the buffer

 * xC: add a censor plugin

 * xC: die on configuration parse errors

 * xC: request channel modes also on rejoin

 * xC: don't show remembered channel modes on parted channels

 * xC: fix highlight detection in colored text

 * xC: fix CTCP handling for the real world and don't decode X-QUOTEs

 * xC: add support for OpenSSL 1.1.0


0.9.4 (2016-04-28) "Oops"

 * xC: fix crash on characters invalid in Windows-1252

 * xC: add an auto-rejoin plugin

 * xC: better date change messages with customizable formatting;
   now also used in the backlog, so it looks closer to regular output

 * xB: add a calc plugin providing a basic Scheme REPL

 * xB: add a seen plugin

 * xD, xB: use pledge(2) on OpenBSD


0.9.3 (2016-03-27) "Doesn't Even Suck"

 * Use TLS Server Name Indication when connecting to servers

 * xC: now we erase the screen before displaying buffers

 * xC: implemented word wrapping in buffers

 * xC: added autocomplete for /topic

 * xC: Lua API was improved and extended

 * xC: added a basic last.fm "now playing" plugin

 * xC: backlog limit was made configurable

 * xC: allow changing the list of IRC capabilities to use if available

 * xC: optimize buffer memory usage

 * xC: added logging of messages sent from /quote and plugins

 * xC: M-! and M-a to go to the next buffer in order with a highlight
   or new activity respectively

 * xC: added --format for previewing things like MOTD files

 * xC: added /buffer goto supporting case insensitive partial matches

 * xD: add support for IRCv3.2 server-time

 * xB: plugins now run in a dedicated data directory

 * xB: added a factoids plugin

 * Remote addresses are now resolved asynchronously

 * Various bugfixes


0.9.2 (2015-12-31)

 * xC: added rudimentary support for Lua scripting

 * xC: added detection of pasting, so that it doesn't trigger other
   keyboard shortcuts, such as for autocomplete

 * xC: added auto-away capability

 * xC: added an /oper command

 * xC: libedit backend works again
 
 * xC: added capability to edit the input line using VISUAL/EDITOR

 * xC: added Meta-Tab to switch to the last used buffer

 * xC: correctly respond to stopping and resuming (SIGTSTP)

 * xC: fixed decoding of text formatting

 * xC: unseen PMs now show up as highlights

 * xC: various bugfixes


0.9.1 (2015-09-25)

 * All "ssl" options have been renamed to "tls"

 * The project now builds on OpenBSD

 * Pulled in kqueue support

 * xC: added backlog/scrollback functionality using less(1)

 * xC: made showing the entire set of channel mode user prefixes optional

 * xC: nicknames in /names are now ordered

 * xC: nicknames now use the 256-color terminal palette if available

 * xC: now we skip entries in the "addresses" list that can't be resolved
   to an address, along with displaying a more helpful message

 * xC: joins, parts, nick changes and quits don't count as new buffer
   activity anymore

 * xC: added Meta-H to open the full log file

 * xC: various bugfixes and little improvements


0.9.0 (2015-07-23)

 * Initial release