نسخه بتای کروم ۱۴۳

منتشر شده: ۲۹ اکتبر ۲۰۲۵

مگر اینکه خلاف آن ذکر شده باشد، این تغییرات برای نسخه بتای کروم ۱۴۳ برای اندروید، کروم او اس، لینوکس، مک او اس و ویندوز اعمال می‌شود. برای کسب اطلاعات بیشتر در مورد این ویژگی‌ها، به لینک‌های ارائه شده یا ChromeStatus.com مراجعه کنید. نسخه بتای کروم ۱۴۳ را از Google.com برای دسکتاپ یا از فروشگاه گوگل پلی برای اندروید دانلود کنید.

سی‌اس‌اس و رابط کاربری

کوئری‌های کانتینر پشتیبان CSS

این ویژگی @container anchored(fallback) ‎ را برای استایل‌دهی به فرزندان عناصر موقعیت‌یابی‌شده با anchor بر اساس مقدار position-try-fallbacks اعمال شده، معرفی می‌کند.

برای مثال، می‌توانید از چنین کوئری‌هایی برای استایل‌دهی به افسار یک عنصر لنگر انداخته شده یا انیمیشن‌های آن بر اساس نحوه قرارگیری لنگر و عنصر لنگر انداخته شده نسبت به یکدیگر استفاده کنید.

مثال:

#anchored {
 position-try-options: flip-block;
 container-type: anchored;
}

@container anchored(fallback: flip-block) {
  #anchored > .arrow {
    --arrow-rotation: 180deg;
   }
}

برای کسب اطلاعات بیشتر به بخش «تشخیص موقعیت‌های جایگزین با کوئری‌های کانتینر لنگر انداخته شده از کروم ۱۴۳» مراجعه کنید.

EditContext: TextFormat underlineStyle و underlineThickness

کرومیوم رابط برنامه‌نویسی کاربردی ویرایش‌کانکتد (EditContext API) را با یک اشکال ارائه داد که در آن شیء TextFormat ، که توسط EditContext/textformatupdate_event ارائه می‌شود، مقادیر نادرستی را برای ویژگی‌های underlineStyle و underlineThickness ارائه می‌دهد. در کرومیوم، مقادیر ممکن عبارتند از None ، Solid ، Dotted ، Dashed ، Squiggle و None ، Thin ، Thick . با این حال، طبق مشخصات EditContext ، آنها باید none ، solid ، dotted ، dashed ، wavy و none ، thin ، thick باشند.

API های وب

اجازه دادن به کاراکترهای بیشتر در API های DOM جاوا اسکریپت

تجزیه‌گر HTML همیشه (یا برای مدت طولانی) به عناصر و ویژگی‌ها اجازه داده است که طیف گسترده‌ای از کاراکترها و نام‌های معتبر را داشته باشند، اما APIهای DOM جاوا اسکریپت برای ایجاد همان عناصر و ویژگی‌ها سختگیرانه‌تر هستند و با تجزیه‌گر مطابقت ندارند.

این تغییر، اعتبارسنجی APIهای DOM جاوا اسکریپت را برای مطابقت با تجزیه‌گر HTML تسهیل می‌کند.

متن بیشتر در اینجا: github.com/whatwg/dom/issues/849

انتظار نمی‌رود این تغییر باعث ایجاد مشکلات سازگاری شود، زیرا تمام نام‌های عنصر و ویژگی که قبلاً مجاز بودند، با رفتار جدید معتبر باقی می‌مانند.

قوانین حدس و گمان: بهبود اشتیاق «مشتاقانه» موبایل

در موبایل، قوانین prefetches و prerender guessation برای اشتیاق «مشتاقانه» اکنون زمانی فعال می‌شوند که عناصر لنگر HTML برای مدت کوتاهی در نمای دید قرار دارند.

پیش از این، پیش‌واکشی و پیش‌رندرینگ در اسرع وقت آغاز می‌شد، که معادل اشتیاق «فوری» بود. این رفتار به‌روزرسانی‌شده مفیدتر است زیرا بهتر منعکس‌کننده‌ی قصد نویسنده برای اشتیاق بیشتر از «متوسط» و اشتیاق کمتر از «فوری» است.

پیاده‌سازی ویژگی CSS font-language-override

این ویژگی پشتیبانی از ویژگی font-language-override CSS را در Chromium معرفی می‌کند. این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا با مشخص کردن یک تگ زبان چهار کاراکتری به طور مستقیم در CSS، زبان سیستم مورد استفاده برای جایگزینی حروف OpenType را نادیده بگیرند.

این قابلیت، کنترل دقیقی بر تایپوگرافی ارائه می‌دهد که برای محتوای چندزبانه یا فونت‌هایی با انواع حروف مخصوص هر زبان مفید است.

WebGPU: سوویزل کامپوننت بافت

کامپوننت بافت swizzle به GPUTextureViews اجازه می‌دهد تا اجزای رنگی کانال‌های قرمز، سبز، آبی یا آلفای یک بافت را هنگام دسترسی یک سایه‌زن به آنها، بازچینش یا جایگزین کند.

ICU 77 (پشتیبانی از یونیکد ۱۶)

کتابخانه پشتیبانی یونیکد ICU (مؤلفه‌های بین‌المللی برای یونیکد) از نسخه ۷۴.۲ به ۷۷.۱ ارتقا می‌یابد و پشتیبانی از یونیکد ۱۶ و به‌روزرسانی داده‌های محلی را اضافه می‌کند. دو تغییر ممکن است برای برنامه‌های وب که فرمت خاصی از APIهای بین‌المللی جاوا اسکریپت را فرض می‌کنند، خطر ایجاد کند:

  • قالب‌بندی پیش‌فرض اعداد ایتالیایی اکنون جداکننده‌ی هزارگان را برای اعداد ۴ رقمی حذف می‌کند. برای مثال، new Intl.NumberFormat("it").format(1234) ‎ به جای "1.234" مقدار "1234" را برمی‌گرداند. می‌توانید با پارامتر useGrouping برای سازنده‌ی Intl.NumberFormat به رفتار قدیمی دست یابید.
  • در برخی از زبان‌های انگلیسی (برای مثال، en-AU، en-GB و en-IN)، یک ویرگول بعد از روزهای هفته با طول کامل اضافه شده و عبارت «شنبه ۳۰ آوریل ۲۰۱۱» را به «شنبه، ۳۰ آوریل ۲۰۱۱» تغییر داده است. برنامه‌های وب باید از تکیه بر قالب‌بندی دقیق تاریخ‌ها خودداری کنند.
  • Intl و RegExp (نسخه ۸): تغییرات کوچک زیاد. تغییر به قالب‌بندی اعداد ایتالیایی بالاترین ریسک را دارد و یک flag اختصاصی دارد.
  • IDNA: این ارتقا عموماً موارد بیشتری را امکان‌پذیر می‌کند و نتایج کلی آزمایش در WPT را بهبود می‌بخشد.
  • تقسیم‌بندی متن: قابل توجه‌ترین تغییر، بهبود شکستن خط ژاپنی هنگام استفاده از word-break: auto-phrase است. این مربوط به https://chromestatus.com/feature/5133892532568064 است.

ویژگی DataTransfer برای رویدادهای ورودی insertFromPaste ، insertFromDrop و insertReplacementText

این ویژگی، ویژگی dataTransfer در رویدادهای ورودی با inputType از insertFromPaste ، insertFromDrop و insertReplacementText پر می‌کند. این امر دسترسی به داده‌های کلیپ‌بورد و کشیدن و رها کردن را در حین عملیات ویرایش در عناصر contenteditable فراهم می‌کند.

شیء dataTransfer حاوی همان داده‌هایی است که در طول رویداد beforeinput در دسترس بودند.

این ویژگی فقط برای عناصر contenteditable اعمال می‌شود. برای کنترل‌های فرم ( textarea ، input )، رفتار بدون تغییر باقی می‌ماند - ویژگی data شامل متن درج شده است و dataTransfer تهی باقی می‌ماند. هم سافاری و هم فایرفاکس از قبل از این ویژگی پشتیبانی می‌کنند. کروم با اتخاذ این ویژگی، قابلیت همکاری بین مرورگرها را افزایش می‌دهد و تجربه‌ای سازگارتر را برای نویسندگان وب فراهم می‌کند.

FedCM - پشتیبانی از پاسخ‌های ساختاریافته JSON از IdPها

این ویژگی به ارائه‌دهندگان هویت (IdPها) اجازه می‌دهد تا اشیاء JSON ساختاریافته را به جای رشته‌های ساده به طرفین اتکا (RPها) از طریق id_assertion_endpoint برگردانند.

این تغییر با حذف نیاز به سریال‌سازی و تجزیه دستی رشته‌های JSON، ادغام را برای توسعه‌دهندگان ساده می‌کند. این تغییر جریان‌های احراز هویت پویاتر و انعطاف‌پذیرتری را فراهم می‌کند و به RPها اجازه می‌دهد پاسخ‌های پیچیده را مستقیماً تفسیر کنند و از پروتکل‌های متنوعی مانند OAuth2، OIDC یا IndieAuth بدون توافق‌نامه‌های خارج از باند پشتیبانی کنند.

مذاکره پروتکل برنامه کاربردی WebTransport

مذاکره پروتکل برنامه WebTransport به شما امکان می‌دهد پروتکل ادغام‌شده توسط برنامه وب را در داخل WebTransport handshake مذاکره کنید.

یک برنامه وب می‌تواند هنگام ساخت یک شیء WebTransport ، فهرستی از پروتکل‌های برنامه را مشخص کند. این پروتکل‌ها سپس از طریق هدرهای HTTP به سرور منتقل می‌شوند. اگر سرور یکی از آن پروتکل‌ها را انتخاب کند، می‌تواند آن را در هدرهای پاسخ نشان دهد و آن پاسخ در شیء WebTransport موجود است.

API کارت هوشمند وب برای برنامه‌های وب ایزوله

فقط در برنامه‌های وب ایزوله (IWA) موجود است. این ویژگی به برنامه‌های کارت هوشمند (PC/SC) اجازه می‌دهد تا به پلتفرم وب منتقل شوند. این به آنها امکان دسترسی به پیاده‌سازی PC/SC (و درایورهای کارتخوان) موجود در سیستم عامل میزبان را می‌دهد.

مدیران می‌توانند دسترسی به این API را از دو طریق کنترل کنند:

  • به صورت سراسری - با استفاده از سیاست DefaultSmartCardConnectSetting
  • به ازای هر برنامه - با استفاده از سیاست‌های SmartCardConnectAllowedForUrls و SmartCardConnectBlockedForUrls

مانیفست برنامه وب: واجد شرایط بودن به‌روزرسانی را مشخص کنید، آدرس‌های اینترنتی آیکون‌ها Cache-Control: immutable هستند

مشخصات مانیفست اکنون شامل یک الگوریتم واجد شرایط بودن برای به‌روزرسانی است. این امر فرآیند به‌روزرسانی را قطعی‌تر و قابل پیش‌بینی‌تر می‌کند و به توسعه‌دهندگان کنترل بیشتری بر زمان اعمال به‌روزرسانی‌ها بر روی نصب‌های موجود می‌دهد و به کاربران حق انتخاب بیشتری در مورد نحوه برخورد با یک به‌روزرسانی، مانند نادیده گرفتن آن در صورت تمایل، می‌دهد. همچنین امکان حذف «کنترل به‌روزرسانی» را که عامل‌های کاربر برای جلوگیری از هدر رفتن منابع شبکه پیاده‌سازی می‌کنند، فراهم می‌کند.

مداخله تبلیغات سنگین: گزارش‌ها به قاب جاسازی ارسال می‌شوند

گزارش‌های مداخله تبلیغاتی اکنون علاوه بر خودِ قاب تبلیغاتی، به قاب جاسازی تبلیغ نیز ارسال می‌شوند. گزارش ارسال شده به قاب جاسازی شامل شناسه iframe تبلیغ و URL پیش-هدایت‌شده قابی خواهد بود که در فیلد پیام بدنه گزارش بارگذاری شده است. این تغییر به زمینه جاسازی این امکان را می‌دهد که ارائه‌دهندگان تبلیغات مشکل‌ساز را شناسایی کرده و تبلیغات مخرب را برای بهبود تجربه کاربر برطرف کند.

آزمایش‌های مبدا در حال انجام است

در کروم ۱۴۳، می‌توانید در آزمایش‌های جدید زیر شرکت کنید.

API اعتبارنامه‌های دیجیتال (پشتیبانی از صدور)

این ویژگی به وب‌سایت‌های صادرکننده (مثلاً یک دانشگاه، سازمان دولتی یا بانک) اجازه می‌دهد تا فرآیند تأمین (صدور) اعتبارنامه‌های دیجیتال را به‌طور ایمن مستقیماً در برنامه کیف پول موبایل کاربر آغاز کنند . در اندروید، این قابلیت از سیستم Android IdentityCredential CredMan (مدیریت اعتبارنامه) استفاده می‌کند. در دسکتاپ، از رویکردهای بین دستگاهی با پروتکل CTAP استفاده می‌کند، مشابه جریان بین دستگاهی ارائه اعتبارنامه‌های دیجیتال .

تصادفی‌سازی محدودیت در استخر سوکت TCP

با بهره‌برداری از محدودیت‌های اندازه‌ی مجموعه‌ی اتصالات در کروم، می‌توانید اطلاعاتی در مورد وضعیت بین‌سایتی به دست آورید که در غیر این صورت غیرقابل دسترسی بود. به طور خاص، می‌توانید (با کمی قطعیت آماری) وضعیت ورود به سیستم، تاریخچه‌ی بازدیدها یا حتی موارد خاص‌تری مانند اینکه آیا جیمیل پیام‌های در حال انتظار در صندوق ورودی دارد یا خیر را ارزیابی کنید.

برای کاهش این مشکل، تصادفی‌سازی به نحوه محدود کردن مجموعه‌های سوکت TCP اضافه می‌شود تا یک سایت مشاهده‌گر نتواند این اطلاعات را با قطعیت بالا استنباط کند.

منسوخ‌ها و حذف‌ها

این نسخه از کروم، منسوخ‌ها و حذف‌ها را در بخش‌های بعدی معرفی می‌کند. برای مشاهده‌ی فهرست منسوخ‌های برنامه‌ریزی‌شده، منسوخ‌های فعلی و حذف‌های قبلی، به ChromeStatus.com مراجعه کنید.

این نسخه از کروم دو ویژگی را منسوخ می‌کند

منسوخ کردن دریافت‌کننده‌های اطلاعات محلی بین‌المللی

رابط برنامه‌نویسی کاربردی اطلاعات محلی بین‌المللی (Intl Locale Info API) یک پیشنهاد ECMAScript TC39 مرحله ۳ برای بهبود شیء Intl.Locale با افشای اطلاعات محلی، مانند داده‌های هفته (اولین روز در هفته، روز شروع آخر هفته، روز پایان آخر هفته، حداقل روز در هفته اول) و چرخه ساعت جهت متن مورد استفاده در محلی است.

این پیاده‌سازی در کروم ۹۹ ارائه شد. با این حال، این پیشنهاد بعداً در مرحله ۳ تغییر کرد و چندین getter را به توابع منتقل کرد. getterهای منسوخ شده باید حذف شوند و توابع تغییر نام داده شده دوباره راه‌اندازی شوند.

منسوخ کردن XSLT

XSLT نسخه ۱.۰ که همه مرورگرها از آن پیروی می‌کنند، در سال ۱۹۹۹ استانداردسازی شد. در این میان، XSLT به نسخه‌های ۲.۰ و ۳.۰ تکامل یافته و ویژگی‌هایی به آن اضافه شده و از نسخه پیاده‌سازی شده در مرورگرها فاصله گرفته است. این عدم پیشرفت، همراه با ظهور کتابخانه‌ها و چارچوب‌های جاوا اسکریپت که دستکاری DOM انعطاف‌پذیر و قدرتمندی را ارائه می‌دهند، منجر به کاهش قابل توجه استفاده از XSLT سمت کلاینت شده است. فناوری‌های مبتنی بر جاوا اسکریپت، مانند JSON و React، تا حد زیادی نقش آن را در مرورگر وب جایگزین کرده‌اند.

کرومیوم از کتابخانه libxslt برای پردازش این تبدیلات استفاده می‌کند، اما libxslt تقریباً به مدت شش ماه در سال ۲۰۲۵ پشتیبانی نشد. Libxslt یک کدبیس پیچیده و قدیمی C است که مستعد آسیب‌پذیری‌های ایمنی حافظه مانند سرریز بافر است که ممکن است منجر به اجرای کد دلخواه شود. از آنجا که XSLT سمت کلاینت اکنون یک ویژگی خاص و به ندرت استفاده شده است، این کتابخانه‌ها نسبت به موتورهای اصلی جاوا اسکریپت، کمتر مورد نگهداری و بررسی امنیتی قرار می‌گیرند. با این حال، آنها یک سطح حمله مستقیم برای پردازش محتوای وب غیرقابل اعتماد هستند. در واقع، XSLT منبع چندین سوءاستفاده امنیتی اخیر است که همچنان کاربران مرورگر را در معرض خطر قرار می‌دهد.

به همین دلایل، کرومیوم قصد دارد XSLT را از پلتفرم وب منسوخ و حذف کند. WHATWG تصمیم گرفت منسوخ شدن XSLT را به تعویق بیندازد.

برای جزئیات بیشتر در مورد منسوخ شدن XSLT و اطلاعات مربوط به اقدامات لازم در صورت استفاده از آن، بخش «حذف XSLT برای مرورگری امن‌تر» را مطالعه کنید.