unstale

npm / edge.js

edge.js

What changed in edge.js 2 to 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-15.

27 breaking27 new APIs and options3 behavior and defaults1 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.1 on npm

edge.js 624 changes

Breaking changes 21

  • Use @assign to update an existing variable or mutate object properties in place of @set.

    6.0.0upgrade guide

  • The e helper has been removed in favor of html.escape.

    6.0.0upgrade guide

  • Its functionality is now built into Edge, so developers can uninstall the package and remove its usage.

    6.0.0upgrade guide

  • All packages are now ESM only, so projects must migrate to ES modules.

    6.0.0upgrade guide

  • Use except followed by toAttrs to serialize all props except the mentioned attributes.

    6.0.0upgrade guide

  • Use html.escape in place of the removed e helper.

    6.0.0upgrade guide

  • Use html.safe in place of the removed safe helper.

    6.0.0upgrade guide

  • Use js.stringify in place of the removed stringify helper.

    6.0.0upgrade guide

  • Layouts have been removed; components are recommended instead. The compatibility plugin can preserve layouts.

    6.0.0upgrade guide

  • Use @let to define a new variable in place of @set.

    6.0.0upgrade guide

  • Use merge to add custom attributes before serializing props with toAttrs.

    6.0.0upgrade guide

  • Edge now requires Node.js >= 18.16.0.

    6.0.0upgrade guide

  • Use only followed by toAttrs to serialize only the mentioned attributes.

    6.0.0upgrade guide

  • The raise helper has been removed; the notes say it was never documented.

    6.0.0upgrade guide

  • The safe helper has been removed in favor of html.safe.

    6.0.0upgrade guide

  • Sections have been removed.

    6.0.0upgrade guide

  • The Props API's serialize method no longer exists; use toAttrs instead.

    6.0.0upgrade guide

  • The Props API's serializeExcept method no longer exists; use except and toAttrs instead.

    6.0.0upgrade guide

  • The @set tag has been removed; use @let to define variables and @assign to update existing variables or mutate object properties.

    6.0.0upgrade guide

  • The stringify helper has been removed in favor of js.stringify.

    6.0.0upgrade guide

  • Use toAttrs to serialize component props; the former serialize and serializeExcept methods no longer exist.

    6.0.0upgrade guide

New APIs and options 3

  • Adds pushToTop to the API.

    6.5.0release notes

  • Adds pushToTopOnce to the API.

    6.5.0release notes

  • The migrate plugin provides compatibility between version 5 and 6 for projects not ready for breaking changes, except the ESM migration.

    6.0.0upgrade guide

edge.js 54 changes

Breaking changes 3

New APIs and options 1

edge.js 45 changes

Breaking changes 3

  • Removes Edge.claimTag in favor of Edge.compiler.claimTag.

    4.0.0release notes

  • Moves claimTag to Edge.compiler.claimTag, replacing Edge.claimTag.

    4.0.0release notes

  • Removes the yield tag because it wasn't used.

    4.0.0release notes

New APIs and options 2

  • Adds a Context API similar to Svelte's, with edge-specific syntax.

    4.0.0release notes

  • Adds async rendering, allowing await expressions in edge templates; internals adjust to async APIs, including the @each loop.

    4.0.0release notes

edge.js 39 changes

New APIs and options 6

Behavior and default changes 3

  • Compile-time and runtime errors point back to actual source code instead of compiled output.

    3.0.0release notes

  • Almost every JavaScript expression is supported inside Mustache braces, giving developers more flexibility in templates.

    3.0.0release notes

  • Expressions inside Mustache braces can be written across multiple lines.

    3.0.0release notes

edge.js 216 changes

New APIs and options 15

Fixes and other changes 1

  • The state defaults to an empty object when rendering.

    2.0.0release notes