Chrome 115 बीटा

सीएसएस डिसप्ले प्रॉपर्टी के लिए एक से ज़्यादा कीवर्ड, WebGPU के लिए WGSLLanguageFeatures, एचटीटीपीएस अपग्रेड वगैरह.

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

सीएसएस

इस रिलीज़ में सीएसएस की तीन नई सुविधाएं जोड़ी गई हैं.

display प्रॉपर्टी की एक से ज़्यादा वैल्यू

सीएसएस display प्रॉपर्टी, अब पहले से कंपोज़ किए गए लेगसी कीवर्ड के अलावा, वैल्यू के तौर पर कई कीवर्ड स्वीकार करती है. पहले दो कीवर्ड, डिसप्ले की बाहरी और अंदरूनी वैल्यू दिखाते हैं. इसमें list-item के लिए वैकल्पिक फ़्लैग, table-cell जैसी इंटरनल वैल्यू, और contents और none की बॉक्स वैल्यू शामिल होती हैं.

आउटर और इनर कीवर्ड की मदद से, यह तय किया जा सकता है कि आउटर बॉक्स कैसे काम करता है (ब्लॉक या इनलाइन) और इनर चिल्ड्रन कैसे काम करते हैं, उदाहरण के लिए flex, grid या flow. इसलिए, display: flex हो जाता है display: block flex और display: block हो जाता है display: block flow. सामान्य मैपिंग की सूची और ज़्यादा जानकारी के लिए, MDN देखें.

बूलियन कॉन्टेक्स्ट स्टाइल कंटेनर क्वेरी

Chrome 115, बिना शुरुआती वैल्यू से मैच करने के तरीके के तौर पर, सिर्फ़ प्रॉपर्टी के नाम के बिना, style() कंटेनर क्वेरी के साथ काम करता है. पहले आपको इसका इस्तेमाल करना पड़ता था: not style(--my-property: initial) अब किसी भी गैर-शुरुआती वैल्यू से मैच करने के लिए, style(--my-property) का इस्तेमाल किया जा सकता है.

स्क्रोल करके चलने वाले ऐनिमेशन

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

ज़्यादा जानकारी के लिए, स्क्रोल किए गए ऐनिमेशन की मदद से, स्क्रोल करने पर एलिमेंट को ऐनिमेट करें देखें.

रिग्रेशन से जुड़ी समस्या को ठीक करें, जहां सुलभता ट्री में display: contents वाले एलिमेंट अब नहीं दिखते थे

किसी रिग्रेशन की शुरुआत की गई, जिसकी वजह से display: contents वाले एलिमेंट की सिमैंटिक जानकारी खो गई. साथ ही, अब यह सुलभता ट्री में सही तरीके से नहीं दिख रहा है. Chrome 115 में इस समस्या का समाधान शामिल है.

वेब एपीआई

मुख्य थ्रेड पर WebAssembly.Module() का ज़्यादा से ज़्यादा साइज़ 8 एमबी तक बढ़ाया जा रहा है

WebAssembly.Module() कंस्ट्रक्टर एक बाइनरी WebAssembly मॉड्यूल को सिंक्रोनस रूप से कंपाइल करता है. यह मुख्य थ्रेड को ब्लॉक कर सकता है. इससे बचने के लिए, इस कंस्ट्रक्टर के साथ कंपाइल किए जा सकने वाले WebAssembly मॉड्यूल का ज़्यादा से ज़्यादा साइज़ 8 एमबी तक सीमित है. बड़े मॉड्यूल, WebAssembly.compile() की मदद से मुख्य थ्रेड पर एसिंक्रोनस तरीके से या वर्कर थ्रेड पर सिंक्रोनस तरीके से कंपाइल किए जा सकते हैं. 8 एमबी की सीमा, 4 केबी की मूल सीमा का एक्सटेंशन है. WebAssembly रनटाइम V8 में किए गए सुधारों की वजह से, इस एक्सटेंशन को इस्तेमाल किया जा सकता है. Google Pixel 1 फ़ोन की परफ़ॉर्मेंस के मेज़रमेंट के ज़रिए, 8 एमबी की सीमा तय की गई है. फ़िलहाल, इस फ़ोन को कम सुविधाओं वाला फ़ोन माना जाता है. आने वाले समय में, वर्शन 8 या हार्डवेयर में होने वाले बदलावों की वजह से, सीमा को बढ़ाया जा सकता है.

FedCM: अपने-आप फिर से पुष्टि करने के लिए, क्रेडेंशियल मैनेजमेंट मीडिएशन की ज़रूरी शर्तों के साथ काम करता है

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

एचटीटीपीएस अपग्रेड

सभी मुख्य फ़्रेम वाले नेविगेशन को एचटीटीपीएस पर अपने-आप अपग्रेड करें और एचटीटीपी पर तेज़ी से वापस जाएं.

स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई को बांटना

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

संसाधन समय: अंतरिम जवाब समय दिखाएं

ऐसे मामलों में PerformanceResourceTiming.firstInterimResponseStart का इस्तेमाल करें जहां नेविगेशन या सबरिसॉर्स फ़ेच के लिए, अंतरिम 1xx जवाब मिलता है. उदाहरण के लिए, 100 जारी रखें या 103 शुरुआती संकेतों के साथ, firstInterimResponseStart अब उस पहले अंतरिम जवाब के समय को दिखाता है, जबकि responseStart आखिरी जवाब को दिखाता है, जैसे कि 200 स्थिति.

lookupNamespaceURI() और createNSResolver() में "xml" प्रीफ़िक्स हैंडलिंग का अपडेट

