Skip to content

Releases: redis/agent-memory-server

Java Client 0.1.0

18 Feb 18:01

Choose a tag to compare

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:

0.13.2

05 Feb 16:33
999bf17

Choose a tag to compare

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

01 Feb 20:49
6cf2fe9

Choose a tag to compare

What's Changed

Installation

PyPI:

pip install agent-memory-server==0.13.1

Docker (standard - requires external Redis):

docker pull redislabs/agent-memory-server:0.13.1
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.1

Docker (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-standalone

0.13.0

31 Jan 21:44

Choose a tag to compare

What's Changed

Installation

PyPI:

pip install agent-memory-server==0.13.0

Docker (standard - requires external Redis):

docker pull redislabs/agent-memory-server:0.13.0
# or
docker pull ghcr.io/redis/agent-memory-server:0.13.0

Docker (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-standalone

0.12.7

14 Jan 00:50
085b3b8

Choose a tag to compare

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

09 Jan 00:01
4baa5a7

Choose a tag to compare

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

Full Changelog: server/v0.12.5...server/v0.12.6

0.12.5

10 Dec 18:08
eb46380

Choose a tag to compare

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

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

08 Oct 00:51

Choose a tag to compare

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

02 Oct 02:48

Choose a tag to compare

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

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

16 Sep 22:27
e57f084

Choose a tag to compare

Highlights

  • Simpler local dev: Add --no-worker flag to api and mcp commands. This enables a single-process mode without a Docket worker, using asyncio for background tasks.
  • Smoother prompts when sessions are missing: memory_prompt now creates a temporary empty WorkingMemory if a session doesn’t exist, instead of failing.

What’s New

  • --no-worker option for api and mcp CLI commands; MCP in stdio mode defaults to no-worker.
  • HybridBackgroundTasks class 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.yml typo.

Upgrade Notes

  • Local development: You can now run without a worker:
    agent-memory-server api --no-worker
    # or
    agent-memory-server mcp --no-worker