> ## Documentation Index
> Fetch the complete documentation index at: https://core-builds.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# What's New — Configurator v2.96

> Latest Core Builds Configurator releases (v2.96 and earlier), auto-generated from the in-app changelog.

# What's New in the Configurator

This page is regenerated from `configurator/src/data/changelog.js` by `scripts/sync-docs.py`, so it always reflects the latest shipped configurator version (currently **v2.96**).

For the template-suite release log, see the [Changelog](https://corebuilds-docs.docsalot.dev/changelog).

## Configurator v2.96 (Aug 19 2026)

<CardGroup cols={2}>
  <Card title="CoreSpeed, a TorBox CDN speed test" icon="sparkles">
    races all 17 Hyperdrive nodes at once and tells you which one to be on. Latency first (3 pings per node), then sustained multi-stream downloads of TorBox's own test files, so the numbers come from real bytes off real nodes. Live leaderboard, world map, speedometer, and a per-region verdict on what each node can actually stream for you (4K Remux down to SD, with 15% headroom). Last 15 runs are kept locally with change-vs-previous columns; export as Markdown, CSV or JSON. Find it at tools/speedtest/ or from the Builder splash under Utilities.
  </Card>

  <Card title="Pick Burst mode first" icon="bolt">
    it ranks every node in 5 to 20 seconds each and costs a fraction of the data. Quick pulls 100 MB per node and Full pulls 1 GB, so a Full run across all nodes moves real gigabytes; there is a hard 12 GB budget and an instant Stop for exactly that reason. No account, no API key, and no Core Builds backend: the measurement runs in your browser and results stay there.
  </Card>

  <Card title="The proxy lane was opened narrowly" icon="shield-check">
    TorBox's API sends no CORS header, so CoreSpeed fetches the CDN list through the Core Builds worker. That worker forwards any Authorization header a caller sets, which the WuPlay lane depends on, and allowing TorBox under those rules would have turned it into an authenticated relay for a service where you hold your own account key. It is scoped instead to that single public read, with credentials stripped and every other path and method refused — verified against the deployed worker rather than assumed.
  </Card>
</CardGroup>

***

## Configurator v2.95 (Aug 16 2026)

<CardGroup cols={2}>
  <Card title="Stream scoring is live on Advanced and Labs" icon="sparkles">
    until now every stream carried the same score of nothing. AIOStreams only fills in a stream's score from a 'ranked expression' list, Core Builds never sent one, and so the score-based sort key and the Adaptive Score Floor were quietly dropped from every config we generated. Both were listed as features. Neither had ever run. Advanced and Labs configs now ship a set of scored rules, so the score they sort on is real.
  </Card>

  <Card title="Quality now adds up instead of laddering" icon="bolt">
    resolution, quality, HDR/Dolby Vision, audio format and release-group reputation each contribute points, while low-quality groups and upscales subtract them. Because the points combine, a 4K remux with Atmos from a top group outranks a plain 4K remux without anyone writing a rule for that exact pairing, which is what the old tier ladder required. Points for Dolby Vision and lossless audio are awarded only on devices that can play them.
  </Card>

  <Card title="Stable and Balanced are unaffected" icon="shield-check">
    both clear the scoring layer on purpose, so their configs are unchanged in content. The only difference is one empty field that now appears earlier in the file. This lands solely where you have opted into the deeper filtering.
  </Card>
</CardGroup>

***

## Configurator v2.94 (Aug 16 2026)

<CardGroup cols={2}>
  <Card title="Fixed (generation): the Jackett and Prowlarr preset builders sent a bare 'apiKey'" icon="sparkles">
    an option those presets never read — the same mistake as the Debridio fix in v2.93. Both now send the provider-specific key (jackettApiKey / prowlarrApiKey), and each preset is emitted only when its URL and key are both present, because AIOStreams rejects the entire config if either is missing. Confirmed against the AIOStreams preset definitions.
  </Card>

  <Card title="Known issue (documented, not yet changed): the Jackett and Prowlarr presets cannot currently be produced at all. Their emission is gated on an instance URL that no screen collects" icon="bolt">
    there is no input for it anywhere in the app — so selecting either indexer has never added it to a config. The option-name fix above is therefore correct-but-unreachable groundwork, not a change you can observe today. Adding the URL field is a separate decision.
  </Card>

  <Card title="Test integrity: the end-to-end suite now checks generated configs against AIOStreams' actual preset option contract instead of accepting whatever we send it. That gap is why the Debridio bug shipped green and reached users" icon="shield-check">
    two tests were asserting the wrong option name against a mock that validated nothing. Building the new check is what surfaced the Jackett and Prowlarr bugs above, before anyone hit them.
  </Card>
</CardGroup>

***

## Configurator v2.93 (Aug 15 2026)

<CardGroup cols={2}>
  <Card title="Fixed: Debridio configs were rejected by AIOStreams even when you HAD entered a key ('Option debridioApiKey is required, got undefined'). Core Builds was sending a bare apiKey" icon="sparkles">
    an option the Debridio preset never reads — so the host saw its required option as missing. The earlier 'omit the preset until a key is entered' change hid this: with no key the preset vanishes, so the rejection only ever reached people actually using Debridio. The option name is now confirmed against the AIOStreams preset source rather than inferred.
  </Card>

  <Card title="Fixed: the import and 'all hosts unreachable' panels rendered their step numbers and mid-sentence emphasis each on its own line, shredding the instructions. A styling rule intended for the panel heading was applying to every bold fragment inside it." icon="bolt">
    Fixed: the import and 'all hosts unreachable' panels rendered their step numbers and mid-sentence emphasis each on its own line, shredding the instructions. A styling rule intended for the panel heading was applying to every bold fragment inside it.
  </Card>

  <Card title="Known issue (documented, not yet changed): the Debrider preset is emitted with a type AIOStreams does not recognise" icon="shield-check">
    `debrider` is a service id, not one of the 76 preset ids the host accepts — so the host cannot resolve it. Recorded at the emission site pending a decision on the right fix.
  </Card>
</CardGroup>
