astro@7.1.0
-
#17302
5f4dc03Thanks @astrobot-houston! - Adds a newdeferRenderoption to theglob()content loaderWhen set to
true, renderable entries (such as Markdown) are not rendered during content sync. Instead, rendering is deferred until the entry is actually rendered in a page, using the same on-demand path that.mdxfiles already use.This reduces memory usage during
astro buildfor large collections whose rendered output is much larger than the source — for example, Markdown that uses heavy rehype plugins likerehype-katex. Such builds could previously run out of memory while storing the eagerly-rendered HTML for every entry.// src/content.config.ts import { defineCollection } from 'astro:content'; import { glob } from 'astro/loaders'; const docs = defineCollection({ loader: glob({ pattern: '**/*.md', base: 'src/content/docs', deferRender: true }), });
By default
deferRenderisfalse, preserving the existing behavior of rendering entries eagerly during sync so their rendered HTML can be cached across builds. -
#17296
30698a2Thanks @ematipico! - Adds a new experimentalcollectionStorageoption for controlling how the content layer persists its data storeBy default, Astro serializes the entire content layer data store to a single file (
.astro/data-store.json). For very large content collections, this file can grow large enough to hit platform file-size limits.Set
experimental.collectionStorage: 'chunked'to instead split the data store across many smaller, content-addressed files inside a.astro/data-store/directory, described by a manifest:// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ experimental: { collectionStorage: 'chunked', }, });
Because each part file is named by a hash of its contents, unchanged parts keep the same name across builds and are not rewritten, and identical parts are deduplicated. The default value is
'single-file', which preserves the current behavior. -
#17214
44c4989Thanks @ematipico! - Adds support for the more specific CSP directivesscript-src-elem,script-src-attr,style-src-elem, andstyle-src-attrthrough a newkindoption.Previously,
CSPwas only scoped to genericscript-src/style-srcdirectives. Now each source or hash can be scoped to a narrower directive — for example, to allow inlinestyleattributes (such as those fromdefine:varsor Shiki) without loosening the policy for your<style>and<link>elements.Each entry in
resourcesandhashescan be an object with akindproperty. Depending on whether you usescriptDirectiveorstyleDirective,"element"targetsscript-src-elemorstyle-src-elem,"attribute"targetsscript-src-attrorstyle-src-attr, and"default"(the same as a bare string or hash) targetsscript-srcorstyle-src.// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ security: { csp: { scriptDirective: { resources: [{ resource: 'https://cdn.example.com', kind: 'element' }], }, styleDirective: { resources: [{ resource: "'unsafe-inline'", kind: 'attribute' }], }, }, }, });
The same
kindoption is available on the runtime CSP API, where the existing methods now also accept an object:ctx.csp.insertScriptResource({ resource: 'https://cdn.example.com', kind: 'element' }); ctx.csp.insertStyleResource({ resource: "'unsafe-inline'", kind: 'attribute' });
-
#17258
84814d4Thanks @astrobot-houston! - Adds a newformat()option to thepaginateutility. Theformat()option is a function that accepts the current URL of the page, and returns a new URL.For example, when your host only supports URLs using the
.htmlextension, you can useformat()to add it to the generated URLs:--- export async function getStaticPaths({ paginate }) { // Load your data with fetch(), getCollection(), etc. const response = await fetch(`https://pokeapi.co/api/v2/pokemon?limit=150`); const result = await response.json(); const allPokemon = result.results; // Return a paginated collection of paths for all items return paginate(allPokemon, { pageSize: 10, format: (url) => `${url}.html`, }); } const { page } = Astro.props; ---
-
#17331
7db6420Thanks @matthewp! - Adds a--ignore-lockflag toastro devfor starting a dev server without checking or writing the lock file, so it can run alongside an already-running dev server for the same project.The new instance is not tracked by
astro dev stop,astro dev status, orastro dev logs.--ignore-lockcannot be combined with--background(or an auto-detected AI agent environment, which runs dev servers in the background automatically) or--force, since those rely on the lock file.astro dev --ignore-lock
-
#17389
16de021Thanks @florian-lefebvre! - Allows passing URL entrypoints when configuring the loggerMatching other APIs like session drivers or font providers, the logger entrypoint can now be a URL:
import { defineConfig } from 'astro/config'; export default defineConfig({ logger: { entrypoint: new URL('./logger.js', import.meta.url), }, });
-
#17332
4407483Thanks @astrobot-houston! - Fixes the JSON logger crashing withprocess is not definedin non-Node runtimes like Cloudflare's workerd. The JSON logger now usesconsole.log/console.errorinstead ofprocess.stdout/process.stderr, matching the pattern already used by the console logger. -
#17391
186a1e7Thanks @florian-lefebvre! - Fixes a case where an integration could not update the logger withupdateConfig() -
#17394
d9f99e1Thanks @matthewp! - Fixes element-specific CSP directives to preserve the existing behavior of configured script and style resources -
#17374
b2d1b3eThanks @astrobot-houston! - Fixes dev server returning 404 for?urlimported assets when accessed via browser navigation -
#17390
ed71eafThanks @florian-lefebvre! - Removes an unused and undocumented generic from theAstroLoggerDestinationtype -
#17393
092da56Thanks @matthewp! - Hardens generated transition styles, development metadata, and server island URLs when embedding dynamic values
@tdesign-vue-next/chat@0.6.0
ChatEngine: 支持新版 AGUI 协议,同时兼容旧版 AGUI 协议 @lLzhengH
ChatMarkdown:- 修复 markdown 组件默认挂载全局实例冲突的缺陷 @RSS1102 @uyarn (#6791)
ChatContent: 修复组件 XSS 漏洞的问题 @uyarn (#6698)ChatSender: 修复在 Safari 中混合输入时回车会直接触发发送的问题 @goldjunkrat (#6808)
ChatEngine: Supports the latest AGUI protocol @lLzhengH
ChatMarkdown:- Fixed the issue of conflicts arising from the default global instance usage of markdown components @RSS1102 @uyarn (#6791)
ChatContent: Fixed the XSS vulnerability in this component @uyarn (#6698)ChatSender: Fixed the problem where pressing Enter while using mixed input modes in the Safari browser would trigger sending immediately @goldjunkrat (#6808)
@quasar/cli-v5.0.3
This is the optional globally-installed part of the Quasar CLI
- feat(cli): upgraded deps
- fix(cli): upgrade cmd should correctly install selected packages (if any selection changes)
- fix(cli): banner when using the deprecated "create" cmd
- fix(cli): configured npm registry detection; also, make registry requests robust
Quasar Framework is an open-source MIT-licensed project made possible due to the generous contributions by sponsors and backers. If you are interested in supporting this project, please consider the following:
v4.3.3
- Support
--watch --poll[=ms]in@tailwindcss/cliwhen filesystem events are unreliable or unavailable (#20297) - Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g.
bg-[#fff]andbg-[#FFF]→bg-white) (#20298) - Prevent Preflight from overriding Firefox's native
iframe:focus-visibleoutline styles (#20292) - Ensure
theme('colors.foo')in JS plugins resolves correctly when both--color-fooand--color-foo-barexist (#20299) - Ensure fractional opacity modifiers work with named shadow sizes like
shadow-sm/12.5,text-shadow-sm/12.5,drop-shadow-sm/12.5, andinset-shadow-sm/12.5(#20302) - Parse selectors like
[data-foo]divas two selectors instead of one (#20303) - Ensure
@tailwindcss/postcssrebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (#20310) - Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in
@tailwindcss/browserand Tailwind Play (#20124) - Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like
oklch(#20314) - Ensure
--spacing(0)is optimized to0pxinstead of0so it remains a<length>when used incalc(…)(#20319) - Load
@parcel/watcheronly when needed in@tailwindcss/cli --watchmode, so one-off builds and--watch --pollwork when@parcel/watchercan't be loaded (#20325) - Use explicit platform fonts instead of
system-uiandui-sans-serifso CJK text respects the page'slangattribute on Windows (#20318) - Prevent
@tailwindcss/upgradefrom rewriting ignored files when run from a subdirectory (#20329) - Ensure earlier
@sourcerules pointing to nested files are scanned when later@sourcerules point to files in parent folders (#20335) - Prevent
@tailwindcss/vitefrom triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (#20336)
v20.0.0
- 🐛
isPersistentremains true when localStorage is disabled in Firefox, resolve #80 b1b1dae - ✨ reduce bundle size f324d84
| v19.5.0 | v20.0.0 | Δ | |
|---|---|---|---|
| minified | 1.65 kB | 1.53 kB | −120 B (−7.3%) |
| minified + brotli | 704 B | 677 B | −27 B (−3.8%) |
Note: This is a new major release because the isPersistent prop is changing behavior — previously when the defaultValue was equal to the returning value isPersistent was always true. Now isPersistent is true only when localStorage is saving the value.
https://github.com/astoilkov/use-local-storage-state/compare/v19.5.0...v20.0.0
socket.io-parser@3.3.6
- reject binary packets with zero attachments (9c6323e)
9.17.0
- Preserve antialiased edges when writing depth - [Bug Fix] by VicenteCartas (#18696)
- Preserve antialiased edges when writing depth - [Bug Fix] by VicenteCartas (#18696)
- refactor(splats): Expose safe-orbit camera limits on Gaussian Splatting meshes - by raymondyfei (#18685)
- Inspector v2: Allow FBX files in Project Authoring asset add/swap - by PatrickRyanMS (#18698)
- refactor(splats): Expose safe-orbit camera limits on Gaussian Splatting meshes - by raymondyfei (#18685)
- fix(loaders): retry deferred GaussianSplattingStream LOD switch after cooldown expires - by raymondyfei (#18693)
v8.1.5
Please refer to CHANGELOG.md for details.
plugin-legacy@8.2.1
Please refer to CHANGELOG.md for details.