@astrojs/mdx@7.0.8
-
#17757
660991cThanks @astro-factory! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error -
#17766
0762a83Thanks @HiDeoo! - Fixes Sätteri processor option types to accept all plugin entries supported by Sätteri v0.10.3.
@astrojs/cloudflare@14.2.4
-
#17789
7c541a7Thanks @astro-factory! - Fixes dep scanning failure when.astrofrontmatter contains regex literals with quote characters (e.g./"/g) -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.4
create-astro@5.2.4
- #17756
f88c875Thanks @astro-factory! - Fixesnpm installwarnings on npm v11+ about esbuild's install scripts not being covered byallowScripts. AddsensureNpmScriptsAllowed()to pre-approve esbuild inpackage.jsonbefore runningnpm install, matching the existing pnpm v11 compatibility fix.
astro@7.2.5
-
#17758
5f419e2Thanks @astro-factory! - Fixes a bug whereexperimental_getFontFileURL()rejected valid font URLs when using the Cloudflare adapter -
#17416
493796bThanks @iseraph-dev! - Skips no-op pathname writes when normalizing SSR request URLs -
#17712
bd374b7Thanks @fkatsuhiro! - Updates deprecation messages target from Astro 7 to 8 -
#17719
dac1768Thanks @astrobot-houston! - Fixes session ID validation to reject non-UUID cookie values before using them as storage keys -
#17770
84eb7e7Thanks @astro-factory! - Fixes--mode,--site,--base,--out-dir,--verbose,--silent, and--openflags being silently dropped when usingastro dev --backgroundorastro preview --background -
#17713
d035290Thanks @wakqasahmed! - Fixescontent-modules.mjsnot removing entries for deleted or renamed content files, which could cause Vite to attempt to resolve non-existent modulesAs part of this fix,
#moduleImportsis now fully rebuilt fromdeferredRenderentries before every write, so a module import added only through the publicaddModuleImport()API without a correspondingdeferredRenderentry in the store will no longer be preserved across writes. -
#17743
adc750fThanks @contactjawad! - FixesAstro.preferredLocaleandAstro.preferredLocaleListignoringAccept-Languagequality values when they are absent or0. An entry without an explicitq=now correctly counts as quality1.0(per RFC 7231) and an entry withq=0is treated as not acceptable, so the highest-quality locale is selected regardless of header order. -
#17757
660991cThanks @astro-factory! - Fixes build errors showing wrong file location, missing line:col, and misleading hints when a plugin error (e.g. from MDX) is wrapped by Vite's build error -
#17783
60b14ffThanks @matthewp! - Fixes a type error when passing an image from a content collectionimage()schema to a component or<Image />. The schema returned byimage()was missing theapngformat, so it no longer matched the type of an imported image. -
#17664
d483125Thanks @astrobot-houston! - Fixes an issue where Astro CSP support didn't correctly handle cases"unsafe-inline"resource. Now when"unsafe-inline", Astro won't emit hashes for the directive specified. -
#17810
0fc5f65Thanks @florian-lefebvre! - Fixes a regression in the content collections that could cause images to not be resolved -
#17781
aa33b44Thanks @matthewp! - FixesmemoryCache()storing responses that set cookies throughAstro.cookiesorAstro.session -
#17787
6661fbeThanks @astro-factory! - Fixesserver:defercrashing the dev server with "undefined is not a function" when a deferred component imports fromastro:i18n -
#17750
dd0e3acThanks @dobrodob! - Fixes a regression wheretransition:persiststopped working for<audio>and<video>elements. -
#17774
fe1d16dThanks @astro-factory! - Adds support for importing.apngfiles as image metadata for use with standard<img>elements. Astro's image components reject APNG files to avoid removing their animation -
#17799
8797754Thanks @astro-factory! - Fixes i18nfallbackType: "rewrite"returning 500 instead of 404 when the fallback locale also has no matching static path for a prerendered dynamic route -
#17741
99d3d3dThanks @ericswpark! - Bumps the Astro compiler to the latest version. Changelog. -
#17782
3578d45Thanks @Princesseuh! - Improves the performance of the Astro CLI in local by enabling Node's module compilation cache. -
#17705
2043e4fThanks @astrobot-houston! - Fixes incremental builds serving cached HTML that references stale CSS filenames after a stylesheet-only edit -
#17754
3d50dfdThanks @astro-factory! - Fixes the dev server refusing to start in Docker containers after a restart due to PID reuse in the lock file check -
#17769
bbda94dThanks @astro-factory! - Fixes a build failure when definingvite.environments.ssrin the Astro config. User-provided environment config forssr,prerender, orclientis now properly deep-merged with Astro's internal environment settings instead of silently breaking the server entry naming. -
#17776
0874da8Thanks @astro-factory! - Fixes theglob()content loader failing to load files with colons in their names (e.g.,Guide: Architecture.md) -
Updated dependencies [
0762a83,0c99615]:- @astrojs/markdown-satteri@0.3.8
@astrojs/vercel@11.0.8
- #17794
dd29ce8Thanks @astro-factory! - Fixes a bug where@vercel/nftfile tracing silently dropped all dependency files whenoutDirwas configured outsideroot, causing deployed functions to crash withERR_MODULE_NOT_FOUND
v2.8.58
- New
ZipWriter#appendZipmethod. It copies the entries of an existing zip file into the current zip. UnlikeprependZip, it can be called at any position: after entries have been added, betweenadd()calls, and repeatedly to merge several zip files. The central directory of the copied file is rebuilt and its entries are relocated to the positions they get in the output.prependZipis kept as a deprecated alias - New
rawLastModDateoption ofZipWriter#add. It sets the raw MS-DOS date and time of the entry directly, whichpassThroughcopies of ZipCrypto entries need (see below) - New
localDirectory.dataOffsetproperty. It is the byte offset of the entry data, i.e. the entry offset plus the size of the local file header, of the filename and of the extra field. It can be used withReader#createReadableto serve ranged requests into an entry stored without compression - New
ERR_ZIP_CRYPTO_LAST_MOD_DATEerror constant
- Errors of
add()andappendZip()calls left un-awaited are not lost anymore.close()waits for the pending calls and throws the first unreported error, with all of them available in itsentryErrorsproperty. Throwing counts as reporting: catching the error and callingclose()again finalizes the zip file without the failed entries.ZipWriterStreamnow aborts its writable when an entry fails, so the readable errors instead of hanging - An interrupted
appendZip()copy now setshasCorruptedEntrieson the writer and keeps the offsets of the entries written after it consistent - The "version needed to extract" field is now 10 for entries stored without compression or encryption, instead of 20
- Last modification dates before 1980 are now clamped to the MS-DOS epoch instead of underflowing the date field
- The
directoryproperty of read entries is now derived from the trailing slash of the filename alone. A name ending with "/" is a folder even when the entry declares an uncompressed size - Unicode Path and Unicode Comment extra fields are now applied only when their version is 1, as required by section 4.6.8 of the zip specification
- Reading an archive with a multiple of 65,536 entries and no zip64 record now returns all the entries. The 16-bit count of the end of central directory record wraps around; the reader detects the wrap by walking the central directory records past the declared count. The recovery is skipped when the strictness checks reject ambiguous archives
- The
unsafe*optimizations of the minifier were removed from the builds. Two of them shipped real miscompilations in the past, one of which stayed undetected for four years, and the size they saved was about 50 bytes per compressed bundle
- ZipCrypto entries copied with
passThroughcan now be read back with their password. The password verification byte of ZipCrypto depends on the raw date of the entry when a data descriptor is used, so a copy that regenerated the date or forced the descriptor failed withERR_INVALID_PASSWORD. ThedataDescriptoroption is not forced anymore for pass-through ZipCrypto data, the newrawLastModDateoption preserves the raw date, and the filesystem API forwards both when exporting, throwing the newERR_ZIP_CRYPTO_LAST_MOD_DATEerror if the date is overridden - The end of central directory records of split zip files now declare the number of central directory entries stored on the last disk, as required by section 4.4.21 of the zip specification, instead of the total. The count is 0 when the record starts on a fresh disk, which is how Info-ZIP fills the field. The check deciding whether the disk number of the record requires zip64 also accounts for the actual record and comment length when predicting a disk rollover near 65,535 disks
- The spanning signature of split zip files is now written while holding the writer lock. A first entry written with
bufferedWrite, or interleaved un-awaitedadd()calls, could fail on the locked stream or misplace the signature - Duplicate filenames are now detected before the entry waits for a worker slot. Two
add()calls with the same filename made while the worker pool was saturated could both be accepted
- The
usdzoption states that its constraints apply to the entries written withadd()only. The entries copied withappendZipkeep the layout of the source zip file and are not checked - The
ZipReaderconstructor states that a stream input is buffered entirely in memory, because reading a zip file requires random access, and points at customReaderimplementations for large seekable resources WritableWriter#sizestates that a value set before the first write is used as the starting offsetuseUnicodeFileNamesstates that disabling it only clears the language encoding flag and does not re-encode the filenamespassThroughdocuments the coupling between ZipCrypto and the last modification datemsDosCompatibledocuments how PKUNZIP handles folder entries
- New PKZIP 1.10 and PKZIP 2.04g fixtures (attributes, comments, spanned archives) with tests reading the archives produced by the original tools
- New regression tests lock the fixes above: the spanning signature position with concurrent and buffered writes, the per-disk entry counts of spanning central directories, including in the golden output, the ZipCrypto pass-through copies, the queued duplicate names, and the retryable
close() - The Safari suite retries up to four times, the ZipCrypto tests are immune to date and wrong-password flakes, and the test fixtures are resolved independently of the working directory
- The dead extra field handling of the
appendZipentry rebuild was removed, making it explicit that copied entries carry their extra fields verbatim