Skip to content

Releases: letta-ai/letta

v0.6.6

20 Dec 19:03
108a460
Compare
Choose a tag to compare

🐜 Bugfix release (fix issue with disappearing messages in ADE)

What's Changed

New Contributors

Full Changelog: 0.6.5...0.6.6

v0.6.5

18 Dec 05:55
6203560
Compare
Choose a tag to compare

This release includes bug fixes for Ollama embeddings, improved error handling for streaming, improvements in debugging tool callings and agent creation.

⚙️ Providing tool call logs (stdout and stderr)

We now pass back the logs from tool execution in the FunctionResponse object. You can view these logs in the ADE in addition to the tool response:
image

👾 Simplification of agent creation API

We now allow for simply specifying the LLM and embedding configuration of an agent by specifying the model in the format <provider>/<model>:

curl --request POST \
  --url http://localhost:8283/v1/agents/ \
  --header 'Content-Type: application/json' \
  --data '{
     "memory_blocks": [
    {
      "value": "Name: Sarah",
      "label": "human"
    }, 
    {
      "value": "I am a helpful assistant",
      "label": "persona"
    }
  ],
  "llm": "anthropic/claude-3-5-sonnet-20241022",
  "embedding": "openai/text-embedding-ada-002"
}'

You can also provide the context window, and specify the character limit of memory blocks (e.g. human/persona):

curl --request POST \
  --url http://localhost:8283/v1/agents/ \
  --header 'Content-Type: application/json' \
  --data '{
     "memory_blocks": [
    {
      "value": "Name: Sarah",
      "limit": 5000,
      "label": "human"
    }, 
    {
      "value": "I am a helpful assistant",
      "label": "persona"
    }
  ],
  "llm": "anthropic/claude-3-5-sonnet-20241022",
  "embedding": "openai/text-embedding-ada-002",
  "context_window_limit": 15000
}'

What's Changed

New Contributors

Full Changelog: 0.6.4...0.6.5

v0.6.4

13 Dec 19:34
e24756d
Compare
Choose a tag to compare

🐛 Bugfix release - This release fixes the issue in the ADE that cause uploaded files to not be properly inserted in agents' archival memory

What's Changed

New Contributors

Full Changelog: 0.6.3...0.6.4

v0.6.3

11 Dec 05:01
ff60000
Compare
Choose a tag to compare

🐍 Support for Python 3.13

We now support the latest version of Python, and have also upgraded various dependencies to ensure they all also support Python 3.13.

✅ Simplification of REST API schemas

We simplified the REST API for agent creation to pass in defaults for tools and agent type. Below is an example of agent creation via the REST API (documentation):

curl --request POST \
  --url http://localhost:8283/v1/agents/ \
  --header 'Content-Type: application/json' \
  --data '{
  "memory_blocks": [
    {
      "value": "The human'\''s name is Bob the Builder",
      "label": "human"
    },
    {
      "label": "persona",
      "value": "My name is Sam, the all-knowing sentient AI."
    }
  ],
  "llm_config": {
    "model": "gpt-4o-mini",
    "model_endpoint_type": "openai",
    "model_endpoint": "https://api.openai.com/v1",
    "context_window": 16000
  },
  "embedding_config": {
    "embedding_endpoint_type": "openai",
    "embedding_endpoint": "https://api.openai.com/v1",
    "embedding_model": "text-embedding-3-small",
    "embedding_dim": 8191
  }
}'

What's Changed

Full Changelog: 0.6.2...0.6.3

v0.6.2

10 Dec 03:03
af5ef6d
Compare
Choose a tag to compare
  • Fix to data sources, e.g. letta load ... and /attach command in the CLI (#2184)
  • Support for an async messages route to allow for long running agent execution (#2206)
  • Support for system messages for OSS models and Anthropic
  • Updated Dockerfile to allow for the Letta service to be run with a single command (#2177):
# replace `~/.letta/.persist/pgdata` with wherever you want to store your data
docker run \
  -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  -e OPENAI_API_KEY="your_api_key" \
  letta/letta

# using a .env file instead of passing environment variables
docker run \
  -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  --env-file .env \
  letta/letta

What's Changed

Full Changelog: 0.6.1...0.6.2

v0.6.1

05 Dec 21:11
14d0899
Compare
Choose a tag to compare

🐛 Bugfix release

What's Changed

Full Changelog: 0.6.0...0.6.1

v0.6.0

04 Dec 05:40
128ec1a
Compare
Choose a tag to compare

This is a major release adding support for tool sandboxing and refactoring of agent state management to be more reliably synced to the database.

🛠️ Tool Sandboxing

You can use E2B for tool sandboxing by setting the following environment variables:

export E2B_API_KEY=...
export E2B_SANDBOX_TEMPLATE_ID=...

Note that if you are using an E2B sandbox, it will need to have the latest version of letta installed. We will be adding additional support for setting environment and installing additional dependencies in tool sandboxes.

🔐 Set ADE server password

If you are using the ADE, you can now password project your local server and still connect the ADE:

export LETTA_SERVER_PASSWORD=password
letta server --ade --secure --port=8283

What's Changed

  • fix: Add save agents by @mattzh72 in #2080
  • fix: shared memory without requiring send message by @kl2806 in #2068
  • fix: fix bug where updates sets block limit to default value by @kl2806 in #2074
  • test: add test for pip install on python 3.10, 3.11, and 3.12 and remove crewAI tools by @sarahwooders in #2082
  • feat: add route for editing a memory blocks limit (via Memory, instead of via Blocks) by @cpacker in #2084
  • Revert "feat: add route for editing a memory blocks limit (via Memory, instead of via Blocks)" by @cpacker in #2085
  • feat: routes for adding/linking new memory blocks to agents + unlinking blocks from agents by @cpacker in #2083
  • fix: redo #2085 by @cpacker in #2087
  • fix: make runtime error warnings.warn instead by @cpacker in #2088
  • fix: silence bad print by @cpacker in #2093
  • feat: Sandboxing for tool execution by @mattzh72 in #2040
  • fix: remove stray input by @cpacker in #2096
  • fix: boost default char limit to 5k for core memory blocks by @cpacker in #2089
  • feat: Add composio tools compatibility to sandboxes by @mattzh72 in #2097
  • fix: add more types to the type_map from python -> json schema by @cpacker in #2095
  • fix: extra safety checks in the token counter for functions by @cpacker in #2061
  • fix: Fix block model dump by @mattzh72 in #2100
  • chore: Add more log statements to base orm by @mattzh72 in #2101
  • feat: Make blocks agents mapping table by @mattzh72 in #2103
  • fix: do a pre-validation validation on the inputs assigned to agent_state.message_ids by @cpacker in #2098
  • chore: Change create_tool endpoint on v1 routes to error instead of upsert by @mattzh72 in #2102
  • fix: Update block label also updates the BlocksAgents table by @mattzh72 in #2106
  • feat: Add per-agent locking to send message by @mattzh72 in #2109
  • fix: pass tool errors through the HTTP POST /tools requests with detailed error messages by @cpacker in #2110
  • feat: Separate out streaming route by @mattzh72 in #2111
  • fix: example issue by @4shub in #2114
  • fix: Remove hard failure on bad stream_tokens input by @mattzh72 in #2115
  • feat: refactor agent memory representation and modify routes for editing blocks by @sarahwooders in #2094
  • fix: update url by @cpacker in #2124
  • feat: Improve retry mechanism for _get_ai_reply and refactor method by @mattzh72 in #2113
  • feat: support pydantic models in tool uploads + patch dict/list types by @cpacker in #2112
  • chore: add record key by @4shub in #2126
  • fix: Fixed Issue #2127 by @bluestarforever in #2129
  • fix: cleanup CLI tool prints by @cpacker in #2130
  • chore: Add tool execution sandbox test for core memory tool by @mattzh72 in #2131
  • fix: allow setting pass for server --secure by @cpacker in #2132
  • feat: Improve error messages from tool sandbox by @mattzh72 in #2135
  • feat: Add endpoints to add default e2b/local sandbox configs by @mattzh72 in #2138
  • docs: remove dollar prefix, make it convenient to copy by @ssteo in #2128
  • feat: Add endpoints to list Composio apps and actions by @mattzh72 in #2140
  • feat: Add lock around loading agent by @mattzh72 in #2141
  • feat: add POST route for testing tool execution via tool_id by @cpacker in #2139
  • feat: pass custom headers to RESTClient by @sarahwooders in #2151
  • fix: patch bug in pydantic request model for /v1/tools/run by @cpacker in #2152
  • chore: added new test to flag stray prints in new PRs by @cpacker in #2155
  • fix: escape strings in sandbox by @kl2806 in #2156
  • chore: bump version to 0.6.0 by @sarahwooders in #2153
  • fix: fix core memory limits hardcoded (draw from constant instead) by @cpacker in #2157

New Contributors

Full Changelog: 0.5.4...0.6.0

v0.5.5

22 Nov 17:08
Compare
Choose a tag to compare

🐛 Bugfix release to fix issues with the pip install letta[external-tools] option which was failing due to conflicting dependencies.
⚠️ Note: This release deprecates crewAI tools. We recommend using LangChain and Composio tools instead.

What's Changed

Full Changelog: 0.5.4...0.5.5

v0.5.4

21 Nov 02:21
742cdaa
Compare
Choose a tag to compare

🦟 Bugfix release

What's Changed

Full Changelog: 0.5.3...0.5.4

v0.5.3

20 Nov 01:08
746efc4
Compare
Choose a tag to compare

🐛 This release includes many bugfixes, and also migrates the Letta docker image to the letta/letta Dockerhub repository.

🔥 New features 🔥

📊 Add token counter to CLI /tokens #2047
🤲 Support for Together AI endpoints #2045 (documentation)
🔐 Password-protect letta server endpoints with the letta server --secure flag #2030

What's Changed

New Contributors

Full Changelog: 0.5.2...0.5.3