Releases: letta-ai/letta
v0.10.0
This release introduces a new LettaPing
message type for maintaining long streaming connections, MCP OAuth support, and various bugfixes and performance improvements.
🏓 LettaPing
message type for long-running streaming requests
To avoid connection terminations during long running tools, Letta will send a LettaPing
message at a specific interval - currently 90 seconds (#3651, #3652, #3647). You will only see the LettaPing
message if your tool execution takes longer than the ping interval, and you are using streaming endpoints.
Moving to memgpt_v2_agent
base architecture (#3624)
Default Agent Architecture Change: Letta now defaults to the new memgpt_v2_agent
architecture (see documentation). Archival memory tools are also no longer added by default, but can be added explicitly.
🔐 MCP OAuth Support
We now support OAuth MCP providers such as Linear and Github.
🧠 LLM Provider Patches
We've added patches and improved support for LMStudio and Ollama:
- LMStudio: Added support for Qwen and Llama models with manual token counting for streaming
- Ollama: integration moved to new agent loop architecture (#3615)
Bug Fixes
- Fixed null check in voice endpoint (#3690)
- Fixed builtin web search tests (#3680)
- Fixed flaky test issues (#3629)
Other Improvements
- Removed deprecation warnings and excessive logging (#3560)
- Updated test infrastructure to use Gemini 2.5 (#3548)
- Set default Letta environment to dev for OSS (#3627)
- Added modal sandbox functionality with conditional imports (commit, #3668)
- Added
not_indexable
property to agents (#3653) - Improved name generation (#3592)
- Default project configuration for agent listings (#3660)
- Removed OpenTelemetry file exports (#3691)
- API key validation before using token counter for Anthropic (#3628)
- Async system prompt compilation for better performance (#3685)
- Memory blocks viewer for better memory management (#3610)
- Polished open files tools (#3575)
- Desktop application improvements (#3537)
- Web search performance optimizations (#3650, #3649)
- Enhanced error handling for cancellations (#3641)
- Enhanced tool generation with better prompting (#3633, #3635)
- Improved tool renaming based on JSON schema (#3676)
- Multi-function files support with documentation (#3679)
v0.9.1
What's Changed
- Various bug fixes for new filesystem feature
- Asyncify jinja template rendering in core routes
- Add reverse index for agent tags
Full Changelog: 0.9.0...0.9.1
v0.9.0
v0.9.0
Letta Filesystem
We are introducing a big revamp in how Letta handles uploaded documents like PDFs! Letta Filesystem allows you to create folders and files (uploaded documents) that contextualize your agent's responses -- think Claude Projects, but transparent and controllable.
# upload a file into the folder
job = client.folders.files.upload(
folder_id=folder.id,
file=open("my_file.txt", "rb")
)
# wait until the job is completed
while True:
job = client.jobs.retrieve(job.id)
if job.status == "completed":
break
elif job.status == "failed":
raise ValueError(f"Job failed: {job.metadata}")
print(f"Job status: {job.status}")
time.sleep(1)
When documents are uploaded to Letta, they are represented in the context window as files in a folder, and can be "open" (in-context) or "closed" (hidden). The agent manages this automatically will tools, but you can also manually open/close files (add/remove to the context window).
Options for converting documents to markdown
There are two options for parsing files: the default markitdown
packages, or Mistral's OCR endpoint. To use Mistral, you must set LETTA_MISTRAL_API_KEY
. If you're using Letta Cloud, Mistral OCR will be enabled by default.
Memory blocks vs. filesystem vs. archival memory
Curious on when to use memory blocks vs. filesystem vs. archival memory? See our guidelines on how to manage a context hierarchy.
v0.8.17
v0.8.16
v0.8.15
v0.8.14
v0.8.13
v0.8.12
What's Changed
- chore: bump version 0.8.12 by @carenthomas in #2712
- chore: add traces to polling by @carenthomas in #2713
Full Changelog: 0.8.11...0.8.12
v0.8.11
What's Changed
- chore: bump letta version 0.8.11 by @carenthomas in #2711
Full Changelog: 0.8.10...0.8.11