Chrome 140 बीटा

पब्लिश होने की तारीख़: 6 अगस्त, 2025

यहां दिए गए बदलाव, Android, ChromeOS, Linux, macOS, और Windows के लिए Chrome के बीटा चैनल की सबसे नई रिलीज़ पर लागू होते हैं. हालांकि, अगर किसी बदलाव के बारे में अलग से जानकारी दी गई है, तो वह जानकारी लागू होगी. यहां दी गई सुविधाओं के बारे में ज़्यादा जानने के लिए, दिए गए लिंक पर क्लिक करें या ChromeStatus.com पर मौजूद सूची देखें. 6 अगस्त, 2025 तक Chrome 140 बीटा वर्शन में है. डेस्कटॉप के लिए, Chrome की आधिकारिक वेबसाइट से या Android पर Google Play Store से, Chrome का नया वर्शन डाउनलोड किया जा सकता है.

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

सीएसएस टाइप की गई अंकगणित

टाइप्ड अंकगणित की मदद से, सीएसएस में calc(10em / 1px) या calc(20% / 0.5em * 1px) जैसे एक्सप्रेशन लिखे जा सकते हैं. यह टाइपोग्राफ़ी के लिए फ़ायदेमंद है. इसकी मदद से, टाइप की गई वैल्यू को बिना टाइप की गई वैल्यू में बदला जा सकता है. साथ ही, इसे नंबर स्वीकार करने वाली प्रॉपर्टी के लिए फिर से इस्तेमाल किया जा सकता है. इस्तेमाल का एक और उदाहरण, यूनिटलेस वैल्यू को किसी अन्य टाइप से गुणा करना है. उदाहरण के लिए, पिक्सल से डिग्री में कास्ट किया जा सकता है.

scroll-target-group प्रॉपर्टी

scroll-target-group प्रॉपर्टी से पता चलता है कि एलिमेंट, स्क्रोल मार्कर ग्रुप कंटेनर है या नहीं. यह इनमें से कोई एक वैल्यू स्वीकार करता है:

  • 'none': यह एलिमेंट, स्क्रोल मार्कर ग्रुप कंटेनर नहीं बनाता.
  • 'auto': यह एलिमेंट, स्क्रोल मार्कर ग्रुप कंटेनर बनाता है. इसमें वे सभी स्क्रोल मार्कर एलिमेंट शामिल होते हैं जिनके लिए यह सबसे नज़दीकी पूर्वज स्क्रोल मार्कर ग्रुप कंटेनर होता है.

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

content प्रॉपर्टी के वैकल्पिक टेक्स्ट में counter() और counters() चालू करें

इस सुविधा की मदद से, content प्रॉपर्टी के ऑल्ट टेक्स्ट में counter() और counters() का इस्तेमाल किया जा सकता है. इससे ऐक्सेसिबिलिटी को बेहतर बनाने के लिए, ज़्यादा काम की जानकारी मिलती है.

व्यू ट्रांज़िशन के सूडो एलिमेंट, ज़्यादा एनिमेशन प्रॉपर्टी इनहेरिट करते हैं

व्यू ट्रांज़िशन के छद्म ट्री में अब कई ऐनिमेशन प्रॉपर्टी इनहेरिट की जाती हैं:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

नेस्ट किए गए व्यू ट्रांज़िशन चालू करना

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

रूट से व्यूपोर्ट overscroll-behavior को आगे बढ़ाएं

इस बदलाव से, overscroll-behavior को बॉडी के बजाय रूट से लागू किया जाता है. सीएसएस वर्किंग ग्रुप ने यह तय किया है कि <body> से प्रॉपर्टी को व्यूपोर्ट में नहीं भेजा जाएगा. इसके बजाय, व्यूपोर्ट की प्रॉपर्टी, रूट (<html>) एलिमेंट से आगे बढ़ती हैं. इसलिए, overscroll-behavior को रूट एलिमेंट से आगे बढ़ाना चाहिए. हालांकि, Chrome में लंबे समय से एक समस्या आ रही है: यह रूट के बजाय <body> से overscroll-behavior को बढ़ाता है. यह सुविधा, अन्य ब्राउज़र के साथ काम नहीं करती. इस बदलाव से Chrome, स्पेसिफ़िकेशन के मुताबिक काम करेगा. साथ ही, यह अन्य सुविधाओं के साथ मिलकर काम कर पाएगा.

ScrollIntoView कंटेनर का विकल्प

ScrollIntoViewOptions कंटेनर विकल्प की मदद से डेवलपर, scrollIntoView ऑपरेशन कर सकते हैं. इससे सिर्फ़ सबसे नज़दीकी पैरंट स्क्रोल कंटेनर स्क्रोल होता है. उदाहरण के लिए, यहां दिया गया स्निपेट सिर्फ़ target के स्क्रोल कंटेनर को स्क्रोल करता है, ताकि target को व्यू में लाया जा सके. हालांकि, यह सभी स्क्रोल कंटेनर को व्यूपोर्ट में स्क्रोल नहीं करेगा:

target.scrollIntoView({container: 'nearest'});

सीएसएस caret-animation प्रॉपर्टी जोड़ना

Chromium, caret-color प्रॉपर्टी के ऐनिमेशन के साथ काम करता है. हालांकि, ऐनिमेशन के दौरान, कर्सर के डिफ़ॉल्ट रूप से ब्लिंक होने की वजह से ऐनिमेशन में रुकावट आती है.

सीएसएस caret-animation प्रॉपर्टी की दो वैल्यू हो सकती हैं: auto और manual. auto का मतलब है ब्राउज़र का डिफ़ॉल्ट (ब्लिंक करना) और manual का मतलब है कि डेवलपर, कैरेट ऐनिमेशन को कंट्रोल करता है. इसके अलावा, जिन लोगों को झिलमिलाती या चमकती हुई इमेज से परेशानी होती है या जो इस तरह की इमेज से असहज महसूस करते हैं वे उपयोगकर्ता स्टाइलशीट की मदद से, झिलमिलाने की सुविधा को बंद कर सकते हैं.

highlightsFromPoint API

highlightsFromPoint एपीआई की मदद से डेवलपर, कस्टम हाइलाइट के साथ इंटरैक्ट कर सकते हैं. यह फ़ंक्शन, किसी दस्तावेज़ में किसी खास पॉइंट पर मौजूद हाइलाइट का पता लगाता है. यह इंटरैक्टिविटी, वेब की उन जटिल सुविधाओं के लिए फ़ायदेमंद होती है जहां कई हाइलाइट ओवरलैप हो सकती हैं या शैडो DOM में मौजूद हो सकती हैं. एपीआई, सटीक पॉइंट के आधार पर हाइलाइट का पता लगाने की सुविधा देता है. इससे डेवलपर, कस्टम हाइलाइट के साथ डाइनैमिक इंटरैक्शन को ज़्यादा असरदार तरीके से मैनेज कर पाते हैं. उदाहरण के लिए, डेवलपर हाइलाइट किए गए क्षेत्रों पर उपयोगकर्ता के क्लिक या होवर इवेंट का जवाब दे सकते हैं. इससे कस्टम टूलटिप, कॉन्टेक्स्ट मेन्यू या अन्य इंटरैक्टिव सुविधाएं ट्रिगर की जा सकती हैं.

व्यू ट्रांज़िशन के पूरे होने के प्रॉमिस का समय बदलना

मौजूदा प्रॉमिस को पूरा करने का समय, रेंडरिंग के लाइफ़साइकल के चरणों के दौरान होता है. इसका मतलब है कि प्रॉमिस रिज़ॉल्यूशन के बाद चलने वाला कोड, व्यू ट्रांज़िशन को हटाने वाले विज़ुअल फ़्रेम के बाद जनरेट होता है. अगर स्क्रिप्ट, स्टाइल को इस तरह से बदलती है कि वह दिखने में एक जैसी बनी रहे, तो ऐनिमेशन के आखिर में फ़्लिकर हो सकता है. इस बदलाव से समस्या ठीक हो जाती है. इसके लिए, ViewTransition के क्लीनअप चरणों को लाइफ़साइकल पूरा होने के बाद, एसिंक्रोनस तरीके से चलाने के लिए ले जाया जाता है.

ToggleEvent सोर्स एट्रिब्यूट जोड़ें

