Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/blog/announcing-tanstack-query-v5.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ Another long-standing [discussion from 2021](https://github.com/TanStack/query/d

### The `queryOptions` API

Now that we have a unified way to call `useQuery` (with just one object as parameter), we can also build better abstractions on top of that. The new [queryOptions](/query/v5/docs/react/typescript#typing-query-options) function gives us a type-safe way to share our query definitions between `useQuery`and imperative methods like `queryClient.prefetchQuery`. On top of that, it can make `queryClient.getQueryData` type-safe as well.
Now that we have a unified way to call `useQuery` (with just one object as parameter), we can also build better abstractions on top of that. The new [queryOptions](/query/v5/docs/react/typescript#typing-query-options) function gives us a type-safe way to share our query definitions between `useQuery` and imperative methods like `queryClient.prefetchQuery`. On top of that, it can make `queryClient.getQueryData` type-safe as well.

---

## THANK YOU

We hope you're going to enjoy using v5 as much as we've enjoyed building it. What's left for us to say thanks to everyone who made this release possible. No matter if you're core contributor, implemented an issue from the roadmap, if you've fixed a typo in the docs or gave feedback on the alpha releases: Every contribution matters! It's the people that makes this library great, and we're blessed to have such an amazing community. ❤️
We hope you're going to enjoy using v5 as much as we've enjoyed building it. What's left for us to say thanks to everyone who made this release possible. No matter if you're a core contributor, implemented an issue from the roadmap, if you've fixed a typo in the docs or gave feedback on the alpha releases: Every contribution matters! It's the people that make this library great, and we're blessed to have such an amazing community. ❤️
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Line 63 still has a grammar glitch in the first sentence.

“What's left for us to say thanks…” is ungrammatical. Consider: “What’s left for us is to say thanks…” (or “All that’s left is to say thanks…”).

🧰 Tools
🪛 LanguageTool

[style] ~63-~63: Try using a synonym here to strengthen your writing.
Context: ..., if you've fixed a typo in the docs or gave feedback on the alpha releases: Every c...

(GIVE_PROVIDE)


[style] ~63-~63: Consider using “who” when you are referring to people instead of objects.
Context: ...y contribution matters! It's the people that make this library great, and we're bles...

(THAT_WHO)


[style] ~63-~63: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...y great, and we're blessed to have such an amazing community. ❤️

(AWESOME)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/blog/announcing-tanstack-query-v5.md` at line 63, Replace the
ungrammatical sentence "What's left for us to say thanks to everyone who made
this release possible." with a corrected phrasing such as "What’s left for us is
to say thanks to everyone who made this release possible." (or "All that’s left
is to say thanks to everyone who made this release possible.") in the markdown
content so the first sentence on that paragraph is grammatically correct.

2 changes: 1 addition & 1 deletion src/blog/tanstack-router-typescript-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ This change along with other type level changes to conditionally use `ParseRoute

![Tracing route tree declaration being inferred faster](/blog-assets/tsr-perf-milestone/tracing-faster.png)

The first file to reference a `<Link>` no longer triggers inference from the whole route tree which increases perceived language service speed. significantly
The first file to reference a `<Link>` no longer triggers inference from the whole route tree which increases perceived language service speed significantly.

By doing this, TypeScript will infer the types required for a specific route when it is referenced by a `<Link>`. This may not translate to overall better TypeScript type-checking time when all routes are being linked to, but it is a significant speed increase for the language service when in a file/region.

Expand Down
16 changes: 8 additions & 8 deletions src/blog/why-tanstack-start-and-router.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ These aren’t just another set of tools. They represent a commitment to buildin

### Type Safety You Can Rely On

Type safety isn’t just a buzzword. it’s a foundational tool for creating robust, maintainable applications. TanStack Router goes beyond the basics to offer **contextual type safety**, where types flow seamlessly through every part of your app. Route definitions, parameters, navigation, and even state management all work together with fully inferred types.
Type safety isn’t just a buzzword. It’s a foundational tool for creating robust, maintainable applications. TanStack Router goes beyond the basics to offer **contextual type safety**, where types flow seamlessly through every part of your app. Route definitions, parameters, navigation, and even state management all work together with fully inferred types.

What does this mean for you? It means no more guessing if you’ve defined a parameter correctly, no more debugging mismatched types, and no need for extra plugins or AST transformations to fill in the gaps. TanStack Router works with TypeScript’s natural architecture, making the experience smooth, predictable, and delightful.

Expand All @@ -24,21 +24,21 @@ This level of type safety doesn’t just save time. It builds confidence. And it

One of the most overlooked but powerful tools in web development is the URL. It’s the original state management system: fast, shareable, and intuitive. Yet, many frameworks treat the URL as an afterthought, offering only basic utilities for reading and writing state.

TanStack Router flips that script. Managing state in the URL isn’t just supported. it’s encouraged. With intuitive APIs, you can validate, read, and update search parameters with type safety and runtime validation baked in. Want to create a deeply nested, dynamic filter system or synchronize your app’s state with the URL? It’s effortless.
TanStack Router flips that script. Managing state in the URL isn’t just supported. It’s encouraged. With intuitive APIs, you can validate, read, and update search parameters with type safety and runtime validation baked in. Want to create a deeply nested, dynamic filter system or synchronize your app’s state with the URL? It’s effortless.

But this isn’t just about developer convenience. it’s about creating better user experiences. When your app state lives in the URL, users can share it, bookmark it, and pick up right where they left off. TanStack Router makes that as easy as it should be.
But this isn’t just about developer convenience. It’s about creating better user experiences. When your app state lives in the URL, users can share it, bookmark it, and pick up right where they left off. TanStack Router makes that as easy as it should be.

### Familiar Patterns, More Flexibility

If you’ve worked with Remix or Next.js, you’ll find plenty of familiar concepts in TanStack Start. But familiarity doesn’t mean compromise. We’ve taken some of the best ideas from those frameworks and pushed them further, stripping away the constraints and introducing more flexibility.

For example, routing patterns and server function integrations will feel natural if you’re coming from a server-first framework like Remix, but they’re designed to work just as well for traditional client-side SPAs. You don’t have to pick a side. you get the best of both worlds, with fewer trade-offs.
For example, routing patterns and server function integrations will feel natural if you’re coming from a server-first framework like Remix, but they’re designed to work just as well for traditional client-side SPAs. You don’t have to pick a side. You get the best of both worlds, with fewer trade-offs.

### Built for the Future (and Already Embracing It)

The web is changing fast. With React Server Components (RSCs) on the horizon, React 19 introducing new patterns, and streaming becoming the standard for data delivery, frameworks need to do more than just keep up. They need to lead.

TanStack Start is ready for what’s next. RSCs are treated as another server-side state, with powerful primitives for caching, invalidating, and composing them into your application. Streaming isn’t an afterthought. it’s baked into the core of how TanStack works, giving you tools to incrementally send data and HTML to the client without extra complexity.
TanStack Start is ready for what’s next. RSCs are treated as another server-side state, with powerful primitives for caching, invalidating, and composing them into your application. Streaming isn’t an afterthought. It’s baked into the core of how TanStack works, giving you tools to incrementally send data and HTML to the client without extra complexity.

But we’re not just about future-proofing. TanStack Start also makes these advanced capabilities approachable and usable today. You don’t need to wait for the “next big thing” to start building apps that feel like the future.

Expand All @@ -54,17 +54,17 @@ If you’ve used **TanStack Query**, you already know how much it simplifies dat

For example, you can prefetch data in a route loader, stream it down to the client, and hydrate it on demand. All with a single API. Whether you’re managing a simple blog or a complex dashboard, you’ll find yourself spending less time wiring up data and more time building features.

This isn’t just an integration. it’s a partnership between routing and data-fetching that makes everything else feel clunky by comparison.
This isn’t just an integration. It’s a partnership between routing and data-fetching that makes everything else feel clunky by comparison.

### Routing That Scales

Routing isn’t just a utility. it’s the backbone of every application. And yet, most routers struggle when things get complex. That’s where TanStack Router shines. It’s built to handle everything from a handful of simple routes to thousands of deeply nested ones without breaking a sweat.
Routing isn’t just a utility. It’s the backbone of every application. And yet, most routers struggle when things get complex. That’s where TanStack Router shines. It’s built to handle everything from a handful of simple routes to thousands of deeply nested ones without breaking a sweat.

Features like type-safe navigation, hierarchical route contexts, and advanced state synchronization make it easy to build apps that scale in both size and complexity. And because TanStack Router works natively with TypeScript, you get all the benefits of type safety without sacrificing performance or flexibility.

### Always Innovating

What excites me most about TanStack is that we’re just getting started. From isomorphic server functions to powerful caching primitives and streamlined React Server Component support, we’re constantly pushing the boundaries of what’s possible. Our goal isn’t just to build great tools. it’s to build tools that help _you_ build better apps.
What excites me most about TanStack is that we’re just getting started. From isomorphic server functions to powerful caching primitives and streamlined React Server Component support, we’re constantly pushing the boundaries of what’s possible. Our goal isn’t just to build great tools. It’s to build tools that help _you_ build better apps.

### Settle for “Good Enough”?

Expand Down