Releases: Tencent/WeKnora
Releases · Tencent/WeKnora
v0.6.2
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
- @shifang0511 made their first contribution in #1622
Full Changelog: v0.6.1...v0.6.2
v0.6.1
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...
v0.6.0
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
- @HelloWeit made their first contribution in #1346
- @caiyuze-cpu made their first contribution in #1356
- @Wellbek made their first contribution in #1365
- @qizwiz made their first contribution in #1369
- @nixidexiangjiao made their first contribution in #1382
- @SilentMil made their first contribution in #1395
- @xdgu0275 made their first contribution in #1405
- @M1dnightSUN made their first contribution in #1404
- @iceloon made their first contribution in #1424
- @ThinhTT84 made their first contribution in #1425
Full Changelog: v0.5.2...v0.6.0
v0.5.2
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...
v0.5.1
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
- @cn-kali-team made their first contribution in #1085
- @Aphroq made their first contribution in #1095
- @sqkstwj made their first contribution in #1097
Full Changelog: v0.5.0...v0.5.1
v0.5.0
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
- @utafrali made their first contribution in #969
- @shanghai-Jerry made their first contribution in #975
- @swim2sun made their first contribution in #968
- @sn1p4am made their first contribution in #983
- @1141520944 made their first contribution in #987
- @jack-wang-176 made their first contribution in #999
- @draix made their first contribution in #1012
- @tohelloworld made their first contribution in #1016
- @Goodnight77 made their first contribution in #1020
Full Changelog: v0.4.0...v0.5.0
v0.4.0
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
- @the-waste-land made their first contribution in #925
- @jhao0413 made their first contribution in #930
- @peterchan2020 made their first contribution in #949
Full Changelog: v0.3.6...v0.4.0
v0.3.6
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
- @renezander030 made their first contribution in #835
- @Windfarer made their first contribution in #833
- @tavily-integrations made their first contribution in #849
Full Changelog: v0.3.5...v0.3.6
v0.3.5
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
UserInfoin 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
- @Alex-wuhu made their first contribution in #794
- @octo-patch made their first contribution in #812
- @rakaustin made their first contribution in #820
Full Changelog: v0.3.4...v0.3.5
v0.3.4
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
- @DaWesen made their first contribution in #722
- @ochanism made their first contribution in #724
- @MaoMengww made their first contribution in #737
- @aahowe made their first contribution in #739
- @qiangfeidog made their first contribution in #749
Full Changelog: v0.3.3...v0.3.4