Repository navigation
Releases: dexchat/dex
Releases · dexchat/dex
Release list
v1.2.0
Bouncer support!
This release comes with a useful set of IRC features for you that use it everyday. Also, now a minimal support to soju has been released, now you can connect to a server via soju.
Hope you enjoy it!
Changelog
New
fab10d5: feat: add --version (@vaaleyard)25b58f1: feat: add D-Bus notifier (@vaaleyard)d812d60: feat: add desktop notification config options (@vaaleyard)e9c6b05: feat: enable desktop notifications by default (@vaaleyard)1d0cbdf: feat: send desktop notifications via D-Bus (@vaaleyard)e3ce2dd: feat: show IRCv3 standard replies (@vaaleyard)9ad8a6e: feat: support /me command action (@vaaleyard)9d0339d: feat: support /nick command (@vaaleyard)84be9b4: feat: support /op command (@vaaleyard)88a9c68: feat: support /topic command (@vaaleyard)e2ce905: feat: support /whois command (@vaaleyard)5bc6dcf: feat: support nick changes from other users (@vaaleyard)2e4a2d2: feat: support soju usernames with SASL PLAIN (@vaaleyard)
Fixed
18a9afc: fix(nix): update vendorHash for godbus dependency (@vaaleyard)
Refactored
fbcdcd6: refactor: prepare notification helpers for desktop notifications (@vaaleyard)
Other changes
87c3e5b: chore(ui): select neighbor buffer after closing the active one (@vaaleyard)
Full Changelog
v1.1.0
v1.1.0
A few quality of life improvements in the code, fixes and small new features.
Changelog
New
94204a9: feat(irc): option to verify TLS certificates (@vaaleyard)e94a15e: feat(irc): send a quit message when dex exits (@vaaleyard)3041fd7: feat(ui): highlight direct messages like mentions (@vaaleyard)023f94a: feat: handle KICK (@vaaleyard)
Fixed
1e8111c: fix(history): DMs are now stored case-insensitively (@vaaleyard)26e8d19: fix(history): never overwrite unreadable history (@vaaleyard)54f68d0: fix(ui): /close correctly resizes server buffer (@vaaleyard)9bde94e: fix(ui): color nicknames in DM buffers (@vaaleyard)8fb5dd0: fix(ui): correctly dim nick when buffer is not active (@vaaleyard)ce80654: fix(ui): correctly order quit message fields (@vaaleyard)41d3437: fix(ui): show unread badges for channels joined during playback (@vaaleyard)13fc204: fix: add Gatekeeper caveat to Homebrew cask (@vaaleyard)406d8c6: fix: send NOTICE to the correct buffer (@vaaleyard)
Refactored
b5d141e: refactor(irc): build user lists once per event batch (@vaaleyard)1f3f961: refactor(irc): handle all IRC events in one handler (@vaaleyard)b5c4ff0: refactor(ui): remove the unused synchronous persistence path (@vaaleyard)c5cfc53: refactor(ui): track history load state with an enum (@vaaleyard)
Other changes
0dc298a: chore(history): centralize buffer name keys (@vaaleyard)fa6a6da: chore(irc): deliver events to the UI through one ordered queue (@vaaleyard)14cb306: chore(irc): recognize repeated sends and keep own messages without echo (@vaaleyard)029b157: chore(irc): report handler panics instead of crashing (@vaaleyard)4dd6148: chore(irc): return command errors; improve reconnections (@vaaleyard)
Full Changelog
v1.0.0
Meet dexchat
This is the first public release of Dex, the IRC TUI client with modern features. 💬
Give it a try and let us know what you think!