ToggleEvent के source एट्रिब्यूट में वह एलिमेंट शामिल होता है जिसकी वजह से ToggleEvent ट्रिगर हुआ. हालांकि, ऐसा तब होता है, जब यह लागू हो. उदाहरण के लिए, अगर कोई उपयोगकर्ता <button> एलिमेंट पर क्लिक करता है और popovertarget या commandfor एट्रिब्यूट को पॉपओवर खोलने के लिए सेट किया गया है, तो पॉपओवर पर ट्रिगर किए गए ToggleEvent का सोर्स एट्रिब्यूट, <button> को इनवोक करने के लिए सेट किया जाएगा.

SVG foreignObject को, blob यूआरएल के लिए कैनवस को खराब करने से रोकना है

सभी ब्राउज़र, एचटीएमएल कैनवस drawImage ऑपरेशन में SVG सोर्स के साथ <img> एलिमेंट का इस्तेमाल करने की सुविधा देते हैं. हालांकि, अलग-अलग प्लैटफ़ॉर्म पर कैनवस के रंग बदलने का तरीका अलग-अलग होता है. जब SVG सोर्स में foreignObject टैग शामिल होता है और उसे एचटीटीपी यूआरआई के साथ रेफ़रंस किया जाता है, तब सभी ब्राउज़र कैनवस को खराब कर देते हैं. जब एक ही SVG को डेटा यूआरआई के ज़रिए रेफ़रंस किया जाता है, तो सभी ब्राउज़र कैनवस को खराब नहीं करते हैं. हालांकि, जब किसी blob यूआरआई का इस्तेमाल किया जाता है, तो Chromium (इस बदलाव से पहले) और WebKit, दोनों कैनवस को खराब कर देते हैं. हालांकि, Gecko ऐसा नहीं करता. इस सुविधा के लॉन्च होने के बाद, Chromium का व्यवहार Gecko जैसा हो जाएगा. इससे, कैनवस drawImage कॉल में ज़्यादा से ज़्यादा एसवीजी कॉन्टेंट का इस्तेमाल किया जा सकेगा.

@font-face rule में font-variation-settings डिस्क्रिप्टर के लिए सहायता

सीएसएस की मदद से डेवलपर, किसी फ़ॉन्ट के वेट, चौड़ाई, झुकाव, और अन्य ऐक्सिस में बदलाव कर सकते हैं. इसके लिए, उन्हें हर एलिमेंट पर font-variation-settings प्रॉपर्टी का इस्तेमाल करना होगा. हालांकि, Chromium पर आधारित ब्राउज़र में @font-face डिक्लेरेशन के अंदर इस प्रॉपर्टी का इस्तेमाल नहीं किया जा सकता. यह सुविधा, CSS Fonts Level 4 में तय किए गए font-variation-settings के लिए स्ट्रिंग-आधारित सिंटैक्स के साथ काम करती है. अमान्य या पहचान नहीं किए गए सुविधा टैग को स्पेसिफ़िकेशन के हिसाब से अनदेखा किया जाता है. बाइनरी या नॉन-स्टैंडर्ड फ़ॉर्म का इस्तेमाल नहीं किया जा सकता. परफ़ॉर्मेंस और टाइपोग्राफ़िक फ़्लेक्सिबिलिटी, दोनों के लिए वैरिएबल फ़ॉन्ट का इस्तेमाल ज़्यादा से ज़्यादा किया जा रहा है. Chromium में इस डिसक्रिप्टर के लिए सहायता जोड़ने से, कंट्रोल बेहतर होता है, दोहराव कम होता है, और वेब टाइपोग्राफ़ी के लिए ज़्यादा बेहतर और आधुनिक तरीका इस्तेमाल किया जा सकता है.

Web APIs

Uint8Array को base64 और हेक्स में बदलना और उनसे वापस Uint8Array में बदलना

Base64, किसी भी बाइनरी डेटा को ASCII के तौर पर दिखाने का एक सामान्य तरीका है. JavaScript में बाइनरी डेटा के लिए Uint8Arrays होता है. हालांकि, इसमें डेटा को Base64 के तौर पर एन्कोड करने या Base64 डेटा को लेकर उससे जुड़ा Uint8Array बनाने का कोई इन-बिल्ट तरीका नहीं है. इस सुविधा से, हेक्स स्ट्रिंग और Uint8Arrays के बीच कन्वर्ज़न करने की क्षमता और तरीके जुड़ जाते हैं.

ReadableStreamBYOBReader min विकल्प का इस्तेमाल करना

इस सुविधा के तहत, मौजूदा ReadableStreamBYOBReader.read(view) तरीके में min विकल्प जोड़ा गया है. यह तरीका पहले से ही एक ArrayBufferView स्वीकार करता है, जिसमें यह डेटा पढ़ता है. हालांकि, फ़िलहाल यह इस बात की गारंटी नहीं देता कि रीड रिज़ॉल्व होने से पहले कितने एलिमेंट लिखे गए हैं. min की वैल्यू तय करके, यह ज़रूरी किया जा सकता है कि स्ट्रीम तब तक इंतज़ार करे, जब तक कम से कम उतने एलिमेंट उपलब्ध न हो जाएं जितने आपने तय किए हैं. इसके बाद ही, स्ट्रीम को पढ़ा जा सकेगा. इससे मौजूदा व्यवहार में सुधार होता है. मौजूदा व्यवहार में, व्यू में मौजूद एलिमेंट की तुलना में कम एलिमेंट के साथ रीड की जा सकती है.

कुछ मामलों में, सर्वर साइड पर यह अंतर करना ज़रूरी होता है कि सर्वर ने कौनसी कुकी सेट की हैं और क्लाइंट ने कौनसी कुकी सेट की हैं. ऐसा ही एक मामला उन कुकी से जुड़ा है जिन्हें आम तौर पर सर्वर हमेशा सेट करता है. हालांकि, अनचाहा कोड (जैसे कि XSS का फ़ायदा उठाने वाला कोड, नुकसान पहुंचाने वाला एक्सटेंशन या किसी डेवलपर का कमिट) उन्हें क्लाइंट पर सेट कर सकता है. इस प्रस्ताव में एक ऐसा सिग्नल जोड़ा गया है जिससे सर्वर इस तरह का अंतर कर सकते हैं. खास तौर पर, यह __Http और __HostHttp प्रीफ़िक्स तय करता है. इनसे यह पक्का होता है कि स्क्रिप्ट का इस्तेमाल करके, क्लाइंट साइड पर कुकी सेट न की जाए.

लोकल नेटवर्क के ऐक्सेस से जुड़ी पाबंदियां

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

लोकल नेटवर्क ऐक्सेस करने के लिए अनुमति का नया प्रॉम्प्ट में इसके बारे में ज़्यादा जानें.

SharedWorker स्क्रिप्ट को, बीएलओबी स्क्रिप्ट यूआरएल के लिए कंट्रोलर इनहेरिट करने की अनुमति दें

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

ServiceWorkerStaticRouterTimingInfo जोड़ें

इस सुविधा से, ServiceWorker स्टैटिक राउटिंग एपीआई के लिए टाइमिंग की जानकारी मिलती है. यह जानकारी, डेवलपर के इस्तेमाल के लिए नेविगेशन टाइमिंग एपीआई और संसाधन टाइमिंग एपीआई में दिखाई जाती है. ServiceWorker समय की जानकारी देता है, ताकि समय के कुछ खास पॉइंट मार्क किए जा सकें.

इस सुविधा में, स्टैटिक राउटिंग एपीआई से जुड़ी समय की दो तरह की जानकारी जोड़ी गई है:

  • RouterEvaluationStart: रजिस्टर किए गए राऊटर के नियमों के साथ किसी अनुरोध को मैच करने में लगने वाला समय.
  • CacheLookupStart: अगर सोर्स "cache" है, तो कैश मेमोरी की जानकारी देखने का समय.

इसके अलावा, इस सुविधा से राऊटर सोर्स की दो तरह की जानकारी मिलती है: मैच किया गया राऊटर सोर्स और फ़ाइनल राऊटर सोर्स.

Android पर, वेब ऑथेंटिकेशन के लिए शर्त के साथ क्रेडेंशियल बनाने की सुविधा चालू करें (यह सुविधा शिप नहीं की जा रही है)

आइसोलेटेड वेब ऐप्लिकेशन

Controlled Frame API के बारे में जानकारी

