<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://v12.trpc.io/blog</id>
  <title>tRPC Blog</title>
  <subtitle>Releases, deep dives and lessons learned from building tRPC, by the people who maintain it.</subtitle>
  <updated>2025-03-21T00:00:00.000Z</updated>
  <link href="https://v12.trpc.io/blog"/>
  <link href="https://v12.trpc.io/blog/atom.xml" rel="self"/>
  <icon>https://v12.trpc.io/favicon.ico</icon>
  <entry>
    <title>Announcing tRPC v11</title>
    <link href="https://trpc.io/blog/announcing-trpc-v11"/>
    <id>https://trpc.io/blog/announcing-trpc-v11</id>
    <published>2025-03-21T00:00:00.000Z</published>
    <updated>2025-03-21T00:00:00.000Z</updated>
    <summary>Although tRPC v11 has been production-ready for a long time via the @next tag, we&apos;ve gotten kinda addicted to adding new features without being sticklers to semantic versioning. Today, we&apos;re excited to finally be ripping off the band-aid and announcing the official release of tRPC v11!</summary>
    <author>
      <name>tRPC</name>
      <uri>https://trpc.io/</uri>
    </author>
  </entry>
  <entry>
    <title>Introducing the new TanStack React Query integration</title>
    <link href="https://trpc.io/blog/introducing-tanstack-react-query-client"/>
    <id>https://trpc.io/blog/introducing-tanstack-react-query-client</id>
    <published>2025-02-17T00:00:00.000Z</published>
    <updated>2025-02-17T00:00:00.000Z</updated>
    <summary>We are excited to announce the new TanStack React Query integration for tRPC is now available on tRPC&apos;s next-release. Compared to our classic React Query Integration it&apos;s simpler and more TanStack Query-native, choosing to utilize the QueryOptions and MutationOptions interfaces native to TanStack React Query, instead of wrapping useQuery and useMutation with our own client.</summary>
    <author>
      <name>Julius Marminge</name>
      <uri>https://www.jumr.dev/</uri>
    </author>
    <author>
      <name>Nick Lucas</name>
      <uri>https://bsky.app/profile/nicklucas.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Using Server Actions with tRPC</title>
    <link href="https://trpc.io/blog/trpc-actions"/>
    <id>https://trpc.io/blog/trpc-actions</id>
    <published>2024-05-23T00:00:00.000Z</published>
    <updated>2024-05-23T00:00:00.000Z</updated>
    <summary>The builder-pattern for creating procedures which was introduced in tRPC v10 has been massively appreciated by the community, and many libraries have adopted similar patterns. There&apos;s even been coined a term tRPC like XYZ as evidence of the growing popularity of this pattern. In fact, the other day I saw someone wondering if there was a way to write CLI applications with a similar API to tRPC. Sidenote, you can even use tRPC directly to do this. But that&apos;s not what we&apos;re here to talk about today, we&apos;re going to talk about how to use tRPC with server actions from Next.js.</summary>
    <author>
      <name>Julius Marminge</name>
      <uri>https://www.jumr.dev/</uri>
    </author>
  </entry>
  <entry>
    <title>Writing a tiny tRPC client</title>
    <link href="https://trpc.io/blog/tinyrpc-client"/>
    <id>https://trpc.io/blog/tinyrpc-client</id>
    <published>2023-01-17T00:00:00.000Z</published>
    <updated>2023-01-17T00:00:00.000Z</updated>
    <summary>Ever wondered how tRPC works? Maybe you want to start contributing to the project but you&apos;re frightened by the internals? The aim of this post is to familiarize you with the internals of tRPC by writing a minimal client that covers the big parts of how tRPC works.</summary>
    <author>
      <name>Julius Marminge</name>
      <uri>https://www.jumr.dev/</uri>
    </author>
  </entry>
  <entry>
    <title>TypeScript performance lessons while refactoring for v10</title>
    <link href="https://trpc.io/blog/typescript-performance-lessons"/>
    <id>https://trpc.io/blog/typescript-performance-lessons</id>
    <published>2023-01-14T00:00:00.000Z</published>
    <updated>2023-01-14T00:00:00.000Z</updated>
    <summary>As library authors, our goal is to provide the best possible developer experience (DX) for our peers. Reducing time-to-error and providing intuitive APIs removes mental overhead from the minds of developers so that they can focus on what&apos;s most important: great end user experience.</summary>
    <author>
      <name>Sachin Raja</name>
      <uri>https://github.com/sachinraja</uri>
    </author>
  </entry>
  <entry>
    <title>Announcing tRPC v10</title>
    <link href="https://trpc.io/blog/announcing-trpc-10"/>
    <id>https://trpc.io/blog/announcing-trpc-10</id>
    <published>2022-11-21T00:00:00.000Z</published>
    <updated>2022-11-21T00:00:00.000Z</updated>
    <summary>tRPC provides a great developer experience by enforcing tight, full-stack type bindings through the power of TypeScript. No API contract drift, no code generation.</summary>
    <author>
      <name>Alex / KATT 🐱</name>
      <uri>https://x.com/alexdotjs</uri>
    </author>
  </entry>
  <entry>
    <title>Introducing tRPC</title>
    <link href="https://trpc.io/blog/introducing-trpc"/>
    <id>https://trpc.io/blog/introducing-trpc</id>
    <published>2021-05-05T00:00:00.000Z</published>
    <updated>2021-05-05T00:00:00.000Z</updated>
    <summary>tRPC gives you end-to-end type safety from your (node-)server to your client, without even declaring types. All you do on the backend is that you return data in a function and on the frontend you use said data based on the endpoint name.</summary>
    <author>
      <name>Alex / KATT 🐱</name>
      <uri>https://x.com/alexdotjs</uri>
    </author>
  </entry>
</feed>
