Chrome 138 बीटा

पब्लिश होने की तारीख: 28 मई, 2025

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

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

इस रिलीज़ में, सीएसएस और यूज़र इंटरफ़ेस (यूआई) की छह नई सुविधाएं जोड़ी गई हैं.

सीएसएस stretch साइज़िंग कीवर्ड

यह सीएसएस साइज़िंग प्रॉपर्टी (उदाहरण के लिए, width और height) के लिए एक कीवर्ड है. इससे एलिमेंट, अपने कंटेनिंग ब्लॉक के उपलब्ध स्पेस को पूरी तरह से भर पाते हैं. यह 100% के जैसा ही है. हालांकि, इसमें साइज़ को box-sizing से दिखाए गए बॉक्स के बजाय, एलिमेंट के मार्जिन बॉक्स पर लागू किया जाता है. इस कीवर्ड का इस्तेमाल करने से, एलिमेंट अपने मार्जिन बनाए रख पाता है. साथ ही, यह जितना हो सके उतना बड़ा दिखता है.

साइन से जुड़े फ़ंक्शन abs() और sign(), अपने आर्ग्युमेंट के साइन से जुड़े अलग-अलग फ़ंक्शन का हिसाब लगाते हैं.

ओएस-लेवल के फ़ॉन्ट स्केल के लिए सीएसएस env वैरिएबल

यह कुकी, सीएसएस को उपयोगकर्ता के पसंदीदा फ़ॉन्ट स्केल के बारे में जानकारी देती है. फ़िलहाल, किसी पेज के लिए यह पता लगाना मुमकिन नहीं है कि उपयोगकर्ता ने ऑपरेटिंग सिस्टम की सेटिंग में जाकर, अपने पसंदीदा फ़ॉन्ट का साइज़ बदला है या नहीं. यह सीएसएस एनवायरमेंट वैरिएबल, उपयोगकर्ता के चुने गए स्केल को दिखाएगा.

सीएसएस sibling-index() और sibling-count()

sibling-index() और sibling-count() फ़ंक्शन का इस्तेमाल, सीएसएस प्रॉपर्टी वैल्यू में पूर्णांक के तौर पर किया जा सकता है. इससे किसी एलिमेंट को उसके सिबलिंग के बीच की पोज़िशन या सिबलिंग की कुल संख्या के आधार पर स्टाइल किया जा सकता है. इन फ़ंक्शन का इस्तेमाल सीधे तौर पर पूर्णांक वैल्यू के तौर पर किया जा सकता है. हालांकि, इनका इस्तेमाल calc() एक्सप्रेशन में ज़्यादा बेहतर तरीके से किया जा सकता है.

li {
  animation-delay: calc(0.1s * sibling-index());
}

इंटरपोलेशन प्रोग्रेस फ़ंक्शनल नोटेशन: सीएसएस progress() फ़ंक्शन

progress() फ़ंक्शनल नोटेशन, एक गणितीय फ़ंक्शन है. यह <number> वैल्यू दिखाता है. यह वैल्यू, दो अन्य कैलकुलेशन (प्रोग्रेस की शुरुआती वैल्यू और प्रोग्रेस की आखिरी वैल्यू) के बीच एक कैलकुलेशन (प्रोग्रेस की वैल्यू) की पोज़िशन दिखाती है.

Viewport Segments Enumeration API

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

Web APIs

WebCodecs में वीडियो फ़्रेम ओरिएंटेशन मेटाडेटा के लिए सहायता जोड़ी गई

WebCodecs में वीडियो से जुड़े अलग-अलग इंटरफ़ेस के लिए, rotation: int और flip: bool वैल्यू जोड़ी गई हैं. इससे डेवलपर, ओरिएंटेशन वाले फ़्रेम सोर्स के साथ काम कर सकते हैं. उदाहरण के लिए, Android कैमरे और कुछ मीडिया. VideoFrame इंटरफ़ेस की मदद से, किसी भी रोटेशन और फ़्लिप के साथ VideoFrame बनाने की सुविधा मिलती है. साथ ही, VideoFrame ऑब्जेक्ट पर इस जानकारी के लिए ऐक्सेसर भी मिलते हैं. VideoDecoderConfig ऑब्जेक्ट को rotation और flip फ़ील्ड मिलते हैं. ये फ़ील्ड, डिकोड किए गए VideoFrame ऑब्जेक्ट पर अपने-आप जनरेट होते हैं. VideoEncoder क्लास को, रोटेशन और फ़्लिप की जानकारी को encode() से VideoDecoderConfig में पास करने के तरीके मिलते हैं. यह जानकारी, EncodedVideoChunkMetadata के हिस्से के तौर पर मिलती है. अगर encode() को अलग-अलग ओरिएंटेशन वाले फ़्रेम के साथ कॉल किया जाता है, तो नॉनफ़ेटल अपवाद दिखेगा. configure() तरीके का इस्तेमाल, अनुमति वाले ओरिएंटेशन को रीसेट करने के लिए किया जा सकता है.

Crash Reporting API: is_top_level और visibility_state

इस सुविधा से, क्रैश रिपोर्टिंग एपीआई के मुख्य हिस्से में is_top_level और visibility_state स्ट्रिंग फ़ील्ड जुड़ जाते हैं. यह मुख्य हिस्सा, क्रैश रिपोर्ट के लिए डिफ़ॉल्ट रिपोर्टिंग एंडपॉइंट को भेजा जाता है.

सीरियलाइज़ेशन के दौरान, एट्रिब्यूट में < और > को एस्केप करना

सीरियलाइज़ेशन के दौरान, एट्रिब्यूट की वैल्यू में < और > को एस्केप करें. इससे म्यूटेशन XSS हमलों का खतरा कम हो जाता है. ये हमले तब होते हैं, जब किसी एट्रिब्यूट की वैल्यू को क्रम से लगाने और फिर से पार्स करने के बाद, स्टार्ट टैग टोकन के तौर पर इंटरप्रेट किया जाता है.

स्क्रिप्ट के लिए इंटिग्रिटी नीति

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

अनुमानित स्टोरेज कोटा की जानकारी देने वाली सुविधा

उन साइटों के लिए स्टोरेज कोटा का अनुमान लगाएं जिनके पास अनलिमिटेड स्टोरेज की अनुमतियां नहीं हैं. इसके लिए, StorageManager के Estimate API का इस्तेमाल करें. रिपोर्ट किए गए स्टोरेज कोटे का इस्तेमाल करके, किसी उपयोगकर्ता के ब्राउज़िंग मोड का पता लगाया जा सकता है. ऐसा इसलिए, क्योंकि गुप्त मोड में उपलब्ध स्टोरेज स्पेस, सामान्य मोड की तुलना में काफ़ी कम होता है.

यह एक शमन है. यह स्टोरेज एपीआई का इस्तेमाल करके, उपयोगकर्ता के ब्राउज़िंग मोड का पता लगाने से रोकता है. इसके लिए, यह एक आर्टिफ़िशियल कोटा रिपोर्ट करता है. यह कोटा, इस्तेमाल किए गए स्टोरेज और मि०(10 जीआईबी, डिस्क के साइज़ को 1 जीआईबी तक राउंड अप करने) के योग के बराबर होता है. यह कोटा, सीमित स्टोरेज की अनुमतियों वाली साइटों के लिए, सभी ब्राउज़िंग मोड में रिपोर्ट किया जाता है. जिन साइटों के पास अनलिमिटेड स्टोरेज की अनुमति है उन पर इसका कोई असर नहीं पड़ेगा. इससे लागू किए गए कोटा पर भी कोई असर नहीं पड़ेगा.

फिर से सदस्यता लेने पर pushsubscriptionchange इवेंट

जब किसी ऐसे ऑरिजिन को सूचनाएं पाने की अनुमति फिर से मिल जाती है जिसके लिए पुश नोटिफ़िकेशन की सदस्यता पहले मौजूद थी, लेकिन अनुमति में बदलाव (अनुमति दी गई से अनुमति नहीं दी गई/डिफ़ॉल्ट) की वजह से सदस्यता रद्द कर दी गई थी, तब सर्विस वर्कर में pushsubscriptionchange इवेंट ट्रिगर करें. इवेंट, खाली oldSubscription और newSubscription के साथ ट्रिगर होगा.

अनुमान लगाने के नियम: Clear-Site-Data हेडर में prefetchCache और prerenderCache जोड़ें