इस सुविधा से, Controlled Frame API जुड़ता है. यह सिर्फ़ Isolated Web Apps (IWAs) के लिए उपलब्ध है. अन्य प्लैटफ़ॉर्म पर इसी तरह के नाम वाले एपीआई की तरह, कंट्रोल किए गए फ़्रेम में सभी कॉन्टेंट एम्बेड करने की अनुमति होती है. इसमें तीसरे पक्ष का ऐसा कॉन्टेंट भी शामिल है जिसे <iframe> में एम्बेड नहीं किया जा सकता. कंट्रोल्ड फ़्रेम की मदद से, एम्बेड किए गए कॉन्टेंट को भी कंट्रोल किया जा सकता है. इसके लिए, एपीआई के तरीकों और इवेंट के कलेक्शन का इस्तेमाल किया जाता है. आइसोलेटेड वेब ऐप्लिकेशन के बारे में ज़्यादा जानने के लिए, आइसोलेटेड वेब ऐप्लिकेशन के बारे में जानकारी देने वाला लेख पढ़ें.

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

Chrome 140 में, इन नए ऑरिजिन ट्रायल के लिए ऑप्ट इन किया जा सकता है.

clipboardchange इवेंट जोड़ो

जब कोई वेब ऐप्लिकेशन या सिस्टम का कोई अन्य ऐप्लिकेशन, सिस्टम के क्लिपबोर्ड के कॉन्टेंट में बदलाव करता है, तब clipboardchange इवेंट ट्रिगर होता है. इससे रिमोट डेस्कटॉप क्लाइंट जैसे वेब ऐप्लिकेशन, अपने क्लिपबोर्ड को सिस्टम क्लिपबोर्ड के साथ सिंक कर पाते हैं. यह JavaScript की मदद से, क्लिपबोर्ड में हुए बदलावों को पोल करने का बेहतर विकल्प देता है.

इनकमिंग कॉल की सूचनाएं पाने की सुविधा चालू करना

इस सुविधा की मदद से, Notifications API को बढ़ाया जाता है. इससे इंस्टॉल किए गए PWA, आने वाले कॉल की सूचनाएं भेज सकते हैं. ये सूचनाएं, कॉल के स्टाइल वाले बटन और रिंगटोन के साथ दिखती हैं. इस एक्सटेंशन की मदद से, VoIP वेब ऐप्लिकेशन लोगों को बेहतर अनुभव दे पाते हैं. इससे लोगों को कॉल करने की सूचनाओं को पहचानने और उनका जवाब देने में आसानी होती है. इसके अलावा, यह सुविधा उन ऐप्लिकेशन के नेटिव और वेब वर्शन के बीच के अंतर को कम करने में मदद करती है जिनके दोनों वर्शन उपलब्ध हैं.

पेश है क्रैश रिपोर्टिंग की सुविधा देने वाला Key-Value API

इस सुविधा में एक नया की-वैल्यू एपीआई window.crashReport शामिल है. यह एपीआई, हर दस्तावेज़ के हिसाब से मैप किए गए डेटा पर काम करता है. इस मैप में, क्रैश रिपोर्ट में जोड़ा गया डेटा होता है.

इस एपीआई के बैकिंग मैप में रखा गया डेटा, साइट पर रेंडरर प्रोसेस क्रैश होने पर CrashReportBody में भेजा जाता है. इससे डेवलपर यह डीबग कर सकते हैं कि उनके ऐप्लिकेशन में किस वजह से क्रैश हो रहा है.

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

Chrome के इस वर्शन में, यहां दिए गए बदलाव किए गए हैं. ChromeStatus.com पर जाकर, बंद की जाने वाली सुविधाओं, फ़िलहाल बंद की गई सुविधाओं, और पहले हटाई गई सुविधाओं की सूचियां देखें.

Chrome के इस वर्शन में, एक सुविधा को बंद कर दिया गया है.

कुछ एलिमेंट में मौजूद <h1> के लिए, फ़ॉन्ट के साइज़ से जुड़े खास नियमों को बंद किया गया

एचटीएमएल स्पेसिफ़िकेशन में, <article>, <aside>, <nav> या <section> एलिमेंट में नेस्ट किए गए <h1> टैग के लिए खास नियमों की सूची दी गई है.

ये खास नियम अब काम नहीं करते, क्योंकि इनसे ऐक्सेस से जुड़ी समस्याएं होती हैं. ये नेस्ट किए गए <h1> के फ़ॉन्ट साइज़ को विज़ुअल तौर पर कम कर देते हैं, ताकि वे <h2> की तरह दिखें. हालांकि, सुलभता ट्री में इस विज़ुअल बदलाव के बारे में कोई जानकारी नहीं मिलती.