Skip to content
soju v0.7.0

This is a smaller release, it contains small new features and bug fixes.

- The new draft/pre-away extension allows short-lived and background clients
  (e.g. chathistorysync and Goguma's background worker) to not toggle the
  auto-away status.
- The new draft/no-implicit-names extension allows clients with low bandwidth
  to connect faster (e.g. Goguma with 3G).
- The contrib/migrate-db script is now a lot faster.
- SASL ANONYMOUS is now supported to log out from an upstream network.
- STATUSMSG messages are now properly routed.

Full commit history below.

Antonio Mika (1):
      Update user.go to not broadcast a push notification when generated from us

Calvin Lee (4):
      fix empty CHATHISTORY TARGETS
      database: batch msg inserts
      contrib/migrate-db: use explicit src/dest network
      Fix saving `+draft/react` is msgstores

Eric Mertens (7):
      Fix capability associated with account message-tag
      Don't drop RPL_LISTSTART - passthrough to downstream
      ERR_NOSUCHSERVER unqueues WHOIS
      Pass MODE and TOPIC through for unjoined channels
      Add support for STATUSMSG
      Forward complete MODE message to upstream when changing modes
      Only log unhandled messages in debug mode

Simon Ser (62):
      downstream: set CLIENTTAGDENY=* when upstream is missing message-tags
      upstream: add forwardMsgByID
      upstream: forward ERR_NOSUCHNICK
      upstream: don't print "unhandled message" for registration errors
      downstream: return channel in cached WHO reply
      gitignore: add doc/sojuctl.1
      user: fix dup upstream connections due to race
      user: unconditonally stop network in updateNetwork()
      downstream: return FAIL on unknown BOUNCER command before registration
      downstream: take irc.Message in handleCap
      Improve Server.Handle readability
      downstream: inline authenticate function
      user: fix upstream connections closed after 1 minute
      downstream: fix connection registration
      Stop setting *user in downstreamConn.register
      downstream: rename downstreamRegistration.password to pass
      downstream: add support for ANONYMOUS SASL auth
      downstream: error out if SASL PLAIN identity is specified
      upstream: introduce upstreamConn.forwardMessage
      downstream: pass context to SendMessage
      contrib/systemd: add AmbientCapabilities=CAP_NET_BIND_SERVICE
      doc/packaging: add section about binding to privileged ports
      database/sqlite: fix missing argument in DeleteUser
      Panic if isHighlight is called with empty nick
      Use database.GetNick in network.isHighlight
      service: reject params for commands that don't take any
      Rename Config.Log{Driver,Path} to MsgStore
      Add CHATHISTORY test
      downstream: fix nick in auth error message
      msgstore/znclog: fix panic on malformed input line
      msgstore/znclog: fix error message
      downstream: improve SASL error logging
      Upgrade dependencies
      server: add metric for goroutine panics
      Introduce soju.im/pre-away
      Replace soju.im/pre-away with draft/pre-away
      service: add a way to reset a network certfp
      Upgrade dependencies
      doc: expand on message store specificities
      doc: clarify that client suffixes are not required for chathistory
      doc: remove mention of dropped multi-upstream mode
      contrib/clients: drop mention of single-upstream mode
      Use * instead of nick in some numeric replies
      server: drop TODO about configurable vars
      Use downstreamConn.upstreamForCommand when handling user MODE
      Remove remnant comments about multi-upstream mode
      Don't send bouncer-networks updates for removed networks
      build: cleanup all man pages
      build: improve readability of Go -ldflags
      service: convert network certfp to lower-case
      doc: add openssl command to fetch server fingerprint
      go fmt
      database: add NewNetwork
      database: fix default value for Network.AutoAway
      database: add NewUser
      cmd/sojudb: use User.SetPassword
      contrib/znc-import: leave password empty by default
      database: drop unnecessary comment
      Upgrade dependencies
      upstream: use unspecified AWAY reason if possible
      conn: drop ErrClosed workaround for WebSocket
      Add support for draft/no-implicit-names

delthas (1):
      Fix SEARCH queries with special characters on SQLite

sentriz (1):
      database: use postgresQueryTimeout for PostgresDB StoreMessages