Skip to content

Release: Production-ready improvements - Performance, metadata, and developer experience enhancements#23

Merged
savourylie merged 30 commits intomainfrom
dev
Oct 10, 2025
Merged

Release: Production-ready improvements - Performance, metadata, and developer experience enhancements#23
savourylie merged 30 commits intomainfrom
dev

Conversation

@savourylie
Copy link
Copy Markdown
Contributor

🎯 Overview

This release brings significant improvements to MemFuse Python SDK focusing on performance optimizations, new API features, and enhanced developer experience. Includes 2,308 additions across 51 files with major refactorings and new capabilities.

✨ Key Features

Performance & Reliability

API Enhancements

Developer Experience

Infrastructure

🧪 Testing

  • Added comprehensive test suites including:
  • Agent idempotency tests
  • Metadata type validation tests
  • Version compatibility tests
  • Query schema validation tests
  • Enhanced retrieval metrics testing

📦 Migration Notes

  • Port change: Default server port is now 8765 (was 8000)
  • Dependencies: Install UI examples with poetry install -E ui
  • Deprecated parameters: Legacy parameters now trigger deprecation warnings (still functional)

🔗 Related PRs

M1n9X and others added 30 commits August 25, 2025 17:28
- Implement concurrent LLM calls with controlled delays to avoid server overload
- Add new command-line arguments for concurrency and delay settings
- Refactor run_benchmark_evaluation to use concurrent tasks
- Update related scripts to support new concurrency options
…tions

- Remove concurrent_delay argument from run_benchmark.py, scripts/load_and_run.py, and scripts/run_evaluation.py
- Update _evaluate_single_question and run_benchmark_evaluation functions to remove staggered execution logic
- This change simplifies the concurrency control mechanism, using asyncio's built-in concurrency primitives without adding artificial delays
…iciency

- Implement concurrent evaluation of questions using asyncio Semaphore
- Refactor question evaluation logic into a separate function
- Update default LLM provider to OpenAI in run_benchmark.py
- Change default LLM provider to Gemini in utils.py
- Optimize data loading and evaluation flow
…king improvements

- Added concurrent evaluation support from feat/concurrent branch
- Extended retrieval metrics to support MSC dataset alongside LME
- Enhanced string normalization with regex-based punctuation removal for better matching
- Improved argument parsing with provider-specific model defaults
- Updated gitignore to include .vscode/ directory
- Maintained backward compatibility while adding new features
…luation

- Fixed 'list' object has no attribute 'lower' error by using correct function call
- Restored calculate_enhanced_retrieval_metrics() instead of simple calculate_retrieval_metrics()
- Includes both enhanced and legacy metrics for comparison
- Maintains concurrent evaluation while preserving enhanced retrieval tracking features
…e mode

- Add --retrieval-verbose flag to capture and display full retrieved memory content
- Enhance incorrect questions CSV export with recall flags for better analysis
- Support CSV format parsing in question IDs file for compatibility
- Improve memory content display with score information and truncation
…attern

Add singleflight pattern to prevent concurrent agent creation attempts for the same agent name. Implement POST-first flow with server-side idempotent create and fallback GET handling. Add retry logic with exponential backoff for network and server errors. Include thread-safe locking for sync client and proper error handling for conflict scenarios.

Also includes:
- Add idempotency_key parameter to agent creation API
- Fix potential NoneType errors in benchmark retrieval
- Update default LLM provider for benchmarks
- Add comprehensive tests for agent idempotency
- Add .cursorindexingignore to .gitignore
- Exclude .specstory directory from version control
…king

Add version compatibility utility and update health endpoint to include version information
for SDK compatibility checking as requested in issue #116.
feat: add version field to health endpoint for SDK compatibility chec…
refactor: replace openrouter with openai compatible client in MSC acc…
…t models, and implement deprecation warnings for legacy parameters
…-resp-fields

Feat/146 prompts handle new query resp fields
…i-calls

feat: add debug logging support controlled by MEMFUSE_DEBUG environme…
feat: update MemFuse base URL to use port 8765 across examples and tests
feat: add optional UI dependencies and update examples to handle miss…
feat: streamline server health checks during session initialization
@savourylie savourylie merged commit f4c0e17 into main Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants