Agent frameworks on the JVM have been playing catch-up. Most of the interesting Python SDK features, from LangChain to Pydantic AI to Google's own ADK, ship Python-first, and Java teams have either rolled their own or eaten the inter-language latency of calling Python services. Google's Agent Development Kit for Java just hit 1.0, and the gap narrowed meaningfully in this release. InfoQ summarizes the additions, and the shape of the kit is now close enough to the Python ADK that Java builders can use it as a primary platform, not a translation layer.

The structural change is a new App class and a Plugins base. App is a top-level container for agentic apps: it holds the root agent, global configuration, and plugin integration. The Plugins layer ships three built-ins worth naming — LoggingPlugin for structured execution logs, ContextFilterPlugin for pruning older conversation turns out of the context window, and GlobalInstructionPlugin for applying shared instructions across agents. Context management also gains event compaction, which keeps a sliding window of recent events and summarizes older ones, with configurable interval, token threshold, overlap size, retention, and choice of summarizer. Human-in-the-loop is modeled directly: tools can call requestConfirmation() on the ToolContext to pause execution, and the framework cleans up intermediate events and injects the confirmed call into the next LLM request.

On the tooling side, 1.0 ships integrations that matter for real agent workloads. GoogleMapsTool and UrlContextTool cover two common retrieval paths. ContainerCodeExecutor and VertexAICodeExecutor give you sandboxed code execution via Docker or Vertex AI. ComputerUseTool wraps Playwright for browser and computer control, matching the surface area of Anthropic's computer use and OpenAI's equivalents. Multi-agent communication is done through the Agent2Agent protocol: an A2A AgentExecutor wraps your ADK agent and exposes it as a JSON-RPC REST endpoint, which is a cleaner interop story than ad-hoc HTTP APIs. The Python-Java gap isn't gone. Contributor Guillaume Laforge is explicit that new features and experiments usually start in Python and are progressively ported to Java. But the 1.0 stamp on the Java side is meaningful.

If you are building agents in a Java shop, the pragmatic read is straightforward. ADK Java 1.0 gives you the standard primitives you need (agents, tools, HITL, context control, multi-agent) plus A2A interop, without having to proxy through a Python sidecar. If you already have a Python agent stack, the A2A AgentExecutor is the interesting piece: you can expose your Java agents as JSON-RPC endpoints and let Python agents call them, which is a real option for mixed-language deployments. Watch for new features to keep landing in Python first. That asymmetry is stated policy, not an accident.