Chrome 136

स्टेबल वर्शन रिलीज़ होने की तारीख: 29 अप्रैल, 2025

अगर कुछ और नहीं बताया गया है, तो नीचे दिए गए बदलाव, Android, ChromeOS, Linux, macOS, और Windows के लिए, Chrome 136 के स्टेबल चैनल के रिलीज़ पर लागू होते हैं.

एचटीएमएल और डीओएम

CanvasTextDrawingStyles के लिए भाषा की सुविधा

सभी डीओएम एलिमेंट की तरह ही, <canvas> डीओएम एलिमेंट में lang एट्रिब्यूट का इस्तेमाल किया जाता है. इसका इस्तेमाल, फ़ॉन्ट चुनने के लिए भाषा के हिसाब से किए जाने वाले बदलावों को तय करने के लिए किया जाता है. ऐसा तब किया जाता है, जब फ़ॉन्ट में जगह-भाषा के हिसाब से अलग-अलग ग्लिफ़ होते हैं. ब्राउज़र इस एट्रिब्यूट का इस्तेमाल करते हैं. हालांकि, OffscreenCanvas बनाने के बाद, स्थानीय भाषा की जानकारी सेट करने का कोई तरीका नहीं होता. इस वजह से, ऐसा हो सकता है कि ऑफ़स्क्रीन कैनवस से रेंडर किए गए नतीजे, उस कैनवस से अलग हों जिसका आउटपुट इस्तेमाल किया जाता है. इस सुविधा की मदद से, CanvasTextDrawingStyles में lang IDL एट्रिब्यूट जोड़ा जाता है. इससे डेवलपर को टेक्स्ट ड्रॉइंग और मेट्रिक के लिए, भाषा पर सीधे तौर पर कंट्रोल मिलता है.

गड़बड़ी को ट्रैक करने के लिए #385006131 ट्रैकिंग नंबर | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

सीएसएस और यूज़र इंटरफ़ेस (यूआई)

dynamic-range-limit प्रॉपर्टी

इससे पेज पर एचडीआर कॉन्टेंट की चमक को सीमित किया जा सकता है.

बग #1470298 को ट्रैक करना | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

उपयोगकर्ता के ब्राउज़िंग इतिहास को लीक होने से रोकने के लिए, ऐंकर एलिमेंट को :visited के तौर पर सिर्फ़ तब स्टाइल किया जाता है, जब उन पर पहले इस टॉप-लेवल साइट और फ़्रेम के ऑरिजिन से क्लिक किया गया हो.

"सर्फ़र के लिंक" के लिए एक अपवाद है. इसमें, साइट के पेजों के लिंक को :visited के तौर पर स्टाइल किया जा सकता है. भले ही, उन पर पहले कभी इस टॉप-लेवल साइट और फ़्रेम ऑरिजिन में क्लिक न किया गया हो. यह छूट सिर्फ़ उन टॉप-लेवल फ़्रेम या सब-फ़्रेम में चालू होती है जो टॉप-लेवल फ़्रेम के ओरिजिन से मेल खाते हैं. निजता के फ़ायदे अब भी मिलते हैं, क्योंकि साइटों को पहले से पता होता है कि उपयोगकर्ता ने उनके किन सबपेजों पर विज़िट किया है. इसलिए, कोई नई जानकारी ज़ाहिर नहीं होती. यह अपवाद, कम्यूनिटी के अनुरोध पर बनाया गया था. इससे उपयोगकर्ता अनुभव बेहतर होता है.

बग को ट्रैक करने के लिए #1448609 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

बिना प्रीफ़िक्स वाला print-color-adjust

print-color-adjust प्रॉपर्टी की मदद से, प्रिंट किए गए वेब पेजों के रंगों में बदलाव किया जा सकता है. यह Chrome में पहले से काम करने वाले -webkit-print-color-adjust जैसा ही है, लेकिन इसका नाम स्टैंडर्ड है.

-webkit- प्रीफ़िक्स वाला वर्शन नहीं हटाया जाता.

MDN दस्तावेज़ | बग को ट्रैक करने के लिए #376381169 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

string attr() टाइप का नाम बदलकर raw-string करना

सीएसएस वर्किंग ग्रुप ने string attr() टाइप को raw-string से बदलने का फ़ैसला लिया है.

इसलिए, Chrome 136 में attr(data-foo string), attr(data-foo raw-string) हो जाता है.

बग को ट्रैक करने के लिए #400981738 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

टाइप के हिसाब से var() फ़ॉलबैक

