# Express SDK

We're excited to announce the release of [`@clerk/express`](https://clerk.com/docs/quickstarts/express.md), our latest SDK designed specifically for [Express applications](https://expressjs.com/).

The SDK comes fully equipped with server utilities and low level utilities for any of your custom flows.

Here's an example on how simple it is to protect a route with our Express SDK:

```ts
import express from 'express'
import { requireAuth } from '@clerk/express'

const app = express()

// if the user is not signed in, they will be redirected to /sign-in automatically
app.get('/protected', requireAuth({ signInUrl: '/sign-in' }), (req, res) => {
  return res.json({ userId: req.auth.userId })
})
```

### Deprecating @clerk/clerk-sdk-node

With this release, we are initiating the process to deprecate `@clerk/clerk-sdk-node`.

During this transition period, we intend to:

- Continue to provide critical patches and bug fixes for `@clerk/clerk-sdk-node`
- Pause adding new features to `@clerk/clerk-sdk-node`
- Focus our development efforts on `@clerk/express`

The transition to end `@clerk/clerk-sdk-node` support ends on January 8, 2025. To ensure a smooth transition, we've prepared a comprehensive [Migration Guide](https://clerk.com/docs/upgrade-guides/node-to-express.md) with step-by-step instructions.

Upgrade today and experience enhanced authentication and user management in your Express projects with Clerk!
