Skip to main content
Changes to @wolfstar/plugin-sharder. The plugin spreads gateway shards across processes, cluster workers, worker threads, and machines. For the weekly summary across all packages, see the changelog overview.

0.3.0 (2026-10-20)

New features

  • Own stars.config key — The module sets meta.configKey, so you can write its options under the top-level sharder key of stars.config instead of the [specifier, options] tuple of modules. The tuple still works and is merged over the key. The key is typed in defineConfig once the module is imported in stars.config.ts. sharder takes no options yet and only reserves its name. (#259)

Updates

  • New optional peer — @wolfstar/schema (^0.9.0) is a new optional peer that carries the StarsConfig type the keys extend.

Migration

  • @wolfstar/kit peer raised — The @wolfstar/kit peer range moves from ^0.1.0 to ^0.2.0, the first version that reads configKey. If your project uses @wolfstar/kit 0.1, update it.

0.2.1 (2026-10-06)

Updates

  • Spawn errors are reported — When a strategy throws in spawn, you now get a ShardSpawnError (carrying the cause) through shardError on every attempt, instead of a silent retry. (#217)

Bug fixes

  • Cluster strategy options — Fixes ClusterStrategy throwing Array.prototype.some called on null or undefined when execArgv or args are not given: only the given options are passed to cluster.setupPrimary, so Node keeps its defaults. A strategy throwing in spawn is now reported as a ShardSpawnError through shardError on every attempt, instead of being retried silently. (#217)

0.2.0 (2026-10-05)

New features

  • /module entrypoint — Adds @wolfstar/plugin-sharder/module. List it in modules in stars.config to add the package to the auto imports. It needs the optional @wolfstar/kit peer. The main entrypoint is unchanged. (#190)

0.1.1

Bug fixes

  • ./register export — Adds a no-op ./register subpath export. The Stars CLI build imports <name>/register for every @wolfstar/plugin-* dependency of a project, so the package crashed consumers at startup with ERR_PACKAGE_PATH_NOT_EXPORTED. The entrypoint is a no-op: the package has no @wolfstar/http-framework Plugin hook to register. (#123)

0.1.0

New features

  • New package — @wolfstar/plugin-sharder implements discord.js’s sharder RFC (discordjs/discord.js#8084). (#112)
  • ShardManager — Spawns shards as child processes, cluster workers, worker threads, or on other machines through ShardManagerProxy (NetworkStrategy, over TLS). It lays gateway shards out automatically, paces identifies across every process, and restarts or reshards with rolling spawns. (#112)
  • Crash supervision — Supervises crashes after Erlang/OTP: intensity, period, and one-for-one, one-for-all, or rest-for-one restarts. (#112)
  • ShardManagerProxy — Serves one manager with failover, or several at once, and routes messages between shards directly, locally or to peer proxies. (#112)
  • ShardClient — The shard’s side: statuses, messages, requests with timeouts, abort and partial broadcasts, gateway shard control, and gatewayOptions and identifyThrottler for GatewayClient. (#112)
  • try* twins — Every fallible operation has a try* twin returning a Result<T, E> from @sapphire/result, and request handlers may return one. (#112)
  • Message handlers and transformers — Messages go through named, registrable handlers (JSON, V8, raw) and transformers (gzip, Brotli). (#112)