Releases: redis/agent-memory-server
Releases · redis/agent-memory-server
Java Client 0.1.0
Changelog
🚀 Features
- 7884b45 upgrading java client to jvm 21 (#149), closes #149
- 5dd30a1 use reusable workflow for Java client release
- 17189a3 jreleaser for the Java Client
- 712b54c js-client: v0.3.1 - add utility methods, fix vulnerabilities, fix body read bug
- d04f8fa config: make extraction debounce TTL configurable (#112), closes #112
- aa3028e llm: use LLMClient for startup model validation
- 0bd0069 llm: add LLMClient abstraction layer with LiteLLM backend
- 5a473a5 initial implementation of the Java SDK Client
- 38f71e9 Add LangChain integration with automatic tool conversion
- 562d897 Add recent_messages_limit parameter and fix critical extraction logic bugs
- 2f4ea93 Add --no-worker CLI option for simplified development
- c8bdeb9 complete client library parameter naming updates
- 9db522b complete vectorstore adapter parameter name updates
- 453c7b5 expand short recency parameter names to descriptive ones
- e447288 redis: AggregateQuery with KNN + APPLY + SORTBY for server_side_recency; formatting fixes
- a6d1961 redis: use RedisVL paging with contextlib.suppress; fix loop var lint; adjust next_offset/total
- 576d6c5 redis: use RangeQuery when distance_threshold is provided; VectorQuery otherwise (RedisVL expects distance_threshold at query level)
- 24d321d redis: DB-level recency ranking via RedisVL VectorQuery and adapter fallbacks; format fixes
- 2d38015 Make OpenAI and Anthropic API base URLs configurable
- a69add0 restructure API URLs for better clarity and consistency
- 5638bff restructure API URLs for better clarity and consistency, closes #17
- 0f59a98 Add comprehensive OAuth2/JWT authentication with extensive test coverage, closes #12
🐛 Fixes
- c52be66 use reusable workflow with git-root-search for Java client release
- cab88b6 add --git-root-search flag for JReleaser (#153), closes #153
- 7ea38a3 add git-root-search for JReleaser in monorepo
- bf9eae7 configure tag prefix for Java client release (#152), closes #152
- 62c2eba configure Axion scmVersion block before version resolution (#151), closes #151
- 0f50bdf correct Axion repository path for Java client release (#150), closes #150
- 4b67664 address PR review comments
- 3aba394 add per-task timeouts for LLM-dependent Docket tasks (#135), closes #135
- 9bcca5f add per-task timeouts for LLM-dependent Docket tasks
- 4b2d704 ci: use NPM_TOKEN for npm publish
- 8e61ca1 update minimum Node.js version to 20 for JS client
- f9e33ec index sessions in sorted set for listing (#119), closes #119
- 59679e0 tests: fix pre-existing test failures
- edcaa57 replace silent fallbacks with explicit ModelValidationError exceptions
- 4f602fe patch correct LLMClient.get_model_config path in test
- d387f24 linting/formatting
- 0ebea67 fix type hints and UTs
- 12accf7 enable auth by default
- 6be3056 AWS credentials requirements
- 5249efd AWS credentials check
- a7793cd bedrock runtime type hint
- 90fd640 detailed error message
- 5da85a2 hardcoded docker image tags
- ffd7b25 some mypy issues
- 612932e unit tests
- 207315a bug
- 5e4e864 formatting
- 43c73e4 app startup
- 745ec70 Accept single memory object in create_long_term_memory tool
- 3c3042a Complete LangChain integration example in README
- 3d17dd9 Address Copilot review comments
- dbbf383 Resolve mypy unused-ignore error for optional langchain import
- 4fc4687 Address CI failures and documentation issues
- 68c5138 Use ThreadPoolExecutor to avoid event loop conflicts in HybridBackgroundTasks
- 325bb71 Correct HybridBackgroundTasks interface and behavior
- be0abca add robust error handling for LLM response parsing
- 9dcc4c1 add robust error handling for LLM response parsing
- c1f0729 update test imports after moving recency functions
- 5f849dc address PR review feedback
- a8fb65c address PR feedback - improve type checking, extract complex logic, update docs
- 4c6b1c1 add _parse_list_field to base adapter; tests now pass including recency and adapter paths
- a633044 redis: coerce list fields in Redis aggregate path; add RecencyAggregationQuery.build_args helper; update tests to use build_args; whitespace fix
- 3df5d15 Use elif instead of if for Anthropic provider check
- 61c7497 Fix threading.Lock isinstance test in test_auth.py
- 1d9544b Address all linting issues in auth.py
- 89235f8 Address test failures and dependency issues
- e5ea85c Address test failures and configuration issues
- 846c2c2 Replace boolean lock with threading.Lock for thread safety
🔄️ Changes
- 968be93 llm: remove TestLLMHandler Protocol and test injection mechanism
- 7e805a1 convert LLM response types from dataclasses to Pydantic BaseModel
- 46d80bc consolidate embeddings creation in LLMClient
- 3a83585 llm: update imports to use llm package
- fc212a0 llm: reorganize llm_client.py into llm/ package
- 883fb2e 🚨 llm: migrate from llms.py to LLMClient - llms.py module removed, use llm_client.py instead
- ed3b250 resolve PR review comments on memory editing functionality
- 58ee06b resolve PR review comments on recency and MCP changes
- a1a5a4d move imports to top of vectorstore_adapter.py module
- 83d5abb improve code quality and remove duplication in vectorstore adapter
- eac6268 redis: integrate RecencyAggregationQuery; fix AggregationQuery usage; clean imports
🧪 Tests
- 37f4dea llm: add integration tests for HuggingFace and Gemini providers
- 5a5014a llm: refactor LLM client tests to use standard mocking patterns
- 8bbbae9 update tests for Pydantic model conversion
- d5081a1 llm: update test imports and patch paths for llm package
- 8e4798a llm: update test imports to use LLMClient
- 71260cc llm: add LLMClient tests and update test fixtures
- 5e1f7c5 redis: add RecencyAggregationQuery and server_side_recency adapter tests; formatting fixes
🧰 Tasks
- 31f8560 rename JS client package to unscoped 'agent-memory-client'
- bc23df0 add dev_docs to .gitignore
- 93254c4 Bump client version to 0.12.5
🛠 Build
- 48fa562 use npm trusted publishing (OIDC) instead of NPM_TOKEN
- bdaa9a9 deps: bump marshmallow from 3.26.1 to 3.26.2 (#128), closes #128
- 6ec7da9 deps: update dependencies for LLMClient
📝 Documentation
- ca10332 update project structure for llm/ package
- 63c3384 update CLAUDE.md with LLMClient context
- 18f1e25 Make all LangChain integration examples runnable
- 9968f7b Improve LangChain integration documentation
- 22c1cde rename Memory Strategies to Memory Extraction Strategies and integrate Memory Editing into Memory Lifecycle
- 26c7932 restructure memory documentation
- 6b8275c fix linting issues in memory-lifecycle.md
- ead73d4 tighten language in memory-lifecycle.md
- aab8d86 rewrite memory-lifecycle.md to reflect actual server-controlled implementation
- 5455792 add descriptive parameter examples
Contributors
We'd like to thank the following people for their contributions:
- Andrew Brookins ()
- Brian Sam-Bodden ()
- Chris Guidry (@chrisguidry)
- Copilot ()
- Epic Flow Worker (@tegument)
- Farouk Boukil ()
- GitHub ()
- Julien Ruaux ()
- Nitin Kanukolanu ()
- Raphael De Lio ()
- Song Luar ()
- abrookins (@abrookins)
- allie.jones ()
- claude[bot] (@claude[bot])
- copilot-swe-agent[bot] ()
- dependabot[bot] (@dependabot[bot])
- epicdigitalmedia (@epicdigitalmedia)
- fcenedes (@fcenedes)
- nitin (@nkanu17)
0.13.2
What's Changed
- Fix: Add per-task timeouts for LLM-dependent Docket tasks by @abrookins in #138
- Fix: Add userId to JS client getWorkingMemory options by @abrookins in #137
Full Changelog: server/v0.13.1...server/v0.13.2
0.13.1
What's Changed
Installation
PyPI:
pip install agent-memory-server==0.13.1Docker (standard - requires external Redis):
docker pull redislabs/agent-memory-server:0.13.1
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.1Docker (standalone - all-in-one with embedded Redis):
docker pull redislabs/agent-memory-server:0.13.1-standalone
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.1-standalone
# Run with persistent storage:
docker run -d -v ~/.agent-memory/data:/data -p 8000:8000 \
-e OPENAI_API_KEY=your-key \
redislabs/agent-memory-server:0.13.1-standalone0.13.0
What's Changed
Installation
PyPI:
pip install agent-memory-server==0.13.0Docker (standard - requires external Redis):
docker pull redislabs/agent-memory-server:0.13.0
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.0Docker (standalone - all-in-one with embedded Redis):
docker pull redislabs/agent-memory-server:0.13.0-standalone
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.0-standalone
# Run with persistent storage:
docker run -d -v ~/.agent-memory/data:/data -p 8000:8000 \
-e OPENAI_API_KEY=your-key \
redislabs/agent-memory-server:0.13.0-standalone0.12.7
What's Changed
- LiteLLM Embeddings Wrapper and Documentation Updates by @nkanu17 in #108
- Use LLM for topic and entity extraction by default by @abrookins in #111
- Fix deduplication bypass in promote_working_memory_to_long_term by @nkanu17 in #114
- Bug fixes, updating supported model versions, and summary views by @abrookins in #103
New Contributors
Full Changelog: server/v0.12.6...server/v0.12.7
0.12.6
What's Changed
- Fix non-Docket background tasks for MCP servers by @abrookins in #101
- Allow customizing memory tool descriptions with ToolSchema wrapper classes by @fcenedes in #100
- Working memory now required to have timestamps by @fcenedes in #102
- Initial implementation of the Java SDK Client by @raphaeldelio in #104
- Custom summarization prompt by @luarss in #78
- New support for 100+ model types and vendors with LiteLLM by @nkanu17 in #107
New Contributors
- @raphaeldelio made their first contribution in #104
- @luarss made their first contribution in #78
- @nkanu17 made their first contribution in #107
Full Changelog: server/v0.12.5...server/v0.12.6
0.12.5
What's Changed
Enhancements
- Add long_term_memory_strategy support to client and MCP by @abrookins in #82
- Store working memory as JSON instead of string data by @fcenedes in #95
- Allow token add to accept pre-generated tokens by @abrookins in #88
- Add JSON output for token CLI token commands by @abrookins in #86
- Support AWS Bedrock Embedding Models and LLM Models by @f4roukb in #94
- Add GHA workflow to publish server to PyPI by @abrookins in #98
Docs
- Document Docker image locations and default to development mode by @abrookins in #77
- Update Memory types link to a working page. by @allierays in #84
- Document token CLI JSON output and CI/Terraform bootstrapping by @abrookins in #93
Fixes
- Fix CLI token show command to exit with code 1 on errors in JSON mode by @Copilot in #90
- Fix MCP search_long_term_memory missing background_tasks parameter by @abrookins in #99
New Contributors
- @allierays made their first contribution in #84
- @f4roukb made their first contribution in #94
- @fcenedes made their first contribution in #95
Full Changelog: server/v0.12.3...server/v0.12.5
Docker images published:
redislabs/agent-memory-server:0.12.5
ghcr.io/redis/agent-memory-server:0.12.5
redislabs/agent-memory-server:latest\n - ghcr.io/redis/agent-memory-server:latest
0.12.3
What's Changed
- Fix background task execution in --no-worker mode by using HybridBackgroundTasks directly as type annotation instead of Depends(get_background_tasks)
- Add deduplicate parameter to create_long_term_memory endpoint with default true
- Pass background_tasks parameter through search_long_term_memory and memory_prompt endpoints
- Update MCP server to create HybridBackgroundTasks instance for memory_prompt calls
- Update tests to patch actual functions instead of BackgroundTasks class
- Add test to verify tasks run inline in --no-worker mode
Full Changelog: server/v0.12.2...server/v0.12.3
0.12.2
What's New
- Reconstruct working memory messages from long-term storage by @abrookins in #68
- Add LangChain integration with automatic tool conversion by @abrookins in #73
Bug Fixes
- Calculating remaining context works better now by @abrookins in #68
- Client error handling by @abrookins in #72
Misc.
- Defaults change: Turn off query optimization by default by @abrookins in #68
Full Changelog: server/v0.12.1...server/v0.12.2
0.12.1
Highlights
- Simpler local dev: Add
--no-workerflag toapiandmcpcommands. This enables a single-process mode without a Docket worker, using asyncio for background tasks. - Smoother prompts when sessions are missing:
memory_promptnow creates a temporary emptyWorkingMemoryif a session doesn’t exist, instead of failing.
What’s New
--no-workeroption forapiandmcpCLI commands; MCP in stdio mode defaults to no-worker.HybridBackgroundTasksclass to support dual-mode background work (Docket or FastAPI).
Documentation
- Rewrote Memory Lifecycle docs to reflect server-controlled lifecycle (Docket background tasks, best practices) and tightened language; renamed and linked Memory Integration Patterns; fixed URLs and a
mkdocs.ymltypo.
Upgrade Notes
- Local development: You can now run without a worker:
agent-memory-server api --no-worker # or agent-memory-server mcp --no-worker