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 valuefalse
.nick-reservation.method
now has recommended value "strict"`.fakelag.enabled
now has recommended valuetrue
.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
andNICK
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 replacedoragono.io/maxline
, the new version now working alongside the ratified message-tags spec (#433). - We now support
draft/resume-0.5
and the associatedBRB
command, replacingdraft/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 replaysJOIN
andPART
lines by default (#474, thanks @amyspark!).- snomasks are no longer sent for unregistered clients (#362, thanks @bogdomania!).
WHOIS
responses no longer include the690 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 newNICKSERV SET ENFORCE
(the old syntax is still available as an alias).- The
WHO
command is now treated likePONG
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).