github ergochat/ergo v1.0.0-rc1
v1.0.0-rc1 - Almost ready!

latest releases: v2.14.0, v2.14.0-rc2, v2.14.0-rc1...
5 years ago

Our v1.0.0 is finally here! Well, almost. The final v1.0.0 should be released in a week or two, after our last bits of testing is complete and the documentation has been double and triple-checked. This version rounds out most of our need-to-haves, and leaves us with a bunch of nice-to-haves that we'll be looking at going forward. Thanks to all of our amazing translators and contributors for the work they've done this release (we'll have a proper thanks section when v1.0.0 drops).

Highlights include:

  • Support for storing and replaying message history with: the draft/resume-0.3 capability, the CHATHISTORY command, and a custom HISTORY command.
  • Better detection of confusing nick/account/channel names.
  • User-customizable nickname protection methods.
  • An account-only mode in which all clients must have an account and login to it (using SASL) before they can join the server.

Config Changes

  • allow-custom-enforcement key added under accounts.
  • allow-plaintext-resume key added under server.
  • history section added.
  • identlen key added under limits.
  • login-throttling section added under accounts.
  • method key now under accounts now allows the value "optional".
  • Logging type server has been added, replacing the startup, rehash, and shutdown types.
  • We no longer listen on port 6668 by default (this fixes Docker installs).
  • The default logging configuration now logs to stderr only, rather than to both stderr and a file.
  • max-channels-per-client key added under channels (limiting the number of channels that can be joined).
  • max-channels-per-account key added under channels.registration (limiting the number of channels that can be registered).
  • Exemption lists now accept localhost as a value, meaning any loopback IPV4, loopback IPV6, or unix domain address.

Security

  • Added a SASL-only mode in which all clients must authenticate with SASL.
  • Added login throttling as a hardening measure against password guessing.
  • Configurable limits are imposed on how many channels clients can join or register.

Added

  • Added automagic datastore creation on oragono run.
  • Added limited message history for connection resuming (to be extended in future).
  • Added new Español (es) translation (thanks to Mauropek!)).
  • Added new Polski (pl) translation (thanks to Sebastian Korotkiewicz (modinfi)!)).
  • Added new Română (ro) translation (thanks to Bogdan Mințoi!)).
  • Added new Ελληνικά (el) translation (thanks to Nicholas Kyriakides (Shillos)!)).
  • Added new 简体中文 (zh-CN) translation (thanks to Tony Chen and Remini!)).
  • Added new subcommands to NICKSERV, including:
    • PASSWD to change account passwords.
    • ENFORCE to set a specific enforcement mechanism on your nick.
    • SAREGISTER to allow operators to manually create new user accounts.
  • Added Unicode confusable detection and prevention when changing nicknames and registering accounts.
  • Added proposed IRCv3 capability draft/setname.

Changed

  • SASL PLAIN logins now log more correctly.
  • Database upgrade failures now provide information about the error that occurred.
  • Idents (sometimes called "usernames") are now restricted to ASCII, similar to other servers.
  • In addition to the founder, now auto-ops (halfop and higher) automatically bypass channel join restrictions.
  • Log lines now display time down to milliseconds, instead of just seconds.
  • Updated all translation files (thanks to our amazing translators!).
  • Updated proposed IRCv3 capability to version draft/resume-0.3.
  • When nick ownership is enabled, users can now select which enforcement mechanism to use with their nickname.
  • Improved compatibility with ZNC's nickserv module.
  • Halfops can now kick unprivileged users.

Removed

Fixed

  • oragono.io/maxline capability was accidentally disabled, now re-enabled.
  • INVITE: Fixed bug where invited users could not join the channel they were invited to.
  • PRIVMSG: Messages sent to multiple clients (such as channel messages) now share the same timestamp (previously each client got a very slightly different time).
  • WHOIS: Now responds properly for NickServ, ChanServ, etc.
  • Channel names with right-to-left characters are now casefolded correctly.
  • Fixed incorrect rejection of nickmasks with Unicode RTL nicknames.
  • Fixed nickname sync issue which could cause clients to fail to see each other.
  • Invalid ISUPPORT tokens are now explicitly rejected.
  • Made server-time timestamp format more consistent and safer.
  • Oragono now exits with status (1) if it fails to start.
  • Prevent logging in multiple times when using /NS IDENTIFY.
  • Prevented the db handler from automagically creating the database without initializing it (thanks @enckse!). We also now automatically create the datastore on run.
  • Updated internal command line parsing (thanks @iNecas!).
  • oragono genpasswd now works when piping input in (fixes Docker installs).
  • Fixed handling of CIDR width in connection limiting/throttling.
  • Fixed many responses that violated the specifications (thanks to Ascrod, bogdomania, csmith, jesopo, jwheare).
  • Fixed incorrect behavior of CHANSERV OP command.

Internal Notes

  • DLINE and KLINE refactored, and expired bans are now removed from the database.
  • Logging system optimised.
  • Services handlers refactored.
  • Translations are now sent to/PR'd from CrowdIn automagically as we develop the software.
  • Direct responses to client commands are now sent "synchronously", bypassing the sendq.

Don't miss a new ergo release

NewReleases is sending notifications on new releases.