Skip to content

Latest commit

 

History

History
982 lines (766 loc) · 69.6 KB

CHANGELOG.md

File metadata and controls

982 lines (766 loc) · 69.6 KB

6.5.2

02.11.2024

6.5.1

02.11.2024

6.5.0

22.10.2024

  • feature: Add new member flags. (#715) - (e10d0ffb)
  • feature: Add new fields on message snapshot. (#716) - (57dc3282)
  • bug: Fix serialization of before parameter. (#717) - (091c376f)
  • feature: Recurrence rule can be set to null when updating. (#720) - (aaef80ac)
  • feature: Add support for soundboard. (#708) - (d93aa122)
  • feature: Allow polls to be constructed in a interation response. (#719) - (db27c54d)
  • feature: Add banner property to member. (#676) - (4041b556)
  • feature: Fix user avatar decoration, add member avatar decoration. (#718) - (b8e5ba7c)
  • maintenance: Update integration_tests.yml. (527eed5a)

6.4.3

08.10.2024

  • bug: Handle missing mention_roles field in some message snapshots. (#709) - (d458d9c)

6.4.2

05.10.2024

  • bug: Prevent caches from growing forever. (#704) - (c62c23c)

6.4.1

04.10.2024

6.4.0

04.10.2024

  • feat: Add new permissions (#679) - (c91f050)
  • bug: Make webhook execute apply name/avatar when message doesn't contain any attachments (#681) - (cac408e)
  • bug: Add missing approximateUserInstallCount to Application (#683) - (3e2de40)
  • feat: Add missing audit log event types (#684) - (b1b6414)
  • feat: Add auditLogReason to followChannel (#685) - (8f7f629)
  • feat: Add recurrence rules for scheduled events (#686) - (ffc0c08)
  • bug: Add missing fields to Message (#689) - (8a469c4)
  • feat: Add type field to Invite (#688) - (e38dbf8)
  • bug: Delete any commands left over in tests (#693) - (7022767)
  • feat: Add fetch voice state endpoints (#692) - (b91d782)
  • feat: Add support for subscriptions (#690) - (8e50682)
  • feat: Add update onboarding endpoint to GuildManager (#687) - (002cdfc)
  • feat: Add application emojis (#678) - (56ec264)
  • feat: Improve cache implementation (#694) - (59c0b39)
  • bug: Don't modify Cache.keys during iteration (#698) - (8b4b451)

6.3.1

11.07.2024

  • bug: poll answer in message object throwing an error. (#673) - (0824294)

6.3.0

07.07.2024

  • feat: Add one time purchase SKUs support. (#651) - (b874066)
  • bug: Include query parameters in CDN requests. (#653) - (f2c33ce)
  • feat: Add warning logs for rate limits. (#654) - (976d290)
  • feat: Add deleteMessages parameter to Member.ban. (#656) - (55c94c3)
  • bug: Ensure client.close() cleans up all pending operations. (#655) - (e8d9d5d)
  • feat: Add polls support. (#644) - (7908853)
  • bug: Allow non-ascii characters in audit log reasons. (#659) - (27b74b5)
  • feat: Add memberUpdate automod type. (#662) - (a502121)
  • feat: Add blockMemberInteraction automod action type. (#664) - (50f3377)
  • feat: Add support for premium buttons. (#690) - (8e50682)
  • bug: Allow parsing unknown enum values. (#655) - (0a212fd)
  • bug: Fix parsing of message interaction metadata user. (#688) - (9eb5569)

6.2.1

03.04.2024

  • bug: Fix parsing integration types when they are not present. (#647) - (89068e7)

6.2.0

20.03.2024

  • feat: Add support for Group DM endpoints when using an OAuth client. (#600) - (6ed9657)
  • feat: Add support for username and avatarUrl parameters for webhooks. (#611) - (982e0d9)
  • feat: Add Spanish, LATAM locale. (#610) - (896004a)
  • bug: Fix events being dropped when plugins had async initialization. (#612) - (bb54de1)
  • bug: Return an empty list instead of throwing when fetching the permission overrides of a command that has none. (#613) - (1a4ed82)
  • feat: Add ratelimits when sending Gateway events. (#614) - (f6ef61b)
  • bug: Allow any Flags<Permissions> in RoleUpdateBuilder.permissions. (#617) - (4c7f7fa)
  • bug: Export types that were previously kept private. ([#616])(#616) - (a1b2bc6)
  • feat: Allow plugins to intercept HTTP requests and Gateway events. (#615) - (ff92f86)
  • bug: Fix MessageManager.bulkDelete not serializing the request correctly. (#618) - (797579b)
  • bug: Fix GuildDeleteEvents not being parsed when unavailable was not explicitly set. (#619) - (7ea4070)
  • bug: Correct serialization of guild builders. (#621) - (d9593c5)
  • bug: Correct value of TriggerType.spam. (#623) - (463cda9)
  • docs: Hide constructors from documentation. (#624) - (3e0ecdf)
  • bug: Fix parsing role flags in guild templates. (#625) - (495b88f)
  • bug: Fix isHoisted attribute in role builders. (#627) - (bb62547)
  • bug: Fix all audit log parameters in StickerManager, EmojiManager and WebhookManager.update (#628) - (4ece7f7)
  • bug: Fix interactionsEndpointUrl being ignored in ApplicationUpdateBuilder (#628) - (4ece7f7)
  • feat: Add more shortcut methods on models. (#628) - (4ece7f7)
  • feat: Add enforceNonce to MessageBuilder. (#631) - (7407767)
  • feat: Add missing role tags fields. (#632) - (0deacf8)
  • bug: Correct the default User-Agent header. (#633) - (a1d89ca)
  • bug: Don't require OAuth2 identify scope when using NyxxOauth2. (#634) - (408fe03)
  • feat: Add field to delete events containing the cached entity before it was deleted. (#635) - (1e8d5e5)
  • feat: Add builders for auto moderation actions. (#636) - (2e09030)
  • bug: Initialize login sooner to avoid dropping logs. (#637) - (02ee8a6)
  • feat: Add banner to UserUpdateBuilder. (#638) - (42f7bef)
  • feat: Add SkuFlags.available. (#638) - (42f7bef)
  • feat: Add bungie, domain and roblox connection types. (#639) - (70c9d04)
  • feat: Add support for user applications. (#641) - (10181ac)
  • feat: Add bulkBan to GuildManager. (#640) - (6adc5ff)

6.1.0

09.12.2023

  • feat: Add payload to EntitlementDeleteEvent. (#599) - (7a0f346)
  • feat: Add flags field to Sku. (#602) - (74bf507)
  • feat: Add support for select menu default values. (#601) - (5a833f3)
  • feat: Add GuildUpdateBuilder.safetyAlertsChannelId. (#596) - (c1eab88)
  • docs: Enable link to source in package documentation. (#607) - (57ce193)
  • feat: Add AutoMod message types. (#597) - (3ba7e7e)
  • bug: Fix ButtonBuilder serialization. (#595) - (a81ee15)
  • bug: Fix GuildUpdateBuilder not being able to unset certain settings. (#596) - (c1eab88)
  • bug: Fix incorrect PermissionOverwriteBuilder serialization when creating/updating channels. (#596) - (c1eab88)
  • bug: Fix GuildManager.listBans ignoring the provided parameters. (#598) - (d04db1a)
  • bug: Correctly export Credentials from package:oauth2 for OAuth2 support. (#604) - (f23cfd2)
  • bug: Fix members in message interactions not having their guild set. (#603) - (c12ba89)

6.0.3

26.11.2023

  • bug: Fix incorrect serialization of autocompletion interaction responses (again). (#591) - (573c9bc)
  • bug: Try to fix invalid sessions triggered by Gateway reconnects. (#592) - (46f128c)

6.0.2

16.11.2023

  • bug: Fix incorrect assertions in interaction.respond. (#584) - (f7abb73)
  • bug: Fix incorrect serialization of autocompletion interaction responses. (#585) - (55a8c76)

6.0.1

01.11.2023

  • bug: Fix incorrect serialization of CommandOptionBuilder. (#571) - (9728833)
  • bug: Fix customId missing from ButtonBuilder constructor. (#570) - (31ab26d)
  • bug: Fix voice states not being cached correctly. (#575) - (758648c)
  • bug: Fix incorrect parsing of scheduled events. (#576) - (a78b1f8)
  • bug: Fix ephemeral parameter not working when responding to message component interactions. (#577) - (2afc142)
  • bug: Fix parsing button labels when they are not set. (#578) - (1919613)
  • bug: Fix incorrect serialization of TextInputBuilder. (#579) - (08a14be)
  • bug: Fix some entities not being cached. (#580) - (ab35012)
  • bug: Fix entities getting "stuck" in cache due to momentary high use. (#580) - (ab35012)
  • feat: Add more places entities can be cached from. (#580) - (ab35012)

6.0.0

16.10.2023

Changes since 6.0.0-dev.3

  • bug: Fix ModalBuilder having the incorrect data type. (#535) - (d130e4c)
  • feat: Add the new state field to ActivityBuilder. (#556) - (3630696)
  • bug: Fix activities not being sent in the presence update payload. (#557) - (650ee17)
  • bug: Fix casts when parsing Snowflakes triggering errors when using ETF. (#559) - (3402435)
  • bug: Fix incorrect payload preventing the client from muting/deafening itself. (#561) - (c31514b)
  • bug: Correctly export NyxxPluginState. (#561) - (c31514b)
  • feat: Implement all new features since the start of the rewrite (including premium subscriptions). (#562) - (141e444)
  • bug: Fix incorrect parsing of MessageUpdateEvents. (#564) - (17dfca5)
  • feat: Add logger to plugins and make name inferred from runtimeType by default. (#565) - (32507f3)

6.0.0-dev.3

16.09.2023

  • rewrite: Interaction responses now throw errors instead of using assertions. (#529) - (0108748)
  • rewrite: Improved plugin interface with support for plugin state and a simpler API. (#545) - (e2cd7b4)
  • feat: Added constructors to most builders with multiple configurations. (#531) - (d5fd47d)
  • feat: Added support for authenticating via OAuth2. (0a41de7)
  • feat: Added HttpHandler.onRateLimit for tracking client rate limiting. (#532) - (76209f8)
  • feat: Parse emoji in reaction events. (#533) - (9d79001)
  • feat: Allow specifying stdout and stderr in Logging. (#549) - (cf5c17d)
  • feat: Add NyxxRest.user to get the current user. (#551) - (18bafed)
  • feat: Attachment now implements CdnAsset for easier fetching. (#547) - (e1d7679)
  • bug: Fixed emoji in SelectMenuBuilder not being sent correctly. (#528) - (e4f62ab)
  • bug: Fixed parsing members in interaction data. -
  • bug: DiscordColor did not allow a value of 0xffffff (white). (#550) - (e30a8ea)
  • bug: Fixed parsing role mentions as role objects in messages. (#552) - (7410c78)

6.0.0-dev.2

24.08.2023

  • rewrite: Changed MessageBuilder.embeds and MessageUpdateBuilder.embeds to use a new EmbedBuilder instead of Embed objects. (#525) - (28e6ab1)
  • rewrite: Changed all builders to be mutable. (#524) - (7b414b8)
  • rewrite: Implement the interactions & message components API. (#694) - (59c0b39)
  • rewrite: ActivityBuilder is now exported. (#513) - (8989abc)
  • rewrite: Fixed some typos: ChannelManager.parseForumChanel -> ChannelManager.parseForumChannel and chanel -> channel in the docs for VoiceChannel.videoQualityMode. (#514) - (1533c76)
  • rewrite: Added wrappers around CDN endpoints and assets. (#511) - (05c021c)
  • feat: Added Permissions.allPermissions, the set of permission flags with all permissions. (#522) - (b4ea059)
  • feat: Added HttpHandler.latency, HttpHandler.realLatency, Gateway.latency and Shard.latency for tracking the client's latency. (#517) - (fd56dbc)
  • feat: Flags now has the ~ and the ^ operators. (#510) - (ebbf2a9)
  • feat: Added HttpHandler.onRequest and HttpHandler.onResponse streams for tracking HTTP requests and responses. (#507) - (f83aa06)
  • bug: Fixed MessageUpdateEvents causing a parsing error. (#521) - (bce7eaa)
  • bug: Fixed classes creating uncaught async errors when toString() was invoked on them. (#520) - (4ad3c76)
  • bug: Empty caches are no longer stored. (#518) - (0e96354)
  • bug: Fixed stickers causing a parsing error. (#509) - (6ebc790)
  • bug: Fixed rate limits not applying correctly when multiple requests were queued. (#507) - (f83aa06)
  • bug: Fixed applyGlobalRatelimit in HttpRequest not doing anything. (#507) - (f83aa06)

6.0.0-dev.1

03.07.2023

  • rewrite: The entire library has been rewritten from the ground up. No pre-6.0.0-dev.1 code is compatible. - Join our Discord server for updates concerning the migration path and help upgrading. For now, check out the new examples and play around with the rewrite to get a feel for it.

5.1.1

11.08.2023

  • bug: Error on ThreadMemberUpdateEvent due invalid event deserialization. (c7d1fa5)

5.1.0

16.06.2023

  • feature: Support the new unique username system with global display names. (#497) - (9e7b2e8)
  • bug: remove the ! in the mention string as it has been deprecated. (#497) - (9e7b2e8)

5.0.4

04.06.2023

  • bug: Fix invalid casts.

5.0.3

11.04.2023

  • bug: Always initialize guild caches. (b982753)

5.0.2

08.04.2023

  • bug: TextChannelBuilder and VoiceChannel builder had rateLimitPerUser and videoQualityMode swapped
  • documentation: Guild members (#470) - (e165414)

5.0.1

18.03.2023

  • documentation: Channel invites (#448) - (f54390d)
  • bug: Correctly dispose all resources on bot stop (#451) - (3d79b2b)

4.5.1

19.03.2023

  • bug: Correctly dispose all resources on bot stop (#451) - (3d79b2b)

5.0.0

04.03.2023

  • feature: Add named arguments anywhere we can (#396) - (3ec4562)
  • feature: Make CDN urls more reliable (#373) - (1f68eeb)
  • feature: Dispatch raw events (#447) - (d9b373a)
  • feature: Implement missing thread features (#433) - (cdb95a7)
  • feature: Add avatar decorations to cdn endpoints (#410) - (e9256a4)

4.5.0

18.02.2023

  • feature: New message types (#431) - (3e7d33a)
  • feature: Thread members details (#432) - (8377c8a)
  • feature: Implement guild active threads endpoint (#434) - (ee5f7f2)
  • feature: Implement missing forum features (#433) - (cdb95a7)
  • feature: ETF Encoding (#420) - (c7d3816)
  • feature: ETF encoding stability and payload compression (#421) - (440b6cd)
  • feature: Implement @silent messages (#442) - (44b172d)
  • feature: Implement newly created and member fields in thread create event (#441) - (10c36c5)
  • feature: Add flags property to member (#437) - (1da4c0d)
  • feature: Audit log create event (#436) - (b55e85d)
  • bug: hasMore is optional for guild.fetchActiveThreads() (#443) - (8895684)
  • bug: Mirror fix #352 to multipart request (#445) - (7121638)
  • bug: bug: Fix forum channel available tags deserialization
  • bug: Fix update member roles equality (#438) - (01f29c7)
  • documentation: Fix comments and nullability in examples (#416) - (24a85ec)
  • documentation: Add message intent to readme (#428) - (e3a6730)

5.0.0-dev.2

26.01.2023

  • sync with dev branch (up to 4.5.0-dev.0) -

4.5.0-dev.0

26.01.2023

  • feature: New message types (#431) - (3e7d33a)
  • feature: Thread members details (#432) - (8377c8a)
  • feature: Implement guild active threads endpoint (#434) - (ee5f7f2)
  • feature: Implement missing forum features (#433) - (cdb95a7)
  • feature: ETF Encoding (#420) - (c7d3816)
  • feature: ETF encoding stability and payload compression (#421) - (440b6cd)
  • documentation: Fix comments and nullability in examples (#416) - (24a85ec)
  • documentation: Add message intent to readme (#428) - (e3a6730)

4.4.1

22.01.2023

4.4.0

12.12.2022

  • feature: Improve error handling and logging (#403) - (8b7e67b)
  • bug: Fix build() for GuildEventBuilder
  • bug: Update exports

4.4.0-dev.0

20.11.2022

  • feature: Improve error handling and logging (#403) - (8b7e67b)

4.3.0

19.11.2022

  • feature: Add retry with backoff to network operations (gateway and http) (#395) - (0c666f1)
  • feature: automoderation regexes (#393) - (6f27937)
  • feature: add support for interaction webhooks (#397) - (a255e3a)
  • feature: Forward RetryOptions (#402) - (fb6a902)
  • bug: Fixed bug when getting IInviteWithMeta -
  • bug: Emit bot start to plugins only when ready (#392) - (8b47436)
  • bug: fix builder not building when editing a guild member (#405) - (ffbfadf)

5.0.0-dev.1

15.11.2022

  • feature: Add named arguments anywhere we can (#396) - (3ec4562)

This version also includes fixes from 4.2.1

4.3.0-dev.1

15.11.2022

  • feature: add support for interaction webhooks (#397) - (a255e3a)

This version also includes fixes from 4.2.1

4.2.1

15.11.2022

  • hotfix: fix component deserialization failing when customId is null

4.3.0-dev.0

14.11.2022

  • feature: Add retry with backoff to network operations (gateway and http) (#395) - (0c666f1)
  • feature: automoderation regexes (#393) - (6f27937)
  • bug: Emit bot start to plugins only when ready (#392) - (8b47436)

4.2.0

13.11.2022

  • feature: missing forum channel features (#433) - (cdb95a7)
  • feature: Add activeDeveloper flag (#388) - (d6f692e)
  • feature: Add support for new select menus components feature: Prefer using throw over returning Future.error -
  • bug: Fix null-assert error on shard disposal; don't reconnect shard after disposing (#386) - (ac38200)
  • bug: Cache user when fetching (#384) - (2bca86e)
  • bug: add message content to client (#389) - (6cb667a)

4.2.0-dev.0

11.11.2022

4.1.3

01.11.2022

  • bug: Combine decompressed gateway payloads before parsing them

4.1.2

30.10.2022

  • bug: Correctly emit connected event in ShardManager (#381) - (95b7179)

4.1.1

23.10.2022

  • bug: Fix deserialize the emoji id of the forum tag (#378) - (9a5df7b)

4.1.0

25.09.2022

  • feature: Add invitesDisabled feature (#370) - (93140c0)
  • feature: Add pending for member screening (#371) - (ef9adef)
  • feature: member screening events (#372) - (5a5af0e)
  • feature: Cache guild events (#369) - (b5cdb98)
  • feature: Refactor internal shard system (#368) - (6ea3bcf)
  • feature: Event to notify change of connection status (#364) - (e3a35ff)
  • feature: feature: auto moderation (#393) - (6f27937)
  • bug: Fixup shard disconnect event

5.0.0-dev.0

20.09.2022

  • refactor: Make CDN urls more reliable (#373) - (1f68eeb)

4.1.0-dev.4

15.09.2022

  • feature: Add invitesDisabled feature (#370) - (93140c0)
  • feature: Add pending for member screening (#371) - (ef9adef)
  • feature: member screening events (#372) - (5a5af0e)

4.1.0-dev.3

03.09.2022

4.1.0-dev.2

28.08.2022

  • bug: Fixup shard disconnect event

4.1.0-dev.1

28.08.2022

  • feature: Refactor internal shard system (#368) - (6ea3bcf)
  • feature: Event to notify change of connection status (#364) - (e3a35ff)

4.1.0-dev.0

20.08.2022

4.0.0

29.07.2022

  • breaking: Fix typo in IHttpResponseSucess
  • breaking: Remove threeDayThreadArchive and sevenDayThreadArchive guild features
  • breaking: Remove all deprecated members -
  • bug: Fix ratelimiting
    • breaking: All calls to the API are now made via IHttpRoutes instead of Strings.
    • Construct routes by creating an IHttpRoute() and adding HttpRouteParts or by calling the helper methods on the route.
  • feature: Move to Gateway & API v10 (#325) - (c134c64)
    • Added the Message Content privileged intent
  • feature: Add guild Audit Log options
  • feature: Implement forum channels (#332) - (4f58d70)
  • feature: Implement guild Welcome Screen & Channel
  • feature: Add missing Audit log types
  • feature: Implement guild Banners
  • feature: Implement partial presences
  • feature: Add missing guild properties
  • feature: Add missing reaction endpoints
  • feature: Handle websocket disconnections
  • feature: Implement clean client shutdown
  • feature: Add limitLength to MessageBuilder (#356) - (763b054)
  • feature: Add paginated bans (#326) - (6ebe590)
  • feature: Remove dollar prefix for identify payload (#361) - (362adcb)
  • bug: Fix mention string, and use a better approach to retrieve everyone role -
  • bug: Fix incorrect guild URLs
  • bug: Fix incorrect file encoding
  • bug: Fix member editing
  • bug: Fix serialization issues (#351) - (405cffb)
  • bug: Fix uninitialized fields

4.0.0-dev.2

12.06.2022

  • feature: Add missing emoji endpoints (#346) - (b9afdeb)
  • feature: Add threadName on IWebhook#execute() (#348) - (cfc7820)
  • feature: Implement graceful shutdown (#347) - (6444aae)
  • feature: Implement forum channels (#332) - (4f58d70)
  • feature: Implement Dynamic Bucket Rate Limits (#316) - (866fa57)
  • feature: Implement paginated bans (#326) - (6ebe590)
  • feature: Implement missing guild properties
  • bug: Fixed disconnecting user from voice
  • bug: failed to edit guild members (#328) - (e242892)
  • bug: Invalid serialization of query params (#352) - (ed867d6)
  • bug: Fix some serialization bugs (#351) - (405cffb)

4.0.0-dev.1

09.05.2022

  • feature: Handle no internet on websocket
  • bug: Remove Error form IHttpResponseError (#324) - (fc438e4)
    • Fixup field names on IHttpResponseError
    • Fixup IHttpResponseSuccess name
  • feature: Move to API v10 (#325) - (c134c64)

4.0.0-dev.0

31.03.2022

  • feature: Fix target id property and add guild audit logs options (#307) - (5683012)

3.4.2

22.04.2022

  • bug: Fix setting channel to null in MemberBuilder causing errors

3.4.1

10.04.2022

  • bug: bugfix: failed to edit guild members

3.4.0

09.04.2022

  • feature: Add @bannerUrl() method
  • feature: Implement paginated bans

3.3.1

30.03.2022

  • bug: Fix member not being initialized in IMessage

3.3.0

15.03.2022

  • feature: Guild emoji improvements
    • Added missing properties on IBaseGuildEmoji.
    • Partial emoji can be now resolved to it's full instance with resolve() method
    • Author of emoji can be now resolved with fetchCreator()
  • feature: Allow editing messages to remove content
  • feature: Add previous state to *UpdateEvents
  • bug: fix: initialize name and format values for PartialSticker
  • bug: Make IHttpResponseError subclass Exception
  • bug: Update documentation

3.3.0-dev.1

05.03.2022

  • feature: Guild emoji improvements
    • Added missing properties on IBaseGuildEmoji.
    • Partial emoji can be now resolved to it's full instance with resolve() method
    • Author of emoji can be now resolved with fetchCreator()
  • bug: Make IHttpResponseError subclass Exception
  • bug: Update documentation

3.3.0-dev.0

08.02.2022

  • feature: Implement TextInput component type

3.2.7

08.02.2022

  • bugfix: Remove noop constructor parameters. Deprecate old parameters on INyxxFactory

3.2.6

01.02.2022

  • bugfix: Fix permission serialisation

3.2.5

30.01.2022

  • bugfix: Serialization error with permissions on ChannelBuilder. Fixes #294
  • bugfix: Fix MemberBuilder serialization json error

3.2.4

23.01.2022

  • bugfix: Properly serialize member edit payload. Fixes #291
  • bugfix: Improve shard searching mechanism. Fixes #290
  • bugfix: Fix message deserialization bug with roleMentions. Fixes #289

3.2.3

10.01.2022

  • Fixup invalid formatting of emoji in BaseGuildEmoji.formatForMessage

3.2.2

08.01.2022

  • Fix message edit behavior
  • Fix addEmbed behavior on message builder

3.2.1

01.01.2022

  • Fixup bug with deserialization of new field on voice guild channel introduced in previous release

3.2.0

31.12.2021

  • Add missing ActivityTypes
  • Fix deserialization of presence update event
  • Implement voice channel region

3.1.1

29.12.2021

  • Correctly expose builder parameter in IMember#edit

3.1.0

28.12.2021

  • Implement patches needed for external sharding feature
  • Implement boost progress bar
  • Implement timeouts
    • deprecation of edit method parameters in favor of MemberBuilder class. In next major release all parameters except builder and auditReason will be removed
  • Fix incorrectly initialised onDmReceived and onSelfMention streams

3.0.1

21.12.2021

  • Fix CliItegration plugin not working with IgnoreExceptions
  • Use logger instead of print
  • Fix typo in file name
  • Nullable close code
  • Missing ActivityBuilder

3.0.0

19.12.2021

  • Implemented new interface-based entity model.

    All concrete implementations of entities are now hidden behind interfaces which exports only behavior which is intended for end developer usage. For example: User is now not exported and its interface IUser is available for developers. This change shouldn't have impact of end developers.

  • Implemented basic plugin system for reusable framework plugins (Currently available plugins: Logging, CliIntegration, IgnoreExceptions)

    INyxx now implements IPluginManager inteface which allows registering plugin via registerPlugin. Developers can create their own plugins which can access various hooks inside INyxx instance. For now plugins system allows hooking up to onRegister, onBotStart and onBotStop.

  • Improved cache system. Cache abstractions provided by nyxx are now compatible with MapMixin<Snowflake, T>

    SnowflakeCache now implements MapMixin<Snowflake, T> and is compatibile with Map

  • Allowed running bot as REST only. It enables extensions that only require nyxx entities and http capabilities.

    Internals of nyxx were rewritten to allow running entirely in REST mode without websocket connection. Previously similar behavior was available but wasn't working as intended.

  • Implemented ITextVoiceTextChannel.

    Discords beta feature chat in voice channels was implemented in form of ITextVoiceTextChannel interface

  • Added support for Guild Scheduled Events
  • Do not send auth header when it's not needed
  • Added support for Dart 2.15
  • Fixup message update payload deserialization
  • Implement multiple files uploads. Fixes #226
  • Implement missing webhook endpoints. Fixes #235
  • Implement get thread member endpoint; Fixes #234
  • Implement edit thread channel functionality; Fixes #247
  • Fix few message update event deserialization bugs
  • Fix TODOs and all analyzer issues

Other changes are initial implementation of unit and integration tests to assure correct behavior of internal framework processes. Also added Makefile with common commands that are run during development.

3.0.0-dev.2

02.12.2021

  • Fixup message update payload deserialization

3.0.0-dev.1

02.12.2021

  • Implement multiple files uploads. Fixes #226
  • Implement missing webhook endpoints. Fixes #235
  • Implement get thread member endpoint; Fixes #234
  • Implement edit thread channel functionality; Fixes #247
  • Fix few message update event deserialization bugs
  • Fix TODOs and all analyzer issues

3.0.0-dev.0

24.11.2021

  • Implemented new interface-based entity model.

    All concrete implementations of entities are now hidden behind interfaces which exports only behavior which is intended for end developer usage. For example: User is now not exported and its interface IUser is available for developers. This change shouldn't have impact of end developers.

  • Implemented basic plugin system for reusable framework plugins (Currently available plugins: Logging, CliIntegration, IgnoreExceptions)

    INyxx now implements IPluginManager inteface which allows registering plugin via registerPlugin. Developers can create their own plugins which can access various hooks inside INyxx instance. For now plugins system allows hooking up to onRegister, onBotStart and onBotStop.

  • Improved cache system. Cache abstractions provided by nyxx are now compatible with MapMixin<Snowflake, T>

    SnowflakeCache now implements MapMixin<Snowflake, T> and is compatibile with Map

  • Allowed running bot as REST only. It enables extensions that only require nyxx entities and http capabilities.

    Internals of nyxx were rewritten to allow running entirely in REST mode without websocket connection. Previously similar behavior was available but wasn't working as intended.

  • Implemented ITextVoiceTextChannel.

    Discords beta feature chat in voice channels was implemented in form of ITextVoiceTextChannel interface

  • Do not send auth header when it's not needed
  • Added support for Dart 2.15

Other changes are initial implementation of unit and integration tests to assure correct behavior of internal framework processes. Also added Makefile with common commands that are run during development.

2.1.1

02.11.2021

  • Fix #236
  • Fix #237

2.1.0

22.10.2021

  • Add pending to member
  • use case-insensitive name comparison in _registerCommandHandlers

2.0.5

15.10.2021

  • Move to Apache 2 license

2.0.4

09.10_2021

  • Fix #215 - invalid application url was generated with zero permissions (592c4dcc)

2.0.3

04.10.2021

  • Fix #214 - Invalid date in embed timestamp (07d855f1)

2.0.2

03.10.2021

  • fix deserialization of autocomplete interaction

2.0.1

03.10.2021

  • Fix editMember function declaration

2.0.0

03.10.2021

Second major stable version of nyxx. Since 1.0 changed a lot - internal are completely rewritten, bots should work faster and more stable and reliable

  • Implemented message components
  • Reworked rate limits implementation
  • Reworked sharding
  • Reworked http internals. Now all raw api calls are accessible.
  • Rework entity structure allowing more flexibility and partial instantiating
  • Slash commands implementation

2.0.0-rc.3

25.04.2021

Release Candidate 2 for stable version. Requires dart sdk 2.12

  • Removed w_transport and replaced it with http package for http module and websockets from dart:io (18d0163, 5644937, 9b863a4, 06482f9)
  • Fix replacing embed field. Order of fields is now preserved (f667c2a)
  • Dart2native support (1c6a4f3)
  • Rewrite of internal object structure (ff8953d)
  • Expose raw api call api (f297cc0)
  • Add support for gateway transport compression (fd090dd)
  • Moved to v8 on REST and gateway (423173d)
  • Intents value is now required and added to Nyxx constructor (2b3e002)
  • Added ability to configure cache (163eca9)
  • Implemented stickers (16f2b79)
  • Implemented inline replies (e412ec9)
  • Added raw shard event stream (627f4a0)
  • Fix message reaction events were not triggered when cache misses message (fedbd88)
  • New utils related to slash commands (8e46b71) @HarryET
  • Fixed bug where message with only files cannot be sent (1092624)
  • Fixed setPresence method (fbb9c39) @One-Nub
  • Added missing delete() method to IChannel (131ecc0)
  • Added support for stage channels
  • Added cache options for user

1.0.2

08.09.2020

  • Fix guild embed channel deserialization
  • Fix store and news channel deserialization

1.0.1

29.08.2020

  • Fix voice state cache being not initialized properly.

1.0.0

24.08.2020

Stable release - breaks with previous versions - this version required Dart 2.9 stable and non-nullable experiment to be enabled to function

1.0.0 drops support for browser. Nyxx will now run only on VM

  • nyxx package contains only basic functionality - everything else is getting own package
    • main lib package
      • Fixed errors and exceptions to be more self-explanatory
      • Added new and fixed old examples. Added additional documentation, fixed code to be more idiomatic
      • Logger fixes. User is now able to use their logger implementation. Or disable logging whatsover
      • New internal http submodule - errors got from discord are always returned to end user. Improved ratelimits and errors hadling
      • Now initial presence can be specified
      • Added support for conneting to voice channel. No audio support by now tho
      • Cache no longer needed for bot to function properly
        • There is now difference between cached and uncached objects
        • Events will provide objects if cache but also raw data received from websocket (etc. snowflakes)
        • Better cache handling with better events performance
      • Implemented missing API features
      • Added support for sharding. Bot now spawn isolate per shard to handle incoming data
      • Fixed websocket connectin issues. Now lib should reliably react to websocket errors
      • Added MemberChunkEvent to client. Invoked when event is received on websocket.
      • Lib will try to properly close ws connections when process receives SIGTERM OR SIGINT.
      • Added support to shutdown hooks. Code in these hooks will be run before disposing and closed shards and/or client
      • Fixed and moved around docs
      • New internal structure of lib
      • Added extensions for String and int for more convenient way to convert them to Snowflake
      • Added support for gateway intents
      • Snowflake objects are now ints
      • Implemented member search endpoints for websocket and API
      • Added missing wrappers for data from discord
      • == operator fixes for objects

Tue 07.02.2019

This version drops support for Dart SDK 1.x; Nyxx now only supports Dart 2.0+ including dev sdk.

Changelog can be incomplete - it's hard to track changes across few months

  • Features added
    • SUPPORT FOR DART 2.0+
    • ADDED SUPPORT FOR VOICE via Lavalink
    • PERMISSIONS OVERHAUL
      • Proper permissions handling
    • COMMANDS FRAMEWORK REWRITTEN
      • Dispatch pipe is completely rewritten. Bot should operate about 2-8x faster
      • Allowed to declare single method commands without using classes
      • Added support for specify custom restrictions to commands handlers
      • Classes now have to be annotated with Module instead of Command
      • Remainder can now called data to List<String> or String
      • Added Preprocessor and Posprocessor
      • Removed help system
    • COMMANDS PARSER
      • Allows to define simple commands handlers
    • Nyxx can be now used in browser
    • Many additions to Member and User classes
    • Changed internal library structure
    • Implemented Iterable for Channel to query messages
    • Added typing event per channel
    • Using v7 api endpoint
    • Added support for zlib compressed gateway payload
    • Added endpoints for Guild, Emoji, Role, Member
    • Added utils module
    • Allowed to download attachments. (Downloadable interface)
    • Implemented new Discord features (Priority speaker, Slowmode)
    • Added DiscordColor class
    • Added Binder util
    • Added Cache
    • Added MessageBuilder
    • Added interfaces Downloadable, Mentionable, Debugable, Disposable, GuildEntity
  • Bug fixes
    • Lowered memory usage
    • Websocket fixed
    • Fixed Emojis comparing
    • Fixed searching in Emojis unicode
    • Code cleanup and style fixes
    • Proper error handling for CommandsFramework
    • Gateway fixes
    • Object deserializing fixes
    • Memory and performance improvements
    • Random null exceptions
    • Emojis CDN fixes
    • Few fixes for ratelimitter
  • Changes
    • Docs are rewritten
    • Faster deserialization
    • Embed builders rewritten
    • Removed autosharding.
    • Every object which has id is now subclass of SnowflakeEntity.
    • Snowflakes are default id entities
    • Internal nyxx API changes
    • Cooldown cache rewritten
    • Presence sending fixes
    • Title is not required for EmbedBuilder
    • Removed unnecessary dependencies

Tue 03.08.2018

  • Changes

    • nyxx now supports Dart 2.0
    • Added Interactivity module
    • Added few methods to CommandContext
    • Rewritten CooldownCache
  • Bug fixes

    • Fixed Command help generating error
    • Fixed Emojis equals operator

Tue 31.07.2018

  • Bug fixes
    • Fixed MessageDeleteEvent deserializing error
    • Fixed checking for channel nsfw for CommandsFramework

Mon 30.07.2018

  • New features
    • Support for services - DEPENDENCY INJECTION
    • Support for type parsing
    • Logging support
    • Listener for messages for channel
    • Automatic registering Services and Commands
    • Remainder annotation which captures all remaining text
    • Permissions are now READ/WRITE - added PermissionsBuilder
    • Checking for topics and if channel is nsfw for commands
  • Bug fixes
    • Fixed error throwing
    • Text in quotes is one String
    • Fixed StreamControllers to be broadcast
    • Removed unnecessary fields from DMChannel and GroupDMChannel
    • Big performance improvement of CommandFramework
    • Fixed Permissions opcode
    • delay() changed to nextMessage()
  • Deprecations
    • Deprecated browser target
    • Removed MirrorsCommandFramework and InstanceCommandFramework

Wed 11.07.2018

  • Bug fixes
    • Fixed bug with sending Emoji. toString() now return proper representation ready to send via message
  • New features
    • Searching in EmojisUnicode is now handled by future.
    • toString() in User, Channel, Role now returns mention instead of content, name etc.

Wed 11.07.2018

  • Bug fixes
    • Next serialization bug fixes
  • New features
    • Added support for audit logs
    • Searching in EmojisUnicode based on shortcode

Fri 09.07.2018

  • Bug fixes
    • Fixed embed serialization

Fri 09.07.2018

  • Bug fixes
    • Fixed embed serialization

Fri 08.07.2018

  • Bug fixes
    • Fixed embed serialization
  • Added few Docs

Fri 06.07.2018

  • Bug fixes
    • Added overrides
    • Implemented hashCode
    • Fixed return type for delay() in Command class

Fri 06.07.2018

  • Bug fixes
    • Fixed constructors in MessageChannel and TextChannel

Fri 06.07.2018

  • New features
    • Support for sending files, attaching files in embed
    • Added missing gateway events
    • Replaced String ids with Snowflake type
  • Bug fixes