تاریخ انتشار: 3 آوریل 2025
مگر اینکه غیر از این ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 136 از 3 آوریل 2025 نسخه بتا است. میتوانید آخرین نسخه را در Google.com برای دسکتاپ یا در فروشگاه Google Play در Android بارگیری کنید.
CSS و UI
این نسخه شش ویژگی جدید CSS و UI را اضافه می کند.
ویژگی CSS dynamic-range-limit
صفحه را فعال می کند تا حداکثر روشنایی محتوای HDR را محدود کند.
فاصله حروف را در خط شکسته نادیده بگیرید
این ویژگی منطقی را برای نادیده گرفتن تنظیمات فاصله حروف برای اسکریپت های شکسته اضافه می کند، حتی اگر توسط توسعه دهنده مطابق با مشخصات مشخص شده باشد، تا اطمینان حاصل شود که فاصله حروف باعث شکستن کلمات نمی شود.
پارتیشن بندی :visited
برای حذف نشتهای تاریخچه مرور کاربر، عناصر لنگر فقط در صورتی که قبلاً از این سایت سطح بالا و مبدا قاب کلیک شده باشند، به صورت :visited
استایل داده میشوند.
تنها با ایجاد پیوندهایی که قبلاً روی این سایت و فریم کلیک شده اند، بسیاری از حملات کانال جانبی که برای به دست آوردن اطلاعات سبک پیوندهای :visited
اکنون منسوخ شده اند. آنها دیگر اطلاعات جدیدی در مورد کاربران به سایت ها ارائه نمی کنند.
درباره این بهبودها در خصوص حریم خصوصی پیوندهای :visited
بیشتر بدانید .
تغییر نام نوع string
attr()
به raw-string
گروه کاری CSS تصمیم گرفت تا نوع string
attr()
با raw-string
جایگزین کند.
بنابراین، کروم نحو attr()
را تغییر داده است، به طوری که attr(data-foo string)
اکنون attr(data-foo raw-string)
خواهد بود.
نوع آگنوستیک var()
بازگشتی
بخش بازگشتی تابع var()
نسبت به نوع خاصیت سفارشی که به آن ارجاع داده می شود اعتبار سنجی نمی کند.
بدون پیشوند print-color-adjust
ویژگی print-color-adjust
به شما امکان می دهد رنگ ها را در صفحات وب چاپ شده تنظیم کنید. این همان -webkit-print-color-adjust
که قبلاً پشتیبانی میشود Chrome است، اما با نامی استاندارد. نسخه پیشوند -webkit
حذف نشده است.
API های وب
حالت قطع شده AudioContext
حالت "interrupted"
را به AudioContextState
اضافه می کند. این حالت جدید به UA اجازه میدهد پخش را در این سناریوها متوقف کند و برنامههای کاربردی وب را قادر میسازد تا به درستی پاسخ دهند.
پارتیشن بندی URL Blob: واکشی/ناوبری
به عنوان ادامه پارتیشن بندی فضای ذخیره سازی، این پارتیشن بندی دسترسی به URL Blob توسط کلید ذخیره سازی (سایت سطح بالا، مبدا فریم، و بولی has-cross-site-ancestor) را اجرا می کند، به استثنای پیمایش های سطح بالا که فقط بر اساس مبدا فریم پارتیشن بندی می شوند. این رفتار شبیه به آنچه که در حال حاضر توسط فایرفاکس و سافاری اجرا میشود، است و استفاده از URL Blob را با طرح پارتیشنبندی که توسط سایر APIهای ذخیرهسازی به عنوان بخشی از Storage Partitioning استفاده میشود، تراز میکند.
علاوه بر این، noopener
اکنون در پیمایشهای سطح بالای ارائهدهنده به آدرسهای Blob اعمال میشود که در آن سایت مربوطه به سایت سطح بالایی که پیمایش را انجام میدهد، متقاطع است. این کروم را با رفتار مشابه در سافاری هماهنگ میکند و مشخصات مربوطه برای منعکسکننده این تغییرات بهروزرسانی شده است.
پشتههای تماس در گزارشهای خرابی از صفحات وب بیپاسخ
این ویژگی پشته تماس جاوا اسکریپت را هنگامی که یک صفحه وب به دلیل اجرای کد جاوا اسکریپت یک حلقه بی نهایت یا محاسبات بسیار طولانی دیگر پاسخگو نمی شود، ضبط می کند. این به توسعه دهندگان کمک می کند تا علت عدم پاسخگویی را شناسایی کنند. پشته تماس جاوا اسکریپت زمانی که دلیل پاسخگو نباشد در API گزارش خرابی گنجانده می شود.
Captured Surface Control API
Captured Surface Control API به برنامههای کاربردی وب اجازه میدهد رویدادهای چرخ را به یک برگه ضبطشده ارسال کنند و سطح بزرگنمایی یک برگه ضبطشده را بخوانند و تغییر دهند.
CapturedSurfaceResolution
در حین اشتراکگذاری صفحه نمایش، نسبت پیکسل سطح گرفته شده را نشان میدهد. این ویژگی به برنامهها کمک میکند تا منابع سیستم خود را حفظ کنند یا کیفیت و پهنای باند را مطابق با وضوح فیزیکی و منطقی سطح ضبطشده تطبیق دهند.
رویدادهای کلیک را به نشانگر گرفته شده ارسال کنید
اگر یک اشاره گر در حین ارسال رویداد pointerup
گرفته شود، رویداد click
به جای نزدیکترین جد مشترک رویدادهای pointerdown
و pointerup
طبق مشخصات رویداد UI به هدف گرفته شده ارسال می شود. برای اشاره گرهای ضبط نشده، هدف click
بدون تغییر باقی می ماند.
نکات کامپایل صریح با نظرات جادویی
به پیوست کردن اطلاعات مربوط به اینکه کدام توابع باید مشتاقانه در فایلهای جاوا اسکریپت تجزیه و کامپایل شوند، اجازه میدهد. اطلاعات به عنوان نظرات جادویی کدگذاری می شود.
به روز رسانی FedCM: پشتیبانی از چندین IdP، حذف ویژگی "افزودن یک حساب دیگر" در حالت غیرفعال
با این بهروزرسانی، FedCM میتواند چندین ارائهدهنده هویت را در یک گفتگو نشان دهد. این به توسعه دهندگان راه مناسبی برای ارائه همه ارائه دهندگان هویت پشتیبانی شده به کاربران ارائه می دهد. ما در حال برنامهریزی هستیم تا ابتدا به این مورد ساده بپردازیم که همه ارائهدهندگان در یک تماس get()
هستند. ما همچنین در حال حذف پشتیبانی از ویژگی «افزودن یک حساب دیگر» در حالت غیرفعال FedCM هستیم. این ویژگی اجازه می دهد تا دکمه «استفاده از یک حساب دیگر» را در کنار سایر حساب های IdP در انتخابگر نشان دهد. این ویژگی در حال حاضر استفاده نشده است، و مکالمات UX ما را به این باور رسانده است که پشتیبانی از آن منجر به جریان پیچیدهتری بدون سود زیاد میشود. این ویژگی همچنان در حالت فعال FedCM کار خواهد کرد.
نوارهای پیمایش روان
این ویژگی نوارهای اسکرول کروم (هم روکش و هم بدون پوشش) را در ویندوز و لینوکس مدرن می کند تا با زبان طراحی Fluent ویندوز 11 مطابقت داشته باشد. نوارهای پیمایش Fluent بدون پوشش به طور پیش فرض در لینوکس و ویندوز فعال خواهند شد. این تغییر برای لینوکس نیز اعمال میشود، زیرا طراحی نوار اسکرول لینوکس کروم در طول تاریخ با آنچه در ویندوز ارائه میشود، همسو بوده است.
پشتیبانی از کدک H265 (HEVC) در WebRTC
از Chrome 136، HEVC به VP8، H.264، VP9، و AV1 به عنوان کدک های پشتیبانی شده در WebRTC می پیوندد. پشتیبانی با استفاده از MediaCapabilities API قابل استعلام خواهد بود.
این کدک جدیدتر بازده فشرده سازی (کیفیت بالاتر در هر بیت) را نسبت به کدک های نسل قدیمی مانند VP8 و H264 و پشتیبانی سخت افزاری بسیار قوی که به بیش از یک دهه قبل می رسد، افزایش داده است. این منجر به افزایش عمر باتری و کاهش خطر مشکلات عملکرد می شود، و بسته به عملکرد رمزگذار سخت افزاری زیربنایی، اغلب تجربه بصری را در مواردی که رمزگذارهای VP9 یا AV1 سخت افزاری در دسترس نیستند، بهبود می بخشد.
کدک H26x بهروزرسانیهای MediaRecorder را پشتیبانی میکند
MediaRecorder API اکنون از رمزگذاری HEVC پشتیبانی میکند، رشته کدک hvc1.*
را معرفی میکند و کدکهای جدید ( hev1.*
و avc3.*
) را اضافه میکند که از ویدئو با وضوح متغیر در MP4 پشتیبانی میکنند. پشتیبانی از رمزگذاری پلت فرم HEVC در WebCodecs در Chrome 130 اضافه شد. به عنوان پیگیری، پشتیبانی به MediaRecorder API در Chromium اضافه شده است. API اکنون از هر دو نوع MP4 و Matroska muxer با مشخصات مختلف HEVC و H.264 mime پشتیبانی می کند. رمزگذاری HEVC تنها در صورتی پشتیبانی می شود که دستگاه و سیستم عامل کاربر قابلیت های لازم را داشته باشند.
ثبت و گزارش آدرس IP در Chrome Enterprise
Chrome Enterprise با جمعآوری و گزارش آدرسهای IP محلی و راه دور و ارسال آن آدرسهای IP به گزارشهای بررسی امنیتی (SIT) قابلیتهای نظارت امنیتی و پاسخ به حادثه را افزایش میدهد. علاوه بر این، Chrome Enterprise به مدیران اجازه میدهد تا به صورت اختیاری آدرسهای IP را با استفاده از رابط Chrome Enterprise Reporting به ارائهدهندگان SIEM شخص اول و شخص ثالث ارسال کنند. این برای مشتریان Chrome Enterprise Core در دسترس خواهد بود.
آغازگر ناوبری را در کلید پارتیشن کش HTTP بگنجانید
طرح کلیدگذاری حافظه پنهان HTTP کروم بهروزرسانی شده است تا شامل یک بولی is-cross-site-main-frame-navigation
برای کاهش حملات نشت بین سایتی که شامل ناوبری سطح بالا میشود، باشد. به طور خاص، این امر از حملات بین سایتی جلوگیری می کند که در آن مهاجم می تواند یک ناوبری سطح بالا را به یک صفحه معین آغاز کند و سپس به منبعی که توسط صفحه بارگذاری می شود هدایت شود تا اطلاعات حساس را از زمان بارگذاری استنتاج کند. این تغییر همچنین حریم خصوصی را با جلوگیری از استفاده یک سایت مخرب از ناوبری برای استنباط اینکه آیا کاربر قبلاً از یک سایت خاص بازدید کرده است، بهبود می بخشد.
پشتیبانی از زبان CanvasTextDrawingStyles
عنصر <canvas>
DOM، مانند همه عناصر DOM، یک ویژگی lang
را میپذیرد که برای تعریف زبان خاص برای انتخاب فونت استفاده میشود (زمانی که فونتها دارای گلیفهای محلی خاص هستند). مرورگرها به این ویژگی احترام می گذارند. با این حال، هنگامی که یک OffscreenCanvas ایجاد میشود، هیچ راهی برای تنظیم اطلاعات محلی وجود ندارد، احتمالاً منجر به حالتی میشود که بوم خارج از صفحه نتایج رندر شدهای تولید میکند که با بومهایی که خروجی آن در آن استفاده میشود متفاوت است. این ویژگی یک ویژگی lang
IDL را به CanvasTextDrawingStyles
اضافه میکند تا کنترل مستقیم زبان را برای ترسیم متن و معیارها فراهم کند.
گزارش های خط مشی مجوز برای iframes
یک نوع نقض جدید به نام «نقض خطمشی مجوزهای احتمالی» را معرفی میکند که فقط به خطمشی مجوزها (از جمله خطمشی فقط گزارش) و ویژگی allow
تنظیم شده در iframes برای تشخیص تضاد بین خطمشی مجوزهای اعمالشده با مجوزهای منتشر شده به iframes نگاه میکند.
سهمیه ذخیره سازی گزارش شده قابل پیش بینی
یک سهمیه ذخیره سازی قابل پیش بینی از StorageManager's Estimate API برای سایت هایی که مجوزهای ذخیره سازی نامحدود ندارند گزارش دهید. تشخیص حالت مرور کاربر با استفاده از سهمیه ذخیرهسازی گزارششده امکانپذیر است، زیرا فضای ذخیرهسازی در دسترس در حالت ناشناس بهطور قابلتوجهی کمتر از حالت عادی است.
Private Aggregation API: گزارش خطای انبوه
طیف وسیعی از شرایط خطا وجود دارد که هنگام استفاده از Private Aggregation API میتوان به آنها برخورد کرد. به عنوان مثال، بودجه حفظ حریم خصوصی ممکن است تمام شود و از هرگونه مشارکت بیشتر در هیستوگرام جلوگیری شود. این ویژگی به توسعه دهندگان اجازه می دهد تا مشارکت های هیستوگرام را ثبت کنند که فقط در صورت بروز نوع خاصی از خطا باید ارسال شوند. این ویژگی از اندازهگیری فرکانس شرایط خطا و تقسیم این اندازهگیریها بر روی ابعاد مشخص شده توسط توسعهدهنده (به عنوان مثال، نسخه کد مستقر) پشتیبانی میکند. از آنجایی که خود خطاها ممکن است اطلاعات بین سایتی باشند، ما نمی توانیم به سادگی آنها را در صفحه برای کاربران بدون کوکی های شخص ثالث قرار دهیم. در عوض، این ویژگی از خطوط لوله گزارشدهی انبوه و نویزدار موجود از طریق سرویس تجمیع مجددا استفاده میکند.
RegExp.escape
RegExp.escape
یک روش ثابت است که یک رشته را می گیرد و یک نسخه فرار را برمی گرداند که ممکن است به عنوان یک الگو در داخل یک عبارت منظم استفاده شود. به عنوان مثال:
const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));
قوانین حدس و گمان: فیلد برچسب
توسعه دهندگان را قادر می سازد تا field
برچسب را به قوانین حدس و گمان اضافه کنند. این فیلد اختیاری را می توان برای ردیابی منبع قوانین حدس و گمان استفاده کرد. به عنوان مثال، برای رفتار متفاوت با آنها در یک سرور واسطه. هر تگ مرتبط با یک حدس و گمان با هدر Sec-Speculation-Tags
ارسال می شود.
سیاست منشأ دقیق برای API دسترسی به فضای ذخیرهسازی
معنای API دسترسی به فضای ذخیره سازی را طوری تنظیم می کند که دقیقاً از همان خط مشی مبدا پیروی کند. یعنی با استفاده از document.requestStorageAccess()
در یک فریم فقط کوکی ها را به درخواست ها به مبدا iframe (نه سایت) پیوست می کند. توجه داشته باشید که خطمشی CookiesAllowedForUrls
یا سرصفحههای دسترسی به فضای ذخیرهسازی ممکن است همچنان برای رفع انسداد کوکیهای بینسایتی استفاده شوند.
ProgressEvent
را بهروزرسانی کنید تا از نوع double برای loaded
و total
استفاده کنید
ProgressEvent
دارای ویژگی های loaded
و total
است که پیشرفت را نشان می دهد و نوع آنها unsigned long long
است. با استفاده از این ویژگی، نوع این دو ویژگی به جای آن double
میشود، که به توسعهدهنده کنترل بیشتری روی مقدار میدهد. به عنوان مثال، توسعه دهندگان اکنون می توانند یک ProgressEvent با total
1 ایجاد کنند و loaded
از 0 به 1 به تدریج افزایش می یابد. اگر ویژگی max حذف شود، این با رفتار پیشفرض عنصر <progress>
HTML همراستا میشود.
استفاده از DOMPointInit
برای getCharNumAtPosition
، isPointInFill
، isPointInStroke
این تغییر کد Chromium را با آخرین مشخصات W3C برای SVGGeometryElement
و SVGPathElement
از نظر استفاده از DOMPointInit
در SVGPoint
برای getCharNumAtPosition
، isPointInFill
، isPointInStroke
مطابقت میدهد.
ایجاد شرطی احراز هویت وب (ارتقای رمز عبور)
درخواستهای ایجاد شرطی WebAuthn به وبسایتها اجازه میدهد اعتبار رمز عبور موجود را به یک کلید عبور ارتقا دهند.
WebGPU: ویژگی GPUAdapterInfo
isFallbackAdapter
ویژگی بولین GPUAdapterInfo
isFallbackAdapter
نشان میدهد که آیا آداپتور دارای محدودیتهای عملکرد قابل توجهی در ازای سازگاری گستردهتر، رفتار قابل پیشبینیتر یا حفظ حریم خصوصی بهبود یافته است. توجه داشته باشید که ممکن است آداپتور بازگشتی در همه سیستم ها وجود نداشته باشد.
آزمایشات منشاء جدید
در Chrome 136، میتوانید آزمایشهای مبدأ جدید زیر را انتخاب کنید.
Audio Output Devices API: setDefaultSinkId()
این ویژگی setDefaultSinkId()
را به MediaDevices اضافه میکند، که قاب سطح بالا را قادر میسازد دستگاه خروجی صدای پیشفرض مورد استفاده توسط فریمهای فرعی خود را تغییر دهد.
به برنامه های کاربردی وب اجازه دهید زمان بندی عملکرد دووجهی را درک کنند
برنامه های کاربردی وب ممکن است به دلیل عوامل خارج از کنترل برنامه وب، از توزیع دووجهی در عملکرد بارگذاری صفحه رنج ببرند. به عنوان مثال:
- هنگامی که یک عامل کاربر برای اولین بار راه اندازی می شود (سناریوی "شروع سرد")، باید بسیاری از وظایف اولیه گران قیمت را انجام دهد که برای منابع موجود در سیستم رقابت می کنند.
- افزونه های مرورگر می توانند بر عملکرد یک وب سایت تأثیر بگذارند. به عنوان مثال، برخی از برنامههای افزودنی در هر صفحهای که بازدید میکنید، کد اضافی را اجرا میکنند، که میتواند استفاده از CPU را افزایش دهد و زمان پاسخدهی را کاهش دهد.
- هنگامی که یک ماشین مشغول انجام کارهای فشرده است، می تواند منجر به بارگذاری کندتر صفحات وب شود.
در این سناریوها، محتوایی که برنامه وب تلاش می کند بارگذاری کند، در رقابت با سایر کارهایی است که روی سیستم اتفاق می افتد. این امر تشخیص اینکه آیا مشکلات عملکرد در خود برنامه های وب وجود دارد یا به دلیل عوامل خارجی مشکل است.
یک فیلد confidence
جدید در شی PerformanceNavigationTiming
به توسعه دهندگان این امکان را می دهد تا تشخیص دهند که آیا زمان بندی ناوبری نماینده برنامه وب آنها است یا خیر.
اعتبار جلسه Bound Device
راهی برای وب سایت ها برای اتصال ایمن یک جلسه به یک دستگاه.
این به سرورها اجازه می دهد جلسه ای داشته باشند که به طور ایمن به یک دستگاه متصل است. مرورگر جلسه را به صورت دوره ای طبق درخواست سرور و با اثبات داشتن کلید خصوصی تمدید می کند.
به روز رسانی اجرای رندر متن بوم
اجزای داخلی CanvasRenderingContext2D و OffscreenCanvasRenderingContext2D'smeterText measureText()
, fillText()
و strokeText()
با پیاده سازی جدیدی جایگزین شده اند که بهتر از متن RTL و حافظه پنهان پشتیبانی می کند. این ممکن است بر عملکرد و خروجی متن BIDI تأثیر بگذارد، بنابراین این آزمایش اولیه به برنامههای بوم متن سنگین اجازه میدهد تا پیادهسازی جدید را امتحان کنند و مشکلاتی را که ممکن است با آن مواجه شوند گزارش کنند.
محرومیت ها و حذف ها
این نسخه از Chrome موارد منسوخ و حذف زیر را معرفی می کند. برای مشاهده لیستی از لغو برنامه ریزی شده، منسوخ شدن فعلی و حذف قبلی، از ChromeStatus.com دیدن کنید.
این نسخه کروم دو ویژگی را منسوخ میکند.
دریافت کننده های Intl Locale Info را منسوخ کنید
Intl Locale Info API یک پیشنهاد مرحله 3 ECMAScript TC39 برای بهبود شیء Intl.Locale
با افشای اطلاعات محلی است، مانند دادههای هفته (اولین روز در هفته، روز شروع آخر هفته، روز پایان آخر هفته، حداقل روز در هفته اول)، و چرخه ساعت جهت متن استفاده شده در منطقه. این تغییر برخی از گیرندههای منسوخ شده در تغییر مشخصات را از زمان ارسال حذف میکند.
HTMLFencedFrameElement.canLoadOpaqueURL()
را حذف کنید.
canLoadOpaqueURL()
با navigator.canLoadAdAuctionFencedFrame()
در سال 2023 جایگزین شد و فراخوانی آن از زمانی که توسعهدهندگان را به API جدید نشان میدهد منجر به یک هشدار کنسول منسوخ شده است. منطقی نیست که تابع به HTMLFencedFrameElement
متصل شود و در عوض باید به شی navigator
(که شامل سایر روشهای قاب حصاردار و حراج تبلیغاتی است) وصل شود.