var() फ़ंक्शन का फ़ॉलबैक हिस्सा, रेफ़र की जा रही कस्टम प्रॉपर्टी के टाइप की पुष्टि नहीं करता.

बग को ट्रैक करने के लिए #372475301 | ChromeStatus.com पर मौजूद एंट्री

वेब एपीआई

कैप्चर किए गए पॉइंटर पर क्लिक इवेंट भेजना

अगर pointerup इवेंट डिस्पैच होने के दौरान कोई पॉइंटर कैप्चर किया जाता है, तो यूज़र इंटरफ़ेस (यूआई) इवेंट स्पेसिफ़िकेशन के मुताबिक, click इवेंट को pointerdown और pointerup इवेंट के सबसे नज़दीकी सामान्य पूर्वज के बजाय, कैप्चर किए गए टारगेट पर भेजा जाता है.

कैप्चर नहीं किए गए पॉइंटर के लिए, click टारगेट में कोई बदलाव नहीं होता.

बग को ट्रैक करने के लिए #40851596 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

मैजिक टिप्पणियों की मदद से, कॉम्पाइल करने के बारे में साफ़ तौर पर बताने वाले संकेत

इससे यह जानकारी अटैच करने की अनुमति मिलती है कि JavaScript फ़ाइलों में किन फ़ंक्शन को जल्दी पार्स और संकलित किया जाना चाहिए.

इस जानकारी को मैजिक टिप्पणियों के तौर पर कोड में बदला जाता है.

बग #13917 को ट्रैक करना | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

नेविगेशन शुरू करने वाले को एचटीटीपी कैश पार्टिशन की कुंजी में शामिल करना

Chrome के एचटीटीपी कैश की सुविधा को अपडेट किया गया है, ताकि इसमें is-cross-site-main-frame-navigation बूलियन शामिल किया जा सके. इससे, टॉप-लेवल नेविगेशन से जुड़े क्रॉस-साइट लीक अटैक को कम किया जा सकेगा.

खास तौर पर, इससे क्रॉस-साइट हमलों को रोकने में मदद मिलेगी. इन हमलों में, हमलावर किसी पेज पर टॉप-लेवल नेविगेशन शुरू कर सकता है. इसके बाद, वह पेज पर लोड होने वाले किसी संसाधन पर नेविगेट कर सकता है, ताकि लोड होने में लगने वाले समय का इस्तेमाल करके संवेदनशील जानकारी का पता लगाया जा सके. इस बदलाव से निजता को भी बेहतर बनाया जा सकता है. इससे नुकसान पहुंचाने वाली साइट, नेविगेशन का इस्तेमाल करके यह अनुमान नहीं लगा पाएगी कि उपयोगकर्ता ने पहले किसी साइट पर विज़िट किया है या नहीं.

बग को ट्रैक करने के लिए #398784714 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

Protected Audience: टेक्स्ट कन्वर्ज़न में मदद करने वाले टूल

सुरक्षित ऑडियंस बिडिंग और स्कोरिंग स्क्रिप्ट, वेब असेंबली के साथ इंटरफ़ेस करती हैं. इसलिए, उन्हें स्ट्रिंग टाइप के डेटा को बाइट ऐरे में बदलने की ज़रूरत होती है. उदाहरण के लिए, "मेमोरी" ऐरेबस के साथ स्ट्रिंग को वेब असेंबली में और उससे बाहर भेजने के लिए. यह इन टास्क को JavaScript में करने के मुकाबले, ज़्यादा बेहतर तरीके से करने के लिए, दो स्टैंडअलोन फ़ंक्शन, protectedAudience.encodeUtf8 और protectedAudience.decodeUtf8 उपलब्ध कराता है.

ChromeStatus.com पर मौजूद जानकारी

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)); 

ChromeStatus.com पर मौजूद जानकारी | स्पेसिफ़िकेशन

अनुमान लगाने के नियम: टैग फ़ील्ड

इससे डेवलपर, अनुमान लगाने के नियमों में टैग फ़ील्ड जोड़ सकते हैं. इस ज़रूरी नहीं फ़ील्ड का इस्तेमाल, सट्टेबाज़ी के नियमों के सोर्स को ट्रैक करने के लिए किया जा सकता है. उदाहरण के लिए, किसी इंटरमीडियरी सर्वर पर उन्हें अलग-अलग तरीके से मैनेज करने के लिए. अनुमान से जुड़े सभी टैग, Sec-Speculation-Tags हेडर के साथ भेजे जाएंगे.

बग को ट्रैक करने के लिए #381687257 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

loaded और total के लिए डबल टाइप का इस्तेमाल करने के लिए, ProgressEvent को अपडेट करना

ProgressEvent में loaded और total एट्रिब्यूट होते हैं, जिनसे प्रोग्रेस का पता चलता है. अब इनका टाइप unsigned long long है.

इस सुविधा की मदद से, इन दोनों एट्रिब्यूट के टाइप को double पर बदल दिया जाता है. इससे डेवलपर को वैल्यू पर ज़्यादा कंट्रोल मिलता है. उदाहरण के लिए, डेवलपर अब total की वैल्यू 1 और loaded की वैल्यू धीरे-धीरे 0 से 1 तक बढ़ने वाला ProgressEvent बना सकते हैं. अगर ज़्यादा से ज़्यादा एलिमेंट की वैल्यू नहीं दी जाती है, तो यह <progress> एचटीएमएल एलिमेंट के डिफ़ॉल्ट व्यवहार के हिसाब से अलाइन हो जाता है.

ChromeStatus.com पर मौजूद जानकारी | स्पेसिफ़िकेशन

निजता और सुरक्षा

iframes के लिए अनुमतियों की नीति से जुड़ी रिपोर्ट

"अनुमतियों की नीति का संभावित उल्लंघन" नाम का एक नया उल्लंघन टाइप जोड़ा गया है. इसमें सिर्फ़ अनुमतियों की नीति (सिर्फ़ शिकायत करने की नीति भी शामिल है) और iframe में सेट किए गए allow एट्रिब्यूट को देखा जाएगा. इससे, लागू की गई अनुमतियों की नीति और iframe में भेजी गई अनुमतियों के बीच के अंतर का पता चलेगा.

बग को ट्रैक करने के लिए #40941424 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

Accept-Language हेडर की जानकारी में फ़िंगरप्रिंट को कम करना

इससे एचटीटीपी अनुरोधों और navigator.languages में, Accept-Language हेडर वैल्यू स्ट्रिंग से ज़्यादा जानकारी नहीं दिखती. Chrome अब हर एचटीटीपी अनुरोध पर, उपयोगकर्ता की पसंदीदा भाषाओं की पूरी सूची भेजने के बजाय, Accept-Language हेडर में उपयोगकर्ता की सबसे पसंदीदा भाषा भेजता है.

गड़बड़ी को ट्रैक करने के लिए #1306905 ट्रैकिंग आईडी का इस्तेमाल किया गया है | ChromeStatus.com पर इस गड़बड़ी के बारे में जानकारी

पहचान

FedCM से जुड़े अपडेट

इसकी मदद से, FedCM एक ही डायलॉग में कई आइडेंटिटी प्रोवाइडर दिखा सकता है. इसके लिए, सभी प्रोवाइडर को एक ही get() कॉल में शामिल किया जाता है. इससे, डेवलपर को उपयोगकर्ताओं को पहचान की पुष्टि करने वाली सभी सेवाओं को आसानी से दिखाने में मदद मिलती है.

Chrome 136 में, FedCM के पैसिव मोड में दूसरा खाता जोड़ने की सुविधा भी हटा दी गई है. इस सुविधा की मदद से, चुनने वाले टूल में अन्य आईडीपी खातों के साथ किसी दूसरे खाते का इस्तेमाल करें बटन दिखाया जा सकता है. फ़िलहाल, इस सुविधा का इस्तेमाल नहीं किया जा रहा है. साथ ही, यूज़र एक्सपीरियंस से जुड़ी बातचीत के आधार पर, हमें लगता है कि इस सुविधा को इस्तेमाल करने से, फ़्लो ज़्यादा मुश्किल हो जाता है और इससे कोई फ़ायदा भी नहीं मिलता. यह सुविधा, FedCM के चालू मोड में अब भी काम करेगी.

बग #1348262 को ट्रैक करना | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

वेब पर पुष्टि करने की सुविधा के लिए शर्तें तय करना (पासकी अपग्रेड)

WebAuthn की मदद से, शर्तों के साथ पासकी बनाने के अनुरोध करने पर, वेबसाइटें मौजूदा पासवर्ड क्रेडेंशियल को पासकी में अपग्रेड कर सकती हैं.

बग को ट्रैक करने के लिए #377758786 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

इमेज और मीडिया

AudioContext रुकावट की स्थिति

