We've finally made it to v1.0.0! With this release, our list of need-to-haves is rounded out, and we reckon the software's ready for production use in smaller networks. slingamn and I have been working with our contributors and translators to prepare a cracker of a release. Thanks to @csmith our Docker builds have been updated, with automatic rebuilds as we develop the software. Thanks to @bogdomania our translation workflow has been improved a lot.
- Optional support for storing and replaying message history with the
draft/resume-0.3capability, the draft IRCv3
CHATHISTORYcommand, and a custom
- 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.
Thanks to Mauropek, @modinfo, @bogdomania, @Shillos, Tony Chen, and Remini for adding new translations. Thanks to @Ascrod, @bogdomania, @csmith, @jesopo, @jwheare, @remini1998, @enckse, and @iNecas for finding bugs and/or writing new features.
allow-custom-enforcementkey added under
allow-plaintext-resumekey added under
identlenkey added under
login-throttlingsection added under
max-channels-per-accountkey added under
channels.registration(limiting the number of channels that can be registered).
max-channels-per-clientkey added under
channels(limiting the number of channels that can be joined).
methodkey now under
accountsnow allows the value
- Exemption lists now accept
localhostas a value, meaning any loopback IPV4, loopback IPV6, or unix domain address.
- Logging type
serverhas been added, replacing the
- The default logging configuration now logs to stderr only, rather than to both stderr and a file.
- We no longer listen on port
6668by default (this fixes Docker installs).
- 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 automagic datastore creation on
- Added detection and prevention of confusing nicknames, account names, and channel names.
- 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 @modinfo!).
- Added new Română (ro) translation (thanks to @bogdomania!).
- Added new Ελληνικά (el) translation (thanks to @Shillos!).
- Added new 简体中文 (zh-CN) translation (thanks to Tony Chen and Remini!)).
- Added proposed IRCv3 capability
- Added subcommands to
PASSWDto change account passwords.
ENFORCEto set a specific enforcement mechanism on your nick.
SAREGISTERto allow operators to manually create new user accounts.
SASL PLAINlogins now log more correctly.
- Database upgrade failures now provide information about the error that occurred.
- Halfops can now kick unprivileged users.
- Idents (sometimes called "usernames") are now restricted to ASCII, similar to other servers.
- Improved compatibility with ZNC's nickserv module.
- 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
- When nick ownership is enabled, users can now select which enforcement mechanism to use with their nickname.
INVITE: Fixed bug where invited users could not join the channel they were invited to (thanks to @unendingpattern!).
oragono.io/maxlinecapability was accidentally disabled, and is now re-enabled.
oragono genpasswdnow works when piping input in (fixes Docker installs).
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 (thanks to @remini1998!).
- Fixed handling of CIDR width in connection limiting/throttling.
- Fixed incorrect behavior of
- Fixed incorrect rejection of nickmasks with Unicode RTL nicknames.
- Fixed many responses that violated the specifications (thanks to @Ascrod, @bogdomania, @csmith, @jesopo, and @jwheare!).
- Fixed nickname sync issue which could cause clients to fail to see each other.
ISUPPORTtokens are now explicitly rejected.
server-timetimestamp format more consistent and safer.
- Oragono now exits with status (1) if it fails to start.
- Prevent logging in multiple times when using
- Prevented the db handler from automagically creating the database without initializing it (thanks @enckse!). We also now automatically create the datastore on
KLINErefactored, and expired bans are now removed from the database.
- Command-line parsing was upgraded to match modern best practices (thanks to @iNecas!).
- Direct responses to client commands are now sent "synchronously", bypassing the sendq.
- Logging system optimised.
- Services handlers refactored.
- Translations are now sent to/PR'd from CrowdIn automagically as we develop the software.