• v0.9.0 8df1af5bd5

    0.9.0 Stable

    emersion released this 2025-03-25 21:47:07 +01:00 | 11 commits to master since this release

    Signed by emersion
    GPG key ID: 0FDE7BE0E88F5E48

    Highlights:

    • soju now stores messages in the database by default.
    • Channels and users can be marked as pinned/muted via the metadata-2 IRC
      extension and synchronized across devices.
    • PostgreSQL and SQLite optimizations.
    • File uploads can be forwarded to an external HTTP server.
    • Username/password authentication can be delegated to an external HTTP server.
    • New utilities for administrators:
      • Users can be impersonated via SASL.
      • A per-user maximum number of networks can be configured.
      • Debug logs can be toggled via a BouncerServ command.
    • Local listeners can now use the "irc://" scheme instead of "irc+insecure://".
    Full changelog
    Calvin Lee (1):
          doc/ext/bouncer-networks: fix typo in ADDNETWORK example
    
    Conrad Hoffmann (1):
          user: fix goroutine leak on upstream error
    
    John Regan (3):
          postgres: optimize queries for large message stores
          postgres: simplify nested queries
          postgres: remove some uneeded table aliases
    
    Kirill Primak (1):
          Add support for irc://, ws://, and http:// listening URIs
    
    Shivaram Lingamneni (1):
          downstream: use Dialer to block Web push to internal IPs
    
    Simon Ser (32):
          downstream: add ACCOUNTEXTBAN to ISUPPORT passthrough list
          Remove remaining comments about multi-upstream mode
          Upgrade dependencies
          downstream: sanity check Web push endpoint
          downstream: set LINELEN for bouncer connections
          downstream: fix missing client arg in two JOIN errors
          cmd/sojudb: add note about interactions with soju daemon
          downstream: send extended-join params for self-JOIN messages
          downstream: handle ircError in downstreamConn.register
          Upgrade dependencies
          database/sqlite: enable foreign keys
          database: enable WAL for SQLite
          config: bail out if a source is given when a driver doesn't need it
          database/sqlite: set options for modernc build
          doc: document HTTP endpoints
          doc/file-uploads: new article
          upstream: don't send push notifications for TAGMSG
          cmd/soju: close HTTP servers on shutdown
          Use HTTPS URL for Web Push subscriber
          Switch to new go-scfg upstream
          doc/ext/webpush: add examples
          Upgrade dependencies
          cmd/sojuctl: don't print timestamp in log messages
          service: drop some angle-brackets for fixed choice options help
          service: print less confusing error when -h/-help is used
          service: print full help command when handling -h/-help
          config: set default message-store to db
          doc: mention manual reconnection after certfp/sasl service commands
          db: create indexes for foreign keys
          database: move migrations to a separate file
          contrib: print network address when name is unset
          doc/ext/filehost: add examples
    
    alexpdp7 (1):
          Update Gamja and Goguma links
    
    delthas (24):
          Make max-user-networks a limit of enabled networks
          Add per-user max-networks limit
          fileupload: Fail early on file too large
          Enable user impersonation with SASL
          Run user run commands as an admin
          Enable using unix://drive:/path on Windows
          fileupload: Allow previewing uploaded media files
          fileupload: Allow previewing PDFs without downloading them
          Prevent non-admin users from adding Unix socket networks
          service: Fix race condition on user run
          Add an auth HTTP backend
          Fix creating users with 0 max networks by default
          fileupload: Add an http backend
          Support soju.im/SAFERATE ISUPPORT
          database: Do not index ANSI colors in the message text
          service: Add channel create
          Enable using both a plain & an oauth auth backend at once
          fileupload: Forward HTTP store response on error
          Fix attempting to store last message ID with no backlog clients
          service: add server debug
          downstream: Fix connecting with explicit network on non-admin users
          Add support for channel pinned/muted status through METADATA
          Fix build error when disabling SQLite
          Fix panic on pin/mute of service on downstream without network
    
    hexadecimalDinosaur (1):
          Add Halloy client
    
    pips (1):
          docs(contrib): Add relayd tls configuration
    
    Downloads