diff --git a/src/content/changelog/durable-objects/2025-08-21-durable-objects-get-by-name.mdx b/src/content/changelog/durable-objects/2025-08-21-durable-objects-get-by-name.mdx new file mode 100644 index 00000000000000..e03702fa3be293 --- /dev/null +++ b/src/content/changelog/durable-objects/2025-08-21-durable-objects-get-by-name.mdx @@ -0,0 +1,26 @@ +--- +title: New getByName() API to access Durable Objects +description: Get a Durable Object client with a single line of code. +products: + - durable-objects + - workers +date: 2025-08-21 +--- + +You can now create a client (a [Durable Object stub](/durable-objects/api/stub/)) to a Durable Object with the new `getByName` method, removing the need to convert Durable Object names to IDs and then create a stub. + +```js +// Before: (1) translate name to ID then (2) get a client +const objectId = env.MY_DURABLE_OBJECT.idFromName("foo"); // or .newUniqueId() +const stub = env.MY_DURABLE_OBJECT.get(objectId); + +// Now: retrieve client to Durable Object directly via its name +const stub = env.MY_DURABLE_OBJECT.getByName("foo"); + +// Use client to send request to the remote Durable Object +const rpcResponse = await stub.sayHello(); +``` + +Each Durable Object has a globally-unique name, which allows you to send requests to a specific object from anywhere in the world. Thus, a Durable Object can be used to coordinate between multiple clients who need to work together. You can have billions of Durable Objects, providing isolation between application tenants. + +To learn more, visit the Durable Objects [API Documentation](/durable-objects/api/namespace/#getbyname) or the [getting started guide](/durable-objects/get-started/). \ No newline at end of file