Astro 5.15 | Astro

🎃 Astro 5.15 محافظت خودکار ضد خش Netlify، فیلتر پیش بارگذاری فونت دانه ای و APIهای آداپتور جدید قدرتمند را ارائه می دهد.
بررسی کنید چه چیزی در این نسخه جدید است:
برای ارتقاء یک پروژه موجود، از خودکار استفاده کنید @astrojs/upgrade ابزار CLI. از طرف دیگر، می توانید با اجرای دستور ارتقاء برای مدیر بسته خود، به صورت دستی ارتقا دهید:
pnpm upgrade astro --latest
yarn upgrade astro --latest
Netlify Anti Distortion
Astro 5.15 حفاظت از انحراف خودکار را برای استقرار Netlify معرفی می کند و تضمین می کند که نسخه های کلاینت و سرور سایت شما کاملاً هماهنگ هستند.
انحراف استقرار یک مشکل یواشکی است که زمانی رخ میدهد که کاربران داراییهای مشتری قدیمیتر را در حالی که سرور در حال اجرای کدهای جدیدتر است، بارگذاری میکند. این می تواند باعث خطاهای ظریف و رفتار غیرمنتظره ای شود که ردیابی آنها دشوار است. با محافظت ضد اعوجاج Netlify، این موضوع اکنون به گذشته تبدیل شده است.
وقتی در Netlify مستقر می شوید، Astro به طور خودکار شناسه استقرار شما را در تمام درخواست های دارایی و تماس های API درج می کند. این به Netlify اجازه میدهد تا به طور خودکار هر گونه اختلاف نسخه را شناسایی و رسیدگی کند – بدون نیاز به پیکربندی. سایت شما فقط کار می کند، حتی در هنگام استقرار سریع یا زمانی که کاربران در اتصالات کندی هستند که می توانند دارایی های خارج از محدودیت های استقرار را بارگیری کنند.
اگر در برنامه خود درخواست های واکشی سفارشی می کنید، می توانید مستقیماً به شناسه استقرار نیز دسترسی داشته باشید:
const deployId = import.meta.env.DEPLOY_ID;
const response = await fetch('/api/endpoint', {
Netlify Anti-Distortion بهطور یکپارچه در تمام ویژگیهای اصلی Astro، از جمله View Transitions، Server Islands، Prefetch و Astro Actions کار میکند و به شما آرامش خاطر را در کل سایتتان میدهد.
APIهای آداپتور جدید برای سفارشی کردن هدرها و دارایی ها
در پشت صحنه، ضد اعوجاج Netlify توسط مجموعه جدیدی از APIهای اصلی که به آداپتورها اجازه میدهد هر دو هدر را سفارشی کنند و پارامترهای داراییهای موجود در سیستمهای Astro را درخواست کنند، تامین میشود.
Astro اکنون یک را نشان می دهد client گزینه پیکربندی ج AstroAdapter رابطی که به آداپتورها اجازه می دهد تا تعریف کنند:
internalFetchHeaders– هدرهای سفارشی برای گنجاندن خودکار در تمام تماسهای واکشی که توسط سیستمهای هسته Astro انجام میشود (عملیات، مشاهده انتقال، جزایر سرور و واکشی اولیه)assetQueryParams– پارامترهای پرس و جو به صورت خودکار به URL دارایی ها اضافه می شوند
این به پلتفرمهای میزبانی قلابهایی را میدهد که برای پیادهسازی ویژگیهای پیچیده مانند ضد جعل بدون نیاز به پیکربندی دستی از سوی توسعهدهندگان، نیاز دارند.
در اینجا نحوه پیکربندی یک آداپتور این گزینه ها در astro:config:done قلاب:
export default function exampleAdapter() {
'astro:config:done': async ({ setAdapter }) => {
serverEntrypoint: 'example-adapter/ssr.js',
internalFetchHeaders: () => {
const deployId = process.env.DEPLOY_ID;
return { 'x-deploy-id': deployId };
assetQueryParams: process.env.DEPLOY_ID
? new URLSearchParams({ deployId: process.env.DEPLOY_ID })
آداپتور Vercel هم اکنون از این API های جدید بهره می برد. پیش از این، ضد اعوجاج Vercel دارای محدودیتها و اشکالاتی بود که مانع از عملکرد صحیح آن در تمام ویژگیهای Astro میشد. با این بهروزرسانی، آداپتور Vercel اکنون از همان APIهای جدید برای ارائه محافظت مطمئن در برابر اعوجاج استفاده میکند VERCEL_SKEW_PROTECTION_ENABLED متغیر محیطی فعال است و آن را به برابری ویژگی با Netlify می رساند.
فیلتر دانه ای فونت از پیش بارگذاری شده
API فونت آزمایشی اکنون از کنترل دقیقی پشتیبانی می کند که انواع فونت ها از قبل بارگذاری شده اند. قبلاً، فقط میتوانستید تمام تغییرات یک فونت را از قبل بارگیری کنید یا هیچ کدام. اکنون میتوانید دقیقاً مشخص کنید که کدام وزنها، سبکها و زیرمجموعهها باید از قبل بارگذاری شوند، و به شما کمک میکند عملکرد را فقط با دانلود آنچه واقعاً استفاده میکنید، بهینه کنید.
هنگام استفاده جزء، شما می توانید ارسال کنید preload آرایه برای فیلتر انواع:
import { Font } from 'astro:assets';
cssVariable="--font-roboto"
{ subset: 'latin', style: 'normal' },
این مثال فقط زیرمجموعه سبک معمولی لاتین و تمام فایلهای فونت وزن را از پیش بارگذاری میکند 400. برای فونت های با وزن متغیر (که محدوده ای مانند 100–900، Astro به طور هوشمند آنها را با معیارهای فیلتر شما مطابقت می دهد. درخواست وزن 400 شامل یک فونت متغیر است که پوشش می دهد 100–900 محدوده به عنوان این وزن را پشتیبانی می کند.
شما می توانید هر ترکیبی از موارد زیر را فیلتر کنید:
weight– وزن خاص فونت (به عنوان مثال'400'،'700')style– سبک فونت (مثلا'normal'،'italic')subset– زیر مجموعه ای از فونت ها (مثلا'latin'،'cyrillic')
این به شما امکان کنترل دقیق بر استراتژی بارگذاری فونت را می دهد و در عین حال انعطاف طراحی را حفظ می کند، بارگیری های غیر ضروری را کاهش می دهد.
سایر پیشرفت ها
- دکمه کپی برای ردیابی پشته – پوشش اشکال اکنون شامل یک دکمه کپی است تا به راحتی ردپای پشته را با LLMها و ویرایشگرهای هوش مصنوعی برای اشکال زدایی سریعتر به اشتراک بگذارد. با تشکر از Deveesh Shetty برای کمک به این ویژگی! (#14489)
- داربست پیکربندی رانگلر –
astro addCLI اکنون به طور خودکار داربست می شودwrangler.jsoncهنگام اضافه کردن یکپارچه سازی Cloudflare. با تشکر از الیور اسپیر برای به روز رسانی اسناد Cloudflare ما با دستورالعمل های به روز! (#14564) - منسوخ شدن Node.js 18 – آداپتور Vercel اکنون Node.js 18 را بهعنوان منسوخ شده به نفع نسخههای جدیدتر LTS علامتگذاری میکند. با تشکر از Jacob Lamb برای این کمک! (#14555)
رفع اشکال
مثل همیشه، ما سخت کار می کنیم تا مشکلات بعد از نسخه 5.14 را برطرف کنیم. برای جزئیات کامل تغییرات لاگ را ببینید.
تیم اصلی Astro عبارتند از:
الکساندر نیبور، آرماند فیلیپو، کریس سویتین بانک،
امانوئل استوپا، اریکا، فلوریان لوفور،
فرد شات، سلام، لویی فراز،
مت کین، متیو فیلیپس، روبن ردیف،
سارا رینزبرگر، و ایان توماس.
از همه مشارکت کنندگان دیگری که با افزودن ها و بهبودهای کد و اسناد کمک کردند تا Astro 5.15 ممکن شود، از جمله:
عبدالرحمن عبدالفتاح، آلاسدیر مکلی، آلوارو سابوریدو، aprici7y، آرون هومبرگ، بارتوس کاپچیاک، برایان دوکز، دیویش شتی، دینوتورنت، ادوارد برونتیره، الیان، اولینا بییرچ، ایوز، فلیکس اشنایدر، جیمز ژوزفین برتو یاسکین، جوناس گیلر، پارک جونسئونگ، کاتو تاکشی، کنزو وادا، کنج، لیرویفنگو، لوئیس اشر، مدز اریک فوربرگ، مارتین تراپ، متیو جاستیس، موریس آباد گوتیرز، نین 3، اولکان ایبرم، اولیور اسپیر، پل ساکس، پل والاگویدورو، کوئورو، 2 رابین بوهلر، سانکالپا آچاریا، سباستین بلتران، استیون، تاریک، توماس بونت، تیمون جورسیک، ورابه، زیدورن کوان و یوروکوت



