Oragono v0.1.0 Release Notes

Release Date: 2016-09-18 // over 7 years ago
  • 🎉 Initial release of Oragono!

    🔒 Security

    • PROXY command is now restricted appropriately.
    • Nicknames, usernames and channel names that break the protocol are no longer allowed.
    • 0️⃣ Default channel modes set to restrict new channels more appropriately by default.

    ➕ Added

    • YAML config file format.
    • buntdb key-value store for persistent data.
    • 👍 Native SSL/TLS support (thanks to @edmand).
    • ✅ Ability to generate testing certificates from the command line.
    • 👌 Support for looking up usernames with ident on client connection.
    • 👍 RPL_ISUPPORT numeric as advertised by most other IRCds today.
    • 📜 Ability to parse complex mode change syntax commonly used these days (i.e. +h-ov dan dan dan).
    • 👉 User mode for clients connected via TLS (+Z).
    • Ability to register and login to accounts (with passphrase or certfp).
    • ➕ Added support for IRCv3 capabilities account-tag, away-notify, extended-join, sasl, server-time, and userhost-in-names.

    🔄 Changed

    • Channel creator (O) privilege changed to founder/admin/halfops (qah) privileges.
    • Private (+p) channel mode changed to secret (+s), to match what's used by servers today.
    • 0️⃣ Default channel modes changed to (+nt), matching most other IRCds.
    • CLI commands and arguments made more consistent with typical software.
    • 👉 Usernames set by the USER command now start with "~" (to work with new ident support).
    • 📇 Renamed ONICK command to SANICK to be more consistent with other IRCds.
    • 🔧 Made maximum nickname and channel name lengths configurable.
    • 🔧 Made maximum WHOWAS entries configurable.

    ✂ Removed

    • ✂ Removed gitconfig configuration format [replaced with YAML].
    • ✂ Removed sqlite database [replaced with buntdb key-value store].
    • ✂ Removed THEATER command (it broke and I'm not that interested in putting the work in to get it working again with the aim of this project. PRs accepted).

    🛠 Fixed

    • 🛠 Fixed clients no longer being able to send commands after a single command errored out.
    • CAP: Registration is now properly suspended during CAP negotiation.
    • 🚚 CAP: Remove CAP CLEAR (recommended in IRCv3 3.2), and allow capability negotiation after registration.
    • 📜 MODE: Fixed <modestring> evaluation (we were parsing all ungrabbed parameters as a modestring, when it is actually only the first param).
    • 💅 MODE: New-style mode change syntax (with both adding and removing modes in a single MODE command) is now parsed properly.
    • MOTD: Now store MOTD in-memory rather than on-disk, and don't limit it to 80 characters per line (not required with today's servers or clients).
    • NICK: Restrict nicknames that break the protocol.
    • 👉 USER: Restrict usernames that break the protocol.
    • PROXY: Restrict to specified hostnames only.
    • WHOIS: Include the required <nick> param on RPL_ENDOFWHOIS.
    • WHOIS: Hide hidden channels in WHOIS responses.