Google has released version 2.14.0 of its ADK Python agent development framework. Execution environments, inter-agent communication, and evaluation features are no longer experimental. Long workflows also use less time and memory. Developers can run the same evaluation repeatedly to examine results and reduce memory use when handling large files.
1. Execution environments and core features become stable
This release makes the local, Daytona, and E2B execution environments and environment toolsets stable.
A2A integration for inter-agent communication and mature evaluation and user simulation features are no longer experimental. A total of 26 auth, environment, app, CLI, and cache modules and 16 toolsets and integrations are now stable. They can be used without experimental warnings.
File-reading tools retrieve the required line ranges in chunks rather than loading an entire file into memory at once. The cloud execution environment AgentEngineEnvironment also reads and writes large files in chunks.
AgentEngineEnvironment reports a timeout if a command exceeds 570 seconds, before the service deadline.
The container code executor supports input and output files.
2. Repeated evaluations and argument comparison expand validation
Evaluation cases pairing inputs with expected results can now run multiple times. Parallel execution handles multiple tasks simultaneously, and results summarize scores or pass rates across runs. Run counts and parallelism are configurable, allowing judgments to draw on multiple results rather than a single run.
Nodes, the individual execution steps in a workflow, or apps can be created at runtime and used as evaluation targets.
Evaluation files can be stored outside a read-only agent directory that allows viewing but not modification. This makes evaluation data storage locations more flexible.
Comparison of call arguments, the inputs passed to tools, supports exact matching, case-insensitive matching, numeric tolerances, and language-model-based semantic comparison. These options can check whether tool arguments were passed as intended in evaluations and environment simulations.
3. Conversation channels and memory search connect to external services
A new integration connects ADK agents to Microsoft Teams chats and channels.
A2A now supports creating agent cards from the command line to prepare connection information for other agents.
A classifier that categorizes inputs is also included. It uses the OpenAI Decisions API to decide on workflows and tool use. This adds an option for connecting an external decision service to an agent's execution flow.
The MongoDB memory service adds vector-based search for related memories and configurable memory expiration. Users can now configure both how stored memories are retrieved and how long they are retained.
4. Lower runtime and memory use in long workflows
The company reports the following performance improvements.
Table: Runtime and memory reductions in long workflows
Conditions: A 200-turn run of a 30-node workflow, as reported by the company
Unit: %
| Metric | Measurement conditions | Reduction |
|---|---|---|
| Runtime | 30-node, 200-turn run | 23% |
| Peak memory use | 30-node, 200-turn run | 9% |
Internally, node path handling is simplified and event history lookups are skipped under certain conditions to reduce repetitive work. Reducing lookups repeated on every turn can lower the cumulative burden of an entire run, not just individual steps, for developers running long tasks.
When upgrading, it is worth prioritizing compatibility checks for existing calls and storage. Next, developers can check memory use for large files and use repeated evaluations to examine variation in judgments.
5. Execution efficiency gains and the cost of call and storage changes
Reading entire files and repetitive work in long workflows become less burdensome, but existing calls need adaptation. Enum is an enumerated data type for choosing one of a predefined set of values. Tool arguments declared with this type now arrive as predefined value objects rather than strings. Existing string comparisons can be replaced with member comparisons or by extracting values with .value.
In its environment-integrated mode, the skill script tool accepts validated paths and arguments instead of free-form shell commands. Shell commands are text that instructs an operating system to perform tasks. This change blocks a route for arbitrary command execution through prompt injection, an attack that uses external input to trick a model into running unintended commands. Calls, evaluation data, and prompts that passed command strings need updating.
Teams using storage should also review rollback plans and external queries. Firestore can still read existing sessions and append events, and existing PostgreSQL tables are retained.
However, Firestore sessions written by this version cannot be read after rolling back to 2.13.0 or earlier.
New PostgreSQL JSON columns are created as json rather than jsonb, so external queries using jsonb-only operators need adjustment.
v2.14.0 stabilizes execution and evaluation foundations and improves long-workflow efficiency, while requiring checks on some existing calls and storage integrations.
