What's Changed
This release is primarily focused on fleshing out and polishing XDCC support, which had been hiding in beta for the past couple of months, and adding SDCC support. A couple of other improvements and fixes have made it in along the way, including a switch from Font Awesome icons to Lucide, which I think look a lot nicer.
New Feature: DCC & XDCC & Secure DCC
- For admins, there are some new environment variables to learn about to enable DCC support on your instance. Then there's a new panel in your Admin Settings for enabling different levels of DCC support for your users.
- For users, XDCC support has been fleshed out considerably, with a full modal for managing files. You can now send files, there's a full queuing system for XDCC bots, and a file / queue manager modal. Learn more about it in the DCC docs.
- Secure DCC support is all new, with support for both Chat & Send, so you can do all your DCCing over TLS (as God intended). Try it out with all your friends who use KVIrc.
New Feature: Quote Reply
- There's a new option in the message hover menu, which will set up your composer with a quote of the selected message, and your current message ready to go on the second line.
- As part of this, messages starting with
>in the message list will render with a vertical bar, and lighter italic text, to show they are quotes.
Improvement: Chunked Uploads
- Large files are now uploaded in multiple chunks, which helps if you're terminating TLS with
cloudflared(because it caps uploads to 100 MB). We also gain resumable uploads out of this. - For admins, you have a new option in the Uploaders settings panel to increase the size allowed for inline uploads past the previous hard default of 200 MB. Note, this setting only affects inline uploads, not DCC file uploads.
Misc Improvements
- Lurker now properly queues up large sends going out to a server to better avoid Excess Flood kicks.
- Lurker now waits up to 5 minutes before timing out a quiet server, matching irssi and WeeChat.
- The Lurker PWA now uses Lucide icons instead of Font Awesome, and I think they look way, way better.
Misc Fixes
- If you used identd with engine mode, the Admin ident editor claimed identd was off. Now it won't claim that if the engine is running, but it won't detect that identd is enabled because that requires an engine update that I do not think is worth restarting everyone's connections for.
- Some fixes for how the Disconnect/Reconnect menu was working.
What's Changed - Detailed
- Hosted uploads can be deleted by their owner, through the control plane by @amiantos in #1121
- engineReattachLog test: wait for the engine's hold instead of asserting it by @amiantos in #1123
- Hosted Settings → Account links to the new account page by @amiantos in #1122
- DCC: download a completed transfer's file (HTTP Range) (#1079) by @amiantos in #1124
- DCC: chat and receive granted per user on an Admin → DCC tab, and Settings → DCC (#1080) by @amiantos in #1126
- DCC: per-user storage limit, user-side delete, and a real free-disk floor (#1125) by @amiantos in #1128
- DCC internals cleanup before SEND (#1084) by @amiantos in #1129
- Chunked, resumable uploads (#650) by @amiantos in #1130
- DCC files: what you receive is kept apart from its transfer (#1133) by @amiantos in #1134
- Client: replace Font Awesome with Lucide icons by @amiantos in #1135
- DCC SEND: offer one of your files to a peer (#1086) by @amiantos in #1137
- Admin ident editor: don't claim ident is off in engine mode (#1138) by @amiantos in #1140
- DCC: receive a passive (firewalled) file offer (#1145) by @amiantos in #1147
- Bump the actions group with 3 updates by @dependabot[bot] in #1144
- Bump wrangler from 4.147.0 to 4.149.0 in /docs in the minor-and-patch group by @dependabot[bot] in #1143
- DCC redesign: an XDCC queue, offer toasts, and one files window (#1085) by @amiantos in #1148
- DCC: never resume onto a live receive; kept files say how they verified (#1127, #1082) by @amiantos in #1150
- Docs: DCC and XDCC, for users and for self-hosters (#1081) by @amiantos in #1151
- DCC: account delete takes its files; storage counts partials; sends fall back to passive by @amiantos in #1155
- IRC: wait 5 minutes for a silent server, not 2 (#1146) by @amiantos in #1156
- Client: menus act on the state they were labelled from (#1136) by @amiantos in #1158
- IRC: one paced, ordered queue for every outbound line (#1149) by @amiantos in #1159
- Secure DCC: SCHAT and SSEND over TLS (#1157) by @amiantos in #1161
- DCC entries on every menu, and a secure chat that says so (#1157 follow-up) by @amiantos in #1162
- DCC window design pass: Verified-only note, dim | separators, no Send to…, button bar by @amiantos in #1165
- Quote: a plain-text
> <nick> textline above the draft (#1119) by @amiantos in #1166 - Uploads: an upload ceiling the admin sets, not a 200 MB constant by @amiantos in #1168
- Bump the minor-and-patch group in /vue_client with 6 updates by @dependabot[bot] in #1141
- Deps batch 2026-10-18: root minor-and-patch group (supersedes #1142) by @amiantos in #1169
- Deps batch 2026-10-19: express 5.3.0, dotenv 18.0.8, vitest 5.0.5 (supersedes #1170) by @amiantos in #1171
- Bump Lurker version to 2.5.0 by @amiantos in #1172
Full Changelog: v2.4.3...v2.5.0