Skip to content

v0.21.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Sep 03:28

What's Changed

Breaking Changes

  • Laya integration removed (#40). The optional Laya / MLX features added in v0.20.0 (semantic duplicate labels, Laya-selected keywords, search reranking, auto category) and the Laya status added to lk stats / MCP get_stats (#39) are gone. Measured on real knowledge bases, none of them beat the heuristics they sat on top of: duplicate judgments scored unrelated pairs as high as paraphrases, auto category was less accurate than always picking the most common category, and reranking lowered the top-1 hit rate on Japanese queries (24/25 to 18/25). Search results no longer carry semantic_score, and lk add no longer picks a category on its own.

Features

  • Japanese sentence queries now find results (#40). A whole Japanese sentence pasted as the query (for example OAuth2のトークンをEncryptedSharedPreferencesに移した理由は?) used to reach FTS as one long phrase and match nothing. Any whitespace-separated token containing hiragana is now split into the ASCII words, katakana words, and kanji compounds in it before searching; tokens without hiragana are kept as typed, so keyword-style queries behave exactly as before. On a test set of 28 Japanese sentence queries, top-1 hits went from 3 to 25 and queries with no results from 18 to 0. This applies to both lk search and the MCP search_knowledge tool.
  • Japanese terms in auto-extracted keywords (#40). When --keywords is omitted, up to 3 Japanese terms (mostly kanji compounds such as 排他制御, with generic words like 処理 or 場合 excluded) are added on top of the 8 ASCII / katakana keywords, so Japanese notes get Japanese keywords without pushing out English identifiers. The default --threshold of lk keywords --regen follows the new cap of 11.

Upgrading

  • Nothing to migrate. A [laya] section left in ~/.config/lk/config.toml or .knowledge/config.toml is ignored like any unknown key, and LK_LAYA / LK_NO_LAYA no longer have any effect.
  • A Laya daemon started by v0.20.x keeps running until its idle timeout (10 minutes by default) and then exits; nothing starts it again. Its leftover files in ~/.cache/lk/ (laya.sock, laya.pid, laya_server.py) can be deleted.
  • Keywords already stored are not changed. To give existing local entries the new Japanese keywords, run lk keywords --regen --all --dry-run to preview and then lk keywords --regen --all. As before, this only touches local entries and leaves updated_at alone.

Full Changelog: v0.20.1...v0.21.0