Check here the install instructions.
Full changelog
All commits
New
9d05e24: feat(cfg): add notifications field0e10d5f: feat(commands): add /join supportbe55818: feat(commands): add /leave support7a96532: feat(commands): add /list supporte92cfe0: feat(config): validate sound notification values3af2671: feat(goreleaser): improve releases4118f62: feat(help): add keybindings help modal overlaydaa2dc2: feat(history): load channel history on demandef60bcf: feat(history): restore direct message historyc7bcf96: feat(irc): queue self-JOIN events before sending to the UI610b983: feat(palette): allow up and down arrow key navigation3d10c01: feat(palette): improve text contrast and colors on selection5c68e22: feat(ui): add Dracula themecd2390a: feat(ui): add Gruvbox Dark themef78c017: feat(ui): add Solarized Light theme2307648: feat(ui): add channel mention/unread count in the channel list9dc45f8: feat(ui): add channel picker scrollbar0ab709d: feat(ui): add go to channel palette action29a2281: feat(ui): add sound notification cooldown76460c4: feat(ui): add unread/tag message counts for channels3a2fb19: feat(ui): avoid rendering things on inactive buffers8058c30: feat(ui): do not increment unread badges on user join/quit2003436: feat(ui): emit sound notificationb3b7133: feat(ui): ignore notifications from configured DM users65870d9: feat(ui): load channel history on demand10ffefe: feat(ui): load read state before IRC connectioneb0699f: feat(ui): nickname completion on tabe045e7b: feat(ui): notify messages in configured channels26b315e: feat(ui): persist local read cursors244bff8: feat(ui): process playback messages in chunksa4b9103: feat(ui): refine channel picker navigation076e4b7: feat(ui): rules for notification eventsd07f032: feat(ui): select theme from config8efb225: feat(znc): adds compatibility for ZNC user/password format in config file6f859d6: feat(znc): start implementing ZNC support; enable echo-messageff2888e: feat(znc): support playback history and multi-client connections5a73bfc: feat(znc): sync nickname with server after connectiona85c36e: feat: add /msg private messages3303b1d: feat: add colors to message events, like connect/disconnect, server messages706ba55: feat: add date (days) separator between messages4428aca: feat: add goreleaser0676052: feat: add part alias and close private messages7f8f2c4: feat: add persistent history support with deduplication64fe924: feat: add user info into join/part/quit messagesd786dbb: feat: bulk join channels on connectb644b93: feat: edit message drafts in external editor4504208: feat: handle NICK events to refresh user change in all channels the user is in478ed44: feat: handle channel join errors0582e84: feat: handle irc disconnectsbe42118: feat: highlight mentions in chat messages30bd54e: feat: identify notification channel activity8129d81: feat: load config from XDG directoryeb6518c: feat: message batching to avoid UI re-render flood9748cc8: feat: message types47422ac: feat: multiple reconnects3c01733: feat: nick of messages sent by users not in channel is shown as gray in history3b52ce7: feat: provide default IRC configuration1c325bc: feat: pulse channel names on mentions8ab973c: feat: pulse follow-up activity after mentions606285d: feat: pulse notified channel names47e6425: feat: rose pine theme43a2038: feat: scroll hovered panes independently7fab4d7: feat: send all BufferNewMessageMsg through batchesec0c3d4: feat: send reconnected messages to all channels26114fe: feat: show error when messaging channels that failed to joinb3079d2: feat: show prefix in chat and fix case in viewport41937fa: feat: show user join messages in channel buffer129c673: feat: show user parts messages in channel buffera209c56: feat: show user quit messages in channel buffer37720bc: feat: style topic on render3fc2f2c: feat: support server IRCv3 timestampse1f17df: feat: switch to the last selected bufferb05be01: feat: upgrade bubbletea/lipgloss to v2; use lipgloss composite
Fixed
289569d: fix(history): preserve entries during persistencebefd3bc: fix(history): use dex data directoryb197e76: fix(irc): avoid ZNC queue delays from WHO burstsaa971c7: fix(irc): avoid blocking startup event deliveryedfab6c: fix(irc): preserve channel context for quit eventsd52da5c: fix(nix): update Go module vendor hash818acfe: fix(ui): add background color to all message cellsb85bd17: fix(ui): avoid inactive buffer rerender on nick update39e6442: fix(ui): avoid redundant sidebar resize channel/user list3d915b2: fix(ui): distinguish inactive nickname colorsa9f1034: fix(ui): don't render chat when no need for it373026f: fix(ui): handle chat actions synchronously9ad3b17: fix(ui): improve Rose Pine theme contrast2014ce7: fix(ui): keep app open after persistence failure948f2ab: fix(ui): load configured history asynchronously- [
b4f73ff](https://github.com/...