Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@

All notable changes to @blockrun/llm will be documented in this file.

## [3.13.2] - 2026-08-16

### Changed

- **`@blockrun/router-core` pinned forward to `18bf4ab`** (was `d430804`). Upstream retired `free/deepseek-v4-flash` from the eco SIMPLE fallback chain after NVIDIA EOL'd it (HTTP 410, 2026-08-12), alongside `seed-oss-36b` which went the same way on 2026-08-03. `free/gpt-oss-120b` and `-20b` already headed that chain, so the rungs are dropped rather than retargeted and eco routing is unchanged for every request that was already being served. Before this, an eco SIMPLE request that fell past the two gpt-oss entries walked into a dead model and burned a hop.

This is also the commit the Python SDK's Router Core port tracks (`blockrun-llm` 1.11.0), so both SDKs and the gateway now route from the same configuration. Verified: 24 request shapes (chat, reasoning, MCQ, math, code edit, tool/code agent, terminal, retail, airline, web research, long context, vision, structured output, and the eco/premium profiles) produce identical model, tier, task type and full candidate chain across both SDKs against the live catalog.

### Fixed

- **`VERSION` was left at 3.13.0 when 3.13.1 shipped**, and 3.13.1 was never recorded in this changelog — so `main` has been failing the version-consistency guard since 2026-08-12. The release workflow publishes on a GitHub Release and does not run the test suite, so the red was only visible on the push-triggered CI run, after the fact. Both files are corrected here; the 3.13.1 entry below is written retroactively.

## [3.13.1] - 2026-08-12

### Changed

- Docs-only patch: the README's free-tier section was refreshed after NVIDIA EOL'd `deepseek-v4-flash` (HTTP 410, 2026-08-12) and the brand markers were re-synced to the live catalog (70 chat / 93 total / 5 free). No runtime change — recorded here after the fact, see the note in 3.13.2.

## [3.13.0] - 2026-08-11

### Changed
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @blockrun/llm (TypeScript SDK)

TypeScript SDK for <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> LLMs with streaming, smart routing, and automatic USDC micropayments via x402. No API keys — wallet signature is authentication.
TypeScript SDK for <!-- br:models.chatVisible -->70<!-- /br:models.chatVisible --> LLMs with streaming, smart routing, and automatic USDC micropayments via x402. No API keys — wallet signature is authentication.

## Commands

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.13.0
3.13.2
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@blockrun/llm",
"version": "3.13.1",
"version": "3.13.2",
"type": "module",
"description": "BlockRun SDK - Pay-per-request AI (LLM, Image, Video, Music, Voice) via x402 on Base and Solana",
"main": "dist/index.cjs",
Expand Down Expand Up @@ -56,7 +56,7 @@
},
"devDependencies": {
"@blockrun/core": "^0.1.0",
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/d4308049348e11e17ed08a254676a34949be80f9",
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/18bf4abc7e34599e51595b90703c385f53d4f4a6",
"@eslint/js": "^9.39.4",
"@types/node": "^20.19.41",
"eslint": "^9.39.4",
Expand Down
10 changes: 5 additions & 5 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* "SDK_VERSION matches package.json" case in test/unit/version-consistency.test.ts
* fails the build if a release bumps the package and forgets this file.
*/
export const SDK_VERSION = "3.13.1";
export const SDK_VERSION = "3.13.2";

/** Client identification sent on every gateway request. */
export const USER_AGENT = `blockrun-ts/${SDK_VERSION}`;
9 changes: 7 additions & 2 deletions test/unit/smart-chat-fallbacks.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,19 @@ describe("Router Core SDK integration", () => {
// free/* namespace; the gateway serves those models as nvidia/*. The
// adapter must map — dropping them silently converts eco to a paid
// profile (the v3.11.0 regression this guards against).
//
// The vehicle used to be free/deepseek-v4-flash; router-core dropped it
// from this chain in 18bf4ab after NVIDIA EOL'd it (410, 2026-08-12), so
// the mapping is now exercised through the gpt-oss pair that heads the
// chain. The assertion is about the namespace mapping, not the model.
const pricing = routerPricing();
pricing.set("nvidia/deepseek-v4-flash", { inputPrice: 0, outputPrice: 0 });
pricing.set("nvidia/gpt-oss-120b", { inputPrice: 0, outputPrice: 0 });

const decision = routeWithCatalog("Name the capital of France. One word.", undefined, 50, pricing, {
routingProfile: "eco",
});

expect(decision.model).toBe("nvidia/deepseek-v4-flash");
expect(decision.model).toBe("nvidia/gpt-oss-120b");
expect(decision.costEstimate).toBe(0); // free models settle at $0 — no payment floor
expect(decision.savings).toBe(1);
});
Expand Down
Loading