AudioContextState में "interrupted" स्टेटस जोड़ता है. इस नई स्थिति की मदद से, यूज़र एजेंट, ऑडियो का ऐक्सेस सिर्फ़ एक ऐप्लिकेशन के पास होने (वीओआईपी) या लैपटॉप का लिड बंद होने पर, वीडियो चलाने की प्रोसेस को रोक सकता है.

बग को ट्रैक करने के लिए #374805121 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

कैप्चर किए गए हिस्से को कंट्रोल करना

एक वेब एपीआई, जो वेब ऐप्लिकेशन को ये काम करने की अनुमति देता है:

  1. कैप्चर किए गए टैब पर, व्हील इवेंट फ़ॉरवर्ड करें.
  2. कैप्चर किए गए टैब के ज़ूम लेवल को पढ़ना और उसमें बदलाव करना.

बग को ट्रैक करने के लिए #1466247 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

CapturedSurfaceResolution

स्क्रीन शेयर करते समय, कैप्चर किए गए हिस्से का पिक्सल रेशियो दिखाना.

इस सुविधा से, ऐप्लिकेशन को अपने सिस्टम के संसाधनों को बचाने में मदद मिलती है. इसके अलावा, कैप्चर किए गए प्लैटफ़ॉर्म के फ़िज़िकल और लॉजिकल रिज़ॉल्यूशन के हिसाब से, बैंडविड्थ के बदले क्वालिटी को अडजस्ट करने में भी मदद मिलती है.

बग को ट्रैक करने के लिए #383946052 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

WebRTC में H265 (एचईवीसी) कोडेक का इस्तेमाल किया जा सकता है

इस बदलाव के बाद, HEVC को WebRTC में काम करने वाले कोडेक के तौर पर VP8, H.264, VP9, और AV1 में शामिल किया जाएगा. MediaCapabilities API का इस्तेमाल करके, सहायता टीम से संपर्क किया जा सकता है.

बग को ट्रैक करने के लिए #391903235 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

MediaRecorder के लिए H26x कोडेक के साथ काम करने से जुड़े अपडेट

Chromium का MediaRecorder API अब HEVC एन्कोडिंग के साथ काम करता है. इसमें hvc1.* कोडेक स्ट्रिंग को शामिल किया गया है. साथ ही, MP4 में अलग-अलग रिज़ॉल्यूशन वाले वीडियो के साथ काम करने वाले नए कोडेक (hev1.* और avc3.*) जोड़े गए हैं.

Chromium M130 में WebCodecs में, HEVC प्लैटफ़ॉर्म कोडिंग के लिए सहायता जोड़ी गई थी. फ़ॉलो-अप के तौर पर, Chromium में MediaRecorder API के लिए सहायता जोड़ी गई है. एपीआई अब अलग-अलग HEVC और H.264 mime टाइप के स्पेसिफ़िकेशन के साथ, MP4 और Matroska muxer, दोनों टाइप के साथ काम करता है. HEVC एन्कोडिंग सिर्फ़ तब काम करती है, जब उपयोगकर्ता के डिवाइस और ऑपरेटिंग सिस्टम में ज़रूरी सुविधाएं मौजूद हों.

ChromeStatus.com पर मौजूद जानकारी

getCharNumAtPosition, isPointInFill, isPointInStroke के लिए DOMPointInit का इस्तेमाल करें

इस बदलाव से, Chromium कोड SVGGeometryElement और SVGPathElement के लिए, W3C के नए स्पेसिफ़िकेशन के मुताबिक हो गया है. इसमें getCharNumAtPosition, isPointInFill, isPointInStroke के लिए SVGPoint के बजाय DOMPointInit का इस्तेमाल किया गया है.

बग को ट्रैक करने के लिए #40572887 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

WebGPU: GPUAdapterInfo isFallbackAdapter एट्रिब्यूट

GPUAdapterInfo isFallbackAdapter बूलियन एट्रिब्यूट से पता चलता है कि किसी अडैप्टर की परफ़ॉर्मेंस पर क्या असर पड़ता है. जैसे, क्या अडैप्टर ज़्यादा डिवाइसों के साथ काम करता है, क्या उसके काम करने का तरीका आसानी से समझा जा सकता है या क्या इससे निजता को बेहतर बनाया जा सकता है. ध्यान दें कि ऐसा हो सकता है कि सभी सिस्टम पर फ़ॉलबैक अडैप्टर मौजूद न हो.

बग को ट्रैक करने के लिए #403172841 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

ब्राउज़र में होने वाले बदलाव

फ़्लूइंट स्क्रोलबार

