Skip to content

deps: bump astro from 7.1.6 to 7.2.8 - #571

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/astro-7.2.8
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/astro-7.2.8

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Bumps astro from 7.1.6 to 7.2.8.

Release notes

Sourced from astro's releases.

astro@7.2.8

Patch Changes

astro@7.2.7

Patch Changes

  • #17415 55d38c8 Thanks @​iseraph-dev! - Deserializes each route once when loading the SSR manifest

  • #17772 023b48b Thanks @​matthewp! - Fixes route selection for normalized request paths in adapter and development request handling

  • #17819 633855b Thanks @​matthewp! - Updates generated and default Cloudflare compatibility_date values to match the installed runtime and requires Wrangler ^4.125.0

  • #17813 ae26d18 Thanks @​matthewp! - Fixes rewrite() and next(payload) for GET and HEAD requests with host-provided bodies

  • #17816 a0d2fe3 Thanks @​astro-factory! - Fixes the experimental svgOptimizer not generating unique per-file ID prefixes when using SVGO's prefixIds plugin

astro@7.2.6

Patch Changes

  • #17812 29af6da Thanks @​matthewp! - Fixes a bug where new FetchState(request) could fail in development when server dependencies were optimized

astro@7.2.5

Patch Changes

  • #17758 5f419e2 Thanks @​astro-factory! - Fixes a bug where experimental_getFontFileURL() rejected valid font URLs when using the Cloudflare adapter

  • #17416 493796b Thanks @​iseraph-dev! - Skips no-op pathname writes when normalizing SSR request URLs

  • #17712 bd374b7 Thanks @​fkatsuhiro! - Updates deprecation messages target from Astro 7 to 8

  • #17719 dac1768 Thanks @​astrobot-houston! - Fixes session ID validation to reject non-UUID cookie values before using them as storage keys

  • #17770 84eb7e7 Thanks @​astro-factory! - Fixes --mode, --site, --base, --out-dir, --verbose, --silent, and --open flags being silently dropped when using astro dev --background or astro preview --background

  • #17713 d035290 Thanks @​wakqasahmed! - Fixes content-modules.mjs not removing entries for deleted or renamed content files, which could cause Vite to attempt to resolve non-existent modules

    As part of this fix, #moduleImports is now fully rebuilt from deferredRender entries before every write, so a module import added only through the public addModuleImport() API without a corresponding deferredRender entry in the store will no longer be preserved across writes.

  • #17743 adc750f Thanks @​contactjawad! - Fixes Astro.preferredLocale and Astro.preferredLocaleList ignoring Accept-Language quality values when they are absent or 0. An entry without an explicit q= now correctly counts as quality 1.0 (per RFC 7231) and an entry with q=0 is treated as not acceptable, so the highest-quality locale is selected regardless of header order.

  • #17757 660991c Thanks @​astro-factory! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error

  • #17783 60b14ff Thanks @​matthewp! - Fixes a type error when passing an image from a content collection image() schema to a component or <Image />. The schema returned by image() was missing the apng format, so it no longer matched the type of an imported image.

  • #17664 d483125 Thanks @​astrobot-houston! - Fixes an issue where Astro CSP support didn't correctly handle cases "unsafe-inline" resource. Now when "unsafe-inline", Astro won't emit hashes for the directive specified.

... (truncated)

Changelog

Sourced from astro's changelog.

7.2.8

Patch Changes

7.2.7

Patch Changes

  • #17415 55d38c8 Thanks @​iseraph-dev! - Deserializes each route once when loading the SSR manifest

  • #17772 023b48b Thanks @​matthewp! - Fixes route selection for normalized request paths in adapter and development request handling

  • #17819 633855b Thanks @​matthewp! - Updates generated and default Cloudflare compatibility_date values to match the installed runtime and requires Wrangler ^4.125.0

  • #17813 ae26d18 Thanks @​matthewp! - Fixes rewrite() and next(payload) for GET and HEAD requests with host-provided bodies

  • #17816 a0d2fe3 Thanks @​astro-factory! - Fixes the experimental svgOptimizer not generating unique per-file ID prefixes when using SVGO's prefixIds plugin

7.2.6

Patch Changes

  • #17812 29af6da Thanks @​matthewp! - Fixes a bug where new FetchState(request) could fail in development when server dependencies were optimized

7.2.5

Patch Changes

  • #17758 5f419e2 Thanks @​astro-factory! - Fixes a bug where experimental_getFontFileURL() rejected valid font URLs when using the Cloudflare adapter

  • #17416 493796b Thanks @​iseraph-dev! - Skips no-op pathname writes when normalizing SSR request URLs

  • #17712 bd374b7 Thanks @​fkatsuhiro! - Updates deprecation messages target from Astro 7 to 8

  • #17719 dac1768 Thanks @​astrobot-houston! - Fixes session ID validation to reject non-UUID cookie values before using them as storage keys

  • #17770 84eb7e7 Thanks @​astro-factory! - Fixes --mode, --site, --base, --out-dir, --verbose, --silent, and --open flags being silently dropped when using astro dev --background or astro preview --background

  • #17713 d035290 Thanks @​wakqasahmed! - Fixes content-modules.mjs not removing entries for deleted or renamed content files, which could cause Vite to attempt to resolve non-existent modules

    As part of this fix, #moduleImports is now fully rebuilt from deferredRender entries before every write, so a module import added only through the public addModuleImport() API without a corresponding deferredRender entry in the store will no longer be preserved across writes.

  • #17743 adc750f Thanks @​contactjawad! - Fixes Astro.preferredLocale and Astro.preferredLocaleList ignoring Accept-Language quality values when they are absent or 0. An entry without an explicit q= now correctly counts as quality 1.0 (per RFC 7231) and an entry with q=0 is treated as not acceptable, so the highest-quality locale is selected regardless of header order.

  • #17757 660991c Thanks @​astro-factory! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 8, 2026
@dependabot
dependabot Bot requested a review from a team September 8, 2026 23:56
@dependabot dependabot Bot added the javascript Pull requests that update javascript code label Sep 8, 2026
@dependabot
dependabot Bot requested a review from EricAndrechek September 8, 2026 23:56
@github-actions github-actions Bot added documentation Improvements or additions to documentation area/docs Documentation, site/, README labels Sep 8, 2026
@EricAndrechek

Copy link
Copy Markdown
Member

Heads up on why this one is red across the board, and why a rebase won't clear it.

All five failing jobs come from a single step — pnpm-install inside make verify. pnpm install --frozen-lockfile rejects this branch's lockfile against the repo's supply-chain policy (minimumReleaseAge: 10080, 7 days, set in pnpm-workspace.yaml):

✗ Lockfile failed supply-chain policy check (1126 entries in 2.1s)
[ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION] 21 lockfile entries failed verification:
  @clack/core@1.5.0 ... rolldown@1.2.7 ... postcss@8.5.28 ... tinyexec@1.3.1 ...

