Skip to content

v0.5.0

Latest

Choose a tag to compare

@9qeklajc 9qeklajc released this 07 Oct 07:19
32dc12b

What's Changed

  • fix(ehbp): pass through enclave key-config 422 as problem+json by @sh1ftred in #714
  • fix(ehbp): raise upstream timeout to 60s and return 504 on timeout by @sh1ftred in #700
  • fix: settle missing usage and pricing without losing refunds by @9qeklajc in #715
  • feat: identify client app in request and error logs by @9qeklajc in #675
  • clean up unsupported endpoints by @9qeklajc in #721
  • feat: expose per-model reasoning effort on /v1/models by @sh1ftred in #725
  • fix: mypy errors in reasoning effort tests by @9qeklajc in #726
  • chore(deps): patch cryptography, setuptools, wheel, h11 and fastapi/starlette CVEs (1/3) by @9qeklajc in #722
  • chore(deps): bump browserslist and @humanfs/node in ui lockfile (2/3) by @9qeklajc in #723
  • update deps by @9qeklajc in #728
  • chore(deps): bump httpx to 0.28 and litellm to 1.84, shimming cashu's removed proxies kwarg (3/3) by @9qeklajc in #724
  • fix(payment): close prompt-estimation gaps for Responses API, tools, and original-detail images by @sh1ftred in #680
  • chore: ignore mkdocs build output (site/) by @sh1ftred in #731
  • docs(teams): add Teams (Remote) section by @sh1ftred in #730
  • X routstr model path by @9qeklajc in #720
  • add model path metadata by @9qeklajc in #719
  • fix: accept multi-keyset Cashu tokens on redemption by @9qeklajc in #732
  • fix: cap melt inputs at mint request limit by @9qeklajc in #733
  • fix: announce provider as soon as the NSEC is saved by @sh1ftred in #734
  • Lightning refund by @9qeklajc in #729
  • feat(ehbp): bill Tinfoil cached prompt tokens at the cached rate by @sh1ftred in #736
  • feat: add admin endpoint to fetch logs by request id by @9qeklajc in #735
  • feat: typed error envelope for lightning invoice endpoints by @9qeklajc in #677
  • feat(systemone): add TypeSafe System One decision endpoint by @sh1ftred in #747
  • feat: drop provider id from model paths and route them to the cheapest provider by @9qeklajc in #748
  • fix(ehbp): raise upstream timeout default to 600s by @sh1ftred in #749
  • fix(generic): carry Venice's native cache_input price into input_cache_read by @sh1ftred in #753
  • fix(usage): don't fold cache tokens into inclusive prompt_tokens by @sh1ftred in #752
  • fix(billing): recognize cached tokens in OpenAI Responses API usage by @sh1ftred in #756
  • feat(logs): echo 4xx error reason in Request completed log by @9qeklajc in #757
  • feat: ship fresh nodes with default trusted Cashu mints by @sh1ftred in #754
  • docs: make clone + docker compose the preferred deployment path by @sh1ftred in #762
  • fix: make payouts resilient to mint proof limits by @9qeklajc in #763
  • feat: identify generic upstream host in provider field and add masked provider_url by @9qeklajc in #738
  • feat: show Lightning payouts in transaction history by @9qeklajc in #758
  • fix(upstream): retry a transient 5xx on the same upstream before failing over by @9qeklajc in #765
  • fix(models): retry the OpenRouter catalogue fetch before giving up by @9qeklajc in #766
  • fix: bound owner payout by per-mint liability instead of total by @9qeklajc in #767
  • Handle incomplete upstream streaming responses by @9qeklajc in #769
  • fix: report upstream 5xx as 424 UPSTREAM_UNAVAILABLE instead of node-down by @9qeklajc in #771
  • feat: venice provider with anthropic web-search translation by @9qeklajc in #770
  • perf: reduce request latency by @9qeklajc in #772
  • fix(ehbp): classify upstream TLS/connect failures as upstream-scoped by @sh1ftred in #778
  • log: record model and provider on the request completion line by @9qeklajc in #777
  • fix: bound proxy request body reads by size and time by @9qeklajc in #774
  • feat: log request stage timings and never suppress error responses by @9qeklajc in #775
  • fix: prevent LiteLLM web_search_options 400 on generic Messages routes by @sh1ftred in #782
  • fix: send placeholder key to litellm for keyless upstreams on /v1/messages by @9qeklajc in #781
  • fix: stop reporting OpenRouter provider as unknown on stream and envelope payloads by @9qeklajc in #780
  • fix: report openrouter:unknown when OpenRouter omits the serving provider by @9qeklajc in #783
  • fix: drop blank system text blocks before litellm dispatch by @9qeklajc in #786
  • fix: make Claude Code work on Venice with prompt caching and gpt-6 by @9qeklajc in #788
  • perf: open admin models page immediately and load catalogs behind a skeleton by @9qeklajc in #789
  • fix: rename params upstreams reject with a named replacement by @9qeklajc in #790
  • fix(fees): route platform fee payouts to routstr-fees@rizful.com by @sh1ftred in #785
  • fix: bound request lifetimes and recover abandoned reservations by @sh1ftred in #791
  • feat: upstream first-token timeout, stream idle timeout and provider cooldown by @9qeklajc in #776
  • feat(upstream): add native DeepSeek provider, retire V4 pricing shim by @9qeklajc in #793
  • fix: shorten litellm errors and normalize buffered stream failures by @9qeklajc in #795
  • fix: allow /v1/messages/count_tokens through the proxy allowlist by @sh1ftred in #796
  • fix: upgrade dependencies to address Dependabot alerts by @9qeklajc in #794
  • fix: treat non-finite token counts as zero instead of raising in billing by @9qeklajc in #797
  • chore: remove the disabled API Endpoints testing tab by @9qeklajc in #800
  • fix: store numeric-string model prices as floats so overrides serve instead of 500 by @9qeklajc in #799
  • feat(certification): comprehensive upstream certification harness with live probes by @9qeklajc in #760
  • chore: remove model testing endpoint and UI by @9qeklajc in #802
  • docs: describe forwarded_model_id as the client-facing alias by @9qeklajc in #798
  • fix: reserve pinned endpoints at the endpoint's own price and limits by @9qeklajc in #801
  • fix(ehbp): restore the version prefix on EHBP upstream paths by @sh1ftred in #804
  • fix: report an unknown sk- API key as key_not_found, not a format error by @9qeklajc in #779
  • fix(refund): give refund refusals machine-readable error codes by @sh1ftred in #805
  • feat(upstream): add Perplexity integration attribution by @qirh in #750
  • fix: harden provider certification and native pricing by @9qeklajc in #803
  • feat: auto-generate the node's Nostr identity on first boot by @sh1ftred in #809
  • feat: swap foreign Cashu tokens across mints by @9qeklajc in #806
  • fix: stop logging the nsec at startup; add reveal_nsec recovery script by @sh1ftred in #812
  • feat: add private node onboarding for operators and agents by @9qeklajc & @sh1ftred in #811
  • feat: proxy OpenAI Decisions API at /v1/decisions by @9qeklajc in #787
  • revert: reserve at least the prompt plus requested completion when discounts overlap (#808) by @9qeklajc in #814
  • fix: preserve generated npub on first boot by @sh1ftred in #818
  • docs: drop mandatory /admin reverse-proxy restriction from provider docs by @sh1ftred in #819
  • fix(env): stop the .env template from seeding a placeholder upstream provider by @sh1ftred in #821
  • fix(nostr): never announce loopback/private/link-local endpoint URLs by @jooray in #823
  • docs: fix outdated links and add provider directory by @9qeklajc in #825
  • fix: tolerate "metadata": null in upstream responses (non-streaming 500s with Venice) by @jooray in #826
  • fix: correct unsupported params reported as upstream 5xx by @9qeklajc in #827
  • fix: send Anthropic block-list system as a string to generic upstreams by @9qeklajc in #828
  • chore(fees): raise Routstr fee payout threshold to 500 sats by @sh1ftred in #831
  • fix: skip model fetching for disabled providers by @9qeklajc in #832
  • fix: support optional Anthropic provider workspace IDs by @9qeklajc in #833
  • fix: default Anthropic API version like the official SDK by @9qeklajc in #834
  • fix: resolve Anthropic model names from native discovery by @9qeklajc in #835
  • fix: use native Anthropic effort configuration by @9qeklajc in #836
  • test: give the Anthropic effort test model an instruct_type by @ashen0x in #837
  • fix: stop returning upstream workspace/org ids to clients by @9qeklajc in #838
  • fix: advertise lowercase model IDs in /v1/models to match OpenRouter by @9qeklajc in #840
  • fix: collapse duplicate token caps for anthropic chat completions by @9qeklajc in #841

New Contributors

Full Changelog: v0.4.7...v0.5.0