यह सुविधा, Windows 11 के फ़्लूइंट डिज़ाइन लैंग्वेज के हिसाब से, Windows और Linux पर Chromium के स्क्रोलबार (ओवरले और नॉन-ओवरले, दोनों) को आधुनिक बनाती है.

Linux और Windows में, ओवरले वाले Fluent स्क्रोलबार के बजाय, डिफ़ॉल्ट रूप से बिना ओवरले वाले Fluent स्क्रोलबार चालू होंगे. यह बदलाव Linux पर भी लागू होता है, क्योंकि Chromium के Linux स्क्रॉलबार का डिज़ाइन, पहले से ही Windows पर मौजूद डिज़ाइन के हिसाब से अलाइन किया गया है. फ़्लूएंट स्क्रोलबार को ओवरले के तौर पर चालू करने का तरीका तय किया जा रहा है.

बग #1292117 को ट्रैक करना | ChromeStatus.com पर मौजूद एंट्री

ऑरिजिन ट्रायल

Audio Output Devices API: setDefaultSinkId()

यह सुविधा, MediaDevices में setDefaultSinkId() जोड़ती है. इससे टॉप-लेवल फ़्रेम, अपने सब-फ़्रेम के लिए इस्तेमाल किए जाने वाले डिफ़ॉल्ट ऑडियो आउटपुट डिवाइस को बदल सकता है.

ऑरिजिन ट्रायल | ChromeStatus.com पर मौजूद जानकारी | स्पेसिफ़िकेशन

वेब ऐप्लिकेशन को परफ़ॉर्मेंस के अलग-अलग समय को समझने की सुविधा चालू करना

वेब ऐप्लिकेशन के कंट्रोल से बाहर के फ़ैक्टर की वजह से, पेज लोड करने की परफ़ॉर्मेंस में, वेब ऐप्लिकेशन के लिए दो तरह के डिस्ट्रिब्यूशन हो सकते हैं. उदाहरण के लिए:

  • जब कोई उपयोगकर्ता एजेंट पहली बार लॉन्च होता है ("कोल्ड स्टार्ट" स्थिति), तो उसे कई महंगे शुरू करने के टास्क पूरे करने होते हैं. ये टास्क, सिस्टम के रिसॉर्स के लिए मुकाबला करते हैं.
  • ब्राउज़र एक्सटेंशन से, वेबसाइट की परफ़ॉर्मेंस पर असर पड़ सकता है. उदाहरण के लिए, कुछ एक्सटेंशन आपके देखे गए हर पेज पर अतिरिक्त कोड चलाते हैं. इससे सीपीयू का इस्तेमाल बढ़ सकता है और जवाब मिलने में ज़्यादा समय लग सकता है.
  • जब कोई मशीन ज़्यादा काम कर रही होती है, तो वेब पेजों के लोड होने में ज़्यादा समय लग सकता है.

PerformanceNavigationTiming ऑब्जेक्ट पर एक नया confidence फ़ील्ड जोड़ने से, डेवलपर यह पता लगा पाएंगे कि नेविगेशन के लिए लगने वाला समय, उनके वेब ऐप्लिकेशन के लिए सही है या नहीं.

ऑरिजिन ट्रायल | बग को ट्रैक करने के लिए #1413848 | ChromeStatus.com पर मौजूद एंट्री | स्पेसिफ़िकेशन

कैनवस पर टेक्स्ट रेंडर करने की सुविधा को लागू करने के बारे में अपडेट

यह वेब पर एक्सपोज़ नहीं किया गया बदलाव है.

CanvasRenderingContext2D measureText(), fillText(), और strokeText() को लागू करने के तरीके में काफ़ी बदलाव हुआ है. इससे परफ़ॉर्मेंस पर असर पड़ सकता है. इसलिए, हम ऑरिजिन ट्रायल चलाना चाहते हैं, ताकि कैनवस पर काम करने वाले ऐप्लिकेशन, नए तरीके को आज़मा सकें.

Origin Trial | Tracking bug #389726691 | ChromeStatus.com entry

बंद की गई सुविधाएं और हटाए गए आइटम

HTMLFencedFrameElement.canLoadOpaqueURL() को हटाएं

HTMLFencedFrameElement के canLoadOpaqueURL() तरीके को 2023 में navigator.canLoadAdAuctionFencedFrame() से बदल दिया गया था. इसे कॉल करने पर, नए एपीआई पर ले जाने के बाद से, 'इसका इस्तेमाल बंद हो गया है' वाली चेतावनी दिखती है. यह तरीका, Chrome 136 से हटा दिया गया है.

ChromeStatus.com पर मौजूद जानकारी