Skip to content

Releases: projectdysnomia/dysnomia

v0.2.2

12 Jan 14:50
dbb35c9
Compare
Choose a tag to compare

What's Changed

  • fix(GuildScheduledEvent): recurrence rules may be nullable by @TTtie in #187
  • fix(Message): fix message with snapshot construction in known guild by @Snazzah in #188
  • feat: support multiple subscription tiers by @TTtie in #189

Full Changelog: v0.2.1...v0.2.2

v0.2.1

19 Nov 20:18
c09c165
Compare
Choose a tag to compare

Fixes Message object construction with interaction_metadata being passed resulting in an error. Marked as a hotfix release due to such messages being returned via Interaction#createMessage resulting in errorneous promise rejections.

v0.2.0

18 Nov 22:16
710917b
Compare
Choose a tag to compare

Breaking changes

  • APIs deprecated in v0.1.0 have been removed
  • Node.js v18 and later is required to install v0.2.0 and newer
  • tweetnacl cannot be used with Dysnomia any longer due to missing support for new voice encryption modes. To continue using voice:
    • Install sodium-native (native libsodium bindings): npm install sodium-native
    • If it is not possible to use native libraries, install StableLib: npm install @stablelib/xchacha20poly1305@^1.0.0
      • Using version 2 and newer versions of @stablelib/xchacha20poly1305 is not supported due to the newer packages using ESM.

New features

  • Bulk member banning (#130)
  • Super reactions (#107)
  • Polls (#139)
  • Application-level emoji (#145)
  • Message forwarding (#144)
  • App monetization (#114, #176)
  • User installable apps (#129)
  • Soundboard (#172)
  • Support for voice gateway v8 and new encryption modes (#156)
  • Entry point commands (#162)
  • Voice channel effect send and voice user connect events (#161, #165)
  • withResponse support for createInteractionResponse (#167)
  • Interaction#createMessage and Interaction#editParent are now guaranteed to return a Message object (#167)
  • messageUpdate event now always emits full Messages (#154)
  • Avatar decorations (#68)
  • The current application may now be updated (#118)
  • Support for message nonces (#128)
  • Webhooks may now delete their messages in threads (#141)
  • Voice state updates now update the member object (#131)
  • Support for various new properties in the API and constant updates (#106, #110, #117, #124, #126, #135, #136, #137, #133, #138, #151, #159, #171, #174, #175)

Bug fixes

  • The nsfw property in Text/VoiceChannel has been brought back (#112)
  • Client#editGuildWidget endpoint URL has been corrected (#119)
  • getAllUsers and resume compression works again (#121)
  • The debug message when ratelimit headers are missing has been corrected (#146)
  • VoiceState#requestToSpeakTimestamp is now correctly null instead of being NaN (#150)
  • Constants.UserFlags.HYPESQUAD_ONLINE_HOUSE_1 name has been corrected (#152)
  • Request-level errors are now correctly parsed (#163)
  • Client#editGuildScheduledEvent correctly returns a GuildScheduledEvent object (#166)
  • Interaction construction from an uncached guild won't fail because of missing member ID (#181)

Deprecations

  • Channel#client is going to become private in the next release - use your own client reference instead (#58)
  • Client#getNitroStickerPacks has been renamed to Client#getStickerPacks (#109)
  • PrivateChannel#recipient has been migrated to a collection (#129) - this has been done to accomodate for the resurrection of GroupChannel

Documentation and typings

  • SelectMenu type now allows for default values forautomatically populated menus (#111)
  • OAuthApplicationInfo has been updated to include new properties (#153, #177)
  • Inline @props were migrated to class members (#113)

Other changes

  • Using voice in browser-like runtimes now triggers a runtime warning instead of being blocked outright (#108)
    • Using voice in non-Node runtimes is not officially supported. Proceed at your own caution.
  • Peer dependency syntax for erlpack has been corrected (#157)

Full Changelog: v0.1.3...v0.2.0

v0.1.3

22 Aug 18:36
27adb96
Compare
Choose a tag to compare

New features

  • Unique username system support (#70)
  • Additional headers and HTTP server port can now be specified in REST options (#78, #79)
  • The onboarding object can now be updated (#69)
  • Attachment and role flags (#85, #86)
  • Uncached messageReactionAdd events may now include data about the author of the message (#87)
  • Support for /applications/@me endpoint (#90)
  • Support for withCounts in Client#getRESTGuilds() (#88)
  • Support for defaultForumLayout in Client#createChannel() (#84)
  • Support for media channels (#96)
  • Document being able to set activity state (#101)
  • New permission constants (#76)

Performance improvements

  • The update() method is now called only once in classes inheriting from Channel and User (#91)

Bug fixes

  • AnyInteractionGateway type now includes ModalSubmitInteraction (#97)
  • Constants.REST_VERSION and Constants.GATEWAY_VERSION have been corrected in the typings (#98)
  • Attachment command options are now allowed in TypeScript (#92)

Full Changelog: v0.1.2...v0.1.3

v0.1.2

25 May 20:22
a73f8fd
Compare
Choose a tag to compare

New features

  • Voice messages (#67)
  • Onboarding (read only) (#65)
  • Support for new permission bits (#60) and application flags (#59)

    Note
    Both manageEmojisAndStickers and manageGuildExpressions permissions are supported in v0.1.x releases. manageEmojisAndStickers is going to be deprecated starting with v0.2.0.

  • Support Guild#maxStageVideoChannelUsers (#61)
  • Join raid protection support (#71)

Future-proofing

  • Interactions now use the channel field to identify the channel the interaction originated in (#63)

Full Changelog: v0.1.1...v0.1.2

v0.1.1

30 Mar 18:29
Compare
Choose a tag to compare

Upstream backports

Bug fixes

  • Updates to PrivateThreadChannels are now correctly propagated (#54)

Future-proofing

  • The base Interaction class is going to be emitted if the type is unknown (#43)

Full Changelog: v0.1.0...v0.1.1

v0.1.0

04 Mar 14:57
f38bdb9
Compare
Choose a tag to compare

Additions/removals from Eris PRs

Additions

  • Entity select types (#4)
  • Modernized file uploading (#5)
  • Support for new trigger metadata (#9, #34)

    Warning
    Compared to other Eris forks, camel-cased trigger metadata properties are deprecated. Use snake_case instead.

  • ACTIVE_DEVELOPER user flag (#10, #23)
  • Forum channel support (#1, #14)
  • Consistent casing of Attachment#proxyURL (#11)
  • Guild#events is now populated on guildCreate (#12)
  • Support for new message types (#22)
  • GIF sticker format support (#24)
  • Thread member pagination support (#25)
  • Role subscriptions (#21)
  • threadID in editWebhookMessage (#28)

Removals/deprecations

  • Removed what was marked as deprecated after merging PRs from the Eris tree.
  • Any undocumented features and constants were marked as deprecated.
  • Guild#fetchAllMembers is deprecated in favor of Guild#fetchMembers
  • The file parameter/option in functions that take message attachments is deprecated in favor of the attachments option
  • createThreadWithoutMessage() is deprecated in favor of createThread()
  • Creation of a Client by calling the default package export is deprecated
  • Discovery-related methods are deprecated
  • getInvite() options have been merged into an object – passing options as parameters is deprecated
  • CommandClient is deprecated – use slash commands instead
  • Camel-cased auto moderation trigger metadata properties are deprecated – use snake_case instead

Full list of differences from Eris tree

  • Calling the package export directly is deprecated
  • Deprecated CommandClient; use a slash command framework instead
  • Support for gateway resume URL
  • Support for following gateway events:
    • autoModerationActionExecution(Guild, Object)
    • autoModerationRuleCreate(Guild, AutoModerationRule)
    • autoModerationRuleDelete(Guild, AutoModerationRule)
    • autoModerationRuleUpdate(Guild, AutoModerationRule | null, AutoModerationRule)
    • guildIntegrationsUpdate(Guild)
    • applicationCommandPermissionsUpdate(Object)
    • guildAuditLogEntryCreate(Guild, GuildAuditLogEntry)
    • integrationCreate(Guild, GuildIntegration)
    • integrationUpdate(Guild, GuildIntegration)
    • integrationDelete(Guild, Object)
  • Old message components are included in messageUpdate event
  • nsfw property was removed from old guild data in guildUpdate event
  • guildBanAdd/guildBanRemove events now emit a partial guild object when the guild is uncached
  • RequestHandler supports calling the API via HTTP
  • RequestHandler supports using multipart field names different from the file name
  • RequestHandler#request returns undefined on empty response body
  • Redirects are supported when playing audio from URLs
  • Support for auto-moderation
  • CommandInteraction supports attachments
  • Support for forum channels
  • Removed methods available only for user accounts and classes for objects that only user accounts could receive
  • Guild#events is auto-populated with data from guildCreate
  • Properties related to discovery in Guild have been removed
  • API calls related to discovery have been deprecated
  • Guild#fetchAllMembers has been deprecated in favor of Guild#fetchMembers
  • Added additional fields to GuildAuditLogEntry
  • GuildAuditLogEntry#user can be uncached
  • Modal submit interactions are supported
  • Aligned most of the classes and constant enums with Discord's documentation
  • Deprecated properties (after initial PR merge) have been removed
  • Client options related to gateway have been merged into ClientOptions.gateway
  • Client options related to REST have been merged into ClientOptions.rest
  • Client#banGuildMember deleteMessageDays has been replaced by deleteMessageSeconds
  • The file parameter (or options.file property) in methods that create a message has been deprecated in favor of options.attachments
  • Client#createStageInstance supports sending stage start notifications
  • Client#createThreadWithoutMessage has been deprecated in favor of Client#createThread
  • Added Client#editGuildMFALevel to change the MFA level in bot-owned guilds
  • Support for role connections
  • Client#editWebhookMessage supports passing a threadID to edit webhook-created messages within threads
  • Client#executeWebhook supports passing a threadName to create threads within forum channels
  • Support for localized guild commands
  • Client#getGuildAuditLog now returns additional objects returned by the API
  • Client#getInvite supports passing a guild scheduled event ID to include with the invite (if public)
  • Client#getInvite parameters have been merged into a single options object
  • Support for fetching a singular thread member (Client#getThreadMember)
  • Support for including guild member data along with thread member data