Server Network Specs News

This page contains news about the Ergo IRC server, the Ergo IRC network, new releases, and plans for the future.

We also have an RSS feed here, which you can use to keep updated: feed.xml


v2.13.0, a new stable release

14 Jan 2024 - Link

We’re pleased to announce Ergo v2.13.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.13.0


v2.12.0, a new stable release

11 Oct 2023 - Link

We’re pleased to announce Ergo v2.12.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.12.0


v2.11.1, a security fix

22 Jan 2023 - Link

Ergo 2.11.1 is a new bugfix release, fixing a denial-of-service issue in our websocket implementation. We regret the oversight. All deployments using websockets should upgrade.

https://github.com/ergochat/ergo/releases/tag/v2.11.1


v2.11.0, a new stable release

25 Dec 2022 - Link

We’re pleased to announce Ergo v2.11.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.11.0


v2.10.0, a new stable release

29 May 2022 - Link

We’re pleased to announce Ergo v2.10.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.10.0


Announcing irc-go v0.1.0

19 Jan 2022 - Link

We’re pleased to announce the first tagged release of irc-go, our IRC library and bot framework. While we’re not ready to commit to full API stability, we envision this as a significant milestone towards that goal. Any API breaks from this point will be clearly documented.

For the changelog, see our GitHub page:

https://github.com/ergochat/irc-go/releases/tag/v0.1.0

You can install the release in your Go project using go get github.com/ergochat/irc-go. The expected go.sum lines are:

github.com/ergochat/irc-go v0.1.0 h1:jBHUayERH9SiPOWe4ePDWRztBjIQsU/jwLbbGUuiOWM=
github.com/ergochat/irc-go v0.1.0/go.mod h1:2vi7KNpIPWnReB5hmLpl92eMywQvuIeIIGdt/FQCph0=

v2.9.1, a bugfix release

10 Jan 2022 - Link

Ergo v2.9.1 is a bugfix release, fixing a regression introduced in v2.9.0. We regret the oversight.

For the official binary release and changelog, see our GitHub page:

https://github.com/ergochat/ergo/releases/tag/v2.9.1


v2.9.0, a new stable release

09 Jan 2022 - Link

We’re pleased to announce Ergo v2.9.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.9.0


Modular multi-bots with Ergo

15 Dec 2021 - Link

Ergo is the only major IRC server implementation to natively offer “multiclient” functionality, where multiple client connections can share the same nickname and presence on the server. A potentially surprising use of this feature is that it can be used to “stack” bots: two separate IRC bot implementations, neither of which is aware of the other, can be combined into one as though they were a single modular bot. For example, right now on the official irc.ergo.chat network, the ErgoBot nickname is actually controlled by two separate bots: one slingamn/titlebot, which titles links, and one slingamn/ghbot, which announces events from GitHub.

This has advantages relative to a conventional modular bot framework:

  1. Each bot can be restarted independently without taking down the other, regardless of the language’s support for hot code reloading
  2. The two bots can run on separate hosts if necessary

but also disadvantages:

  1. There’s a greater chance of the bots conflicting with each other in some respect, particularly if they both have authentication systems or accept overlapping sets of commands. (However, the possibility of “bot wars” is mitigated by the standard technique of having bots only process PRIVMSG and only emit NOTICE.)
  2. A separate connection, with separate message delivery, is required for each “module”. In rare cases, this may have a significant load impact on the server.

If you have multiple bots and it seems like they won’t conflict, try consolidating them! As usual with Ergo, you just need to configure them to use the exact same nickname, SASL account name, and SASL password. (If a bot doesn’t support SASL, in a typical Ergo configuration you can authenticate it using PASS (server password) instead. For example, if the SASL account name is pybot and the SASL password is hunter2, you send pybot:hunter2 as the server password.)


v2.8.0, a new stable release

14 Nov 2021 - Link

We’re pleased to announce Ergo v2.8.0, a new stable release. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.8.0

As part of this release, our official Docker images have moved from Docker Hub to the GitHub Container Registry, at ghcr.io/ergochat/ergo. The stable and master tags correspond to the respective branches. Tagged releases (e.g. v2.8.0) are available under the corresponding named tags.


v2.7.0, a new stable release

08 Jun 2021 - Link

We’re pleased to announce Ergo v2.7.0, the first stable release under our new name. For the official binary release and changelog, see our GitHub:

https://github.com/ergochat/ergo/releases/tag/v2.7.0

We’re still working on fully transitioning our website to its new address at ergo.chat, but you can expect a final news post here with details when it happens.


Oragono is now Ergo

02 Jun 2021 - Link

We are in the process of renaming the Oragono project to Ergo. We should have more information on this transition in the next week or so, including an official release under the new name. (We expect the migration process to be easy and nondisruptive.)

Thanks for using Oragono, and see you on the other side! This website will move to its new home at https://ergo.chat, but you can expect a final news post here with details.


v2.6.1, a new stable release

26 Apr 2021 - Link

Oragono 2.6.1 is a bugfix release that fixes a security issue, introduced in 2.4.0. This issue may be critical for some private server configurations (i.e., Internet-facing servers that are not open to the public). We apologize for the oversight.

For the official binary releases and more details, including effective mitigations, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.6.1


v2.6.0, a new stable release

18 Apr 2021 - Link

We’re pleased to announce v2.6.0, a new stable release. Highlights include:

For the official binary releases and more details, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.6.0


v2.5.1, a new stable release

02 Feb 2021 - Link

Oragono 2.5.1 is a bugfix release that fixes a significant security issue (introduced in 2.5.0). We apologize for the oversight.

For the official binary releases and more details, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.5.1


v2.5.0, a new stable release

31 Jan 2021 - Link

We’re pleased to announce v2.5.0, a new stable release. Highlights include:

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.5.0


v2.4.0, a new stable release

08 Nov 2020 - Link

We’re pleased to announce v2.4.0, a new stable release focused on feature parity with other ircds. Highlights include:

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.4.0


v2.3.0, a new stable release

06 Sep 2020 - Link

We’re pleased to announce v2.3.0, a new stable release with some significant bug fixes.

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.3.0


v2.2.0, a new stable release

26 Jul 2020 - Link

We’re pleased to announce v2.2.0, a new stable release with many improvements and fixes. Highlights include:

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.2.0


v2.1.0, a new stable release

01 Jun 2020 - Link

We’re pleased to announce v2.1.0, a new stable release building on feedback from real-world operators and end users. Highlights include:

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.1.0


v2.0.0, a major update

08 Mar 2020 - Link

We’re pleased to announce v2.0.0, a major update to Oragono. Highlights include:

For the official binary releases and a more complete changelog, see our GitHub page:

https://github.com/oragono/oragono/releases/tag/v2.0.0


v1.2.0, a bugfix release

17 Nov 2019 - Link

We’re pleased to announce v1.2.0, a bugfix release. You can read more about it and download it here:

https://github.com/oragono/oragono/releases/tag/v1.2.0


v1.0.0, History, Unicode, and Nickname Ownership

23 Feb 2019 - Link

We’ve finally made it to v1.0.0, something I wasn’t sure we’d ever do! slingamn and I have been working hard with our contributors and translators to prepare a cracker of a release. Thanks particularly to @bogdomania for pushing us to improve our translation workflow. With v1.0.0, most of the vital features for running a network successfully are now a part of the server.

You can grab the release [here].

In particular:

There are a ton of other cool changes, all of which we’ve listed in the changelog. Special thanks to the translators who’ve put their time into this project, all of which we’ve listed and are also listed in the /INFO command output.

So what are our future plans? Well, the next release should include:

There’s a host of other features that we’re wanting to get to as time allows, but we’ll see what gets ready for the next release. In the meantime, we hope that you enjoy v1.0.0, and feel free to contact us with any feature requests you have or post them to our issue board!


Updates and Long Time No See!

01 Apr 2018 - Link

Hey there, stranger! Long time no see.

So it’s been about four months since any proper releases, and a good half a year since any posts. We haven’t been dead and there’s been a bunch happening in the background, which I’m gonna quickly go through.

Right now we’re working on v0.11.0, probably the biggest release since the initial one, v0.1.0. We’ve already had an alpha for it, and we’re almost certainly gonna have a beta before it gets pushed out proper, because there’s a lot of significant, wide-ranging changes. Here are the most important ones:

Translations

Oragono now supports other languages! That is, the server-sent messages (such as “are supported by this server” and “Account created”) can be in other languages, but regular privmsgs/notices sent by other users are left alone. Currently, we’ve got a Brazilian Portuguese translation thanks to Alexandre Oliveira, a French translation thanks to Joshua, and a Turkish translation thanks to Yaser!

This functionality’s provided by the LANGUAGE command proposed by Sadie. If you’re interested, you can find the spec I’ve been working off and updating here.

