Skip to main content

20 posts tagged with "Announcement"

Announcement tag description

View All Tags

Encrypt Cadence History Payloads (And Know What You Didn't Encrypt)

· 4 min read
Kevin Burns
Developer Advocate @ Uber

You encrypted the payloads. Here is what you did not encrypt.

The AES-256-GCM DataConverter makes every workflow input, activity result, signal payload, and query response opaque to anyone without your key. That is the good part. The less obvious part: several Cadence data surfaces sit entirely outside the DataConverter path, and they are still plaintext regardless of what your converter does.

Bypass the 2 MB Limit Without Shrinking Your Workflow

· 3 min read
Kevin Burns
Developer Advocate @ Uber

The 2 MB per-payload limit in Cadence does not come with a helpful error. Your workflow does not receive a graceful degradation notice. It just fails. And if you have never hit the limit before, the stack trace is not obvious about what happened.

The claim-check pattern solves this completely. Instead of compressing a large payload and hoping it fits, you offload it to an external blob store and write only a small reference into Cadence history. The limit no longer applies to your payload; only to the reference, which is always tiny.

Your Workflow History Is Storing More Than You Think

· 3 min read
Kevin Burns
Developer Advocate @ Uber

That customer order you passed into your fulfillment activity (the one with the email address, the shipping details, and the internal pricing fields) is sitting in your workflow history as plaintext JSON right now. Anyone with read access to Cadence history can see it. So can anyone with access to your history storage backend. Data pipeline: workflow history exposed vs. protected with DataConverter This is not a bug. It is how Cadence works by design, and it is the right default for most workloads. But three problems follow from it in production, and most teams hit at least one of them before they know the solution exists.

Signal Handling in the Cadence Python Client

· 6 min read
Jiahao Li
Software Engineer @ Uber

Signals are how the outside world communicates with a running Cadence workflow without interrupting it. Consider a document approval workflow that runs for days or weeks: at any moment, a manager clicks "Approve" on a dashboard and that signal needs to reach the workflow immediately — without restarting it or losing its place. Whether you're building human-in-the-loop approvals, broadcasting configuration changes to thousands of running workflows, coordinating multi-stage pipelines, or implementing liveness checks — signals are the right tool.

Signal handling feature in python client is now available in the latest cadence-python-client release, v0.2.2 — see the v0.2.2 release notes on GitHub and install from PyPI.

Cadence in 2025

· 12 min read
Ender Demirkaya
Senior Manager at Uber, Cadence. Author of the Software Engineering Handbook

Hi Cadence Community,

At the beginning of every year, we share about what happened in the last year. Here’s a look back at our 2025 improvements, explaining what’s new, and how you can use them. 2025 was one of the most exciting years for the Cadence project and we hope this will only get better in the future. Here are some highlights:

Help Cadence Reach CNCF Incubation

· 3 min read
Ender Demirkaya
Senior Manager at Uber, Cadence. Author of the Software Engineering Handbook

Help Cadence Reach CNCF Incubation

Cadence is an open-source workflow orchestration platform. Our community currently includes more than 150 companies and it continues to grow. Many critical services are built with Cadence as it simplifies complex systems by separating business logic from its distributed system concerns.

Recently, Cadence was donated to Cloud Native Computing Foundation (CNCF), which is a major step towards making it an industry standard and receiving support from all around the world. In other words, the Cadence project is now a Linux Foundation project, licensed under Apache v2 which allows anyone to use and extend it freely. The project operates with open, merit-based governance, giving everyone the opportunity to help shape its future.

Controlling Workflows From Web

· 2 min read
Assem Hafez
Software Engineer @ Uber

See Start Workflow in Action

For a long time, controlling Cadence workflows was primarily done through the client SDKs or the administrative CLI. Our vision for Cadence Web has been to evolve it from a read-only inspection tool into a Unified Operational Hub for all workflow management needs. This means putting every essential workflow action directly in the hands of operators, support engineers, and developers—right where they observe workflows.

Over the past releases, we’ve been steadily introducing interactive capabilities such as Terminate, Cancel, Restart, Signal, and Reset. Each of these brought Cadence Web closer to becoming a full-featured operational console.

Introducing Batch Future with Concurrency Control

· 6 min read
Kevin Burns
Developer Advocate @ Uber

Are you struggling with uncontrolled concurrency when trying to process thousands of activities or child workflows? Do you find yourself hitting rate limits or overwhelming downstream services when running bulk operations? We've got great news for you!

Today, we're thrilled to announce Batch Future, a powerful new feature in the Cadence Go client that provides controlled concurrency for bulk operations. You can now process multiple activities in parallel while maintaining precise control over how many run simultaneously.