This blog post is a public copy of our monthly newsletter. If you’d like to receive upcoming updates by email, you can subscribe to our newsletter here.
Highlights from May include major launches unveiled at Replay ‘26, speaker sessions now available on demand, a new livestream series, product updates, community projects, and builder spotlights from folks pushing Temporal in creative directions. You’ll also find answers to real questions from the field and where to join us live.
For more information and other things we’ve been working on, just keep reading. And as always, we’d love to hear from you. Feel free to share feedback in our Community Slack.
Recently shipped#
We had an amazing slate of product releases go live at Replay earlier this month. Take a look!
- Serverless Workers are now in Pre-release. Run Temporal Workers on serverless compute, starting with AWS Lambda. Reduce the time to get started as Temporal Cloud automatically invokes, scales, and gracefully shuts down (scaling to zero, if appropriate) Temporal Workers on your behalf based on workload volume and metrics. Subscribe for updates here.
- Task Queue Priority and Fairness are now Generally available. Specify the order in which tasks are dispatched on the Queue based on Priority, and set Fairness Keys to ensure an equitable spread of compute across multiple types of task.
- Standalone Activities are now in Public Preview for Go, Python, and .NET SDKs; and in Pre-release for the Java and TypeScript SDKs. Enable Activities to run on their own, not just as steps inside a Workflow. Improve the durability and debuggability of job processing, and eliminate complex queuing and retry logic by adopting the same model you already know and love.
- Capacity Modes are now Generally Available. Ensure your Namespaces always have the right capacity by manually setting your APS limits. Reduce potential bottlenecks caused by APS limits, reduce the need for manual intervention from your team, and plan your budget for workload spikes more easily.
- Worker Versioning is now in GA! Confidently deploy new changes to the Workflows running on your Workers without breaking them. Temporal enables this by helping you manage different builds or versions, formally called Worker Deployment Versions.
- The Temporal Worker Controller is also now in GA. It is now even easier for teams utilizing K8s to manage the entire lifecycle of their Temporal workers: deployment, versioning, tuning, and scaling.
- External Storage is now in Public Preview. Using a claim-check pattern, you can offload large payloads to an external store (such as Amazon S3) and pass a small reference token through the Event History instead.
- Our new Rust SDK is now in Public Preview. Rust is the go-to language for developers who need to write high-performance software that simply can’t afford to fail. Get started today!
Join us live#
A massive thank you to everyone who made it out to San Francisco for Replay ‘26! Over three days we collectively charted the course for Durable Execution in the age of AI. Whether you couldn’t make it live or just want to relive the highlights, you can now catch up on all the session recordings and workshop materials online.
Did you know we have a livestream? Tune into Vibe Check, our livestream series where we dive into the systems, tools, and ideas shaping the future of software, or join us in person at upcoming events around the world:
AMER
- June 9-10, DASH (by DataDog) | New York, NY
- June 10, AWS Summit LA | Los Angeles, CA
- June 17, AWS Summit NYC | New York, NY
- June 30 – July 2, AI Engineer World’s Fair | San Francisco, CA
EMEA
- June 9, Durable AI Agent London Meetup @ Gradient Labs | London, UK
- June 11, Durable AI Agent Stockholm Meetup @ Lovable | Stockholm, Sweden
- June 18, XT26 | London, UK
- June 25, Open Source in Finance Forum | London, UK
APJ
- June 9–10, MCP Dev Summit Bengaluru | Bengaluru, IN
- June 10–11, Super AI Singapore | Singapore, SG
- June 12, AI Salon Singapore | Singapore, SG
Builder spotlight#
Some cool projects shipped this month! First off, the community-supported Swift SDK released 1.0.0 (plus some updates in 1.1.0). According to Franz Busch, one of the lead contributors of the projects, here are the biggest updates:
- SDK now supports the majority of Temporal feature
- Fully integrated into Swift Concurrency while adhering to Temporal’s strict determinism expectations
- Integrates with Swift’s ecosystem by leveraging Swift’s gRPC package and Swift’s observability packages
- Offers strong type safety with great ergonomics ensuring at compile time that workflow state modifications are only done in the expected places
We’ve also got a new Code Exchange project from Deepansh Saxena: duralang, a durability model for stochastic AI systems. After realizing that there was no easy way to take an existing LangChain agent and make it durable without rewriting it, Deepansh created duralang. It makes every LangChain LLM call, tool call, MCP call, and agent-to-agent call a Temporal Activity automatically. No Workflow DSL, no code rewrite. Fully stochastic agents, fully Durable Execution. Pretty neat!
How to Temporal#
Constellation member Edmondo Porcu shared temporal-lsp in #show-us-what-you-got, a prototype Language Server Protocol implementation for Temporal. LSP lets your editor give you inline diagnostics, and temporal-lsp allows your editor to flag non-deterministic calls inside Workflow code, missing Activity timeouts, and signature problems as you type, rather than waiting for a runtime failure. Pair it with the Temporal Developer Skill for proactive guidance before the code is written, and temporal-lsp for real-time checks. Together, they cover both ends of the loop for any LSP-compatible client like VS Code, Neovim, or Claude Code.
Questions from the field#
Alex Bledea asked in #go-sdk why setting a Retry Policy with a 1 ms initial interval still resulted in Activities retrying every second. Maxim Fateev, Temporal’s CTO and co-founder, asked Alex to check the ActivityTaskScheduledEvent in the Event History to confirm the policy was being recorded correctly. Tihomir Surdilovic from Temporal’s Developer Success team then explained the server-side dynamic config history.timerProcessorMaxTimeShift, which defaults to 1 second and bumps any timer shorter than that threshold up to 1 second, and pointed Alex to the debug log message that confirms when the bump is occurring. Tihomir also cautioned against lowering the config in production due to clock-skew risks between history hosts. The 1-second floor on retry intervals is a non-obvious server-side behavior that will catch anyone writing fast-retry tests.
Community member aliman asked in Discourse whether there is a cleaner way to exit a deeply nested Java Workflow when a Signal sets a “complete” flag, without inserting an explicit check at every branch in their logic. Antonio Perez from Temporal’s Developer Success team provided some example code to wrap the entire Workflow body in a CancellationScope, initializing it in @WorkflowInit, and canceling the scope from the Signal handler, then catching the resulting TemporalFailure in the main Workflow method to run any cleanup in a detached scope. This pattern should work well in Java, Go, .NET, Ruby and TypeScript. Python users could restructure into a flat state machine with wait_condition() checkpoints.