To do the actual translations we’ve been using CrowdIn, an absolutely awesome service that provides free resources for open source projects. If you know another language and you’d like to give it a shot, here’s our CrowdIn page:

https://crowdin.com/project/oragono

NickServ / Accounts

You can now use NickServ to register and login to your account! In addition, as a server owner you can force email verification for new accounts. You can also enforce nickname ownership, allowing your users to force it so that only they can use their nick on your server.

All in all, lots of cool changes in NickServ.

Fakelag

Similar to other servers, we now support a feature called ‘fakelag’. Essentially, if someone pastes the collected works of William Shakespere, it’ll restrict them before it starts negatively affecting the server. Thanks to some other backend socket rewrites, it’ll also kick them off the network if they send too much data in one line, matching how other servers do things there.

Fakelag is disabled by default while we work out the kinks, but we should have a beta with it out soon. Feel free to yell or submit issues if there’s any trouble with it!

New Spec Support

We now properly support IRCv3 Labeled Responses. This was a bit of a nightmare to implement, and required rewriting a lot of lines of code, but very worth it. The code’s much cleaner now thanks to this!

Along with the above language proposal, we also support the resume extension (submitted by myself). The resume extension aims to simplify reconnection for users, removing the need to go through the /NS GHOST process after disconnecting and reconnecting.

Backend Rewrites and Improvements

There’s a lot of changes and improvements in the backend: the labeled-responses rewrite forced us to handle command replies in a more sane way; we now format message IDs in a better way; we now support exposing a debug pprof endpoint; and we can now expose a unix listening socket.

Overall, lots of positive changes. Should be more stable, more useful to the IRCv3 WG, and more useful to our regular server owners / users in general.

What’s Next?

Well, next is doing some additional testing on the new features and getting a beta of v0.11.0 out. After that beta’s been tossed around a bit and I’m pretty happy to release a new version… it’s time to cut a new release!

Thanks for sticking with me through these few years, and for everyone new that’s came and said hey, helped out, used the project or simply stopped by the site and github repo. I hope Oragono keeps being useful for whatever you’re using it for – whether it’s public or private :)

If you have any trouble, feel free to talk to us in #ircdocs on Freenode, or email me at daniel@danieloaks.net. Always happy to help out, fix bugs, or better support new use cases!


v0.9.0, Fixes and Production Use

25 Sep 2017 - Link

Hey everyone, dan here! It’s been a while since the last release and the last post, so let’s go over what’s changed since then and what’s in mind for the future.

First of all, the new release. You can find the downloads [here]. In v0.9.0 comes:

There is some new functionality, such as the +R flag allowing users to block all messages from unregistered users, but this release is mostly fixes and some updates for production use (such as allowing the HAProxy PROXY command for finer-grained TLS control).

Thanks to both Euan Kemp (@euank) and Shivaram Lingamneni (@slingamn) for the help with this release as well, it’s much appreciated.

In terms of future plans, the ones laid out in the last post are basically still valid. I’m hoping to get IP Cloaking soon (but it is a complex feature), and other than that XLINE/DNSBL are the next ones in line. Work’s been fairly busy lately so I haven’t been able to spend as much time on this as I’d like to, but I’ll always be here working on it :)

As always if you have any other ideas or want to send me feedback, feel free to pop into our IRC channel (#oragono on Freenode) or send me an email!

P.S. Let me know if you want to catch up at freenode #live! I’ll be rocking around there somewhere with some of the other IRCv3 crew.


v0.8.1, Packages And Direction

27 Jun 2017 - Link

Hey everyone, this is the first post on the new News section of our site! I’m planning to make a post each time we release a new version of Oragono, so people can keep an eye on server updates just by following the RSS feed here: feed.xml

Let’s talk about the new release. You can find it [here]. v0.8.1 adds:

As well, thanks to Sean Enck (@enckse) we have a new Arch Linux AUR package here. This should help users on Arch more easily install Oragono for the first time!

We’re also now a Github organisation, which holds Oragono as well as some of the dependencies we’ve taken, modified and used.

In terms of future direction, there’s a bunch of features I have planned. Let me quickly talk about each of them:

So that’s how things are at the moment, and where I plan taking things forwards. Have any other ideas or want to send me feedback? Feel free to pop into our IRC channel (#oragono on Freenode) or send me an email.

Thanks again to everyone submitting bugs, fixes, and just giving their feedback! It’s exciting to have this be used and useful out there, and I hope we can keep making it better as we go.