डेवलपर को प्रीरेंडर और प्रीफ़ेच कैश मेमोरी को मिटाने में मदद करने के लिए, Clear-Site-Data हेडर की दो नई वैल्यू: prefetchCache और prerenderCache. इन्हें किसी भी अनुरोध पर भेजा जा सकता है. साथ ही, इन्हें दस्तावेज़ के अनुरोध पर भेजने की ज़रूरत नहीं होती. उदाहरण के लिए, इन्हें 'कार्ट में जोड़ें' या लॉगिन और लॉग आउट करने के एपीआई कॉल के जवाबों पर भेजा जा सकता है, ताकि स्थिति में बदलाव के बारे में अटकलों को दूर किया जा सके.

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

इससे अनुमान लगाने के नियमों के सिंटैक्स को बढ़ाया जाता है, ताकि डेवलपर target_hint फ़ील्ड तय कर सकें. इस फ़ील्ड से, टारगेट किए जा सकने वाले उस पेज के बारे में जानकारी मिलती है जहां पहले से रेंडर किया गया पेज आखिर में चालू होगा. _blank को हिंट के तौर पर सेट करने पर, पहले से रेंडर किए गए पेज को चालू किया जा सकता है. इससे window.open() से खोले गए पेज पर नेविगेट किया जा सकता है. इस फ़ील्ड के लिए, प्रीफ़ेचिंग की सुविधा उपलब्ध नहीं है.

Storage Access API के लिए, एक ही ऑरिजिन की नीति को सख्ती से लागू करना

यह कुकी, Storage Access API के सिमैंटिक को इस तरह से अडजस्ट करती है कि सुरक्षा के मामले में, Same Origin Policy का सख्ती से पालन किया जा सके. इसका मतलब है कि फ़्रेम में document.requestStorageAccess() का इस्तेमाल करने पर, कुकी डिफ़ॉल्ट रूप से सिर्फ़ iframe के ऑरिजिन (साइट नहीं) के अनुरोधों से अटैच होती हैं.

Summarizer API

यह एक JavaScript API है. इसकी मदद से, इनपुट टेक्स्ट की खास जानकारी जनरेट की जा सकती है. यह एआई लैंग्वेज मॉडल पर आधारित है. ब्राउज़र और ऑपरेटिंग सिस्टम को भाषा के मॉडल का ऐक्सेस मिलने की उम्मीद बढ़ रही है. इस बिल्ट-इन मॉडल को उपलब्ध कराने से, हर वेबसाइट को अपना मल्टी-गीगाबाइट का भाषा मॉडल डाउनलोड करने या तीसरे पक्ष के एपीआई को इनपुट टेक्स्ट भेजने की ज़रूरत नहीं पड़ती. खास तौर पर, summarizer API, भाषा मॉडल के साथ इंटरफ़ेस करने के लिए एक हाई-लेवल एपीआई उपलब्ध कराता है. इससे अलग-अलग इस्तेमाल के उदाहरणों के लिए इनपुट की खास जानकारी मिलती है. यह इस तरह से काम करता है कि यह किसी खास भाषा मॉडल पर निर्भर नहीं होता. एंटरप्राइज़ नीति (GenAILocalFoundationalModelSettings) की मदद से, मॉडल डाउनलोड करने की सुविधा को बंद किया जा सकता है. इससे यह एपीआई उपलब्ध नहीं रहेगा.

पहले से मौजूद एआई की मदद से, खास जानकारी जनरेट करना लेख में इसके बारे में ज़्यादा जानें.

Language Detector API

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

एंटरप्राइज़ नीति (GenAILocalFoundationalModelSettings) की मदद से, मॉडल को डाउनलोड करने की सुविधा बंद की जा सकती है. ऐसा करने पर, यह एपीआई उपलब्ध नहीं होगा.

पहले से मौजूद एआई की मदद से, इस्तेमाल की गई भाषा का पता लगाना लेख में इसके बारे में ज़्यादा जानें.

Translator API

