3.0.0-delta
Changed
- Forbid short nicknames ending with "Serv"
- Also send back ACCOUNT to the client
- Only send the nickname in RPL_WELCOME
Added
- KEYLEN advertisement
- Optional WebSocket support
- IRC ops can now list all users with WHO
- IRC ops can now use wildcards in WHO
Fixed
- CAP replies now don't have any prefix
- RPL_WHOREPLY not including the hop count
- Wildcard to regex conversion
Improved
- Performance improvements on the new queue system used to dispatch
messages to clients
3.0.0-beta
Changed
- Split IRC parsing in another crate
- Prepend ~ to usernames
Added
- REHASH support
- KILL support
- RPL_TOPICWHOTIME
- Message rate limits
Fixed
- password missing in doc/ellidri.conf
- NICK to your nickname now works
- CAP LS 302 now don't explicitly enable cap-notify
- clients that send the wrong PASS are now kicked
Improved
- allow PING during registration
3.0.0-alpha
Changed
- ellidri must now be started with --config
- motd_file defaults to /etc/motd
Added
- AWAY message support
- account-notify support
- away-notify support
- extended-join support
- invite-notify support
- labeled-response support
- multi-prefix support
- setname support
- userhost-in-names support
- halfop rank
- IRC ops have more rights (TODO documentation)
Fixed
- ISUPPORT's CHANMODE advertising unsupported modes
- CAP LIST now always responds with a trailing
- ERROR not being sent on QUIT
- WHO now works on channels
- first param of welcome messages when NICK is sent after USER
- client-only tags with empty keys are not relayed anymore
Improved
- reduced allocation in various places
- login/registration timeout
- TLS handshake timeout
- TCP keepalives on client connections
- INFO text on irssi
2.3.0
Added
- SASL support with SQLite and PostgreSQL
- Support for multiple channels in JOIN and PART messages
- Log accept failures as warnings
Fixed
- Commands are now sent with caps-lock
- Client connections are now closed on QUIT
- ellidri now shows an error stops when it fails to bind to a port
- RPL_INVITING parameter order
- WHO replies now exclude unregistered clients
Improved
- Tests
- Command-line interface
- Configuration error display
2.2.0
Fixed
- Missing server-time in CAP LIST
- "nicklen" setting unrecognized
- TAGMSG being sent to clients that don't support message-tags
Improved
- Example configuration file documentation
- Custom message when a peer disconnects
- Configuration errors
- Manifest documentation
2.1.0
Added
- message-ids support
- server-time support
- Configurable channel name, kick reason, topic and username length limit
Fixed
- INVITE returns ERR_NOSUCHCHANNEL when the channel doesn't exist
- INVITE returns ERR_USERONCHANNEL appropriately
- Nicks are matched case-isensitively
Improved
- Error message when a client closes its connection
- Hardened CI
- Test coverage
- Message tag writing
2.0.0
- MessageQueueItem structure
- Reply buffer API
- ellidri::state: centralize debug logging of commands
- echo-message support
- message-tags support
- Instructions on how to run ellidri
- MessageQueueItem implements AsRef<str>
- `INPUT_TOO_LONG` line
- RFC compliance tests (only on INVITE for now)
- Typos in doc/ellidri.conf
- ConnectionState being too rigid
- Spelling of kawaii ^^'
1.0.0
First "real" version of ellidri.
Supports most of RFC 2812 (missing KILL WHOWAS and wallops)
Should be usable as a library