Chrome 146

स्टेबल वर्शन के रिलीज़ होने की तारीख: 10 मार्च, 2026

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

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

स्क्रोल करने पर ट्रिगर होने वाले ऐनिमेशन

इस सुविधा से, स्क्रोल की पोज़िशन के आधार पर ऐनिमेशन को कंट्रोल किया जा सकता है. जैसे, ऐनिमेशन चलाना, रोकना, और रीसेट करना.

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

ट्रैकिंग बग #390314945 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

trigger-scope प्रॉपर्टी

trigger-scope प्रॉपर्टी की मदद से, trigger-instantiating properties के ज़रिए animation triggers के नामों को सीमित किया जा सकता है.

Trigger-instantiating properties, उदाहरण के लिए, timeline-trigger, उन नामों का एलान करता है जिन्हें animation-trigger प्रॉपर्टी, ट्रिगर में ऐनिमेशन जोड़ने के लिए रेफ़रंस के तौर पर इस्तेमाल कर सकती है. हालांकि, ये नाम डिफ़ॉल्ट रूप से ग्लोबल होते हैं (anchor-name की तरह). इसलिए, अक्सर इन नामों को सीमित तौर पर दिखाना फ़ायदेमंद होता है, ताकि ऐनिमेशन ट्रिगर करने वाले इंटरैक्शन को अलग किया जा सके.

ट्रैकिंग बग #466134208 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

meta name="text-scale"

root element का डिफ़ॉल्ट फ़ॉन्ट साइज़, ऑपरेटिंग सिस्टम और ब्राउज़र, दोनों की टेक्स्ट स्केल सेटिंग के हिसाब से बदलता है. इससे, font-relative units से जुड़े सबसे सही तरीकों का पालन करने वाले पेजों को उपयोगकर्ता के ओएस-लेवल पर सेट किए गए टेक्स्ट के साइज़ की सेटिंग का पालन करने में मदद मिलती है. जैसे, font-relative units और em का इस्तेमाल करके, फ़ॉन्ट के साइज़ और पेज के ऐसे एलिमेंट सेट किए जा सकते हैं जो उपयोगकर्ता के टेक्स्ट के साइज़ की सेटिंग के हिसाब से अडजस्ट हो जाते हैं.rem इससे ब्राउज़र पर आधारित मौजूदा सुविधाएं भी बंद हो जाती हैं. जैसे, Windows पर पूरे पेज को ज़ूम करने की सुविधा और अनुमानित तरीके से काम करने वाली सुविधाएं. जैसे, मोबाइल पर टेक्स्ट का साइज़ अपने-आप बदलना. ब्राउज़र को यह सिग्नल दिया जा सकता है कि पेज को इस तरह से बनाया गया है (यानी कि rem और em के साथ), ताकि उपयोगकर्ता की चुनी गई फ़ॉन्ट साइज़ की अलग-अलग प्राथमिकताओं के हिसाब से पेज को अच्छी तरह से स्केल किया जा सके. यह एपीआई, env(preferred-text-scale) की तरह ही काम करता है. env(preferred-text-scale) की मदद से, टेक्स्ट के साइज़ को ऐक्सेस किया जा सकता है. वहीं, इस एपीआई की मदद से, root element के डिफ़ॉल्ट फ़ॉन्ट साइज़ का इस्तेमाल करके टेक्स्ट के साइज़ को बढ़ाया या घटाया जा सकता है. साथ ही, टेक्स्ट के साइज़ को अपने-आप बढ़ाने या घटाने की सुविधा को बंद किया जा सकता है.

ट्रैकिंग बग #430566925 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

स्कोप की गई कस्टम एलिमेंट रजिस्ट्री

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

ट्रैकिंग बग #40826514 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

क्षमताएं

फ़ाइल हैंडलिंग के दौरान targetURL को पॉप्युलेट करना

लॉन्च हैंडलर को लागू करने से अब यह पक्का हो जाता है कि फ़ाइल हैंडलिंग की सुविधा के साथ PWA लॉन्च होने पर, LaunchParams.targetURL भर जाए. इस बदलाव से पहले, जब किसी फ़ाइल को मौजूदा विंडो में लॉन्च किया जाता था, तब प्रॉपर्टी की वैल्यू शून्य होती थी. इस बदलाव से यह पक्का होता है कि मेनिफ़ेस्ट के action फ़ील्ड में मौजूद यूआरएल (वही यूआरएल जिसे दस्तावेज़ को फ़िलहाल लोड करना चाहिए) launchQueue उपभोक्ता के लिए उपलब्ध है.

ट्रैकिंग बग #464314997 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

फिर से लोड करने पर, LaunchParams को फिर से लाइन में लगाना बंद करें

जब कोई उपयोगकर्ता पेज को फिर से लोड करता है, तो यह कुकी launchQueue को पिछली LaunchParams (इसमें फ़ाइल हैंडल भी शामिल हैं) को फिर से भेजने से रोकती है. इससे पहले, पेज रीफ़्रेश होने पर, लॉन्च कंज्यूमर को ओरिजनल लॉन्च के डेटा के साथ फिर से ट्रिगर किया जाता था. इस बदलाव से यह पक्का होता है कि रीलोड को "फिर से लॉन्च करना" के बजाय, स्टैंडर्ड नेविगेशन के तौर पर माना जाए. साथ ही, launchQueue में डुप्लीकेट फ़ाइलें तब तक नहीं भरी जाएंगी, जब तक कोई नया फ़ाइल लॉन्च इवेंट नहीं होता.

ट्रैकिंग बग #40204185 | ChromeStatus.com एंट्री

DOM

Navigation API: precommit से post-commit handler जोड़ें

navigate इवेंट की मदद से नेविगेशन को इंटरसेप्ट करते समय, precommitHandlers और पोस्ट-कमिट ऑर्डिनरी हैंडलर को अलग-अलग पास किया जाता है.

यह तब अच्छी तरह से काम करता है, जब सिर्फ़ एक या दूसरा विकल्प मौजूद हो. हालांकि, अगर फ़्लो में precommitHandler शामिल है, जिससे post-commit handler मिलता है, तो यह मुश्किल हो सकता है.

यह एक छोटा सा एर्गोनॉमिक सुधार है. इससे, प्रीकमिट हैंडलर को शुरू करते समय पोस्ट-कमिट हैंडलर को रजिस्टर किया जा सकता है.

Tracking bug #465487215 | ChromeStatus.com entry | Spec

ग्राफ़िक

WebGPU: टेक्सचर और सैंपलर लेट्स

WGSL में एक भाषा सुविधा texture_and_sampler_let जोड़ें. इससे आपको WGSL में let डिक्लेरेशन में texture और sampler ऑब्जेक्ट सेव करने की सुविधा मिलती है.

ट्रैकिंग बग #459500757 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

WebGPU: कुछ समय के लिए अटैचमेंट

यह सुविधा, WebGPU स्पेसिफ़िकेशन में कुछ नई सुविधाएं जोड़ती है. ऐसा तब होता है, जब ब्राउज़र में पहली बार WebGPU स्पेसिफ़िकेशन का इस्तेमाल किया जाता है.

नए TRANSIENT_ATTACHMENT GPUTextureUsage की मदद से, ऐसे अटैचमेंट बनाए जा सकते हैं जिनकी वजह से रेंडर पास ऑपरेशन, टाइल मेमोरी में बने रहते हैं. इससे वीआरएएम ट्रैफ़िक कम होता है. साथ ही, टेक्सचर के लिए वीआरएएम के बंटवारे से बचा जा सकता है.

ट्रैकिंग बग #462620664 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

WebGPU कंपैटबिलिटी मोड

इस मोड में, WebGPU API का एक ऐसा सबसेट शामिल होता है जिसमें ऑप्ट-इन करने की सुविधा होती है और जिस पर कुछ पाबंदियां लगी होती हैं. यह पुराने ग्राफ़िक्स एपीआई को चला सकता है. उदाहरण के लिए, OpenGL और Direct3D11. इस मोड में ऑप्ट-इन करके और इसकी सीमाओं का पालन करके, अपने WebGPU ऐप्लिकेशन की पहुंच को कई पुराने डिवाइसों तक बढ़ाया जा सकता है. इन डिवाइसों में, मॉडर्न और एक्सप्लिसिट ग्राफ़िक्स एपीआई नहीं होते हैं. ये एपीआई, WebGPU के लिए ज़रूरी होते हैं. सामान्य ऐप्लिकेशन के लिए, सिर्फ़ एक बदलाव करना ज़रूरी है. requestAdapter को कॉल करते समय compatibility featureLevel को सेट करना होगा. ज़्यादा बेहतर ऐप्लिकेशन के लिए, मोड की पाबंदियों को ध्यान में रखते हुए कुछ बदलाव करने पड़ सकते हैं. कंपैटबिलिटी मोड, WebGPU Core का सबसेट है. इसलिए, इससे बनने वाले ऐप्लिकेशन भी WebGPU Core के मान्य ऐप्लिकेशन होते हैं. साथ ही, ये उन यूज़र एजेंट पर भी काम करते हैं जो कंपैटबिलिटी मोड के साथ काम नहीं करते.

ट्रैकिंग बग #442618060 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

JavaScript

इटरेटर का क्रम

