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

CHANGELOG.md 25 kB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. # Changelog
  2. ## [2.4.0] - 2021-05-22
  3. ### Added
  4. - #1726 Add stickers (91a9063)
  5. - #1753 Webhook message edit & delete functionality (f67cd8e)
  6. - #1757 Add ability to add/remove roles by id (4c9910c)
  7. - #1781 Add GetEmotesAsync to IGuild (df23d57)
  8. - #1801 Add missing property to MESSAGE_REACTION_ADD event (0715d7d)
  9. - #1828 Add methods to interact with reactions without a message object (5b244f2)
  10. - #1830 Add ModifyMessageAsync to IMessageChannel (365a848)
  11. - #1844 Add Discord Certified Moderator user flag (4b8d444)
  12. ### Fixed
  13. - #1486 Add type reader when entity type reader exists (c46daaa)
  14. - #1835 Cached message emoji cleanup at MESSAGE_REACTION_REMOVE_EMOJI (8afef82)
  15. ### Misc
  16. - #1778 Remove URI check from EmbedBuilder (25b04c4)
  17. - #1800 Fix spelling in SnowflakeUtils.FromSnowflake (6aff419)
  18. ## [2.3.1] - 2021-03-10
  19. ### Fixed
  20. - #1761 Deadlock in DiscordShardedClient when Ready is never received (73e5cc2)
  21. - #1773 Private methods aren't added as commands (0fc713a)
  22. - #1780 NullReferenceException in pin/unpin audit logs (f794163)
  23. - #1786 Add ChannelType property to ChannelInfo audit log (6ac5ea1)
  24. - #1791 Update Webhook ChannelId from model change (d2518db)
  25. - #1794 Audit log UserId can be null (d41aeee)
  26. ### Misc
  27. - #1774 Add remark regarding CustomStatus as the activity (51b7afe)
  28. ## [2.3.0] - 2021-01-28
  29. ### Added
  30. - #1491 Add INVITE_CREATE and INVITE_DELETE events (1ab670b)
  31. - #1520 Support reading multiple activities (421a0c1)
  32. - #1521 Allow for inherited commands in modules (a51cdf6)
  33. - #1526 Add Direction.Around to GetMessagesAsync (f2130f8)
  34. - #1537 Implement gateway ratelimit (ec673e1)
  35. - #1544 Add MESSAGE_REACTION_REMOVE_EMOJI and RemoveAllReactionsForEmoteAsync (a89f076)
  36. - #1549 Add GetUsersAsync to SocketGuild (30b5a83)
  37. - #1566 Support Gateway Intents (d5d10d3)
  38. - #1573 Add missing properties to Guild and deprecate GuildEmbed (ec212b1)
  39. - #1581 Add includeRoleIds to PruneUsersAsync (a80e5ff)
  40. - #1588 Add GetStreams to AudioClient (1e012ac)
  41. - #1596 Add missing channel properties (2d80037)
  42. - #1604 Add missing application properties (including Teams) (10fcde0)
  43. - #1619 Add "View Guild Insights" to GuildPermission (2592264)
  44. - #1637 Added CultureInvariant RegexOption to WebhookUrlRegex (e3925a7)
  45. - #1659 Add inline replies (e3850e1)
  46. - #1688 Send presence on Identify payload (25d5d36)
  47. - #1721 Add role tags (6a62c47)
  48. - #1722 Add user public flags (c683b29)
  49. - #1724 Add MessageFlags and AllowedMentions to message modify (225550d)
  50. - #1731 Add GuildUser IsPending property (8b25c9b)
  51. - #1690 Add max bitrate value to SocketGuild (aacfea0)
  52. ### Fixed
  53. - #1244 Missing AddReactions permission for DM channels. (e40ca4a)
  54. - #1469 unsupported property causes an exception (468f826)
  55. - #1525 AllowedMentions and AllowedMentionTypes (3325031)
  56. - #1531 Add AllowedMentions to SendFileAsync (ab32607)
  57. - #1532 GuildEmbed.ChannelId as nullable per API documentation (971d519)
  58. - #1546 Different ratelimits for the same route (implement discord buckets) (2f6c017)
  59. - #1548 Incomplete Ready, DownloadUsersAsync, and optimize AlwaysDownloadUsers (dc8c959)
  60. - #1555 InvalidOperationException at MESSAGE_CREATE (bd4672a)
  61. - #1557 Sending 2 requests instead of 1 to create a Guild role. (5430cc8)
  62. - #1571 Not using the new domain name. (df8a0f7)
  63. - #1578 Trim token before passing it to the authorization header (42ba372)
  64. - #1580 Stop TaskCanceledException from bubbling up (b8fa464)
  65. - #1599 Invite audit log without inviter (b95b95b)
  66. - #1602 Add AllowedMentions to webhooks (bd4516b)
  67. - #1603 Cancel reconnection when 4014 (f396cd9)
  68. - #1608 Voice overwrites and CategoryId remarks (43c8fc0)
  69. - #1614 Check error 404 and return null for GetBanAsync (ae9fff6)
  70. - #1621 Parse mentions from message payload (366ca9a)
  71. - #1622 Do not update overwrite cache locally (3860da0)
  72. - #1623 Invoke UserUpdated from GuildMemberUpdated if needed (3085e88)
  73. - #1624 Handle null PreferredLocale in rare cases (c1d04b4)
  74. - #1639 Invite and InviteMetadata properties (dd2e524)
  75. - #1642 Add missing permissions (4b389f3)
  76. - #1647 handicap member downloading for verified bots (fa5ef5e)
  77. - #1652 Update README.MD to reflect new discord domain (03b831e)
  78. - #1667 Audio stream dispose (a2af985)
  79. - #1671 Crosspost throwing InvalidOperationException (9134443)
  80. - #1672 Team is nullable, not optional (be60d81)
  81. - #1681 Emoji url encode (04389a4)
  82. - #1683 SocketGuild.HasAllMembers is false if a user left a guild (47f571e)
  83. - #1686 Revert PremiumSubscriptionCount type (97e71cd)
  84. - #1695 Possible NullReferenceException when receiving InvalidSession (5213916)
  85. - #1702 Rollback Activities to Game (9d7cb39)
  86. - #1727 Move and fix internal AllowedMentions object (4a7f8fe)
  87. - limit request members batch size (084db25)
  88. - UserMentions throwing NullRef (5ed01a3)
  89. - Wrong author for SocketUserMessage.ReferencedMessage (1e9b252)
  90. - Discord sends null when there's no team (05a1f0a)
  91. - IMessage.Embeds docs remarks (a4d32d3)
  92. - Missing MessageReference when sending files (2095701)
  93. ### Misc
  94. - #1545 MutualGuilds optimization (323a677)
  95. - #1551 Update webhook regex to support discord.com (7585789)
  96. - #1556 Add SearchUsersAsync (57880de)
  97. - #1561 Minor refactor to switch expression (42826df)
  98. - #1576 Updating comments for privileged intents (c42bfa6)
  99. - #1678 Change ratelimit messages (47ed806)
  100. - #1714 Update summary of SocketVoiceChannel.Users (e385c40)
  101. - #1720 VoiceRegions and related changes (5934c79)
  102. - Add updated libraries for LastModified (d761846)
  103. - Add alternative documentation link (accd351)
  104. - Temporarily disable StyleCops until all the fixes are impl'd (36de7b2)
  105. - Remove redundant CreateGuildRoleParams (3df0539)
  106. - Add minor tweaks to DiscordSocketConfig docs strings (2cd1880)
  107. - Fix MaxWaitBetweenGuildAvailablesBeforeReady docs string (e31cdc7)
  108. - Missing summary tag for GatewayIntents (3a10018)
  109. - Add new method of role ID copy (857ef77)
  110. - Resolve inheritdocs for IAttachment (9ea3291)
  111. - Mark null as a specific langword in summary (13a41f8)
  112. - Cleanup GatewayReconnectException docs (833ee42)
  113. - Update Docfx.Plugins.LastModified to v1.2.4 (28a6f97)
  114. - Update framework version for tests to Core 3.1 to comply with LTS (4988a07)
  115. - Move bulk deletes remarks from <summary> to <remarks> (62539f0)
  116. ## [2.2.0] - 2020-04-16
  117. ### Added
  118. - #1247 Implement Client Status Support (9da11b4)
  119. - #1310 id overload for RemoveReactionAsync (c88b1da)
  120. - #1319 BOOST (faf23de)
  121. - #1326 Added a Rest property to DiscordShardedClient (9fede34)
  122. - #1348 Add Quote Formatting (265da99)
  123. - #1354 Add support for setting X-RateLimit-Precision (9482204)
  124. - #1355 Provide ParameterInfo with error ParseResult (3755a02)
  125. - #1357 add the "Stream" permission. (b00da3d)
  126. - #1358 Add ChannelFollowAdd MessageType (794eba5)
  127. - #1369 Add SelfStream voice state property (9bb08c9)
  128. - #1372 support X-RateLimit-Reset-After (7b9029d)
  129. - #1373 update audit log models (c54867f)
  130. - #1377 Support filtering audit log entries on user, action type, and before entry id (68eb71c)
  131. - #1386 support guild subscription opt-out (0d54207)
  132. - #1387 #1381 Guild PreferredLocale support (a61adb0)
  133. - #1406 CustomStatusGame Activity (79a0ea9)
  134. - #1413 Implemented Message Reference Property (f86c39d)
  135. - #1414 add StartedAt, EndsAt, Elapsed and Remaining to SpotifyGame. (2bba324)
  136. - #1432 Add ability to modify the banner for guilds (d734ce0)
  137. - suppress messages (cd28892)
  138. ### Fixed
  139. - #1318 #1314 Don't parse tags within code blocks (c977f2e)
  140. - #1333 Remove null coalescing on ToEmbedBuilder Color (120c0f7)
  141. - #1337 Fixed attempting to access a non-present optional value (4edda5b)
  142. - #1346 CommandExecuted event will fire when a parameter precondition fails like what happens when standard precondition fails. (e8cb031)
  143. - #1371 Fix keys of guild update audit (b0a595b)
  144. - #1375 Use double precision for X-Reset-After, set CultureInfo when parsing numeric types (606dac3)
  145. - #1392 patch todo in NamedTypeReader (0bda8a4)
  146. - #1405 add .NET Standard 2.1 support for Color (7f0c0c9)
  147. - #1412 GetUsersAsync to use MaxUsersPerBatch const as limit instead of MaxMessagesPerBatch. (5439cba)
  148. - #1416 false-positive detection of CustomStatusGame based on Id property (a484651)
  149. - #1418 #1335 Add isMentionable parameter to CreateRoleAsync in non-breaking manner (1c63fd4)
  150. - #1421 (3ff4e3d)
  151. - include MessageFlags and SuppressEmbedParams (d6d4429)
  152. ### Changed
  153. - #1368 Update ISystemMessage interface to allow reactions (07f4d5f)
  154. - #1417 fix #1415 Re-add support for overwrite permissions for news channels (e627f07)
  155. - use millisecond precision by default (bcb3534)
  156. ### Misc
  157. - #1290 Split Unit and Integration tests into separate projects (a797be9)
  158. - #1328 Fix #1327 Color.ToString returns wrong value (1e8aa08)
  159. - #1329 Fix invalid cref values in docs (363d1c6)
  160. - #1330 Fix spelling mistake in ExclusiveBulkDelete warning (c864f48)
  161. - #1331 Change token explanation (0484fe8)
  162. - #1349 Fixed a spelling error. (af79ed5)
  163. - #1353 [ci skip] Removed duplicate "any" from the readme (15b2a36)
  164. - #1359 Fixing GatewayEncoding comment (52565ed)
  165. - #1379 September 2019 Documentation Update (fd3810e)
  166. - #1382 Fix .NET Core 3.0 compatibility + Drop NS1.3 (d199d93)
  167. - #1388 fix coercion error with DateTime/Offset (3d39704)
  168. - #1393 Utilize ValueTuples (99d7135)
  169. - #1400 Fix #1394 Misworded doc for command params args (1c6ee72)
  170. - #1401 Fix package publishing in azure pipelines (a08d529)
  171. - #1402 Fix packaging (65223a6)
  172. - #1403 Cache regex instances in MessageHelper (007b011)
  173. - #1424 Fix the Comparer descriptions not linking the type (911523d)
  174. - #1426 Fix incorrect and missing colour values for Color fields (9ede6b9)
  175. - #1470 Added System.Linq reference (adf823c)
  176. - temporary sanity checking in SocketGuild (c870e67)
  177. - build and deploy docs automatically (2981d6b)
  178. - 2.2.0 (4b602b4)
  179. - target the Process env-var scope (3c6b376)
  180. - fix metapackage build (1794f95)
  181. - copy only _site to docs-static (a8cdadc)
  182. - do not exit on failed robocopy (fd204ee)
  183. - add idn debugger (91aec9f)
  184. - rename IsStream to IsStreaming (dcd9cdd)
  185. - feature (40844b9)
  186. ## [2.1.1] - 2019-06-08
  187. ### Fixed
  188. - #994: Remainder parameters now ignore character escaping, as there is no reason to escape characters here (2e95c49)
  189. - #1316: `Emote.Equals` now pays no respect to the Name property, since Discord's API does not care about an emote's name (abf3e90)
  190. - #1317: `Emote.GetHashCode` now pays no respect to the Name property, see above (1b54883)
  191. - #1323: Optionals will no longer claim to be specified when a reaction message was not cached (1cc5d73)
  192. - Log messages sourcing from REST events will no longer be raised twice (c78a679)
  193. - News embeds will be processed as `EmbedType.Unknown`, rather than throwing an error and dropping the message (d287ed1)
  194. ### Changed
  195. - #1311: Members may now be disconnected from voice channels by passing `null` as `GuildUserProperties.Channel` (fc48c66)
  196. - #1313: `IMessage.Tags` now includes the EveryoneRole on @everyone and @here mentions (1f55f01)
  197. - #1320: The maximum value for setting slow-mode has been updated to 6 hours, per the new API limit (4433ca7)
  198. ### Misc
  199. - This library's compatibility with Semantic Versioning has been clarified. Please see the README (4d7de17)
  200. - The depency on System.Interactive.Async has been bumped to `3.2.0` (3e65e03)
  201. ## [2.1.0] - 2019-05-18
  202. ### Added
  203. - #1236: Bulk deletes (for messages) may now be accessed via the `MessagesBulkDeleted` event (dec353e)
  204. - #1240: OAuth applications utilizing the `guilds.join` scope may now add users to guilds through any client (1356ea9)
  205. - #1255: Message and attachment spoilers may now be set or detected (f3b20b2)
  206. - #1260: DiscordWebhookClient may be created from a Webhook URL (f2113c7)
  207. - #1261: A `GetCategoryChannel` helper may now be used to retrieve category channels directly from socket guilds (e03c527)
  208. - #1263: "user joined the guild" messages are now supported (00d3f5a)
  209. - #1271: AuthorID may now be retrieved from message delete audit log entries (1ae4220)
  210. - #1293: News Channels are now supported 📰 (9084c42)
  211. - `ExclusiveBulkDelete` configuration setting can be used to control bulk delete event behavior (03e6401)
  212. ### Removed
  213. - #1294: The `IGuildUser` overload of `EmbedBuilder.WithAuthor` no longer exists (b52b54d)
  214. ### Fixed
  215. - #1256: Fetching audit logs no longer raises null reference exceptions when a webhook has been deleted (049b014)
  216. - #1268: Null reference exceptions on `MESSAGE_CREATE` concerning partial member objects no longer occur (377622b)
  217. - #1278: The token validator now internally pads tokens to the proper length (48b327b)
  218. - #1292: Messages now properly initialize empty collections (b2ebc03)
  219. - The `DiscordSocketRestClient` is now properly initialized (a44c13a)
  220. - Exceptions in event handlers are now always logged (f6e3200)
  221. ### Changed
  222. - #1305: Token validation will fail when tokens contain whitespace (bb61efa)
  223. ### Misc
  224. - #1241: Added documentation samples for Webhooks (655a006)
  225. - #1243: Happy new year 🎉 (0275f7d)
  226. - #1257: Improved clarity in comments in the command samples (2473619)
  227. - #1276: Documentation uses a relative path for the logo asset (b80f0e8)
  228. - #1303: EmbedBuilder documentation now builds in the correct spot (51618e6)
  229. - #1304: Updated documentation (4309550)
  230. - CI for this project is now powered by Azure DevOps (this is not a sponsored message 🚀) (9b2bc18)
  231. - IDisposableAnalyzers should now be a development dependency (8003ac8)
  232. ## [2.0.1] - 2019-01-04
  233. ### Fixed
  234. - #1226: Only escape the closing quotation mark of non-remainder strings (65b8c09)
  235. - Commands with async RunModes will now propagate exceptions up to CommandExecuted (497918e)
  236. ### Misc
  237. - #1225: Commands sample no longer hooks the log event twice (552f34c)
  238. - #1227: The logo on the docs index page should scale responsively (d39bf6e)
  239. - #1230: Replaced precondition sample on docs (feed4fd)
  240. ## [2.0.0] - 2018-12-28
  241. ### Added
  242. - #747: `CommandService` now has a `CommandExecuted` event (e991715)
  243. - #765: Parameters may have a name specified via `NameAttribute` (9c81ab9)
  244. - #773: Both socket clients inherit from `BaseSocketClient` (9b7afec)
  245. - #785: Primitives now automatically load a NullableTypeReader (cb0ff78)
  246. - #819: Support for Welcome Message channels (30e867a)
  247. - #835: Emoji may now be managed from a bot (b4bf046)
  248. - #843: Webhooks may now be managed from a bot (7b2ddd0)
  249. - #863: An embed may be converted to an `EmbedBuilder` using the `.ToEmbedBuilder()` method (5218e6b)
  250. - #877: Support for reading rich presences (34b4e5a)
  251. - #888: Users may now opt-in to using a proxy (678a723)
  252. - #906: API Analyzers to assist users when writing their bot (f69ef2a)
  253. - #907: Full support for channel categories (030422f)
  254. - #913: Animated emoji may be read and written (a19ff18)
  255. - #915: Unused parameters may be discarded, rather than failing the command (5f46aef)
  256. - #929: Standard EqualityComparers for use in LINQ operations with the library's entities (b5e7548)
  257. - #934: Modules now contain an `OnModuleBuilding` method, which is invoked when the module is built (bb8ebc1)
  258. - #952: Added 'All' permission set for categories (6d58796)
  259. - #957: Ratelimit related objects now include request information (500f5f4)
  260. - #962: Add `GetRecommendedShardCountAsync` (fc5e70c)
  261. - #970: Add Spotify track support to user Activities (64b9cc7)
  262. - #973: Added `GetDefaultAvatarUrl` to user (109f663)
  263. - #978: Embeds can be attached alongside a file upload (e9f9b48)
  264. - #984, #1089: `VoiceServerUpdate` events are now publically accessible (e775853, 48fed06)
  265. - #996: Added `DeleteMessageAsync` to `IMessageChannel` (bc6009e)
  266. - #1005: Added dedicated `TimeSpan` TypeReader which "doesn't suck" (b52af7a)
  267. - #1009: Users can now specify the replacement behavior or default typereaders (6b7c6e9)
  268. - #1020: Users can now specify parameters when creating channels (bf5275e)
  269. - #1030: Added `IsDeprecated`, `IsCustom` properties to `VoiceRegion` (510f474)
  270. - #1037: Added `SocketUser.MutualGuilds`, various extension methods to commands (637d9fc)
  271. - #1043: `Discord.Color` is now compatible with `System.Drawing.Color` (c275e57)
  272. - #1055: Added audit logs (39dffe8)
  273. - #1056: Added `GetBanAsync` (97c8931)
  274. - #1102: Added `GetJumpUrl()` to messages (afc3a9d)
  275. - #1123: Commands can now accept named parameters (419c0a5)
  276. - #1124: Preconditions can now set custom error messages (5677f23)
  277. - #1126: `Color` now has equality (a2d8800)
  278. - #1159: Guild channels can now by synced with their parent category (5ea1fb3)
  279. - #1165: Bring Guild and Message models up to date with the API (d30d122)
  280. - #1166: Added `GetVoiceRegionsAsync` to `IGuild` (00717cf)
  281. - #1183: Added Add Guild Member endpoint for OAuth clients (8ef5f81)
  282. - #1196: Channel position can now be specified when creating a channel (a64ab60)
  283. - #1198: The Socket client can now access its underlying REST client (65afd37)
  284. - #1213: Added `GuildEmote#CreatorId` (92bf836)
  285. - 'html' variant added to the `EmbedType` enum (42c879c)
  286. - Modules can now be nested in non-module classes (4edbd8d)
  287. - Added `BanAsync` to guild members (1905fde)
  288. - Added the permisison bit for priority speaker (c1d7818)
  289. - All result types can use `FromError` (748e92b)
  290. - Added support for reading/writing slow mode (97d17cf)
  291. - Added markdown format for URLs (f005af3)
  292. - Reactions can now be added to messages in bulk (5421df1)
  293. ### Fixed
  294. - #742: `DiscordShardedClient#GetGuildFor` will now direct null guilds to Shard 0 (d5e9d6f)
  295. - #743: Various issues with permissions and inheritance of permissions (f996338)
  296. - #755: `IRole.Mention` will correctly tag the @everyone role (6b5a6e7)
  297. - #768: `CreateGuildAsync` will include the icon stream (865080a)
  298. - #866: Revised permissions constants and behavior (dec7cb2)
  299. - #872: Bulk message deletion should no longer fail for incomplete batch sizes (804d918)
  300. - #923: A null value should properly reset a user's nickname (227f61a)
  301. - #938: The reconnect handler should no longer deadlock during Discord outages (73ac9d7)
  302. - #941: Fix behavior of OverrideTypeReader (170a2e0)
  303. - #945: Fix properties on SocketCategoryChannel (810f6d6)
  304. - #959: Webhooks now use the correct parameter when assigning to the Avatar URL (8876597)
  305. - #966: Correct the implementation of HasFlag and ResolveChannel in permissions (32ebdd5)
  306. - #968: Add missing parameter in WebSocket4Net constructor (8537924)
  307. - #981: Enforce a maximum value when parsing timestamps from Discord (bfaa6fc)
  308. - #993: Null content will no longer null-ref on message sends/edits (55299ff)
  309. - #1003: Fixed ordering of parameters in permissions classes (a06e212)
  310. - #1010: EmbedBuilder no longer produces mutable embeds (2988b38)
  311. - #1012: `Embed.Length` should now yield the correct results (a3ce80c)
  312. - #1017: GetReactionUsersAsync includes query parameters (9b29c00)
  313. - #1022: GetReactionUsersAsync is now correctly paginated (79811d0)
  314. - #1023: Fix/update invite-related behaviors (7022149)
  315. - #1031: Messages with no guild-specific data should no longer be lost (3631886)
  316. - #1036: Fixed cases where `RetryMode.RetryRatelimit` were ignored (c618cb3)
  317. - #1044: Populate the guild in `SocketWebhookUser` (6a7810b)
  318. - #1048: The REST client will now create a full GuildUser object (033d312)
  319. - #1049: Fixed null-ref in `GetShardIdFor` (7cfed7f)
  320. - #1059: Include 'view channel' in voice channel's All permissions set (e764daf)
  321. - #1083: Default type readers will now be properly replaced (4bc06a0)
  322. - #1093: Fixed race condition in audio client authentication (322d46e)
  323. - #1139: Fixed consistency in exceptions (9e9a11d)
  324. - #1151: `GetReactionUsersAsync` now uses the correct pagination constant (c898325)
  325. - #1163: Reaction ratelimits are now placed in the same bucket, treated correctly (5ea1fb3)
  326. - #1186: Webhooks can now send files with embeds correctly (c1d5152)
  327. - #1192: CommandExecuted no longer fires twice for RuntimeResults (10233f3)
  328. - #1195: Channel Create audit log events properly deserialize (dca6c33)
  329. - #1202: The UDP client should no longer be used after disposed (ccb16e4)
  330. - #1203: The Audio client should no longer lock up on disconnect (2c93363)
  331. - #1209: MessageUpdated should no longer pass a null after object (91e0f03)
  332. - Ignore messages with no ID in bulk delete (676be40)
  333. - No longer attempt to load generic types as modules (b1eaa44)
  334. - No longer complain when a `PRESENCES_REPLACE` update is received (beb3d46)
  335. - CommandExecuted will be raised on async exception failures (6260749)
  336. - ExecuteResult now contains the entire exception, not an abridged message (f549da5)
  337. - CommandExecuted will no longer be raised twice for exceptions (aec7105)
  338. - The default WebSocket will now close correctly (ac389f5)
  339. ### Changed
  340. - #731: `IUserMessage#GetReactionUsersAsync` now takes an `IEmote` instead of a `string` (5d7f2fc)
  341. - #744: IAsyncEnumerable has been redesigned (5bbd9bb)
  342. - #777: `IGuild#DefaultChannel` will now resolve the first accessible channel, per changes to Discord (1ffcd4b)
  343. - #781: Attempting to add or remove a member's EveryoneRole will throw (506a6c9)
  344. - #801: `EmbedBuilder` will no longer implicitly convert to `Embed`, you must build manually (94f7dd2)
  345. - #804: Command-related tasks will have the 'async' suffix (14fbe40)
  346. - #812: The WebSocket4Net provider has been bumped to version 0.15, allowing support for .NET Standard apps (e25054b)
  347. - #829: DeleteMessagesAsync moved from IMessageChannel to ITextChannel (e00f17f)
  348. - #853: WebSocket will now use `zlib-stream` compression (759db34)
  349. - #874: The `ReadMessages` permission is moving to `ViewChannel` (edfbd05)
  350. - #877: Refactored Games into Activities (34b4e5a)
  351. - #943: Multiple types of quotation marks can now be parsed (thanks 🍎) (cee71ef)
  352. - #955: The `GameParty` model will now use long values (178ea8d)
  353. - #986: Expose the internal entity TypeReaders (660fec0)
  354. - #992: Throw an exception when trying to modify someone else's message (d50fc3b)
  355. - #998: Commands can specify their own `IgnoreExtraArgs` behavior (6d30100)
  356. - #1033: The `ReadMessages` permission bit is now named `ViewChannel` (5f084ad)
  357. - #1042: Content parameter of `SendMessageAsync` is now optional (0ba8b06)
  358. - #1057: An audio channel's `ConnectAsync` now allows users to handle the voice connection elsewhere, such as in Lavalink (890904f)
  359. - #1094: Overhauled invites, added vanity invite support (ffe994a)
  360. - #1108: Reactions now use the undocumented 1/.25 ratelimit, making them 4x faster (6b21b11)
  361. - #1128: Bot tokens will now be validated for common mishaps before use (2de6cef)
  362. - #1140: Check the invite `maxAge` parameter before making the request (649a779)
  363. - #1164: All command results will now be raised in `CommandExecuted` (10f67a8)
  364. - #1171: Clients have been changed to properly make use of `IDisposable` (7366cd4)
  365. - #1172: Invite related methods were moved from `IGuildChannel` to `INestedChannel` (a3f5e0b)
  366. - #1200: HasPrefix extensions now check for null values first (46e2674)
  367. - `IGuildChannel#Nsfw` moved to `ITextChannel`, now maps to the API property (608bc35)
  368. - Preemptive ratelimits are now logged under verbose, rather than warning. (3c1e766)
  369. - The default InviteAge when creating Invites is now 24 hours (9979a02)
  370. - All parameters to `ReplyAsync` have been made optional (b38dca7)
  371. - The socket client will now use additional fields to fill in member/guild information on messages (8fb2c71)
  372. - The Audio Client now uses Voice WS v3 (9ba38d7)
  373. ### Removed
  374. - #790: Redundant overloads for `AddField` removed from EmbedBuilder (479361b)
  375. - #925: RPC is no longer being maintained nor packaged (b30af57)
  376. - #958: Remove support for user tokens (2fd4f56)
  377. - User logins (including selfbots) are no longer supported (fc5adca)
  378. ### Misc
  379. - #786: Unit tests for the Color structure (22b969c)
  380. - #828: We now include a contributing guide (cd82a0f)
  381. - #876: We now include a standard editorconfig (5c8c784)
  382. - #963: Docs now include a release version, build instructions (88e6244)
  383. - #964: Fix documentation spelling of 'echoes' (fda19b5)
  384. - #967: Unit test permissions (63e6704)
  385. - #968: Bumped version of WebSocket4Net to 0.15.2 (8537924)
  386. - #972: Include sample bots in the source repository (217ec34)
  387. - #1046: We now support .NET Standard 2.0 (bbbac85)
  388. - #1114: Various performance optimizations (82cfdff)
  389. - #1149: The CI will now test on Ubuntu as well as Windows (674a0fc)
  390. - #1161: The entire documentation has been rewritten, all core entities were docstringed (ff0fea9)
  391. - #1175: Documentation changes in command samples (fb8dbca)
  392. - #1177: Added documentation for sharded bots (00097d3)
  393. - #1219: The project now has a logo! 🎉 (5750c3e)
  394. - This project is now licensed to the Discord.Net contributors (710e182)
  395. - Added templates for pull requests (f2ddf51)
  396. - Fixed documentation layout for the logo (bafdce4)
  397. ## [1.0.2] - 2017-09-09
  398. ### Fixed
  399. - Guilds utilizing Channel Categories will no longer crash bots on the `READY` event.
  400. ## [1.0.1] - 2017-07-05
  401. ### Fixed
  402. - #732: Fixed parameter preconditions not being loaded from class-based modules (b6dcc9e)
  403. - #726: Fixed CalculateScore throwing an ArgumentException for missing parameters (7597cf5)
  404. - EmbedBuilder URI validation should no longer throw NullReferenceExceptions in certain edge cases (d89804d)
  405. - Fixed module auto-detection for nested modules (d2afb06)
  406. ### Changed
  407. - ShardedCommandContext now inherits from SocketCommandContext (8cd99be)