Skip to content

docs: update README.md#898

Merged
CaralHsi merged 2 commits intoMemTensor:dev-20260224-v2.0.7from
eltociear:patch-1
Feb 27, 2026
Merged

docs: update README.md#898
CaralHsi merged 2 commits intoMemTensor:dev-20260224-v2.0.7from
eltociear:patch-1

Conversation

@eltociear
Copy link
Contributor

@eltociear eltociear commented Jan 18, 2026

Description

Summary: (summary)

update contribution guidelines link

Docs Issue/PR: (docs-issue-or-pr-link)

Reviewer: @(reviewer)

Checklist:

  • I have performed a self-review of my own code | 我已自行检查了自己的代码
  • I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释
  • I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常
  • I have created related documentation issue/PR in MemOS-Docs (if applicable) | 我已在 MemOS-Docs 中创建了相关的文档 issue/PR(如果适用)
  • I have linked the issue to this PR (if applicable) | 我已将 issue 链接到此 PR(如果适用)
  • I have mentioned the person who will review this PR | 我已提及将审查此 PR 的人

update contribution guidelines link
@github-actions
Copy link

This PR has been automatically marked as stale due to inactivity.

@github-actions github-actions bot added the stale A stale issue/PR indicates a long period of inactivity. | 一个长期未更新的issue/PR。 label Feb 18, 2026
@CaralHsi CaralHsi changed the base branch from main to dev-20260224-v2.0.7 February 27, 2026 07:43
@CaralHsi CaralHsi merged commit 7778189 into MemTensor:dev-20260224-v2.0.7 Feb 27, 2026
CaralHsi added a commit that referenced this pull request Mar 2, 2026
* feat: add return_fields parameter to search methods (#955)

Add optional return_fields parameter to search_by_embedding,
search_by_keywords_like, search_by_keywords_tfidf, and search_by_fulltext
methods across all graph DB backends (neo4j, neo4j_community, polardb).

When return_fields is specified (e.g., ['memory', 'status', 'tags']),
the requested fields are included in each result dict alongside 'id'
and 'score', eliminating the need for N+1 get_node() calls.

Default is None, preserving full backward compatibility.

Changes:
- base.py: Updated docstring for search_by_embedding
- neo4j.py: Added return_fields to search_by_embedding, modified
  Cypher RETURN clause and record construction
- neo4j_community.py: Added return_fields to search_by_embedding,
  added _fetch_return_fields helper for direct vec_db path
- polardb.py: Added return_fields to all 4 search methods, added
  _extract_fields_from_properties helper for JSON property extraction

Closes #955

fix: add field name validation to prevent query injection in return_fields

- Add _validate_return_fields() to BaseGraphDB base class with regex validation
- Apply validation in neo4j.py, neo4j_community.py, polardb.py before field name concatenation
- Add return_fields parameter to base class abstract method signature
- Revert unrelated .get(node_id) change back to .get(node_id, None)
- Add TestFieldNameValidation and TestNeo4jCommunitySearchReturnFields test classes (7 new tests)

fix: resolve ruff lint and format issues for CI compliance

* feat: add optimize user_name && key words && log (#1111)

* feat:optimize user_name && key_words

* feat:optimize user_name && key_words

* hotfix: An error occurred when adding the edge of the graph. (#1109)

* skip edge

* skip edges

---------

Co-authored-by: 黑布林 <11641432+heiheiyouyou@user.noreply.gitee.com>

* fix: fix add/update log judgment — scope by user_name an… (#1116)

fix(add_handler): fix add/update log judgment — scope by user_name and exclude self-match

- Add user_name=msg.mem_cube_id to get_by_metadata() to prevent
  cross-user key matching
- Exclude mem_item.id from candidates to prevent the just-persisted
  node from always triggering the UPDATE path (self-match bug)
- Wrap get_by_metadata() in try/except so Cypher parse errors (e.g.
  from special chars in key) are logged as warnings instead of
  silently swallowing the item as missing
- Add null-safety check on original_mem_item before accessing .memory

Co-authored-by: glin1993@outlook.com <>

* fix: set default relativity (#1119)

* fix: add full text search for neo4j db (#1095)

* feat: add full_text_search for neo4j

* test: 改回去

---------

Co-authored-by: CaralHsi <caralhsi@gmail.com>

* fix: Add toggle for fulltext retrieval path (#1096)

feat: Add toggle for fulltext retrieval path (FULLTEXT_CALL), default off

* test: 将 relativity 设置为 0.5

* test: 将 relativity 设置为 0.4

* test: 将 relativity 设置为 0.45

* test: 将 relativity 设置为 0.475

* fix: set relativity 0.45

* fix: translate comments to english

---------

Co-authored-by: CaralHsi <caralhsi@gmail.com>
Co-authored-by: jiang <jiangzy@memtensor.cn>

* fix: remove unused edges & optimize logs (#1123)

* feat: add return_fields for search_by_embedding

* feat: remove unused edges

* feat: optimize log

* feat: optimize log

* feat: optimize log

* feat: optimize log

* fix: File memory parsing to output a list-type result (#1125)

Co-authored-by: 黑布林 <11641432+heiheiyouyou@user.noreply.gitee.com>

* fix: use merged_from to correctly identify add/update memory logs (#1118)

* fix(handlers): replace get_by_metadata with merged_from for add/update log detection

add_handler:
- Remove get_by_metadata graph DB query (eliminated self-match, cross-user
  matching, and Cypher escaping bugs)
- Use metadata.info['merged_from'] to determine ADD vs UPDATE — set
  upstream by mem_reader during fine extraction when LLM merges memories
- Remove unused key/transform_name_to_key computation in log_add_messages

mem_read_handler:
- Cloud env: mark operation as 'UPDATE' when merged_from is set, 'ADD' otherwise
- Local env: split items into addMemory / updateMemory events based on
  merged_from, emitting separate scheduler log events for each

* style(handlers): satisfy ruff formatting and isinstance union types

---------

Co-authored-by: glin1993@outlook.com <>
Co-authored-by: CaralHsi <caralhsi@gmail.com>

* fix: fix memory_type validation error (#1130)

* fix: user_name (#1131)

* fix: user_name

* fix: user_name

* feat: delete some logs

* fix: test_history_manager

* fix: get embedding of pref mem from db instead of recompute (#1133)

* fix: add embedding for pref memory

* fix: recompute embedding for missing memory instead of all memory

* reformat

* fix: get embedding from pref instead of pref.payload

* fix: add include embedding params to pref mem

* fix: decrease top k

---------

Co-authored-by: jiang <jiangzy@memtensor.cn>

* fix: replace bare except with except Exception in thread_safe_dict_segment (#1112)

The bare except in acquire_write() catches KeyboardInterrupt and
SystemExit, which could leave the lock in an inconsistent state.
Using except Exception ensures system-level exceptions propagate.

Co-authored-by: haosenwang1018 <haosenwang1018@users.noreply.github.com>
Co-authored-by: CaralHsi <caralhsi@gmail.com>

* docs: update README.md (#898)

update contribution guidelines link

Co-authored-by: CaralHsi <caralhsi@gmail.com>

* feat: optimize get_edges (#1138)

* feat: optimize get_edges

* feat: optimize get_edges

* chore: change version number to 2.0.7 (#1140)

---------

Co-authored-by: damaozi <1811866786@qq.com>
Co-authored-by: Hustzdy <67457465+wustzdy@users.noreply.github.com>
Co-authored-by: Dubberman <48425266+whipser030@users.noreply.github.com>
Co-authored-by: 黑布林 <11641432+heiheiyouyou@user.noreply.gitee.com>
Co-authored-by: Zehao Lin <glin1993@outlook.com>
Co-authored-by: Jiang <33757498+hijzy@users.noreply.github.com>
Co-authored-by: jiang <jiangzy@memtensor.cn>
Co-authored-by: Qi Weng <bittergreen.wengqi@hotmail.com>
Co-authored-by: Sense_wang <167664334+haosenwang1018@users.noreply.github.com>
Co-authored-by: haosenwang1018 <haosenwang1018@users.noreply.github.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale A stale issue/PR indicates a long period of inactivity. | 一个长期未更新的issue/PR。

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants