FAQ | This is a LIVE service | Changelog

Skip to content

fix(deps): update all dependencies

This MR contains the following updates:

Package Change Age Confidence Type Update
@astrojs/node (source) 9.2.1 -> 9.3.3 age confidence dependencies minor
@rollup/plugin-commonjs (source) ^28.0.3 -> 28.0.3 age confidence devDependencies pin
@rollup/plugin-node-resolve (source) ^16.0.1 -> 16.0.1 age confidence devDependencies pin
@rollup/plugin-typescript (source) ^12.1.2 -> 12.1.2 age confidence devDependencies pin
@tsconfig/recommended (source) ^1.0.8 -> 1.0.8 age confidence devDependencies pin
@types/jest (source) ^29.5.14 -> 29.5.14 age confidence devDependencies pin
@types/node (source) ^22.14.0 -> 22.14.1 age confidence devDependencies pin
@typescript-eslint/eslint-plugin (source) ^8.29.0 -> 8.31.0 age confidence devDependencies pin
@typescript-eslint/parser (source) ^8.29.0 -> 8.31.0 age confidence devDependencies pin
astro (source) 5.7.5 -> 5.12.8 age confidence dependencies minor
coverage ^7.6.12 -> 7.8.0 age confidence dev pin
eslint (source) ^9.24.0 -> 9.25.1 age confidence devDependencies pin
eslint-config-prettier ^10.1.2 -> 10.1.2 age confidence devDependencies pin
eslint-formatter-gitlab ^6.0.0 -> 6.0.0 age confidence devDependencies pin
eslint-plugin-astro (source) ^1.3.1 -> 1.3.1 age confidence devDependencies pin
eslint-plugin-prettier ^5.2.6 -> 5.2.6 age confidence devDependencies pin
faker (changelog) ^37.0.0 -> 37.1.0 age confidence dev pin
glob 11.0.2 -> 11.0.3 age confidence dependencies patch
jest (source) ^29.7.0 -> 29.7.0 age confidence devDependencies pin
jest-environment-jsdom (source) ^29.7.0 -> 29.7.0 age confidence devDependencies pin
mkdocs-material (changelog) 9.6.12 -> 9.6.16 age confidence docs patch
mkdocstrings (changelog) ^0.29.0 -> ^0.30.0 age confidence docs minor
mkdocstrings-python (changelog) 1.16.10 -> 1.16.12 age confidence docs patch
poetry (changelog) 2.1.2 -> 2.1.4 age confidence patch
pre-commit/mirrors-mypy v1.15.0 -> v1.17.1 age confidence repository minor
prettier (source) ^3.5.3 -> 3.5.3 age confidence devDependencies pin
pycqa/flake8 7.2.0 -> 7.3.0 age confidence repository minor
pytest (changelog) ^8.3.4 -> 8.3.5 age confidence dev pin
pytest-cov (changelog) ^6.0.0 -> 6.1.1 age confidence dev pin
pytest-django (changelog) ^4.10.0 -> 4.11.1 age confidence dev pin
pytest-mock (changelog) ^3.14.0 -> 3.14.0 age confidence dev pin
rollup (source) ^4.39.0 -> 4.40.0 age confidence devDependencies pin
ts-jest (source) ^29.3.1 -> 29.3.2 age confidence devDependencies pin
ts-node (source) ^10.9.2 -> 10.9.2 age confidence devDependencies pin
typedoc (source) ^0.28.2 -> 0.28.3 age confidence devDependencies pin
typescript (source) ^5.8.3 -> 5.8.3 age confidence devDependencies pin
typescript-eslint (source) ^8.31.0 -> 8.31.0 age confidence devDependencies pin
uis/devops/continuous-delivery/ci-templates v6.9.0 -> v7.6.2 age confidence repository major

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

withastro/astro (@​astrojs/node)

v9.3.3

Compare Source

Patch Changes

v9.3.2

Compare Source

Patch Changes

v9.3.1

Compare Source

Patch Changes

v9.3.0

Compare Source

Minor Changes
  • #​14012 a125a14 Thanks @​florian-lefebvre! - Adds a new experimental configuration option experimentalDisableStreaming to allow you to opt out of Astro's default HTML streaming for pages rendered on demand.

    HTML streaming helps with performance and generally provides a better visitor experience. In most cases, disabling streaming is not recommended.

    However, when you need to disable HTML streaming (e.g. your host only supports non-streamed HTML caching at the CDN level), you can now opt out of the default behavior:

    import { defineConfig } from 'astro/config';
    import node from '@​astrojs/node';
    
    export default defineConfig({
      adapter: node({
        mode: 'standalone',
    +    experimentalDisableStreaming: true,
      }),
    });
  • #​13972 db8f8be Thanks @​ematipico! - Adds support for the experimental static headers Astro feature.

    When the feature is enabled via the option experimentalStaticHeaders, and experimental Content Security Policy is enabled, the adapter will generate Response headers for static pages, which allows support for CSP directives that are not supported inside a <meta> tag (e.g. frame-ancestors).

    import { defineConfig } from 'astro/config';
    import node from '@&#8203;astrojs/node';
    
    export default defineConfig({
      adapter: node({
        mode: 'standalone',
        experimentalStaticHeaders: true,
      }),
      experimental: {
        cps: true,
      },
    });

v9.2.2

Compare Source

Patch Changes
withastro/astro (astro)

v5.12.8

Compare Source

Patch Changes

v5.12.7

Compare Source

Patch Changes

v5.12.6

Compare Source

Patch Changes

v5.12.5

Compare Source

Patch Changes
  • #​14059 19f53eb Thanks @​benosmac! - Fixes a bug in i18n implementation, where Astro didn't emit the correct pages when fallback is enabled, and a locale uses a catch-all route, e.g. src/pages/es/[...catchAll].astro

  • #​14155 31822c3 Thanks @​ascorbic! - Fixes a bug that caused an error "serverEntrypointModule[_start] is not a function" in some adapters

v5.12.4

Compare Source

Patch Changes

v5.12.3

Compare Source

Patch Changes
  • #​14119 14807a4 Thanks @​ascorbic! - Fixes a bug that caused builds to fail if a client directive was mistakenly added to an Astro component

  • #​14001 4b03d9c Thanks @​dnek! - Fixes an issue where getImage() assigned the resized base URL to the srcset URL of ImageTransform, which matched the width, height, and format of the original image.

v5.12.2

Compare Source

Patch Changes

v5.12.1

Compare Source

Patch Changes

v5.12.0

Compare Source

Minor Changes
  • #​13971 fe35ee2 Thanks @​adamhl8! - Adds an experimental flag rawEnvValues to disable coercion of import.meta.env values (e.g. converting strings to other data types) that are populated from process.env

    Astro allows you to configure a type-safe schema for your environment variables, and converts variables imported via astro:env into the expected type.

    However, Astro also converts your environment variables used through import.meta.env in some cases, and this can prevent access to some values such as the strings "true" (which is converted to a boolean value), and "1" (which is converted to a number).

    The experimental.rawEnvValues flag disables coercion of import.meta.env values that are populated from process.env, allowing you to use the raw value.

    To enable this feature, add the experimental flag in your Astro config:

    import { defineConfig } from "astro/config"
    
    export default defineConfig({
    +  experimental: {
    +    rawEnvValues: true,
    +  }
    })

    If you were relying on this coercion, you may need to update your project code to apply it manually:

    - const enabled: boolean = import.meta.env.ENABLED
    + const enabled: boolean = import.meta.env.ENABLED === "true"

    See the experimental raw environment variables reference docs for more information.

  • #​13941 6bd5f75 Thanks @​aditsachde! - Adds support for TOML files to Astro's built-in glob() and file() content loaders.

    In Astro 5.2, Astro added support for using TOML frontmatter in Markdown files instead of YAML. However, if you wanted to use TOML files as local content collection entries themselves, you needed to write your own loader.

    Astro 5.12 now directly supports loading data from TOML files in content collections in both the glob() and the file() loaders.

    If you had added your own TOML content parser for the file() loader, you can now remove it as this functionality is now included:

    // src/content.config.ts
    import { defineCollection } from "astro:content";
    import { file } from "astro/loaders";
    - import { parse as parseToml } from "toml";
    const dogs = defineCollection({
    -  loader: file("src/data/dogs.toml", { parser: (text) => parseToml(text) }),
    + loader: file("src/data/dogs.toml")
      schema: /* ... */
    })

    Note that TOML does not support top-level arrays. Instead, the file() loader considers each top-level table to be an independent entry. The table header is populated in the id field of the entry object.

    See Astro's content collections guide for more information on using the built-in content loaders.

Patch Changes

v5.11.2

Compare Source

Patch Changes

v5.11.1

Compare Source

Patch Changes
  • #​14045 3276b79 Thanks @​ghubo! - Fixes a problem where importing animated .avif files returns a NoImageMetadata error.

  • #​14041 0c4d5f8 Thanks @​dixslyf! - Fixes a <ClientRouter /> bug where the fallback view transition animations when exiting a page ran too early for browsers that do not support the View Transition API. This bug prevented event.viewTransition?.skipTransition() from skipping the page exit animation when used in an astro:before-swap event hook.

v5.11.0

Compare Source

Minor Changes
  • #​13972 db8f8be Thanks @​ematipico! - Updates the NodeApp.match() function in the Adapter API to accept a second, optional parameter to allow adapter authors to add headers to static, prerendered pages.

    NodeApp.match(request) currently checks whether there is a route that matches the given Request. If there is a prerendered route, the function returns undefined, because static routes are already rendered and their headers cannot be updated.

    When the new, optional boolean parameter is passed (e.g. NodeApp.match(request, true)), Astro will return the first matched route, even when it's a prerendered route. This allows your adapter to now access static routes and provides the opportunity to set headers for these pages, for example, to implement a Content Security Policy (CSP).

Patch Changes
  • #​14029 42562f9 Thanks @​ematipico! - Fixes a bug where server islands wouldn't be correctly rendered when they are rendered inside fragments.

    Now the following examples work as expected:

v5.10.2

Compare Source

Patch Changes
  • #​14000 3cbedae Thanks @​feelixe! - Fix routePattern JSDoc examples to show correct return values

  • #​13990 de6cfd6 Thanks @​isVivek99! - Fixes a case where astro:config/client and astro:config/server virtual modules would not contain config passed to integrations updateConfig() during the build

  • #​14019 a160d1e Thanks @​ascorbic! - Removes the requirement to set type: 'live' when defining experimental live content collections

    Previously, live collections required a type and loader configured. Now, Astro can determine that your collection is a live collection without defining it explicitly.

    This means it is now safe to remove type: 'live' from your collections defined in src/live.config.ts:

    import { defineLiveCollection } from 'astro:content';
    import { storeLoader } from '@&#8203;mystore/astro-loader';
    
    const products = defineLiveCollection({
    -  type: 'live',
      loader: storeLoader({
        apiKey: process.env.STORE_API_KEY,
        endpoint: 'https://api.mystore.com/v1',
      }),
    });
    
    export const collections = { products };

    This is not a breaking change: your existing live collections will continue to work even if you still include type: 'live'. However, we suggest removing this line at your earliest convenience for future compatibility when the feature becomes stable and this config option may be removed entirely.

  • #​13966 598da21 Thanks @​msamoylov! - Fixes a broken link on the default 404 page in development

v5.10.1

Compare Source

Patch Changes
  • #​13988 609044c Thanks @​ascorbic! - Fixes a bug in live collections that caused it to incorrectly complain about the collection being defined in the wrong file

  • #​13909 b258d86 Thanks @​isVivek99! - Fixes rendering of special boolean attributes for custom elements

  • #​13983 e718375 Thanks @​florian-lefebvre! - Fixes a case where the toolbar audit would incorrectly flag images processed by Astro in content collections documents

  • #​13999 f077b68 Thanks @​ascorbic! - Adds lastModified field to experimental live collection cache hints

    Live loaders can now set a lastModified field in the cache hints for entries and collections to indicate when the data was last modified. This is then available in the cacheHint field returned by getCollection and getEntry.

  • #​13987 08f34b1 Thanks @​ematipico! - Adds an informative message in dev mode when the CSP feature is enabled.

  • #​14005 82aad62 Thanks @​ematipico! - Fixes a bug where inline styles and scripts didn't work when CSP was enabled. Now when adding <styles> elements inside an Astro component, their hashes care correctly computed.

  • #​13985 0b4c641 Thanks @​jsparkdev! - Updates wrong link

v5.10.0

Compare Source

Minor Changes
  • #​13917 e615216 Thanks @​ascorbic! - Adds a new priority attribute for Astro's image components.

    This change introduces a new priority option for the <Image /> and <Picture /> components, which automatically sets the loading, decoding, and fetchpriority attributes to their optimal values for above-the-fold images which should be loaded immediately.

    It is a boolean prop, and you can use the shorthand syntax by simply adding priority as a prop to the <Image /> or <Picture /> component. When set, it will apply the following attributes:

    • loading="eager"
    • decoding="sync"
    • fetchpriority="high"

    The individual attributes can still be set manually if you need to customize your images further.

    By default, the Astro <Image /> component generates <img> tags that lazy-load their content by setting loading="lazy" and decoding="async". This improves performance by deferring the loading of images that are not immediately visible in the viewport, and gives the best scores in performance audits like Lighthouse.

    The new priority attribute will override those defaults and automatically add the best settings for your high-priority assets.

    This option was previously available for experimental responsive images, but now it is a standard feature for all images.

Usage
<Image src="/path/to/image.jpg" alt="An example image" priority />

[!Note] You should only use the priority option for images that are critical to the initial rendering of the page, and ideally only one image per page. This is often an image identified as the LCP element when running Lighthouse tests. Using it for too many images will lead to performance issues, as it forces the browser to load those images immediately, potentially blocking the rendering of other content.

  • #​13917 e615216 Thanks @​ascorbic! - The responsive images feature introduced behind a flag in v5.0.0 is no longer experimental and is available for general use.

    The new responsive images feature in Astro automatically generates optimized images for different screen sizes and resolutions, and applies the correct attributes to ensure that images are displayed correctly on all devices.

    Enable the image.responsiveStyles option in your Astro config. Then, set a layout attribute on any or component, or configure a default image.layout, for instantly responsive images with automatically generated srcset and sizes attributes based on the image's dimensions and the layout type.

    Displaying images correctly on the web can be challenging, and is one of the most common performance issues seen in sites. This new feature simplifies the most challenging part of the process: serving your site visitor an image optimized for their viewing experience, and for your website's performance.

    For full details, see the updated Image guide.

Migration from Experimental Responsive Images

The experimental.responsiveImages flag has been removed, and all experimental image configuration options have been renamed to their final names.

If you were using the experimental responsive images feature, you'll need to update your configuration:

Remove the experimental flag
export default defineConfig({
   experimental: {
-    responsiveImages: true,
   },
});
Update image configuration options

During the experimental phase, default styles were applied automatically to responsive images. Now, you need to explicitly set the responsiveStyles option to true if you want these styles applied.

export default defineConfig({
  image: {
+    responsiveStyles: true,
  },
});

The experimental image configuration options have been renamed:

Before:

export default defineConfig({
  image: {
    experimentalLayout: 'constrained',
    experimentalObjectFit: 'cover',
    experimentalObjectPosition: 'center',
    experimentalBreakpoints: [640, 750, 828, 1080, 1280],
    experimentalDefaultStyles: true,
  },
  experimental: {
    responsiveImages: true,
  },
});

After:

export default defineConfig({
  image: {
    layout: 'constrained',
    objectFit: 'cover',
    objectPosition: 'center',
    breakpoints: [640, 750, 828, 1080, 1280],
    responsiveStyles: true, // This is now *false* by default
  },
});
Component usage remains the same

The layout, fit, and position props on <Image> and <Picture> components work exactly the same as before:

<Image
  src={myImage}
  alt="A responsive image"
  layout="constrained"
  fit="cover"
  position="center"
/>

If you weren't using the experimental responsive images feature, no changes are required.

Please see the Image guide for more information on using responsive images in Astro.

  • #​13685 3c04c1f Thanks @​ascorbic! - Adds experimental support for live content collections

    Live content collections are a new type of content collection that fetch their data at runtime rather than build time. This allows you to access frequently-updated data from CMSs, APIs, databases, or other sources using a unified API, without needing to rebuild your site when the data changes.

Live collections vs build-time collections

In Astro 5.0, the content layer API added support for adding diverse content sources to content collections. You can create loaders that fetch data from any source at build time, and then access it inside a page via getEntry() and getCollection(). The data is cached between builds, giving fast access and updates.

However there is no method for updating the data store between builds, meaning any updates to the data need a full site deploy, even if the pages are rendered on-demand. This means that content collections are not suitable for pages that update frequently. Instead, today these pages tend to access the APIs directly in the frontmatter. This works, but leads to a lot of boilerplate, and means users don't benefit from the simple, unified API that content loaders offer. In most cases users tend to individually create loader libraries that they share between pages.

Live content collections solve this problem by allowing you to create loaders that fetch data at runtime, rather than build time. This means that the data is always up-to-date, without needing to rebuild the site.

How to use

To enable live collections add the experimental.liveContentCollections flag to your astro.config.mjs file:

{
  experimental: {
    liveContentCollections: true,
  },
}

Then create a new src/live.config.ts file (alongside your src/content.config.ts if you have one) to define your live collections with a live loader and optionally a schema using the new defineLiveCollection() function from the astro:content module.

import { defineLiveCollection } from 'astro:content';
import { storeLoader } from '@&#8203;mystore/astro-loader';

const products = defineLiveCollection({
  type: 'live',
  loader: storeLoader({
    apiKey: process.env.STORE_API_KEY,
    endpoint: 'https://api.mystore.com/v1',
  }),
});

export const collections = { products };

You can then use the dedicated getLiveCollection() and getLiveEntry() functions to access your live data:

v5.9.4

Compare Source

Patch Changes

v5.9.3

Compare Source

Patch Changes
  • #​13923 a9ac5ed Thanks @​ematipico! - BREAKING CHANGE to the experimental Content Security Policy (CSP) only

    Changes the behavior of experimental Content Security Policy (CSP) to now serve hashes differently depending on whether or not a page is prerendered:

    • Via the <meta> element for static pages.
    • Via the Response header content-security-policy for on-demand rendered pages.

    This new strategy allows you to add CSP content that is not supported in a <meta> element (e.g. report-uri, frame-ancestors, and sandbox directives) to on-demand rendered pages.

    No change to your project code is required as this is an implementation detail. However, this will result in a different HTML output for pages that are rendered on demand. Please check your production site to verify that CSP is working as intended.

    To keep up to date with this developing feature, or to leave feedback, visit the CSP Roadmap proposal.

  • #​13926 953a249 Thanks @​ematipico! - Adds a new Astro Adapter Feature called experimentalStaticHeaders to allow your adapter to receive the Headers for rendered static pages.

    Adapters that enable support for this feature can access header values directly, affecting their handling of some Astro features such as Content Security Policy (CSP). For example, Astro will no longer serve the CSP <meta http-equiv="content-security-policy"> element in static pages to adapters with this support.

    Astro will serve the value of the header inside a map that can be retrieved from the hook astro:build:generated. Adapters can read this mapping and use their hosting headers capabilities to create a configuration file.

    A new field called experimentalRouteToHeaders will contain a map of Map<IntegrationResolvedRoute, Headers> where the Headers type contains the headers emitted by the rendered static route.

    To enable support for this experimental Astro Adapter Feature, add it to your adapterFeatures in your adapter config:

    // my-adapter.mjs
    export default function createIntegration() {
      return {
        name: '@&#8203;example/my-adapter',
        hooks: {
          'astro:config:done': ({ setAdapter }) => {
            setAdapter({
              name: '@&#8203;example/my-adapter',
              serverEntrypoint: '@&#8203;example/my-adapter/server.js',
              adapterFeatures: {
                experimentalStaticHeaders: true,
              },
            });
          },
        },
      };
    }

    See the Adapter API docs for more information about providing adapter features.

  • #​13697 af83b85 Thanks @​benosmac! - Fixes issues with fallback route pattern matching when i18n.routing.fallbackType is rewrite.

    • Adds conditions for route matching in generatePath when building fallback routes and checking for existing translated pages

    Now for a route to be matched it needs to be inside a named [locale] folder. This fixes an issue where route.pattern.test() incorrectly matched dynamic routes, causing the page to be skipped.

    • Adds conditions for route matching in findRouteToRewrite

    Now the requested pathname must exist in route.distURL for a dynamic route to match. This fixes an issue where route.pattern.test() incorrectly matched dynamic routes, causing the build to fail.

  • #​13924 1cd8c3b Thanks @​qw-in! - Fixes an edge case where isPrerendered was incorrectly set to false for static redirects.

  • #​13926 953a249 Thanks @​ematipico! - Fixes an issue where the experimental CSP meta element wasn't placed in the <head> element as early as possible, causing these policies to not apply to styles and scripts that came before the meta element.

v5.9.2

Compare Source

Patch Changes
  • #​13919 423fe60 Thanks @​ematipico! - Fixes a bug where Astro added quotes to the CSP resources.

    Only certain resources require quotes (e.g. 'self' but not https://cdn.example.com), so Astro no longer adds quotes to any resources. You must now provide the quotes yourself for resources such as 'self' when necessary:

    export default defineConfig({
      experimental: {
        csp: {
          styleDirective: {
            resources: [
    -          "self",
    +          "'self'",
              "https://cdn.example.com"
            ]
          }
        }
      }
    })
  • #​13914 76c5480 Thanks @​ematipico! - BREAKING CHANGE to the experimental Content Security Policy feature only

    Removes support for experimental Content Security Policy (CSP) when using the <ClientRouter /> component for view transitions.

    It is no longer possible to enable experimental CSP while using Astro's view transitions. Support was already unstable with the <ClientRouter /> because CSP required making its underlying implementation asynchronous. This caused breaking changes for several users and therefore, this MR removes support completely.

    If you are currently using the component for view transitions, please remove the experimental CSP flag as they cannot be used together.

    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
    -   csp: true
       }
    });

    Alternatively, to continue using experimental CSP in your project, you can consider migrating to the browser native View Transition API and remove the <ClientRouter /> from your project. You may be able to achieve similar results if you are not using Astro's enhancements to the native View Transitions and Navigation APIs.

    Support might be reintroduced in future releases. You can follow this experimental feature's development in the CSP RFC.

v5.9.1

Compare Source

Patch Changes

v5.9.0

Compare Source

Minor Changes
  • #​13802 0eafe14 Thanks @​ematipico! - Adds experimental Content Security Policy (CSP) support

    CSP is an important feature to provide fine-grained control over resources that can or cannot be downloaded and executed by a document. In particular, it can help protect against cross-site scripting (XSS) attacks.

    Enabling this feature adds additional security to Astro's handling of processed and bundled scripts and styles by default, and allows you to further configure these, and additional, content types. This new experimental feature has been designed to work in every Astro rendering environment (static pages, dynamic pages and single page applications), while giving you maximum flexibility and with type-safety in mind.

    It is compatible with most of Astro's features such as client islands, and server islands, although Astro's view transitions using the <ClientRouter /> are not yet fully supported. Inline scripts are not supported out of the box, but you can provide your own hashes for external and inline scripts.

    To enable this feature, add the experimental flag in your Astro config:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      experimental: {
        csp: true,
      },
    });

    For more information on enabling and using this feature in your project, see the Experimental CSP docs.

    For a complete overview, and to give feedback on this experimental API, see the Content Security Policy RFC.

  • #​13850 1766d22 Thanks @​ascorbic! - Provides a Markdown renderer to content loaders

    When creating a content loader, you will now have access to a renderMarkdown function that allows you to render Markdown content directly within your loaders. It uses the same settings and plugins as the renderer used for Markdown files in Astro, and follows any Markdown settings you have configured in your Astro project.

    This allows you to render Markdown content from various sources, such as a CMS or other data sources, directly in your loaders without needing to preprocess the Markdown content separately.

    import type { Loader } from 'astro/loaders';
    import { loadFromCMS } from './cms';
    
    export function myLoader(settings): Loader {
      return {
        name: 'my-loader',
        async load({ renderMarkdown, store }) {
          const entries = await loadFromCMS();
    
          store.clear();
    
          for (const entry of entries) {
            // Assume each entry has a 'content' field with markdown content
            store.set({
              id: entry.id,
              data: entry,
              rendered: await renderMarkdown(entry.content),
            });
          }
        },
      };
    }

    The return value of renderMarkdown is an object with two properties: html and metadata. These match the rendered property of content entries in content collections, so you can use them to render the content in your components or pages.

v5.8.2

Compare Source

Patch Changes

v5.8.1

Compare Source

Patch Changes
  • #​13037 de2fc9b Thanks @​nanarino! - Fixes rendering of the popover attribute when it has a boolean value

  • #​13851 45ae95a Thanks @​ascorbic! - Allows disabling default styles for responsive images

    This change adds a new image.experimentalDefaultStyles option that allows you to disable the default styles applied to responsive images.

    When using experimental responsive images, Astro applies default styles to ensure the images resize correctly. In most cases this is what you want – and they are applied with low specificity so your own styles override them. However in some cases you may want to disable these default styles entirely. This is particularly useful when using Tailwind 4, because it uses CSS cascade layers to apply styles, making it difficult to override the default styles.

    image.experimentalDefaultStyles is a boolean option that defaults to true, so you can change it in your Astro config file like this:

    export default {
      image: {
        experimentalDefaultStyles: false,
      },
      experimental: {
        responsiveImages: true,
      },
    };
  • #​13858 cb1a168 Thanks @​florian-lefebvre! - Fixes the warning shown when client directives are used on Astro components

  • #​12574 da266d0 Thanks @​apatel369! - Allows using server islands in mdx files

  • #​13843 fbcfa68 Thanks @​z1haze! - Export type AstroSession to allow use in explicitly typed safe code.

v5.8.0

Compare Source

Minor Changes
  • #​13809 3c3b492 Thanks @​ascorbic! - Increases minimum Node.js version to 18.20.8

    Node.js 18 has now reached end-of-life and should not be used. For now, Astro will continue to support Node.js 18.20.8, which is the final LTS release of Node.js 18, as well as Node.js 20 and Node.js 22 or later. We will drop support for Node.js 18 in a future release, so we recommend upgrading to Node.js 22 as soon as possible. See Astro's Node.js support policy for more details.

    ⚠️ Important note for users of Cloudflare Pages: The current build image for Cloudflare Pages uses Node.js 18.17.1 by default, which is no longer supported by Astro. If you are using Cloudflare Pages you should override the default Node.js version to Node.js 22. This does not affect users of Cloudflare Workers, which uses Node.js 22 by default.

Patch Changes

v5.7.14

Compare Source

Patch Changes

v5.7.13

Compare Source

Patch Changes

v5.7.12

Compare Source

Patch Changes
  • #​13752 a079c21 Thanks @​florian-lefebvre! - Improves handling of font URLs not ending with a file extension when using the experimental fonts API

  • #​13750 7d3127d Thanks @​martrapp! - Allows the ClientRouter to open new tabs or windows when submitting forms by clicking while holding the Cmd, Ctrl, or Shift key.

  • #​13765 d874fe0 Thanks @​florian-lefebvre! - Fixes a case where font sources with relative protocol URLs would fail when using the experimental fonts API

  • #​13640 5e582e7 Thanks @​florian-lefebvre! - Allows inferring weight and style when using the local provider of the experimental fonts API

    If you want Astro to infer those properties directly from your local font files, leave them undefined:

    {
      // No weight specified: infer
      style: 'normal'; // Do not infer
    }

v5.7.11

Compare Source

Patch Changes

v5.7.10

Compare Source

Patch Changes

v5.7.9

Compare Source

Patch Changes

v5.7.8

Compare Source

Patch Changes

v5.7.7

Compare Source

Patch Changes

v5.7.6

Compare Source

Patch Changes
  • #​13703 659904b Thanks @​ascorbic! - Fixes a bug where empty fallbacks could not be provided when using the experimental fonts API

  • #​13680 18e1b97 Thanks @​florian-lefebvre! - Improves the UnsupportedExternalRedirect error message to include more details such as the concerned destination

  • #​13703 659904b Thanks @​ascorbic! - Simplifies styles for experimental responsive images

    ⚠️ BREAKING CHANGE FOR EXPERIMENTAL RESPONSIVE IMAGES ONLY ⚠️

    The generated styles for image layouts are now simpler and easier to override. Previously the responsive image component used CSS to set the size and aspect ratio of the images, but this is no longer needed. Now the styles just include object-fit and object-position for all images, and sets max-width: 100% for constrained images and width: 100% for full-width images.

    This is an implementation change only, and most users will see no change. However, it may affect any custom styles you have added to your responsive images. Please check your rendered images to determine whether any change to your CSS is needed.

    The styles now use the :where() pseudo-class, which has a specificity of 0, meaning that it is easy to override with your own styles. You can now be sure that your own classes will always override the applied styles, as will global styles on img.

    An exception is Tailwind 4, which uses cascade layers, meaning the rules are always lower specificity. Astro supports browsers that do not support cascade layers, so we cannot use this. If you need to override the styles using Tailwind 4, you must use !important classes. Do check if this is needed though: there may be a layout that is more appropriate for your use case.

  • #​13703 659904b Thanks @​ascorbic! - Adds warnings about using local font files in the publicDir when the experimental fonts API is enabled.

  • #​13703 659904b Thanks @​ascorbic! - Renames experimental responsive image layout option from "responsive" to "constrained"

    ⚠️ BREAKING CHANGE FOR EXPERIMENTAL RESPONSIVE IMAGES ONLY ⚠️

    The layout option called "responsive" is renamed to "constrained" to better reflect its behavior.

    The previous name was causing confusion, because it is also the name of the feature. The responsive layout option is specifically for images that are displayed at the requested size, unless they do not fit the width of their container, at which point they would be scaled down to fit. They do not get scaled beyond the intrinsic size of the source image, or the width prop if provided.

    It became clear from user feedback that many people (understandably) thought that they needed to set layout to responsive if they wanted to use responsive images. They then struggled with overriding styles to make the image scale up for full-width hero images, for example, when they should have been using full-width layout. Renaming the layout to constrained should make it clearer that this layout is for when you want to constrain the maximum size of the image, but allow it to scale-down.

Upgrading

If you set a default image.experimentalLayout in your astro.config.mjs, or set it on a per-image basis using the layout prop, you will need to change all occurences to constrained:

// astro.config.mjs
export default {
  image: {
-    experimentalLayout: 'responsive',
+    experimentalLayout: 'constrained',
  },
}
isaacs/node-glob (glob)

v11.0.3

Compare Source

squidfunk/mkdocs-material (mkdocs-material)

v9.6.16: mkdocs-material-9.6.16

Compare Source

  • Fixed #​8349: Info plugin doesn't correctly detect virtualenv in some cases
  • Fixed #​8334: Find-in-page detects matches in hidden search result list

v9.6.15: mkdocs-material-9.6.15

Compare Source

  • Updated Mongolian translations
  • Improved semantic markup of "edit this page" button
  • Improved info plugin virtual environment resolution
  • Fixed #​8291: Large font size setting throws of breakpoints in JavaScript

v9.6.14: mkdocs-material-9.6.14

Compare Source

  • Fixed #​8215: Social plugin crashes when CairoSVG is updated to 2.8

v9.6.13: mkdocs-material-9.6.13

Compare Source

  • Fixed #​8204: Annotations showing list markers in print view
  • Fixed #​8153: Improve style of cardinality symbols in Mermaid.js ER diagrams
mkdocstrings/mkdocstrings (mkdocstrings)

v0.30.0

Compare Source

Compare with 0.29.1

Features
  • Add data-skip-inventory boolean attribute for elements to skip registration in local inventory (f856160 by Bartosz Sławecki). Issue-671, MR-774
  • Add I18N support (translations) (2b4ed54 by Nyuan Zhang). MR-645, Co-authored-by: Timothée Mazzucotelli dev@pawamoy.fr
mkdocstrings/python (mkdocstrings-python)

v1.16.12

Compare Source

Compare with 1.16.11

Bug Fixes
  • Only replace CSS class in first highlighting span (d57740f by Timothée Mazzucotelli). Issue-281

v1.16.11

Compare Source

Compare with 1.16.10

Bug Fixes
python-poetry/poetry (poetry)

v2.1.4

Compare Source

Changed
  • Require virtualenv<20.33 to work around an issue where Poetry uses the wrong Python version (#​10491).
  • Improve the error messages for the validation of the pyproject.toml file (#​10471).
Fixed
  • Fix an issue where project plugins were installed even though poetry install was called with --no-plugins (#​10405).
  • Fix an issue where dependency resolution failed for self-referential extras with duplicate dependencies (#​10488).
Docs
  • Clarify how to include files that were automatically excluded via VCS ignore settings (#​10442).
  • Clarify the behavior of poetry add if no version constraint is explicitly specified (#​10445).

v2.1.3

Compare Source

Changed
  • Require importlib-metadata<8.7 for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#​10374).
Fixed
  • Fix an issue where re-locking failed for incomplete multiple-constraints dependencies with explicit sources (#​10324).
  • Fix an issue where the --directory option did not work if a plugin, which accesses the poetry instance during its activation, was installed (#​10352).
  • Fix an issue where poetry env activate -v printed additional information to stdout instead of stderr so that the output could not be used as designed (#​10353).
  • Fix an issue where the original error was not printed if building a git dependency failed (#​10366).
  • Fix an issue where wheels for the wrong platform were installed in rare cases. (#​10361).
poetry-core (2.1.3)
  • Fix an issue where the union of specific inverse or partially inverse markers was not simplified (#​858).
  • Fix an issue where optional dependencies defined in the project section were treated as non-optional when a source was defined for them in the tool.poetry section (#​857).
  • Fix an issue where markers with === were not parsed correctly (#​860).
  • Fix an issue where local versions with upper case letters caused an error (#​859).
  • Fix an issue where extra markers with a value starting with "in" were not validated correctly (#​862).
pre-commit/mirrors-mypy (pre-commit/mirrors-mypy)

v1.17.1

Compare Source

v1.17.0

Compare Source

v1.16.1

Compare Source

v1.16.0

Compare Source

pycqa/flake8 (pycqa/flake8)

v7.3.0

Compare Source

uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)

v7.6.2: 7.6.2

Compare Source

7.6.2 (2025-07-22)
Bug Fixes
  • handling having set CI_APPLICATION_REPOSITORY with multi target docker builds (1dc6987)

v7.6.1: 7.6.1

Compare Source

7.6.1 (2025-07-16)
Bug Fixes

v7.6.0: 7.6.0

Compare Source

7.6.0 (2025-07-10)
Features
  • terraform: add tfplan.json to artefact list (710623f)
Bug Fixes
  • terraform: restrict plan artefact access (723e094)

v7.5.3: 7.5.3

Compare Source

7.5.3 (2025-07-10)

v7.5.2: 7.5.2

Compare Source

7.5.2 (2025-07-10)

v7.5.1: 7.5.1

Compare Source

7.5.1 (2025-07-10)
Bug Fixes
  • maven.gitlab-ci.yml: added missing GKE_RUNNER_TAG for cache-debug job (22df4e5)

v7.5.0: 7.5.0

Compare Source

7.5.0 (2025-07-03)
Features
  • add compile_vulnerability_allowlist as a pre-req for the container_scanning job (94ae968)

v7.4.0: 7.4.0

Compare Source

7.4.0 (2025-07-01)
Features
  • keep trivy output in fixed directory (5ce35ee)

v7.3.2: 7.3.2

Compare Source

7.3.2 (2025-06-26)

v7.3.1: 7.3.1

Compare Source

7.3.1 (2025-06-26)

v7.3.0: 7.3.0

Compare Source

7.3.0 (2025-06-26)
Features
  • renovate: add all YAML files to gitlabci manager (1dc5db5)

v7.2.2: 7.2.2

Compare Source

7.2.2 (2025-06-26)
Bug Fixes

v7.2.1: 7.2.1

Compare Source

7.2.1 (2025-06-26)
Bug Fixes

v7.2.0: 7.2.0

Compare Source

7.2.0 (2025-06-23)
Features
  • enable "advanced" SAST scanning for common pipeline projects (c3c3356), closes #​126

v7.1.0: 7.1.0

Compare Source

7.1.0 (2025-06-19)
Features
  • add workflow-prefer-mr-pipelines.gitlab-ci.yml (bee3dbc), closes #​125

v7.0.2: 7.0.2

Compare Source

7.0.2 (2025-06-17)

v7.0.1: 7.0.1

Compare Source

7.0.1 (2025-06-17)
Bug Fixes
  • remove use of deprecated workflow rules templates (c1e9531), closes #​124

v7.0.0: 7.0.0

Compare Source

7.0.0 (2025-06-17)
⚠️ BREAKING CHANGES
  • add the common-pipeline, commitlint, and release-it
Features
  • add the common-pipeline, commitlint, and release-it (8fbf3a9)

v6.15.0

Compare Source

Changed
  • terraform-module.yml: Add support for Terraform testing with additional cleanup scripts.
Fixed
  • terraform-module.yml: Override the tflint job so that the terraform_standard_module_structure rule is applied.
  • terraform-module.yml: Override the pre-commit job to avoid duplication of our terraform-fmt, tflint, and trivy jobs.

v6.14.2

Compare Source

v6.14.1

Compare Source

v6.14.0

Compare Source

v6.13.0

Compare Source

v6.12.3

Compare Source

v6.12.2

Compare Source

Fixed
  • terraform-module: override .test-job-rules from terraform-lint.yml as the terraform-module.yml template needs to support Auto-DevOps.

v6.12.1

Compare Source

v6.12.0

Compare Source

v6.11.0

Compare Source

Changed
  • terraform-lint: use custom tflint docker image for the tflint job. This image includes the UIS DevOps custom tflint ruleset.
  • terraform-lint: move default tflint arguments to a $TFLINT_ARGS variable to allow repositories to override if required.
  • terraform-module: enable tflint in our Terraform reusable module pipeline.

v6.10.0

Compare Source

Fixed
  • terraform-pipeline: Partially revert changes made in v5.1.0.
    • Plan jobs for branch push pipelines will be reverted.
    • Manual apply jobs for the development environment will remain in the merge request pipelines.

Configuration

📅 Schedule: Branch creation - "on sunday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by uis-devops-renovatebot

Merge request reports

Loading