टीसी39 का एक प्रस्ताव, जिसमें मौजूदा iterators को क्रम से लगाकर iterators बनाने का सुझाव दिया गया है. इससे Iterator.concat (...items) का इस्तेमाल किया जा सकता है.

ट्रैकिंग बग #434977727 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

चुनिंदा अनुमतियों के लिए हस्तक्षेप

जब किसी वेबसाइट को पावरफ़ुल एपीआई (उदाहरण के लिए, Bluetooth, Camera, Clipboard, DisplayCapture, Geolocation, Microphone, Serial, और USB) को ऐक्सेस करने की अनुमति दी जाती है, तो आपकी सहमति उस साइट के लिए होती है. यह ज़रूरी नहीं है कि यह सहमति, पेज पर चल रही तीसरे पक्ष की हर स्क्रिप्ट के लिए हो. खास तौर पर, मुख्य फ़्रेम या एक ही ऑरिजिन वाले iframe में चलने वाली एम्बेड की गई विज्ञापन स्क्रिप्ट, इस संवेदनशील डेटा को ऐक्सेस करने के लिए पेज की अनुमति का इस्तेमाल कर सकती हैं. ऐसा हो सकता है कि आपको यह पता न हो कि कोई विज्ञापन आपकी जानकारी ऐक्सेस कर रहा है.

इस बदलाव का मकसद, दी गई अनुमति को आपके मकसद के साथ बेहतर तरीके से अलाइन करना है. इसके लिए, यह बदलाव एपीआई की अनुमति वाले कॉन्टेक्स्ट में विज्ञापन स्क्रिप्ट को इसका इस्तेमाल करने से रोकता है. इससे, आपके डेटा पर आपका भरोसा और कंट्रोल बढ़ता है.

ट्रैकिंग बग #435214052 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

dragover से drop इवेंट तक dropEffect वैल्यू को बनाए रखना

HTML5 Drag and Drop API की मदद से, वेब ऐप्लिकेशन ड्रैग-एंड-ड्रॉप की कार्रवाइयां कर सकते हैं. इसके लिए, उन्हें इवेंट की एक सीरीज़ से गुज़रना होता है: dragstart, dragenter, dragover, dragleave, drop, और dragend. इन इवेंट के दौरान, dataTransfer.dropEffect प्रॉपर्टी से पता चलता है कि कौनसी कार्रवाई (copy, move, link या none) की जानी चाहिए.

HTML5 specification के मुताबिक, वेब ऐप्लिकेशन ने पिछले dragover इवेंट के दौरान जो dropEffect वैल्यू सेट की थी उसे सेव करके रखना चाहिए. साथ ही, वह अगले drop इवेंट में उपलब्ध होनी चाहिए.

हालांकि, Chromium पर आधारित ब्राउज़र, वेब ऐप्लिकेशन की dropEffect वैल्यू को ब्राउज़र के खुद के नेगोशिएट किए गए ऑपरेशन से बदल रहे थे. ऐसा drop इवेंट के ट्रिगर होने से पहले हो रहा था. इससे, स्पेसिफ़िकेशन का पालन नहीं हो रहा था. साथ ही, ड्रैग-एंड-ड्रॉप के व्यवहार पर आपका कंट्रोल कम हो रहा था. अब इस तरीके को बदल दिया गया है.

ट्रैकिंग बग #40068941 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

मल्टीमीडिया

WebAudio के लिए Playback Statistics API

इस सुविधा से एक AudioContext.playbackStats एट्रिब्यूट जुड़ता है, जो AudioPlaybackStats ऑब्जेक्ट दिखाता है. यह ऑब्जेक्ट, ऑडियो चलाने से जुड़े आंकड़े दिखाता है. उदाहरण के लिए, average latency, minimum/maximum latency, underrun duration, और underrun count. इस एपीआई की मदद से, वेब ऐप्लिकेशन ऑडियो चलाने की क्वालिटी को मॉनिटर कर सकते हैं और गड़बड़ियों का पता लगा सकते हैं.

ट्रैकिंग बग #475838360 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

नेटवर्क

डेटा यूआरएल के MIME टाइप पैरामीटर को बनाए रखने की नीति

Fetch Standard में बताए गए तरीके के मुताबिक, डेटा यूआरएल Content-Type हेडर में MIME type parameters (उदाहरण के लिए, charset, boundary) को बनाए रखें.

Tracking bug #40487194 | ChromeStatus.com entry | Spec

परफ़ॉर्मेंस

एलसीपी: उम्मीदवारों को शामिल करने के लिए, तय किए गए व्यवहार से मेल खाना चाहिए