यह एक JavaScript API है. इसकी मदद से, वेब पेजों का अनुवाद किया जा सकता है. ब्राउज़र, उपयोगकर्ताओं को भाषा अनुवाद की सुविधा उपलब्ध करा रहे हैं. हालांकि, वेब डेवलपर के लिए भी अनुवाद की सुविधाएँ काम की हो सकती हैं. ऐसा खास तौर पर तब होता है, जब ब्राउज़र में पहले से मौजूद अनुवाद की सुविधाएं काम नहीं करती हैं. जैसे, लाइव और इंटरैक्टिव सेवाओं के साथ. एंटरप्राइज़ नीति (GenAILocalFoundationalModelSettings) की मदद से, मॉडल डाउनलोड करने की सुविधा को बंद किया जा सकता है. ऐसा करने पर, यह एपीआई उपलब्ध नहीं होगा.

पहले से मौजूद एआई की मदद से अनुवाद करना लेख में इसके बारे में ज़्यादा जानें.

वेब ऐप्लिकेशन के स्कोप एक्सटेंशन

यह "scope_extensions" वेब ऐप्लिकेशन मेनिफ़ेस्ट फ़ील्ड जोड़ता है. इससे वेब ऐप्लिकेशन, अपने स्कोप को दूसरे ऑरिजिन तक बढ़ा सकते हैं. इससे, एक से ज़्यादा सबडोमेन और टॉप लेवल डोमेन को कंट्रोल करने वाली साइटों को एक वेब ऐप्लिकेशन के तौर पर दिखाया जा सकता है. इसके लिए, यह ज़रूरी है कि सूची में शामिल ऑरिजिन, .well-known/web-app-origin-association कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके वेब ऐप्लिकेशन से जुड़े होने की पुष्टि करें.

Android पर ब्लूटूथ के ज़रिए वेब सीरियल की सुविधा

इस सुविधा की मदद से, वेब पेज और वेब ऐप्लिकेशन, Android डिवाइसों पर ब्लूटूथ के ज़रिए सीरियल पोर्ट से कनेक्ट हो सकते हैं. Android पर Chrome अब ब्लूटूथ RFCOMM पर Web Serial API के साथ काम करता है. अन्य प्लैटफ़ॉर्म पर लागू की गई मौजूदा एंटरप्राइज़ नीतियां (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls, और SerialBlockedForUrls) Android के लिए, future_on स्टेटस में चालू की जाती हैं. सुविधा चालू होने के बाद, SerialAllowUsbDevicesForUrls को छोड़कर सभी नीतियां चालू हो जाएंगी. SerialAllowUsbDevicesForUrls को आने वाले समय में लॉन्च किया जाएगा. ऐसा तब होगा, जब Android, वायर्ड सीरियल पोर्ट के लिए सिस्टम लेवल पर सहायता उपलब्ध कराएगा.

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

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

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

मीडिया सोर्स एक्सटेंशन के लिए, एसिंक्रोनस रेंज हटाने की सुविधा बंद करना

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

  • SourceBuffer.abort() अब SourceBuffer.remove() कार्रवाइयों को बंद नहीं करता.
  • सेटिंग MediaSource.duration अब बफ़र किए गए मौजूदा मीडिया को छोटा नहीं कर सकती.

अब इन दोनों मामलों में अपवाद लागू होंगे.

SwiftShader फ़ॉलबैक हटाना

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

  1. SwiftShader से सुरक्षा को ज़्यादा खतरा होता है, क्योंकि JIT-ed कोड, Chromium की GPU प्रोसेस में चलता है.
  2. जब उपयोगकर्ता, ज़्यादा परफ़ॉर्मेंस वाले GPU की मदद से काम करने वाले WebGL से, सीपीयू की मदद से काम करने वाले WebGL पर वापस आता है, तो उसे खराब अनुभव मिलता है. उपयोगकर्ताओं के पास इस व्यवहार को कंट्रोल करने का कोई विकल्प नहीं होता. साथ ही, गड़बड़ी की रिपोर्ट में इसके बारे में बताना मुश्किल होता है.

सुविधा बंद होने की अवधि के दौरान, जब WebGL कॉन्टेक्स्ट बनाया जाता है और SwiftShader के साथ बैकअप लिया जाता है, तब Chrome DevTools कंसोल में एक चेतावनी दिखेगी. --enable-unsafe-swiftshader पास करने पर, यह चेतावनी मैसेज हट जाएगा.