soju v0.2.0
This release brings a set of bug fixes and new features. New features include:
- Support for a new soju.im/bouncer-networks extension, allowing clients
to automatically integrate with soju's multi-network functionality.
gamja and Weechat (via a script) take advantage of it.
- Support for CHATHISTORY BETWEEN and TARGETS, allowing better chat
history integration in clients.
- Improved handling of MOTD, LUSERS, STATS and unknown IRC commands
Alexey Yerin (1):
service: show SHA-512 fingerprint
Drew DeVault (1):
db: refactor into interface
Gregory Anders (3):
Forward MOTD messages downstream
Forward user mode changes in single-upstream mode
Slightly relax new log file permissions
Hubert Hirtz (6):
Implement CHATHISTORY BETWEEN
Fix CAP LIST listing disabled capabilities
Don't forward label tags
Don't build soju when calling "make install"
Hand-made word splitter for BouncerServ
Add a C compiler to the list of dependencies
Jake Nelson (1):
Sort `channel status` channels by name
Philip K (1):
Directly return self-messages to user in multi-upstream mode
Rafael Castillo (1):
Check for TLS config in wss listeners
Simon Ser (57):
Add more context to chathistory errors
Check message stores implement expected interfaces
contrib/clients: add gamja and senpai
Silence net.ErrClosed errors
Relay self-WHO/WHOIS in single-upstream mode
readme: move quickstart to dedicated doc page
readme: add link to IRC channel
doc/soju.1: document -connect-command
doc/soju.1: document user delete command
readme: link to rendered man page
Pass-through the BOT ISUPPORT token
Implement the soju.im/bouncer-networks extension
Add pass to bouncer network attributes
Send network settings in LISTNETWORKS
Introduce the soju.im/bouncer-networks-notify capability
Don't send connection status NOTICEs with bouncer-networks
Vendor BATCH bouncer-networks type
contrib/clients: add note about bouncer-networks
Add channel status service command
Add support for IRCv3 setname
doc/getting-started: s/Freenode/Libera Chat/
Allow networks to be disabled
Broadcast BOUNCER notifications to all downstream connections
Fix typo in BOUNCER notifications: s/status/state/
Reject JOIN with invalid channel names
Send placeholder when no network/channel is returned by BouncerServ
Forward unknown commands to upstream in single-upstream mode
doc/ext/bouncer-networks: fix typo
Implement CHATHISTORY TARGETS
Prune detached channels from CHATHISTORY TARGETS
Add downstreamConn.SendBatch helper
Make user MODE commands fail in multi-upstream mode
Don't suggest users to /motd in multi-upstream mode
doc/soju.1: explain http-origin defaults
contrib/clients: add reference to Weechat script
Add support for account-tag
Add support for utf8-only
Forward LUSERS and STATS messages after initial registration
Unify downstream PRIVMSG and NOTICE handling
Allow admins to broadcast message to all bouncer users
doc/soju.1: document bouncer-wide broadcasts
Disallow '$' in nicks
readme: list dependencies
Add per-user realname setting
Only update realname if specified in "user udpate"
Merge "change-password" into "user update"
doc/soju.1: improve "user create" docs
Introduce user.updateUser
ci: add gofmt check
contrib/clients: sort alphabetically and wrap lines
Pass-through CLIENTTAGDENY in ISUPPORT
go fmt: add go:build tags
Don't send network notification when removed
Split unmarshalEntity into two functions
Don't require upstream to be connected for CHATHISTORY
Send empty history for service
Upgrade dependencies
delthas (2):
service: Introduce network quote
contrib/clients: Mention Hexchat