تم النشر في: 25 يونيو 2025
ما لم يُذكر خلاف ذلك، تنطبق التغييرات التالية على أحدث إصدار من قناة Chrome التجريبية لأنظمة التشغيل Android وChromeOS وLinux وmacOS وWindows. يمكنك الاطّلاع على مزيد من المعلومات عن الميزات المُدرَجة هنا من خلال الروابط المُقدَّمة أو من القائمة على ChromeStatus.com. اعتبارًا من 25 يونيو 2025، أصبح Chrome 139 إصدارًا تجريبيًا. يمكنك تنزيل الـ أحدث إصدار على Google.com لأجهزة الكمبيوتر أو على متجر Google Play على أجهزة Android.
CSS
يضيف هذا الإصدار ست ميزات جديدة في CSS وواجهة المستخدم.
الاختصار في var() وattr()
عند عدم استخدام الخيار الاحتياطي، يتم تقييم الدالتَين var() وattr() بدون البحث عن دورات في هذا الخيار الاحتياطي. تعمل CSS التالية لأنّ --green و--blue متوفّرتان.
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
الخاصية caret-animation في CSS
كان Chrome يتيح سابقًا تحريك الخاصية caret-color، ولكن عند تحريكها، كان السلوك التلقائي للوميض في علامة الإقحام يتداخل مع الحركة. تتضمّن الخاصية caret-animation في CSS قيمتَين محتملتَين: auto وmanual. تعني auto الإعداد التلقائي للمتصفّح (الوميض)، بينما تعني manual أنّ مطوّر الويب يتحكّم في حركة المؤشر. تتيح هذه الخاصية أيضًا للمستخدمين إيقاف الوميض باستخدام ورقة أنماط المستخدم.
تشكيل الزوايا
يمكنك تفعيل تصميم الزوايا، بالإضافة إلى border-radius الحالية، من خلال تحديد شكل الزاوية أو انحنائها. يتيح لك ذلك إنشاء أشكال، مثل المربعات المستديرة والنتوءات والمغارف، وتحريكها بين بعضها البعض. يمكنك الاطّلاع على مزيد من المعلومات في هذا
المنشور من Amit
Sheen.
مواصلة تشغيل الانتقالات عند التبديل إلى قيمة الانتقال الأولية
عند تغيير الخصائص المرتبطة بالانتقال، من المفترض أن تؤثّر هذه الخصائص في الانتقالات التي تم بدءها حديثًا فقط. يعني ذلك أنّه إذا غيّرت خصائص الانتقال، ستستمر حركات الانتقال التي تم تفعيلها سابقًا بالمدّة وتغيير السرعة وما إلى ذلك، ما لم تغيّر أيضًا الخصائص التي تتضمّن حركات انتقال نشطة. ألغى Blink بشكل غير صحيح الانتقالات عندما تم ضبط خاصية الانتقال على "none"، حتى إذا غيّرت مدة الانتقال فقط. باستخدام هذه الميزة، سيكون Blink متوافقًا مع 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 وتصميمها بشكل أكثر فعالية ضمن التصاميم المعقدة.
واجهات برمجة التطبيقات على الويب
بيان تطبيق الويب: تحديد أهلية التحديث، وعناوين URL للرموز هي Cache-Control: immutable
يمكنك تحديد خوارزمية أهلية التحديث في مواصفات البيان. يؤدي ذلك إلى جعل عملية التحديث أكثر تحديدًا وقابلية للتوقّع، ما يمنح المطوّرين مزيدًا من التحكّم في ما إذا كان يجب تطبيق التحديثات على عمليات التثبيت الحالية (ومتى)، ويسمح بإزالة "إيقاف عمليات التحقّق من التحديث" التي تحتاج وكلاء المستخدمين حاليًا إلى تنفيذها لتجنُّب إهدار موارد الشبكة.
تحسينات على أداء ميزة "استشعار العمق" في WebXR
يتيح هذا الإصدار آليات جديدة متعددة لتخصيص سلوك ميزة "استشعار العمق" ضمن جلسة WebXR، بهدف تحسين أداء إنشاء مخزن العمق أو استخدامه. الآليات الرئيسية التي تم إتاحتها هي: إمكانية طلب مخزن العمق الأولي أو السلس، وإمكانية طلب إيقاف وقت التشغيل أو استئناف توفير مخزن العمق، وإمكانية إتاحة مخزن عمق لا يتطابق مع طريقة عرض المستخدم تمامًا، حتى لا يحتاج وكيل المستخدم إلى إجراء عمليات إعادة عرض غير ضرورية كل إطار.
السماح بمزيد من الأحرف في JavaScript DOM APIs
لطالما سمح محلّل HTML (أو لفترة طويلة) للعناصر والسمات باستخدام مجموعة كبيرة من الأحرف والأسماء الصالحة، ولكنّ JavaScript DOM APIs التي تنشئ العناصر والسمات نفسها أكثر صرامة ولا تتطابق مع المحلّل. يخفّف هذا التغيير من عملية التحقّق من صحة JavaScript DOM APIs لتتطابق مع محلّل HTML.
الأمر request-close في أداة الاستدعاء
يمكن إغلاق عناصر مربّع الحوار من خلال آليات متنوعة، ويريد المطوّرون أحيانًا إمكانية منع الإغلاق. لتحقيق ذلك، تُطلق مربّعات الحوار حدث إلغاء. في الأصل، كان يتم إطلاق هذا الحدث فقط من خلال طلب إغلاق (على سبيل المثال، الضغط على مفتاح Esc)، وتمت مؤخرًا إضافة دالة requestClose() في JavaScript التي تُطلق أيضًا حدث الإلغاء. يوفّر الأمر request-close هذه الإمكانية الجديدة لواجهة برمجة التطبيقات لأوامر أداة الاستدعاء التصريحية.
WebGPU: إتاحة استخدام تنسيقات BC وASTC المضغوطة في البنية الثلاثية الأبعاد
تضيف ميزتا WebGPU texture-compression-bc-sliced-3d وtexture-compression-astc-sliced-3d إمكانية استخدام تنسيقات BC وASTC المضغوطة في البنية الثلاثية الأبعاد على التوالي.
تأكيد الدفع الآمن: المفاتيح المرتبطة بالمتصفّح
يضيف هذا الإصدار توقيعًا تشفيريًا إضافيًا على تأكيدات "تأكيد الدفع الآمن" وإنشاء بيانات الاعتماد. لا تتم مزامنة المفتاح الخاص المقابل على الأجهزة. يساعد ذلك مطوّري الويب في استيفاء متطلبات ربط الأجهزة بمعاملات الدفع.
تأكيد الدفع الآمن: تجديد تجربة المستخدم
يعدّل هذا الإصدار عناصر تجربة المستخدم لمربّع حوار "تأكيد الدفع الآمن" على Chrome لنظام التشغيل Android. بالإضافة إلى عرض تجربة المستخدم فقط، تتم إضافة ما يلي:
- يسمح هذا الإصدار للتجّار بتقديم قائمة اختيارية بشعارات جهات الدفع ذات الصلة بالدفعة التي سيتم عرضها.
- يتم عرض حالات إخراج مختلفة للتجّار استنادًا إلى ما إذا كان المستخدم يريد مواصلة المعاملة بدون "تأكيد الدفع الآمن" أو إلغاء المعاملة.
- يضيف هذا الإصدار حقل تصنيف جديدًا لتفاصيل الدفع إلى أداة الدفع حتى يتم عرض النص على سطرَين.
WebGPU core-features-and-limits
تشير ميزة core-features-and-limits إلى أنّ محوّل WebGPU والجهاز يتيحان الميزات والحدود الأساسية للمواصفات.
إصلاح المرشّح ذي الأولوية لتثبيت موضع التمرير
تختار خوارزمية تثبيت موضع التمرير حاليًا المرشّحين ذوي الأولوية عندما يكونون متاحين كأهداف ارتساء. المرشّحان ذوا الأولوية هما حاليًا عنصر قابل للتعديل تم التركيز عليه وعلامات التمييز في ميزة "البحث في الصفحة". قد يؤدي ذلك إلى تجربة مستخدم غير مثالية إذا كان هناك عنصر كبير قابل للتعديل تم التركيز عليه وتغيير محتواه خارج الشاشة (ينتهي الأمر بتحريك المؤشر نتيجة لذلك). يغيّر هذا الإصلاح الخوارزمية: بدلاً من اختيار المرشّح ذي الأولوية كمرتكز، استخدِم المرشّح كنطاق أو جذر لخوارزمية اختيار المرتكز العادية التي تختار أعمق عنصر على الشاشة كمرتكز.
إتاحة استخدام السمة async لعناصر <script> في SVG
تقدّم واجهة SVGScriptElement في SVG 2.0 السمة async، على غرار HTMLScriptElement. تسمح هذه السمة بتنفيذ النصوص البرمجية بشكل غير متزامن، ما يحسّن أداء تطبيقات الويب التي تستخدم SVG وسرعة استجابتها.
Web Speech API على الجهاز فقط
تضيف هذه الميزة إمكانية التعرّف على الكلام على الجهاز فقط إلى Web Speech API، ما يسمح للمواقع الإلكترونية بالتأكّد من عدم إرسال الصوت أو الكلام المكتوب إلى خدمة تابعة لجهة خارجية للمعالجة. يمكن للمواقع الإلكترونية الاستعلام عن مدى توفّر ميزة التعرّف على الكلام على الجهاز فقط بلغات معيّنة، ومطالبة المستخدمين بتثبيت الموارد اللازمة للتعرّف على الكلام على الجهاز فقط، والاختيار بين التعرّف على الكلام على الجهاز فقط أو التعرّف على الكلام المستند إلى السحابة الإلكترونية حسب الحاجة.
محو window.name لعمليات التنقّل بين المواقع الإلكترونية المختلفة التي تبدّل مجموعة سياقات التصفُّح
يتم حاليًا الاحتفاظ بقيمة الخاصية window.name طوال فترة بقاء علامة التبويب، حتى مع عمليات التنقّل التي تبدّل مجموعات سياقات التصفُّح، ما قد يؤدي إلى تسرُّب المعلومات وربما استخدامها كأداة تتبُّع.
يؤدي محو الخاصية window.name إلى حلّ هذه المشكلة. يجب أن يكون هذا التغيير منخفض المخاطر لأنّ البحث عن سياق تصفُّح بالاسم لا يعمل حاليًا إذا كان في مجموعة سياقات تصفُّح أخرى، لذا فإنّ الاسم ليس مفيدًا في الواقع.
سياسة المؤسسة: ClearWindowNameCrossSiteBrowsing (سيتوقف عن العمل في Chrome 142).
إضافات نطاق تطبيقات الويب
يضيف هذا الإصدار حقل "scope_extensions" في بيان تطبيق الويب
الذي يسمح لتطبيقات الويب بتوسيع نطاقها ليشمل مصادر أخرى.
يسمح ذلك بعرض المواقع الإلكترونية التي تتحكّم في نطاقات فرعية متعددة ونطاقات المستوى الأعلى كتطبيق ويب واحد. يتطلّب ذلك من المصادر المُدرَجة تأكيد الربط بتطبيق الويب باستخدام ملف إعداد .well-known/web-app-origin-association.
رصد نوع MIME بتنسيق JSON المتوافق مع المواصفات
يتعرّف Chromium الآن على جميع أنواع MIME بتنسيق JSON الصالحة كما هو محدّد في مواصفات mimesniff من WHATWG. ويشمل ذلك أي نوع MIME ينتهي نوعه الفرعي بـ +json، بالإضافة إلى application/json وtext/json التقليديَين. يضمن هذا التغيير أنّ واجهات برمجة التطبيقات على الويب والميزات التي تعتمد على رصد JSON تتصرف بشكل متسق مع معيار منصة الويب والمتصفّحات الأخرى. أحد الأسباب الرئيسية لهذا التغيير هو إصلاح سلوك استيراد وحدات JSON، حيث كان يتعذّر سابقًا تحميل أنواع MIME بتنسيق JSON الصالحة، مثل text/html+json وimage/svg+json، كوحدات.
Private Aggregation API: إعداد تقارير الأخطاء الإجمالية
هناك مجموعة من حالات الخطأ التي يمكن أن تحدث عند استخدام Private Aggregation API. على سبيل المثال، قد تنتهي ميزانية الخصوصية، ما يمنع أي مساهمات أخرى في الرسم البياني المدرّج. تسمح هذه الميزة للمطوّرين بتسجيل مساهمات في الرسم البياني المدرّج لا يتم إرسالها إلا إذا حدث نوع معيّن من الأخطاء. تتيح هذه الميزة قياس مدى تكرار حالات الخطأ وتقسيم هذه القياسات على السمات ذات الصلة التي يحدّدها المطوّر (مثل إصدار الرمز الذي تم نشره). بما أنّ الأخطاء نفسها قد تكون معلومات بين المواقع الإلكترونية المختلفة، لا يمكننا ببساطة عرضها على الصفحة للمستخدمين بدون ملفات تعريف ارتباط تابعة لجهات خارجية. بدلاً من ذلك، تعيد هذه الميزة استخدام قنوات إعداد التقارير الإجمالية التي تم إخفاء بياناتها من خلال "خدمة تجميع البيانات".
واجهة برمجة التطبيقات لإعداد تقارير الأعطال: تحديد `crash-reporting` لتلقّي تقارير الأعطال فقط
تضمن هذه الميزة حصول المطوّرين على تقارير الأعطال فقط من خلال تحديد نقطة النهاية المسماة crash-reporting. تلقائيًا، يتم تسليم تقارير الأعطال إلى نقطة النهاية default التي تتلقّى العديد من أنواع التقارير الأخرى بالإضافة إلى تقارير الأعطال. يمكن للمطوّرين تقديم عنوان URL منفصل لنقطة النهاية المعروفة باسم crash-reporting لتوجيه تقارير الأعطال إليها بدلاً من نقطة النهاية default.
الحدّ من جمع بصمات الأصابع في معلومات عنوان Accept-Language
يقلّل هذا الإصدار من كمية المعلومات التي يعرضها سلسلة قيمة عنوان Accept-Language في طلبات HTTP وفي navigator.languages. بدلاً من إرسال قائمة كاملة باللغات المفضّلة لدى المستخدم في كل طلب HTTP باستخدام عنوان Accept-Language. نرسل الآن اللغة المفضّلة لدى المستخدم في عنوان Accept-Language. للحدّ من مخاطر التوافق، يقلّل الإصدار الأولي من المعلومات في عنوان HTTP، وسنقلّل من أدوات الجلب ذات الصلة في JavaScript navigator.languages في المستقبل.
إطلاق حدث خطأ بدلاً من طرح استثناء للعامل المحظور من خلال سياسة أمان المحتوى (CSP)
عندما يتم حظر Chrome من خلال "سياسة أمان المحتوى" (CSP)، فإنّه يطرح حاليًا SecurityError من أداة إنشاء Worker وSharedWorker. تتطلّب المواصفات التحقّق من CSP كجزء من عملية الجلب وإطلاق أحداث الخطأ بشكل غير متزامن بدلاً من طرح استثناء عند تشغيل نص برامجي new
Worker(url) أو new SharedWorker(url). يؤدي هذا التغيير إلى جعل Chrome متوافقًا مع المواصفات: لا يتم طرح استثناء أثناء أداة الإنشاء ويتم إطلاق أحداث الخطأ بشكل غير متزامن.
مستوى الصوت للإطارات المرمّزة في RTC
يتيح هذا الإصدار للويب مستوى صوت إطار مرمّز يتم إرساله باستخدام RTCPeerConnection وعرضه باستخدام WebRTC Encoded Transform.
عمليات تجربة جديدة
في Chrome 139، يمكنك الاشتراك في عمليات التجربة الجديدة التالية origin trials.
Prompt API
تم تصميم Prompt API للتفاعل مع نموذج لغة الذكاء الاصطناعي باستخدام إدخالات نصية ومرئية وصوتية. تتيح هذه الواجهة حالات استخدام متنوعة، بدءًا من إنشاء تعليقات توضيحية للصور وإجراء عمليات بحث مرئية، وصولاً إلى كتابة المحتوى الصوتي وتصنيف الأحداث الصوتية وإنشاء نص باتّباع تعليمات معيّنة واستخراج المعلومات أو الإحصاءات من النص. تتيح هذه الواجهة عمليات إخراج منظَّمة تضمن التزام الردود بتنسيق محدّد مسبقًا، يتم التعبير عنه عادةً كمخطط JSON، لتحسين مدى تطابق الردود وتسهيل التكامل السلس مع التطبيقات النهائية التي تتطلب تنسيقات إخراج موحّدة. تتوفّر هذه الواجهة أيضًا في إضافات Chrome. مرحلة التجربة والتقييم هذه مخصّصة للعرض على الويب.
سمة حظر العرض بمعدّل عدد اللقطات الكامل في الثانية
نقترح إضافة رمز حظر عرض جديد `full-frame-rate` إلى سمات الحظر. عند حظر أداة العرض باستخدام الرمز `full-frame-rate`، ستعمل أداة العرض بعدد لقطات في الثانية أقل من أجل حجز المزيد من الموارد للتحميل.
وضع التوافق في WebGPU
يضيف هذا الإصدار مجموعة فرعية اختيارية ومقيّدة قليلاً من WebGPU API قادرة على تشغيل واجهات برمجة التطبيقات القديمة للرسومات، مثل OpenGL وDirect3D11. من خلال الاشتراك في هذا الوضع والالتزام بقيوده، يمكن للمطوّرين توسيع نطاق تطبيقات WebGPU ليشمل العديد من الأجهزة القديمة التي لا تتضمّن واجهات برمجة التطبيقات الحديثة والصريحة للرسومات التي تتطلبها WebGPU الأساسية. بالنسبة إلى التطبيقات البسيطة، يكون التغيير المطلوب الوحيد هو تحديد "compatibility" على أنّه `featureLevel` عند استدعاء requestAdapter. بالنسبة إلى التطبيقات الأكثر تقدّمًا، قد تكون بعض التعديلات ضرورية لاستيعاب قيود الوضع. بما أنّ "وضع التوافق" هو مجموعة فرعية، فإنّ التطبيقات الناتجة هي أيضًا تطبيقات WebGPU الأساسية الصالحة وستعمل حتى على وكلاء المستخدمين الذين لا يتيحون "وضع التوافق".
الإيقاف والإزالة
يقدّم هذا الإصدار من Chrome عمليات الإيقاف والإزالة المُدرَجة أدناه. يمكنك الانتقال إلى ChromeStatus.com للاطّلاع على قوائم عمليات الإيقاف المخطط لها وعمليات الإيقاف الحالية وعمليات الإزالة السابقة.
يزيل هذا الإصدار من Chrome ميزتَين.
إزالة إتاحة نظام التشغيل macOS 11
Chrome 138 هو آخر إصدار يتيح نظام التشغيل macOS 11. اعتبارًا من Chrome 139، لن يتم دعم نظام التشغيل macOS 11 لأنّه خارج فترة الدعم مع Apple. من الضروري تشغيل نظام تشغيل متوافق للحفاظ على الأمان. على أجهزة Mac التي تعمل بنظام التشغيل macOS 11، سيستمر Chrome في العمل، وسيظهر شريط معلومات تحذيري، ولكن لن يتم تحديثه بعد ذلك. إذا أراد المستخدم تحديث Chrome، عليه تحديث الكمبيوتر إلى إصدار متوافق من macOS. بالنسبة إلى عمليات التثبيت الجديدة من Chrome 139 والإصدارات الأحدث، سيكون نظام التشغيل macOS 12 أو إصدار أحدث مطلوبًا.
إزالة ميزة الرصد التلقائي لدليل الرموز ISO-2022-JP في HTML
هناك مشاكل أمنية معروفة حول ميزة الرصد التلقائي لدليل الرموز ISO-2022-JP. بما أنّ معدّل الاستخدام منخفض جدًا، ولا يتيح Safari ميزة الرصد التلقائي لدليل الرموز ISO-2022-JP، يزيل Chrome إمكانية استخدام هذه الميزة للتخلص من المشاكل الأمنية.