Skip to content

v0.14.0#780

Merged
danielroe merged 1 commit into
mainfrom
v0.14.0
Feb 14, 2026
Merged

v0.14.0#780
danielroe merged 1 commit into
mainfrom
v0.14.0

Conversation

@github-actions

@github-actions github-actions Bot commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

0.14.0 is the next minor release.

🚨 Breaking changes

Default font format is now woff2 only

Font providers previously returned multiple formats (woff2, woff, truetype, etc.). The default behavior now only resolves woff2 fonts, which is supported by all modern browsers.

Your @font-face declarations will typically have fewer src entries, reducing CSS size. In most cases this is a transparent improvement.

To restore the previous behavior or add additional formats:

export default defineNuxtConfig({
  fonts: {
    defaults: {
      formats: ['woff2', 'woff', 'ttf'],
    },
  },
})

Available values: 'woff2', 'woff', 'ttf', 'otf', 'eot'.

Cache invalidation

Font metadata caches are now isolated per provider and per provider options. After upgrading, your font metadata cache (node_modules/.cache/nuxt/fonts/) will be invalidated and fonts will be re-fetched on the next build. This is a one-time occurrence.

✨ Features

Resolve fonts from node_modules

A new built-in npm provider can resolve fonts installed as npm packages. If no other provider matches a font family, @nuxt/fonts will now attempt to find it in your node_modules via CDN metadata.

export default defineNuxtConfig({
  fonts: {
    npm: {
      // options for the npm provider (optional)
    },
  },
})

Font format resolution

You can control which font formats are resolved via the new defaults.formats option:

export default defineNuxtConfig({
  fonts: {
    defaults: {
      formats: ['woff2'], // default
    },
  },
})

Provider-specific font family options

You can now pass provider-specific options when configuring individual font families:

export default defineNuxtConfig({
  fonts: {
    families: [
      {
        name: 'My Font',
        provider: 'google',
        providerOptions: {
          google: {
            // provider-specific options for this family
          },
        },
      },
    ],
  },
})

throwOnError option

Configure whether font resolution errors should throw or warn:

export default defineNuxtConfig({
  fonts: {
    throwOnError: true, // default: false
  },
})

lightningcss support

If your Nuxt project uses Vite's lightningcss mode for CSS processing, injected @font-face declarations are now minified with lightningcss instead of esbuild.

🩹 Fixes

  • Prevent font flashes in development — The dev font proxy now returns Cache-Control: public, max-age=31536000, immutable headers, preventing font flashes during HMR on SSR frameworks.
  • Broader CSS file matching — Font family injection now matches additional CSS-like file patterns (Vue SFC &lang.css query strings and inline style IDs), aligning with fontless behavior.
  • Adobe provider race condition — Fixed a race condition in the Adobe (Typekit) provider where concurrent font resolution could clear the font family map mid-flight, causing Adobe fonts to silently fail. (fix in unifont 0.7.4)
  • Prioritize sliced woff2 over full ttf — When both formats are available, woff2 subsets are now correctly prioritized over full ttf files. (fix in unifont 0.7.2)
  • Bunny provider subset filtering — The Bunny font provider now correctly filters by subsets. (fix in unifont 0.7.0)

📦 Dependency Updates

Package Previous Current
unifont ^0.6.0 ^0.7.4
fontless ^0.1.0 ^0.2.1
fontaine 0.7.0 (transitive) 0.8.0 (transitive)

👉 Changelog

compare changes

🚀 Enhancements

  • Upgrade to the latest versions fontless + unifont (3d634b0)
  • Support lightningcss transforms (171c9a4)
  • Add support for resolving fonts from local node_modules (#781)

🩹 Fixes

  • Prevent font flashes in development (0ec437e)
  • Include more css-ish files when injecting font-families (6e8e343)
  • deps: Bump unifont + reenable adobe tests (9d7715d)

📖 Documentation

  • Add nuxt.care health badge (8f0a978)

🏡 Chore

  • Fix changelog workflow (#776)
  • Remove changelog (in favour of github releases) (25c87c4)

✅ Tests

  • Update snapshots for adobe preloads (035091a)

🤖 CI

  • Pin github actions to full-length commit shas (18e3ff7)

❤️ Contributors

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying fonts with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3e3e30f
Status: ✅  Deploy successful!
Preview URL: https://8a7eadda.fonts-dsw.pages.dev
Branch Preview URL: https://v0-14-0.fonts-dsw.pages.dev

View logs

@danielroe danielroe marked this pull request as ready for review February 14, 2026 10:42
@danielroe danielroe self-requested a review as a code owner February 14, 2026 10:42
@danielroe danielroe merged commit 95b332b into main Feb 14, 2026
1 check passed
@danielroe danielroe deleted the v0.14.0 branch February 14, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant