github withastro/astro astro@1.0.0-beta.55

latest releases: astro@5.0.0-beta.2, @astrojs/vue@5.0.0-beta.0, @astrojs/svelte@6.0.0-beta.0...
pre-release2 years ago

Patch Changes

  • #3696 3daaf510 Thanks @matthewp! - Support for streaming responses

    Astro supports streaming in its templates. Any time Astro encounters an async boundary it will stream out HTML that occurs before it. For example:

    ---
    import LoadTodos from '../components/LoadTodos.astro';
    ---
    <html>
    <head>
    <title>App</title>
    </head>
    <body>
      <LoadTodos />
    </body>
    </html>

    In this arbtrary example Astro will streaming out the <head> section and everything else until it encounters <LoadTodos /> and then stop. LoadTodos, which is also an Astro component will stream its contents as well; stopping and waiting at any other asynchronous components.

    As part of this Astro also now supports async iterables within its templates. This means you can do this:

    <ul>
      {(async function * () {
        for(const number of numbers) {
          await wait(1000);
    
          yield <li>Number: {number}</li>
          yield '\n'
        }
      })()}
    </ul>

    Which will stream out <li>s one at a time, waiting a second between each.

  • #3700 47c81eff Thanks @matthewp! - Make Astro.redirect use a 302 status code

Don't miss a new astro release

NewReleases is sending notifications on new releases.