We're pleased to be publishing the release candidate for 1.1.0 (the official release should follow in a week or two, with more complete credits). 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.
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
.
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 defaults tofalse
.nick-reservation.method
now defaults to"strict"
.fakelag.enabled
now defaults totrue
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!).
- 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).
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).
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).