Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: withastro/astro
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: astro@6.1.6
Choose a base ref
...
head repository: withastro/astro
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: astro@6.1.7
Choose a head ref
  • 14 commits
  • 172 files changed
  • 13 contributors

Commits on Apr 14, 2026

  1. fix(dev): preserve --port flag after Vite-triggered server restart (#…

    …16311)
    
    * fix(dev): preserve custom port across Vite-triggered server restarts
    
    * chore: add changeset for --port fix
    
    ---------
    
    Co-authored-by: astrobot-houston <fred+astrobot@astro.build>
    Arecsu and astrobot-houston authored Apr 14, 2026
    Configuration menu
    Copy the full SHA
    94048f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0c1c86 View commit details
    Browse the repository at this point in the history
  3. refactor: unit tests that are integration tests (#16280)

    * refactor: unit tests that are integration tests
    
    * refactor(test): move teardown.js to TypeScript
    
    * refactor(test): move assets/fonts/utils.js to TypeScript
    
    * refactor(test): move i18n/test-helpers.js to TypeScript
    
    * refactor(test): move app/test-helpers.js to TypeScript
    
    * refactor(test): move routing/test-helpers.js to TypeScript
    
    * refactor(test): add TypeScript version of test-utils (JS kept for unconverted consumers)
    
    * refactor(test): add TypeScript versions of mocks and build/test-helpers (JS kept for unconverted consumers)
    
    * refactor(test): convert Group A batch 1 tests to TypeScript
    
    * refactor(test): move action-status.test.js to TypeScript
    
    * refactor(test): move actions-app.test.js to TypeScript
    
    * refactor(test): move app/csrf.test.js to TypeScript
    
    * refactor(test): move app/astro-response.test.js to TypeScript
    
    * refactor(test): move app/astro-attrs.test.js to TypeScript
    
    * refactor(test): move app/encoded-backslash-bypass.test.js to TypeScript
    
    * refactor(test): move app/double-slash-bypass.test.js to TypeScript
    
    * refactor(test): move app/error-pages.test.js to TypeScript
    
    * refactor(test): move app/locals.test.js to TypeScript
    
    * refactor(test): move app/response.test.js to TypeScript
    
    * refactor(test): move app/trailing-slash.test.js to TypeScript
    
    * refactor(test): move assets/getImage.test.js to TypeScript
    
    * refactor(test): move assets/fonts/infra.test.js to TypeScript
    
    * refactor(test): move assets/fonts/core.test.js to TypeScript
    
    * refactor(test): move noop.test.js to TypeScript
    
    * refactor(test): move call-middleware.test.js to TypeScript
    
    * refactor(test): move preserve-build-client-dir.test.js to TypeScript
    
    * refactor(test): move sequence.test.js to TypeScript
    
    * refactor(test): move rendering.test.js to TypeScript
    
    * refactor(test): move server-islands.test.js to TypeScript
    
    * refactor(test): move sec-fetch.test.js to TypeScript
    
    * refactor(test): move middleware-app.test.js to TypeScript
    
    * refactor(test): move generate.test.js to TypeScript
    
    * refactor(test): move router.test.js to TypeScript
    
    * refactor(test): move i18n-middleware.test.js to TypeScript
    
    * refactor(test): move i18n-app.test.js to TypeScript
    
    * refactor(test): move head-injection-app.test.js to TypeScript
    
    * refactor(test): move fallback.test.js to TypeScript
    
    * refactor(test): move render-context.test.js to TypeScript
    
    * refactor(test): move i18n-routing-static.test.js to TypeScript
    
    * refactor(test): move i18n-static-build.test.js to TypeScript
    
    * refactor(test): move paginate.test.js to TypeScript
    
    * refactor(test): move context-helpers.test.js to TypeScript
    
    * refactor(test): move manual-routing.test.js to TypeScript
    
    * refactor(test): move html-primitives.test.js to TypeScript
    
    * refactor(test): move manual-middleware.test.js to TypeScript
    
    * refactor(test): move class-list-and-style.test.js to TypeScript
    
    * refactor(test): move create-manifest.test.js to TypeScript
    
    * refactor(test): move api.test.js to TypeScript
    
    * refactor(test): move manifest.test.js to TypeScript
    
    * refactor(test): move hooks.test.js to TypeScript
    
    * refactor(test): move route-matching.test.js to TypeScript
    
    * refactor(test): move get-params.test.js to TypeScript
    
    * refactor(test): move render.test.js to TypeScript
    
    * refactor(test): move static-build.test.js to TypeScript
    
    * refactor(test): move rewrite-app.test.js to TypeScript
    
    * refactor(test): move rewrite-validation.test.js to TypeScript
    
    * refactor(test): move params-encoding.test.js to TypeScript
    
    * refactor(test): delete old JS helpers and fix remaining .js import references to .ts
    
    * refactor(test): update test:unit script for all-TypeScript unit tests
    
    * refactor(test): remove dev-hydration test, extract integration-test-helpers for createRequestAndResponse
    
    * fix(test): update unit tests for Logger→AstroLogger rename and API changes from main
    
    * refactor: address linting
    
    * refactor(test): replace fixable any types with proper types across unit tests
    
    * fix tests
    ematipico authored Apr 14, 2026
    Configuration menu
    Copy the full SHA
    c1404b7 View commit details
    Browse the repository at this point in the history
  4. Surface console output from workerd during Cloudflare prerendering (#…

    …16307)
    
    * Surface console output from workerd during prerendering
    
    * Filter out HTTP request logs from prerender server output
    
    * Narrow log filter to only match internal __astro_ request paths
    
    * Fix lint: disable no-control-regex for ANSI pattern, use non-capturing group
    matthewp authored Apr 14, 2026
    Configuration menu
    Copy the full SHA
    a81dd3e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0fcd04c View commit details
    Browse the repository at this point in the history
  6. Fix static asset error responses including immutable cache headers (#…

    …16319)
    
    * fix(node): prevent cache poisoning from conditional request errors
    
    Move immutable cache header from send's 'headers' event to 'stream'
    event so it is only set on successful responses. The 'headers' event
    fires before precondition checks (If-Match, If-Unmodified-Since),
    which meant error responses (412) were sent with
    Cache-Control: public, max-age=31536000, immutable — allowing an
    attacker to poison CDN caches with a single malformed If-Match request.
    
    Also propagate the real HTTP status from send's error object instead
    of always returning 500.
    
    * add changeset
    
    * update changeset wording
    matthewp authored Apr 14, 2026
    Configuration menu
    Copy the full SHA
    940afd5 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2026

  1. Use redirect: manual in Cloudflare image binding transform (#16320)

    * Use redirect: 'manual' in cloudflare image-binding-transform fetch
    
    * Fix unused parameter lint error
    matthewp authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    a43eb4b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    75bb9f5 View commit details
    Browse the repository at this point in the history
  3. fix: netrify image validation (#16027)

    * fix(netlify): enforce validation for remote image dimensions
    
    * test(netlify): add regression test for missing image dimensions
    
    * fix: astro.config.mjs file
    
    * feat: changeset
    
    * delete: unnecessary file
    
    * fix: refactor to use loadFixture and project test infrastructure
    
    * fix: update changeset
    
    * fix: changeset explanation and refactor test code
    
    * refactor(assets): move verifyOptions export to internal to avoid hydration regressions
    fkatsuhiro authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    c62516b View commit details
    Browse the repository at this point in the history
  4. [ci] format

    ematipico authored and astrobot-houston committed Apr 15, 2026
    Configuration menu
    Copy the full SHA
    8abc6ec View commit details
    Browse the repository at this point in the history
  5. Add nightly Semgrep security scanning workflow (#16205)

    Co-authored-by: Felix Schneider <99918022+trueberryless@users.noreply.github.com>
    Co-authored-by: Emanuele Stoppa <estoppa@cloudflare.com>
    3 people authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    71e4bc2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8c8980d View commit details
    Browse the repository at this point in the history
  7. Update github-actions (#16146)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    8ddb800 View commit details
    Browse the repository at this point in the history
  8. [ci] release (#16314)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    astrobot-houston and github-actions[bot] authored Apr 15, 2026
    Configuration menu
    Copy the full SHA
    eca29c1 View commit details
    Browse the repository at this point in the history
Loading