github ergochat/ergo v1.1.0
v1.1.0 - Cloaking, Bouncing, and Tor

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

We're pleased to announce Oragono version 1.1.0. This version has a number of exciting improvements, including:

  • Simplified commands for registering new accounts with NickServ.
  • Support for IP cloaking.
  • Support for attaching multiple clients to the same nickname.
  • Support for the newly ratified message tags and message ID IRCv3 specifications; client developers are invited to use Oragono as a reference when implementing these specifications.
  • Support for running Oragono as a Tor hidden service.

Many thanks to @Ascrod, @amyspark, @bogdomania, @csmith, @jesopo, @jwheare, lover, and @transitracer for reporting issues and contributing patches, and also to @bogdomania, Elvedin Hušić, Nuve, and @streaps for contributing translations.

Upgrade notes

This release includes a database change. If you have datastore.autoupgrade set to true in your configuration, it will be automatically applied when you restart Oragono. Otherwise, you can update the database manually by running oragono upgradedb (see the manual for complete instructions).

No changes to your configuration file should be required for this upgrade. However, updating the file is necessary to enable some new functionality, as described below.

Config changes

  • tor-listeners section added for configuring listeners for use with Tor.
  • compatibility section added for toggling compatibility behaviors for legacy clients.
  • ip-cloaking section added for configuring cloaking.
  • bouncer section added for configuring bouncer-like features (in particular, whether multiple clients can use the same nickname).
  • check-ident now has recommended value false.
  • nick-reservation.method now has recommended value "strict"`.
  • fakelag.enabled now has recommended value true.
  • limits.linelen.tags removed due to ratification of the message-tags spec, which fixes the maximum tags length at 8191 bytes.
  • limits.registration-messages added to restrict how many messages a user can send to the server during connection registration (while connecting to the server).
  • channels.operator-only-creation added to optionally restrict creation of new channels to ircops (#537).

Security

  • Users can no longer impersonate network services like ChanServ by using confusing nicks like "ChɑnServ" (#519, thanks @csmith!).
  • Closed several loopholes in confusable nick detection (#562, #564, #570, thanks lover!)
  • Secret channels (mode +s) now act more secret (#380, thanks @csmith!).
  • The +R (registered-only) mode now prevents unregistered users from joining the channel, not just from speaking (#463, thanks @bogdomania!).
  • Limited how many messages clients can send during connection registration to mitigate potential DoS attacks (#505).
  • Attempting to reauthenticate with SASL now fails with 907 ERR_SASLALREADY (#476).

Fixed

  • Fixed /ISON command reporting users as always being online (#479).
  • Fixed clients who negotiated CAP version 302 or higher not receiving cap-notify messages (#464).
  • We now treat channel privileges such as halfop more consistently (#400).
  • Fixed a bug where clients could receive message tags they hadn't enabled (#434).
  • When replaying history, messages now have more consistent IDs and timestamps
  • IDs and timestamps are now applied more consistently to messages (#388, #477, #483).
  • Client-to-client tags are now stored and replayed in message history (#437).
  • Fixed various error numerics that were being sent with incorrect parameters (#425, thanks @Ascrod!).
  • Fixed STATUSMSG not adding the correct prefix to the channel when relaying the message (#467).
  • Fixed /RENAME command not correctly renaming the channel for some users (#300, thanks @jesopo!).
  • History playback is now batched when applicable (#456, thanks @transitracer!).
  • Notices from NickServ/ChanServ/etc should display better in some clients (#496, thanks @jwheare!).
  • Fixed nickname timer warnings not displaying correctly sometimes (#449, thanks @bogdomania!).
  • When history playback is disabled, the /HISTORY command now says so instead of silently failing (#429, thanks @bogdomania!).
  • The /HOSTSERV ON/OFF commands now tell you when you don't have a vhost (#404, thanks @bogdomania!).
  • When operators use the /SANICK command, the snomask now says which operator did it instead of saying the target changed their nickname themselves (#360, thanks @bogdomania!).
  • History playback now includes messages that the user sent themselves (especially useful with the new bouncer-like capabilities) (#487).

Added

  • IP cloaking is now supported (see the manual for details) (#108).
  • Users can now attach multiple clients to the same nickname (see the manual for details) (#403).
  • Oragono can now be used as a Tor hidden service (see the manual for details) (#369).
  • The znc.in/playback capability is now supported, which can automate history playback for clients that support it (#486).
  • User preference system controlling various behaviors (/msg NickServ help set for details) (#466).
  • Support for the draft/event-playback spec (#457).
  • The TAGMSG and NICK messages are now replayable in history (#457).
  • Added the draft IRCv3 SETNAME command for changing your realname (#372).
  • Added new Bosnian (bs-BA) translation (thanks to Elvedin Hušić!).
  • Added new German (de-DE) translation (thanks to streaps!).

Changed

  • Registering an account with NickServ is now /msg NickServ register <password>, which registers the current nickname as an account, matching other services (#410).
  • Added a compatibility hack to make SASL work with ZNC 1.6.x (#261).
  • We now support the ratified message-tags spec, replacing draft/message-tags-0.2.
  • We now support the ratified message IDs spec, replacing draft/msgid.
  • The oragono.io/maxline-2 capability has replaced oragono.io/maxline, the new version now working alongside the ratified message-tags spec (#433).
  • We now support draft/resume-0.5 and the associated BRB command, replacing draft/resume-0.3.
  • Upgraded support for the /RENAME command to the latest draft of the specification.
  • Upgraded support for the /ACC command to the latest draft of the specification (#453, #455).
  • Removed the +a away mode as no other servers use it (#468, thanks @jesopo and @jwheare!).
  • Forcing trailing parameters for legacy compatibility can now be disabled in config (#479).
  • autoreplay-on-join no longer replays JOIN and PART lines by default (#474, thanks @amyspark!).
  • snomasks are no longer sent for unregistered clients (#362, thanks @bogdomania!).
  • WHOIS responses no longer include the 690 RPL_WHOISLANGUAGE numeric, as it doesn't show anything useful to other users (#516).
  • ISON now reports services (ChanServ/NickServ/etc) as online (#488).
  • All times are now reported in UTC (#480).
  • NICKSERV ENFORCE is deprecated in favor of the new NICKSERV SET ENFORCE (the old syntax is still available as an alias).
  • The WHO command is now treated like PONG in that it doesn't count as user activity, since client software often uses it automatically (#485).
  • The NAMES command now only returns results for the first given channel (#534).
  • Updated French (fr-FR) translation (thanks to Nuve!).
  • Updated Română (ro-RO) translation (thanks to @bogdomania!).

Internal Notes

  • Building Oragono is now easier (#409).
  • Official builds now use Go 1.12 (#406).
  • Our message building and parsing code is slightly faster now (#387).
  • Added the oragono.io/nope capability to encourage clients to request capabilities safely (#511).
  • Made some previously untranslatable strings translatable (#407).
  • Fixed portability issues with 32-bit architectures (#527).

Don't miss a new ergo release

NewReleases is sending notifications on new releases.