astro@7.2.8 itself is fine — published 2026-08-26, comfortably past the cooldown. The 21 violations are all transitive: rolldown@1.2.7 plus its 15 platform bindings (09-02), postcss / tinyexec (09-03), @clack/* (09-07).

@dependabot rebase or recreate won't help, because Dependabot resolves with a resolver that doesn't read minimumReleaseAge, so it regenerates the same violating tree. That mismatch is tracked in #441.

Superseded by #579, which bumps to astro 7.2.10 (published 2026-08-31, already past cooldown) with a lockfile pnpm resolved itself — rolldown@1.2.2, postcss@8.5.25 — and installs clean. Once that lands, Dependabot will close this PR on its own, since 7.2.10 already satisfies the 7.2.8 target.

Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 7.1.6 to 7.2.8.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@7.2.8/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-version: 7.2.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/astro-7.2.8 branch from 2492e2e to 14afd50 Compare September 9, 2026 12:59
EricAndrechek added a commit that referenced this pull request Sep 9, 2026
## Summary

Replaces Dependabot's #571 (`astro` 7.1.6 → 7.2.8), whose generated
lockfile cannot be installed under this repo's supply-chain policy.
Bumps to **astro 7.2.10** with a lockfile resolved by pnpm itself, so it
satisfies `minimumReleaseAge`.

Supersedes #571 — once `main` carries astro 7.2.10, Dependabot closes
that PR itself (its 7.2.8 target is already satisfied). No manual close
needed.

## Why #571 could not be rebased

`pnpm install --frozen-lockfile` — the install every Node-touching CI
job runs — rejected #571's lockfile outright:

```
✗ Lockfile failed supply-chain policy check (1126 entries in 2.1s)
[ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION] 21 lockfile entries failed verification:
  @clack/core@1.5.0 was published at 2026-09-07T20:12:19.000Z, within the minimumReleaseAge cutoff
  rolldown@1.2.7 ... postcss@8.5.28 ... tinyexec@1.3.1 ... undici@8.10.2 ...
```

That one `pnpm-install` target — reached via `make verify` (Lint), `make
build-docs` → check-docs (Docs build), `make test-ts` (Unit tests),
`make test-e2e` → build-ts (E2E tests), and invoked directly by the
workflow (Coverage) — failed all five at once, printing no reason for
any of them (#578). Integration tests, the one suite that never
installs, stayed green on the same lockfile.

`@dependabot rebase` / `recreate` cannot fix it: Dependabot resolves
with a resolver that does not read `minimumReleaseAge` from
`pnpm-workspace.yaml`, so it regenerates the same violating tree. This
is #441.

Note `astro@7.2.8` itself was **not** the problem — published
2026-08-26, 14 days old and well past the 7-day cooldown. All 21
violations were transitive: `rolldown@1.2.7` plus its 15 platform
bindings (09-02), `postcss@8.5.28` / `tinyexec@1.3.1` (09-03),
`undici@8.10.2` (09-04), `@clack/core` + `@clack/prompts` (09-07). A
Dependabot `cooldown:` setting would not have prevented it, since that
gates only the direct dependency.

## What this does instead

Bump the manifest and let pnpm resolve. Its resolver *does* honor
`minimumReleaseAge`, so it backs off to age-eligible versions on its
own:

```
docs/package.json:  "astro": "^7.1.1"  ->  "^7.2.10"
pnpm install
```

Resolves `astro@7.2.10` (published 2026-08-31, already past cooldown)
with `rolldown@1.2.2`, `postcss@8.5.25`, `undici@8.10.1`, `vite@8.2.0`.

One further manifest change rides along, surfaced by pre-push review:

- **Declare `@astrojs/markdown-remark` `^7.3.0`.** astro 7.1.6 pinned it
to exactly 7.2.2 (an *optional* peer even then, so an unmet one is
dropped silently rather than erroring); 7.2.10 widens the range to
`^7.3.0`, which the tree's 7.2.2 — a hard dep of `@astrojs/mdx` —
doesn't satisfy, so pnpm dropped it from astro's peer set. That's
load-bearing: `docs/astro.config.mjs` sets
`markdown.remarkPlugins`/`rehypePlugins`, and astro's
`coerceLegacyMarkdownPlugins()` does `await
import("@astrojs/markdown-remark")` and **throws** if it can't resolve.
It only worked via pnpm's hoisted fallback copy — an undeclared edge a
narrower `hoist-pattern`, or a starlight/mdx bump dropping that
dependency, would break.

A `sharp` bump to `^0.35.4` was also part of this branch originally
(astro 7.2.8 raised its own optional sharp floor, and the stale 0.35.3
pin had stopped sharing a copy with astro). That change reached `main`
first via #574, so it no longer appears in this diff — and #572, the
dedicated sharp PR, was superseded by #574 and is already closed.

## Synced with main

`origin/main` advanced while this was in review (#570 go-deps, #573
actions-deps, #574 npm-deps all merged). `origin/main` is merged in here
— never rebased, per §Branch Maintenance.

`pnpm-lock.yaml` conflicted. Resolved by taking main's post-#574
lockfile (`git checkout --theirs pnpm-lock.yaml`) and re-running a
targeted `pnpm install` against the merged manifests, rather than
hand-merging conflicting YAML. That is deliberate: a lockfile's
peer-suffixed keys encode a whole resolution graph, and hand-merging
them yields a tree that installs but matches neither side's actual
resolution. Re-resolving lets pnpm rebuild the graph under policy.

The result keeps both sides intact — #574's catalog `@types/node@26.4.1`
and `tsx@4.23.13` are preserved, alongside this branch's `astro@7.2.10`
and `@astrojs/markdown-remark@7.3.0`. Net diff vs `main` is now
`docs/package.json` (2 lines) plus 281+/136− in `pnpm-lock.yaml`, with
zero downgrades. One package drops out entirely —
`@rollup/pluginutils@5.4.0`, correct because astro 7.2.x drops its
`rollup` optional peer.

## Verification

- `pnpm install --frozen-lockfile` — clean, no policy violation (this is
what #571 failed), and leaves the lockfile byte-identical. Every entry
in the resulting tree is past the 7-day cooldown; the newest is
`@types/node@26.4.1` at 7d 17h.
- `make build-docs` — 22 pages, all internal links valid, mermaid
patched, 68 diagram PNGs rendered.
- `make ci` — green on the merged tree.

## Related

- #571 — the Dependabot PR this replaces.
- #441 — the underlying Dependabot/pnpm cooldown mismatch. [Commented
there](#441 (comment))
with the updated failure mode: the repo pinned pnpm 11.1.3 until #490
moved it to 11.21.0, which *does* enforce the policy under
`--frozen-lockfile` — so this now fails loudly in CI rather than merging
silently as #441 originally described.
- #578 — filed from this PR's review: `pnpm-install`'s
`--reporter=silent` swallowed the diagnostic entirely, which is why five
red jobs stated no reason.
- #572 — superseded by #574 (identical sharp bump); closed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01CbyVditEujZabgu3R11VAm

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@EricAndrechek

Copy link
Copy Markdown
Member

Superseded — #579 merged (astro@7.2.10, above this PR's 7.2.8 target) with a lockfile pnpm resolved under minimumReleaseAge. Closing.

@dependabot close

@dependabot @github

dependabot Bot commented on behalf of github Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like astro is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 9, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/astro-7.2.8 branch September 9, 2026 13:56
@github-project-automation github-project-automation Bot moved this from Backlog to Done in WaveHouse Task Board Sep 9, 2026
EricAndrechek added a commit that referenced this pull request Oct 12, 2026
## Summary

The code half of #441 has already landed: `.github/dependabot.yml`
carries a 7-day `cooldown` (with the same `@wave-rf/*` and
`@wavehouse/*` excludes as `minimumReleaseAgeExclude`), and pnpm 11.21
now verifies the lockfile against `minimumReleaseAge` even under
`--frozen-lockfile`, so the "CI does not catch this" premise in the
issue is stale. What is left is transitive packages that Dependabot's
age-blind resolver pulls in, which a `cooldown` cannot prevent (it gates
only the package being bumped).

This PR adds no workflow and no Dependabot config change. It documents
the remainder in the dev guide's Dependabot section: the failure is loud
(`ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION` in `make verify`), and the
targeted fix is to set the bumped package's manifest range to a release
that resolves under the policy (committed to the Dependabot branch), run
plain `pnpm install`, then `pnpm install --frozen-lockfile` to confirm,
in place of the full `pnpm clean --lockfile` regeneration.

I did not build the write-back workflow (issue option 3). It needs a
token that can push to `dependabot/npm_and_yarn/**` branches and still
trigger CI (a `GITHUB_TOKEN` push does not), and no such token exists in
the repo's secrets. That is a decision for a maintainer, so #441 stays
open for it.

## Test plan

- Checked out Dependabot PR #754's head (`npm-deps-7a9629ed98`) in a
scratch worktree and ran `pnpm install --lockfile-only
--frozen-lockfile` on pnpm 11.21.0. Output: `Verifying lockfile against
supply-chain policies (1086 entries)` then `Lockfile passes`. This
confirms the policy check runs under `--frozen-lockfile` and that a
post-cooldown Dependabot lockfile passes it. Scratch worktree removed
afterwards.
- Read #754's failing Lint and Docs build jobs: they fail on an
Astro/Starlight markdown parse error, not on a release-age violation.
- `scripts/lint-pr-title.sh` accepts the title.
- Unverified: I could not reproduce a lockfile that violates the policy,
so the quoted `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION` behaviour and the
targeted-install remedy rest on the measurements recorded in the #441
comment from 2026-09-09 (PR #571).
- Unverified: pre-commit `make verify` covers markdown lint for the two
changed files; nothing else is exercised by a docs-only change.

## Related Issues

Refs #441 (stays open for the write-back workflow). Part of #740.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01Wjv2nu841pxTMdUWSAPmDH

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docs Documentation, site/, README dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation javascript Pull requests that update javascript code

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant