Repository navigation
chore: update changelog and release - #246
Merged
Merged
Conversation
|
Note The title starts with
|
@wolfstar/plugin-api
@wolfstar/plugin-broker
@wolfstar/plugin-cache
@wolfstar/plugin-gateway
@wolfstar/plugin-i18next
@wolfstar/plugin-logger
@wolfstar/plugin-scheduled-tasks
@wolfstar/plugin-sharder
@wolfstar/plugin-subcommands-advanced
commit: |
wolfstarbot
force-pushed
the
changeset-release/main
branch
9 times, most recently
from
October 17, 2026 11:13
1915abb to
4ad84e1
Compare
wolfstarbot
force-pushed
the
changeset-release/main
branch
from
October 17, 2026 19:27
4ad84e1 to
a42e357
Compare
RedStar071
approved these changes
Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@wolfstar/plugin-broker@0.6.0
Minor Changes
7257223-forwardGatewayDispatchesmarks aGatewayClientas forwarding (forwardsDispatches) until its stop function is called, through the new optionalGatewayDispatchEmitterLike#markDispatchesForwarded, so listeners registered withRegisterAsDispatchListenerfrom@wolfstar/plugin-gatewayrun on the workers only. Emitters without it forward as before.Patch Changes
6012bd9- Forward theguildDeleteof a guild aREADYdrops: when aREADYno longer lists a cached guild (the bot left it while offline),GatewayClientnow emitsdispatchfor theGUILD_DELETEit applies, after the cache write and with the cached guild as its state, beforeguildDelete.forwardGatewayDispatchespublishes it like any other dispatch, so aplugin-brokerworker'sguildDeletelisteners clean these guilds up too. The made-up dispatch carriess: 0and is not emitted asraw.@wolfstar/plugin-gateway@0.15.0
Minor Changes
#252
97aaaea- AddApplicationCommandand its managers, fetch-only likeWebhookManager:client.application.commands(ApplicationCommandManager) andguild.commands(GuildApplicationCommandManager, a new instance on every access, alsoclient.guilds.commands(guildId)) havefetch,create,set,edit,delete,commandPathand the statictransformCommand, which accepts camel-cased data, raw payloads and builders.ApplicationCommandhas the command's fields,edit(), theset*()helpers,delete(),permissions,equals(command, enforceOptionOrder?)(falsefor a foreign argument) and the staticoptionsEqual()andtransformOption().ApplicationCommandPermissionsManager(fetch,has, andset,addandremovetaking an explicit bearertoken, with no OAuth handling) reads through the existingapplicationCommandPermissionscache, kept up to date byAPPLICATION_COMMAND_PERMISSIONS_UPDATE.GatewayErrorgains theApplicationCommandPermissionsTokenMissingandGlobalCommandPermissionscodes.set()is the bulk overwrite and replaces whatever@wolfstar/http-frameworkregistered, nothing calls it for you.#250
10a18a5- AddApplicationEmojiandApplicationEmojiManager, discord.js's emojis owned by the application rather than a guild, reachable asclient.application.emojis. The manager is fetch-only (Discord sends no event for these emojis, so nothing is cached):fetch()lists them in aCollectionandfetch(id)gets one, withcreate,edit,deleteandfetchAuthor. AnApplicationEmojiextendsEmojiwithauthor,application,edit,setName,delete,fetchAuthorandequals, which compares only the ID, name andanimated, the fields the API sends.#255
1ca7f9e-channel.messages.crossposttakes a message or its ID, andclient.channels.createMessage(channel, options)sends a message to a channel or its ID, like discord.js.#248
12a880f- AddMessage#threadable, like discord.js: whether the bot can start a thread from the message (a text or announcement channel, no thread yet, andViewChannelplusCreatePublicThreads). It reads the cache, so it is a promise with an asynchronous cache and throwsChannelUncached,GuildUncachedMeorGuildUncachedon a miss, like the other message checks. Unlike discord.js, an administrator bot is threadable, as the API allows it.#253
17d2cfd- Add the monetization managers.client.application.entitlementsis anEntitlementManager, cached fromENTITLEMENT_CREATE,ENTITLEMENT_UPDATEandENTITLEMENT_DELETE(which emit the newentitlementCreate,entitlementUpdateandentitlementDeleteevents), withfetch()for one entitlement or a filteredCollection,createTest(),deleteTest()andconsume().client.application.fetchSKUs()returns theSKUs of the application, andsku.subscriptions(orclient.application.subscriptions(sku)) is a fetch-onlySubscriptionManager. Adds theEntitlement,SKUandSubscriptionstructures,SKUFlagsBitField, and theEntitlementCreateInvalidOwnererror;EntitlementResolvable,SKUResolvableandSubscriptionResolvablenow also accept the structures.#245
7257223- AddRegisterAsDispatchListener, aRegisterAsGatewayListenerwhose listener runs on one process only: the workers replaying the dispatches while the gateway client forwards them, the gateway client otherwise, so a bot loading the same pieces on both no longer handles each dispatch twice.GatewayClientgainsforwardsDispatchesandmarkDispatchesForwarded()forforwardGatewayDispatchesto set, andDispatchEventName,GatewayOnlyEventNameandgatewayOnlyEventstell the events a worker receives from the ones only the gateway client emits, which the decorator rejects.#249
e55801b-transformResolvednow also resolvesmessages(IDs read from the cache of the newchannelIdoption, raw data resolved to the cached message or built from it) andattachments(built asAttachment), like discord.js.MessageMentions#parsedUsersnow includes the users the payload mentions even when they are not cached, as discord.js does by adding them to its cache; nothing is written to the cache.#254
b787c53- Check the options ofthreads.createand the guild-only message paths against discord.js.ThreadCreateOptionsis nowTextThreadCreateOptions | ForumThreadCreateOptions, so mixing the options of a thread (type,invitable) with those of a forum or media post (message,appliedTags) is a compile error, and throws aGatewayTypeErrorbefore any request instead of being dropped silently:ThreadOptionsPostOnly,ThreadOptionsThreadOnly, and, in a forum or media channel withoutmessage,ThreadPostMessageRequired.ChannelThreadManagerandChannelMessageManagertake the channel type as an optional last constructor argument (channelType), whichchannel.threadsandchannel.messagespass. In a direct message or group direct message,messages.crosspost,messages.bulkDelete, andmessages.startThreadnow throwChannelMessagesGuildOnlybefore any request, as discord.js'sDMMessageManagerhas no such methods.Patch Changes
#247
6012bd9- Track the guildsclientReadywaits for by shard, like discord.js: a shard's newREADYnow replaces the unavailable guilds its previous one listed instead of adding to them, so a guild the bot left between twoREADYs of a shard (a session invalidated during startup) no longer holdsclientReadyback untilwaitGuildTimeout. The client also stops collecting these guild IDs onceclientReadyfired, where every reconnect'sREADYused to add them to a set that was never emptied.#247
6012bd9- Forward theguildDeleteof a guild aREADYdrops: when aREADYno longer lists a cached guild (the bot left it while offline),GatewayClientnow emitsdispatchfor theGUILD_DELETEit applies, after the cache write and with the cached guild as its state, beforeguildDelete.forwardGatewayDispatchespublishes it like any other dispatch, so aplugin-brokerworker'sguildDeletelisteners clean these guilds up too. The made-up dispatch carriess: 0and is not emitted asraw.@wolfstar/plugin-subcommands-advanced@2.2.1
Patch Changes
481d536- Register modular subcommands (and groups) sorted by name instead of in the order the stores loaded them. The load order is not stable between starts, so the same pieces could produce differently ordered options, and@wolfstar/http-frameworkcompares deployed commands by position, which updated every parent with modular subcommands on each start. The first start after upgrading may update those commands once; the order is stable after that. Subcommands the parent declares itself keep their place before the registered ones.