This December we’ve released email improvements and worked on our website.

- [New email package and templates](#new-email-package-and-templates) - Easily
  notify users about unread content.
- [Revamped blog design](#revamped-blog-design) - Filter posts, search for
  topics, and a new layout.
- [Multiple Tiptap editors in the dashboard](#multiple-tiptap-editors-in-the-dashboard) -
  View each text editor’s data.

## Upgrade now

To use the latest features, update your packages with the following command.

```bash
npx create-liveblocks-app@latest --upgrade
```

If you were previously on Liveblocks 2.14 or below, make sure to follow our
[upgrade guides](/docs/platform/upgrading) before updating.

## New email package and templates [#new-email-package-and-templates]

In December, we released [a new package](/docs/api-reference/liveblocks-emails)
that greatly simplifies emailing your users about unread comments and text
editor mentions. Alongside this, we’ve also published three ready-made email
templates for you to customize and use in your product.

<div className="my-8 md:my-10">
  <Figure>
    <Image
      src="/images/blog/email-templates-release/new-comments-email.jpg"
      alt="New comments email"
      width={672}
      height={388}
      quality={95}
    />
  </Figure>
  <div className="markdown text-center text-xs! text-marketing-subtler *:mt-2! lg:text-sm!">
    Template in [Next.js Comments Emails
    example](/examples/comments-emails/nextjs-comments-emails-resend).
  </div>
</div>

Here’s a summary of each feature:

- [Comment thread notifications](/blog/a-better-way-to-email-your-users-about-unread-content#comment-thread-notifications) -
  Email relevant users about unread comments.
- [Text editor mentions](/blog/a-better-way-to-email-your-users-about-unread-content#text-editor-notifications) -
  Email users about unread mentions in Tiptap or Lexical.
- [Ready-made email templates](/blog/a-better-way-to-email-your-users-about-unread-content#ready-made-email-templates) -
  Styled React Email components you can use.

### Learn more in our blog post

To learn more, make sure to read our previous blog post:
[A better way to email your users about unread content](/blog/a-better-way-to-email-your-users-about-unread-content).

<UniversalLink href="/blog/a-better-way-to-email-your-users-about-unread-content">
  <Figure>
    <Image
      src="/images/blog/social-images/a-better-way-to-email-your-users-about-unread-content.jpg"
      alt="Liveblocks Emails blog post"
      width={750}
      height={394}
      quality={95}
    />
  </Figure>
</UniversalLink>

## Revamped blog design [#revamped-blog-design]

We’ve just revamped our blog, improving user experience. You can now:

- Switch between categories to find the posts you're interested in.
- Easily search through posts and filter results with tags.
- New layout with table of contents, writer info, featured posts.

<Figure>
  <video autoPlay loop muted playsInline>
    <source
      src="/images/blog/whats-new-in-liveblocks-december-24/new-blog.mp4"
      type="video/mp4"
    />
  </video>
</Figure>

Visit our updated page at [liveblocks.io/blog](/blog).

## Multiple Tiptap editors in the dashboard [#multiple-tiptap-editors-in-the-dashboard]

When using [Liveblocks Text Editor](/text-editor) and Tiptap, you can add
multiple editors to each page of your product. Our dashboard now supports
viewing each editor’s contents visually, as well as through code.

<Figure>
  <video autoPlay loop muted playsInline>
    <source
      src="/images/blog/whats-new-in-liveblocks-december-24/tiptap-multiple-editors-dashboard.mp4"
      type="video/mp4"
    />
  </video>
</Figure>

View your dashboard and room information at
[liveblocks.io/dashboard](/dashboard).

## Upgrade

To use the latest features, update your packages with the following command.

```bash
npx create-liveblocks-app@latest --upgrade
```

If you were previously on Liveblocks 2.14 or below, make sure to follow our
[upgrade guides](/docs/platform/upgrading) before updating.

## Contributors

<Contributors
  gitHubUsernames={[
    "ctnicholas",
    "pierrelevaillant",
    "marcbouchenoire",
    "sugardarius",
    "nvie",
  ]}
/>