# # ChangeLog for / in code # # Generated by Trac 1.6 # Jun 8, 2025, 7:06:04 PM Wed, 23 Jun 2021 17:23:09 GMT contact [563] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Allow admins to broadcast message to all bouncer users Typically ... Wed, 23 Jun 2021 16:17:30 GMT contact [562] * trunk/downstream.go (modified) Unify downstream PRIVMSG and NOTICE handling We were doing some ... Wed, 23 Jun 2021 09:45:14 GMT contact [561] * trunk/upstream.go (modified) Forward LUSERS and STATS messages after initial registration Tue, 15 Jun 2021 13:48:10 GMT contact [560] * trunk/downstream.go (modified) Add support for utf8-only Mon, 14 Jun 2021 19:44:38 GMT contact [559] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for account-tag Mon, 14 Jun 2021 15:58:36 GMT greg [558] * trunk/msgstore_fs.go (modified) Slightly relax new log file permissions Make new log files ... Sat, 12 Jun 2021 12:48:32 GMT contact [557] * trunk/contrib/clients.md (modified) contrib/clients: add reference to Weechat script Fri, 11 Jun 2021 08:26:22 GMT contact [556] * trunk/doc/soju.1.scd (modified) doc/soju.1: explain http-origin defaults Thu, 10 Jun 2021 10:16:33 GMT contact [555] * trunk/downstream.go (modified) Don't suggest users to /motd in multi-upstream mode Thu, 10 Jun 2021 09:24:10 GMT contact [554] * trunk/downstream.go (modified) Make user MODE commands fail in multi-upstream mode References: ... Thu, 10 Jun 2021 09:17:00 GMT greg [553] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward user mode changes in single-upstream mode References: ... Wed, 09 Jun 2021 19:29:36 GMT greg [552] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward MOTD messages downstream The first MOTD upon connection is ... Sat, 05 Jun 2021 10:38:52 GMT contact [551] * trunk/downstream.go (modified) Add downstreamConn.SendBatch helper Fri, 04 Jun 2021 09:27:59 GMT contact [550] * trunk/downstream.go (modified) Prune detached channels from CHATHISTORY TARGETS Wed, 02 Jun 2021 18:32:11 GMT contact [549] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) Implement CHATHISTORY TARGETS References: ... Sat, 29 May 2021 11:18:06 GMT contact [548] * trunk/doc/ext/bouncer-networks.md (modified) doc/ext/bouncer-networks: fix typo Fri, 28 May 2021 09:15:15 GMT contact [547] * trunk/downstream.go (modified) Forward unknown commands to upstream in single-upstream mode Wed, 26 May 2021 09:27:59 GMT contact [546] * trunk/service.go (modified) Send placeholder when no network/channel is returned by BouncerServ Wed, 26 May 2021 09:23:09 GMT contact [545] * trunk/downstream.go (modified) Reject JOIN with invalid channel names This prevents us from ... Wed, 26 May 2021 09:08:10 GMT contact [544] * trunk/user.go (modified) Fix typo in BOUNCER notifications: s/status/state/ Wed, 26 May 2021 09:04:33 GMT contact [543] * trunk/user.go (modified) Broadcast BOUNCER notifications to all downstream connections We ... Wed, 26 May 2021 08:51:02 GMT contact [542] * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/db_sqlite.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Allow networks to be disabled Wed, 26 May 2021 06:39:06 GMT contact [541] * trunk/doc/getting-started.md (modified) doc/getting-started: s/Freenode/Libera Chat/ Tue, 25 May 2021 18:24:45 GMT contact [540] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for IRCv3 setname References: ... Tue, 25 May 2021 17:22:22 GMT contact [539] * trunk/doc/soju.1.scd (modified) * trunk/service.go (modified) Add channel status service command Tue, 25 May 2021 16:54:16 GMT contact [538] * trunk/contrib/clients.md (modified) contrib/clients: add note about bouncer-networks Tue, 25 May 2021 14:56:38 GMT contact [537] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) Vendor BATCH bouncer-networks type And add the prefix throughout ... Tue, 25 May 2021 14:42:51 GMT contact [536] * trunk/user.go (modified) Don't send connection status NOTICEs with bouncer-networks Tue, 25 May 2021 14:42:51 GMT contact [535] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) * trunk/user.go (modified) Introduce the soju.im/bouncer-networks-notify capability Tue, 25 May 2021 14:42:51 GMT contact [534] * trunk/downstream.go (modified) Send network settings in LISTNETWORKS Tue, 25 May 2021 14:42:51 GMT contact [533] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) Add pass to bouncer network attributes Tue, 25 May 2021 14:42:51 GMT contact [532] * trunk/doc/ext (added) * trunk/doc/ext/bouncer-networks.md (added) * trunk/downstream.go (modified) * trunk/user.go (modified) Implement the soju.im/bouncer-networks extension Tue, 25 May 2021 14:35:39 GMT sir [531] * trunk/cmd/soju/main.go (modified) * trunk/cmd/sojuctl/main.go (modified) * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/db_sqlite.go (added) * trunk/server.go (modified) db: refactor into interface This refactors the SQLite-specific bits ... Tue, 25 May 2021 14:31:06 GMT hubert [530] * trunk/Makefile (modified) Don't build soju when calling "make install" Otherwise soju would ... Mon, 24 May 2021 11:31:24 GMT philipk [529] * trunk/downstream.go (modified) Directly return self-messages to user in multi-upstream mode Mon, 24 May 2021 09:41:04 GMT contact [528] * trunk/downstream.go (modified) Pass-through the BOT ISUPPORT token References: ... Sun, 23 May 2021 19:41:01 GMT contact [527] * trunk/README.md (modified) readme: link to rendered man page Sun, 23 May 2021 10:32:27 GMT hubert [526] * trunk/upstream.go (modified) Don't forward label tags We don't want to have the label tag when ... Sat, 22 May 2021 08:44:36 GMT contact [525] * trunk/doc/soju.1.scd (modified) doc/soju.1: document user delete command Sat, 22 May 2021 08:40:36 GMT contact [524] * trunk/doc/soju.1.scd (modified) doc/soju.1: document -connect-command Fri, 21 May 2021 22:04:22 GMT contact [523] * trunk/README.md (modified) readme: add link to IRC channel Fri, 21 May 2021 22:01:06 GMT contact [522] * trunk/README.md (modified) * trunk/doc/getting-started.md (added) readme: move quickstart to dedicated doc page Fri, 21 May 2021 08:03:39 GMT hubert [521] * trunk/downstream.go (modified) Fix CAP LIST listing disabled capabilities Thu, 20 May 2021 09:13:14 GMT contact [520] * trunk/downstream.go (modified) Relay self-WHO/WHOIS in single-upstream mode In multi-upstream ... Wed, 19 May 2021 22:07:44 GMT contact [519] * trunk/conn.go (modified) * trunk/net_go113.go (added) * trunk/net_go116.go (added) Silence net.ErrClosed errors Wed, 19 May 2021 14:42:03 GMT contact [518] * trunk/contrib/clients.md (added) * trunk/contrib/weechat.md (deleted) contrib/clients: add gamja and senpai Tue, 18 May 2021 12:19:34 GMT contact [517] * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) Check message stores implement expected interfaces Tue, 18 May 2021 08:44:10 GMT hubert [516] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) Implement CHATHISTORY BETWEEN Tue, 11 May 2021 10:42:12 GMT contact [515] * trunk/downstream.go (modified) * trunk/msgstore_fs.go (modified) Add more context to chathistory errors Mon, 03 May 2021 22:06:02 GMT yyp [514] * trunk/contrib/weechat.md (modified) contrib/weechat: fix typo Sat, 01 May 2021 16:52:28 GMT contact [513] * trunk/contrib/weechat.md (added) contrib/weechat: explain how to enable IRCv3 features Fri, 30 Apr 2021 10:17:23 GMT hubert [512] * trunk/downstream.go (modified) Don't directly reply to network-specific NICK The NICK must only ... Fri, 30 Apr 2021 10:10:49 GMT hubert [511] * trunk/downstream.go (modified) Handle casemapping on BouncerServ Tue, 27 Apr 2021 17:06:16 GMT yyp [510] * trunk/Makefile (modified) Makefile: mark soju and sojuctl as .PHONY Otherwise running `make` ... Tue, 27 Apr 2021 07:22:44 GMT yyp [509] * trunk/db.go (modified) db: match placeholders with columns Soju inserts 9 columns but only ... Thu, 22 Apr 2021 08:37:05 GMT ecs [508] * trunk/service.go (modified) handleUserDelete: delete the correct user Prior to this, we deleted ... Wed, 21 Apr 2021 16:15:04 GMT contact [507] * trunk/config.in (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) Make db and log config options more future-proof Rename the "sql" ... Wed, 21 Apr 2021 14:39:51 GMT contact [506] * trunk/Makefile (modified) * trunk/config.in (added) Add default configuration file Tue, 20 Apr 2021 14:17:28 GMT hubert [505] * trunk/upstream.go (modified) Drop TAGMSG in detached channels - Do not relay TAGMSG as notices, ... Mon, 19 Apr 2021 14:35:18 GMT contact [504] * trunk/README.md (modified) readme: mention Makefile, assume soju is installed system-wide Mon, 19 Apr 2021 12:11:25 GMT contact [503] * trunk/cmd/sojuctl/main.go (modified) sojuctl: don't use log.Fatalf in readPassword Tue, 13 Apr 2021 18:16:37 GMT contact [502] * trunk/upstream.go (modified) Add user prefix to upstream logger Tue, 13 Apr 2021 18:12:49 GMT contact [501] * trunk/user.go (modified) Add per-network logger Tue, 13 Apr 2021 17:33:06 GMT contact [500] * trunk/user.go (modified) Error out on network name conflict Closes: ... Tue, 13 Apr 2021 17:11:05 GMT contact [499] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Relay detached channel backlog as BouncerServ NOTICE if necessary ... Tue, 13 Apr 2021 16:54:58 GMT contact [498] * trunk/irc.go (modified) * trunk/upstream.go (modified) Move isHighlight to irc.go Tue, 13 Apr 2021 16:15:30 GMT contact [497] * trunk/db.go (modified) * trunk/user.go (modified) Store last internal msg ID in DB when detaching References: ... Tue, 13 Apr 2021 15:50:03 GMT contact [496] * trunk/downstream.go (modified) Skip backlog logic in downstreamConn.welcome on chathistory Tue, 13 Apr 2021 15:49:37 GMT contact [495] * trunk/downstream.go (modified) * trunk/user.go (modified) Take msg ID in sendTargetBacklog Tue, 13 Apr 2021 11:08:48 GMT contact [494] * trunk/user.go (modified) Panic on unknown user event type This should never happen. Complain ... Tue, 13 Apr 2021 11:04:23 GMT contact [493] * trunk/user.go (modified) Introduce per-user logger Adds the username to log lines. Tue, 13 Apr 2021 10:48:46 GMT hubert [492] * trunk/irc.go (modified) Make casemapping work over bytes instead of runes Fixes a panic in ... Wed, 31 Mar 2021 17:02:40 GMT contact [491] * trunk/cmd/soju/main.go (modified) * trunk/doc/soju.1.scd (modified) cmd/soju: allow specifying -listen multiple times Closes: ... Wed, 31 Mar 2021 16:18:16 GMT contact [490] * trunk/go.mod (modified) * trunk/go.sum (modified) Update dependencies Wed, 31 Mar 2021 16:04:13 GMT contact [489] * trunk/db.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Save delivery receipts in DB This avoids loosing history on restart ... Wed, 31 Mar 2021 15:57:24 GMT contact [488] * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) Use BARE for internal message IDs This allows to have shorter and ... Tue, 30 Mar 2021 10:44:56 GMT contact [487] * trunk/upstream.go (modified) * trunk/user.go (modified) Rename user.clients to clientNames This doesn't contain anything ... Tue, 30 Mar 2021 10:28:45 GMT contact [486] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Make NickServ detection casemapping-aware Mon, 29 Mar 2021 15:49:50 GMT contact [485] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce deliveredStore This hides the double-map complexity ... Mon, 29 Mar 2021 15:07:39 GMT contact [484] * trunk/downstream.go (modified) Ensure targets are case-mapped before being passed to messageStore ... Mon, 29 Mar 2021 14:58:56 GMT contact [483] * trunk/upstream.go (modified) * trunk/user.go (modified) Move network.clients to user No need to have this list per-network. Mon, 29 Mar 2021 14:55:57 GMT contact [482] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Simplify network.offlineClients Replace it with a list of all ... Fri, 26 Mar 2021 14:31:54 GMT contact [481] * trunk/contrib/casemap-logs.sh (added) contrib/casemap-logs.sh: new utility script Previous soju versions ... Fri, 26 Mar 2021 10:21:14 GMT contact [480] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce deliveredClientMap Adds more semantics to ... Fri, 26 Mar 2021 09:39:52 GMT hubert [479] * trunk/downstream.go (modified) Fix CHATHISTORY target not being casemapped Wed, 24 Mar 2021 17:15:52 GMT hubert [478] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Implement casemapping TL;DR: supports for casemapping, now logs are ... Wed, 24 Mar 2021 17:04:44 GMT delthas [477] * trunk/cmd/soju/main.go (modified) Increase downstream TCP keepalive interval to 1 hour The rationale ... Fri, 19 Mar 2021 08:27:19 GMT contact [476] * trunk/cmd/soju/main.go (modified) Fix panic on GetCertificate Fixes the following panic: panic: ... Thu, 18 Mar 2021 13:07:03 GMT contact [475] * trunk/cmd/soju/main.go (modified) * trunk/doc/soju.1.scd (modified) Reload TLS certs on SIGHUP References: ... Thu, 18 Mar 2021 12:28:46 GMT contact [474] * trunk/server.go (modified) Stop reading X-Forwarded-Port X-Forwarded-Port contains the ... Thu, 18 Mar 2021 12:21:38 GMT contact [473] * trunk/server.go (modified) Fix Forwarded HTTP header handling "for" contains the port, if any. ... Thu, 18 Mar 2021 11:08:25 GMT contact [472] * trunk/server.go (modified) Add support for the Forwarded HTTP header This is the standard ... Thu, 18 Mar 2021 11:02:36 GMT contact [471] * trunk/server.go (modified) Drop "irc" WebSocket subprotocol The subprotocol hasn't been ... Thu, 18 Mar 2021 10:33:30 GMT contact [470] * trunk/cmd/soju/main.go (modified) Don't add "irc" in ALPN list for WebSocket servers This is ... Tue, 16 Mar 2021 17:25:21 GMT contact [469] * trunk/upstream.go (modified) Don't update downstream caps in upstream RPL_WELCOME handler Prior ... Tue, 16 Mar 2021 08:54:29 GMT contact [468] * trunk/upstream.go (modified) Don't store history for NickServ Closes: ... Tue, 16 Mar 2021 08:41:07 GMT contact [467] * trunk/user.go (modified) Send NOTICE to downstream when upstream is disconnected Closes: ... Tue, 16 Mar 2021 08:27:40 GMT contact [466] * trunk/cmd/soju/main.go (modified) * trunk/doc/soju.1.scd (modified) Add Unix socket listener Closes: https://todo.sr.ht/~emersion/soju/51 Tue, 16 Mar 2021 08:19:12 GMT contact [465] * trunk/conn.go (modified) Correctly set WebSocket read/write deadline The methods didn't have ... Tue, 16 Mar 2021 08:13:46 GMT contact [464] * trunk/downstream.go (modified) Improve ERR_NOSUCHCHANNEL error messages References: ...