Skip to content

Releases: hashicorp/next-mdx-remote

v5.0.0

22 May 18:36
Compare
Choose a tag to compare

Major Changes

  • #448 67a221f Thanks @dstaley! - Update to MDX v3 and add support for React 19. Fix various TypeScript errors. Remove usage of Rollup.

v4.4.1

01 Mar 19:08
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.4.0...v4.4.1

v4.4.0

28 Feb 15:43
Compare
Choose a tag to compare

This release includes a few fixes for frontmatter types, as well as a way to provide a frontmatter type to serialize or compileMDX and have it propagate through to the returned frontmatter property. See the documentation for an example.

serialize:

import { serialize } from 'next-mdx-remote/serialize'

interface Frontmatter {
  title: string
  published: string
  description?: string
}

//     πŸ‘‡ should have type Frontmatter
const { frontmatter } = serialize<Record<string, unknown>, Frontmatter>(source)

compileMDX:

import { compileMDX } from 'next-mdx-remote/rsc'

interface Frontmatter {
  title: string
  published: string
  description?: string
}

export default async function Page({ source }) {
	//              πŸ‘‡ should have type Frontmatter
	const { content, frontmatter } = await compileMDX<Frontmatter>(source)

	return (
		<>
			<h1>{frontmatter.title}</h1>
			{content}
		</>
	)
}

What's Changed

  • docs: fix react server components example by @greyhere in #334
  • fix(rsc): do not require compiledSource in types by @BRKalow in #339
  • fix: TFrontmatter type to unknown by @RebootGG in #340
  • remove newline from template literal by @chrisweb in #346
  • feat: Improve frontmatter types, pass generic TFrontmatter type through by @BRKalow in #342

New Contributors

Full Changelog: v4.3.0...v4.4.0

v4.3.0 - Server Components Support (experimental)

20 Jan 18:05
Compare
Choose a tag to compare

next-mdx-remote now has experimental support for React Server Components! πŸŽ‰ Access the new API by importing from next-mdx-remote/rsc, and head to the documentation for usage instructions and additional examples.

import { MDXRemote } from 'next-mdx-remote/rsc'

export default async function Page() {
  const mdxSource = await getContent()

  return (
    <MDXRemote source={mdxSource} />
  )
}

Big thanks to @timneutkens for his contribution!


What's Changed

New Contributors

Full Changelog: v4.2.1...v4.3.0

v4.2.1

05 Jan 16:41
Compare
Choose a tag to compare

What's Changed

  • Fix: export jsx-dev-runtime in development mode by @imtsuki in #323

New Contributors

Full Changelog: v4.2.0...v4.2.1

v4.2.0

07 Nov 05:20
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.1.0...v4.2.0

v4.1.0

20 Jul 22:42
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.0.3...v4.1.0

v4.0.3

27 Apr 13:42
Compare
Choose a tag to compare

What's Changed

  • Improved typing of the frontmatter prop. by @MatthijsMud in #252
  • fix: support both react 17 and react 18 jsx-runtime imports by @BRKalow in #267

New Contributors

Full Changelog: v4.0.2...v4.0.3

v4.0.1

25 Mar 17:31
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.0.0...4.0.1

v4.0.0

18 Feb 18:11
Compare
Choose a tag to compare

next-mdx-remote has been upgraded to use MDX v2 under the hood, which comes with improved performance and a whole list of other enhancements. Due to the improved code generated from MDX, we've also been able to remove our usage of esbuild. If you're using Next v12, no changes should be required to upgrade! Users on Next v11.1 might need to set experimental: { esmExternals: true } in next.config.js.

Note that some of the underlying changes in MDX v2 may require you to adjust some of your MDX content or custom components.

Take it for a spin and let us know if you run into any issues. πŸ™

$ npm install next-mdx-remote@latest

Breaking Changes

  • Exposes ESM
  • Upgrade to MDX v2 under the hood, see the blog post for more information
  • Remove esbuild integration

Features

  • Optional frontmatter parsing by passing { parseFrontmatter: true } to serialize(). Frontmatter is then available in your MDX:
    # {frontmatter.page_title}
    
    Hello world!
  • Improved error messages when MDX fails to compile:
    Screen Shot 2021-12-10 at 12 04 04 PM

Full Changelog: 3.0.7...v4.0.0