You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Provider compatibility gate** (`test_config_builder_providers.py`): 89 parametrized tests verify canonical provider name strings and critical config fields across all mainstream mem0 providers. 28 additional registry validation tests cross-check every provider name against mem0's live factory maps — these fail on `mem0ai` upgrades that drop or rename a provider.
171
+
-**Checkpoint test isolation** (`test_checkpoint.py`): Uses `_run_async()` helper that spawns a dedicated thread and explicitly clears the inherited running-loop via `asyncio.events._set_running_loop(None)` before creating a fresh event loop. This prevents pytest-asyncio AUTO mode's C-level TSS inheritance from causing "Cannot run the event loop while another loop is running" when async tests run before these tests.
-`test_checkpoint.py` 中所有 async 路径改为 sync `def` + `_run_async()` 辅助函数,该函数在独立线程中通过 `asyncio.events._set_running_loop(None)` 清除继承的运行循环,彻底解决 pytest-asyncio AUTO 模式下 C 级 TSS 继承导致的 "Cannot run the event loop while another loop is running" 问题
Copy file name to clipboardExpand all lines: PR_TEMPLATE.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Plugin Submission Form
2
2
3
-
Last updated: 2026-04-16
3
+
Last updated: 2026-04-22
4
4
5
5
## 1. Metadata
6
6
@@ -31,13 +31,15 @@ Please provide the following metadata of your plugin to make it easier for the r
31
31
32
32
<!-- Please briefly describe the purpose of the new plugin or the updates made to the existing plugin -->
33
33
34
-
This submission updates the Mem0 Dify plugin to **v0.2.12** (self-hosted mode). Key changes are summarized below; detailed release notes and historical context are in [CHANGELOG.md](https://github.com/beersoccer/mem0_dify_plugin/blob/main/CHANGELOG.md).
34
+
This submission updates the Mem0 Dify plugin to **v0.3.0** (self-hosted mode). Key changes are summarized below; detailed release notes and historical context are in [CHANGELOG.md](https://github.com/beersoccer/mem0_dify_plugin/blob/main/CHANGELOG.md).
35
35
36
36
### Key Updates
37
37
38
-
-**Dynamic Extraction Parameters**: Switched `extract_long_term_memory` inputs to `form: llm` so Dify workflows can bind system and upstream variables more reliably
39
-
-**Cohere SDK Dependency**: Bundled `cohere>=6.1.0` by default to reduce manual setup for Cohere reranker users
40
-
-**Documentation Refresh**: Updated README, CONFIG, changelog, and related release docs to reflect the new extraction parameter behavior and reranker setup guidance
38
+
-**Checkpoint Reliability** (PR #44): Fixed async-mode resume-cursor restoration (`resume_conversation_cursor`, `resume_run_at`, `resume_start_time` now correctly round-trip through `AsyncCheckpointManager.load()`); switched save order to add-first-then-delete to prevent accidental data loss on write failure
39
+
-**Distributed Lock Reliability** (PR #44): `acquire_lock()` now performs read-after-write verification using a new `_load_all_locks()` method; earliest `acquired_at` wins on contention, loser self-deletes; `forget_memories` gains `_clean_expired_locks()` for lock record hygiene
40
+
-**Provider Compatibility Gate**: 117 parametrized unit tests covering canonical provider name strings and critical config fields across all mainstream mem0 LLMs, Embedders, Vector DBs, and Rerankers; 28 of these cross-check the mem0 factory registry directly to fail early on version-upgrade provider drift; removed invalid `mistral` provider entry
41
+
-**Test Isolation Fix**: Async checkpoint tests refactored to sync `def` + `_run_async()` helper that spawns a dedicated thread and explicitly clears inherited running-loop state, eliminating pytest-asyncio AUTO mode cross-test contamination
42
+
-**Test Suite Growth**: Unit tests grew from ~380 to **471 passing** tests
41
43
42
44
All API keys and credentials are stored locally in the user's Dify instance configuration and are not shared with any third parties. The plugin only communicates with services configured by the user (their LLM, embedding, and database services).
0 commit comments