Releases: projectdysnomia/dysnomia
Releases · projectdysnomia/dysnomia
v0.2.2
v0.2.1
v0.2.0
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.
- Using version 2 and newer versions of
- Install
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 forcreateInteractionResponse
(#167)Interaction#createMessage
andInteraction#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 aGuildScheduledEvent
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 toClient#getStickerPacks
(#109)PrivateChannel#recipient
has been migrated to a collection (#129) - this has been done to accomodate for the resurrection ofGroupChannel
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
@prop
s 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
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
inClient#getRESTGuilds()
(#88) - Support for
defaultForumLayout
inClient#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 fromChannel
andUser
(#91)
Bug fixes
AnyInteractionGateway
type now includesModalSubmitInteraction
(#97)Constants.REST_VERSION
andConstants.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
New features
- Voice messages (#67)
- Onboarding (read only) (#65)
- Support for new permission bits (#60) and application flags (#59)
Note
BothmanageEmojisAndStickers
andmanageGuildExpressions
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
Upstream backports
- Added
Client#addGuildMember
(backported from abalabahaha/eris@61b3b4f) - Added missing properties to
guildUpdate
event (backported from abalabahaha/eris@9320ab2)
Bug fixes
- Updates to
PrivateThreadChannel
s 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
Additions/removals from Eris PRs
- Slash command permissions, v2 (abalabahaha/eris#1372)
- Attachment type (abalabahaha/eris#1358)
- Removed user account-related features (abalabahaha/eris#1338)
- Interaction refactor (abalabahaha/eris#1309)
- Interaction modals (abalabahaha/eris#1404)
- Usage of process warnings for deprecations (abalabahaha/eris#1276)
- Guild scheduled events (abalabahaha/eris#1275)
- Redirect following when playing songs (abalabahaha/eris#494)
- Return void on 204 (abalabahaha/eris#1021)
- Ability to use HTTP instead of HTTPS for REST (abalabahaha/eris#1193)
- Standardized parsing errors (abalabahaha/eris#1227)
- Gateway resume URL support (abalabahaha/eris#1410)
- Support message deletion in seconds when banning (abalabahaha/eris#1397)
- Auto moderation (abalabahaha/eris#1390)
- Gateway option split (abalabahaha/eris#1384)
- Consistency/QoL fixes (abalabahaha/eris#1379)
- Support for async permission checks for CommandClient (now deprecated) (abalabahaha/eris#1414)
- Switch to Discord API v10 (abalabahaha/eris#1371)
editGuildVanity
removal (#18)
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 onguildCreate
(#12)- Support for new message types (#22)
GIF
sticker format support (#24)- Thread member pagination support (#25)
- Role subscriptions (#21)
threadID
ineditWebhookMessage
(#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 ofGuild#fetchMembers
- The
file
parameter/option in functions that take message attachments is deprecated in favor of theattachments
option createThreadWithoutMessage()
is deprecated in favor ofcreateThread()
- 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 deprecatedCommandClient
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 inguildUpdate
eventguildBanAdd
/guildBanRemove
events now emit a partial guild object when the guild is uncachedRequestHandler
supports calling the API via HTTPRequestHandler
supports using multipart field names different from the file nameRequestHandler#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 fromguildCreate
- Properties related to discovery in
Guild
have been removed - API calls related to discovery have been deprecated
Guild#fetchAllMembers
has been deprecated in favor ofGuild#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 bydeleteMessageSeconds
- The
file
parameter (oroptions.file
property) in methods that create a message has been deprecated in favor ofoptions.attachments
Client#createStageInstance
supports sending stage start notificationsClient#createThreadWithoutMessage
has been deprecated in favor ofClient#createThread
- Added
Client#editGuildMFALevel
to change the MFA level in bot-owned guilds - Support for role connections
Client#editWebhookMessage
supports passing athreadID
to edit webhook-created messages within threadsClient#executeWebhook
supports passing athreadName
to create threads within forum channels- Support for localized guild commands
Client#getGuildAuditLog
now returns additional objects returned by the APIClient#getInvite
supports passing a guild scheduled event ID to include with the invite (if public)Client#getInvite
parameters have been merged into a singleoptions
object- Support for fetching a singular thread member (
Client#getThreadMember
) - Support for including guild member data along with thread member data