Skip to content

release: v5.0.0 (breaking)#386

Merged
jaredwray merged 1 commit into
mainfrom
claude/upbeat-galileo-dqhyyj
Jun 25, 2026
Merged

release: v5.0.0 (breaking)#386
jaredwray merged 1 commit into
mainfrom
claude/upbeat-galileo-dqhyyj

Conversation

@jaredwray

Copy link
Copy Markdown
Owner

Release summary

Major release: raises the minimum Node.js to 22.18.0 and upgrades the EJS (v6) and hookified (v3) engines across major versions.

Packages

Package Current New Bump Rationale Commits
ecto 4.8.7 5.0.0 major breaking: Node floor + ejs v6; 1 fix; 6 internal 10

ecto@5.0.0 — 2026-06-25

Major release: raises the minimum Node.js to 22.18.0 and upgrades the EJS and hookified engines across major versions.

⚠ BREAKING CHANGES

  • Minimum Node.js is now >=22.18.0. Driven by the hookified v3 upgrade; engines.node now declares the floor so older runtimes are warned at install time. (d628ef2, 5f72cd3, root - chore: upgrade hookified to v3 (breaking) #385)
    Migration: upgrade your runtime to Node.js 22.18.0 or newer. Node 20 reached end-of-life in April 2026.

  • EJS upgraded to v6 — template locals no longer resolve through the prototype chain by default. (5f9bba4, root - chore: upgrade ejs to v6 (breaking) #384)
    Migration: if your EJS templates rely on inherited (prototype-chain) properties from class-instance or Object.create() locals, opt back in via the ejs option:

    import { Ecto } from "ecto";
    
    // ecto 4.x (ejs 5): inherited locals resolved automatically
    // ecto 5.x (ejs 6): opt back in for prototype-chain locals
    const ecto = new Ecto({ engineOptions: { ejs: { unsafePrototypeLocals: true } } });

    Plain-object locals (the common case) need no change.

Bug Fixes

  • remove post-render entity decoding on Handlebars output — {{var}} / {{{var}}} now follow standard Handlebars escaping semantics; the previous blanket decode could corrupt legitimately escaped content such as < inside pre-rendered code blocks. (b32cc50, fix: remove post-render entity on handlebars #379)

Internal

Contributors

Full List of Changes

Full diff: v4.8.7...v5.0.0

Verification

  • pnpm install --frozen-lockfile succeeds (lockfile unchanged by the version bump)
  • pnpm build succeeds (target node22.18.0)
  • pnpm test:ci passes locally — 239 tests, 100% coverage
  • No uncommitted changes outside the package.json version bump

Post-merge

  • Merge, then create a GitHub Release at tag v5.0.0 — the release.yaml workflow publishes to npm with pnpm publish --provenance. (deploy-site.yaml also redeploys the docs on release.)

🤖 Generated with Claude Code

https://claude.ai/code/session_01HwRkk2BtZPFT5iTYVfdcEU


Generated by Claude Code

Major release: raises the minimum Node.js to >=22.18.0 and upgrades the
EJS (v6) and hookified (v3) engines across major versions. Full release
notes in the PR body.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwRkk2BtZPFT5iTYVfdcEU

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the version of the ecto package in package.json from 4.8.7 to 5.0.0. There are no review comments, and I have no feedback to provide.

@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (e818163) to head (748036d).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #386   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9         9           
  Lines          409       409           
  Branches        96        96           
=========================================
  Hits           409       409           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jaredwray jaredwray merged commit c8d05cd into main Jun 25, 2026
11 checks passed
@jaredwray jaredwray deleted the claude/upbeat-galileo-dqhyyj branch June 25, 2026 16:56
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.

2 participants