एक्सटेंशन, थीम, और ऐप्लिकेशन सिर्फ़ संसाधनों का बंडल होते हैं. इन्हें
manifest.json फ़ाइल, जो पैकेज के कॉन्टेंट के बारे में जानकारी देती है. इस फ़ाइल का फ़ॉर्मैट यह है
आम तौर पर स्थिर होते हैं, लेकिन अहम समस्याओं को ठीक करने के लिए, समय-समय पर नुकसान पहुंचाने वाले बदलाव करने ज़रूरी हैं.
डेवलपर को यह बताना चाहिए कि मेनिफ़ेस्ट का कौनसा वर्शन, उनके पैकेज को टारगेट करता है
अपने मेनिफ़ेस्ट में manifest_version कुंजी सेट करने का विकल्प मिलेगा.
वर्तमान वर्शन
डेवलपर को फ़िलहाल 'manifest_version': 2 की जानकारी देनी चाहिए:
{
...,
"manifest_version": 2,
...
}
Chrome 18 में मेनिफ़ेस्ट वर्शन 1 को बंद कर दिया गया है. साथ ही, नई रिलीज़ के हिसाब से, यह सुविधा धीरे-धीरे बंद कर दी जाएगी शेड्यूल नहीं किया जा सकता.
मेनिफ़ेस्ट वर्शन 1 के लिए सहायता शेड्यूल
अगस्त 2012
- 'वेब स्टोर', नए मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन बनाने पर रोक लगा देगा.
- 'वेब स्टोर', मौजूदा मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन को अपडेट करने की अनुमति देगा.
मार्च 2013
- वेब स्टोर 4 मार्च, 2013 से मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन के अपडेट ब्लॉक कर देगा.
अप्रैल 2013
- Chrome 27 बीटा, पैकेजिंग मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन को बंद कर देगा (या उन्हें डेवलपमेंट).
जून 2013
- वेब स्टोर मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन को वॉल, खोज के नतीजों, और श्रेणी वाले पेज.
- उन सभी डेवलपर को सूचना वाले ईमेल भेजे जाएंगे जिनके पास मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन अब भी स्टोर में मौजूद है उन्हें याद दिलाना कि ये एक्सटेंशन अनपब्लिश किए जाएंगे और इन्हें अपडेट करने के निर्देश दिए जाएंगे.
सितंबर 2013
- वेब स्टोर सभी मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन का प्रकाशन बंद कर देगा.
- उन डेवलपर को आखिरी सूचना वाले ईमेल भेजे जाएंगे जिनके मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन अब भी वेब पर मौजूद हैं स्टोर.
- Chrome, इंस्टॉल किए गए मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन को लोड करना और चलाना जारी रखेगा.
जनवरी 2014
- Chrome, मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन लोड करना या चलाना बंद कर देगा.
वर्शन 1 और 2 में हुए बदलाव
- कॉन्टेंट की सुरक्षा के बारे में नीति, डिफ़ॉल्ट रूप से
`script-src 'self'; object-src 'self';पर सेट होती है. यह डेवलपर पर कई तरह से असर पड़ता है. इस बारे मेंcontent_security_policyमें पूरी जानकारी दी गई है दस्तावेज़. - किसी पैकेज के संसाधन अब डिफ़ॉल्ट रूप से बाहरी वेबसाइटों के लिए उपलब्ध नहीं होते हैं (क्योंकि
srcइमेज याscriptटैग). अगर आपको कोई वेबसाइट अपने पैकेज उपलब्ध नहीं है, तो आपकोweb_accessible_resourcesमेनिफ़ेस्ट के ज़रिए इसे साफ़ तौर पर अनुमति वाली सूची में जोड़ना होगा एट्रिब्यूट की वैल्यू सबमिट करें. यह सुविधा खास तौर पर, उन एक्सटेंशन के लिए काम की है जो किसी वेबसाइट पर इंटरफ़ेस तैयार करते हैं इंजेक्ट की गई कॉन्टेंट स्क्रिप्ट के ज़रिए पेश करते हैं. background_pageप्रॉपर्टी को ऐसीbackgroundप्रॉपर्टी से बदल दिया गया है जिसमें यह शामिल है या तोscriptsयाpageप्रॉपर्टी. इवेंट पेज पर इससे जुड़ी जानकारी उपलब्ध है दस्तावेज़.ब्राउज़र की कार्रवाई में हुए बदलाव:
- मेनिफ़ेस्ट में
browser_actionsकुंजी औरchrome.browserActionsएपीआई अब मौजूद नहीं हैं. इसका इस्तेमाल करें इसके बजाय, एक ही शब्दbrowser_actionऔरchrome.browserActionका इस्तेमाल करें. browser_actionकीiconsप्रॉपर्टी हटा दी गई है.default_iconप्रॉपर्टी का इस्तेमाल करें या इसके बजाय browserAction.setIcon पर जाएं.browser_actionकीnameप्रॉपर्टी हटा दी गई है.default_titleप्रॉपर्टी का इस्तेमाल करें या इसके बजाय browserAction.setTitle.browser_actionकीpopupप्रॉपर्टी हटा दी गई है.default_popupका इस्तेमाल करें प्रॉपर्टी या browserAction.setPopup का इस्तेमाल करते हैं.browser_actionकीdefault_popupप्रॉपर्टी को अब ऑब्जेक्ट के तौर पर नहीं बताया जा सकता. यह स्ट्रिंग होनी चाहिए.
- मेनिफ़ेस्ट में
पेज कार्रवाई में हुए बदलाव:
- मेनिफ़ेस्ट में
page_actionsकुंजी औरchrome.pageActionsएपीआई अब मौजूद नहीं हैं. इसका इस्तेमाल करें इसके बजाय, एक ही शब्दpage_actionऔरchrome.pageActionका इस्तेमाल करें. page_actionकीiconsप्रॉपर्टी हटा दी गई है.default_iconप्रॉपर्टी का इस्तेमाल करें या इसके बजाय, pageAction.setIcon पर जाएं.page_actionकीnameप्रॉपर्टी हटा दी गई है.default_titleप्रॉपर्टी का इस्तेमाल करें या इसके बजाय, pageAction.setTitle का इस्तेमाल करें.page_actionकीpopupप्रॉपर्टी हटा दी गई है.default_popupप्रॉपर्टी का इस्तेमाल करें या pageAction.setPopup का इस्तेमाल करें.page_actionकीdefault_popupप्रॉपर्टी को अब ऑब्जेक्ट के तौर पर नहीं बताया जा सकता. इस पर ज़रूर ध्यान देना चाहिए स्ट्रिंग डालें.
- मेनिफ़ेस्ट में
chrome.selfएपीआई को हटा दिया गया है. इसके बजाय,chrome.extensionका इस्तेमाल करें.chrome.extension.getTabContentses(!!!) औरchrome.extension.getExtensionTabsअब मौजूद नहीं हैं. इस्तेमाल की जाने वाली चीज़ें इसके बजाय, extension.getViews में बदल सकते हैं.Port.tabअब मौजूद नहीं है. इसके बजाय, runtime.Port का इस्तेमाल करें.