Skip to content

Releases: Tencent/WeKnora

v0.6.2

10 Jun 07:22

Choose a tag to compare

What's Changed

  • fix(auth): allow anonymous access to share-link endpoints (#1617) by @lyingbug in #1618
  • refactor(chat): improve model name sanitization and path validation by @lyingbug in #1619
  • fix(knowledge): update doc-scroll-container class binding to account for loading state by @lyingbug in #1623
  • fix(frontend): KB list renders empty with ≥2 knowledge bases (#795) by @draix in #1620
  • feat(migrations): HNSW index for 1024-dim embeddings (bge-m3) by @toy0116 in #1609
  • fix(migrations): update migration comments for HNSW index by @lyingbug in #1624
  • fix(duckdb): avoid extension install during startup by @langcaiye in #1615
  • fix: support custom jieba dictionary directory by @langcaiye in #1627
  • fix: refresh wiki status after document polling completes by @shifang0511 in #1622
  • feat(cli)!: v0.9 agent-first CLI — contract harmonization, auth/profile consolidation, bundled Agent Skills by @voidkey in #1551
  • refactor(tracing): remove Jaeger integration and related components by @lyingbug in #1629
  • fix:langfuse init failed by @MaoMengww in #1634
  • refactor(frontend): streamline knowledge base and agent handling with chat resources store by @lyingbug in #1630
  • feat(frontend): inject commit ID into frontend build for version tracking by @lyingbug in #1635
  • feat(client): enhance knowledge file upload with process configuration support by @lyingbug in #1636
  • fix(chat): preserve provider tool-call metadata by @ziwon in #1625
  • feat(frontend): enhance dark mode syntax highlighting for code previews by @lyingbug in #1637
  • feat(frontend): implement marquee selection for knowledge base by @lyingbug in #1639
  • refactor(get_document_info): update schema definition and input parameters by @lyingbug in #1640
  • feat(release): update to version 0.6.2 with new features and improvements by @lyingbug in #1641

New Contributors

Full Changelog: v0.6.1...v0.6.2

v0.6.1

05 Jun 08:37

Choose a tag to compare

What's Changed

  • perf(repository): exclude embedding field from Elasticsearch search r… by @majinding in #1433
  • fix(swagger): Fix some Swagger API endpoints returning 404 errors and regenerate the Swagger documentation by @ChenRussell in #1436
  • fix(repository): qualify tenant_id with table name to resolve ambiguous column reference by @ChenRussell in #1435
  • fix(frontend): improve tenant settings and member list UX by @lyingbug in #1438
  • fix(summary): preserve image caption/OCR text in document summaries by @lyingbug in #1447
  • fix (chat history): #1431 Preserve multiline formatting in chat messages by @tranphuongyd in #1446
  • feat(frontend): expose KB ↔ vector store binding in editor, list, and detail by @ochanism in #1427
  • fix(frontend): keep X-Tenant-ID override when switching back to home by @lyingbug in #1451
  • refactor(logger): support LOG_FORMAT template and harden level coloring by @nixidexiangjiao in #1426
  • feat(retriever): add OpenSearch type prep ahead of Phase 3 driver by @ochanism in #1445
  • feat(wiki): add "View in Graph" entry on wiki page by @lyingbug in #1452
  • fix: correct agent selector position under zoom by @shenDv6 in #1459
  • fix(frontend): correct floating UI positioning under root zoom (follow-up to #1459) by @lyingbug in #1460
  • fix(chat): stabilize tool ordering and report cached prompt tokens by @young1lin in #1463
  • 修复客户端模型类型枚举 by @cn-kali-team in #1464
  • fix: skip empty milvus enabled status groups by @wolfkill in #1462
  • 增加sandbox对windows编译支持,现在默认是linux的实现,windows直接编译报错 by @Hitvz in #1434
  • refactor(knowledge): route single delete through async pipeline by @lyingbug in #1467
  • feat(chunk): support filtering chunks by multiple chunk_type params by @lyingbug in #1470
  • feat(docreader): improve web parser for WeChat Official Account articles by @lyingbug in #1473
  • refactor(chunk): remove unused VideoInfo field from Chunk struct by @lyingbug in #1472
  • refactor(knowledge): make checkStorageEngineConfigured a service method with global file-service fallback by @lyingbug in #1471
  • feat(frontend): consolidate KB metadata into an info popover by @lyingbug in #1478
  • fix: respect multi-turn-disabled flag in KnowledgeQA pipeline by @lyingbug in #1480
  • feat(builtin-models): add YAML-based declarative config with ${ENV} interpolation by @jackson-jia-914 in #1453
  • feat(builtin-models): add YAML lifecycle (delete, resurrect, default invariant) on top of #1453 by @lyingbug in #1483
  • fix(frontend): apply default context template when switching to quick-answer mode by @HelloAndyZhang in #1492
  • fix(input-field): wrong toast when selecting built-in agents other than quick-answer / smart-reasoning by @jackson-jia-914 in #1489
  • fix(doris): inline LIMIT/OFFSET as literals and enable parameter inte… by @SilentMil in #1488
  • feat(agent): add intent prompt customization in agent editor by @HelloAndyZhang in #1491
  • fix(pipeline): fallback to raw retrieval results when rerank API fails by @ChenRussell in #1484
  • fix(datasource): support Yuque team token in connector by @Once-the-sea-was-difficult-for-water in #1477
  • feat(retriever): add OpenSearch driver skeleton with gated interface stubs by @ochanism in #1481
  • fix(agent): preserve agent intent prompt whitespace and add tests by @lyingbug in #1494
  • feat(system): unified system administration console + platform audit log by @lyingbug in #1493
  • feat(cli)!: v0.7 agent-first wire contract + command-surface cleanup by @voidkey in #1475
  • feat(settings): regroup sidebar nav and redesign model card by @lyingbug in #1495
  • fix(im): recover from deleted session when GetSession returns app sentinel (#1499) by @lyingbug in #1500
  • feat(rbac): add multi-use share-link invitations for invite_only mode by @lyingbug in #1504
  • refactor(qdrant): optimize batch save, map iteration, and error wrapping by @sheep44044 in #1508
  • fix(agent): harden tool parameter parsing against LLM type mismatches by @caiyuze-cpu in #1505
  • feat(retriever): implement OpenSearch driver read/write paths by @ochanism in #1482
  • fix(im): make presigned URL flow diagnosable end-to-end by @lyingbug in #1507
  • fix(knowledge): prevent stuck parsing with span-tree progress tracking by @lyingbug in #1503
  • feat(knowledge-base): integrate trace availability checks and enhance UI interactions by @lyingbug in #1514
  • fix: add model display name by @wolfkill in #1523
  • fix: show agent id in editor by @wolfkill in #1521
  • feat(cli): v0.8 — --dry-run, MCP annotations, session continue-stream by @voidkey in #1510
  • feat: add knowledge parse cancellation with finalizing post-process state by @lyingbug in #1522
  • fix: apply document process timeout to asynq tasks by @HelloWeit in #1525
  • test: add document process task options tests by @lyingbug in #1529
  • feat(frontend): improve agent/KB editor ID display and intent prompts UX by @lyingbug in #1532
  • fix(im,kb): storage URL rewriting and tenant default KB storage by @lyingbug in #1540
  • feat(frontend): enhance IMChannelsOverviewPanel layout and functionality by @lyingbug in #1543
  • fix(knowledgeBase): improve tag loading logic and ensure consistent behavior by @lyingbug in #1544
  • fix(container): correct resetPendingTasks SQL on startup by @lyingbug in #1538
  • fix(knowledgeBase): improve tag loading logic and ensure consistent behavior by @lyingbug in #1545
  • feat(retriever): activate OpenSearch k-NN driver (PR 3 of 3) by @ochanism in #1542
  • feat(mcp): expose read-only wiki tools via Python MCP server by @zhuzhaoyun in #1502
  • feat(mcp-server): add multi-transport support and restore session configuration by @SilentMil in #1490
  • fix: avoid stale knowledge records on upload failure by @wolfkill in #1537
  • fix: scrub inline image payloads before embedding by @wolfkill in #1536
  • refactor(keywords_vector_hybrid_indexer): enhance image payload sanitization logic by @lyingbug in #1546
  • feat(migrations): add display_name column to models table by @lyingbug in #1547
  • fix(knowledge): unstick summary and isolate manual re-index trace attempts by @lyingbug in #1548
  • feat(knowledge): add stop-parse button to the trace timeline panel by @lyingbug in #1549
  • feat(knowledge): count wiki ingest in the finalizing subtask counter by @lyingbug in #1550
  • fix(chat): keep in-progress message reactive so continue-stream renders by @lyingbug in #1553
  • fix(knowledge): make finalizing subtask counter reliable + async question fan-out by @lyingbug in #1552
  • fix(knowledge): wrap locale code with LanguageLocaleName in wiki ingest prompts by @jackson-jia-914 in #1554
  • fix(knowledge): stitch chunks by text overlap, not by position by @lyingbug in #1555
  • refactor(settings): unify drawer style across model/parser/storage/vector/websearch/mcp by @lyingbug in #1558
  • refactor(settings): enhance card interactions and accessibility across components by @lyingbug in #1561
  • fix(doc_parser): enhance DOC to DOCX conversion reliability by @lyingbug in #1566
  • feat(chat): implement local image resolver for multimodal chat by @lyingbug in https://github.com/Tence...
Read more

v0.6.0

21 May 09:19

Choose a tag to compare

What's Changed

  • fix(compose): stop publishing docreader gRPC port to the host by @lyingbug in #1308
  • feat(frontend): show UI build version on system info page by @lyingbug in #1313
  • fix(org): searchable join bypasses invite code expiry by @tsukiga-kirei in #1324
  • fix(frontend): make rerank model optional in agent editor save by @guangyang1206 in #1317
  • feat(cli): v0.3 — extended management surface and session subtree by @voidkey in #1315
  • refactor(retriever): introduce factory for KB-scoped retrieve engine resolution by @ochanism in #1310
  • fix(session): scope session access by user by @wolfkill in #1309
  • feat(system-info): surface DB migration errors with troubleshooting links by @lyingbug in #1335
  • fix(session): map ErrSessionNotFound to 404 across all handlers (#1309 follow-up) by @lyingbug in #1336
  • fix(migration): ensure pg_trgm is created before trigram index in 000041 by @lyingbug in #1334
  • fix(kb): map ErrKnowledgeBaseNotFound to 404 across handler helpers by @lyingbug in #1339
  • feat(cli): v0.4 - output contract hardening and mainstream alignment by @voidkey in #1342
  • feat: modify the skills registration directory by @1141520944 in #1344
  • fix: extend document processing timeout for large files by @HelloWeit in #1346
  • fix(model): hide Ollama tip for remote models by @wolfkill in #1330
  • fix(knowledge): prevent infinite scroll race condition causing missing documents by @caiyuze-cpu in #1356
  • feat(cli): v0.5 — agent CRUD + chunk subtree + audit-driven cleanup by @voidkey in #1354
  • feat(auth): 连接docreader支持auth by @CodeMarker0 in #1359
  • fix(docreader/auth): harden gRPC TLS/Token rollout from #1359 by @lyingbug in #1361
  • fix: redact sensitive fields and prevent credential loss on edit by @ochanism in #990
  • fix(docreader): bump grpcio floor to 1.78.0 to match generated proto by @toy0116 in #1363
  • refactor(credentials): /credentials subresource, at-rest encryption, and test-connection UX by @lyingbug in #1364
  • feat(embedding): add Zhipu AI embedder implementation by @Wellbek in #1365
  • fix(embedding): repair broken comment in Zhipu embedder by @lyingbug in #1366
  • test(repo): add wiki_config + indexing_strategy to sqlite test DDL by @toy0116 in #1362
  • fix: guard against empty choices and message=None in LLM response by @qizwiz in #1369
  • feat(cli): v0.6 — output contract, doc wait, status, multi-id delete by @voidkey in #1368
  • feat(knowledge-base): validate vector store bindings on create, copy, and delete by @ochanism in #1372
  • fix(agent): exclude processing docs from prompt by @wolfkill in #1370
  • feat(rbac): multi-tenant RBAC — schema, enforcement, member management, ownership, audit log (#1303) by @lyingbug in #1367
  • fix(session): update AgentQA to conditionally disable title based on request by @lyingbug in #1375
  • feat(frontend): redesign knowledge document tag selector by @lyingbug in #1376
  • feat(obs): 支持华为云obs存储 by @CodeMarker0 in #1377
  • feat(url): 支持docreader不上传替换白名单url的图片 by @CodeMarker0 in #1378
  • feat(tenant): richer workspace-switch toast that survives the post-switch reload by @lyingbug in #1379
  • feat(tenant): remember user's last-active workspace across logins by @lyingbug in #1381
  • fix(auth): unify DISABLE_REGISTRATION and auth.registration_mode by @lyingbug in #1384
  • chore(env): expose tenant RBAC + per-user tenant cap as env knobs by @lyingbug in #1385
  • fix(docparser): unescape MinerU markdown image syntax by @nixidexiangjiao in #1382
  • fix(moonshot): pin temperature=1 for models that reject other values by @nixidexiangjiao in #1383
  • style(menu): tighten session list density in sidebar by @lyingbug in #1387
  • fix(menu): avoid refreshing session list when opening an existing chat by @lyingbug in #1388
  • fix(menu): stop truncating session titles when extra space is available by @lyingbug in #1389
  • feat(session): persist last request state for UI restoration by @lyingbug in #1390
  • revert: drop colored role chip styling on tenant members page by @lyingbug in #1391
  • fix(i18n): escape '@' in invite email placeholder by @lyingbug in #1392
  • fix(chunker): keep top-level heading chunks separate by @wolfkill in #1396
  • doris: add configurable compatibility modes and guard mode switches by @SilentMil in #1395
  • feat: add vLLM server URL configuration for MinerU by @xdgu0275 in #1405
  • chore: update Go version to 1.26.0 in go.mod by @lyingbug in #1407
  • fix(frontend): mirror cross-tenant superuser Admin role in UI gates by @lyingbug in #1406
  • refactor(agent): simplify grep_chunks tool to a single regex query by @lyingbug in #1410
  • feat(frontend): make Vite dev proxy target configurable by @lyingbug in #1412
  • fix(chat): stabilize history pagination and keep message order by @lyingbug in #1409
  • feat(search): fan-out KB retrieval across bound vector stores by @ochanism in #1386
  • fix(knowledge): complete indexed documents immediately by @wolfkill in #1408
  • fix(client): align UpdateAgent request types with internal API by @HQF2017 in #1398
  • fix(session): scope wiki fixer to shared KB tenant by @wolfkill in #1413
  • fix(chat): improve history rendering stability by @lyingbug in #1419
  • fix(docparser): preserve MinerU markdown and persist relative images by @M1dnightSUN in #1404
  • fix(docparser): address review feedback on #1404 (MinerU markdown & image persistence) by @lyingbug in #1420
  • docs: add Chinese RBAC guide and link with shared space docs by @lyingbug in #1421
  • fix(frontend): guard knowledge list against stale updates by @iceloon in #1424
  • fix(chat): adjust user message container to support pre-wrapped text by @ThinhTT84 in #1425
  • fix(repository): correct query syntax to get correctly built-in models #1373 by @ThinhTT84 in #1428
  • chore(release): v0.6.0 by @lyingbug in #1422
  • docs(readme): flatten Latest Updates into single-line per-version list by @lyingbug in #1430

New Contributors

Full Changelog: v0.5.2...v0.6.0

v0.5.2

13 May 07:05

Choose a tag to compare

What's Changed

  • chore: release v0.5.1 by @lyingbug in #1104
  • docs(readme): add Chrome Extension and ClawHub Skill badges by @lyingbug in #1105
  • fix(embedding): OpenAIEmbedder.doRequestWithRetry shadows err · retur… by @toy0116 in #1116
  • fix(chat): include history in model fallback by @Aphroq in #1112
  • fix(memory): dedupe episode write on duplicate streaming Done by @tsukiga-kirei in #1125
  • feat(wiki): enforce strict citation tracing and ontology reuse in Wik… by @lFeynman in #1120
  • feat(openmaic-classroom): 增加基于wiki知识图谱概念的微课堂生成支持,更新需求构建模板 by @peterchan2020 in #1119
  • fix: oidc auth login by @Windfarer in #1127
  • feat(ks3): add KS3 object storage support by @ChenRussell in #1109
  • fix(im): clamp reconnect backoff to avoid int64 overflow busy loop by @lyingbug in #1128
  • feat(frontend): unify fonts across the app and add per-user font/size/theme preferences by @Puma7 in #1121
  • fix(i18n): remove duplicate liveIndicator key in ko-KR locale by @lyingbug in #1129
  • feat(frontend): respect BASE_URL so the SPA works behind a path-prefi… by @toy0116 in #1115
  • fix: include shared knowledge in knowledge search by @Aphroq in #1111
  • fix(agent): correct graph config reporting by @Aphroq in #1114
  • fix(data-analysis): capture LOCAL_STORAGE_BASE_DIR at init time (#1040) by @guangyang1206 in #1130
  • fix(ingest): prevent filename-driven LLM hallucinations on scanned PDFs by @Puma7 in #1122
  • feat(kb-list): group pinned knowledge bases into a labeled section by @lyingbug in #1132
  • feat(frontend): replace standalone search page with global ⌘K palette by @lyingbug in #1135
  • feat(kb-list): source column + description subtitle, fix <style> XSS by @lyingbug in #1136
  • fix(files): fall back to global file service when tenant storage config is unavailable by @sqkstwj in #1096
  • refactor(knowledge): split 9.8k-line service file by responsibility by @lyingbug in #1134
  • Revert "refactor(knowledge): split 9.8k-line service file by responsibility" by @lyingbug in #1138
  • fix(storage): merge tos/s3/oss/ks3 tenant configs in buildStorageConfig (#1117) by @voidborne-d in #1137
  • feat(chunking): adaptive 3-tier strategy with editor UI and live debug panel by @Puma7 in #1124
  • refactor(knowledge): split 9.8k-line service file by responsibility by @lyingbug in #1139
  • feat(chunker): coalesce tiny adjacent heading chunks; drop redundant TierRecursive by @lyingbug in #1140
  • fix(frontend): rework chunking debug UX in the KB editor by @lyingbug in #1141
  • refactor(chunker): phase 1 cleanup — overlap bug, profile threading, protected spans, embedding trim, parent-child strategy by @lyingbug in #1142
  • fix(chunker): recognise CN chapter titles and multi-level numeric headings by @lyingbug in #1143
  • fix(knowledge): polish chunking-settings debug trigger and strategy hint by @lyingbug in #1148
  • fix: 为前端静态资源设置 Cache-Control,修复升级后需重新登录才能看到新页面 by @lyingbug in #1149
  • fix(frontend): make general-settings font picker actually work by @lyingbug in #1150
  • fix(graph): recover JSON from malformed/truncated fences in extract_entity (#1113) by @draix in #1131
  • fix: 修复流式回答think/answer混淆及对话结束标记问题 by @peterchan2020 in #1126
  • fix(agent): 统一最终答案渲染并去除重复/空思考块 by @lyingbug in #1153
  • fix(docreader): throttle heavy parser concurrency by @wolfkill in #1151
  • chore(agent): add fire-once stream diagnostic logs (agent + OpenAI layer) by @lyingbug in #1157
  • fix(frontend): render markdown tables in chat wiki drawer by @lyingbug in #1158
  • fix(frontend): polish model settings UI and fix disabled brand color by @lyingbug in #1162
  • feat: cli foundation by @voidkey in #1144
  • perf(wiki): subgraph API and interactive exploration for large graphs by @lyingbug in #1167
  • perf(wiki): lazy-load sidebar page list with virtual-scroll tabs by @lyingbug in #1169
  • fix(frontend): allow build scripts for pnpm to unblock Docker build by @lyingbug in #1170
  • fix(frontend): pass allow-build flags to pnpm install in Docker build by @lyingbug in #1171
  • fix(frontend): configure pnpm v11 build approvals in workspace file by @lyingbug in #1172
  • Fix authentication API documentation links by @aqilaziz in #1163
  • fix: propagate user attachments to agent query in AgentQA by @lyingbug in #1175
  • fix(frontend): use npm to match committed lockfile by @YunfanDu in #1174
  • Pr/wiki requeue fix by @toy0116 in #1155
  • perf(wiki): move ingest log to event table and index to on-demand API by @lyingbug in #1176
  • fix(wiki-ingest): harden lock-conflict handling and reduce retry churn by @lyingbug in #1177
  • feat(retriever): 接入 Apache Doris 4.1 作为向量数据库 by @tianlinzx in #1154
  • fix(retriever/doris): code review cleanup by @lyingbug in #1180
  • feat(wiki/graph): 优化操作帮助入口与图例视觉 by @lyingbug in #1181
  • fix(wiki-ingest): reconcile summary links and log feed when reduce LLM fails by @lyingbug in #1182
  • feat:cli v0.1 by @voidkey in #1179
  • chore(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.22 in /cli by @dependabot[bot] in #1193
  • chore(deps): bump github.com/spf13/cobra from 1.8.1 to 1.10.2 in /cli by @dependabot[bot] in #1192
  • chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #1191
  • chore(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #1187
  • chore(deps): bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #1186
  • chore(deps): bump docker/build-push-action from 3 to 7 by @dependabot[bot] in #1188
  • chore(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #1189
  • chore(deps): bump github.com/mattn/go-runewidth from 0.0.16 to 0.0.23 in /cli by @dependabot[bot] in #1190
  • chore(dependabot): expand coverage beyond /cli by @lyingbug in #1194
  • chore(deps): bump github.com/google/jsonschema-go from 0.4.2 to 0.4.3 by @dependabot[bot] in #1212
  • chore(deps): bump github.com/volcengine/ve-tos-golang-sdk/v2 from 2.7.23 to 2.9.4 by @dependabot[bot] in #1211
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.83.0 to 1.101.0 by @dependabot[bot] in #1213
  • chore(deps): bump github.com/minio/minio-go/v7 from 7.0.91 to 7.1.0 by @dependabot[bot] in #1216
  • chore(deps): bump github.com/sashabaranov/go-openai from 1.40.5 to 1.41.2 by @dependabot[bot] in #1214
  • chore(deps): bump github.com/aliyun/alibabacloud-oss-go-sdk-v2 from 1.4.1 to 1.5.1 by @dependabot[bot] in #1210
  • chore(deps-dev): bump less from 4.3.0 to 4.6.4 in /frontend by @dependabot[bot] in #1208
  • chore(deps): bump github.com/duckdb/duckdb-go/v2 from 2.5.4 to 2.10502.0 by @dependabot[bot] in #1215
  • chore(deps): bump github.com/go-openapi/strfmt from 0.25.0 to 0.26.2 by @dependabot[bot] in #1218
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.19.11 to 1.19.16 by @dependabot[bot] in #1217
  • chore(deps): bump gorm.io/gorm from 1.30.0 to 1.31.1 by @dependabot[bot] in #1209
  • chore(deps): update minio requirement from >=7.2.18 to >=7.2.20 in /docreader by @dependabot[bot] in https://github.com/Tencent/WeKnora/pu...
Read more

v0.5.1

30 Apr 09:24

Choose a tag to compare

What's Changed

  • docs(readme): enhance layout for Agent Mode and Observability sections across multiple languages by @lyingbug in #1047
  • docs(readme): update tracing references from Jaeger to Langfuse across multiple languages by @lyingbug in #1048
  • feat(frontend): add LLM call timeout for agents by @lyingbug in #1059
  • fix(wiki): queue JSON handling and failed ingest operations by @lyingbug in #1061
  • feat(types): support legacy and current formats in tenant Scan by @lyingbug in #1060
  • chore(i18n): align en-US/ko-KR/ru-RU locales with zh-CN by @lyingbug in #1062
  • chore(i18n): align en-US/ko-KR/ru-RU locales with zh-CN by @lyingbug in #1063
  • fix(wiki): Lite ingest lock, failed-op requeue, sync task retry parity by @lyingbug in #1064
  • fix: LaTeX formulas flash and disappear during streaming (#1056) by @lyingbug in #1065
  • fix(container): aggregate registration errors in connector registry initialization by @Goodnight77 in #1054
  • fix(search): align rerank priority between Execute and rerankResults by @lyingbug in #1067
  • fix(im): isolate IM sessions per agent, recover from deleted sessions by @lyingbug in #1069
  • fix(im): remove pipeline-level timeout that kills multi-round agent reasoning by @lyingbug in #1070
  • fix(docreader): remove default 100-page limit for DOCX parsing by @lyingbug in #1071
  • fix: inject KB document listing on fallback for broad queries by @lyingbug in #1072
  • feat: data_analysis sql validation & type processing by @1141520944 in #1053
  • fix(docparser): preserve standalone image uploads from icon filter by @lyingbug in #1076
  • feat(miniprogram): add WeChat mini program plugin by @wolfkill in #1055
  • feat(knowledge-base): add document batch delete and list view by @voidkey in #1075
  • fix(knowledge-base): restore hover feedback on selected list rows by @voidkey in #1078
  • fix(frontend): 知识库文档区布局、批量条与列表/卡片体验 by @lyingbug in #1080
  • fix(chat): stop button behavior and input layout fixes by @lyingbug in #1083
  • fix: prevent API key ciphertext (enc:v1:...) from leaking to the UI by @lyingbug in #1087
  • 客户端添加切换租户 by @cn-kali-team in #1085
  • feat: add STORAGE_ALLOW_LIST env var by @Windfarer in #1086
  • feat(tenant): expose API Key reset from the API Info page by @lyingbug in #1089
  • fix(frontend): polish knowledge list sticky header and floating batch bar by @lyingbug in #1088
  • refactor(im): move adapter factories into per-platform subpackages by @lyingbug in #1084
  • fix:attachment_document_failed by @MaoMengww in #1094
  • refactor(frontend): unify Model/WebSearch/MCP settings pages with shared card + drawer by @lyingbug in #1093
  • fix(frontend): polish KB list sticky header, batch bar, and card checkbox by @lyingbug in #1090
  • fix(frontend): route chat drag-and-drop uploads correctly by @Aphroq in #1095
  • fix(im): rewrite private storage URLs to HTTP in IM channel replies by @lyingbug in #1068
  • fix(crypto): fail loudly when encrypted DB fields cannot be decrypted by @lyingbug in #1100
  • fix(web-search): normalize default tenant web search config at runtime by @sqkstwj in #1097
  • feat(im): tenant-wide IM channels overview under the user menu by @lyingbug in #1102
  • feat(sessions): add keyword search, user-scoped pinning, and IM source visibility by @lyingbug in #1101

New Contributors

Full Changelog: v0.5.0...v0.5.1

v0.5.0

27 Apr 05:41

Choose a tag to compare

What's Changed

  • feat(repository): update keyword retrieval logic to use ParadeDB's matching operator by @lyingbug in #977
  • Fix system prompt not being used when flag is false by @utafrali in #969
  • fix: missing deep copy entity by @shanghai-Jerry in #975
  • fix: SQLite/Lite mode compatibility for FAQ import and chunk operations by @swim2sun in #968
  • docs: add wiki documentation with cross-referenced links by @Liwx1014 in #978
  • fix: use explicit localhost for docreader health probes by @sn1p4am in #983
  • feat(logger): implement LLM debug logging functionality by @lyingbug in #984
  • feat: add registry dual-map and engine factory for VectorStore by @ochanism in #973
  • refactor(postgres): optimize vector retrieval and HNSW settings by @lyingbug in #986
  • feat: search engine adds proxy addresses and adds SSRF verification. by @1141520944 in #987
  • feat: pass IndexConfig to repositories with scalability options by @ochanism in #981
  • feat: add VectorStore management UI settings page by @ochanism in #982
  • fix: use constant-time comparison for API key validation by @MaoMengww in #992
  • feat: add vector_store_id column to knowledge_bases for per-KB vector store binding by @ochanism in #994
  • feat: add OpenMAIC interactive classroom skill with RAG-to-courseware generation by @peterchan2020 in #989
  • fix(storage): auto-detect content-type to resolve image rendering issues by @jack-wang-176 in #999
  • fix: ReadEvent incompatible sse data format by @shanghai-Jerry in #1002
  • fix: remove limit/offset from required in list_knowledge_chunks JSON Schema by @draix in #1012
  • fix/air-toml-cgo-ldflags by @MaoMengww in #1010
  • fix(docker): 修复镜像构建兼容性问题 by @Liwx1014 in #1005
  • Fix/storage content type by @jack-wang-176 in #1013
  • fix:修复make dev-app里面脚本问题 by @tohelloworld in #1016
  • feat/yuque datasource connector by @voidkey in #1011
  • feat(wiki): introduce knowledge-base Wiki system and configurable indexing strategy by @lyingbug in #1017
  • chore: Update .dockerignore and GitHub Actions for improved caching by @lyingbug in #1018
  • chore: Update .dockerignore to clarify documentation exclusions and dependencies by @lyingbug in #1019
  • feat: Enhance agent tool compatibility and knowledge base filtering by @lyingbug in #1021
  • fix : mattermost handle io.ReadAll errors in client file by @Goodnight77 in #1020
  • refactor: Simplify WeKnoraCloud request customization and message conversion by @lyingbug in #1022
  • fix(frontend): bundle tdesign-icons sprite locally for offline deploys by @lyingbug in #1024
  • fix(agent): terminate ReAct loop on final_answer regardless of arg parse success by @lyingbug in #1023
  • feat(models): support custom HTTP headers across all remote model calls by @lyingbug in #1025
  • feat(frontend): add copy action for model cards in settings by @lyingbug in #1026
  • fix(agent-share): don't require rerank model for wiki-only agents by @lyingbug in #1028
  • feat(observability): integrate Langfuse for LLM token tracking and tracing by @lyingbug in #1027
  • feat(observability): extend Langfuse tracing across the asynq pipeline by @lyingbug in #1029
  • fix(agent): load all sheets from Excel files in data analysis (#1007) by @lyingbug in #1035
  • feat(observability): instrument agent ReAct loop and tool calls in Langfuse by @lyingbug in #1034
  • fix(agent): improve tenant context handling and error reporting by @Goodnight77 in #1036
  • Fix/docreader protoc offline whitelist by @jack-wang-176 in #1033
  • chore(release): v0.5.0 by @lyingbug in #1042
  • docs(readme): refresh title and overview to reflect RAG + Agent + Auto-Wiki by @lyingbug in #1043
  • feat: correct data analysis errors using fileService. by @1141520944 in #1041
  • Update v0.5.0 README by @lyingbug in #1044

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

15 Apr 08:13

Choose a tag to compare

What's Changed

  • fix: allow MINIO_ENDPOINT to be configured via environment variable by @voidkey in #911
  • fix: resolve tool name duplication in streaming tool calls by @tsukiga-kirei in #914
  • feat(agent): support customizable LLM call timeout by @tsukiga-kirei in #916
  • feat/connector notion by @voidkey in #923
  • feat: add VectorStore entity, repository, and migrations by @ochanism in #922
  • feat: add Azure OpenAI support for remote models by @the-waste-land in #925
  • feat: add video multimodal functionality by @DaWesen in #926
  • Fix/ Dockerfile build error by @DaWesen in #931
  • feat(web-search): add ollama web search provider support #907 by @jhao0413 in #930
  • fix: 修正视频相关迁移文件版本号冲突,从 000032 改为 000033 by @DaWesen in #937
  • feat: Wails Desktop App, Lite Edition Auto-Setup & UI Enhancements by @lyingbug in #938
  • feat: add server listening functionality with retry mechanism and platform-specific shutdown signal handling for improved robustness by @lyingbug in #939
  • Feat/desktop app by @lyingbug in #941
  • fix: downgrade neo4j driver from v6 to v5 to fix Go 1.24 Windows internal compiler bug by @lyingbug in #942
  • fix: revert to neo4j v6 and workaround Go 1.24 Windows compiler bug with -p=1 by @lyingbug in #943
  • feat(web-search): add baiduweb search provider support #907 by @jhao0413 in #944
  • feat(im): add WeChat integration with QR code login and long-polling support by @lyingbug in #946
  • fix(im): strip and citation tags before sending to IM by @voidkey in #947
  • feat: integrate WeKnoraCloud provider with chat/embedding/rerank models and signed docreader by @begoniezhao in #927
  • refactor: simplify encryption by replacing CryptoService with AES utils by @begoniezhao in #954
  • feat(im): support custom endpoints for private WeCom deployments by @voidkey in #955
  • feat: add VectorStore service layer with types and connection testing by @ochanism in #933
  • Feat: Add Alibaba Cloud Storage Configuration by @peterchan2020 in #949
  • fix(embedding): remove hardcoded TruncatePromptTokens in BatchEmbed by @begoniezhao in #960
  • refactor: migrate OSS service from AWS S3 SDK to Alibaba Cloud OSS SDK v2 by @peterchan2020 in #956
  • feat: add VectorStore CRUD API endpoints and documentation by @ochanism in #934
  • feat: attachment_support by @MaoMengww in #935
  • feat(weknoracloud): implement credential management and status checks by @lyingbug in #961
  • feat(prompt_templates): add document analysis prompt and enhance rewrite template descriptions by @lyingbug in #962
  • Remove video parser by @lyingbug in #966
  • feat(release): update to version 0.4.0 with new features, improvements, and bug fixes by @lyingbug in #967
  • feat(weknoracloud): implement WeKnoraCloud VLM integration by @lyingbug in #974
  • feat(router): implement auto-setup failure handling for Lite edition by @lyingbug in #976

New Contributors

Full Changelog: v0.3.6...v0.4.0

v0.3.6

03 Apr 05:43

Choose a tag to compare

What's Changed

  • perf(frontend): optimize login page rendering performance by @aahowe in #824
  • fix: update doc-content.vue renderer to marked v5+ token API by @ochanism in #829
  • refactor: use unified NVIDIA API for both chat and VLM by @manx98 in #838
  • feat: support parallel tool calling by @renezander030 in #835
  • feat: fix enable_thinking for Aliyun Qwen models in streaming mode by @tsukiga-kirei in #832
  • feat(im): add thread-based session mode for IM channels by @ochanism in #831
  • feat: support system proxy for remote API by @manx98 in #836
  • fix(frontend): resolve mermaid not rendering on page refresh by @manx98 in #834
  • fix(storage): add S3 provider scheme support to frontend and backend allowlists by @ochanism in #845
  • feat(knowledge): resolve remote images in file upload path by @ochanism in #843
  • feat: Authentication with OIDC by @Windfarer in #833
  • feat(datasource): add datasource management, Feishu sync, and ownership enforcement by @lyingbug in #846
  • feat: update readme & docs by @lyingbug in #847
  • chore: update architecture diagram by @lyingbug in #848
  • feat(database): enhance DatabaseQueryTool with search scope filtering by @lyingbug in #850
  • feat(mcp): implement reconnection logic for MCP tool calls and tool listing by @lyingbug in #851
  • refactor(chat): simplify temperature option handling in chat request builders (#793) by @lyingbug in #852
  • feat: add Tavily as configurable web search provider by @tavily-integrations in #849
  • feat(web-search): refactor web search provider by @lyingbug in #858
  • fix(security): support IPv6 in SSRF validation via whitelist mechanism by @voidkey in #856
  • fix(knowledge): allow deselecting document category by clicking again by @voidkey in #855
  • fix(web_fetch): use ValidateURLForSSRF instead of removed IsSSRFSafeURL by @voidkey in #859
  • fix: docreader add monkey patch for docx parse error by @Windfarer in #862
  • feat(chunker): implement header tracking for Markdown tables during chunking by @lyingbug in #863
  • feat(metadata): enhance document processing to include metadata extraction and handling by @lyingbug in #866
  • fix(elasticsearch): restore ".keyword" suffix for Terms queries on ID fields by @ochanism in #874
  • fix(frontend): use storage_provider_config instead of legacy storage_config by @ochanism in #869
  • fix(auth): simplify oidc callback result payload by @Windfarer in #871
  • refactor(prompt_templates): improve question generation guidelines and context handling by @lyingbug in #877
  • feat(knowledge): enhance knowledge tag batch update with authorization checks by @lyingbug in #878
  • feat(docreader): add docx max pages env config by @Windfarer in #884
  • docs: reorder Web UI table rows and remove outdated MCP server setup instructions by @lyingbug in #885
  • docs: update project descriptions and features in multiple language READMEs by @lyingbug in #886
  • docs: update README files to streamline section headings and remove redundant content across multiple languages by @lyingbug in #888
  • fix(i18n): use WEKNORA_LANGUAGE env for prompt language fallback instead of hardcoded zh-CN by @ochanism in #876
  • fix(knowledge): delete extracted images from storage when knowledge is removed by @ochanism in #880
  • feat(elasticsearch): enhance ID field handling with dynamic suffix detection by @lyingbug in #889
  • fix(frontend): add null checks for markdown code block text parameter by @ChenRussell in #891
  • feat(summary): enhance document summarization capabilities and UI by @lyingbug in #892
  • fix(stream): use io.EOF instead of errors.New("EOF") in SSEReader by @voidkey in #893
  • feat(asr): support asr model and audio parser by @lyingbug in #894
  • feat(chat): refine parent-child chunk replacement logic in merge process by @lyingbug in #895
  • fix(migrations): correct migration numbers and remove broken trigger by @ChenRussell in #898
  • Feat/im quote reply context by @voidkey in #883
  • feat(audio): add audio file preview support and enhance UI components by @lyingbug in #899
  • chore(release): update to version 0.3.6 by @lyingbug in #900

New Contributors

Full Changelog: v0.3.5...v0.3.6

v0.3.5

27 Mar 08:35

Choose a tag to compare

What's Changed

  • fix: guard pg_search update with skip_embedding by @Dounx in #778
  • feat/im optimization by @voidkey in #774
  • feat(dev): fix initial dev environment setup issues by @Dounx in #779
  • fix: add OpenRouter embedding provider support by @Dounx in #780
  • feat: expose builtin parser engine in settings by @Dounx in #781
  • fix: allow temperature 0, default if negative by @tsukiga-kirei in #777
  • fix: use milvus result set length for empty search results by @Dounx in #782
  • fix: respect global default storage engine when creating knowledge base (#772) by @lyingbug in #784
  • fix: use service name instead of UUID for MCP tool naming (#715) by @lyingbug in #783
  • fix(chat): preserve image markdown during sanitize by @qiangfeidog in #789
  • chore(client): remove redeclared UserInfo in client package by @chengjoey in #792
  • fix(frontend): reset page counter when reloading knowledge files by @ChenRussell in #790
  • fix(chat): support native reasoning for vllm by bypassing go-openai limitations by @tsukiga-kirei in #791
  • feat: add Novita AI as LLM provider by @Alex-wuhu in #794
  • Feat/im new platform by @voidkey in #796
  • fix(rerank): filter empty passages to prevent Aliyun API error by @ChenRussell in #806
  • feat(i18n): add missing locale keys for new features added after #724 by @ochanism in #804
  • fix: use COSINE metric instead of IP for Milvus vector search by @Dounx in #802
  • fix: add missing common.saveSuccess and common.saveFailed i18n keys by @tsukiga-kirei in #801
  • fix(tenant): prevent api_key encryption loss on tenant settings update by @ochanism in #800
  • fix(frontend): fix markdown code block rendering error by @manx98 in #797
  • feat(agent): auto-describe MCP tool result images via VLM by @ochanism in #808
  • feat(agent): add GetSuggestedQuestions API for retrieving agent-specific question suggestions by @lyingbug in #809
  • chore(go.mod): update dependencies to include tiktoken-go and golang.… by @lyingbug in #810
  • feat(security): enhance SSRF protection in RemoteAPIChat by @lyingbug in #811
  • feat: upgrade MiniMax models from M2.1 to M2.7 by @octo-patch in #812
  • fix(app): prevent UTF-8 truncation in summary fallback by @ChenRussell in #813
  • feat(prompt): enhance context and intent classification in templates by @lyingbug in #814
  • Add IM channel Mattermost by @rakaustin in #820
  • fix(agent): prevent empty response when no Knowledge Base is configured by @ochanism in #819
  • fix: marked usage errors by @manx98 in #816
  • chore(release): update version to 0.3.5 by @lyingbug in #822

New Contributors

Full Changelog: v0.3.4...v0.3.5

v0.3.4

19 Mar 10:20

Choose a tag to compare

What's Changed

  • feat: add built-in MCP service support by @tsukiga-kirei in #721
  • fix: 修复 Milvus retriever 相关问题 by @DaWesen in #722
  • feat(i18n): replace all hardcoded Chinese strings with i18n calls across frontend by @ochanism in #724
  • feat: enable language-neutral LLM prompts for multilingual response support by @ochanism in #729
  • fix(i18n): fix vue-i18n placeholder escaping, computed ref accessor, and missing ru-RU keys by @ochanism in #730
  • fix: make dev-app command error on Linux by @manx98 in #732
  • feat(security): add AES-256-GCM encryption for API keys at rest by @tsukiga-kirei in #733
  • fix(i18n): complete multilingual support for TDesign components and locale key synchronization by @ochanism in #735
  • feat: support weaviate vectordb for knowledge retrieve by @MaoMengww in #737
  • fix: correct PostgreSQL dollar-quoting syntax in migration 000017 by @aahowe in #739
  • feat(storage): 集成S3存储适配器 by @DaWesen in #736
  • feat: implement chat history and retrieval settings by @lyingbug in #742
  • feat: implement knowledge move functionality by @lyingbug in #743
  • feat: add agent management functionality by @lyingbug in #745
  • feat(preview): add localized document fullscreen toggle by @tsukiga-kirei in #746
  • feat: 改进文档预览组件的响应式设计 by @qiangfeidog in #749
  • fix: add missing UserInfo in organization.go by @ChenRussell in #754
  • feat: support NVIDIA model API by @manx98 in #747
  • fix: ensure builtin engine handles simple formats correctly by @ChenRussell in #756
  • fix: enforce 7500 char limit in chunker to prevent embedding API errors by @ChenRussell in #758
  • fix: improve auth error messages and unify username validation length by @tsukiga-kirei in #759
  • Feat/im integration by @voidkey in #760
  • feat: enhance storage engine configuration and user notifications by @lyingbug in #764
  • 修改MinIO endpoint 中错误地包含 http:// 或 https:// 前缀时的提示信息 by @ChenRussell in #763
  • feat(im): add file support and knowledge base integration by @lyingbug in #767
  • Update rerank_server_demo.py by @zsuroy in #770
  • feat(IM): support both websocket/webhook mode im channel for slack by @chengjoey in #773
  • refactor(im): improve tool invocation and result formatting by @lyingbug in #771
  • Docs(IM): add docs for slack im channel by @chengjoey in #775
  • chore(release): bump version to 0.3.4 and update changelog by @lyingbug in #776

New Contributors

Full Changelog: v0.3.3...v0.3.4