Node.lookupNamespaceURI() में, डिफ़ॉल्ट रूप से "xml" और "xmlns" प्रीफ़िक्स इस्तेमाल होते हैं. फ़ंक्शन उनके लिए तय नेमस्पेस स्ट्रिंग देता है. "xml" प्रीफ़िक्स हैंडलिंग को जोड़ने के लिए, Document.createNSResolver() और XPathEvaluator.createNSResolver() तय नोड को रैप करते हैं. वे बताए गए नोड को ऐसे ही दिखाते हैं. अब वेब डेवलपर किसी एलिमेंट को createNSResolver() के साथ रैप किए बिना, उसे XPathNSResolver के तौर पर इस्तेमाल कर सकते हैं.

VisibilityStateEntry

परफ़ॉर्मेंस की टाइमलाइन में, दिखने की स्थिति (दिखने या छिपी हुई) के बारे में बताती है. टाइमलाइन में हमेशा एक एंट्री होगी, जिसमें startTime का वैल्यू 0 होगा और 'किसको दिखे' की शुरुआती स्थिति. साथ ही, दिखने की स्थिति में होने वाले किसी भी बदलाव के हिसाब से एंट्री.

WebGPU के लिए WGSLLanguageFeatures

WebGPU और इसके WGSLLanguageFeatures टाइप के लिए, जीपीयू ऑब्जेक्ट में wgslLanguageFeatures गैटर जोड़ता है.

FedCM डायलॉग के साथ इंटरैक्ट करने के लिए WebDriver निर्देश

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

ऑरिजिन ट्रायल जारी हैं

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

दाब का आकलन करें

Compute Pressure API, डिवाइस के हार्डवेयर की मौजूदा स्थिति के बारे में बहुत अच्छी जानकारी देता है. इसकी मदद से, साइटें, उपलब्ध प्रोसेसिंग पावर का फ़ायदा लेने और सिस्टम पर तनाव की वजह से उपयोगकर्ताओं के लिए सही संतुलन बना पाती हैं. कंप्यूट प्रेशर को डिज़ाइन के हिसाब से एक सामान्य शब्द कहा जाता है. फ़िलहाल, इसका हिसाब सीपीयू लोड के आधार पर लगाया जाता है, लेकिन आने वाले समय के प्लान में तापमान और बैटरी की स्थिति के सिग्नल का इस्तेमाल किया जाएगा. ज़्यादा जानकारी के लिए, कंप्यूट प्रेशर के ऑरिजिन ट्रायल के दूसरे ट्रायल का एलान करना लेख पढ़ें.

Compute Pressure ऑरिजिन ट्रायल के लिए रजिस्टर करें.

मैजिक टिप्पणियों के साथ, साफ़ तौर पर दिखने वाले संकेत एक साथ जोड़ें

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

मैजिक टिप्पणियों के ऑरिजिन ट्रायल की मदद से, साफ़ तौर पर कुछ कंपाइलेशन करने के लिए रजिस्टर करें.

लंबे ऐनिमेशन फ़्रेम एपीआई

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

लॉन्ग ऐनिमेशन फ़्रेम के ऑरिजिन ट्रायल के लिए रजिस्टर करें.

स्टोरेज बकेट एपीआई

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

सेवा बंद करना और हटाना

Chrome के इस वर्शन में, हटाए जाने वाले और हटाए जाने वाले पेजों की जानकारी दी जाएगी. इनके बारे में नीचे बताया गया है. पहले से हटाए गए, हटाए गए पेजों, और मौजूदा बंदियों की सूची के लिए, ChromeStatus.com पर जाएं.

Chrome के इस रिलीज़ में दो सुविधाएं बंद कर दी गई हैं.

document.domain सेटर का इस्तेमाल बंद करें

document.domain सेटर को बंद किया जा रहा है, क्योंकि इससे डेवलपर एक ही ऑरिजिन से जुड़ी नीति में छूट दे सकते हैं. साथ ही, यह सुरक्षा की उस बुनियादी सीमा को जटिल बना देता है जिसे हम बनाए रखना चाहते हैं. साथ ही, यह Chromium के प्रोसेस मॉडल में, पोस्ट-स्पेक्टर से जुड़े बदलावों के रास्ते में आने वाली रुकावटों को दूर करता है. दस्तावेज़.domain का इस्तेमाल करने के बजाय, Chrome, document.domain में बदलाव करने की सुविधा बंद करता है पर जाएं. इस्तेमाल के ज़्यादातर मामलों में, क्रॉस-ऑरिजिन postMessage() या चैनल मैसेजिंग एपीआई, document.domain की जगह ले सकता है. आखिरी विकल्प के तौर पर, Origin-keyed agent clusters के ज़रिए, Docs-domain के लिए ऑप्ट-इन किया जा सकता है. सेटर बना रहेगा, लेकिन ऑरिजिन में कोई बदलाव नहीं होगा.

म्यूटेशन इवेंट को रोकें

साल 2011 में, DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument जैसे म्यूटेशन इवेंट को स्पेसिफ़िकेशन से हटा दिया गया था. इन्हें 2012 में म्यूटेशन ऑब्ज़र्वर एपीआई से बदल दिया गया था. पुराने म्यूटेशन इवेंट का इस्तेमाल, Chrome 127 (20 जुलाई, 2024) से हटाए जाने से पहले, म्यूटेशन ऑब्ज़र्वर में माइग्रेट करना ज़रूरी है.

म्यूटेशन इवेंट की सुविधा बंद करने के बारे में ज़्यादा जानें.