Skip to content

v0.2.0 - Athena

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Mar 09:09
· 127 commits to main since this release
7fc8070
v0 2

Installation

curl -fsSL https://vllm-semantic-router.com/install.sh | bash

What's Changed

See the full changelog below.

What's Changed

  • [Bugfix] Fix getRecommendedModel to return real model names from config by @henschwartz in #933
  • [CI] test(response-api): add E2E translation tests for Response API by @tao12345666333 in #881
  • [Doc] Fix installation typo by @shernshiou in #965
  • [CI] ci(e2e): add Response API K8s integration test workflow by @tao12345666333 in #882
  • fix: initialize batched embedding modelfor qwen3 semantic cache by @liavweiss in #954
  • fix(dashboard): resolve config update permission denied error by @henschwartz in #962
  • docs: fix index dsiplay error by @yuluo-yx in #959
  • [CI/Build][Dashboard] Fix OpenShift config map paths and dashboard build by @nerdalert in #951
  • test(dashboard): add file persistence tests for config updates by @henschwartz in #963
  • [Doc] website versions multilingual for release v0.1 by @samzong in #925
  • feat(vllm-sr): add dashboard support to Python CLI by @yehuditkerido in #960
  • fix(dashboard): return 404 instead of 500 when tools_db.json not found by @henschwartz in #972
  • [Bugfix] Fix PII mapping path to match deployed model directory by @nerdalert in #970
  • feat: re-enable EmbeddingGemma-300m support by @liavweiss in #816
  • feat [llm-katan] Support running llm-katan on XPU Platform by @chaojun-zhang in #969
  • [Misc] 🔧 chore(pre-commit): show file count instead of list by @samzong in #968
  • [Misc] 🔧 chore(make): add deps.mk for func-e and unified external binary tool management by @samzong in #886
  • Fix(CI): Resolve The E2E Testing by @Xunzhuo in #1013
  • feat(dashboard): add Python CLI config format support by @yehuditkerido in #1019
  • feat(cli): add Podman container runtime support by @Xunzhuo in #982
  • [Misc]: remove legacy Kustomize manifests in favor of Helm chart by @abdallahsamabd in #978
  • [Feat] implement Signal Parallelism in EvaluateAllSignals by @GOavi101 in #1023
  • [Feat][CI/Build] Add OpenShift simulator backend for vSR by @nerdalert in #981
  • [Feat] Add multi-model routing demo by @anushapant in #1025
  • [Feat]: Enable CLI-based Helm deployment with smart defaults by @abdallahsamabd in #957
  • Optimize: Speed-Up Signal Extraction by @Xunzhuo in #1027
  • fix: set file descriptor limits to 65536 to resolve Envoy initialization failure by @liavweiss in #1026
  • [Bugfix] Fix keyword matching inconsistency in e2e tests by @srini-abhiram in #828
  • [Misx] fix: show unique model count in logs instead of alias count by @samzong in #1029
  • [Feat] align Classification API server with signal-driven architecture by @GOavi101 in #1032
  • Refactor: Layout and UI for Dashboard by @Xunzhuo in #1034
  • feat(dashboard): refactor sidebar to align with Python CLI config by @yehuditkerido in #1035
  • Dashboard: Re-Organize the Layout and Functionality by @Xunzhuo in #1036
  • Dashboard: Refactor Data Management by @Xunzhuo in #1038
  • fix(dashboard): read Router Config settings from router-defaults.yaml by @yehuditkerido in #1037
  • Dashboard: Refactor Reasoning Management by @Xunzhuo in #1041
  • Dashboard: Refactor Landing Page by @Xunzhuo in #1043
  • Dashboard: Update Landing Page UX by @Xunzhuo in #1044
  • Preload candidate embeddings once at startup and optionally use HNSW … by @szedan-rh in #1039
  • [Misc] fix: replace fake domain endpoints with 127.0.0.1:1 by @samzong in #1055
  • Docs: Update Dashboard and Release related Docs by @Xunzhuo in #1056
  • [Build] Fix candle-flash-attn dependency to use git source for CUTLASS submodule by @carlory in #1049
  • [UX] add signal CURD for dashboard by @ppppqp in #1063
  • remove cmd/vsr CLI and its dependencies by @carlory in #1061
  • Update the documentation of installation llm-d to use helm chart by @szedan-rh in #1064
  • [Misc] chore: fix models gitignore pattern and markdown linter exclusion by @samzong in #1058
  • [Misc] chore: update testdata outputs with feedback_detector defaults by @samzong in #1057
  • Add a local-up-router.sh script for dockerless environment by @carlory in #1059
  • Update istio documentation how to and helm chart values by @szedan-rh in #1053
  • feat(test): More ExtProc test coverage (Issue #44) by @uestcergs7 in #974
  • feat: Lifetimes should be associated with individual cache entries by @fatelei in #1012
  • [CI] feat(response-api): add conversation chaining E2E tests and instructions inheritance by @tao12345666333 in #1031
  • Fix the models missing and wrong model reference and the tests by @szedan-rh in #1068
  • [Docs] docs/enrich footer and contributing section by @samzong in #1065
  • chore(website): optimize navbar icons and remove deprecated pages by @samzong in #1073
  • [Feat][Router]: Implement Router Replay plugin for debugging routing decisions by @R3hankhan123 in #1075
  • feature: add more signals - language signal by @liavweiss in #1052
  • [Feat] add advanced tool filtering with confidence‑gated category filter and rerank by @samzong in #1033
  • [UX][Quality] Refactor and Decision CURD in dashboard by @ppppqp in #1072
  • fix(classification): enforce confidence threshold for domain signal matching by @asaadbalum in #1074
  • [UX] Virtualize decision config form by @ppppqp in #1078
  • [Misc]💄 style(homepage): adjust hero flex and add spacing after badge icon by @samzong in #1077
  • Feat: Introducing Looper for Implementing Collective Algorithms by @Xunzhuo in #1054
  • [Doc:zh] add more signals - language signal by @windsonsea in #1080
  • fix: enable response api profile e2e test and fix the configuration by @liavweiss in #1090
  • [Doc:en/zh] Fix format issues in overview/signal-driven-decisions.md by @windsonsea in #1087
  • feat(openshift): add auto model config and routing example by @nerdalert in #1079
  • [UX]: Improve UX for unconfigured Grafana and Jaeger services by @uestcergs7 in #1071
  • Docs: Sync Missing Blog from vLLM by @Xunzhuo in #1096
  • feat(selection): implement advanced model selection methods by @asaadbalum in #1089
  • [CLI][Bugfix] Fix init --force behavior and default model naming by @niuguy in #1108
  • [Feat][Memory]: Add Redis storage backend for Response API by @noalimoy in #1024
  • [Misc] Deprecate semantic_cache.backend_config_path and embed backend config inline by @Scanf-s in #1100
  • feat(dashboard): add --readonly-dashboard flag for public beta deploy… by @haowu1234 in #1113
  • Fix: Invalid Embedding Classifier Configuration by @Xunzhuo in #1114
  • [Feat]: Operator for the semantic router by @cooktheryan in #1091
  • feat: localize community pages to zh-Hans by @uestcergs7 in #1099
  • feat(helm): add dependency-based stack support by @Chever-John in #1098
  • [CI][E2E]: Add Redis Responses API test profiles by @noalimoy in #1117
  • [BUG] Fix: reasoning_effort does not work well with openai/gptoss-120b by @Xunzhuo in #1116
  • Optimize: Add Soft Embeddings Match Rules by @Xunzhuo in #1121
  • feat: complete language signal support by @Xunzhuo in #1122
  • Playground: Add AMD Rlayground Recipes by @Xunzhuo in #1125
  • [Feat]: add Anthropic Claude backend support by @HanFa in #1070
  • fix: update InMemoryCache test to match cross-model cache sharing behavior by @liavweiss in #1127
  • [CI] test(response-api): Error Handling support by @tao12345666333 in #1120
  • feat(selection): add Elo storage, RouterDC embeddings, and AutoMix cascading by @asaadbalum in #1104
  • [Feat][Router]: Add pluggable storage backends with per-decision isol… by @R3hankhan123 in #1107
  • feat: add mmBERT model to candle-binding to support multilingual by @rootfs in #1040
  • fix(plugins): enforce per-decision scoping for jailbreak plugin (#1126) by @haowu1234 in #1135
  • [Bugfix][Router] Enforce per-decision scoping for semantic-cache and add include_history control by @Xunzhuo in #1136
  • feat(dashboard): add topology visualization with test query support by @haowu1234 in #1145
  • Feat: Support Thinking Parser in Dashboard by @Xunzhuo in #1147
  • Feat: Support Topology Relaxing by @Xunzhuo in #1148
  • feat: Multi-Domain Cache Embedding Training Pipeline by @yossiovadia in #1095
  • feat: add python cli support for router_replay plugin by @liavweiss in #1123
  • feature: add more signals - latency signal by @liavweiss in #1105
  • Add mmBERT feedback detector pipeline with 4-class classification by @rootfs in #1150
  • Fix: Deep Thinking Layout Color by @Xunzhuo in #1151
  • feat(selection): Add Prometheus metrics for model selection evolution tracking by @asaadbalum in #1124
  • Chore: Adjust The Node Side by @Xunzhuo in #1158
  • Feat: Add Compelte Monitoring Suppprt to Dashboard by @Xunzhuo in #1159
  • Fix: CI and Add Playground by @Xunzhuo in #1164
  • Dashboard: Add Mobile Support by @Xunzhuo in #1168
  • [Feat][Router][Docs] Enhance hallucination detection with multi-level filtering by @R3hankhan123 in #1165
  • fix: add language signal support to UI by @liavweiss in #1163
  • [feat] Additional operator enhancements to better support OpenShift platform by @cooktheryan in #1133
  • Feat: Add Mobile Improves by @Xunzhuo in #1171
  • Feat/web search tool by @haowu1234 in #1172
  • feat(dashboard): add evaluation feature to GUI by @szedan-rh in #1167
  • [Feat] implement Demand RAG (Retrieval-Augmented Generation) plugin by @GOavi101 in #1152
  • Fix: Docker AMD Deploy CMD by @Xunzhuo in #1180
  • feat: support web page content fetching capability by @haowu1234 in #1181
  • Opt: Candidates and Chat UI by @Xunzhuo in #1182
  • [Misc] chore: remove tracked binary dashboard-server and add to gitignore by @samzong in #1174
  • Feat: Add Cache metrics by @Xunzhuo in #1183
  • [Doc] fix broken link for System Architecture in README by @aby42 in #1186
  • [Feat][Router] Add context signal for token count-based routing by @nabobery in #1109
  • fix: incorrect keyword rule names by @Xunzhuo in #1184
  • follow-up: add missing capacities for context signal by @Xunzhuo in #1187
  • Docs: Update vllm-sr docs to include observability dashboards by @fahimahmedx in #1188
  • feat(dashboard): integrate logo inline with title on landing page by @Xunzhuo in #1189
  • [Responses API]: Validate Response API persistent store (Redis) by @noalimoy in #1185
  • fix(classification): ensure latency signals match exclusively by @Xunzhuo in #1192
  • KServe simulator deploy for OpenShift by @nerdalert in #1190
  • [feat]: Introducing various caching engines to the operator by @cooktheryan in #1175
  • [CI]: Add e2e tests for vllm-sr Docker Python CLI (#1014) by @noalimoy in #1161
  • [Doc-zh] Add tutorials/intelligent-route/context-routing.md by @windsonsea in #1191
  • feat(signals): add few-shot complexity signal for query difficulty classification by @Xunzhuo in #1204
  • chore(docs): add npm scripts command by @yuluo-yx in #1209
  • fix(docs): fix typo by @yuluo-yx in #1208
  • feat: add 2D Matryoshka embedding with layer early exit by @rootfs in #1210
  • [Feat][Dashboard]: Add Router Replay visualization page to dashboard by @noalimoy in #1211
  • model: unified embedding model by @Xunzhuo in #1214
  • feat(training): domain-adapted embeddings via iterative hard-negative mining by @yossiovadia in #1219
  • feat: Add mmBERT 32k yarn support by @rootfs in #1227
  • [Feat][Router Replay]: Enhance with complexity signal and plugin status display by @noalimoy in #1231
  • Fix the evaluation testing, datasets api shouldn't be related to DB i… by @szedan-rh in #1224
  • Update the documentation after fixing the eval tests by @szedan-rh in #1233
  • model: update mom template with longbert by @Xunzhuo in #1234
  • chore: update feedback checking model training by @rootfs in #1238
  • [Feat]: Implement 3 ML-based model selection algorithms by @abdallahsamabd in #1119
  • mom: update playground routing rules by @Xunzhuo in #1235
  • docs: add RouterArena SOTA achievement to latest news by @Xunzhuo in #1239
  • feat: add hallucination detection model training by @rootfs in #1242
  • [feat]: migrate semantic-router KServe deployment to llmisvc by @nerdalert in #1223
  • Feat: Support ReMoM Algorithms by @Xunzhuo in #1240
  • feat: implement tpot and ttft percentile bucket for latency signal by @liavweiss in #1202
  • Chore: Update Latency Template for Playground by @Xunzhuo in #1248
  • [Doc] docs(i18n): sync zh-Hans translations and add drift detection script by @samzong in #1247
  • [Feat] Increase timeout limits to 1200s for long-running requests by @Xunzhuo in #1250
  • feat(deploy): add OpenShift option for GPU vSR classification by @nerdalert in #1246
  • feat(mcp): dashboard MCP tools support by @haowu1234 in #1216
  • feat(tests): add OpenAI API validation test suite by @mkoushni in #1215
  • [Doc] Translate proposal documents to Chinese (zh-Hans) by @uestcergs7 in #1213
  • [Feat] Add unified evaluation script for MoM collection by @ZohaibHassan16 in #1156
  • [feat]: catching operator up to allow for complexity routing by @cooktheryan in #1237
  • chore: misc fixes of recent model and binding changes by @rootfs in #1251
  • [Docs-zh] Sync installation/configuration and overview/signal-driven-… by @windsonsea in #1252
  • Feat: Support Evaluation API by @Xunzhuo in #1254
  • [Feature] Preference model e2e by @ppppqp in #1228
  • [Docs-zh] fix garbled text in zh-Hans training-overview by @guluo2016 in #1263
  • Feat(validation): add vsr validate command for ML routing validation by @abdallahsamabd in #1260
  • [Feat][Keyword]: Add dynamic confidence scoring and fuzzy matching for improved accuracy by @noalimoy in #1258
  • Feat: Support Signal Eval by @Xunzhuo in #1257
  • feat(onnx-binding): add ONNX Runtime binding with ROCm/GPU support for 2DMSE model by @rootfs in #1218
  • [UX] Persistent chat history support by @ppppqp in #1279
  • Chore: Adjust The History Sidebar for Mobile by @Xunzhuo in #1280
  • Fix: Add Missing Signal Eval Script by @Xunzhuo in #1283
  • feat(memory): add Agentic Memory support with Milvus storage by @yehuditkerido in #1194
  • [v0.2-Athena] Implement RL-driven model selection by @asaadbalum in #1196
  • [Misc] test(config): add boundary tests for config validate by @samzong in #1285
  • [Doc]: add ML-based model selection documentation by @abdallahsamabd in #1281
  • feat: Add Image Generation Tool by @rootfs in #1303
  • [Doc] docs(i18n): sync ml-model-selection to zh-Hans by @samzong in #1300
  • fix(vllm-sr): correct signal validation logic in validator by @Xunzhuo in #1298
  • [Refactor] Reorganize config files and documentation structure by @Xunzhuo in #1306
  • [Feat][CLI]: add Python CLI support for RAG plugin by @noalimoy in #1282
  • feat(memory): add configurable num_partitions for Milvus by @yehuditkerido in #1302
  • [Feat] In-Router RAG: Document Ingestion Pipeline (Vector Store API) by @yossiovadia in #1311
  • [Bugfix]: use health/readiness endpoints to check service status by @guluo2016 in #1308
  • [Feat]: add MLP with GPU support for model selection by @abdallahsamabd in #1299
  • feat: Support modality based model routing using classification and image generation by @rootfs in #1310
  • ci: add build timeout, vllm-sr Rust cache, and build time metrics by @mkoushni in #1241
  • fix(validator): add support for complexity signal validation by @Xunzhuo in #1320
  • [Bugfix] Fix mmBERT embedding download path to match model registry by @yossiovadia in #1278
  • feat: support differentiated multi endpoint configurations by @rootfs in #1323
  • [Doc] Update stale references to removed download-mmbert-embedding target by @yossiovadia in #1325
  • [Feat][Embedding]: Improve signal accuracy by @noalimoy in #1322
  • feat: add authz providers support (#1315) by @rootfs in #1321
  • chore: fix image generation tool calling; support omni models by @rootfs in #1330
  • feat(website): redesign homepage with chat UI, modern banner by @Xunzhuo in #1331
  • docs(selection): model selection algorithm documentation by @asaadbalum in #1334
  • [Router][CLI][Doc] Refactor latency routing from signal layer to decision algorithm (latency_aware) by @Djanghao in #1328
  • feat(selection): CLI support and E2E tests for model selection by @asaadbalum in #1333
  • Project: Promote New vLLM-SR Members by @Xunzhuo in #1341
  • feat(memory): add retention scoring and pruning with MemoryBank formula by @yehuditkerido in #1313
  • chore: formalize project codeowner and governance by @rootfs in #1347
  • [Feat]: add ML Model Selection Setup wizard (benchmark, train, config) by @abdallahsamabd in #1342
  • feat: use BM25 and n-gram as typo resistent keyword classifer by @rootfs in #1346
  • test: add batch size threshold tuning tests for memory extractor by @mkoushni in #1344
  • [Router][CLI][Dashboard][Doc] Drop backward compatibility for legacy latency signal config by @Djanghao in #1339
  • feat(memory): add Memory Management REST API by @yehuditkerido in #1335
  • feat: add --minimal flag to vllm-sr serve (#1329) by @szedan-rh in #1355
  • feat(dashboard): add Elo ratings page and feedback UI for model selection by @asaadbalum in #1338
  • [DOC] Add multi-protocol adaptor design doc by @R3hankhan123 in #1316
  • feat(memory): use authz framework header for user_id extraction by @yehuditkerido in #1301
  • feat: Add Usage Ratelimit Support by @rootfs in #1356
  • [Feat][Router]: add Llama Stack as a VectorStoreBackend for RAG by @noalimoy in #1351
  • feat(decision): add tree of boolean operator support across AND/OR/NOT/NAND/NOR/XOR/NXOR by @Xunzhuo in #1352
  • feat: optimize InMemoryCache.UpdateWithResponse lookup path by @cryo-zd in #1365
  • feat: support hybrid memory search by @rootfs in #1366
  • White Paper for vLLM Semantic Router by @Xunzhuo in #1332
  • [CI] test(response-api): add edge case e2e coverage by @tao12345666333 in #1367
  • [Doc] Add ModernBERT-base-32k extended context window section to white paper by @henschwartz in #1371
  • docs(paper): expand RAG section with Llama Stack backend and hybrid search by @noalimoy in #1372
  • [v0.2-Athena] Pre-train base model with longer context window - Issue #995 by @henschwartz in #1359
  • [Doc] Fix ReMoM description accuracy and add hybrid search figure by @Xunzhuo in #1376
  • chore: clean up for dirty files by @Xunzhuo in #1377
  • [Doc] Remove latency budgets from multi-dimensional signals from paper by @Djanghao in #1369
  • feat: prometheus metrics for memory operations to enable monitoring and alerting by @liavweiss in #1378
  • [bugfix]: fix error where tools_db.json couldn't be found by @guluo2016 in #1375
  • [Feat][VctoreStore]: Enable hybrid search in Llama Stack via Milvus vector_io by @noalimoy in #1370
  • [Misc] Reorganize src/training directory into categorical structure by @Xunzhuo in #1379
  • fix(onnx-binding): add missing stubs and fix go.onnx.mod for ONNX build by @mkoushni in #1381
  • fix(e2e): correct ml-model-selection download output-dir path by @Xunzhuo in #1389
  • feat: promote jailbreak and PII detection from plugins to parallel signals by @Xunzhuo in #1390
  • Reorgnize the top bar to group analyses features and Operations into … by @szedan-rh in #1392
  • feat(jailbreak): contrastive embedding detection method for multi-turn jb by @Xunzhuo in #1394
  • feat: re-org chat memory extraction, retrieve, and injection by @rootfs in #1383
  • fix(candle-binding): add missing mock methods on Windows by @guluo2016 in #1395
  • [DOC] docs(i18n): sync zh-Hans translation files by @samzong in #1396
  • paper: update memory part by @Xunzhuo in #1398
  • paper: update abs and related details by @Xunzhuo in #1399
  • chore: normalize streaming options during looper by @rootfs in #1397
  • feat(signals): sync modality and authz signals across all components by @Xunzhuo in #1401
  • fix(website): improve white-paper desktop page layout by @Xunzhuo in #1402
  • [Bugfix] Fix stale paths in go.mod, Makefile, and scripts after training dir refactor by @Djanghao in #1391
  • feat(dsl): full DSL compiler, visual builder, and language guide by @haowu1234 in #1400
  • feat(cli): migrate safety to signal-driven fast_response by @Xunzhuo in #1403
  • fix(validator,dashboard): fix complexity signal validation and optimi… by @haowu1234 in #1406
  • feat: add confidence on tool call arg by @rootfs in #1409
  • chore: allow large gRPC max message size by @rootfs in #1410
  • fix(make): correct default ONNX config path for run-router-onnx by @cryo-zd in #1408
  • chore: update amd examples containing jailbreak/pii by @Xunzhuo in #1407
  • paper: add dsl related details by @Xunzhuo in #1411
  • fix: pii and jailbreak related signal extraction logics by @Xunzhuo in #1412
  • feat: add multimodal embedding model support by @rootfs in #1414
  • chore: update template for paper by @Xunzhuo in #1415
  • chore: update website banner by @Xunzhuo in #1416
  • fix: external model config not picked up from defaults (#1405) by @asaadbalum in #1413
  • feat: add openclaw provisioning on dashbord by @rootfs in #1418
  • Feat/dsl deploy by @haowu1234 in #1417
  • feat: add openclaw team support by @Xunzhuo in #1419
  • fix: ci golang-lint errors by @Xunzhuo in #1421
  • feat: update openclaw to swarm by @Xunzhuo in #1424
  • feat: support claw orchestration by @Xunzhuo in #1426
  • feat: support ROCM with onnx binding by @rootfs in #1427
  • feat: support real-time websocket communication by @haowu1234 in #1429
  • feat: support amd rocm gpu classifier speedup by @Xunzhuo in #1428
  • chore: update the layout for dashboard by @Xunzhuo in #1430
  • feat: Enable Flash Attention for ONNX bindings by @rootfs in #1431
  • [Feat]: add response-level jailbreak detection filter by @abdallahsamabd in #1393
  • chore: fix unit test error by @rootfs in #1436
  • feat: support flash attention in vllm-sr onnx by @Xunzhuo in #1440
  • feat: support onboarding process by @Xunzhuo in #1441
  • [Feat]: gate memory storage on response-level jailbreak detection by @abdallahsamabd in #1435
  • [Feat]: implement all PIIOptions in DetectPII and add RevealEntityText option by @toffentoffen in #1438
  • feat: use nlp to compress prompt by @rootfs in #1437
  • feat: support envoy stream mode by @rootfs in #1442
  • Feat: Contrastive preference classifier by @ppppqp in #1368
  • build: update amd install steps by @Xunzhuo in #1460
  • project: init harness engineering by @Xunzhuo in #1461
  • project: add copilot instructions for harness engineering by @Xunzhuo in #1464
  • [Harness]: Split tech debt register into indexed entries by @Xunzhuo in #1466
  • [Harness]: Add task-first harness context packs by @Xunzhuo in #1467
  • fix: edit model failure in dashboard configuration by @Xunzhuo in #1462
  • feat(memory): enable hybrid search from global config by @rootfs in #1471
  • refactor: e2e framework around shared stacks and fixtures by @Xunzhuo in #1465
  • [Router][Bugfix] Refresh apiserver classification service after deploy reload by @Xunzhuo in #1472
  • [Feat]: Enable readonly OpenClaw room chat by @Xunzhuo in #1475
  • [Doc] Align AMD deploy profile with single-backend aliases by @Xunzhuo in #1474
  • [Dashboard][Bugfix] Support playground reasoning fields by @Xunzhuo in #1476
  • [Docs]: Add position paper to research page by @Xunzhuo in #1477
  • [Dashboard][Feat] polish manager and monitoring layouts by @Xunzhuo in #1478
  • website: redesign the full layout by @Xunzhuo in #1479
  • [Doc] Polish homepage and team website surfaces by @Xunzhuo in #1480
  • build: include both candle and ONNX bindings in container image by @cryo-zd in #1463
  • [Bugfix] [Dashboard]: restore ML Setup link in navigation menu by @abdallahsamabd in #1482
  • fix(website): show docs links on homepage nav by @Xunzhuo in #1483
  • Revert "build: include both candle and ONNX bindings in container image" by @Xunzhuo in #1489
  • website: polish homepage redesign and document UI contract by @Xunzhuo in #1487
  • feat(website): add one-line install flow by @Xunzhuo in #1488
  • Fix release versioning and publish tag artifacts by @Xunzhuo in #1490
  • fix release publish workflow failures by @Xunzhuo in #1491

New Contributors

Full Changelog: v0.1.0...v0.2.0