सीएसएस डिसप्ले प्रॉपर्टी के लिए एक से ज़्यादा कीवर्ड, 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
, वेब ऐनिमेशन के स्पेसिफ़िकेशन के एक्सटेंशन हैं. इनकी मदद से डेवलपर, इनपुट 'समय' के तौर पर स्क्रोलर में स्क्रोलर की पोज़िशन या किसी एलिमेंट की पोज़िशन का इस्तेमाल कर सकते हैं के बजाय अलग-अलग समय देखें. इससे उपयोगकर्ता स्क्रिप्ट को एक्ज़ीक्यूट करने की ज़रूरत के बिना, स्क्रीन पर तेज़ी से स्क्रोल करने वाले एनिमेशन चालू हो जाते हैं. जैसे, छोटा करने वाला नेविगेशन बार. उन्हें CSS ऐनिमेशन और वेब ऐनिमेशन में इस्तेमाल किए गए CSS और JavaScript, दोनों की मदद से एलान और इंस्टैंशिएट किया जा सकता है.
ज़्यादा जानकारी के लिए, स्क्रोल करके दिखाए जाने वाले ऐनिमेशन की मदद से, स्क्रोल करने पर एलिमेंट ऐनिमेट करें लेख पढ़ें.
उस रिग्रेशन के लिए ठीक करें जहां सुलभता ट्री में अब display: contents
वाले एलिमेंट नहीं दिख रहे थे
एक रिग्रेशन की शुरुआत की गई, जिसकी वजह से display: contents
वाले एलिमेंट में सिमैंटिक जानकारी खो गई और अब सुलभता ट्री में वह सही तरीके से नहीं दिख रहा. Chrome 115 में इस समस्या का समाधान शामिल है.
वेब एपीआई
मुख्य थ्रेड पर, WebAssembly.Module()
का साइज़ ज़्यादा से ज़्यादा 8 एमबी तक बढ़ाया जा रहा है
WebAssembly.Module() कंस्ट्रक्टर, एक बाइनरी WebAssembly मॉड्यूल को सिंक्रोनस रूप से कंपाइल करता है. इससे मुख्य थ्रेड को ब्लॉक किया जा सकता है. इससे बचने के लिए, इस कंस्ट्रक्टर के साथ कंपाइल किए जा सकने वाले WebAssembly मॉड्यूल का साइज़ ज़्यादा से ज़्यादा आठ एमबी हो सकता है. बड़े मॉड्यूल को WebAssembly.compile()
की मदद से, मुख्य थ्रेड पर एसिंक्रोनस तरीके से या वर्कर थ्रेड पर सिंक्रोनस तरीके से कंपाइल किया जा सकता है. 8 एमबी की सीमा, 4 केबी की मूल सीमा का ही एक्सटेंशन है. WebAssembly के रनटाइम V8 में हुए सुधारों की वजह से, यह एक्सटेंशन संभव है. 8 एमबी की सीमा तय करने के लिए, Google Pixel 1 फ़ोन की परफ़ॉर्मेंस का आकलन किया जाता है. इस फ़ोन को फ़िलहाल, कम सुविधाओं वाला एक बेहतरीन फ़ोन माना जाता है. आने वाले समय में V8 या हार्डवेयर के क्षेत्र में बदलाव होने पर, इस सीमा को बढ़ाया जा सकता है.
FedCM: अपने-आप दोबारा पुष्टि करने के लिए, क्रेडेंशियल मैनेजमेंट मीडिएशन की ज़रूरी शर्तें पूरी करता है
जिन उपयोगकर्ताओं ने FedCM API का इस्तेमाल करके, वेबसाइटों पर फ़ेडरेटेड खाते बनाए हैं उन्हें फिर से पुष्टि करने वाला बेहतर उपयोगकर्ता अनुभव देने के लिए, क्रेडेंशियल मैनेजमेंट मीडिएशन की ज़रूरी शर्तों को पूरा करता है.
एचटीटीपीएस अपग्रेड
एचटीटीपी पर तेज़ी से फ़ॉलबैक के साथ, सभी मेन-फ़्रेम नेविगेशन को एचटीटीपीएस पर अपने-आप और बेहतर तरीके से अपग्रेड करें.
स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई का बंटवारा करना
कुछ खास तरह के साइड-चैनल क्रॉस-साइट ट्रैकिंग को रोकने के लिए, Chrome, तीसरे पक्ष के कॉन्टेक्स्ट में स्टोरेज और कम्यूनिकेशन एपीआई को बांट रहा है. इसमें कोटा से मैनेज किया जाने वाला स्टोरेज, सर्विस वर्कर, और कम्यूनिकेशन एपीआई (जैसे BroadcastChannel) शामिल हैं. ज़्यादा जानकारी के लिए, स्टोरेज के बंटवारे का दस्तावेज़ देखें.
संसाधन समय: जवाब देने में लगने वाले अंतर का समय दिखाएं
अगर नेविगेशन या सबरिसॉर्स फ़ेच करने पर, अचानक से 1xx रिस्पॉन्स मिलते हैं, तो PerformanceResourceTiming.firstInterimResponseStart
का इस्तेमाल करें. उदाहरण के लिए, 100 जारी या 103 शुरुआती हिंट के साथ, firstInterimResponseStart
अब उस पहले अंतरिम जवाब के समय के लिए है, जबकि responseStart
आखिरी जवाब के लिए है, जैसे कि 200 स्थिति.
"xml" का अपडेट lookupNamespaceURI()
और createNSResolver()
में प्रीफ़िक्स हैंडलिंग
Node.lookupNamespaceURI()
, "xml" के साथ काम करता है और "xmlns" डिफ़ॉल्ट रूप से प्रीफ़िक्स हैं. फ़ंक्शन, उनके लिए तय की गई नेमस्पेस स्ट्रिंग दिखाता है. "xml" जोड़ने के लिए, Document.createNSResolver()
और XPathEvaluator.createNSResolver()
बताए गए नोड को रैप करने के लिए रुक जाते हैं प्रीफ़िक्स हैंडलिंग. वे बताए गए नोड को उसी रूप में दिखाते हैं. वेब डेवलपर किसी एलिमेंट को createNSResolver()
के साथ रैप किए बिना, अब XPathNSResolver
के तौर पर उसका इस्तेमाल कर सकते हैं.
VisibilityStateEntry
इससे परफ़ॉर्मेंस टाइमलाइन में, दिखने की स्थिति (दिख रहा हो या छिपी हुई) का पता चलता है. टाइमलाइन में हमेशा 0 की startTime
वाली एंट्री और 'प्रॉडक्ट किसको दिखे' की शुरुआती स्थिति होगी. साथ ही, इसमें दिखने वाली किसी भी स्थिति में बदलाव से जुड़ी एंट्री भी होंगी.
WebGPU के लिए WGSLLanguageFeatures
WebGPU के लिए जीपीयू ऑब्जेक्ट पर wgslLanguageFeatures
गैटर और इससे जुड़ा WGSLLanguageFeatures
टाइप जोड़ता है.
FedCM डायलॉग के साथ इंटरैक्ट करने के लिए WebDriver निर्देश
इससे FedCM डायलॉग के साथ इंटरैक्ट करने के लिए, ब्राउज़र ऑटोमेशन को चालू करने के लिए, WebDriver के कई निर्देश दिखते हैं. जैसे, अपने-आप होने वाली जांच.
ऑरिजिन ट्रायल चल रहा है
Chrome 115 में, ऑरिजिन ट्रायल के लिए इन नए तरीकों के लिए ऑप्ट इन किया जा सकता है.
कंप्यूट प्रेशर
Compute प्रेशर API, डिवाइस के हार्डवेयर की मौजूदा स्थिति के बारे में ज़्यादा जानकारी देता है. इससे साइटें, उपयोगकर्ताओं के लिए सही बैलेंस हासिल कर पाती हैं. इसके लिए, उपलब्ध प्रोसेसिंग पावर का इस्तेमाल करना और सिस्टम को मैनेज करना मुश्किल होता है. कंप्यूट प्रेशर, एक आम शब्द है. इसे डिज़ाइन के हिसाब से इस्तेमाल किया जाता है. फ़िलहाल, इसका हिसाब सीपीयू लोड के आधार पर लगाया जाता है. हालांकि, आने वाले प्लान में तापमान और बैटरी की स्थिति के सिग्नल का इस्तेमाल करना शामिल है. जैसे, ज़्यादा जानकारी के लिए, कंप्यूट प्रेशर ऑरिजिन ट्रायल के दूसरे ट्रायल का एलान करें.
कंप्यूट प्रेशर ऑरिजिन ट्रायल के लिए रजिस्टर करें.
जादुई टिप्पणियों के साथ, साफ़ तौर पर दिए गए संकेत को कंपाइल करना
इस बारे में जानकारी अटैच करने की अनुमति दें कि किन फ़ंक्शन को बाद में पार्स किया जाना चाहिए और JavaScript फ़ाइलों में इकट्ठा करना है. जानकारी को जादुई टिप्पणियों के तौर पर एन्कोड किया जाएगा. हम एक्सपेरिमेंट के तौर पर, टिप्पणी के अलग-अलग तरह के फ़ॉर्मैट पर काम करेंगे. उदाहरण के लिए, ईगर कंपाइलेशन के लिए किसी फ़ाइल में सभी फ़ंक्शन को मार्क करना या फ़ंक्शन के सिर्फ़ एक सबसेट को मार्क करना.
मैजिक टिप्पणियों के ऑरिजिन ट्रायल की मदद से, कंपाइल हिंट के लिए रजिस्टर करें.
लंबा एनिमेशन फ़्रेम API
यह Long Tasks API का एक्सटेंशन है. यह अपने आने वाले रेंडरिंग अपडेट के साथ काम को मापता है, जिसमें लंबे समय तक चलने वाली स्क्रिप्ट, रेंडरिंग समय, और फ़ोर्स किए गए लेआउट और स्टाइल में बिताया गया समय जैसी जानकारी शामिल होती है, जिसे लेआउट थ्रैशिंग के नाम से जाना जाता है. डेवलपर इसका इस्तेमाल "धीमी रफ़्तार" की गड़बड़ी की जानकारी के लिए कर सकते हैं. इसे इंटरैक्शन टू नेक्स्ट पेंट (आईएनपी) की मदद से मेज़र किया जाता है. इसके लिए, मुख्य थ्रेड के कंजेशन होने की वजहों का पता लगाया जाता है. अक्सर इस वजह से आईएनपी खराब होता है.
लंबी ऐनिमेशन फ़्रेम के ऑरिजिन ट्रायल के लिए रजिस्टर करें.
स्टोरेज बकेट एपीआई
स्टोरेज बकेट की मदद से, साइटें अपने डेटा को व्यवस्थित करने के लिए कई स्टोरेज बकेट बना सकती हैं. इससे उपयोगकर्ता एजेंट हर बकेट को अलग से मिटा सकते हैं. हर स्टोरेज बकेट, IndexedDB और कैश स्टोरेज जैसे पहले से मौजूद स्टोरेज एपीआई से जुड़ा डेटा स्टोर कर सकती है. स्टोरेज बकेट एपीआई के ऑरिजिन ट्रायल के लिए रजिस्टर करें.
बंद करना और हटाना
Chrome के इस वर्शन में, सुविधाओं को बंद करने और हटाने के बारे में नीचे बताया गया है. पहले से तय, बंद हो चुके, और पहले से हटाए गए तरीकों की सूची के लिए ChromeStatus.com पर जाएं.
Chrome के इस वर्शन में दो सुविधाएं बंद कर दी गई हैं.
document.domain
सेटर का बहिष्कार करें
document.domain
सेटर को बंद किया जा रहा है, क्योंकि यह डेवलपर को एक ही ऑरिजिन से जुड़ी नीति में बदलाव करने की अनुमति देता है. यह सुरक्षा की उस बुनियादी सीमा को जटिल बनाता है जिसे हम बनाए रखने वाले हैं. साथ ही, यह Chromium के प्रोसेस मॉडल में स्पेक्ट्र के बदलाव होने के बाद की प्रोसेस में रुकावट पैदा करता है.
Chrome, document.domain को बदलने की सुविधा बंद कर देता है, ताकि आपको document.domain के इस्तेमाल के दूसरे विकल्पों के बारे में जानकारी मिल सके. इस्तेमाल के ज़्यादातर मामलों में, document.domain की जगह क्रॉस-ऑरिजिन postMessage()
या Channel Messaging API का इस्तेमाल किया जा सकता है. आखिरी विकल्प के तौर पर, Origin-keyed agent clusters की मदद से दस्तावेज़-डोमेन के लिए ऑप्ट इन किया जा सकता है. सेटर बना रहेगा, लेकिन मूल स्थान में कोई बदलाव नहीं होगा.
म्यूटेशन इवेंट बंद करें
साल 2011 में, DOMSubtreeModified
, DOMNodeInserted
, DOMNodeRemoved
, DOMNodeRemovedFromDocument
, और DOMNodeInsertedIntoDocument
जैसे म्यूटेशन इवेंट को खास जानकारी से हटा दिया गया था. साथ ही, साल 2012 में इसे म्यूटेशन ऑब्ज़र्वर एपीआई से बदल दिया गया था. Chrome 127 (20 जुलाई, 2024) से हटाए जाने से पहले, पुराने म्यूटेशन इवेंट के इस्तेमाल को म्यूटेशन ऑब्ज़र्वर पर माइग्रेट करना ज़रूरी है.
म्यूटेशन इवेंट की सुविधा बंद होने के बारे में ज़्यादा जानें.