LCP एल्गोरिदम अब सबसे बड़ी पेंट की गई इमेज के आधार पर कैंडिडेट दिखाता है. पहले यह सबसे बड़ी ऐसी इमेज के आधार पर कैंडिडेट दिखाता था जिसे पेंट किया जाना बाकी है. इससे परफ़ॉर्मेंस टाइमलाइन में ज़्यादा इंटरमीडिएट कैंडिडेट दिख सकते हैं.

हर ऐनिमेशन फ़्रेम में, एलसीपी एल्गोरिदम परफ़ॉर्मेंस टाइमलाइन के लिए एक नया कैंडिडेट (ज़्यादा से ज़्यादा एक) भेजता है. ऐसा तब होता है, जब उस फ़्रेम में कोई नया सबसे बड़ा टेक्स्ट या इमेज पेंट की गई हो. यह एल्गोरिदम "सबसे बड़ी इमेज, जिसे लोड किया जाना बाकी है" को भी ट्रैक करता है. यह ऐसी सबसे बड़ी इमेज होती है जिसे अब भी लोड किया जा रहा है. साथ ही, यह उस इमेज के साइज़ का इस्तेमाल करके यह तय करता है कि नई इमेज सबसे बड़ी है या नहीं. इसका मतलब है कि लोड होने में ज़्यादा समय लेने वाली बड़ी इमेज की वजह से, इंटरमीडिएट एलसीपी कैंडिडेट जनरेट नहीं हो पाते. ये कैंडिडेट, लोड होने की प्रोसेस को समझने के लिए अक्सर काम की जानकारी देते हैं.

यह समस्या, Interop 2025 के दौरान अन्य इंजन से अलग होने की वजह से सामने आई. टीम ने इस बात पर सहमति जताई है कि हर फ़्रेम के लिए ज़्यादा से ज़्यादा एक कैंडिडेट को चुना जाएगा. यह फ़्रेम के लिए पेंट की गई इमेज और टेक्स्ट एलिमेंट के सेट के आधार पर तय किया जाएगा.

Tracking bug #482261053 | ChromeStatus.com entry | Spec

सुरक्षा

Sanitizer API

Sanitizer API, ऐसे कॉन्टेंट को हटाने का तरीका उपलब्ध कराता है जो उपयोगकर्ता के दिए गए किसी भी HTML कॉन्टेंट से स्क्रिप्ट को एक्ज़ीक्यूट कर सकता है. इसका मकसद, XSS से सुरक्षित वेब ऐप्लिकेशन बनाना आसान बनाना है.

ट्रैकिंग बग #40138584 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

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

WebNN

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

Origin Trial | Tracking bug #40206287 | ChromeStatus.com entry | Spec

सीपीयू परफ़ॉर्मेंस एपीआई

यह एपीआई, आपके डिवाइस की बैटरी की जानकारी दिखाता है. यह एपीआई, वेब ऐप्लिकेशन को टारगेट करता है. ये ऐप्लिकेशन, इस जानकारी का इस्तेमाल करके लोगों को बेहतर अनुभव देते हैं. ऐसा हो सकता है कि ये ऐप्लिकेशन, Compute Pressure API के साथ मिलकर काम करें. Compute Pressure API, डिवाइस के सीपीयू के इस्तेमाल या उस पर पड़ने वाले दबाव के बारे में जानकारी देता है. साथ ही, ऐप्लिकेशन को सीपीयू के इस्तेमाल में होने वाले बदलावों के बारे में सूचना देता है.

ट्रैकिंग बग #449760252 | ChromeStatus.com एंट्री | स्पेसिफ़िकेशन

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

इससे speculation rules सिंटैक्स बढ़ जाता है. इससे prerender के लिए form_submission फ़ील्ड तय किया जा सकता है.

यह फ़ील्ड, ब्राउज़र को prerender को फ़ॉर्म सबमिशन के तौर पर तैयार करने का निर्देश देता है, ताकि इसे फ़ॉर्म सबमिट करने के लिए किए जाने वाले असली नेविगेशन से चालू किया जा सके. उदाहरण के लिए, सामान्य खोज फ़ॉर्म से /search?q=XXX GET अनुरोध नेविगेशन मिलता है. वेब डेवलपर ने इसके लिए सहायता का अनुरोध किया है.

Tracking bug #346555939 | ChromeStatus.com entry | Spec

Focusgroup

Focusgroup सुविधा, कीबोर्ड के ऐरो वाले बटन का इस्तेमाल करके, फ़ोकस किए जा सकने वाले एलिमेंट के सेट में कीबोर्ड फ़ोकस नेविगेशन की सुविधा देती है.

डेवलपर से सुझाव/राय देने या शिकायत करने का अनुरोध: फ़ोकसग्रुप में, फ़ोकसग्रुप के बारे में ज़्यादा जानें.

Origin Trial | Tracking bug #1286127 | ChromeStatus.com entry | Spec