Skip to content

semver.satisfies returns false for pre-release versions like 4.0.0-rc.0 #32573

@hacknug

Description

@hacknug

Environment

  • Operating System: Darwin
  • Node Version: v24.3.0
  • Nuxt Version: 4.0.0-rc.0
  • CLI Version: 3.25.1
  • Nitro Version: 2.11.13
  • Package Manager: pnpm@10.13.1
  • Builder: -
  • User Config: modules, devtools, css, compatibilityDate, eslint, storybook
  • Runtime Modules: @nuxt/eslint@1.5.2, @nuxt/image@1.10.0, @nuxt/scripts@0.11.9, @nuxt/test-utils@3.19.2, @nuxt/ui@3.2.0, @nuxtjs/storybook@8.4.2-29190898.ba4cb15
  • Build Modules: -

Reproduction

Run any project using v4.0.0-rc.0 and you'll see ℹ Running with compatibility version 4 in your logs.

Describe the bug

It is a really small issue but one that was bothering me and that we will soon encounter again in 5.0.0-rc.0 😉

I would expect 4.0.0-rc.0 to satisfy this condition and to not see any mention of compatibility on my logs as per this comment:

// Show compatibility version banner when Nuxt is running with a compatibility version
// that is different from the current major version
if (!(satisfies(nuxt._version, nuxt.options.future.compatibilityVersion + '.x'))) {
logger.info(`Running with compatibility version \`${nuxt.options.future.compatibilityVersion}\``)
}

Additional context

No response

Logs

ℹ Running with compatibility version 4

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions