کروم 139 بتا

منتشر شده: ۲۵ ژوئن ۲۰۲۵

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

سی اس اس

این نسخه شش ویژگی جدید CSS و UI اضافه می‌کند.

اتصال کوتاه var() و attr()

وقتی که تابع جایگزین (fallback) انتخاب نشود، توابع var() و attr() بدون جستجوی چرخه‌ها در آن تابع جایگزین، ارزیابی را انجام می‌دهند. CSS زیر کار می‌کند، زیرا --green و --blue وجود دارند.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

ویژگی caret-animation در CSS

کروم از قبل از انیمیشن ویژگی caret-color پشتیبانی می‌کرد، اما هنگام انیمیشن، رفتار پیش‌فرض چشمک‌زن نشانگر با انیمیشن تداخل داشت. ویژگی caret-animation در CSS دو مقدار ممکن دارد: auto و manual ، که auto به معنای پیش‌فرض مرورگر (چشمک‌زن) و manual به معنای کنترل انیمیشن نشانگر توسط توسعه‌دهنده وب است. این ویژگی همچنین به کاربران اجازه می‌دهد تا با استفاده از یک stylesheet کاربر، چشمک زدن را غیرفعال کنند.

شکل دادن به گوشه

با مشخص کردن شکل یا انحنای گوشه، استایل‌بندی گوشه‌ها را روی border-radius موجود فعال کنید. این به شما امکان می‌دهد شکل‌هایی مانند دایره، بریدگی و شیار ایجاد کنید و بین آنها انیمیشن ایجاد کنید. در این پست از آمیت شین بیشتر بیاموزید.

هنگام تغییر به مقدار اولیه‌ی گذار، اجرای گذارها را ادامه دهید.

وقتی ویژگی‌های مربوط به گذار تغییر می‌کنند، قرار است فقط بر گذارهای تازه شروع شده تأثیر بگذارند. این بدان معناست که اگر ویژگی‌های گذار را تغییر دهید، مگر اینکه ویژگی‌هایی را که انیمیشن‌های گذار فعال دارند نیز تغییر دهید، آن انیمیشن‌های گذار با مدت زمان، سهولت و غیره که قبلاً مشخص شده بود، ادامه خواهند یافت. چشمک زدن نادرست گذارهایی را که وقتی ویژگی گذار روی "none" تنظیم شده بود لغو کرد، حتی اگر فقط مدت زمان گذار را تغییر دهید، آنها را لغو نمی‌کند. با این ویژگی، چشمک زدن با webkit و gecko سازگار خواهد بود و به گذارهای فعال اجازه می‌دهد تا اجرا شوند، مگر اینکه یا تا زمانی که مقدار ویژگی آنها تغییر کند و باعث به‌روزرسانی گذار جدید شود.

توابع سفارشی CSS

توابع سفارشی مشابه ویژگی‌های سفارشی هستند، اما به جای بازگرداندن یک مقدار ثابت و واحد، مقادیری را بر اساس سایر ویژگی‌ها، پارامترها و شرط‌های سفارشی برمی‌گردانند.

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

پشتیبانی از width و height به عنوان ویژگی‌های ارائه در عناصر <svg> تودرتو

از اعمال width و height به عنوان ویژگی‌های ارائه در عناصر <svg> تو در تو، از طریق نشانه‌گذاری SVG و CSS پشتیبانی می‌کند. این رویکرد دوگانه، انعطاف‌پذیری بیشتری را فراهم می‌کند و به شما امکان می‌دهد عناصر SVG را در طرح‌های پیچیده، به طور مؤثرتری مدیریت و سبک‌دهی کنید.

API های وب

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

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

بهبود عملکرد حسگر عمق WebXR

چندین مکانیسم جدید را برای سفارشی‌سازی رفتار ویژگی سنجش عمق در یک جلسه WebXR، با هدف بهبود عملکرد تولید یا مصرف بافر عمق، ارائه می‌دهد. مکانیسم‌های کلیدی ارائه شده عبارتند از: قابلیت درخواست بافر عمق خام یا روان، قابلیت درخواست توقف یا از سرگیری زمان اجرا که بافر عمق را ارائه می‌دهد، و قابلیت ارائه بافر عمقی که دقیقاً با نمای کاربر همسو نیست، به طوری که عامل کاربر نیازی به انجام بازنمایی‌های غیرضروری در هر فریم نداشته باشد.

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

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

دستور فراخوانی request-close

عناصر دیالوگ را می‌توان از طریق مکانیسم‌های مختلفی بست، گاهی اوقات توسعه‌دهندگان می‌خواهند توانایی جلوگیری از بسته شدن را داشته باشند. برای دستیابی به این هدف، دیالوگ‌ها یک رویداد لغو (cancel) را اجرا می‌کنند. در ابتدا این رویداد فقط از طریق یک درخواست بستن (مثلاً فشردن کلید Esc ) اجرا می‌شد، اخیراً یک تابع requestClose() JS اضافه شده است که رویداد لغو را نیز اجرا می‌کند. دستور request-close این قابلیت جدید را به API دستورات فراخوانی اعلانی اضافه می‌کند.

WebGPU: پشتیبانی از بافت سه‌بعدی برای فرمت‌های فشرده BC و ASTC

ویژگی‌های texture-compression-bc-sliced-3d و texture-compression-astc-sliced-3d WebGPU به ترتیب پشتیبانی از بافت سه‌بعدی را برای فرمت‌های فشرده BC و ASTC اضافه می‌کنند.

تأیید پرداخت امن: کلیدهای متصل به مرورگر

یک امضای رمزنگاری‌شده اضافی را روی ادعاهای تأیید پرداخت امن و ایجاد اعتبارنامه اضافه می‌کند. کلید خصوصی مربوطه در بین دستگاه‌ها همگام‌سازی نمی‌شود. این به توسعه‌دهندگان وب کمک می‌کند تا الزامات اتصال دستگاه برای تراکنش‌های پرداخت را برآورده کنند.

تأیید پرداخت امن: به‌روزرسانی تجربه کاربری

عناصر UX برای پنجره SPC در کروم اندروید به‌روزرسانی شد. علاوه بر ارائه UX، موارد زیر نیز اضافه می‌شوند:

  • به فروشندگان اجازه می‌دهد فهرستی اختیاری از لوگوهای نهاد پرداخت مرتبط با پرداختی که نمایش داده خواهد شد، ارائه دهند.
  • بازگرداندن حالت‌های خروجی مختلف به فروشنده، بسته به اینکه آیا کاربر می‌خواهد تراکنش را بدون SPC ادامه دهد یا آن را لغو کند.
  • یک فیلد برچسب جزئیات پرداخت جدید به ابزار پرداخت اضافه می‌کند تا متن در دو خط نمایش داده شود.

core-features-and-limits WebGPU

ویژگی core-features-and-limits نشان می‌دهد که یک آداپتور و دستگاه WebGPU از ویژگی‌ها و محدودیت‌های اصلی مشخصات پشتیبانی می‌کند.

رفع مشکل اولویت لنگر انداختن اسکرول

در حال حاضر، الگوریتم لنگر اسکرول، نامزدهای اولویت‌دار را زمانی انتخاب می‌کند که به عنوان اهداف لنگر در دسترس باشند. نامزدهای اولویت‌دار در حال حاضر یک عنصر قابل ویرایش متمرکز و هایلایت‌های قابل یافتن در صفحه هستند. اگر یک عنصر قابل ویرایش متمرکز بزرگ وجود داشته باشد که محتوای آن خارج از صفحه تغییر کرده باشد (در نتیجه مکان‌نما جابجا می‌شود)، این می‌تواند باعث تجربه کاربری نامطلوب شود. این اصلاحیه الگوریتم را تغییر می‌دهد: به جای انتخاب نامزد اولویت‌دار به عنوان لنگر، از نامزد به عنوان دامنه یا ریشه الگوریتم انتخاب لنگر معمولی استفاده کنید که عمیق‌ترین عنصر روی صفحه را به عنوان لنگر انتخاب می‌کند.

از ویژگی async برای عناصر <script> در SVG پشتیبانی کنید

رابط SVGScriptElement در SVG 2.0 ویژگی async را معرفی می‌کند، مشابه HTMLScriptElement . این ویژگی به اسکریپت‌ها اجازه می‌دهد تا به صورت غیرهمزمان اجرا شوند و عملکرد و پاسخگویی برنامه‌های وب که از SVG استفاده می‌کنند را بهبود می‌بخشد.

API گفتار وب روی دستگاه

این ویژگی، پشتیبانی از تشخیص گفتار روی دستگاه را به API گفتار وب اضافه می‌کند و به وب‌سایت‌ها اجازه می‌دهد تا اطمینان حاصل کنند که نه صدا و نه گفتار رونویسی‌شده برای پردازش به سرویس شخص ثالث ارسال نمی‌شوند. وب‌سایت‌ها می‌توانند در مورد در دسترس بودن تشخیص گفتار روی دستگاه برای زبان‌های خاص پرس‌وجو کنند، کاربران را به نصب منابع لازم برای تشخیص گفتار روی دستگاه ترغیب کنند و در صورت نیاز، بین تشخیص گفتار روی دستگاه یا مبتنی بر ابر یکی را انتخاب کنند.

برای پیمایش‌های بین سایتی که گروه زمینه مرور را تغییر می‌دهند window.name را پاک کنید

مقدار ویژگی window.name در حال حاضر در طول عمر یک تب حفظ می‌شود، حتی با ناوبری که گروه‌های زمینه مرور را تغییر می‌دهد، که می‌تواند اطلاعات را فاش کند و به طور بالقوه به عنوان یک بردار ردیابی استفاده شود. پاک کردن ویژگی window.name این مشکل را برطرف می‌کند. این باید یک تغییر کم خطر باشد زیرا جستجوی یک زمینه مرور بر اساس نام در صورتی که در یک گروه زمینه مرور دیگر باشد، از قبل کار نمی‌کند، بنابراین نام در واقع مفید نیست.

سیاست سازمانی: ClearWindowNameCrossSiteBrowsing (در کروم ۱۴۲ دیگر کار نخواهد کرد).

افزونه‌های دامنه برنامه وب

یک فیلد مانیفست برنامه وب "scope_extensions" اضافه می‌کند که به برنامه‌های وب امکان می‌دهد دامنه خود را به سایر ریشه‌ها گسترش دهند.

این به سایت‌هایی که چندین زیردامنه و دامنه سطح بالا را کنترل می‌کنند اجازه می‌دهد تا به عنوان یک برنامه وب واحد ارائه شوند. برای تأیید ارتباط با برنامه وب، به ریشه‌های فهرست‌شده با استفاده از فایل پیکربندی .well-known/web-app-origin-association نیاز دارد.

تشخیص نوع JSON MIME مطابق با مشخصات

کرومیوم اکنون تمام انواع MIME معتبر JSON را که توسط مشخصات WHATWG mimesniff تعریف شده‌اند، شناسایی می‌کند. این شامل هر نوع MIME می‌شود که زیرنوع آن به +json ختم می‌شود، علاوه بر application/json سنتی و text/json . این تغییر تضمین می‌کند که APIهای وب و ویژگی‌هایی که به تشخیص JSON متکی هستند، به طور مداوم با استاندارد پلتفرم وب و سایر مرورگرها رفتار کنند. انگیزه اصلی این تغییر، اصلاح رفتار واردات ماژول JSON است، جایی که انواع MIME معتبر JSON قبلی مانند text/html+json و image/svg+json به عنوان ماژول بارگیری نمی‌شوند.

API تجمیع خصوصی: گزارش خطای تجمیع

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

API گزارش خرابی: گزارش خرابی را طوری تنظیم کنید که فقط گزارش‌های خرابی را دریافت کند

این ویژگی با مشخص کردن نقطه پایانی به نام crash-reporting تضمین می‌کند که توسعه‌دهندگان فقط گزارش‌های خرابی را دریافت کنند. به طور پیش‌فرض، گزارش‌های خرابی به نقطه پایانی default ارسال می‌شوند که علاوه بر گزارش‌های خرابی، انواع دیگری از گزارش‌ها را نیز دریافت می‌کند. توسعه‌دهندگان می‌توانند یک URL جداگانه به نقطه پایانی شناخته‌شده به نام crash-reporting ارائه دهند تا گزارش‌های خرابی را به جای نقطه پایانی default ، به آنجا هدایت کنند.

کاهش اثر انگشت در اطلاعات هدر Accept-Language

مقدار اطلاعاتی که رشته مقدار هدر Accept-Language در درخواست‌های HTTP و در navigator.languages ​​نمایش می‌دهد را کاهش می‌دهد. به جای ارسال لیست کاملی از زبان‌های ترجیحی کاربر در هر درخواست HTTP با هدر Accept-Language ، اکنون زبانی را که کاربر بیشتر ترجیح می‌دهد در هدر Accept-Language ارسال می‌کنیم. برای به حداقل رساندن خطرات سازگاری، راه‌اندازی اولیه اطلاعات موجود در هدر HTTP را کاهش می‌دهد، در آینده گیرنده‌های جاوا اسکریپت navigator.languages ​​مرتبط را نیز کاهش خواهیم داد.

به جای ارسال رویداد خطای مسدود شده CSP، رویداد خطای آتش‌سوزی رخ می‌دهد

وقتی توسط سیاست امنیتی محتوا (CSP) مسدود می‌شود، کروم در حال حاضر یک SecurityError از سازنده‌ی Worker و SharedWorker ارسال می‌کند. این مشخصات ایجاب می‌کند که CSP به عنوان بخشی از واکشی بررسی شود و رویدادهای خطا را به صورت ناهمگام اجرا کند، به جای اینکه هنگام اجرای یک اسکریپت new Worker(url) یا new SharedWorker(url) یک استثنا ایجاد کند. این تغییر، مشخصات کروم را مطابق می‌کند: در طول سازنده و هنگام اجرای رویدادهای خطا به صورت ناهمگام، استثنا ایجاد نمی‌کند.

سطح صدا برای فریم‌های کدگذاری شده RTC

سطح صدای یک فریم رمزگذاری شده که با RTCPeerConnection ارسال شده و با استفاده از WebRTC Encoded Transform در معرض دید قرار می‌گیرد را در وب نمایش می‌دهد.

آزمایش‌های منشأ جدید

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

API سریع

رابط برنامه‌نویسی کاربردی Prompt برای تعامل با یک مدل زبان هوش مصنوعی با استفاده از ورودی‌های متن، تصویر و صدا طراحی شده است. این رابط از موارد استفاده مختلفی پشتیبانی می‌کند، از تولید زیرنویس تصویر و انجام جستجوهای بصری گرفته تا رونویسی صدا، طبقه‌بندی رویدادهای صوتی، تولید متن طبق دستورالعمل‌های خاص و استخراج اطلاعات یا بینش از متن. این رابط از خروجی‌های ساختاریافته پشتیبانی می‌کند که تضمین می‌کند پاسخ‌ها به یک قالب از پیش تعریف‌شده، که معمولاً به صورت یک طرح JSON بیان می‌شود، پایبند باشند تا انطباق پاسخ را افزایش داده و ادغام یکپارچه با برنامه‌های پایین‌دستی که به قالب‌های خروجی استاندارد نیاز دارند را تسهیل کند. این رابط برنامه‌نویسی کاربردی همچنین در افزونه‌های کروم در دسترس است. این نسخه آزمایشی اصلی برای نمایش در وب است.

ویژگی مسدود کردن رندر با نرخ فریم کامل

ما پیشنهاد می‌کنیم یک توکن مسدودکننده رندر جدید با نرخ فریم کامل به ویژگی‌های مسدودکننده اضافه کنیم. وقتی رندرکننده با توکن نرخ فریم کامل مسدود می‌شود، رندرکننده با نرخ فریم پایین‌تری کار می‌کند تا منابع بیشتری را برای بارگذاری ذخیره کند.

حالت سازگاری با WebGPU

یک زیرمجموعه اختیاری و با محدودیت کم از API WebGPU اضافه می‌کند که قادر به اجرای APIهای گرافیکی قدیمی‌تر مانند OpenGL و Direct3D11 است. با انتخاب این حالت و رعایت محدودیت‌های آن، توسعه‌دهندگان می‌توانند دسترسی برنامه‌های WebGPU خود را به بسیاری از دستگاه‌های قدیمی‌تر که APIهای گرافیکی مدرن و صریحی که WebGPU اصلی به آن نیاز دارد، ندارند، گسترش دهند. برای برنامه‌های ساده، تنها تغییر مورد نیاز، مشخص کردن featureLevel "compatibility" هنگام فراخوانی requestAdapter است. برای برنامه‌های پیشرفته‌تر، ممکن است برخی اصلاحات برای تطبیق با محدودیت‌های این حالت ضروری باشد. از آنجایی که حالت سازگاری یک زیرمجموعه است، برنامه‌های حاصل نیز برنامه‌های معتبر WebGPU Core هستند و حتی روی مرورگرهایی که از حالت سازگاری پشتیبانی نمی‌کنند، اجرا می‌شوند.

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

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

این نسخه از کروم دو ویژگی را حذف کرده است.

پشتیبانی از macOS 11 را حذف کنید

کروم ۱۳۸ آخرین نسخه‌ای است که از macOS ۱۱ پشتیبانی می‌کند. از کروم ۱۳۹ به بعد، macOS ۱۱ پشتیبانی نمی‌شود، زیرا خارج از پنجره پشتیبانی اپل است. اجرا روی یک سیستم عامل پشتیبانی‌شده برای حفظ امنیت ضروری است. در مک‌هایی که macOS ۱۱ را اجرا می‌کنند، کروم به کار خود ادامه می‌دهد و یک نوار اطلاعات هشدار را نشان می‌دهد، اما دیگر به‌روزرسانی نمی‌شود. اگر کاربری بخواهد کروم را به‌روزرسانی کند، باید رایانه خود را به نسخه پشتیبانی‌شده macOS به‌روزرسانی کند. برای نصب‌های جدید کروم ۱۳۹ و بالاتر، macOS ۱۲ یا بالاتر مورد نیاز است.

حذف تشخیص خودکار مجموعه کاراکتر ISO-2022-JP در HTML

مشکلات امنیتی شناخته‌شده‌ای در مورد تشخیص خودکار مجموعه کاراکتر برای ISO-2022-JP وجود دارد. با توجه به اینکه استفاده از آن بسیار کم است و سافاری از تشخیص خودکار ISO-2022-JP پشتیبانی نمی‌کند، کروم برای رفع مشکلات امنیتی، پشتیبانی از آن را حذف می‌کند.