microsoft/playwright (@playwright/test)
### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1)
[Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1)
##### Highlights
[https://github.com/microsoft/playwright/issues/30779](https://togithub.com/microsoft/playwright/issues/30779) - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed
[https://github.com/microsoft/playwright/issues/30755](https://togithub.com/microsoft/playwright/issues/30755) - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[https://github.com/microsoft/playwright/issues/30770](https://togithub.com/microsoft/playwright/issues/30770)0 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[https://github.com/microsoft/playwright/issues/30858](https://togithub.com/microsoft/playwright/issues/30858)58 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report
#### Browser Versions
- Chromium 125.0.6422.14
- Mozilla Firefox 125.0.1
- WebKit 17.4
This version was also tested against the following stable channels:
- Google Chrome 124
- Microsoft Edge 124
withastro/astro (astro)
### [`v4.9.1`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#491)
[Compare Source](https://togithub.com/withastro/astro/compare/astro@4.9.0...astro@4.9.1)
##### Patch Changes
- [#11129](https://togithub.com/withastro/astro/pull/11129) [`4bb9269`](https://togithub.com/withastro/astro/commit/4bb926908d9a7ee134701c3e5a1b5e6ea688f843) Thanks [@matthewp](https://togithub.com/matthewp)! - Prevent errors from adapters when i18n domains is not used
### [`v4.9.0`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#490)
[Compare Source](https://togithub.com/withastro/astro/compare/astro@4.8.7...astro@4.9.0)
##### Minor Changes
- [#11051](https://togithub.com/withastro/astro/pull/11051) [`12a1bcc`](https://togithub.com/withastro/astro/commit/12a1bccc818af292cdd2a8ed0f3e3c042b9819b4) Thanks [@ematipico](https://togithub.com/ematipico)! - Introduces an experimental Container API to render `.astro` components in isolation.
This API introduces three new functions to allow you to create a new container and render an Astro component returning either a string or a Response:
- `create()`: creates a new instance of the container.
- `renderToString()`: renders a component and return a string.
- `renderToResponse()`: renders a component and returns the `Response` emitted by the rendering phase.
The first supported use of this new API is to enable unit testing. For example, with `vitest`, you can create a container to render your component with test data and check the result:
```js
import { experimental_AstroContainer as AstroContainer } from 'astro/container';
import { expect, test } from 'vitest';
import Card from '../src/components/Card.astro';
test('Card with slots', async () => {
const container = await AstroContainer.create();
const result = await container.renderToString(Card, {
slots: {
default: 'Card content',
},
});
expect(result).toContain('This is a card');
expect(result).toContain('Card content');
});
```
For a complete reference, see the [Container API docs](/en/reference/container-reference/).
For a feature overview, and to give feedback on this experimental API, see the [Container API roadmap discussion](https://togithub.com/withastro/roadmap/pull/916).
- [#11021](https://togithub.com/withastro/astro/pull/11021) [`2d4c8fa`](https://togithub.com/withastro/astro/commit/2d4c8faa56a64d963fe7847b5be2d7a59e12ed5b) Thanks [@ematipico](https://togithub.com/ematipico)! - The CSRF protection feature that was introduced behind a flag in [v4.6.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#460) is no longer experimental and is available for general use.
To enable the stable version, add the new top-level `security` option in `astro.config.mjs`. If you were previously using the experimental version of this feature, also delete the experimental flag:
```diff
export default defineConfig({
- experimental: {
- security: {
- csrfProtection: {
- origin: true
- }
- }
- },
+ security: {
+ checkOrigin: true
+ }
})
```
Enabling this setting performs a check that the `"origin"` header, automatically passed by all modern browsers, matches the URL sent by each Request.
This check is executed only for pages rendered on demand, and only for the requests `POST`, `PATCH`, `DELETE` and `PUT` with one of the following `"content-type"` headers: `'application/x-www-form-urlencoded'`, `'multipart/form-data'`, `'text/plain'`.
If the `"origin"` header doesn't match the pathname of the request, Astro will return a 403 status code and won't render the page.
For more information, see the [`security` configuration docs](https://docs.astro.build/en/reference/configuration-reference/#security).
- [#11022](https://togithub.com/withastro/astro/pull/11022) [`be68ab4`](https://togithub.com/withastro/astro/commit/be68ab47e236476ba980cbf74daf85f27cd866f4) Thanks [@ematipico](https://togithub.com/ematipico)! - The `i18nDomains` routing feature introduced behind a flag in [v3.4.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#430) is no longer experimental and is available for general use.
This routing option allows you to configure different domains for individual locales in entirely server-rendered projects using the [@astrojs/node](https://docs.astro.build/en/guides/integrations-guide/node/) or [@astrojs/vercel](https://docs.astro.build/en/guides/integrations-guide/vercel/) adapter with a `site` configured.
If you were using this feature, please remove the experimental flag from your Astro config:
```diff
import { defineConfig } from 'astro'
export default defineConfig({
- experimental: {
- i18nDomains: true,
- }
})
```
If you have been waiting for stabilization before using this routing option, you can now do so.
Please see [the internationalization docs](https://docs.astro.build/en/guides/internationalization/#domains) for more about this feature.
- [#11071](https://togithub.com/withastro/astro/pull/11071) [`8ca7c73`](https://togithub.com/withastro/astro/commit/8ca7c731dea894e77f84b314ebe3a141d5daa918) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Adds two new functions `experimental_getActionState()` and `experimental_withState()` to support [the React 19 `useActionState()` hook](https://react.dev/reference/react/useActionState) when using Astro Actions. This introduces progressive enhancement when calling an Action with the `withState()` utility.
This example calls a `like` action that accepts a `postId` and returns the number of likes. Pass this action to the `experimental_withState()` function to apply progressive enhancement info, and apply to `useActionState()` to track the result:
```tsx
import { actions } from 'astro:actions';
import { experimental_withState } from '@astrojs/react/actions';
export function Like({ postId }: { postId: string }) {
const [state, action, pending] = useActionState(
experimental_withState(actions.like),
0 // initial likes
);
return (
);
}
```
You can also access the state stored by `useActionState()` from your action `handler`. Call `experimental_getActionState()` with the API context, and optionally apply a type to the result:
```ts
import { defineAction, z } from 'astro:actions';
import { experimental_getActionState } from '@astrojs/react/actions';
export const server = {
like: defineAction({
input: z.object({
postId: z.string(),
}),
handler: async ({ postId }, ctx) => {
const currentLikes = experimental_getActionState(ctx);
// write to database
return currentLikes + 1;
},
}),
};
```
- [#11101](https://togithub.com/withastro/astro/pull/11101) [`a6916e4`](https://togithub.com/withastro/astro/commit/a6916e4402bf5b7d74bab784a54eba63fd1d1179) Thanks [@linguofeng](https://togithub.com/linguofeng)! - Updates Astro's code for adapters to use the header `x-forwarded-for` to initialize the `clientAddress`.
To take advantage of the new change, integration authors must upgrade the version of Astro in their adapter `peerDependencies` to `4.9.0`.
- [#11071](https://togithub.com/withastro/astro/pull/11071) [`8ca7c73`](https://togithub.com/withastro/astro/commit/8ca7c731dea894e77f84b314ebe3a141d5daa918) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Adds compatibility for Astro Actions in the React 19 beta. Actions can be passed to a `form action` prop directly, and Astro will automatically add metadata for progressive enhancement.
```tsx
import { actions } from 'astro:actions';
function Like() {
return (
);
}
```
##### Patch Changes
- [#11088](https://togithub.com/withastro/astro/pull/11088) [`9566fa0`](https://togithub.com/withastro/astro/commit/9566fa08608be766df355be17d72a39ea7b99ed0) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Allow actions to be called on the server. This allows you to call actions as utility functions in your Astro frontmatter, endpoints, and server-side UI components.
Import and call directly from `astro:actions` as you would for client actions:
Configuration
📅 Schedule: Branch creation - "before 4am" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.44.0
->1.44.1
4.8.7
->4.9.1
Release Notes
microsoft/playwright (@playwright/test)
### [`v1.44.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.44.1) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.44.0...v1.44.1) ##### Highlights [https://github.com/microsoft/playwright/issues/30779](https://togithub.com/microsoft/playwright/issues/30779) - \[REGRESSION]: When using `video: 'on'` with VSCode extension the browser got closed [https://github.com/microsoft/playwright/issues/30755](https://togithub.com/microsoft/playwright/issues/30755) - \[REGRESSION]: Electron launch with spaces inside executablePath didn't work[https://github.com/microsoft/playwright/issues/30770](https://togithub.com/microsoft/playwright/issues/30770)0 - \[REGRESSION]: Mask elements outside of viewport when creating fullscreen screenshots didn't wor[https://github.com/microsoft/playwright/issues/30858](https://togithub.com/microsoft/playwright/issues/30858)58 - \[REGRESSION]: ipv6 got shown instead of localhost in show-trace/show-report #### Browser Versions - Chromium 125.0.6422.14 - Mozilla Firefox 125.0.1 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 124 - Microsoft Edge 124withastro/astro (astro)
### [`v4.9.1`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#491) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.9.0...astro@4.9.1) ##### Patch Changes - [#11129](https://togithub.com/withastro/astro/pull/11129) [`4bb9269`](https://togithub.com/withastro/astro/commit/4bb926908d9a7ee134701c3e5a1b5e6ea688f843) Thanks [@matthewp](https://togithub.com/matthewp)! - Prevent errors from adapters when i18n domains is not used ### [`v4.9.0`](https://togithub.com/withastro/astro/blob/HEAD/packages/astro/CHANGELOG.md#490) [Compare Source](https://togithub.com/withastro/astro/compare/astro@4.8.7...astro@4.9.0) ##### Minor Changes - [#11051](https://togithub.com/withastro/astro/pull/11051) [`12a1bcc`](https://togithub.com/withastro/astro/commit/12a1bccc818af292cdd2a8ed0f3e3c042b9819b4) Thanks [@ematipico](https://togithub.com/ematipico)! - Introduces an experimental Container API to render `.astro` components in isolation. This API introduces three new functions to allow you to create a new container and render an Astro component returning either a string or a Response: - `create()`: creates a new instance of the container. - `renderToString()`: renders a component and return a string. - `renderToResponse()`: renders a component and returns the `Response` emitted by the rendering phase. The first supported use of this new API is to enable unit testing. For example, with `vitest`, you can create a container to render your component with test data and check the result: ```js import { experimental_AstroContainer as AstroContainer } from 'astro/container'; import { expect, test } from 'vitest'; import Card from '../src/components/Card.astro'; test('Card with slots', async () => { const container = await AstroContainer.create(); const result = await container.renderToString(Card, { slots: { default: 'Card content', }, }); expect(result).toContain('This is a card'); expect(result).toContain('Card content'); }); ``` For a complete reference, see the [Container API docs](/en/reference/container-reference/). For a feature overview, and to give feedback on this experimental API, see the [Container API roadmap discussion](https://togithub.com/withastro/roadmap/pull/916). - [#11021](https://togithub.com/withastro/astro/pull/11021) [`2d4c8fa`](https://togithub.com/withastro/astro/commit/2d4c8faa56a64d963fe7847b5be2d7a59e12ed5b) Thanks [@ematipico](https://togithub.com/ematipico)! - The CSRF protection feature that was introduced behind a flag in [v4.6.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#460) is no longer experimental and is available for general use. To enable the stable version, add the new top-level `security` option in `astro.config.mjs`. If you were previously using the experimental version of this feature, also delete the experimental flag: ```diff export default defineConfig({ - experimental: { - security: { - csrfProtection: { - origin: true - } - } - }, + security: { + checkOrigin: true + } }) ``` Enabling this setting performs a check that the `"origin"` header, automatically passed by all modern browsers, matches the URL sent by each Request. This check is executed only for pages rendered on demand, and only for the requests `POST`, `PATCH`, `DELETE` and `PUT` with one of the following `"content-type"` headers: `'application/x-www-form-urlencoded'`, `'multipart/form-data'`, `'text/plain'`. If the `"origin"` header doesn't match the pathname of the request, Astro will return a 403 status code and won't render the page. For more information, see the [`security` configuration docs](https://docs.astro.build/en/reference/configuration-reference/#security). - [#11022](https://togithub.com/withastro/astro/pull/11022) [`be68ab4`](https://togithub.com/withastro/astro/commit/be68ab47e236476ba980cbf74daf85f27cd866f4) Thanks [@ematipico](https://togithub.com/ematipico)! - The `i18nDomains` routing feature introduced behind a flag in [v3.4.0](https://togithub.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#430) is no longer experimental and is available for general use. This routing option allows you to configure different domains for individual locales in entirely server-rendered projects using the [@astrojs/node](https://docs.astro.build/en/guides/integrations-guide/node/) or [@astrojs/vercel](https://docs.astro.build/en/guides/integrations-guide/vercel/) adapter with a `site` configured. If you were using this feature, please remove the experimental flag from your Astro config: ```diff import { defineConfig } from 'astro' export default defineConfig({ - experimental: { - i18nDomains: true, - } }) ``` If you have been waiting for stabilization before using this routing option, you can now do so. Please see [the internationalization docs](https://docs.astro.build/en/guides/internationalization/#domains) for more about this feature. - [#11071](https://togithub.com/withastro/astro/pull/11071) [`8ca7c73`](https://togithub.com/withastro/astro/commit/8ca7c731dea894e77f84b314ebe3a141d5daa918) Thanks [@bholmesdev](https://togithub.com/bholmesdev)! - Adds two new functions `experimental_getActionState()` and `experimental_withState()` to support [the React 19 `useActionState()` hook](https://react.dev/reference/react/useActionState) when using Astro Actions. This introduces progressive enhancement when calling an Action with the `withState()` utility. This example calls a `like` action that accepts a `postId` and returns the number of likes. Pass this action to the `experimental_withState()` function to apply progressive enhancement info, and apply to `useActionState()` to track the result: ```tsx import { actions } from 'astro:actions'; import { experimental_withState } from '@astrojs/react/actions'; export function Like({ postId }: { postId: string }) { const [state, action, pending] = useActionState( experimental_withState(actions.like), 0 // initial likes ); return ( ); } ``` You can also access the state stored by `useActionState()` from your action `handler`. Call `experimental_getActionState()` with the API context, and optionally apply a type to the result: ```ts import { defineAction, z } from 'astro:actions'; import { experimental_getActionState } from '@astrojs/react/actions'; export const server = { like: defineAction({ input: z.object({ postId: z.string(), }), handler: async ({ postId }, ctx) => { const currentLikes = experimental_getActionStateConfiguration
📅 Schedule: Branch creation - "before 4am" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.