You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. vNEXT (in development)
  2. * Improve DSL for creating an IrcClient to allow parameters to be passed to server and profile
  3. e.g. IrcClient { server("irc.example.com", 6667) }
  4. * Add behaviour options
  5. * requestModesOnJoin - automatically sends a MODE request when joining a channel
  6. * (Internal) Introduced event mutators
  7. * Event mutators are now responsible for handling changing events in response to state
  8. e.g. ChannelFanOutMutator creates Channel* events for global quits/nick changes/etc
  9. * Event handlers now just handle events, and don't return anything
  10. v0.8.0
  11. * Added support for SCRAM-SHA-1 and SCRAM-SHA-256 SASL mechanisms
  12. * Added MotdLineReceived event
  13. * Added topic events and state
  14. * Add utility method IrcClient.isChannel(String) to identify if a target is a channel or not
  15. * (Internal) Move event handlers into their own package
  16. v0.7.0
  17. * Fixed experimental API warnings when using IrcClient
  18. * IrcClients are now constructed using a DSL
  19. * Users of the library no longer need to care about the implementing class
  20. * Facilitates adding more options in the future without breaking existing implementations
  21. * SASL improvements
  22. * The enabled mechanisms can now be configured (in the SASL DSL)
  23. * Added support for EXTERNAL mechanism, disabled by default
  24. * Now attempts to renegotiate if the server doesn't recognise the SASL mechanism that was tried
  25. * Added UserNickChanged and corresponding ChannelNickChanged events
  26. * Added ServerConnectionError, raised when connecting to the server fails
  27. * (Internal) Minor version updates for Gradle, Kotlin and JUnit
  28. v0.6.0
  29. * Changed USER command to not send the server name, per modern standards
  30. * Added support for SASL authentication (with PLAIN mechanism)
  31. * Removed some unused test code
  32. * Fixed handling of user mode changes on channels (op/deop/etc)
  33. * Message extensions:
  34. * Added support for IRCv3 message tags v3.3
  35. * Exposed message IDs in MessageReceived and ActionReceived events
  36. * When sending a message you can now indicate what it is in reply to
  37. * Added sendTagMessage() to send message tags without any content
  38. * The reply() utility automatically marks messages as a reply
  39. * Added react() utility to send a reaction client tag
  40. * State is now reset when the client is disconnected, so you can immediately reconnect
  41. * (Internal) improved how coroutines and channels are used in LineBufferedSocket
  42. v0.5.0
  43. * Server state:
  44. * Added ServerConnecting and ServerDisconnected events
  45. * Server status now starts as Disconnected rather than Connecting
  46. * Improved error message when features are of an unexpected type
  47. * Channel modes:
  48. * CHANMODES feature is now stored as an array, not a single comma-separated string
  49. * Added ChanModeType enum, and method in ServerState to get the type of a mode
  50. * Added ModeChanged event, for user and channel mode changes and discovery
  51. * Added modes and modesDiscovered to ChannelState
  52. * Other new events:
  53. * Added MotdFinished event
  54. * Added UserAccountChanged event
  55. * Added ChannelUserKicked event
  56. * Added NoticeReceived event
  57. * Added CtcpReplyReceived event
  58. * Improved some documentation
  59. v0.4.0
  60. * Added CtcpReceived and ActionReceived events
  61. * Added sendCtcp and sendAction message builders
  62. * Fix issue with messages being sent out of order, which sometimes caused problems connecting to passworded servers
  63. * Added 'network' server feature
  64. * Added serverName field to ServerState
  65. v0.3.1
  66. * Added more documentation to public methods/classes
  67. * Fixed exception when sending multiple lines at once (e.g. when connecting!)
  68. v0.3.0
  69. * Simplified how messages are constructed.
  70. Instead of: client.send(joinMessage("#channel"))
  71. Now use: client.sendJoin("#channel")
  72. * Added reply utility to easily send replies to message events
  73. * Server state improvements:
  74. * Added status field to ServerState
  75. * ServerConnected event is emitted as soon as the socket is connected
  76. * ServerReady event is emitted after logging in, negotiating, etc
  77. * Added extra debugging to show what type of events are being dispatched
  78. * Added ChannelQuit event, raised for each channel a user is in when they quit
  79. * (Internal) Event handlers can now return more events to emit
  80. v0.2.1
  81. * Added documentation and reduced visibility of some internal methods/classes
  82. * (Internal) Enabled Travis, Codacy and Coveralls
  83. v0.2.0
  84. * Added support for connecting over TLS
  85. * Simplified how event handlers are registered
  86. * Improved use of coroutines so users don't have to worry about them
  87. * (Internal) Upgraded to Gradle 5.1.1