Chrome এক্সটেনশন, এক্সটেনশন ডকুমেন্টেশন, বা সম্পর্কিত নীতি বা অন্যান্য পরিবর্তন সম্পর্কে জানতে প্রায়ই এই পৃষ্ঠাটি দেখুন। আপনি এক্সটেনশন Google গ্রুপে পোস্ট করা অন্যান্য বিজ্ঞপ্তি পাবেন। Chrome সময়সূচী স্থিতিশীল এবং বিটা প্রকাশের তারিখগুলি তালিকাভুক্ত করে৷
Chrome 132: Tabs API-এ নতুন হিমায়িত সম্পত্তি
ক্রোম 132 থেকে শুরু করে, ট্যাবস এপিআই-এর frozen
সম্পত্তি নির্দেশ করে যে ব্রাউজার দ্বারা একটি ট্যাব হিমায়িত হয়েছে কিনা। হিমায়িত ট্যাবে পাঠানো বার্তাগুলি সারিবদ্ধ করা হবে এবং ট্যাবটি আনফ্রোজ করা হলে পরিচালনা করা হবে৷
ক্রোম এক্সটেনশনে প্রম্পট API
এক্সটেনশনের জন্য প্রম্পট API এখন একটি অরিজিন ট্রায়ালে উপলব্ধ, যাতে আপনি ব্রাউজারে আমাদের সবচেয়ে দক্ষ ভাষার মডেল জেমিনি ন্যানো ব্যবহার করে এমন Chrome এক্সটেনশনগুলি তৈরি করতে পারেন৷
প্রম্পট API অরিজিন ট্রায়ালে যোগ দিন, Chrome 131 থেকে 136 পর্যন্ত চলমান, এবং আপনার প্রতিক্রিয়া শেয়ার করুন। আপনার ইনপুট সরাসরি প্রভাবিত করতে পারে কিভাবে আমরা এই API এর ভবিষ্যত সংস্করণগুলি তৈরি এবং প্রয়োগ করি এবং সমস্ত অন্তর্নির্মিত AI API গুলি।
ব্লগ পোস্ট: Chrome এক্সটেনশনে কি ঘটছে, অক্টোবর 2024
Chrome এক্সটেনশনে যা ঘটছে তার আরেকটি রাউন্ড আপ করার সময় এসেছে: আমাদের কাছে AI ইন্টিগ্রেশন, নতুন API, ইভেন্ট এবং ভিডিওগুলির উপর উত্তেজনাপূর্ণ আপডেট রয়েছে৷ ক্রোম এক্সটেনশনের অক্টোবর সংস্করণে কী ঘটছে তা সম্পর্কে সব পড়ুন!
অন্তর্নির্মিত AI চ্যালেঞ্জে যোগ দিন
Chrome বিল্ট-ইন AI চ্যালেঞ্জ চালু করেছে: আপনাকে Chrome-এর সমন্বিত AI মডেল এবং API ব্যবহার করে উদ্ভাবনী ওয়েব অ্যাপ্লিকেশন এবং ক্রোম এক্সটেনশন তৈরি করার জন্য আমন্ত্রণ জানানো হয়েছে এবং পুরষ্কার জেতার সুযোগ রয়েছে যার মোট $65,000 USD।
সাইন আপ করুন এবং বিল্ট-ইন এআই চ্যালেঞ্জ ওয়েবসাইটে আরও তথ্য পান। আপনি যখন AI দিয়ে ওয়েবকে ইনফিউজ করেন তখন আপনি কী তৈরি করেন তা দেখার জন্য আমরা অপেক্ষা করতে পারি না!
Chrome 130: action.onUserSettingsChanged
Chrome 130 থেকে শুরু করে, action.onUserSettingsChanged ইভেন্ট উপলব্ধ। এটি WebExtensions কমিউনিটি গ্রুপের একটি প্রস্তাব অনুসরণ করে। ক্রোমিয়ামে অবদানের জন্য মাইক্রোসফ্টকে ধন্যবাদ।
Chrome 130: StorageArea.getKeys()
Chrome 130 থেকে শুরু করে, getKeys() পদ্ধতিটি chrome.storage
API দ্বারা ব্যবহৃত StorageArea ইন্টারফেসে উপলব্ধ। এটি WebExtensions কমিউনিটি গ্রুপের একটি প্রস্তাব অনুসরণ করে।
ক্রোম 128: ঘোষণামূলক নেট অনুরোধে প্রতিক্রিয়া শিরোনাম মিলছে
ক্রোম 128 থেকে শুরু করে, আমরা ঘোষণামূলক নেট অনুরোধ API-এ প্রতিক্রিয়া শিরোনাম মিলের জন্য সমর্থন যোগ করছি। এটি একটি সাধারণ অনুরোধ ছিল, বিশেষ করে বিষয়বস্তু-প্রকার শিরোনামের সাথে মেলানোর জন্য, এবং আমরা WebExtensions কমিউনিটি গ্রুপের সাথে একসাথে একটি উপযুক্ত API ডিজাইন করেছি ।
আমরা নতুন responseHeaders
এবং excludedResponseHeaders
ক্ষেত্রগুলিকে অন্তর্ভুক্ত করতে আমাদের API রেফারেন্স আপডেট করেছি। আপনি একটি প্রদত্ত হেডারের অস্তিত্ব এবং মান পরীক্ষা করতে এগুলি ব্যবহার করতে পারেন।
এই আপডেটের অংশ হিসাবে, আমরা আমাদের ডকুমেন্টেশনে একটি নতুন নিয়ম মূল্যায়ন বিভাগ যোগ করেছি যা ব্যাখ্যা করে যে নিয়মগুলি কীভাবে মেলে। বিশেষ করে হেডার মিলের জন্য, রেসপন্স হেডার প্রাপ্ত হলেই নিয়ম চলতে পারে, তাই অন্যান্য নিয়মের তুলনায় পরবর্তী পর্যায়ে প্রয়োগ করা হয়। এর মানে অবরুদ্ধ বা পুনঃনির্দেশিত হওয়ার আগে অনুরোধটি সার্ভারে পৌঁছায়।
ভিডিও: বিষয়বস্তু স্ক্রিপ্ট কি?
একটি নির্দিষ্ট পৃষ্ঠায় চালানোর জন্য কীভাবে CSS এবং JavaScript নিবন্ধন করতে হয় তা সহ Chrome এক্সটেনশনগুলিতে সামগ্রীর স্ক্রিপ্ট সম্পর্কে জানুন৷ সম্পূর্ণ ভিডিওটি দেখুন ।
গুরুত্বপূর্ণ নীতি আপডেট
Chrome ওয়েব স্টোর টিম ডেভেলপার প্রোগ্রাম নীতি পৃষ্ঠায় আপডেটের একটি সিরিজ প্রকাশ করেছে যা উচ্চ মানের পণ্যের বিকাশকে উৎসাহিত করতে, প্রতারণামূলক আচরণ প্রতিরোধ করতে এবং ব্যবহারকারীর অবহিত সম্মতি নিশ্চিত করতে ডিজাইন করা হয়েছে। রেবেকা সোয়ারেস, ক্রোম ওয়েব স্টোর নীতি পরিচালক, ক্রোম এক্সটেনশনে সমস্ত আপডেটের সংক্ষিপ্তসার করেছেন: গুরুত্বপূর্ণ নীতি আপডেট ব্লগ পোস্ট ।
ব্লগ পোস্ট: Chrome এক্সটেনশনে কি ঘটছে, জুলাই 2024
গত তিন মাসে আমরা ম্যানিফেস্ট V2 ফেজ আউট শুরু সহ বেশ কিছু উল্লেখযোগ্য আপডেট এবং নতুন বৈশিষ্ট্য নিয়ে এসেছি। ক্রোম এক্সটেনশনের জুলাই সংস্করণে যা ঘটছে তাতে গতি বাড়ান!
ভিডিও: রিমোট হোস্টেড কোড কি?
ক্রোম এক্সটেনশন টিমের প্যাট্রিক ক্রোম এক্সটেনশনগুলিতে রিমোটলি হোস্টেড কোড (RHC) এর ধারণা ব্যাখ্যা করেছেন৷ কেন আরএইচসিকে আর অনুমতি দেওয়া হয় না, কীভাবে এটি সনাক্ত করা যায় এবং আপনার এক্সটেনশন আপডেট করার প্রয়োজন হলে কী করবেন তা জানুন। সম্পূর্ণ ভিডিওটি দেখুন ।
Chrome 127: নতুন action.openPopup API
Chrome 127 থেকে শুরু করে, action.openPopup
API সমস্ত এক্সটেনশনের জন্য উপলব্ধ। পূর্বে, এটি শুধুমাত্র ক্যানারিতে বা নীতি দ্বারা ইনস্টল করা এক্সটেনশনগুলিতে উপলব্ধ ছিল।
ভিডিও: ট্রাস্ট এবং সেফটি টিম ইন্টারভিউ
Chrome এক্সটেনশন DevRel টিম ট্রাস্ট এবং সেফটি টিমের সাথে বসেছে যেটি আপনার প্রশ্ন জিজ্ঞাসা করতে Chrome ওয়েব স্টোরে পর্যালোচনার নেতৃত্ব দেয়৷ সম্পূর্ণ ভিডিওটি দেখুন ।
ব্লগ পোস্ট: ম্যানিফেস্ট V2 ফেজ-আউট শুরু হয়
ক্রোম বিটা, ডেভ এবং ক্যানারি চ্যানেলে 3 জুন থেকে শুরু করে, ব্যবহারকারীদের যদি এখনও ম্যানিফেস্ট V2 এক্সটেনশানগুলি ইনস্টল করা থাকে, কেউ কেউ তাদের এক্সটেনশন পরিচালনা পৃষ্ঠা - chrome://extensions - পরিদর্শন করার সময় একটি সতর্কতা ব্যানার দেখতে শুরু করবে - তাদের জানানো হবে যে কিছু (Manifest) V2) তাদের ইনস্টল করা এক্সটেনশনগুলি শীঘ্রই আর সমর্থিত হবে না। অফিসিয়াল ঘোষণায় আরও পড়ুন
সাইড প্যানেল UI-তে আপডেট
আমরা সম্প্রতি সাইড প্যানেল UI-তে কিছু পরিবর্তন করেছি, যার মধ্যে একটি পিন আইকন যোগ করা এবং গ্লোবাল সাইড প্যানেল আইকন সরানো রয়েছে৷ PSA-তে আরও পড়ুন এবং আমাদের আপডেট হওয়া ডকুমেন্টেশন এবং নমুনাগুলি দেখুন।
ব্লগ পোস্ট: Google I/O 2024-এ Chrome এক্সটেনশন
আরেকটি Google I/O আমাদের পিছনে রয়েছে এবং আমরা সমস্ত উত্তেজনাপূর্ণ এক্সটেনশন আপডেটগুলি কভার করেছি! সম্পূর্ণ ভিডিওটি দেখার জন্য YouTube-এ যান এবং কিছু হাইলাইটের জন্য আমাদের ব্লগ পোস্ট পড়ুন।
যোগ্য ঘোষণামূলক নেট অনুরোধ পরিবর্তনের জন্য পর্যালোচনা এড়িয়ে যান
ঘোষণামূলক নেট অনুরোধ API ব্যবহার করার সময় Chrome ওয়েব স্টোর এখন আপনাকে যোগ্য পরিবর্তনের জন্য পর্যালোচনা এড়িয়ে যেতে দেয়। যোগ্যতা সম্পর্কে আরও জানুন এবং কীভাবে Chrome ওয়েব স্টোর ডকুমেন্টেশনে অপ্ট-ইন করবেন।
Chrome ওয়েব স্টোর API-এ deployPercentage উপলব্ধ
আমরা সম্প্রতি deployPercentage
সম্পর্কে তথ্য অন্তর্ভুক্ত করতে আমাদের Chrome ওয়েব স্টোর API ডকুমেন্টেশন আপডেট করেছি, যা আপনাকে একটি আংশিক রোলআউট স্থাপনার শতাংশ নির্ধারণ করতে দেয়৷ deployPercentage
সম্পর্কে জানুন ।
ক্রোম 126: এক্সটেনশনে অরিজিন ট্রায়াল
Chrome 126 একটি নতুন manifest.json ক্ষেত্র প্রবর্তন করেছে - trial_tokens
, যা আপনাকে সমস্ত এক্সটেনশন সারফেস জুড়ে Origin Trials এবং Deprecation Trials বেছে নেওয়ার অনুমতি দেয়৷ আরও তথ্যের জন্য গাইড পড়ুন.
ব্লগ পোস্ট: Chrome এক্সটেনশন-এ এপ্রিল 2024-এ কী ঘটছে
আমরা Chrome এক্সটেনশনে কী ঘটছে তার একটি নতুন সংস্করণ প্রকাশ করেছি৷ পোস্টটিতে আলোচনা করা হয়েছে যে এক্সটেনশন টিম গত কয়েক মাস ধরে কী কাজ করছে। এর মধ্যে রয়েছে: Chrome ওয়েব স্টোরে সংস্করণ রোলব্যাক, আরও ভাল ফায়ারবেস প্রমাণীকরণ সমর্থন এবং আরও API লঞ্চ এবং আপডেট৷
Chrome ওয়েব স্টোর ডেভেলপার ড্যাশবোর্ডে সংস্করণ রোলব্যাক
আপনার এক্সটেনশনটিকে Chrome ওয়েব স্টোরে পূর্ববর্তী প্রকাশিত সংস্করণে ফিরিয়ে আনুন—অতিরিক্ত পর্যালোচনা ছাড়াই! আরো তথ্যের জন্য ব্লগ পোস্ট এবং ডকুমেন্টেশন পড়ুন.
Chrome 124: উন্নত ডকুমেন্ট স্ক্যান API
সংযুক্ত নথি স্ক্যানারগুলি থেকে ছবিগুলি আবিষ্কার এবং পুনরুদ্ধার করতে ChromeOS-এ একটি উন্নত documentScan
API এখন উপলব্ধ৷
Chrome 124: পরিষেবা কর্মীদের মধ্যে WebGPU সমর্থন
Chrome 124 থেকে, পরিষেবা কর্মীরা WebGPU সমর্থন করে৷ দ্রুত শুরু করার জন্য, WebGPU এক্সটেনশন নমুনা চেকআউট করুন।
Chrome 123: ইভেন্ট API CIDR ব্লক দ্বারা ফিল্টারিং সমর্থন করে
ইভেন্ট API এখন ক্লাসলেস ইন্টার-ডোমেন রাউটিং (CIDR) ব্লক দ্বারা ফিল্টারিং সমর্থন করে। একটি CIDR ব্লক হল IP ঠিকানাগুলির একটি সংগ্রহ যা একটি নেটওয়ার্ক উপসর্গ এবং একই সংখ্যক বিট ভাগ করে। পূর্বে, ব্লক পরিসরের প্রতিটি ঠিকানার জন্য একটি ফিল্টার নিয়ম কনফিগার করার জন্য একাধিক IP ঠিকানাগুলিকে ফিল্টার করার প্রয়োজন একজন বিকাশকারীকে। এখন যখন একটি এক্সটেনশন addListener()
কল করে, একটি পাস করা নিয়ম মানে ইভেন্ট হ্যান্ডলারকে শুধুমাত্র তখনই কল করা হবে যখন একটি URL এর হোস্ট অংশটি একটি IP ঠিকানা হয় এবং এটি একটি অ্যারেতে নির্দিষ্ট করা CIDR ব্লকগুলির মধ্যে থাকে৷
ক্রোম ওয়েব স্টোর: এক্সটেনশন নামের দৈর্ঘ্যের প্রয়োজনীয়তার আপডেট
Chrome ওয়েব স্টোরে, manifest.json-এ একটি এক্সটেনশনের "name"
ক্ষেত্রের জন্য এখন 75টি অক্ষরের সর্বজনীন সীমা রয়েছে৷ পূর্বে, ইংরেজির জন্য সীমা ছিল 45 অক্ষর, এবং অন্যান্য লোকেলে "name"
ক্ষেত্রে কোন সীমাবদ্ধতা ছিল না।
এটি মূলত সাংস্কৃতিক এবং ভাষার পার্থক্যের অনুমতি দেওয়ার উদ্দেশ্যে করা হয়েছিল যা একই সংখ্যক অক্ষরে ক্যাপচার করা সম্ভব নয়। দুর্ভাগ্যবশত, স্টোরটি স্প্যাম করার জন্য অল্প সংখ্যক ডেভেলপাররা এই বৈশিষ্ট্যটির অপব্যবহার করেছে। ফলস্বরূপ আমরা একটি নতুন সর্বজনীন সীমা প্রবর্তন করছি, 75 অক্ষরে বৃদ্ধি। এই সীমাটি আজ দোকানের প্রায় সমস্ত এক্সটেনশনকে কভার করে, তাই সম্ভবত এই পরিবর্তনের ফলে আপনার কোনো পদক্ষেপের প্রয়োজন হবে না। আপনি যদি একটি এক্সটেনশন আপলোড করার চেষ্টা করেন যার নাম সর্বোচ্চ সীমার চেয়ে বেশি, তাহলে আপলোডটি স্টোর দ্বারা ব্লক করা হবে৷
ব্লগ পোস্ট: পরিষেবা কর্মী সাসপেনশন পরীক্ষার জন্য চোখের যাত্রা
Eyeo-এর এক্সটেনশন ইঞ্জিন টিমের এই পোস্টে, আমরা এক্সটেনশন পরিষেবা কর্মীদের পরীক্ষার সমস্যা অন্বেষণ করি। ম্যানিফেস্ট V2-এ, এক্সটেনশনগুলি একটি ব্যাকগ্রাউন্ড পৃষ্ঠায় বাস করত, যা পুরো এক্সটেনশন লাইফসাইকেল জুড়ে ছিল। ম্যানিফেস্ট V3 পরিবর্তে পরিষেবা কর্মীদের ব্যবহার করে, এবং পরিষেবা কর্মীরা, ডিজাইনের মাধ্যমে, যখন তাদের প্রয়োজন হয় না তখন বন্ধ করে সম্পদ সংরক্ষণ করে। এটি কিছু পরীক্ষামূলক চ্যালেঞ্জ উপস্থাপন করে। এই পোস্টটি ব্যাখ্যা করে কিভাবে আইও এই চ্যালেঞ্জ মোকাবেলা করেছে ।
Chrome 123: ডিভাইসটি ঘুমিয়ে থাকা অবস্থায় এখন অ্যালার্ম চলে
chrome.alarms
API ব্যবহার করে সেট করা অ্যালার্মগুলি যখন একটি ডিভাইস ঘুমাতে যায় তখন আর দেরি হয় না৷ ডিভাইসটি জেগে উঠলে, যতগুলি অ্যালার্ম মিস করা হোক না কেন অ্যালার্ম একবার বেজে উঠবে৷ উদাহরণস্বরূপ, বলুন যে একটি অ্যালার্ম ঘন্টায় একবার বন্ধ হওয়ার জন্য সেট করা হয়েছে এবং এটি যে ডিভাইসটিতে রয়েছে সেটি 12:55 AM থেকে 2:05 AM পর্যন্ত ঘুমিয়ে থাকে, তারপর শুধুমাত্র 2:00 AM অ্যালার্ম onAlarm
ইভেন্টটিকে ট্রিগার করে৷ এটি যতটা সম্ভব সকাল 2:00 AM এর কাছাকাছি ফায়ার করবে, এবং অবিলম্বে যখন একটি ডিভাইস ঘুমিয়ে থাকলে জেগে ওঠে।
এই পরিবর্তনটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে সম্মত আচরণের সাথে ক্রোমকে ইনলাইনে নিয়ে আসে।
ব্লগ পোস্ট: এক্সটেনশন বার্তা পোর্ট সহ bfcache আচরণে পরিবর্তন
ব্যাক/ফরওয়ার্ড ক্যাশে (bfcache) হল একটি ব্রাউজার অপ্টিমাইজেশান যা তাত্ক্ষণিক ব্যাক এবং ফরোয়ার্ড নেভিগেশন সক্ষম করে। Chrome 123 থেকে শুরু করে, যখন একটি খোলা এক্সটেনশন পোর্ট সহ একটি পৃষ্ঠা bfcache এ সংরক্ষণ করা হয়, তখন বার্তা চ্যানেলটি বন্ধ হয়ে যায়, যার অর্থ সেই পৃষ্ঠায় কোনো বার্তা পাঠানো হবে না৷ ফলস্বরূপ, এক্সটেনশন স্ক্রিপ্টগুলি লাইফসাইকেল ইভেন্টগুলির জন্য শুনতে হবে যেমন onDisconnect
এবং BFCache থেকে পৃষ্ঠাটি পুনরুদ্ধার করা হলে একটি নতুন সংযোগ সেট আপ করা উচিত৷
আরও তথ্য এবং নমুনা কোডের জন্য, এক্সটেনশন বার্তা পোর্টগুলির সাথে BFCache আচরণে পরিবর্তনগুলি দেখুন৷
ক্রোম 122: অ্যাসিঙ্ক্রোনাস এক্সটেনশন এপিআইগুলিতে সমর্থনের প্রতিশ্রুতি দেয়
আমরা সমস্ত অ্যাসিঙ্ক্রোনাস এক্সটেনশন API পদ্ধতির জন্য প্রতিশ্রুতি সমর্থন বাস্তবায়ন শেষ করেছি। অ্যাসিঙ্ক্রোনাস ক্রিয়াকলাপগুলির সাথে ডিল করার এরগনোমিক্স উন্নত করে API পদ্ধতিগুলিকে আধুনিক করার জন্য এটি করা হয়েছিল। কয়েকটি পদ্ধতি (উদাহরণস্বরূপ, desktopCapture.chooseDesktopMedia()
) শুধুমাত্র কলব্যাক সমর্থন করে কারণ তাদের বর্তমান পৃষ্ঠগুলি প্রতিশ্রুতির সাথে সামঞ্জস্যপূর্ণ নয়। পিছনের সামঞ্জস্যের জন্য, কলব্যাকগুলি এখনও সমর্থিত। আপনি যদি একটি প্রতিশ্রুতি খুঁজে পান যা ব্যর্থ হয়, অনুগ্রহ করে একটি বাগ ফাইল করুন ।
রিয়েল টাইম যোগাযোগের জন্য নতুন নির্দেশিকা
আমরা সবেমাত্র এক্সটেনশনে রিয়েল টাইম বিকল্পের গাইড প্রকাশ করেছি। রিয়েল-টাইম আপডেটগুলি আপনার সার্ভার থেকে সরাসরি আপনার এক্সটেনশন ইনস্টলেশনে একটি তাত্ক্ষণিক যোগাযোগের পথ প্রদান করে। উপরন্তু, chrome.gcm , Web Push ব্যবহার করার জন্য আমাদের কাছে নতুন নির্দেশিকা রয়েছে৷
নতুন নির্দেশিকা এবং নমুনা: পরীক্ষামূলক পরিষেবা কর্মী সমাপ্তি
আমরা সবেমাত্র Puppeteer-এর সাহায্যে পরিষেবা কর্মী পরিসমাপ্তি পরীক্ষা করার বিষয়ে একটি নির্দেশিকা প্রকাশ করেছি। সহগামী নমুনা পাপেটিয়ার এবং সেলেনিয়ামে এটি প্রদর্শন করে।
নেটিভ মেসেজিংয়ের জন্য নমুনা আপডেট করা হয়েছে
আমরা সবেমাত্র নেটিভ মেসেজিংয়ের জন্য একটি আপডেট নমুনা প্রকাশ করেছি। এই API আপনার এক্সটেনশনকে শুরু করতে এবং অন্য অ্যাপ্লিকেশনের সাথে যোগাযোগ করার অনুমতি দেয়৷ এই কাজের জন্য GitHub অবদানকারী শুভম-রাসালকে ধন্যবাদ।
Chrome 121: tabs.Tab-এ নতুন সর্বশেষ অ্যাক্সেস করা সম্পত্তি
tabs.Tab
অবজেক্টে lastAccessed
নামে একটি নতুন প্রপার্টি যোগ করা হয়েছে। এই বৈশিষ্ট্যটি নির্দেশ করে কখন ট্যাবটি শেষবার সক্রিয় করা হয়েছিল। প্রত্যাবর্তিত মানটি যুগ থেকে মিলিসেকেন্ডে।
Chrome 121: অসমর্থিত "ব্যাকগ্রাউন্ড" কী এখন একটি সতর্কতা জারি করে
ম্যানিফেস্ট V2 থেকে ম্যানিফেস্ট V3-তে পরিবর্তনের সময়, এক্সটেনশন পরিষেবা কর্মীদের সাথে ব্যাকগ্রাউন্ড স্ক্রিপ্ট প্রতিস্থাপনের জন্য "background"
ম্যানিফেস্ট কী-এর বাচ্চাদের পরিবর্তন করা হয়েছিল। পূর্বে, ম্যানিফেস্ট V3 এক্সটেনশনের "background"
কীতে ম্যানিফেস্ট V2 কী "scripts"
, "page"
বা "persistent"
যোগ করলে একটি ত্রুটি দেখা দেবে। এই কীগুলির উপস্থিতি এখন একটি সতর্কতা ট্রিগার করে।
কমিউনিটি গ্রুপের একটি প্রস্তাব অনুসারে একাধিক ব্রাউজারে এক্সটেনশনে একটি একক ম্যানিফেস্ট ফাইল ব্যবহার করতে সক্ষম করার জন্য এটি করা হচ্ছে৷
Chrome 120: ন্যূনতম অ্যালার্ম গ্রানুলারিটি 30 সেকেন্ডে কমানো হয়েছে৷
ক্রোম 120 থেকে শুরু করে, ম্যানিফেস্ট V3 এক্সটেনশনগুলি 60 সেকেন্ড বা তার বেশি মানের প্রয়োজনের পরিবর্তে 30 সেকেন্ডের বিলম্ব বা পিরিয়ড সহ chrome.alarms
API ব্যবহার করতে পারে৷
ব্লগ পোস্ট: ম্যানিফেস্ট V3-এ রূপান্তর পুনরায় শুরু করা হচ্ছে
ম্যানিফেস্ট V2 সমর্থন টাইমলাইন আপডেট করা হয়েছে। বিস্তারিত জানার জন্য আমাদের নভেম্বর 2023 ব্লগ পোস্ট দেখুন।
ব্লগ পোস্ট: ম্যানিফেস্ট V3-এ কন্টেন্ট ফিল্টারিং সমর্থনের উন্নতি
আমাদের নতুন ব্লগ পোস্টে আমরা কীভাবে declarativeNetRequest API-কে উন্নত করেছি সে সম্পর্কে জানুন।
ব্লগ পোস্ট: এক্সটেনশনের জন্য Chrome 120-এ নতুন কী আছে
Chrome 120 বিটা সম্প্রতি প্রকাশিত হয়েছে। এক্সটেনশন ডেভেলপারদের জন্য প্রাসঙ্গিক গুরুত্বপূর্ণ আপডেটের সারাংশের জন্য, আমাদের নতুন ব্লগ পোস্ট পড়ুন: এক্সটেনশনের জন্য Chrome 120-এ নতুন কী আছে । এই রিলিজটি একটি বড় মাইলফলককেও চিহ্নিত করে কারণ এটি চূড়ান্ত দুটি আইটেম (ব্যবহারকারীস্ক্রিপ্ট, ChromeOS-এ ফাইল হ্যান্ডলার) গুরুত্বপূর্ণ প্ল্যাটফর্ম ফাঁকের তালিকা থেকে সরিয়ে দেয়।
PSA: বিকাশকারী ড্যাশবোর্ডে গোপনীয়তা নীতি URL গুলি পরিচালনায় পরিবর্তন৷
বিকাশকারী ড্যাশবোর্ডে গোপনীয়তা নীতিগুলি এখন আইটেম স্তরে যোগ করা হয়েছে৷ এটি আপনাকে আইটেম প্রতি একটি ভিন্ন গোপনীয়তা নীতি প্রদান করতে দেয়। আমাদের PSA- তে এই পরিবর্তন সম্পর্কে আরও পড়ুন।
ভিডিও: ম্যাট ফ্রিসবির সাথে একটি চ্যাট
আমরা এইমাত্র Chrome for Developers YouTube চ্যানেলে Google ডেভেলপার বিশেষজ্ঞ এবং লেখক ম্যাট ফ্রিসবির সাথে চ্যাট করার জন্য একটি নতুন ভিডিও প্রকাশ করেছি৷ এখানে দেখুন.
এক্সটেনশন পরীক্ষার নতুন নির্দেশিকা
আমরা এইমাত্র এক্সটেনশনের জন্য কীভাবে স্বয়ংক্রিয় পরীক্ষা লিখতে হয় সে বিষয়ে নতুন নির্দেশিকা প্রকাশ করেছি, যার মধ্যে কীভাবে ইউনিট পরীক্ষা লিখতে হয় এবং সাধারণ নির্দেশিকা এবং এন্ড-টু-এন্ড পরীক্ষার উপর একটি টিউটোরিয়াল উভয়ই অন্তর্ভুক্ত।
ব্লগ পোস্ট: Chrome এক্সটেনশনে কী ঘটছে - অক্টোবর 2023
আমরা এইমাত্র Chrome এক্সটেনশনে কী ঘটছে এর দ্বিতীয় সংস্করণ প্রকাশ করেছি৷ পোস্টটিতে আলোচনা করা হয়েছে যে এক্সটেনশন দলটি গত কয়েক মাস ধরে কী কাজ করছে, যার মধ্যে রয়েছে, পরিষেবা কর্মীদের স্থিতিশীলতার সমস্যাগুলি সমাধান করা এবং সমস্ত MV3 প্ল্যাটফর্মের ফাঁকগুলি বন্ধ করার বিষয়ে ভাল অগ্রগতি করা। আমরা পঠন তালিকা API এবং ব্যবহারকারী স্ক্রিপ্ট API এর মত উত্তেজনাপূর্ণ আসন্ন API রিলিজগুলিও ভাগ করি৷
ডিক্লারেটিভ নেট রিকোয়েস্ট API-এ স্ট্যাটিক রুলসেট সীমা বৃদ্ধি করা হয়েছে
ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে প্রতিক্রিয়া অনুসরণ করে, আমরা সক্রিয় স্ট্যাটিক রুলসেটের সীমা উল্লেখযোগ্যভাবে 10 থেকে 50-এ বৃদ্ধি করছি। অতিরিক্তভাবে, আমরা অনুমোদিত স্ট্যাটিক নিয়মসেটের মোট সংখ্যা 50 থেকে 100-এ বাড়িয়ে দিচ্ছি। এটি বর্তমানে ক্যানারিতে উপলব্ধ।
দূরবর্তীভাবে হোস্ট করা কোড সম্পর্কে উন্নত নির্দেশিকা
ম্যানিফেস্ট V3 এর জন্য একটি প্রয়োজনীয়তা হল যে এক্সটেনশনগুলি আর দূরবর্তীভাবে হোস্ট করা কোড ব্যবহার করতে পারে না। যদিও এটি শুরু থেকেই আমাদের মাইগ্রেশন গাইডের অংশ ছিল, আমরা ভেবেছিলাম এই সমস্যাটির দিকনির্দেশনা উন্নত করা মূল্যবান। সেই পৃষ্ঠাটি এখন আরও তথ্য প্রদান করে, ম্যানিফেস্ট V3-এ এখনও কী সম্ভব তা বর্ণনা করে এবং আপগ্রেড করার কৌশল সম্পর্কে আরও তথ্য প্রদান করে।
Chrome ওয়েব স্টোর লঙ্ঘনের সমস্যা সমাধানের সাথে একটি সম্পর্কিত সংযোজন রয়েছে৷ একটি নতুন বিভাগ সাধারণ কারণগুলি বর্ণনা করে যেগুলি দূরবর্তীভাবে হোস্ট করা কোড সহ এক্সটেনশনগুলি প্রত্যাখ্যান করা হয়৷
Chrome 118: isUrlFilterCaseSensitive এখন ডিফল্ট থেকে মিথ্যা
ক্রোম 118 থেকে শুরু করে, chrome.declarativeNetRequest API-এ isUrlFilterCaseSensitive
প্রপার্টি ডিফল্ট থেকে false
এ পরিবর্তিত হয়েছে। আপনি যদি পুরানো আচরণ রাখতে চান, আপনি স্পষ্টভাবে আপনার declarativeNetRequest নিয়মে isUrlFilterCaseSensitive
কে true
সেট করতে পারেন।
এটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে আলোচনা অনুসরণ করে। ফায়ারফক্স এবং সাফারি ইতিমধ্যে একটি অনুরূপ পরিবর্তন বাস্তবায়ন করেছে।
কুকিজ এবং ওয়েব স্টোরেজ এপিআই এর ডকুমেন্টেশন
আমরা Chrome এক্সটেনশনগুলিতে কুকিজ এবং ওয়েব স্টোরেজ APIগুলি কীভাবে কাজ করে সে সম্পর্কে একটি নতুন নির্দেশিকা প্রকাশ করেছি৷ এতে গোপনীয়তা স্যান্ডবক্সে কুকি এবং স্টোরেজ বিভাজন পরিবর্তনের বিশদ বিবরণ রয়েছে, একটি চলমান প্রকল্প নতুন ওয়েব প্ল্যাটফর্ম API-এর একটি সিরিজ তৈরির মাধ্যমে তৃতীয় পক্ষের কুকিগুলিকে অবমূল্যায়ন করার জন্য, এবং তারা কীভাবে এক্সটেনশনে কাজ করে তার বিশদ বিবরণ।
এক্সটেনশন নমুনা এখন অনুসন্ধানযোগ্য
আমরা সম্প্রতি একটি পৃষ্ঠা তৈরি করেছি যা আপনাকে Chrome এক্সটেনশনের নমুনাগুলি অনুসন্ধান করতে দেয়৷ অনুসন্ধান পৃষ্ঠায় একাধিক বিকল্প রয়েছে। একটি অনুসন্ধান বাক্স আপনাকে নমুনা শিরোনামে পাঠ্য অনুসন্ধান করতে দেয়। আপনি অনুমতি বা এক্সটেনশন API দ্বারা অনুসন্ধান সীমাবদ্ধ করতে পারেন. একটি অতিরিক্ত ফিল্টার আপনাকে API বা কার্যকরী (ব্যবহারের ক্ষেত্রে) নমুনায় অনুসন্ধান সীমাবদ্ধ করতে দেয়।
এই নতুন নমুনা পৃষ্ঠাটি Google Summer of Code অংশগ্রহণকারী, Xuezhou Dai দ্বারা নির্মিত হয়েছিল, যিনি বেশ কয়েকটি নতুন নমুনাও অবদান রেখেছেন৷ আপনি আমাদের ব্লগে তাদের পোস্টে এই গত গ্রীষ্মে তাদের অভিজ্ঞতা সম্পর্কে পড়তে পারেন।
আগের মতো, আমাদের কোড নমুনাগুলি এখনও ক্লোনিং বা কাঁটাচামচের জন্য গিটহাবে পাওয়া যায়।
Chrome 118: ফাইল খোলার পরিবর্তন: স্কিম URL
Chrome 118 থেকে শুরু করে, ট্যাব বা Windows API ব্যবহার করে file:// স্কিম URL খুলতে chrome://extensions
পৃষ্ঠা থেকে "Allow access to file URLs" সেটিং সক্ষম করা এক্সটেনশনের প্রয়োজন হবে। আপনি chrome.extension.isAllowedFileSchemeAccess()
কল করে প্রোগ্রাম্যাটিকভাবে এই অ্যাক্সেসের জন্য পরীক্ষা করতে পারেন। ফায়ারফক্স ইতিমধ্যেই ফাইল URL গুলি সীমাবদ্ধ করে, এবং Safari পরিবর্তন সমর্থন করে। আরও তথ্যের জন্য, এক্সটেনশন Google গ্রুপে পোস্টটি পড়ুন।
ক্রোম 117: এক্সটেনশন API নেভিগেশনে প্রসারিত URL সুরক্ষা
পূর্বে tabs.update()
, tabs.create()
, এবং windows.create()
এর জন্য এক্সটেনশন API কল থেকে ট্রিগার করা নেভিগেশন কিছু chrome:// URL-এর জন্য একটি ত্রুটি নির্গত করেছিল। উপরন্তু, একটি JavaScript URL দিয়ে tabs.update()
কল করা নিষিদ্ধ ছিল৷ 117-এ, JavaScript URL-এর এই সুরক্ষাগুলি tabs.create()
পদ্ধতিতে প্রসারিত করা হয়েছে এবং নিষিদ্ধ ইউআরএলগুলির তালিকায় বেশ কয়েকটি অতিরিক্ত chrome:// URL যোগ করা হয়েছে যা পূর্বে উল্লেখিত সমস্ত পদ্ধতিতে প্রযোজ্য।
declarativeNetRequest API-এর জন্য উন্নত নির্দেশিকা
chrome.declarativeNetRequest
API ঘোষণামূলক নিয়মগুলি নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলিকে ব্লক করে বা সংশোধন করে৷ এটি এক্সটেনশনগুলিকে তাদের বাধা না দিয়ে এবং তাদের সামগ্রী না দেখে নেটওয়ার্ক অনুরোধগুলিকে সংশোধন করতে দেয়, এইভাবে ব্যবহারকারীদের আরও গোপনীয়তা প্রদান করে৷ এটি ব্যবহার করাও কঠিন। এটি মাথায় রেখে, আমরা নির্দেশিকাটিকে এমনভাবে পুনর্লিখন করেছি যাতে আমরা মনে করি কীভাবে ঘোষণামূলক বিধিমালা বাস্তবায়ন করতে হয় তার একটি পরিষ্কার ছবি আঁকা হয়। উপরের লিঙ্কে নতুন অধ্যায় পড়ুন.
Chrome ওয়েব স্টোরের সাথে আপনার Google Analytics অ্যাকাউন্ট ব্যবহার করা
ক্রোম ওয়েব স্টোর Google অ্যানালিটিক্সের সাথে ইন্টিগ্রেশন অফার করে, যা আপনাকে ডেভেলপার ড্যাশবোর্ডে দেওয়া ভিউ ছাড়াও আপনার Chrome ওয়েব স্টোর তালিকার বিশ্লেষণ দেখতে দেয়। আরও তথ্যের জন্য, Chrome ওয়েব স্টোরের সাথে আপনার Google Analytics অ্যাকাউন্ট ব্যবহার করা পড়ুন।
ক্রোম 115: ডিফল্টরূপে কন্টেন্ট স্ক্রিপ্টের উপরে DevTools ধাপ
ইনজেকশন করা কন্টেন্ট স্ক্রিপ্ট এখন ডিফল্টরূপে DevTools উপেক্ষা তালিকায় আছে। এটি ব্রেকপয়েন্টগুলিকে প্রভাবিত করে না, তবে এর অর্থ এই যে ডিবাগিংয়ের সময় বিষয়বস্তু স্ক্রিপ্টগুলি ধাপে ধাপে চলে যাবে এবং এই স্ক্রিপ্টগুলির ব্যতিক্রমগুলি উপেক্ষা করা হবে৷ উৎস ট্যাবে একটি বিষয়বস্তুর স্ক্রিপ্ট খোলা থাকলে, এটি চালু থাকলে একটি ব্যানার আপনাকে সতর্ক করে এবং উপেক্ষা তালিকা থেকে আপনার বিষয়বস্তুর স্ক্রিপ্ট সরানোর বিকল্প প্রদান করে। এই আচরণটি বন্ধ করতে, DevTools খুলুন, সেটিংসে যান তারপর উপেক্ষা তালিকায় যান। আরও জানতে, DevTools-এ নতুন কী আছে তা দেখুন।
Chrome 116 বিটা: আমরা এখানে ফিট করতে পারি তার চেয়ে বেশি
ক্রোম 116 এক্সটেনশনের জন্য একটি বড় রিলিজ। আপনি এখন প্রোগ্রামগতভাবে সাইড প্যানেল খুলতে পারেন। একটি নতুন পদ্ধতি আপনাকে একটি সক্রিয় অফস্ক্রিন নথি আছে কিনা তা শিখতে দেয়৷ সেবা কর্মীরা সার্রাল উন্নতি পেয়েছেন. 116-এ যথেষ্ট উন্নতি হয়েছে যেগুলি কভার করার জন্য আমরা একটি ব্লগ পোস্ট লিখেছি। 19 জুলাই পর্যন্ত Chrome 116 বিটাতে রয়েছে।
ব্লগ পোস্ট: Chrome এক্সটেনশনে কী ঘটছে৷
আমরা এই বছরের পরিবর্তন এবং এক্সটেনশনের উন্নতির একটি ওভারভিউ প্রকাশ করেছি৷ পোস্টটিতে সাইড প্যানেল API, পরিষেবা কর্মী বর্ধিতকরণ এবং অফস্ক্রিন নথি সহ বছরের বড় নতুন বৈশিষ্ট্যগুলি নিয়ে আলোচনা করা হয়েছে৷ আমরা এই ত্রৈমাসিকের জন্য কী কাজ করছি তাও আপনি দেখতে পাবেন। নিবন্ধটি আরও অনেক কিছু তালিকাভুক্ত করে, যার সাথে লিঙ্ক রয়েছে।
নতুন নির্দেশিকা এবং নমুনা: আপনার Chrome এক্সটেনশনে Google Analytics 4 কীভাবে ব্যবহার করবেন তা জানুন
আমরা নতুন Google Analytics এবং ভূ-অবস্থান নির্দেশিকা এবং নমুনা প্রকাশ করেছি:
- আপনি কীভাবে আপনার Chrome এক্সটেনশনে Google Analytics 4 ব্যবহার করতে পারেন তা ব্যাখ্যা করে আমাদের Google Analytics নির্দেশিকাটির একটি আপডেট সংস্করণ । আমরা আমাদের Github নমুনা সংগ্রহস্থলে একটি কার্যকরী Google Analytics 4 নমুনা যোগ করেছি। Google Analytics সম্পর্কিত প্রাসঙ্গিক কোডের জন্য
google-analytics.js
দেখুন। - একটি নতুন ভূ-অবস্থান নির্দেশিকা এবং তিনটি নমুনা প্রদর্শন করে যে কীভাবে পরিষেবা কর্মীদের, বিষয়বস্তু স্ক্রিপ্ট, পপআপ এবং পার্শ্ব প্যানেলে ভূ-অবস্থান অ্যাক্সেস করতে হয়।
Chrome 115: chrome.offscreen.createDocument() এ একাধিক কারণ উল্লেখ করুন
chrome.offscreen.createDocument()
কল করার সময় আপনি এখন একাধিক reason
উল্লেখ করতে পারেন। যখন একটি অফস্ক্রিন নথি একাধিক ভিন্ন উদ্দেশ্যে ব্যবহার করা হবে তখন এটি ব্যবহার করুন। ব্রাউজার অফস্ক্রিন নথির জীবনকাল নির্ধারণ করতে সরবরাহকৃত কারণগুলি ব্যবহার করে৷
নতুন টুল: এক্সটেনশন আপডেট টেস্টিং টুল
আমরা সবেমাত্র এক্সটেনশন আপডেট টেস্টিং টুল প্রকাশ করেছি, একটি স্থানীয় এক্সটেনশন আপডেট সার্ভার যা স্থানীয় উন্নয়নের সময় Chrome এক্সটেনশনের আপডেট পরীক্ষা করার জন্য ব্যবহার করা যেতে পারে, অনুমতি অনুদান সহ। টুলটি ব্যবহারকারীর আপডেট প্রবাহ দেখায়, যার মধ্যে একটি এক্সটেনশন অক্ষম রাখা সহ, যতক্ষণ না একজন ব্যবহারকারী নতুন অনুরোধ করা অনুমতি দেয়। ম্যানিফেস্ট V2 থেকে ম্যানিফেস্ট V3 তে একটি এক্সটেনশন আপডেট করার সময় অনুরোধ করা অনুমতি পরিবর্তনগুলি অনুকরণ করার জন্য এই সরঞ্জামটি বিশেষভাবে কার্যকর।
Chrome 114: নতুন সাইড প্যানেল API
নতুন সাইড প্যানেল API প্রবর্তন করা হচ্ছে, একটি সহচর পৃষ্ঠ যা ব্যবহারকারীদের তারা ব্রাউজ করা সামগ্রীর পাশাপাশি সরঞ্জামগুলি অ্যাক্সেস করতে দেয়৷ আরও জানতে, সাইড প্যানেল API রেফারেন্স দেখুন। উপরন্তু, আমরা আমাদের GitHub নমুনা সংগ্রহস্থলে অনেক সাইড প্যানেল নমুনা যোগ করেছি। আমরা নতুন সাইড প্যানেল API এর সাথে একটি উচ্চতর ব্যবহারকারীর অভিজ্ঞতা ডিজাইন করা নতুন ব্লগ পোস্টে সাইড প্যানেল সম্পর্কে আরও শেয়ার করি৷ আমাদের গুণমানের নির্দেশিকা নীতি এবং সর্বোত্তম অনুশীলনগুলিও উচ্চ-মানের সাইড প্যানেল এক্সটেনশন তৈরির বিষয়ে আরও নির্দেশিকা প্রদানের জন্য পর্যালোচনা করা হয়েছে।
এই API তৈরিতে আপনার প্রতিক্রিয়া গুরুত্বপূর্ণ; অনুগ্রহ করে ক্রোমিয়াম-গ্রুপগুলিতে আপনার চিন্তাভাবনা এবং বৈশিষ্ট্যের অনুরোধগুলি ভাগ করুন৷ আমরা সাইড প্যানেল এপিআই উন্নত করার সাথে সাথে নতুন আপডেটের জন্য সাথে থাকুন।
নতুন নমুনা: এক্সটেনশনে WASM
দুটি নতুন নমুনা উপলব্ধ রয়েছে যা প্রদর্শন করে কিভাবে একটি এক্সটেনশনে WASM ব্যবহার করতে হয়:
- ম্যানিফেস্ট V3-এ WASM ব্যবহার করা WASM মডিউল অন্তর্ভুক্ত করার জন্য সাধারণ পদ্ধতি দেখায়।
- ম্যানিফেস্ট V3-এ একটি মডিউল হিসাবে WASM ব্যবহার করা দেখায় যে কীভাবে এটি একটি মডিউলে ব্যবহার করতে হয়।
এই নমুনার জন্য GitHub অবদানকারী @ daidr কে বিশেষ ধন্যবাদ।
আপডেট করা ম্যানিফেস্ট V3 মাইগ্রেশন নির্দেশিকা
আমরা আমাদের ম্যানিফেস্ট V3 মাইগ্রেশন গাইডেন্সের পরিচিত ইস্যু বিভাগটি আপডেট করেছি এক্সটেনশন প্ল্যাটফর্মের ফাঁকগুলির একটি আপডেট তালিকা সহ যা আমরা একটি নতুন ম্যানিফেস্ট V2 অবচয় টাইমলাইন ঘোষণা করার আগে বন্ধ করতে চাই।
ম্যানিফেস্ট V3 এর সাথে অডিও এবং ভিডিও রেকর্ড করা
আমরা এইমাত্র অডিও রেকর্ডিং এবং স্ক্রিন ক্যাপচার নামে একটি নতুন নিবন্ধ প্রকাশ করেছি, যা ম্যানিফেস্ট V3-এ ট্যাব, উইন্ডো বা স্ক্রীন থেকে অডিও বা ভিডিও রেকর্ডিং কভার করে৷ এই নিবন্ধটি chrome.tabCapture
API এবং getDisplayMedia()
ফাংশন জড়িত রেকর্ডিংয়ের একাধিক পদ্ধতির বর্ণনা করে।
Chrome 114: বর্ধিত store.local কোটা
আমরা storage.local
স্থানীয় সম্পত্তির কোটা প্রায় 10 এমবি-তে বাড়িয়েছি। এটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে সম্মত হয়েছিল। Chrome 112-এ পরিবর্তিত storage.session
সাথে সামঞ্জস্য রেখে এটি storage.local
নিয়ে আসে।
নতুন এক্সটেনশন সার্ভিস ওয়ার্কার টিউটোরিয়াল এবং সাহায্য
পরিষেবা কর্মীরা Chrome এক্সটেনশনের একটি অবিচ্ছেদ্য অংশ৷ আমরা এইমাত্র একটি টিউটোরিয়াল প্রকাশ করেছি যা পরিষেবা কর্মীদের সাথে নিবন্ধন, ডিবাগিং এবং ইন্টারঅ্যাক্ট করার মূল বিষয়গুলি ব্যাখ্যা করে৷ আমরা আরও বিশদে গুরুত্বপূর্ণ ধারণাগুলি ব্যাখ্যা করে একটি নতুন পরিষেবা কর্মী গাইড যুক্ত করেছি৷ আমরা আগামী মাসে এই বিভাগটি প্রসারিত করব।
ওয়েব স্টোর লঙ্ঘনের জন্য আরও সমস্যা সমাধানের পরামর্শ
ক্রোম ওয়েব স্টোর প্রকাশে সহায়তা করার জন্য, আমরা দুটি ক্ষেত্রে নতুন নির্দেশিকা যোগ করেছি। ব্যবহারকারীদের সুবিধা প্রদান এবং তাদের ব্রাউজিং অভিজ্ঞতা সমৃদ্ধ করার জন্য ন্যূনতম কার্যকারিতা কেন্দ্রগুলির জন্য নির্দেশিকা। অ্যাফিলিয়েট বিজ্ঞাপনের জন্য নির্দেশিকা হল ব্যবহারকারীদেরকে অ্যাফিলিয়েট লিঙ্ক বা নগদীকরণের জন্য কোড ব্যবহার করে এক্সটেনশন সম্পর্কে সচেতন করা এবং অন্তর্ভুক্ত করার আগে ব্যবহারকারীর পদক্ষেপ নেওয়ার মাধ্যমে তাদের কিছু পরিমাণ নিয়ন্ত্রণ দেওয়া।
এক্সটেনশন ম্যানিফেস্ট কনভার্টারের জন্য নতুন নির্দেশাবলী
টুলটি চালানোর পরে আপনাকে কী করতে হবে তা দেখতে সহজ করতে আমরা এক্সটেনশন ম্যানিফেস্ট কনভার্টারের জন্য README পুনরায় লিখেছি। রূপান্তরকারী ম্যানিফেস্ট V2-তে নির্মিত এক্সটেনশনগুলিকে ম্যানিফেস্ট V3-তে স্থানান্তর করতে সাহায্য করে। মাইগ্রেশন গাইডের চেকলিস্টের সাথে ঘনিষ্ঠভাবে মেলে এমন শব্দ ব্যবহার করে টুলটি কী করে তা নতুন README বর্ণনা করে। রূপান্তরকারী সবকিছু করে না, তবে এটি এমন অনেক কাজকে দূর করে যার জন্য মানুষের বিচার কলের প্রয়োজন হয় না।
Chrome 113: অফস্ক্রিন নথির জন্য নতুন কারণ
আমরা অফস্ক্রিন ডকুমেন্টস এপিআই-তে দুটি নতুন কারণ যুক্ত করেছি। ওয়েব প্ল্যাটফর্মের স্থানীয় স্টোরেজ API অ্যাক্সেস করতে LOCAL_STORAGE
ব্যবহার করুন৷ ওয়েব কর্মী তৈরি করার সময় WORKER
ব্যবহার করুন।
Google Analytics 4 এখন ডেভেলপার ড্যাশবোর্ডে
Chrome ওয়েব স্টোর ডেভেলপার ড্যাশবোর্ড এখন Google Analytics 4 (GA4) সমর্থন করে। আমরা গুগল অ্যানালিটিক্স সেট আপ সহজ করেছি এবং গ্রুপ প্রকাশকদের জন্য অ্যাক্সেস ম্যানেজমেন্টকে আরও সহজ করে তুলেছি। আপনি যদি আগে আপনার স্টোর লিস্টিং অ্যাক্টিভিটি ট্র্যাক করার জন্য Google ইউনিভার্সাল অ্যানালিটিক্স ব্যবহার করে থাকেন, তাহলে আপনার স্টোর লিস্টিং সম্পর্কে ডেটা পাওয়া অবিরত নিশ্চিত করতে আপনাকে 1 জুলাই, 2023 এর মধ্যে ব্যবস্থা নিতে হবে। আরও তথ্যের জন্য, ক্রোমিয়াম এক্সটেনশন Google গ্রুপের পোস্টটি দেখুন।
ফাইল হ্যান্ডলিং API ChromeOS-এ আসে
ফাইল হ্যান্ডলার API 112 এবং 113 সংস্করণের জন্য ক্যানারিতে ChromeOS-এ পরীক্ষা-নিরীক্ষার জন্য উপলব্ধ। এটি ChromeOS-এ এক্সটেনশানগুলিকে নির্দিষ্ট MIME প্রকার এবং ফাইল এক্সটেনশন সহ ফাইল খুলতে দেয়। ফাইল হ্যান্ডলিং বাস্তবায়ন করতে manifest.json
এ নিয়মের একটি সেট যোগ করুন। এই বৈশিষ্ট্যটি প্রগতিশীল ওয়েব অ্যাপের মতোই কাজ করে। আরও তথ্যের জন্য, এই সাইটের অন্য কোথাও নিবন্ধটি দেখুন।
ফাইল হ্যান্ডলিং সক্ষম করতে:
- 112 থেকে শুরু করে, 112 থেকে শুরু করে
--enable-features=ExtensionWebFileHandlers
পতাকা ব্যবহার করে Chrome চালু করুন - 113 থেকে শুরু করে, Chrome omnibox-এ
os://flags/#extension-web-file-handlers
পেস্ট করুন এবং ড্রপডাউন মেনু থেকে 'সক্ষম' নির্বাচন করুন।
আমরা জুনের শেষের দিকে Chrome 115-এ এই বৈশিষ্ট্যটি চালু করার আশা করছি। আপডেটের জন্য এই স্থান দেখুন.
নতুন নমুনা: গতিশীল ঘোষণা এবং প্রোগ্রাম্যাটিক ইনজেকশন
আমরা chrome.scripting
API-এর জন্য একটি নতুন নমুনা তৈরি করেছি। এটি গতিশীল ঘোষণা প্রদর্শন করে, যেখানে একটি বিষয়বস্তু স্ক্রিপ্ট রানটাইমে নিবন্ধিত হয় এবং প্রোগ্রাম্যাটিক ইনজেকশন, যেখানে একটি স্ক্রিপ্ট একটি ট্যাবে কার্যকর করা হয় যা ইতিমধ্যেই খোলা আছে।
নতুন নমুনা: ঘোষণামূলক নেট অনুরোধ ব্যবহারের ক্ষেত্রে
ঘোষণামূলক নেট অনুরোধ API প্রদর্শন করে তিনটি নতুন নমুনা পাওয়া যায়। প্রতিটি একটি একক ব্যবহারের ক্ষেত্রে বাস্তবায়ন প্রদর্শন করে। প্রথম দেখায় কিভাবে কুকি ব্লক করতে হয়। বাকি দুটি ইউআরএল ব্লক করা এবং রিডাইরেক্ট করা দেখায়।
Chrome 112: বর্ধিত store.session কোটা
Chrome 112 থেকে, storage.session
প্রপার্টির কোটা প্রায় 10 MB-তে বাড়ানো হয়েছে৷ এটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে সম্মত হয়েছিল: https://github.com/w3c/webextensions/issues/350
Chrome 109: অফস্ক্রিন নথি
অফস্ক্রিন নথিগুলি এখন ম্যানিফেস্ট V3 এক্সটেনশনগুলিতে উপলব্ধ৷ এগুলি DOM-সম্পর্কিত বৈশিষ্ট্য এবং APIগুলির জন্য সমর্থন প্রদান করে ব্যাকগ্রাউন্ড পৃষ্ঠাগুলি থেকে এক্সটেনশন পরিষেবা কর্মীদের রূপান্তর করতে সহায়তা করে৷ আরও তথ্যের জন্য, ব্লগ পোস্ট পড়ুন .
ক্রোম 110: একটি এক্সটেনশন সক্রিয়
chrome.action.isEnabled()
পদ্ধতি প্রোগ্রাম্যাটিকভাবে একটি এক্সটেনশন একটি নির্দিষ্ট ট্যাবের জন্য সক্ষম করা হয়েছে কিনা তা পরীক্ষা করে। এটি আপনাকে আপনার ট্যাবগুলির সক্ষম অবস্থা বজায় রাখা থেকে বাঁচায়৷ এই নতুন পদ্ধতিটি একটি ট্যাব আইডি এবং একটি কলব্যাকের একটি রেফারেন্স নেয় এবং একটি বুলিয়ান প্রদান করে। এটির একটি সীমাবদ্ধতা রয়েছে: chrome.declarativeContent
ব্যবহার করে তৈরি ট্যাবগুলি সর্বদা মিথ্যা ফেরত দেয়৷
( chrome.action
নামস্থান সম্প্রতি এক্সটেনশন ব্যাজগুলির উপস্থিতি নিয়ন্ত্রণের জন্য নতুন পদ্ধতি পেয়েছে৷ আরও তথ্যের জন্য, ব্যাজের রঙ সেট করা দেখুন৷)
Chrome 110: পরিসেবা কর্মীর নিষ্ক্রিয় সময়সীমার পরিবর্তন
পূর্বে, একজন এক্সটেনশন পরিষেবা কর্মী প্রায়ই পাঁচ মিনিটের চিহ্নে বন্ধ হয়ে যেত। আমরা এই আচরণটিকে ওয়েবে পরিষেবা কর্মীদের আজীবনের সাথে আরও ঘনিষ্ঠভাবে সাদৃশ্যপূর্ণ করতে পরিবর্তন করেছি৷ একটি এক্সটেনশন পরিষেবা কর্মী ত্রিশ সেকেন্ডের নিষ্ক্রিয়তার পরে বা একটি একক কার্যকলাপ প্রক্রিয়া করতে 5 মিনিটের বেশি সময় লাগলে বন্ধ হয়ে যাবে। আরও তথ্যের জন্য, দেখুন লংগার এক্সটেনশন সার্ভিস ওয়ার্কার আজীবন ।
পোস্ট: পজিং ম্যানিফেস্ট V2 ফেজ-আউট
ম্যানিফেস্ট V2 অবচয় টাইমলাইন পর্যালোচনা করা হচ্ছে এবং 2023 সালের প্রথম দিকে নির্ধারিত পরীক্ষাগুলি স্থগিত করা হচ্ছে। আরও তথ্যের জন্য, ক্রোমিয়াম-এক্সটেনশন Google গ্রুপে আপডেটটি পড়ুন ।
Chrome 110: ব্যাজের রঙ সেট করা
chrome.action
নামস্থানে আপনাকে উপস্থিতি এক্সটেনশন ব্যাজগুলির উপর আরও নিয়ন্ত্রণ দিতে দুটি নতুন পদ্ধতি রয়েছে৷ setBadgeTextColor()
এবং getBadgeTextColor()
পদ্ধতিগুলি একটি এক্সটেনশনকে তার টুলবার আইকনের ব্যাজ পাঠ্যের রঙ পরিবর্তন এবং অনুসন্ধান করার অনুমতি দেয়। setBadgeBackgroundColor
এবং getBadgeBackgroundColor
এর সাথে ব্যবহার করা হলে এই নতুন পদ্ধতিগুলি আপনাকে ডিজাইন এবং ব্র্যান্ডের সামঞ্জস্য প্রয়োগ করতে দেয়।
ব্লগ পোস্ট: ম্যানিফেস্ট V3-এ রূপান্তরের আরও বিশদ বিবরণ
আমরা ম্যানিফেস্ট V2 অবচয় টাইমলাইন স্পষ্ট করেছি ৷ এই তথ্য প্রতিফলিত করার জন্য ম্যানিফেস্ট V2 সমর্থন টাইমলাইনও আপডেট করা হয়েছে।
ডক্স আপডেট: ম্যানিফেস্ট V3-এ স্থানান্তরিত করার সময় পরিচিত সমস্যা
আমরা বর্তমানে বিকাশে থাকা প্রধান বৈশিষ্ট্যগুলির একটি তালিকা এবং খোলা বাগগুলি একসাথে রেখেছি। এই পৃষ্ঠাটির সাথে আমাদের লক্ষ্য হল ডেভেলপারদের প্ল্যাটফর্মের বর্তমান অবস্থা এবং ভবিষ্যতের জন্য প্রস্তুত করার সময় তারা কোন বৈশিষ্ট্যগুলি লক্ষ্য করতে পারে তা আরও ভালভাবে বুঝতে সাহায্য করা।
Chrome ওয়েব স্টোর: "বড় প্রচার টাইল" ছবি আপলোড সরানো হয়েছে৷
Chrome ওয়েব স্টোর ডেভেলপার ড্যাশবোর্ডে আইটেম স্টোর তালিকা ট্যাব থেকে "বড় প্রচার টাইল" আপলোড UI সরিয়ে দিয়েছে৷ এই পরিবর্তনটি শেষ ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত করে না কারণ এই ছবিগুলি ভোক্তা UI-তে ব্যবহার করা হয়নি। অতিরিক্ত বিবরণের জন্য এই ক্রোমিয়াম-এক্সটেনশন পোস্ট দেখুন।
Chrome 106: file:// urls-এর পৃষ্ঠাগুলিকে ওয়েব অ্যাক্সেসযোগ্য সংস্থানগুলি অ্যাক্সেস করার অনুমতি দিন৷
crbug.com/1219825#c11 অনুসারে স্যান্ডবক্সড আইফ্রেম এবং গতিশীল আমদানির মতো অস্বচ্ছ উত্সগুলিও ওয়েব অ্যাক্সেসযোগ্য সংস্থানগুলি অ্যাক্সেস করতে সক্ষম হওয়া উচিত।
ক্রোম 106: কিছু অ্যাসিঙ্ক API ফাংশনে ভুল চূড়ান্ত আর্গুমেন্টের অনুমতি বাগ সংশোধন করা হয়েছে
পূর্বে, ম্যানিফেস্ট V3 কলিং অ্যাসিঙ্ক APIগুলি একটি অবৈধ চূড়ান্ত যুক্তি প্রদান করতে পারে এবং ক্রোম ত্রুটি করবে না। এই সমাধানের সাথে Chrome এখন সঠিকভাবে ত্রুটি করবে এবং রিপোর্ট করবে যে কোনও মিলিত স্বাক্ষর ছিল না। ডেভেলপারদের উৎসাহিত করা হয় যে কোনো ত্রুটির জন্য ক্যানারিতে তাদের এক্সটেনশন চেক করার জন্য যদি তারা ভুলবশত একটি API কলের জন্য ভুল স্বাক্ষর ব্যবহার করে যা এই বাগ ফিক্স দ্বারা ভেঙে যাবে।
ব্লগ পোস্ট: ক্রোম ওয়েব স্টোর বিশ্লেষণ পুনর্গঠন
ক্রোম ওয়েব স্টোর ডেভেলপার ড্যাশবোর্ডের জন্য ক্রোম ওয়েব স্টোরের একটি পরিমার্জিত আইটেম বিশ্লেষণের অভিজ্ঞতা রয়েছে। নতুন ড্যাশবোর্ডটি এক নজরে বোঝা সহজ এবং সামনে সবচেয়ে দরকারী তথ্য একত্রিত করে৷ আরও তথ্যের জন্য ব্লগ পোস্ট পড়ুন .
Chrome 105: আইডেন্টিটি API-এর প্রতিশ্রুতি
আইডেন্টিটি এপিআই-এর ফাংশনগুলি এখন প্রতিশ্রুতি ভিত্তিক কলগুলিকে সমর্থন করে৷ এটি identity.getAuthToken()
এর পৃষ্ঠে সামান্য পরিবর্তনের সাথে আসে, যেখানে একটি প্রতিশ্রুতি ভিত্তিক কলে সেট করা অ্যাসিঙ্ক্রোনাস রিটার্নে একটি একক অবজেক্টে প্যারামিটার হিসাবে "টোকেন" এবং "গ্রান্টেডস্কোপস" থাকবে (কলব্যাক সংস্করণ তাদের গ্রহণের বিপরীতে। কলব্যাকের পৃথক আর্গুমেন্ট হিসাবে)।
Chrome 104: ম্যানিফেস্ট V3-এর জন্য নতুন ফেভিকন API
ম্যানিফেস্ট ভি 3 এক্সটেনশনগুলি এখন একটি নতুন ইউআরএল প্যাটার্ন ব্যবহার করে ফ্যাভিকনগুলি অ্যাক্সেস করতে পারে: chrome-extension://<id>/_favicon/
, যেখানেchrome://favicons
এপিআই প্রতিস্থাপন করে। আরও তথ্যের জন্য ফ্যাভিকন এপিআই ডক্স দেখুন।
ডক্স আপডেট: বিকাশকারী ব্যবসায়ী/নন-ট্রেডার প্রকাশ
ট্রেডার/অ-ট্রেডার বিকাশকারী সনাক্তকরণ যুক্ত করেছে যা বিকাশকারীদের তাদের ব্যবসায়ী/অ-ট্রেডার স্ট্যাটাসটি সঠিকভাবে স্ব-ঘোষণার জন্য অবহিত করে।
ক্রোম 103: ম্যানিফেস্ট ভি 3-তে ওয়াসম ওয়াসম-আনস্যাফে-অ্যাবাল প্রয়োজন
ক্রোম আর এক্সটেনশানগুলি script-src: wasm-unsafe-eval
। এক্সটেনশানগুলি যা ওয়েবসেম্ব্লিউজ ব্যবহার করে তাদের অবশ্যই তাদের content_security_policy
ঘোষণায় extension_pages
পৃষ্ঠাগুলিতে এই নির্দেশিকা এবং মানটি স্পষ্টভাবে যুক্ত করতে হবে।
ক্রোম 103: এমভি 3 শর্টকাট পরিবর্তন করা অবিলম্বে কার্যকর হয়
chrome://extensions/shortcuts
ম্যানিফেস্ট ভি 3 এক্সটেনশনের কীবোর্ড শর্টকাট পরিবর্তন করার সময়, আপডেটগুলি এখন অবিলম্বে প্রয়োগ করা হয়। পূর্বে পরিবর্তনটি কার্যকর হওয়ার আগে এক্সটেনশনটি পুনরায় লোড করতে হবে।
Chrome 102: মূল বিশ্বে গতিশীল সামগ্রী স্ক্রিপ্ট
গতিশীলভাবে নিবন্ধিত সামগ্রী স্ক্রিপ্টগুলি এখন বিশ্বকে নির্দিষ্ট করতে পারে যে সম্পদগুলি ইনজেকশন দেওয়া হবে। বিশদগুলির জন্য scripting.registerContentScripts()
দেখুন।
Chrome 102: নতুন ম্যানিফেস্ট ফিল্ড "al চ্ছিক_হোস্ট_পিরমিশনস"
ম্যানিফেস্ট ভি 3 এক্সটেনশনগুলি এখন ম্যানিফেস্ট.জসনে al optional_host_permissions
কী নির্দিষ্ট করতে পারে। এটি ম্যানিফেস্ট ভি 3 এক্সটেনশানগুলিকে হোস্টগুলির জন্য al চ্ছিক ম্যাচের ধরণগুলি ঘোষণা করার অনুমতি দেয় ঠিক যেমন ম্যানিফেস্ট ভি 2 এক্সটেনশনগুলি al optional_permissions
কী ব্যবহার করতে পারে।
Chrome 102: স্ক্রিপ্টিংয়ে ইনজেকশনআইমিডে সম্পত্তি
chrome.scripting.executeScript()
এখন injection
আর্গুমেন্টে একটি al চ্ছিক injectImmediately
সম্পত্তি সম্পত্তি গ্রহণ করে। যদি উপস্থিত থাকে এবং সত্যে সেট করা থাকে তবে স্ক্রিপ্টটি document_idle
জন্য অপেক্ষা না করে যত তাড়াতাড়ি সম্ভব লক্ষ্যে ইনজেকশন দেবে। নোট করুন যে এটি কোনও গ্যারান্টি নয় যে পৃষ্ঠাটি লোড হওয়ার আগে স্ক্রিপ্টটি ইনজেকশন দেবে যেহেতু পৃষ্ঠাটি লোড হতে থাকে যখন এপিআই কলটি করা হচ্ছে।
ক্রোম 102: ম্যানিফেস্ট ভি 3 এ ওমনিবক্স এপিআই সমর্থন
ওমনিবক্স এপিআই এখন পরিষেবা কর্মী-ভিত্তিক এক্সটেনশনে ব্যবহার করা যেতে পারে। পূর্বে, এই এপিআইয়ের কয়েকটি পদ্ধতি ডিওএম সক্ষমতার উপর অভ্যন্তরীণ নির্ভরতার কারণে অনুরোধের দিকে ঝুঁকবে।
Chrome 102: ওয়াসম-উনসেফ-ভ্যাল ম্যানিফেস্ট ভি 3 সিএসপিতে অনুমোদিত
ম্যানিফেস্ট ভি 3 এক্সটেনশনে এখন তাদের content_security_policy
ঘোষণায় wasm-unsafe-eval
অন্তর্ভুক্ত থাকতে পারে। এই পরিবর্তনটি ম্যানিফেস্ট ভি 3 এক্সটেনশনগুলিকে ওয়েবসেম্বলি ব্যবহার করতে দেয়।
ক্রোম 102: নতুন স্টোরেজ.সেশন এপিআই
ম্যানিফেস্ট ভি 3 এক্সটেনশনগুলি এখন মেমরি স্টোরেজ স্টোরেজ.সেশন ব্যবহার করতে পারে।
ডক্স আপডেট: ক্রোম ওয়েব স্টোর আইটেম আবিষ্কার
ক্রোম ওয়েব স্টোরে আবিষ্কার ব্যবহারকারীরা কীভাবে ক্রোম ওয়েব স্টোরে আইটেমগুলি সন্ধান করে এবং কীভাবে আমাদের সম্পাদকরা বৈশিষ্ট্যগুলির জন্য আইটেমগুলি নির্বাচন করে তার একটি ওভারভিউ দেয়।
Chrome 101: উন্নত ডিক্লারএটিভেনট্রেউকুয়েস্ট ডোমেন শর্ত
অনুরোধের "অনুরোধ" এবং "ইনিশিয়েটর" ডোমেনগুলির উপর ভিত্তি করে এক্সটেনশানগুলি আরও ভাল টার্গেট অনুরোধের অনুমতি দেওয়ার জন্য ডিক্লারএটিভেনটরেকুয়েস্ট বিধি শর্তগুলি আপডেট করা হয়েছে। প্রাসঙ্গিক শর্তের বৈশিষ্ট্যগুলি হ'ল initiatorDomains
excludedRequestDomains
requestDomains
excludedInitiatorDomains
এই ক্রোমিয়াম-এক্সটেনশনের থ্রেডটিও দেখুন।
Chrome 100: নতুন নির্মিত ট্যাবগুলিতে স্ক্রিপ্টিং.এক্সেকিউটস্ক্রিপ্ট () এর সাথে সমাধান করা সমস্যা
একটি দীর্ঘকালীন সমস্যা স্থির করে যেখানে নতুনভাবে তৈরি ট্যাব বা উইন্ডোতে scripting.executeScript()
কল করা ব্যর্থ হতে পারে।
ক্রোম 100: নেটিভ মেসেজিং পোর্ট পরিষেবা কর্মীকে জীবিত রাখে
কোনও এক্সটেনশনের পরিষেবা কর্মীর chrome.runtime.connectNative()
ব্যবহার করে কোনও নেটিভ মেসেজিং হোস্টের সাথে সংযোগ স্থাপন করা পরিষেবা কর্মীকে যতক্ষণ না বন্দরটি খোলা থাকে ততক্ষণ বাঁচিয়ে রাখতে হবে।
Chrome 100: omnibox.setDefaultsuggestion () প্রতিশ্রুতি এবং কলব্যাক সমর্থন করে
omnibox.setDefaultSuggestion()
পদ্ধতিটি এখন একটি প্রতিশ্রুতি প্রদান করে বা বিকাশকারীদের পরামর্শটি সঠিকভাবে সেট করা হয়েছে তা নির্ধারণের অনুমতি দেওয়ার জন্য একটি কলব্যাক গ্রহণ করে।
Chrome 100: i18n.getMessage () এক্সটেনশন পরিষেবা কর্মীদের সমর্থন
chrome.i18n.getMessage()
এপিআই এখন এক্সটেনশন পরিষেবা কর্মী প্রসঙ্গে সমর্থিত।
ক্রোম 99: ক্যানারিতে ম্যাচ_রিগিন_এএস_ফালব্যাক
সামগ্রী স্ক্রিপ্টগুলি এখন ফ্রেমগুলিতে ইনজেকশনের জন্য match_origin_as_fallback
কী নির্দিষ্ট করতে পারে যা about:
data:
blob:
এবং filesystem:
ইউআরএল সহ ফ্রেম সহ একটি ম্যাচিং ফ্রেমের সাথে সম্পর্কিত। বিশদ জন্য সামগ্রী স্ক্রিপ্ট ডকুমেন্টেশন দেখুন।
ক্রোম 99: ফাইলের জন্য এক্সটেনশন পরিষেবা কর্মী সমর্থন: ক্যানারিতে স্কিমগুলি
পরিষেবা কর্মী -ভিত্তিক ম্যানিফেস্ট ভি 2 এবং ম্যানিফেস্ট ভি 3 এক্সটেনশানগুলি এখন file:
-শেম ইউআরএলএস। file:
-শেম ইউআরএলগুলি এখনও প্রয়োজন যে ব্যবহারকারী chrome://extensions
পৃষ্ঠায় এক্সটেনশনের জন্য 'ইউআরএল ফাইলগুলিতে অ্যাক্সেসের অনুমতি' সক্ষম করে।
Chrome 99: ক্যানারিতে এপিআই মেসেজিংয়ের জন্য সমর্থন প্রতিশ্রুতি
প্রতিশ্রুতি সমর্থন tabs.sendMessage
যুক্ত runtime.sendMessage
হয়েছে runtime.sendNativeMessage
ডক্স আপডেট: ক্রোম ওয়েব স্টোর পর্যালোচনা ডকুমেন্টেশন
একটি নতুন রেফারেন্স পৃষ্ঠা যুক্ত করা হয়েছে যা ক্রোম ওয়েব স্টোর পর্যালোচনা প্রক্রিয়াটির একটি ওভারভিউ সরবরাহ করে এবং কীভাবে বিকাশকারী প্রোগ্রাম নীতি প্রয়োগ পরিচালনা করা হয় তা ব্যাখ্যা করে।
Chrome 98: স্ক্রিপ্টিং.এক্সেকিউটস্ক্রিপ্ট () এবং স্ক্রিপ্টিং.আইএনএসটিসিএসএস () একাধিক ফাইল গ্রহণ করুন
স্ক্রিপ্টিং এপিআইয়ের executeScript()
এবং insertCSS()
পদ্ধতিগুলি এখন একাধিক ফাইল গ্রহণ করে। পূর্বে এই পদ্ধতিগুলির জন্য একটি একক ফাইল এন্ট্রি সহ একটি অ্যারের প্রয়োজন।
ডক্স আপডেট: লঙ্ঘন সমস্যা সমাধানের আপডেটগুলি পর্যালোচনা করুন
ট্রাবলশুটিং ক্রোম ওয়েব স্টোর লঙ্ঘন পৃষ্ঠাটি প্রত্যাখ্যানের সাধারণ কারণে বিকাশকারীদের আরও বিশদ নির্দেশিকা সরবরাহ করার জন্য আপডেট করা হয়েছে।
ক্রোম 96: আরও 27 এপিআই -তে প্রসারিত প্রতিশ্রুতি সমর্থন
এই রিলিজটিতে পূর্ববর্তী কোনও প্রকাশের তুলনায় উল্লেখযোগ্যভাবে আরও প্রতিশ্রুতি আপডেট রয়েছে। আপডেটগুলিতে উভয়ই সাধারণ এবং ক্রোমিওস-নির্দিষ্ট এক্সটেনশান এপিআই অন্তর্ভুক্ত করে। বিশদ জন্য নিম্নলিখিত বিভাগগুলি প্রসারিত করুন।
এক্সটেনশন এপিআই
বেশ কয়েকটি এপিআই এখন ম্যানিফেস্ট ভি 3 -তে প্রতিশ্রুতি সমর্থন করে।
-
chrome.browsingData
-
chrome.commands
-
chrome.contentSettings
-
chrome.debugger
-
chrome.downloads
-
chrome.enterprise.hardwarePlatform
-
chrome.fontSettings
-
chrome.history
-
chrome.instanceID
-
chrome.permissions
-
chrome.processes
-
chrome.search
-
chrome.sessions
-
chrome.topSites
এছাড়াও, এপিআইগুলি যা ChromeSetting
প্রোটোটাইপ ব্যবহার করে এখন প্রতিশ্রুতিগুলি সমর্থন করে। নিম্নলিখিত এপিআইগুলি এই পরিবর্তন দ্বারা প্রভাবিত হয়।
Chromeos apis
-
chrome.certificateProvider
-
chrome.documentScan
-
chrome.enterprise.deviceAttributes
-
chrome.enterprise.networkingAttributes
-
chrome.fileBrowserHandler
-
chrome.fileSystemProvider
-
chrome.loginState
-
chrome.printingMetrics
-
chrome.wallpaper
ক্রোম 96: গতিশীল সামগ্রী স্ক্রিপ্টগুলি
chrome.scripting
API এখন রানটাইমে নিবন্ধকরণ , আপডেট করা , নিবন্ধভুক্তকরণ এবং সামগ্রী স্ক্রিপ্টগুলির একটি তালিকা পেতে সমর্থন করে। পূর্বে, সামগ্রী স্ক্রিপ্টগুলি কেবলমাত্র একটি এক্সটেনশনের ম্যানিফেস্টে স্ট্যাটিক্যালি ঘোষণা করা যেতে পারে C chrome.scripting.executeScript()
এর সাথে রানটাইমে রানটাইমে ইনজেকশনের জন্য প্রোগ্রামগতভাবে ইনজেকশন দেওয়া যেতে পারে।
ডক্স আপডেট: ম্যানিফেস্ট ভি 2 সমর্থন টাইমলাইন
ম্যানিফেস্ট ভি 2 থেকে ভি 3 ট্রানজিশন টাইমলাইনটি এই ব্লগ পোস্টে ঘোষণা করা হয়েছিল এবং আরও বিশদ টাইমলাইন পৃষ্ঠা প্রকাশিত হয়েছিল।
Chrome 96: ডিক্লারএটিভেনট্রেটিউইথহোস্টহোস্টঅ্যাকসেস অনুমতি
নতুন declarativeNetRequestWithHostAccess
অনুমতি এক্সটেনশানগুলি chrome.declarativeNetRequest
এপিআই সাইটগুলিতে ব্যবহার করার অনুমতি দেয় এক্সটেনশনের জন্য হোস্টের অনুমতি রয়েছে। এটি বিদ্যমান ম্যানিফেস্ট ভি 2 এক্সটেনশানগুলিও সক্ষম করে যা ব্যবহারকারীকে নতুন অনুমতি অনুমোদনের প্রয়োজন ছাড়াই chrome.declarativeNetRequest
এপিআইতে স্থানান্তরিত করার জন্য webRequest
, webRequestBlocking
এবং সাইট-নির্দিষ্ট হোস্টের অনুমতি ব্যবহার করে।
ক্রোম 95: সরাসরি পৃষ্ঠাগুলিতে স্ক্রিপ্টগুলি ইনজেক্ট করুন
chrome.scripting
API এর executeScript()
পদ্ধতিটি এখন সরাসরি কোনও পৃষ্ঠার মূল বিশ্বে স্ক্রিপ্টগুলি ইনজেকশন করতে পারে। পূর্বে, এক্সটেনশনগুলি কেবল এক্সটেনশনের বিচ্ছিন্ন বিশ্বে সরাসরি ইনজেকশন দিতে পারে। বিচ্ছিন্ন বিশ্ব সম্পর্কে আরও তথ্যের জন্য, সামগ্রী স্ক্রিপ্টগুলিতে ডকুমেন্টেশন দেখুন।
ক্রোম 95: স্টোরেজ এপিআইয়ের জন্য সমর্থন প্রতিশ্রুতি
chrome.storage
এপিআই এর ম্যানিফেস্ট ভি 3 সংস্করণে পদ্ধতিগুলি এখন প্রতিশ্রুতি দেয়।
নীতি আপডেট: দুটি পদক্ষেপ যাচাইকরণ প্রয়োগ
29 জুন, 2021 এ প্রকাশিত নীতি আপডেট ব্লগ পোস্টটি দুটি ধাপ যাচাইকরণ স্থাপনার সময়রেখা সংশোধন করতে আপডেট করা হয়েছে।
Chrome 94: ঘোষণামূলক নেট অনুরোধ স্ট্যাটিক রুলসেট পরিবর্তন
chrome.declarativeNetRequest
এখন 50 টি স্ট্যাটিক রুলসেট ( MAX_NUMBER_OF_STACTIC_RULESTES ) নির্দিষ্ট করে এবং একবারে 10 টি রুলসেট ( MAX_NAMBER_OF_ENABLED_STACTICT_RULESTES ) সক্ষম করে।
Chrome 93: ক্রস উত্স বিচ্ছিন্নতা সমর্থন
ম্যানিফেস্ট ভি 2 এবং ম্যানিফেস্ট ভি 3 এক্সটেনশন উভয়ই এখন ক্রস অরিজিন বিচ্ছিন্নকরণে বেছে নিতে পারে। এই বৈশিষ্ট্য সীমা যা ক্রস-উত্সের সংস্থানগুলি একটি এক্সটেনশনের পৃষ্ঠাগুলি লোড করতে পারে এবং SharedArrayBuffer
মতো নিম্ন স্তরের ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যগুলির ব্যবহার সক্ষম করে। অপ্ট ইন ক্রোম 95 থেকে শুরু হওয়া প্রয়োজন হবে।
নীতি আপডেট: বিকাশকারী প্রোগ্রাম নীতি আপডেট
ক্রোম ওয়েব স্টোর বিকাশকারী প্রোগ্রামের নীতিগুলি প্রতারণামূলক ইনস্টলেশন কৌশল, স্প্যাম এবং পুনরাবৃত্তি সামগ্রী নীতিগুলির স্পষ্টতার সাথে আপডেট করা হয়েছে। এই আপডেটে ক্রোম ওয়েব স্টোরে প্রকাশের জন্য একটি নতুন দুটি ধাপ যাচাইকরণ প্রয়োজনীয়তাও অন্তর্ভুক্ত রয়েছে। আরও তথ্যের জন্য ব্লগ পোস্টটি পড়ুন ।
ব্লগ পোস্ট: ম্যানিফেস্ট ভি 3 এ এক্সটেনশন অ্যাকশন
ক্রোম এক্সটেনশনে chrome.browserAction
এবং chrome.pageActions
এপিআইগুলি বছরের পর বছর ধরে ছিল, তবে ম্যানিফেস্ট ভি 3 উভয়ই জেনেরিক chrome.actions
এপিআই দ্বারা প্রতিস্থাপন করেছে। এই পোস্টটি এই এপিআইগুলির ইতিহাস এবং ম্যানিফেস্ট ভি 3 তে কী পরিবর্তন হয়েছে তা অনুসন্ধান করে। পোস্ট পড়ুন ।
ব্লগ পোস্ট: Chrome.scripting প্রবর্তন করা
chrome.scripting
API হ'ল একটি নতুন ম্যানিফেস্ট ভি 3 এপিআই, ভাল, স্ক্রিপ্টিংয়ের উপর দৃষ্টি নিবদ্ধ করা। এই পোস্টে আমরা এই পরিবর্তনের জন্য অনুপ্রেরণাগুলি খনন করি এবং এটির নতুন ক্ষমতাগুলি আরও ঘনিষ্ঠভাবে দেখি। পোস্ট পড়ুন ।
Chrome 92: মডিউল পরিষেবা কর্মী সমর্থন
ক্রোম এখন পরিষেবা কর্মীদের মধ্যে জাভাস্ক্রিপ্ট মডিউলগুলিকে সমর্থন করে। আপনার ম্যানিফেস্টে একটি মডিউল নির্দিষ্ট করতে:
"background": {
"service_worker": "script.js",
"type": "module"
}
এটি একটি ইএস মডিউল হিসাবে শ্রমিকের স্ক্রিপ্টটিকে লোড করে, যা আপনাকে অন্যান্য মডিউলগুলি আমদানি করতে শ্রমিকের স্ক্রিপ্টে import
কীওয়ার্ডটি ব্যবহার করতে দেয়।
Chrome 91: Chrome.action.getusersttings ()
নতুন chrome.action.getUserSettings()
পদ্ধতিটি এক্সটেনশানগুলি নির্ধারণ করতে দেয় যে ব্যবহারকারী মূল সরঞ্জামদণ্ডে এক্সটেনশনটি পিন করেছে কিনা।
Chrome 90: Chrome.scripting.removecss ()
নতুন chrome.scripting.removeCSS()
পদ্ধতি এক্সটেনশানগুলি সিএসএস অপসারণ করতে দেয় যা পূর্বে chrome.scripting.insertCSS()
এর মাধ্যমে serted োকানো হয়েছিল। এটি chrome.tabs.removeCSS()
প্রতিস্থাপন করে।
Chrome 90: স্ক্রিপ্টিং থেকে প্রতিশ্রুতি ফিরিয়ে দেওয়া e
chrome.scripting.executeScript()
এখন ফেরত প্রতিশ্রুতি সমর্থন করে। যদি স্ক্রিপ্ট সম্পাদনের ফলাফলের মানটি একটি প্রতিশ্রুতি হয় তবে ক্রোম তার ফলস্বরূপ মানটি নিষ্পত্তি এবং ফিরিয়ে দেওয়ার প্রতিশ্রুতিটির জন্য অপেক্ষা করবে।
Chrome 90: Chrome.scripting.executsprict () ফলাফলের মধ্যে ফ্রেমিড অন্তর্ভুক্ত
chrome.scripting.executeScript()
থেকে ফলাফলগুলি এখন ফ্রেমিড অন্তর্ভুক্ত করে। frameId
সম্পত্তিটি ফ্রেমটি নির্দেশ করে যা ফলাফলটি থেকে আসে, এক্সটেনশানগুলি সহজেই একাধিক ফ্রেমে ইনজেকশন দেওয়ার সময় পৃথক ফ্রেমের সাথে ফলাফলগুলি সংযুক্ত করতে দেয়।
ক্রোম 89: ট্যাব গ্রুপগুলি পরিচালনার জন্য নতুন এপিআই
নতুন chrome.tabGroups
API এবং chrome.tabs
এ নতুন ক্ষমতাগুলি এক্সটেনশানগুলি ট্যাব গ্রুপগুলি পড়তে এবং ম্যানিপুলেট করতে দেয়। ম্যানিফেস্ট ভি 3 প্রয়োজন।
ক্রোম 89: ওয়েব অ্যাক্সেসযোগ্য সংস্থানগুলির জন্য কাস্টমাইজযোগ্য অনুমতি
ম্যানিফেস্ট ভি 3 -তে ওয়েব অ্যাক্সেসযোগ্য সংস্থান সংজ্ঞাগুলি পরিবর্তিত হয়েছে এক্সটেনশানগুলি অনুরোধকারীর উত্স বা এক্সটেনশন আইডির ভিত্তিতে সংস্থান অ্যাক্সেসকে সীমাবদ্ধ করতে দেয়।
ব্লগ পোস্ট: এক্সটেনশন ম্যানিফেস্ট কনভার্টার
ক্রোম এক্সটেনশনস টিমের ওপেন সোর্সড "এক্সটেনশন ম্যানিফেস্ট কনভার্টর" রয়েছে, একটি অজগর সরঞ্জাম যা এক্সটেনশনগুলিকে রূপান্তর করার কিছু যান্ত্রিক দিকগুলি ম্যানিফেস্ট ভি 3 এ স্বয়ংক্রিয় করে তোলে। ঘোষণা ব্লগ পোস্টটি দেখুন এবং এটি গিটহাব থেকে পান ।
ক্রোম 88: ম্যানিফেস্ট ভি 3 সাধারণ প্রাপ্যতা
ম্যানিফেস্ট ভি 3 এক্সটেনশন প্ল্যাটফর্মের একটি প্রধান আপডেট; নতুন এবং পরিবর্তিত বৈশিষ্ট্যগুলির সংক্ষিপ্তসার জন্য ম্যানিফেস্ট ভি 3 এর ওভারভিউ দেখুন। এক্সটেনশনগুলি আপাতত ম্যানিফেস্ট ভি 2 ব্যবহার করা চালিয়ে যেতে পারে তবে অদূর ভবিষ্যতে এটি পর্যায়ক্রমে বেরিয়ে আসবে। আমরা দৃ strongly ়ভাবে সুপারিশ করি যে আপনি যে কোনও নতুন এক্সটেনশনের জন্য ম্যানিফেস্ট ভি 3 ব্যবহার করুন এবং যত তাড়াতাড়ি সম্ভব ভি 3 ম্যানিফেস্টে বিদ্যমান এক্সটেনশানগুলি স্থানান্তর করতে শুরু করুন।
,ক্রোম এক্সটেনশন, এক্সটেনশন ডকুমেন্টেশন, বা সম্পর্কিত নীতি বা অন্যান্য পরিবর্তনগুলির পরিবর্তনগুলি সম্পর্কে জানতে এই পৃষ্ঠাটি প্রায়শই পরীক্ষা করে দেখুন। আপনি এক্সটেনশন গুগল গ্রুপে পোস্ট করা অন্যান্য নোটিশ পাবেন। ক্রোম শিডিউল স্থিতিশীল এবং বিটা প্রকাশের তারিখগুলি তালিকাভুক্ত করে।
ক্রোম 132: ট্যাব এপিআইতে নতুন হিমায়িত সম্পত্তি
ক্রোম 132 থেকে শুরু করে, ট্যাবগুলি এপিআই -তে frozen
সম্পত্তিটি নির্দেশ করে যে ব্রাউজার দ্বারা কোনও ট্যাব হিমায়িত হয়েছে কিনা। হিমায়িত ট্যাবগুলিতে প্রেরিত বার্তাগুলি যখন ট্যাবটি সরিয়ে ফেলা হয় তখন সারি এবং পরিচালনা করা হবে।
ক্রোম এক্সটেনশনে প্রম্পট এপিআই
এক্সটেনশনের জন্য প্রম্পট এপিআই এখন একটি উত্স পরীক্ষায় উপলব্ধ, যাতে আপনি ক্রোম এক্সটেনশনগুলি তৈরি করতে পারেন যা ব্রাউজারে আমাদের সবচেয়ে দক্ষ ভাষার মডেল জেমিনি ন্যানো ব্যবহার করে।
ক্রোম 131 থেকে 136 এ চলমান প্রম্পট এপিআই উত্স পরীক্ষায় যোগদান করুন এবং আপনার প্রতিক্রিয়া ভাগ করুন। আপনার ইনপুট সরাসরি প্রভাবিত করতে পারে কিভাবে আমরা এই API এর ভবিষ্যত সংস্করণগুলি তৈরি এবং প্রয়োগ করি এবং সমস্ত অন্তর্নির্মিত AI API গুলি।
ব্লগ পোস্ট: ক্রোম এক্সটেনশনে কী হচ্ছে, 2024 অক্টোবর
ক্রোম এক্সটেনশনে কী ঘটছে তার আরেকটি রাউন্ড আপ করার সময় এসেছে: এআই ইন্টিগ্রেশন, নতুন এপিআই, ইভেন্ট এবং ভিডিওগুলিতে আমাদের কাছে উত্তেজনাপূর্ণ আপডেট রয়েছে। ক্রোম এক্সটেনশানস অক্টোবর সংস্করণে কী ঘটছে সে সম্পর্কে এটি সম্পর্কে সমস্ত পড়ুন!
অন্তর্নির্মিত এআই চ্যালেঞ্জে যোগদান করুন
ক্রোম অন্তর্নির্মিত এআই চ্যালেঞ্জ চালু করেছে: আপনাকে ক্রোমের ইন্টিগ্রেটেড এআই মডেল এবং এপিআই ব্যবহার করে উদ্ভাবনী ওয়েব অ্যাপ্লিকেশন এবং ক্রোম এক্সটেনশন তৈরি করতে আমন্ত্রিত করা হয়েছে এবং মোট $ 65,000 মার্কিন ডলার পুরষ্কার জয়ের সুযোগ রয়েছে।
সাইন আপ করুন এবং অন্তর্নির্মিত এআই চ্যালেঞ্জ ওয়েবসাইটে আরও তথ্য পান। আপনি যখন এআই দিয়ে ওয়েব ইনফিউস করেন তখন আপনি কী তৈরি করেন তা দেখার জন্য আমরা অপেক্ষা করতে পারি না!
Chrome 130: অ্যাকশন.অনুসারসটিংস চ্যাঞ্জড
Chrome 130 থেকে শুরু করে, অ্যাকশন on এটি ওয়েবএক্সটেনশনস কমিউনিটি গ্রুপে একটি প্রস্তাব অনুসরণ করে। ক্রোমিয়ামে অবদানের জন্য মাইক্রোসফ্টকে ধন্যবাদ।
Chrome 130: storagearea.getkeys ()
Chrome 130 থেকে শুরু করে, getkeys () পদ্ধতিটি chrome.storage
এপিআই দ্বারা ব্যবহৃত স্টোরাগেরিয়া ইন্টারফেসে উপলব্ধ। এটি ওয়েবএক্সটেনশনস কমিউনিটি গ্রুপে একটি প্রস্তাব অনুসরণ করে।
Chrome 128: ঘোষণামূলক নেট অনুরোধে প্রতিক্রিয়া শিরোনাম ম্যাচিং
ক্রোম 128 থেকে শুরু করে, আমরা ঘোষণামূলক নেট অনুরোধ এপিআইতে প্রতিক্রিয়া শিরোনাম ম্যাচিংয়ের জন্য সমর্থন যুক্ত করছি। এটি একটি সাধারণ অনুরোধ ছিল, বিশেষত সামগ্রী-প্রকারের শিরোনামের সাথে মিলে যাওয়ার জন্য এবং আমরা ওয়েবএক্সটেনশনস কমিউনিটি গ্রুপের সাথে একত্রে একটি উপযুক্ত এপিআই ডিজাইন করেছি ।
আমরা নতুন responseHeaders
এবং excludedResponseHeaders
ক্ষেত্রগুলি অন্তর্ভুক্ত করতে আমাদের এপিআই রেফারেন্স আপডেট করেছি। আপনি প্রদত্ত শিরোনামের অস্তিত্ব এবং মান পরীক্ষা করতে এগুলি ব্যবহার করতে পারেন।
এই আপডেটের অংশ হিসাবে, আমরা আমাদের ডকুমেন্টেশনে একটি নতুন নিয়ম মূল্যায়ন বিভাগ যুক্ত করেছি যা নিয়মগুলি কীভাবে মিলছে তা ব্যাখ্যা করে। বিশেষত শিরোনাম ম্যাচিংয়ের জন্য, প্রতিক্রিয়া শিরোনামগুলি পাওয়ার পরে নিয়মগুলি কেবল চলতে পারে, তাই এগুলি অন্যান্য নিয়মের তুলনায় পরবর্তী পর্যায়ে প্রয়োগ করা হয়। এর অর্থ অনুরোধটি অবরুদ্ধ বা পুনঃনির্দেশিত হওয়ার আগে সার্ভারে পৌঁছায়।
ভিডিও: সামগ্রী স্ক্রিপ্টগুলি কী কী?
কোনও নির্দিষ্ট পৃষ্ঠায় চালানোর জন্য কীভাবে সিএসএস এবং জাভাস্ক্রিপ্ট নিবন্ধন করবেন তা সহ ক্রোম এক্সটেনশনে সামগ্রী স্ক্রিপ্টগুলি সম্পর্কে জানুন। পুরো ভিডিওটি দেখুন ।
গুরুত্বপূর্ণ নীতি আপডেট
ক্রোম ওয়েব স্টোর টিম উচ্চমানের পণ্যগুলির বিকাশকে উত্সাহিত করতে, প্রতারণামূলক আচরণ রোধ করতে এবং অবহিত ব্যবহারকারীর সম্মতি নিশ্চিত করার জন্য ডিজাইন করা বিকাশকারী প্রোগ্রাম নীতি পৃষ্ঠায় একাধিক আপডেট প্রকাশ করেছে। ক্রোম ওয়েব স্টোর পলিসি ম্যানেজার রেবেকা সোয়ারেস ক্রোম এক্সটেনশনে সমস্ত আপডেটের সংক্ষিপ্তসার করেছেন: গুরুত্বপূর্ণ নীতি আপডেট ব্লগ পোস্ট ।
ব্লগ পোস্ট: ক্রোম এক্সটেনশনে কী হচ্ছে, 2024 জুলাই
গত তিন মাসে আমরা ম্যানিফেস্ট ভি 2 ফেজ আউট শুরু সহ বেশ কয়েকটি উল্লেখযোগ্য আপডেট এবং নতুন বৈশিষ্ট্যগুলি তৈরি করেছি। ক্রোম এক্সটেনশানস জুলাই সংস্করণে কী ঘটছে তাতে গতি বাড়িয়ে দিন!
ভিডিও: দূরবর্তী হোস্টেড কোডটি কী?
ক্রোম এক্সটেনশনস টিমের প্যাট্রিক ক্রোম এক্সটেনশনে দূরবর্তী হোস্টেড কোড (আরএইচসি) ধারণাটি ব্যাখ্যা করেছেন। আরএইচসি আর কেন অনুমোদিত নয়, কীভাবে এটি সনাক্ত করা যায় এবং আপনার এক্সটেনশন আপডেট করা দরকার হলে কী করবেন তা শিখুন। পুরো ভিডিওটি দেখুন ।
Chrome 127: নতুন অ্যাকশন.অপেনপপআপ এপিআই
ক্রোম 127 থেকে শুরু করে, action.openPopup
এপিআই সমস্ত এক্সটেনশনের জন্য উপলব্ধ। পূর্বে, এটি কেবল ক্যানারি বা কোনও নীতি দ্বারা ইনস্টল করা এক্সটেনশনে উপলব্ধ ছিল।
ভিডিও: ট্রাস্ট এবং সুরক্ষা দলের সাক্ষাত্কার
ক্রোম এক্সটেনশানস ডিভ্রেল টিম ট্রাস্ট অ্যান্ড সেফটি টিমের সাথে বসেছিল যা আপনার প্রশ্ন জিজ্ঞাসা করার জন্য ক্রোম ওয়েব স্টোরে পর্যালোচনা করে। পুরো ভিডিওটি দেখুন ।
ব্লগ পোস্ট: ম্যানিফেস্ট ভি 2 ফেজ-আউট শুরু হয়
ক্রোম বিটা, দেব এবং ক্যানারি চ্যানেলগুলিতে 3 জুন থেকে শুরু করে, যদি ব্যবহারকারীরা এখনও ম্যানিফেস্ট ভি 2 এক্সটেনশনগুলি ইনস্টল করে থাকেন তবে কিছু তাদের এক্সটেনশন ম্যানেজমেন্ট পৃষ্ঠাটি দেখার সময় একটি সতর্কতা ব্যানার দেখতে শুরু করবে - Chrome: // এক্সটেনশানগুলি - তাদের কিছু অবহিত করে (ম্যানিফেস্ট V2) তারা ইনস্টল করা এক্সটেনশানগুলি শীঘ্রই আর সমর্থন করা হবে না। সরকারী ঘোষণায় আরও পড়ুন
সাইড প্যানেল ইউআই আপডেট
আমরা সম্প্রতি একটি পিন আইকন যুক্ত করা এবং গ্লোবাল সাইড প্যানেল আইকনটি অপসারণ সহ সাইড প্যানেল ইউআইতে কিছু পরিবর্তন করেছি। পিএসএতে আরও পড়ুন এবং আমাদের আপডেট হওয়া ডকুমেন্টেশন এবং নমুনাগুলি দেখুন।
ব্লগ পোস্ট: গুগল আই/ও 2024 এ ক্রোম এক্সটেনশন
আরেকটি গুগল আই/ও আমাদের পিছনে রয়েছে এবং আমরা সমস্ত উত্তেজনাপূর্ণ এক্সটেনশন আপডেটগুলি কভার করেছি! পুরো ভিডিওটি পরীক্ষা করে দেখতে ইউটিউবে যান এবং কিছু হাইলাইটের জন্য আমাদের ব্লগ পোস্টটি পড়ুন।
যোগ্য ঘোষণামূলক নেট অনুরোধ পরিবর্তনের জন্য পর্যালোচনা এড়িয়ে যান
ক্রোম ওয়েব স্টোর এখন আপনাকে ঘোষণামূলক নেট অনুরোধ এপিআই ব্যবহার করার সময় যোগ্য পরিবর্তনের জন্য পর্যালোচনা এড়িয়ে যেতে দেয়। যোগ্যতা এবং ক্রোম ওয়েব স্টোর ডকুমেন্টেশনে কীভাবে অপ্ট-ইন করবেন সে সম্পর্কে আরও জানুন।
ক্রোম ওয়েব স্টোর এপিআইতে ডিপ্লেপ্পারসেন্টেজ উপলব্ধ
আমরা সম্প্রতি আমাদের ক্রোম ওয়েব স্টোর এপিআই ডকুমেন্টেশন আপডেট করেছি যাতে deployPercentage
সম্পর্কিত তথ্য অন্তর্ভুক্ত করা হয়, যা আপনাকে আংশিক রোলআউট স্থাপনার এক শতাংশ নির্ধারণ করতে দেয়। deployPercentage
সম্পর্কে শিখুন ।
Chrome 126: এক্সটেনশনে মূল পরীক্ষা
Chrome 126 একটি নতুন ম্যানিফেস্ট.জসন ফিল্ড - trial_tokens
প্রবর্তন করে, আপনাকে সমস্ত এক্সটেনশন পৃষ্ঠতল জুড়ে মূল ট্রায়াল এবং অবমূল্যায়ন ট্রায়ালগুলিতে বেছে নিতে দেয়। আরও তথ্যের জন্য গাইড পড়ুন।
ব্লগ পোস্ট: ক্রোম এক্সটেনশানস-এপ্রিল 2024 এ কী হচ্ছে
আমরা ক্রোম এক্সটেনশনে কী ঘটছে তার একটি নতুন সংস্করণ প্রকাশ করেছি। পোস্টটি গত কয়েক মাস ধরে এক্সটেনশন টিম কী নিয়ে কাজ করছে তা নিয়ে আলোচনা করে। এর মধ্যে রয়েছে: ক্রোম ওয়েব স্টোরে সংস্করণ রোলব্যাক, আরও ভাল ফায়ারবেস এথ সাপোর্ট এবং আরও এপিআই লঞ্চ এবং আপডেটগুলি।
ক্রোম ওয়েব স্টোর বিকাশকারী ড্যাশবোর্ডে সংস্করণ রোলব্যাকস
অতিরিক্ত পর্যালোচনা ছাড়াই ক্রোম ওয়েব স্টোরে পূর্ববর্তী প্রকাশিত সংস্করণে আপনার এক্সটেনশনটি ফিরিয়ে দিন! আরও তথ্যের জন্য ব্লগ পোস্ট এবং ডকুমেন্টেশন পড়ুন।
Chrome 124: অ্যাডভান্সড ডকুমেন্টসকান এপিআই
সংযুক্ত ডকুমেন্ট স্ক্যানারগুলি থেকে চিত্রগুলি আবিষ্কার এবং পুনরুদ্ধার করতে এখন ক্রোমোসে একটি উন্নত documentScan
এপিআই উপলব্ধ।
ক্রোম 124: পরিষেবা কর্মীদের মধ্যে ওয়েবজিপিইউ সমর্থন
ক্রোম 124 যেহেতু, পরিষেবা কর্মীরা ওয়েবগিপিইউ সমর্থন করে। দ্রুত শুরু করার জন্য, ওয়েবজিপিইউ এক্সটেনশন নমুনা চেকআউট করুন।
ক্রোম 123: ইভেন্টগুলি এপিআই সিআইডিআর ব্লক দ্বারা ফিল্টারিং সমর্থন করে
ইভেন্টগুলি এপিআই এখন ক্লাসলেস ইন্টার-ডোমেন রাউটিং (সিআইডিআর) ব্লক দ্বারা ফিল্টারিং সমর্থন করে। একটি সিআইডিআর ব্লক হ'ল আইপি ঠিকানার সংগ্রহ যা একটি নেটওয়ার্ক উপসর্গ এবং একই সংখ্যক বিট ভাগ করে। পূর্বে, একজন বিকাশকারীকে ব্লক রেঞ্জের প্রতিটি ঠিকানার জন্য ফিল্টার বিধি কনফিগার করার জন্য প্রয়োজনীয় একাধিক আইপি ঠিকানা ফিল্টার করতে হবে। এখন যখন কোনও এক্সটেনশন addListener()
কল করে, একটি বিধি অনুসারে পাস হওয়া মানে ইভেন্ট হ্যান্ডলারটি কেবল তখনই বলা হবে যখন কোনও ইউআরএল এর হোস্ট অংশটি একটি আইপি ঠিকানা হয় এবং একটি অ্যারেতে নির্দিষ্ট করা কোনও সিআইডিআর ব্লকের মধ্যে থাকে।
ক্রোম ওয়েব স্টোর: এক্সটেনশনের নাম দৈর্ঘ্যের প্রয়োজনীয়তা আপডেট
ক্রোম ওয়েব স্টোরে, ম্যানিফেস্ট.জসনের একটি এক্সটেনশনের "name"
ক্ষেত্রের জন্য এখন 75 টি অক্ষরের সর্বজনীন সীমা রয়েছে। পূর্বে, ইংরেজির সীমা 45 টি অক্ষর ছিল এবং অন্যান্য লোকালগুলিতে "name"
ক্ষেত্রে কোনও বাধা ছিল না।
এটি মূলত সাংস্কৃতিক এবং ভাষার পার্থক্যের জন্য অনুমতি দেওয়ার উদ্দেশ্যে তৈরি হয়েছিল যা একই সংখ্যক চরিত্রের মধ্যে ক্যাপচার করতে সক্ষম হতে পারে না। দুর্ভাগ্যক্রমে, এই বৈশিষ্ট্যটি স্টোরটি স্প্যাম করার জন্য অল্প সংখ্যক বিকাশকারী দ্বারা আপত্তিজনকভাবে ব্যবহার করা হয়েছিল। ফলস্বরূপ আমরা একটি নতুন সর্বজনীন সীমা প্রবর্তন করছি, 75 টি অক্ষরে বৃদ্ধি। এই সীমাটি আজ স্টোরের প্রায় সমস্ত এক্সটেনশনকে কভার করে, সুতরাং এই পরিবর্তনের ফলে আপনার দ্বারা কোনও পদক্ষেপের প্রয়োজন হবে না। আপনি যদি সর্বাধিক সীমা থেকে বেশি নামযুক্ত একটি এক্সটেনশন আপলোড করার চেষ্টা করেন তবে আপলোডটি স্টোর দ্বারা অবরুদ্ধ করা হবে।
ব্লগ পোস্ট: আইও'র যাত্রা পরিষেবা কর্মী স্থগিতাদেশ পরীক্ষা
আইওর এক্সটেনশন ইঞ্জিন টিমের এই পোস্টে আমরা এক্সটেনশন পরিষেবা কর্মীদের পরীক্ষার সমস্যাটি অনুসন্ধান করি। ম্যানিফেস্ট ভি 2 -তে, এক্সটেনশনগুলি একটি পটভূমি পৃষ্ঠায় বাস করত, যা এক্সটেনশন লাইফসাইকেল জুড়ে জাগ্রত ছিল। ম্যানিফেস্ট ভি 3 এর পরিবর্তে পরিষেবা কর্মীদের এবং পরিষেবা কর্মীরা, ডিজাইনের মাধ্যমে, যখন প্রয়োজন হয় না তখন বন্ধ করে সংস্থান সংরক্ষণ করে। এটি নির্দিষ্ট পরীক্ষার চ্যালেঞ্জগুলি উপস্থাপন করে। এই পোস্টটি ব্যাখ্যা করে যে কীভাবে আইও এই চ্যালেঞ্জগুলি মোকাবেলা করেছে ।
ক্রোম 123: ডিভাইসটি ঘুমিয়ে থাকলে এখন অ্যালার্মগুলি চলে
chrome.alarms
এপিআই ব্যবহার করে সেট করা অ্যালার্মগুলি যখন কোনও ডিভাইস ঘুমাতে যায় তখন আর দেরি হয় না। ডিভাইসটি জেগে উঠলে, অ্যালার্মটি কতগুলি অ্যালার্ম মিস হয়ে যায় তা একবারে গুলি চালাবে। উদাহরণস্বরূপ, বলুন যে একটি অ্যালার্ম একবার ঘণ্টায় একবার বন্ধ হয়ে যায় এবং এটি চালু থাকা ডিভাইসটি সকাল 12:55 থেকে 2:05 এএম ঘুমিয়ে থাকে, তারপরে কেবল 2:00 এএম অ্যালার্ম onAlarm
ইভেন্টটিকে ট্রিগার করে। এটি যতটা সম্ভব সকাল 2:00 টার কাছাকাছি আগুন জ্বালিয়ে দেবে এবং তাত্ক্ষণিকভাবে যখন কোনও ডিভাইস ঘুমিয়ে থাকে তবে জেগে উঠবে।
এই পরিবর্তনটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে সম্মত আচরণের সাথে ক্রোম ইনলাইন নিয়ে আসে।
ব্লগ পোস্ট: এক্সটেনশন বার্তা পোর্টগুলির সাথে বিএফসিএসিএইচ আচরণে পরিবর্তন
ব্যাক/ফরোয়ার্ড ক্যাশে (বিএফসিএএচি) একটি ব্রাউজার অপ্টিমাইজেশন যা তাত্ক্ষণিক পিছনে এবং ফরোয়ার্ড নেভিগেশন সক্ষম করে। ক্রোম 123 থেকে শুরু করে, যখন একটি খোলা এক্সটেনশন পোর্ট সহ একটি পৃষ্ঠা বিএফসিএইচে সংরক্ষণ করা হয়, তখন বার্তা চ্যানেলটি বন্ধ থাকে, যার অর্থ সেই পৃষ্ঠায় কোনও বার্তা প্রেরণ করা হবে না। ফলস্বরূপ, এক্সটেনশন স্ক্রিপ্টগুলি onDisconnect
মতো লাইফসাইকেল ইভেন্টগুলি শুনতে হবে এবং যখন পৃষ্ঠাটি বিএফসিএসি থেকে পুনরুদ্ধার করা হয় তখন একটি নতুন সংযোগ স্থাপন করা উচিত।
আরও তথ্য এবং নমুনা কোডের জন্য, এক্সটেনশন বার্তা পোর্টগুলির সাথে বিএফসিএসিএইচ আচরণের পরিবর্তনগুলি দেখুন।
ক্রোম 122: অ্যাসিঙ্ক্রোনাস এক্সটেনশন এপিআইগুলিতে সমর্থন প্রতিশ্রুতি
আমরা সমস্ত অ্যাসিঙ্ক্রোনাস এক্সটেনশন এপিআই পদ্ধতির জন্য প্রতিশ্রুতি সমর্থন বাস্তবায়ন শেষ করেছি। অ্যাসিনক্রোনাস অপারেশনগুলির সাথে ডিল করার অর্গনোমিক্সকে উন্নত করে এপিআই পদ্ধতিগুলি আধুনিকীকরণের জন্য এটি করা হয়েছিল। কয়েকটি মুঠো পদ্ধতি (উদাহরণস্বরূপ, desktopCapture.chooseDesktopMedia()
) কেবল কলব্যাকগুলিকে সমর্থন করে চলেছে কারণ তাদের বর্তমান পৃষ্ঠগুলি প্রতিশ্রুতিগুলির সাথে সামঞ্জস্যপূর্ণ নয়। পিছনের সামঞ্জস্যের জন্য, কলব্যাকগুলি এখনও সমর্থিত। যদি আপনি এমন কোনও প্রতিশ্রুতি খুঁজে পান যা ব্যর্থ হয় তবে দয়া করে একটি বাগ ফাইল করুন ।
রিয়েল টাইম যোগাযোগের জন্য নতুন গাইডেন্স
আমরা এক্সটেনশনে রিয়েল টাইম বিকল্পগুলিতে সবেমাত্র গাইড প্রকাশ করেছি। রিয়েল-টাইম আপডেটগুলি আপনার সার্ভারগুলি থেকে সরাসরি আপনার এক্সটেনশন ইনস্টলেশনগুলিতে তাত্ক্ষণিক যোগাযোগের পথ সরবরাহ করে। অতিরিক্তভাবে, Chrome.gcm , ওয়েব পুশ ব্যবহার করার জন্য আমাদের কাছে নতুন গাইডেন্স রয়েছে।
নতুন গাইডেন্স এবং নমুনা: পরীক্ষা পরিষেবা কর্মীদের সমাপ্তি
আমরা সবেমাত্র পপ্পিটারের সাথে পরিষেবা কর্মীদের সমাপ্তি পরীক্ষা করার জন্য একটি গাইড প্রকাশ করেছি। সাথে থাকা নমুনা এটি পুতুল এবং সেলেনিয়ামে প্রদর্শন করে।
নেটিভ মেসেজিংয়ের জন্য আপডেট হওয়া নমুনা
আমরা সবেমাত্র দেশীয় বার্তাগুলির জন্য একটি আপডেট নমুনা প্রকাশ করেছি। এই এপিআই আপনার এক্সটেনশনটিকে অন্য অ্যাপ্লিকেশনটির সাথে শুরু এবং যোগাযোগ করতে দেয়। এ নিয়ে কাজের জন্য গিটহাবের অবদানকারী শুভহাম-রাসালকে ধন্যবাদ।
Chrome 121: ট্যাবস.টাবে নতুন লাস্টঅ্যাকসেসড সম্পত্তি
lastAccessed
নামে একটি নতুন সম্পত্তি tabs.Tab
অবজেক্টে যুক্ত করা হয়েছিল। এই সম্পত্তিটি যখন ট্যাবটি সর্বশেষ সক্রিয় করা হয়েছিল তখন নির্দেশ করে। প্রত্যাবর্তনের মানটি যুগের পর থেকে মিলিসেকেন্ডে।
ক্রোম 121: অসমর্থিত "ব্যাকগ্রাউন্ড" কীগুলি এখন একটি সতর্কতা জারি করে
ম্যানিফেস্ট ভি 2 থেকে ম্যানিফেস্ট ভি 3 এ পরিবর্তনের ক্ষেত্রে, "background"
ম্যানিফেস্ট কী এর বাচ্চাদের এক্সটেনশন পরিষেবা কর্মীদের সাথে ব্যাকগ্রাউন্ড স্ক্রিপ্টগুলির প্রতিস্থাপনের জন্য পরিবর্তন করা হয়েছিল। পূর্বে, ম্যানিফেস্ট ভি 3 এক্সটেনশনের "background"
কীতে ম্যানিফেস্ট ভি 2 কীগুলি "scripts"
, "page"
, বা "persistent"
যুক্ত করা একটি ত্রুটি ছুঁড়ে ফেলবে। এই কীগুলির উপস্থিতি এখন একটি সতর্কতা ট্রিগার করে।
সম্প্রদায় গোষ্ঠীর একটি প্রস্তাব অনুযায়ী একাধিক ব্রাউজারে এক্সটেনশনে একক ম্যানিফেস্ট ফাইল ব্যবহার সক্ষম করার জন্য এটি করা হচ্ছে।
ক্রোম 120: সর্বনিম্ন অ্যালার্ম গ্রানুলারিটি হ্রাস 30 সেকেন্ডে
ক্রোম 120 থেকে শুরু করে, ম্যানিফেস্ট ভি 3 এক্সটেনশানগুলি chrome.alarms
এপিআইকে বিলম্ব বা 30 সেকেন্ডের সময়সীমার সাথে 60 সেকেন্ড বা তার বেশি মানের প্রয়োজনের পরিবর্তে ব্যবহার করতে পারে।
ব্লগ পোস্ট: ম্যানিফেস্ট ভি 3 এ রূপান্তর পুনরায় শুরু করা
ম্যানিফেস্ট ভি 2 সমর্থন টাইমলাইন আপডেট করা হয়েছে। বিশদ জন্য আমাদের 2023 সালের নভেম্বর ব্লগ পোস্ট দেখুন।
ব্লগ পোস্ট: ম্যানিফেস্ট ভি 3 এ সামগ্রী ফিল্টারিং সমর্থনগুলির উন্নতি
আমাদের নতুন ব্লগ পোস্টে আমরা কীভাবে ডিক্লারএটিভেনট্রেকুয়েস্ট এপিআই উন্নত করেছি সে সম্পর্কে শিখুন।
ব্লগ পোস্ট: এক্সটেনশনের জন্য ক্রোম 120 এ নতুন কী
ক্রোম 120 বিটা সম্প্রতি প্রকাশিত হয়েছিল। এক্সটেনশন বিকাশকারীদের সাথে সম্পর্কিত গুরুত্বপূর্ণ আপডেটের সংক্ষিপ্তসার জন্য, আমাদের নতুন ব্লগ পোস্টটি পড়ুন: এক্সটেনশনের জন্য ক্রোম 120 এ নতুন কী । এই রিলিজটি একটি বড় মাইলফলকও চিহ্নিত করে কারণ এটি সমালোচনামূলক প্ল্যাটফর্মের ফাঁকগুলির তালিকা থেকে চূড়ান্ত দুটি আইটেম (ব্যবহারকারী স্ক্রিপ্টস, ক্রোমোসে ফাইল হ্যান্ডলার) সরিয়ে দেয়।
পিএসএ: বিকাশকারী ড্যাশবোর্ডে গোপনীয়তা নীতি URLS পরিচালনা করার পরিবর্তন
বিকাশকারী ড্যাশবোর্ডে গোপনীয়তা নীতিগুলি এখন আইটেম স্তরে যুক্ত করা হয়েছে। এটি আপনাকে প্রতি আইটেমের জন্য একটি আলাদা গোপনীয়তা নীতি সরবরাহ করতে দেয়। আমাদের পিএসএতে এই পরিবর্তন সম্পর্কে আরও পড়ুন।
ভিডিও: ম্যাট ফ্রিসবির সাথে একটি চ্যাট
আমরা সবেমাত্র গুগল বিকাশকারী বিশেষজ্ঞ এবং লেখক ম্যাট ফ্রিসবিয়ের সাথে চ্যাট বিকাশকারীদের জন্য ক্রোমে একটি নতুন ভিডিও প্রকাশ করেছি। এটি এখানে দেখুন।
পরীক্ষার এক্সটেনশানগুলিতে নতুন গাইডেন্স
ইউনিট পরীক্ষাগুলি কীভাবে লিখতে হয় এবং সাধারণ দিকনির্দেশনা এবং শেষ থেকে শেষ পরীক্ষার বিষয়ে একটি টিউটোরিয়াল সহ কীভাবে এক্সটেনশনের জন্য স্বয়ংক্রিয় পরীক্ষাগুলি লিখতে হয় সে সম্পর্কে আমরা সবেমাত্র নতুন গাইডেন্স প্রকাশ করেছি।
ব্লগ পোস্ট: ক্রোম এক্সটেনশনে কী ঘটছে - 2023 অক্টোবর
আমরা সবেমাত্র ক্রোম এক্সটেনশনে কী ঘটছে তার দ্বিতীয় সংস্করণ প্রকাশ করেছি। পোস্টটি গত কয়েক মাস ধরে এক্সটেনশন টিম কী নিয়ে কাজ করে চলেছে তা নিয়ে আলোচনা করেছে, যার মধ্যে পরিষেবা কর্মীদের স্থিতিশীলতার সমস্যাগুলি সম্বোধন করা এবং সমস্ত এমভি 3 প্ল্যাটফর্মের ফাঁকগুলি বন্ধ করার ক্ষেত্রে ভাল অগ্রগতি রয়েছে। আমরা পঠন তালিকা এপিআই এবং ব্যবহারকারী স্ক্রিপ্টস এপিআইয়ের মতো উত্তেজনাপূর্ণ আসন্ন এপিআই রিলিজগুলিও ভাগ করি।
ঘোষণামূলক নেট অনুরোধ এপিআইতে স্ট্যাটিক রুলসেট সীমা বৃদ্ধি
ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে প্রতিক্রিয়া অনুসরণ করে, আমরা 10 থেকে 50 পর্যন্ত সক্ষম স্ট্যাটিক রুলসেটগুলির সীমাটি উল্লেখযোগ্যভাবে বাড়িয়ে তুলছি। অতিরিক্তভাবে, আমরা 50 থেকে 100 এ অনুমোদিত স্ট্যাটিক বিগেলসেটের মোট সংখ্যা বাড়িয়ে দিচ্ছি This এটি বর্তমানে ক্যানারিতে উপলব্ধ।
দূরবর্তীভাবে হোস্টেড কোডের চারপাশে উন্নত গাইডেন্স
ম্যানিফেস্ট ভি 3 এর জন্য একটি প্রয়োজনীয়তা হ'ল এক্সটেনশনগুলি আর দূরবর্তীভাবে হোস্টেড কোড ব্যবহার করতে পারে না। যদিও এটি প্রথম থেকেই আমাদের মাইগ্রেশন গাইডের অংশ হয়ে গেছে, আমরা ভেবেছিলাম এটি এই ইস্যুটির আশেপাশের দিকনির্দেশকে উন্নত করার পক্ষে উপযুক্ত। এই পৃষ্ঠাটি এখন আরও তথ্য সরবরাহ করে, ম্যানিফেস্ট ভি 3 তে এখনও কী সম্ভব তা বর্ণনা করে এবং আপগ্রেড করার কৌশলগুলির উপর আরও তথ্য সরবরাহ করে।
সমস্যা সমাধানের ক্রোম ওয়েব স্টোর লঙ্ঘনের সাথে সম্পর্কিত একটি সংযোজন রয়েছে। একটি নতুন বিভাগ সাধারণ কারণগুলি বর্ণনা করে যে দূরবর্তীভাবে হোস্টেড কোড সহ এক্সটেনশনগুলি প্রত্যাখ্যান করা হয়।
Chrome 118: isurlfiltercases সংবেদনশীল এখন মিথ্যা হিসাবে ডিফল্ট
Chrome 118 থেকে শুরু করে, Chrome.declarativenetrequest API এ isUrlFilterCaseSensitive
সম্পত্তিটি false
পরিবর্তন করা হয়েছে। আপনি যদি পুরানো আচরণটি রাখতে চান তবে আপনি স্পষ্টভাবে আপনার ঘোষণাপত্রটিভেনট্রেকুয়েস্ট বিধিগুলিতে true
সাথে isUrlFilterCaseSensitive
সেট করতে পারেন।
এটি ওয়েব এক্সটেনশন কমিউনিটি গ্রুপে আলোচনা অনুসরণ করে। ফায়ারফক্স এবং সাফারি ইতিমধ্যে একই রকম পরিবর্তন বাস্তবায়ন করেছে।
কুকিজ এবং ওয়েব স্টোরেজ এপিআইগুলিতে ডকুমেন্টেশন
আমরা কীভাবে ক্রোম এক্সটেনশনে কুকিজ এবং ওয়েব স্টোরেজ এপিআই কাজ করে সে সম্পর্কে একটি নতুন গাইড প্রকাশ করেছি। এতে গোপনীয়তা স্যান্ডবক্সে কুকি এবং স্টোরেজ পার্টিশন পরিবর্তন সম্পর্কিত বিশদ অন্তর্ভুক্ত রয়েছে, নতুন ওয়েব প্ল্যাটফর্ম এপিআইগুলির একটি সিরিজ তৈরির মাধ্যমে তৃতীয় পক্ষের কুকিজকে অবমূল্যায়নের একটি চলমান প্রকল্প এবং তারা কীভাবে এক্সটেনশনে কাজ করে সে সম্পর্কে বিশদ বিবরণ অন্তর্ভুক্ত করে।
এক্সটেনশন নমুনাগুলি এখন অনুসন্ধানযোগ্য
আমরা সম্প্রতি একটি পৃষ্ঠা তৈরি করেছি যা আপনাকে ক্রোম এক্সটেনশন নমুনাগুলি অনুসন্ধান করতে দেয়। অনুসন্ধান পৃষ্ঠায় একাধিক বিকল্প রয়েছে। একটি অনুসন্ধান বাক্স আপনাকে নমুনা শিরোনামে পাঠ্য অনুসন্ধান করতে দেয়। আপনি অনুমতি বা এক্সটেনশন এপিআই দ্বারা অনুসন্ধান সীমাবদ্ধ করতে পারেন। একটি অতিরিক্ত ফিল্টার আপনাকে এপিআই বা কার্যকরী (কেস ব্যবহার) নমুনায় অনুসন্ধানকে সীমাবদ্ধ করতে দেয়।
এই নতুন নমুনা পৃষ্ঠাটি কোডের অংশগ্রহণকারী জিউজহু ডাইয়ের একটি গুগল গ্রীষ্ম দ্বারা নির্মিত হয়েছিল, যিনি বেশ কয়েকটি নতুন নমুনা অবদান রেখেছিলেন। আপনি আমাদের ব্লগে তাদের পোস্টে গত গ্রীষ্মে তাদের অভিজ্ঞতা সম্পর্কে পড়তে পারেন।
আগের মতো, আমাদের কোডের নমুনাগুলি এখনও ক্লোনিং বা কাঁটাচামচ করার জন্য গিটহাবে উপলব্ধ।
Chrome 118: খোলার ফাইল পরিবর্তন: স্কিম ইউআরএলএস
ক্রোম 118 থেকে শুরু করে, এক্সটেনশনের জন্য chrome://extensions
পৃষ্ঠাগুলি থেকে সক্ষম করা "ফাইলগুলি অ্যাক্সেসের অনুমতি দিন" সেটিংসের জন্য ফাইল: // ট্যাব বা উইন্ডোজ এপিআই ব্যবহার করে স্কিম ইউআরএলগুলি স্কিম ইউআরএলগুলি প্রয়োজন। আপনি chrome.extension.isAllowedFileSchemeAccess()
কল করে এই অ্যাক্সেসের জন্য প্রোগ্রামিকভাবে পরীক্ষা করতে পারেন। ফায়ারফক্স ইতিমধ্যে ফাইল ইউআরএল সীমাবদ্ধ করে এবং সাফারি পরিবর্তনকে সমর্থন করে। আরও তথ্যের জন্য, এক্সটেনশন গুগল গ্রুপে পোস্টটি পড়ুন।
ক্রোম 117: এক্সটেনশন এপিআই নেভিগেশনগুলিতে প্রসারিত ইউআরএল সুরক্ষা
পূর্বে নেভিগেশন এক্সটেনশন এপিআই থেকে ট্রিগার করা হয়েছিল tabs.update()
, tabs.create()
, এবং windows.create()
অতিরিক্তভাবে, জাভাস্ক্রিপ্ট ইউআরএল সহ tabs.update()
কল করা নিষিদ্ধ ছিল। 117 সালে, জাভাস্ক্রিপ্ট ইউআরএলগুলিতে এই সুরক্ষাগুলি tabs.create()
পদ্ধতিতে এবং বেশ কয়েকটি অতিরিক্ত ক্রোম: // ইউআরএলগুলি নিষিদ্ধ ইউআরএলগুলির তালিকায় যুক্ত করা হয়েছে যা পূর্বে উল্লিখিত সমস্ত পদ্ধতির ক্ষেত্রে প্রযোজ্য।
ডিক্লারএটিভেনট্রেকুয়েস্ট এপিআইয়ের জন্য উন্নত গাইডেন্স
chrome.declarativeNetRequest
API ঘোষণামূলক নিয়ম নির্দিষ্ট করে নেটওয়ার্ক অনুরোধগুলি ব্লক করে বা সংশোধন করে। এটি এক্সটেনশানগুলি নেটওয়ার্কের অনুরোধগুলি তাদের বাধা না দিয়ে এবং তাদের সামগ্রী না দেখে সংশোধন করতে দেয়, এইভাবে ব্যবহারকারীদের আরও গোপনীয়তা সরবরাহ করে। এটি ব্যবহার করাও জটিল। এই বিষয়টি মাথায় রেখে, আমরা নির্দেশিকাটিকে এমনভাবে আবার লিখেছি যাতে আমরা মনে করি যে কীভাবে ঘোষণামূলক বিধিগুলি প্রয়োগ করা যায় তার একটি পরিষ্কার চিত্র এঁকে দেয়। উপরের লিঙ্কে নতুন বিভাগটি পড়ুন।
ক্রোম ওয়েব স্টোরের সাথে আপনার গুগল অ্যানালিটিক্স অ্যাকাউন্ট ব্যবহার করে
ক্রোম ওয়েব স্টোর গুগল অ্যানালিটিক্সের সাথে সংহতকরণ সরবরাহ করে, যা আপনাকে বিকাশকারী ড্যাশবোর্ডে দেওয়া ভিউ ছাড়াও আপনার ক্রোম ওয়েব স্টোর তালিকার জন্য বিশ্লেষণগুলি দেখতে দেয়। আরও তথ্যের জন্য, ক্রোম ওয়েব স্টোরের সাথে আপনার গুগল অ্যানালিটিক্স অ্যাকাউন্ট ব্যবহার করে পড়ুন।
Chrome 115: ডিভটুলস ডিফল্টরূপে সামগ্রী স্ক্রিপ্টগুলির উপর দিয়ে পদক্ষেপ
ইনজেকশনযুক্ত সামগ্রী স্ক্রিপ্টগুলি এখন ডিভটুলগুলিতে ডিফল্টরূপে তালিকায় উপেক্ষা করে। এটি ব্রেকপয়েন্টগুলিকে প্রভাবিত করে না, তবে এর অর্থ এই নয় যে ডিবাগিংয়ের সময় সামগ্রী স্ক্রিপ্টগুলি পদক্ষেপ নেওয়া হবে এবং এই স্ক্রিপ্টগুলি থেকে ব্যতিক্রমগুলি উপেক্ষা করা হবে। উত্স ট্যাবে যখন কোনও সামগ্রী স্ক্রিপ্ট খোলা থাকে, তখন কোনও ব্যানার আপনাকে সতর্ক করে দেয় যদি এটি চালু থাকে এবং আপনার সামগ্রী স্ক্রিপ্টটিকে উপেক্ষা করা তালিকা থেকে অপসারণের একটি বিকল্প সরবরাহ করে। এই আচরণটি বন্ধ করতে, ডিভটুলগুলি খুলুন, সেটিংসে যান তারপর তালিকাটি উপেক্ষা করুন । আরও জানতে, ডেভটুলগুলিতে নতুন কী তা দেখুন।
ক্রোম 116 বিটা: আমরা এখানে ফিট করতে পারি তার চেয়ে বেশি
ক্রোম 116 এক্সটেনশনের জন্য একটি বড় প্রকাশ। আপনি এখন সাইড প্যানেলগুলি প্রোগ্রামগতভাবে খুলতে পারেন। একটি নতুন পদ্ধতি আপনাকে সক্রিয় অফস্ক্রিন নথি আছে কিনা তা শিখতে দেয়। পরিষেবা কর্মীরা সার্ভারাল উন্নতি পেয়েছেন। 116 এ পর্যাপ্ত উন্নতি রয়েছে যা আমরা তাদের কভার করার জন্য একটি ব্লগ পোস্ট লিখেছি। ক্রোম 116 19 জুলাই পর্যন্ত বিটাতে রয়েছে।
ব্লগ পোস্ট: ক্রোম এক্সটেনশনে কী ঘটছে
আমরা সবেমাত্র এই বছরের পরিবর্তনগুলি এবং এক্সটেনশনের উন্নতির একটি ওভারভিউ প্রকাশ করেছি। পোস্টটি সাইড প্যানেল এপিআই, পরিষেবা কর্মী বর্ধন এবং অফস্ক্রিন নথি সহ বছরের বড় নতুন বৈশিষ্ট্যগুলি নিয়ে আলোচনা করে। You'll also get a peek at what we're working on for this quarter. The article lists much more, with links to all.
New guidance and sample: Learn how to use Google Analytics 4 in your Chrome extension
We published new Google Analytics and geolocation guidance and samples:
- An updated version of our Google Analytics guidance explaining how you can use Google Analytics 4 in your Chrome extension. We've also added a working Google Analytics 4 sample to our Github sample repository. Check out
google-analytics.js
for the relevant code related to Google Analytics. - A new Geolocation guide and three samples demonstrating how to access geolocation in service workers, content scripts, popups and side panels.
Chrome 115: Specify multiple reasons in chrome.offscreen.createDocument()
You can now specify multiple reason
enums when calling chrome.offscreen.createDocument()
. Use this when an offscreen document will be used for multiple different purposes. The browser uses the supplied reasons to determine the lifetime of the offscreen document.
New tool: Extension Update Testing Tool
We've just released the Extension Update Testing Tool , a local extension update server that can be used for testing updates to Chrome Extensions during local development, including permission grants. The tool shows the user's update flow, including keeping an extension disabled until a user grants any newly requested permissions. This tool is particularly useful for simulating the permission changes requested when updating an extension from Manifest V2 to Manifest V3.
Chrome 114: New Side Panel API
Introducing the new Side Panel API, a companion surface that allows users to access tools alongside the content they are browsing. To learn more, visit the Side Panel API reference . Additionally, we've added many side panel samples to our GitHub sample repository . We also share more about side panels in the new blog post Designing a Superior User Experience with the New Side Panel API . Our quality guidelines policy and best practices have also been reviewed to provide further guidance on creating high-quality side panel extensions.
Your feedback is important in crafting this API; please share your thoughts and feature requests in the chromium-groups . Stay tuned for new updates as we continue to enhance the Side Panel API.
New Samples: WASM in extensions
There are two new samples available that demonstrate how to use WASM in an extension:
- Using WASM in Manifest V3 shows the general method for including a WASM module.
- Using WASM as a module in Manifest V3 shows how to use it in a module.
Special thanks to GitHub contributor @daidr for these samples.
Updated Manifest V3 migration guidance
We've updated the Known Issues section of our Manifest V3 migration guidance with an updated list of extension platform gaps that we intend to close before announcing a new Manifest V2 deprecation timeline.
Recording audio and video with Manifest V3
We've just published a new article called Audio recording and screen capture , which covers recording audio or video from a tab, window, or screen in Manifest V3. This article describes multiple approaches to recording involving the chrome.tabCapture
API and the getDisplayMedia()
function.
Chrome 114: Increased storage.local quota
We have increased the quota for the storage.local
property to approximately 10 MB. This was agreed to in the Web Extensions Community Group . This brings storage.local
in line with storage.session
which was changed in Chrome 112.
New extension service worker tutorial and help
Service Workers are an integral part of Chrome Extensions. We just published a tutorial explaining the basics of registering, debugging, and interacting with Service Workers. We've also added a new Service worker guide explaining important concepts in more detail. We'll be expanding this section in the coming months.
More troubleshooting tips for Web Store violations
To help with Chrome Web Store publishing, we added new guidance in two areas. Guidance for minimum functionality centers around providing users with benefits and enriching their browsing experience. Guidance for affiliate ads is about making users are aware of extensions using affiliate links or codes for monetization, and giving them some amount of control by requiring user action before inclusion.
New instructions for the Extension Manifest Converter
We've rewritten the README for the Extension Manifest Converter to make it easier to see what you need to do after running the tool. The converter helps helps migrate extensions built on Manifest V2 to Manifest V3. The new README describes what the tool does using words that closely match those in the migration guide's checklist . The converter doesn't do everything, but it does eliminate many tasks that don't require a human judgement call.
Chrome 113: New reasons for offscreen documents
We have added two new reason types to the Offscreen Documents API. Use LOCAL_STORAGE
to access the web platform's localStorage API. Use WORKER
when creating web workers.
Google Analytics 4 now in the Developer Dashboard
The Chrome Web Store Developer Dashboard now supports Google Analytics 4 (GA4). We've simplified setting up Google Analytics and made access management for group publishers more straightforward. If you previously used Google Universal Analytics to track your store listing activity, you will need to take action by July 1, 2023 to ensure that you continue receiving data about your store listing. For more information, see the post on the Chromium Extensions Google Group .
The File Handling API comes to ChromeOS
The File Handler API is available for experimentation on ChromeOS in Canary for versions 112 and 113. It lets extensions on ChromeOS open files with specified MIME types and file extensions. To implement file handling add a set of rules to the manifest.json
. This feature works the same as for Progressive web apps. For more information, see the article elsewhere on this site.
To enable file handling:
- Starting in 112, launch Chrome using the
--enable-features=ExtensionWebFileHandlers
flag, starting in 112 - Starting in 113, paste
os://flags/#extension-web-file-handlers
into the Chrome omnibox and select 'Enabled' from the dropdown menu.
We hope to launch this feature in Chrome 115, in late June. আপডেটের জন্য এই স্থান দেখুন.
New Samples: dynamic declarations and programmatic injection
We've built a new sample for the chrome.scripting
API. It demonstrates dynamic declarations, where a content script is registered at runtime, and programmatic injection, where a script is executed in a tab that is already open.
New Samples: Declarative Net Request use cases
Three new samples are available demonstrating the Declarative Net Request API . Each demonstrates implementation of a single use case. The first shows how to block cookies. The remaining two demonstrate blocking and redirecting URLs.
Chrome 112: Increased storage.session quota
From Chrome 112, the quota for the storage.session
property has been increased to approximately 10 MB. This was agreed to in the Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350
Chrome 109: Offscreen documents
Offscreen documents are now available in Manifest V3 extensions. These help with the transition from background pages to extension service workers by providing support for DOM-related features and APIs. For more information, read the blog post .
Chrome 110: Is an extension enabled
The chrome.action.isEnabled()
method programmatically checks whether an extension has been enabled for a specific tab. This saves you from maintaining the enabled state of your tabs. This new method takes a tab ID and a reference to a callback and returns a boolean. It has one limitation: tabs created using chrome.declarativeContent
always return false.
(The chrome.action
namespace recently got new methods for controlling the appearance of extension badges. For more information, see Setting badge colors .)
Chrome 110: Change in service worker idle timeout
Previously, an extension service worker would frequently shut down at the five minute mark. We've changed this behavior to more closely resemble service worker lifetime's on the web. An extension service worker will be shut down after either thirty seconds of inactivity or if a single activity takes longer than 5 minutes to process. For more information, see Longer extension service worker lifetimes .
Post: Pausing Manifest V2 phase-out
The Manifest V2 deprecation timelines are under review and the experiments scheduled for early 2023 are being postponed. For more information, read the update in the chromium-extensions Google Group.
Chrome 110: Setting badge colors
The chrome.action
namespace has two new methods to give you more control over the appearance extension badges. The setBadgeTextColor()
and getBadgeTextColor()
methods allow an extension to change and query its toolbar icon's badge text color. When used with setBadgeBackgroundColor
and getBadgeBackgroundColor
these new methods let you enforce design and brand consistency.
Blog post: More details on the transition to Manifest V3
We have clarified the Manifest V2 deprecation timeline . The Manifest V2 support timeline has also been updated to reflect this information.
Docs update: Known issues when migrating to Manifest V3
We've put together a list of major features currently in development and open bugs . Our goal with this page is to help developers better understand the current state of the platform and what features they can target as they prepare for the future.
Chrome Web Store: "large promo tile" image upload removed
Chrome Web Store has removed the "large promo tile" upload UI from the item Store Listing tab in the developer dashboard. This change does not affect the end user experience as these images were not used in the consumer UI. See this chromium-extensions post for additional details.
Chrome 106: Allow pages on file:// urls to access web accessible resources
Opaque origins such as sandboxed iframes and dynamic import should also be able to access web accessible resources, according to crbug.com/1219825#c11 .
Chrome 106: Fixed bug allowing incorrect final arguments on some async API functions
Previously, Manifest V3 calling async APIs could provide an invalid final argument and Chrome would not error. With this fix Chrome will now correctly error and report that there was no matching signature. Developers are encouraged to check their extensions on Canary for any errors in case they accidentally using incorrect signature for an API call that will be broken by this bug fix.
Blog post: Chrome Web Store analytics revamp
Chrome Web Store has a revamped item analytics experience for the Chrome Web Store Developer Dashboard. The new dashboard is easier to understand at a glance and consolidates the most useful information up front. Read the blog post for more information.
Chrome 105: promises for the Identity API
Functions on the Identity API now support promise based calls. This comes with a slight change to the surface for identity.getAuthToken()
, where the asynchronous return set to a promise based call will have "token" and "grantedScopes" as parameters on a single object (as opposed to the callback version receiving them as separate arguments to the callback).
Chrome 104: New favicons API for Manifest V3
Manifest V3 extensions can now access favicons using a new URL pattern: chrome-extension://<id>/_favicon/
, wherechrome://favicons
API. See the Favicon API docs for more information.
Docs update: Developer trader/non-trader disclosure
Added the trader/non-trader developer identification that informs developers to accurately self-declare their trader/non-trader status.
Chrome 103: Wasm in Manifest V3 requires wasm-unsafe-eval
Chrome no longer grants extensions script-src: wasm-unsafe-eval
by default. Extensions that use WebAssembly must now explicitly add this directive and value to extension_pages
in their content_security_policy
declarations.
Chrome 103: Changing MV3 shortcuts take effect immediately
When changing a Manifest V3 extension's keyboard shortcut on chrome://extensions/shortcuts
, updates are now applied immediately. Previously the extension would have to be reloaded before the change would take effect.
Chrome 102: Dynamic content scripts in main world
Dynamically registered content scripts can now specify the world that assets will be injected into. See scripting.registerContentScripts()
for details.
Chrome 102: New manifest field "optional_host_permissions"
Manifest V3 extensions can now specify the optional_host_permissions
key in manifest.json. This allows Manifest V3 extensions to declare optional match patterns for hosts just as Manifest V2 extensions could using the optional_permissions
key.
Chrome 102: injectImmediately property in scripting.executeScript()
chrome.scripting.executeScript()
now accepts an optional injectImmediately
property on it's injection
argument. If present and set to true, the script will inject into the target as soon as possible, rather than waiting for document_idle
. Note that this is not a guarantee the script will inject before the page is loaded since the page continues to load while the API call is being made.
Chrome 102: Omnibox API support in Manifest V3
The Omnibox API can now be used in service worker-based extensions. Previously, some of this API's methods would throw on invocation due to internal dependencies on DOM capabilities.
Chrome 102: wasm-unsafe-eval allowed in Manifest V3 CSP
Manifest V3 extensions can now include wasm-unsafe-eval
in their content_security_policy
declarations. This change allows Manifest V3 extensions to use WebAssembly.
Chrome 102: New storage.session API
Manifest V3 extensions can now use in memory storage storage.session .
Docs update: Chrome Web Store item discovery
Discovery on Chrome Web Store gives an overview of how users find items on the Chrome Web Store and how our editors select items to feature.
Chrome 101: Improved declarativeNetRequest domain conditions
declarativeNetRequest rule conditions have been updated to allow extensions to better target requests based on the request's "request" and "initiator" domains. The relevant condition properties are initiatorDomains
, excludedInitiatorDomains
, requestDomains
, and excludedRequestDomains
. See also this chromium-extensions thread .
Chrome 100: Resolved issue with scripting.executeScript() on newly created tabs
Fixed a longstanding issue where calling scripting.executeScript()
on a newly created tab or window could fail.
Chrome 100: native messaging port keeps service worker alive
Connecting to a native messaging host using chrome.runtime.connectNative()
in an extension's service worker should keep the service worker alive as long as the port is open.
Chrome 100: omnibox.setDefaultSuggestion() supports promises and callbacks
The omnibox.setDefaultSuggestion()
method now returns a promise or accepts a callback to allow developers to determine when the suggestion has been properly set.
Chrome 100: i18n.getMessage() support in extension service workers
The chrome.i18n.getMessage()
API is now supported in extension service worker contexts.
Chrome 99: match_origin_as_fallback in Canary
Content scripts can now specify the match_origin_as_fallback
key to inject into frames that are related to a matching frame, including frames with about:
, data:
, blob:
, and filesystem:
URLs. See the content scripts documentation for details.
Chrome 99: extension service worker support for file: schemes in Canary
Service worker-based Manifest V2 and Manifest V3 extensions can now use the Fetch API to request file:
-scheme URLs. Access to file:
-scheme URLs still requires that the user enable 'Allow access to File URLs' for the extension in the chrome://extensions
page.
Chrome 99: promise support for messaging APIs in Canary
Promise support has been added to tabs.sendMessage
, runtime.sendMessage
, and runtime.sendNativeMessage
for extensions built for Manifest V3.
Docs update: Chrome Web Store review documentation
Added a new reference page that provides an overview of the Chrome Web Store review process and explains how developer program policy enforcement is handled.
Chrome 98: scripting.executeScript() and scripting.insertCSS() accept multiple files
The Scripting API's executeScript()
and insertCSS()
methods now accept multiple files. Previously these methods required an array with a single file entry.
Docs update: review violation troubleshooting updates
The Troubleshooting Chrome Web Store violations page has been updated to provide developers with more detailed guidance for common reasons for rejection.
Chrome 96: expanded promise support to 27 more APIs
This release contains significantly more promise updates than any previous release. Updates include both general and ChromeOS-specific extensions APIs. Expand the following sections for details.
Extensions APIs
A number of APIs now support promises in Manifest V3.
-
chrome.browsingData
-
chrome.commands
-
chrome.contentSettings
-
chrome.debugger
-
chrome.downloads
-
chrome.enterprise.hardwarePlatform
-
chrome.fontSettings
-
chrome.history
-
chrome.instanceID
-
chrome.permissions
-
chrome.processes
-
chrome.search
-
chrome.sessions
-
chrome.topSites
Also, APIs that use the ChromeSetting
prototype now also support promises. The following APIs are affected by this change.
ChromeOS APIs
-
chrome.certificateProvider
-
chrome.documentScan
-
chrome.enterprise.deviceAttributes
-
chrome.enterprise.networkingAttributes
-
chrome.fileBrowserHandler
-
chrome.fileSystemProvider
-
chrome.loginState
-
chrome.printingMetrics
-
chrome.wallpaper
Chrome 96: dynamic content scripts
The chrome.scripting
API now supports registering , updating , unregistering , and getting a list of content scripts at runtime. Previously, content scripts could only be statically declared in an extension's manifest.json or programmatically injected at runtime with chrome.scripting.executeScript()
.
Docs update: Manifest V2 support timeline
The Manifest V2 to V3 transition timeline was announced in this blog post and a more detailed timeline page was published.
Chrome 96: declarativeNetRequestWithHostAccess permission
The new declarativeNetRequestWithHostAccess
permission allows extensions to use the chrome.declarativeNetRequest
API on sites the extension has host permissions for. This also enables existing Manifest V2 extensions that use webRequest
, webRequestBlocking
, and site-specific host permission to migrate to the chrome.declarativeNetRequest
API without requiring the user to approve new permissions.
Chrome 95: inject scripts directly into pages
The chrome.scripting
API's executeScript()
method can now inject scripts directly into a page's main world. Previously, extensions could only inject directly into the extension's isolated world. For more information on isolated worlds, see the documentation on content scripts .
Chrome 95: promise support for Storage API
Methods on the Manifest V3 version of the chrome.storage
API now return promises.
Policy update: two step verification enforcement
The policy update blog post published on June 29, 2021 has been updated to correct the two step verification deployment timeline.
Chrome 94: declarative net request static ruleset changes
The chrome.declarativeNetRequest
now supports specifying up to 50 static rulesets ( MAX_NUMBER_OF_STATIC_RULESETS ) and enabling up to 10 rulesets ( MAX_NUMBER_OF_ENABLED_STATIC_RULESETS ) at a time.
Chrome 93: cross origin isolation support
Both Manifest V2 and Manifest V3 extensions can now opt into cross origin isolation . This feature limits which cross-origin resources can load an extension's pages and enables the use of low level web platform features like SharedArrayBuffer
. Opt in will be required starting in Chrome 95.
Policy update: developer program policies updated
The Chrome Web Store Developer Program Policies have been updated with clarifications to the deceptive installation tactics, spam, and repetitive content policies. This update also includes a new two step verification requirement to publish on the Chrome Web Store. Read the blog post for more information.
Blog post: extension actions in Manifest V3
Chrome extensions had chrome.browserAction
and chrome.pageActions
APIs for years, but Manifest V3 replaced both with a generic chrome.actions
API. This post explores the history of these APIs and what has changed in Manifest V3. Read the post .
Blog post: introducing chrome.scripting
The chrome.scripting
API is a new Manifest V3 API focused on, well, scripting. In this post we dig into the motivations for this change and take a closer look at it's new capabilities. Read the post .
Chrome 92: module service worker support
Chrome now supports JavaScript modules in service workers. To specify a module a module in your manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
This loads the worker script as an ES module, which lets you use the import
keyword in the worker's script to import other modules.
Chrome 91: chrome.action.getUserSettings()
The new chrome.action.getUserSettings()
method allows extensions to determine if the user has pinned the extension to the main toolbar.
Chrome 90: chrome.scripting.removeCSS()
The new chrome.scripting.removeCSS()
method allows extensions to remove CSS that was previously inserted via chrome.scripting.insertCSS()
. It replaces chrome.tabs.removeCSS()
.
Chrome 90: returning promises from scripting.executeScript()
chrome.scripting.executeScript()
now supports returning promises. If the resulting value of the script execution is a promise, Chrome will wait for the promise to settle and return its resulting value.
Chrome 90: chrome.scripting.executeScript() results include frameId
Results returned from chrome.scripting.executeScript()
now include the frameId . The frameId
property indicates the frame that the result is from, letting extensions easily associate results with the individual frames when injecting in multiple frames.
Chrome 89: new API for managing tab groups
The new chrome.tabGroups
API and new capabilities in chrome.tabs
let extensions read and manipulate tab groups. Requires Manifest V3.
Chrome 89: customizable permissions for web accessible resources
Web accessible resources definitions in Manifest V3 have changed to let extensions restrict resource access based on the requester's origin or extension ID.
Blog post: Extension Manifest Converter
The Chrome Extensions team has open sourced "Extension Manifest Converter", a Python tool that automates some of the mechanical aspects of converting extensions to Manifest V3. See the announcement blog post and get it from GitHub .
Chrome 88: Manifest V3 general availability
Manifest V3 is a major update to the extensions platform; see Overview of Manifest V3 for a summary of new and changed features. Extensions may continue to use Manifest V2 for now, but this will be phased out in the near future. We strongly recommend that you use Manifest V3 for any new extensions, and begin migrating existing extensions to Manifest V3 as soon as possible.
,Check this page often to learn about changes to Chrome extensions, extensions documentation, or related policy or other changes. You'll find other notices posted on the Extensions Google Group . The Chrome schedule lists stable and beta release dates.
Chrome 132: New frozen property in Tabs API
Starting in Chrome 132, the frozen
property in the Tabs API indicates if a tab has been frozen by the browser. Messages sent to frozen tabs will be queued and handled when the tab is unfrozen.
The Prompt API in Chrome Extensions
The Prompt API for Extensions is now available in an origin trial, so you can build Chrome Extensions that use Gemini Nano, our most efficient language model, in the browser.
Join the Prompt API origin trial, running in Chrome 131 to 136, and share your feedback. আপনার ইনপুট সরাসরি প্রভাবিত করতে পারে কিভাবে আমরা এই API এর ভবিষ্যত সংস্করণগুলি তৈরি এবং প্রয়োগ করি এবং সমস্ত অন্তর্নির্মিত AI API গুলি।
Blog post: What's happening in Chrome Extensions, October 2024
It's time for another round up of what's happening in Chrome Extensions: we have exciting updates on AI integration, new APIs, events, and videos. Read all about it in What's happening in Chrome Extensions October edition !
Join the built-in AI Challenge
Chrome has launched the Built-in AI Challenge: You are invited to create innovative web applications and Chrome Extensions, using Chrome's integrated AI models and APIs , and have a chance to win prizes which total $65,000 USD.
Sign up and get more information on the Built-in AI Challenge website . We can't wait to see what you create when you infuse the web with AI!
Chrome 130: action.onUserSettingsChanged
Starting in Chrome 130, the action.onUserSettingsChanged event is available. This follows a proposal in the WebExtensions Community Group. Thanks to Microsoft for the contribution to Chromium.
Chrome 130: StorageArea.getKeys()
Starting in Chrome 130, the getKeys() method is available on the StorageArea interface used by the chrome.storage
API. This follows a proposal in the WebExtensions Community Group.
Chrome 128: Response header matching in Declarative Net Request
Starting in Chrome 128, we are adding support for response header matching in the Declarative Net Request API. This was a common request, particularly for matching the Content-Type header, and we designed a suitable API together with the WebExtensions Community Group.
We've updated our API reference to include the new responseHeaders
and excludedResponseHeaders
fields. You can use these to check for the existence of and value of a given header.
As part of this update, we've added a new rule evaluation section to our documentation which explains how rules are matched. For header matching in particular, rules can only run once response headers have been received, so they are applied at a later stage than other rules. This means the request does reach the server before being blocked or redirected.
Video: What are content scripts?
Learn about content scripts in Chrome Extensions, including how to register CSS and JavaScript to run on a particular page. Check out the full video .
Important policy updates
Chrome Web Store team has published a series of updates to the Developer Program Policies page designed to encourage the development of high quality products, prevent deceptive behavior, and ensure informed user consent. Rebecca Soares, the Chrome Web Store policy manager, has summarized all the updates in Chrome Extensions: Important policy updates blog post .
Blog post: What's happening in Chrome Extensions, July 2024
In the past three months we've rolled out several significant updates and new features, including the start of Manifest V2 phase out. Get up to speed in What's happening in Chrome Extensions July edition !
Video: What is a Remote Hosted Code?
Patrick from the Chrome Extensions team explains the concept of Remotely Hosted Code (RHC) in Chrome Extensions. Learn why RHC is no longer allowed, how to detect it, and what to do if your extension needs to be updated. Check out the full video .
Chrome 127: New action.openPopup API
Beginning in Chrome 127, the action.openPopup
API is available to all extensions. Previously, it was only available in Canary or to extensions installed by a policy.
Video: Trust & Safety team interview
The Chrome Extensions DevRel team sat down with the Trust & Safety team that leads review in the Chrome Web Store to ask your questions. Check out the full video .
Blog post: Manifest V2 phase-out begins
Starting on June 3 on the Chrome Beta, Dev and Canary channels, if users still have Manifest V2 extensions installed, some will start to see a warning banner when visiting their extension management page - chrome://extensions - informing them that some (Manifest V2) extensions they have installed will soon no longer be supported. Read more in the official announcement
Updates to Side Panel UI
We recently made some changes to the Side Panel UI, including adding a pin icon and removing the global side panel icon. Read more in the PSA and see our updated documentation and samples .
Blog post: Chrome Extensions at Google I/O 2024
Another Google I/O is behind us and we have covered all the exciting extensions updates! Head over to YouTube to check out the full video and read our blog post for some of the highlights.
Skip review for eligible Declarative Net Request changes
The Chrome Web Store now lets you skip review for eligible changes when using the Declarative Net Request API. Learn more about eligibility and how to opt-in in the Chrome Web Store documentation .
deployPercentage available in the Chrome Web Store API
We recently updated our Chrome Web Store API documentation to include information about deployPercentage
, which lets you assign a percentage of a partial rollout deployment. Learn about deployPercentage
.
Chrome 126: Origin Trials in extensions
Chrome 126 introduces a new manifest.json field - trial_tokens
, allowing you to opt into Origin Trials and Deprecation Trials across all extension surfaces. Read the guide for more information.
Blog post: What's happening in Chrome Extensions-April 2024
We've published a new edition of What's Happening in Chrome Extensions . The post discusses what the extension team has been working on for the past few months. This includes: Version Rollback in the Chrome Web Store, better Firebase Auth support and more API launches and updates.
Version rollbacks in the Chrome Web Store Developer Dashboard
Roll back your extension to the previous published version in the Chrome Web Store—without additional review! Read the blog post and documentation for more information.
Chrome 124: Advanced documentScan API
An advanced documentScan
API is now available on ChromeOS to discover and retrieve images from attached document scanners.
Chrome 124: WebGPU support in Service Workers
Since Chrome 124, service workers support WebGPU . For a quick start, checkout the WebGPU extension sample .
Chrome 123: The Events API supports filtering by CIDR blocks
The Events API now supports filtering by Classless Inter-Domain Routing (CIDR) blocks. A CIDR block is a collection of IP addresses that share a network prefix and the same number of bits. Previously, a developer needing to filter multiple IP addresses needed to configure a filter rule for each of the addresses in the block range. Now when an extension calls addListener()
, a passed in rule means the event handler will only be called when the host part of a URL is an IP address and is contained in any of the CIDR blocks specified in an array.
Chrome Web Store: Updates to extension name length requirements
On the Chrome Web Store, there is now a universal limit of 75 characters for an extension's "name"
field in the manifest.json. Previously, the limit for English was 45 characters, and there was no restriction to the "name"
field in other locales.
This was originally intended to allow for cultural and language differences that may not be able to be captured in the same number of characters. Unfortunately, this feature was abused by a small number of developers to spam the store. As a result we are introducing a new universal limit, an increase to 75 characters. This limit covers nearly all extensions on the store today, so it is likely no action will be needed by you as a result of this change. If you try to upload an extension that has a name longer than the maximum limit, then the upload will be blocked by the store.
Blog post: eyeo's journey to testing service worker suspension
In this post by eyeo's Extension Engine team, we explore the problem of testing extension service workers. In Manifest V2, extensions lived in a background page, which were awake throughout the extension lifecycle. Manifest V3 uses service workers instead, and service workers, by design, conserve resource by shutting down when they're not needed. This presents certain testing challenges. This post explains how eyeo tackled these challenges .
Chrome 123: Alarms now run when device is asleep
Alarms set using the chrome.alarms
API are no longer delayed when a device goes to sleep. When the device wakes up, the alarm will fire once no matter how many alarms were missed. For example, say that an alarm is set to go off once an hour and the device it's on is asleep from 12:55 AM to 2:05 AM, then only the 2:00 AM alarm triggers the onAlarm
event. It will fire as close to 2:00 AM as it can, and immediately when a device wakes if it was asleep.
This change brings Chrome inline with the agreed behavior in the Web Extensions Community Group.
Blog post: Changes to bfcache behavior with extension message ports
Back/forward cache (bfcache) is a browser optimization that enables instant back and forward navigation. Starting in Chrome 123, when a page with an open extension port is stored in bfcache, the message channel is closed, meaning that no messages will be sent to that page. Consequently, extension scripts should listen for lifecycle events such as onDisconnect
and set up a new connection when the page is restored from BFCache.
For more information and sample code, see Changes to BFCache behavior with extension message ports .
Chrome 122: Promise support on asynchronous extension APIs
We've finished implementing Promise support for all asynchronous extension API methods. This was done to modernize API methods by improving the ergonomics of dealing with asynchronous operations. A handful of methods (for example, desktopCapture.chooseDesktopMedia()
) continue to only support callbacks because their current surfaces are not compatible with Promises. For backwards compatibility, callbacks are still supported. If you find a Promise that fails, please file a bug .
New guidance for real time communication
We have just published guides on real time options in extensions. Real-time updates provide an instant communication path from your servers directly to your extension installations. Additionally, we have new guidance for using chrome.gcm , Web Push .
New guidance and sample: Testing service worker termination
We have just published a guide on how to Test service worker termination with Puppeteer . The accompanying sample demonstrates this in Puppeteer and Selenium.
Updated sample for native messaging
We have just published an updated sample for native messaging. This API allows your extension to start and communicate with another application. Thanks to GitHub contributor Shubham-Rasal for the work on this.
Chrome 121: New lastAccessed property on tabs.Tab
A new property named lastAccessed
was added to the tabs.Tab
object. This property indicates when the tab was last activated. The returned value is in milliseconds since epoch.
Chrome 121: Unsupported "background" keys now issue a warning
In the change from Manifest V2 to Manifest V3, children of the "background"
manifest key were changed to accommodate replacement of background scripts with extension service workers. Formerly, adding the Manifest V2 keys "scripts"
, "page"
, or "persistent"
to the "background"
key of a Manifest V3 extension would throw an error. The presence of these keys now triggers a warning.
This is being done to enable using a single manifest file in extensions in multiple browsers, per a proposal in the community group .
Chrome 120: Minimum alarm granularity reduced to 30 seconds
Beginning in Chrome 120, Manifest V3 extensions can use the chrome.alarms
API with delays or periods of 30 seconds, rather than requiring values of 60 seconds or more.
Blog post: Resuming the transition to Manifest V3
The Manifest V2 support timeline has been updated. See our November 2023 blog post for details.
Blog post: Improvements to content filtering support in Manifest V3
Learn about how we improved the declarativeNetRequest API in our new blog post .
Blog post: What's new in Chrome 120 for Extensions
Chrome 120 Beta was recently released. For a summary of the important updates relevant to extension developers, read our new blog post: What's new in Chrome 120 for Extensions . This release also marks a major milestone as it removes the final two items (userScripts, file handler on ChromeOS) from the list of critical platform gaps .
PSA: Change to handling of privacy policy URLs in Developer Dashboard
Privacy policies in the Developer Dashboard are now added at the item level. This allows you to provide a different privacy policy per item. Read more about this change in our PSA .
Video: A chat with Matt Frisbie
We've just published a new video on the Chrome for Developers YouTube channel chatting with Google Developer Expert and author Matt Frisbie. Watch it here .
New guidance on testing extensions
We've just published new guidance on how to write automated tests for extensions, including how to write unit tests and both general guidance and a tutorial on end-to-end testing.
Blog post: What's happening in Chrome Extensions - October 2023
We've just published the second edition of What's Happening in Chrome Extensions . The post discusses what the extension team has been working on for the past few months, including, addressing service worker stability issues, and making good progress on closing all MV3 platform gaps. We also share exciting upcoming API releases like the Reading List API and the User Scripts API.
Increased static ruleset limits in Declarative Net Request API
Following feedback in the Web Extensions Community Group, we are significantly increasing the limit on enabled static rulesets from 10 to 50. Additionally, we are increasing the total number of allowed static rulesets from 50 to 100. This is currently available in Canary.
Improved guidance around remotely-hosted code
A requirement for Manifest V3 is that extensions may no longer use remotely-hosted code. Although this has been part of our migration guide from the beginning, we thought it was worth improving the guidance around this issue. That page now provides more information, describing what's still possible in Manifest V3 and providing more information on strategies for upgrading.
There is a related addition to the Troubleshooting Chrome Web Store violations . A new section describes common reasons that extensions with remotely-hosted code are rejected.
Chrome 118: isUrlFilterCaseSensitive now defaults to false
Starting in Chrome 118, the isUrlFilterCaseSensitive
property in the chrome.declarativeNetRequest API has been changed to default to false
. If you wish to keep the old behavior, you can explicitly set isUrlFilterCaseSensitive
to true
in your declarativeNetRequest rules.
This follows discussions in the Web Extensions Community Group. Firefox and Safari have already implemented a similar change.
Documentation on cookies and web storage APIs
We published a new guide on how cookies and web storage APIs work in Chrome extensions . It includes details on cookie and storage partitioning changes in Privacy Sandbox , an ongoing project to deprecate third-party cookies through the creation of a series of new web platform APIs, and details on how they work in extensions.
Extension samples now searchable
We recently created a page that lets you search Chrome extension samples . The search page has multiple options. A search box lets you search for text in sample titles. You can restrict the search by permission or extension API. An additional filter lets you restrict search to either API or functional (use case) samples.
This new sample page was built by a Google Summer of Code participant, Xuezhou Dai, who also contributed several new samples. You can read about their experiences this past summer in their post on our blog .
As before, our code samples are still available on GitHub for cloning or forking.
Chrome 118: Changes to opening file: scheme URLs
Beginning in Chrome 118, extensions will need the "Allow access to file URLs" setting enabled from the chrome://extensions
page to open file:// scheme URLs using the Tabs or Windows APIs. You can programmatically check for this access by calling chrome.extension.isAllowedFileSchemeAccess()
. Firefox already restricts file URLs, and Safari supports the change. For more information, read the post in the extensions Google Group .
Chrome 117: Expanded URL protections on extension API navigations
Previously navigation triggered from extension API calls for tabs.update()
, tabs.create()
, and windows.create()
emitted an error for some chrome:// URLs. Additionally, calling tabs.update()
with a JavaScript URL was forbidden. In 117, these protections on JavaScript URLs have been expanded to the tabs.create()
method and a number of additional chrome:// URLs have been added to the list of forbidden URLs that applies to all of the previously mentioned methods.
Improved guidance for the declarativeNetRequest API
The chrome.declarativeNetRequest
API blocks or modifies network requests by specifying declarative rules. This lets extensions modify network requests without intercepting them and viewing their content, thus providing more privacy to users. It's also tricky to use. With that in mind, we've rewritten the guidance in a way that we think paints a clearer picture of how to implement declarative rulesets. Read the new section at the link above.
Using your Google Analytics account with the Chrome Web Store
The Chrome Web Store offers integration with Google Analytics, which allows you to see analytics for your Chrome Web Store listing in addition to the view offered in the Developer Dashboard. For more information, read Using your Google Analytics account with the Chrome Web Store .
Chrome 115: DevTools steps over content scripts by default
Injected content scripts are now in the DevTools ignore list by default. This doesn't affect breakpoints, but it does mean that content scripts will be stepped over during debugging and exceptions from these scripts will be ignored. When a content script is open in the Sources tab, a banner alerts you if this is on and provides an option to remove your content script from the ignore list. To turn this behavior off, open DevTools, go to Settings then Ignore list . To learn more, see What's new in DevTools .
Chrome 116 beta: More than we can fit here
Chrome 116 is a big release for extensions. You can now open side panels programmatically. A new method lets you learn if there's an active offscreen document. Service workers got serveral improvements. There's enough improvements in 116 that we've written a blog post to cover them . Chrome 116 is in beta as of July 19.
Blog post: What's happening in Chrome Extensions
We've just published an overview of this year's changes and improvements to extensions . The post discusses the year's big new features, including the Side Panel API, service worker enhancements, and offscreen documents. You'll also get a peek at what we're working on for this quarter. The article lists much more, with links to all.
New guidance and sample: Learn how to use Google Analytics 4 in your Chrome extension
We published new Google Analytics and geolocation guidance and samples:
- An updated version of our Google Analytics guidance explaining how you can use Google Analytics 4 in your Chrome extension. We've also added a working Google Analytics 4 sample to our Github sample repository. Check out
google-analytics.js
for the relevant code related to Google Analytics. - A new Geolocation guide and three samples demonstrating how to access geolocation in service workers, content scripts, popups and side panels.
Chrome 115: Specify multiple reasons in chrome.offscreen.createDocument()
You can now specify multiple reason
enums when calling chrome.offscreen.createDocument()
. Use this when an offscreen document will be used for multiple different purposes. The browser uses the supplied reasons to determine the lifetime of the offscreen document.
New tool: Extension Update Testing Tool
We've just released the Extension Update Testing Tool , a local extension update server that can be used for testing updates to Chrome Extensions during local development, including permission grants. The tool shows the user's update flow, including keeping an extension disabled until a user grants any newly requested permissions. This tool is particularly useful for simulating the permission changes requested when updating an extension from Manifest V2 to Manifest V3.
Chrome 114: New Side Panel API
Introducing the new Side Panel API, a companion surface that allows users to access tools alongside the content they are browsing. To learn more, visit the Side Panel API reference . Additionally, we've added many side panel samples to our GitHub sample repository . We also share more about side panels in the new blog post Designing a Superior User Experience with the New Side Panel API . Our quality guidelines policy and best practices have also been reviewed to provide further guidance on creating high-quality side panel extensions.
Your feedback is important in crafting this API; please share your thoughts and feature requests in the chromium-groups . Stay tuned for new updates as we continue to enhance the Side Panel API.
New Samples: WASM in extensions
There are two new samples available that demonstrate how to use WASM in an extension:
- Using WASM in Manifest V3 shows the general method for including a WASM module.
- Using WASM as a module in Manifest V3 shows how to use it in a module.
Special thanks to GitHub contributor @daidr for these samples.
Updated Manifest V3 migration guidance
We've updated the Known Issues section of our Manifest V3 migration guidance with an updated list of extension platform gaps that we intend to close before announcing a new Manifest V2 deprecation timeline.
Recording audio and video with Manifest V3
We've just published a new article called Audio recording and screen capture , which covers recording audio or video from a tab, window, or screen in Manifest V3. This article describes multiple approaches to recording involving the chrome.tabCapture
API and the getDisplayMedia()
function.
Chrome 114: Increased storage.local quota
We have increased the quota for the storage.local
property to approximately 10 MB. This was agreed to in the Web Extensions Community Group . This brings storage.local
in line with storage.session
which was changed in Chrome 112.
New extension service worker tutorial and help
Service Workers are an integral part of Chrome Extensions. We just published a tutorial explaining the basics of registering, debugging, and interacting with Service Workers. We've also added a new Service worker guide explaining important concepts in more detail. We'll be expanding this section in the coming months.
More troubleshooting tips for Web Store violations
To help with Chrome Web Store publishing, we added new guidance in two areas. Guidance for minimum functionality centers around providing users with benefits and enriching their browsing experience. Guidance for affiliate ads is about making users are aware of extensions using affiliate links or codes for monetization, and giving them some amount of control by requiring user action before inclusion.
New instructions for the Extension Manifest Converter
We've rewritten the README for the Extension Manifest Converter to make it easier to see what you need to do after running the tool. The converter helps helps migrate extensions built on Manifest V2 to Manifest V3. The new README describes what the tool does using words that closely match those in the migration guide's checklist . The converter doesn't do everything, but it does eliminate many tasks that don't require a human judgement call.
Chrome 113: New reasons for offscreen documents
We have added two new reason types to the Offscreen Documents API. Use LOCAL_STORAGE
to access the web platform's localStorage API. Use WORKER
when creating web workers.
Google Analytics 4 now in the Developer Dashboard
The Chrome Web Store Developer Dashboard now supports Google Analytics 4 (GA4). We've simplified setting up Google Analytics and made access management for group publishers more straightforward. If you previously used Google Universal Analytics to track your store listing activity, you will need to take action by July 1, 2023 to ensure that you continue receiving data about your store listing. For more information, see the post on the Chromium Extensions Google Group .
The File Handling API comes to ChromeOS
The File Handler API is available for experimentation on ChromeOS in Canary for versions 112 and 113. It lets extensions on ChromeOS open files with specified MIME types and file extensions. To implement file handling add a set of rules to the manifest.json
. This feature works the same as for Progressive web apps. For more information, see the article elsewhere on this site.
To enable file handling:
- Starting in 112, launch Chrome using the
--enable-features=ExtensionWebFileHandlers
flag, starting in 112 - Starting in 113, paste
os://flags/#extension-web-file-handlers
into the Chrome omnibox and select 'Enabled' from the dropdown menu.
We hope to launch this feature in Chrome 115, in late June. আপডেটের জন্য এই স্থান দেখুন.
New Samples: dynamic declarations and programmatic injection
We've built a new sample for the chrome.scripting
API. It demonstrates dynamic declarations, where a content script is registered at runtime, and programmatic injection, where a script is executed in a tab that is already open.
New Samples: Declarative Net Request use cases
Three new samples are available demonstrating the Declarative Net Request API . Each demonstrates implementation of a single use case. The first shows how to block cookies. The remaining two demonstrate blocking and redirecting URLs.
Chrome 112: Increased storage.session quota
From Chrome 112, the quota for the storage.session
property has been increased to approximately 10 MB. This was agreed to in the Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350
Chrome 109: Offscreen documents
Offscreen documents are now available in Manifest V3 extensions. These help with the transition from background pages to extension service workers by providing support for DOM-related features and APIs. For more information, read the blog post .
Chrome 110: Is an extension enabled
The chrome.action.isEnabled()
method programmatically checks whether an extension has been enabled for a specific tab. This saves you from maintaining the enabled state of your tabs. This new method takes a tab ID and a reference to a callback and returns a boolean. It has one limitation: tabs created using chrome.declarativeContent
always return false.
(The chrome.action
namespace recently got new methods for controlling the appearance of extension badges. For more information, see Setting badge colors .)
Chrome 110: Change in service worker idle timeout
Previously, an extension service worker would frequently shut down at the five minute mark. We've changed this behavior to more closely resemble service worker lifetime's on the web. An extension service worker will be shut down after either thirty seconds of inactivity or if a single activity takes longer than 5 minutes to process. For more information, see Longer extension service worker lifetimes .
Post: Pausing Manifest V2 phase-out
The Manifest V2 deprecation timelines are under review and the experiments scheduled for early 2023 are being postponed. For more information, read the update in the chromium-extensions Google Group.
Chrome 110: Setting badge colors
The chrome.action
namespace has two new methods to give you more control over the appearance extension badges. The setBadgeTextColor()
and getBadgeTextColor()
methods allow an extension to change and query its toolbar icon's badge text color. When used with setBadgeBackgroundColor
and getBadgeBackgroundColor
these new methods let you enforce design and brand consistency.
Blog post: More details on the transition to Manifest V3
We have clarified the Manifest V2 deprecation timeline . The Manifest V2 support timeline has also been updated to reflect this information.
Docs update: Known issues when migrating to Manifest V3
We've put together a list of major features currently in development and open bugs . Our goal with this page is to help developers better understand the current state of the platform and what features they can target as they prepare for the future.
Chrome Web Store: "large promo tile" image upload removed
Chrome Web Store has removed the "large promo tile" upload UI from the item Store Listing tab in the developer dashboard. This change does not affect the end user experience as these images were not used in the consumer UI. See this chromium-extensions post for additional details.
Chrome 106: Allow pages on file:// urls to access web accessible resources
Opaque origins such as sandboxed iframes and dynamic import should also be able to access web accessible resources, according to crbug.com/1219825#c11 .
Chrome 106: Fixed bug allowing incorrect final arguments on some async API functions
Previously, Manifest V3 calling async APIs could provide an invalid final argument and Chrome would not error. With this fix Chrome will now correctly error and report that there was no matching signature. Developers are encouraged to check their extensions on Canary for any errors in case they accidentally using incorrect signature for an API call that will be broken by this bug fix.
Blog post: Chrome Web Store analytics revamp
Chrome Web Store has a revamped item analytics experience for the Chrome Web Store Developer Dashboard. The new dashboard is easier to understand at a glance and consolidates the most useful information up front. Read the blog post for more information.
Chrome 105: promises for the Identity API
Functions on the Identity API now support promise based calls. This comes with a slight change to the surface for identity.getAuthToken()
, where the asynchronous return set to a promise based call will have "token" and "grantedScopes" as parameters on a single object (as opposed to the callback version receiving them as separate arguments to the callback).
Chrome 104: New favicons API for Manifest V3
Manifest V3 extensions can now access favicons using a new URL pattern: chrome-extension://<id>/_favicon/
, wherechrome://favicons
API. See the Favicon API docs for more information.
Docs update: Developer trader/non-trader disclosure
Added the trader/non-trader developer identification that informs developers to accurately self-declare their trader/non-trader status.
Chrome 103: Wasm in Manifest V3 requires wasm-unsafe-eval
Chrome no longer grants extensions script-src: wasm-unsafe-eval
by default. Extensions that use WebAssembly must now explicitly add this directive and value to extension_pages
in their content_security_policy
declarations.
Chrome 103: Changing MV3 shortcuts take effect immediately
When changing a Manifest V3 extension's keyboard shortcut on chrome://extensions/shortcuts
, updates are now applied immediately. Previously the extension would have to be reloaded before the change would take effect.
Chrome 102: Dynamic content scripts in main world
Dynamically registered content scripts can now specify the world that assets will be injected into. See scripting.registerContentScripts()
for details.
Chrome 102: New manifest field "optional_host_permissions"
Manifest V3 extensions can now specify the optional_host_permissions
key in manifest.json. This allows Manifest V3 extensions to declare optional match patterns for hosts just as Manifest V2 extensions could using the optional_permissions
key.
Chrome 102: injectImmediately property in scripting.executeScript()
chrome.scripting.executeScript()
now accepts an optional injectImmediately
property on it's injection
argument. If present and set to true, the script will inject into the target as soon as possible, rather than waiting for document_idle
. Note that this is not a guarantee the script will inject before the page is loaded since the page continues to load while the API call is being made.
Chrome 102: Omnibox API support in Manifest V3
The Omnibox API can now be used in service worker-based extensions. Previously, some of this API's methods would throw on invocation due to internal dependencies on DOM capabilities.
Chrome 102: wasm-unsafe-eval allowed in Manifest V3 CSP
Manifest V3 extensions can now include wasm-unsafe-eval
in their content_security_policy
declarations. This change allows Manifest V3 extensions to use WebAssembly.
Chrome 102: New storage.session API
Manifest V3 extensions can now use in memory storage storage.session .
Docs update: Chrome Web Store item discovery
Discovery on Chrome Web Store gives an overview of how users find items on the Chrome Web Store and how our editors select items to feature.
Chrome 101: Improved declarativeNetRequest domain conditions
declarativeNetRequest rule conditions have been updated to allow extensions to better target requests based on the request's "request" and "initiator" domains. The relevant condition properties are initiatorDomains
, excludedInitiatorDomains
, requestDomains
, and excludedRequestDomains
. See also this chromium-extensions thread .
Chrome 100: Resolved issue with scripting.executeScript() on newly created tabs
Fixed a longstanding issue where calling scripting.executeScript()
on a newly created tab or window could fail.
Chrome 100: native messaging port keeps service worker alive
Connecting to a native messaging host using chrome.runtime.connectNative()
in an extension's service worker should keep the service worker alive as long as the port is open.
Chrome 100: omnibox.setDefaultSuggestion() supports promises and callbacks
The omnibox.setDefaultSuggestion()
method now returns a promise or accepts a callback to allow developers to determine when the suggestion has been properly set.
Chrome 100: i18n.getMessage() support in extension service workers
The chrome.i18n.getMessage()
API is now supported in extension service worker contexts.
Chrome 99: match_origin_as_fallback in Canary
Content scripts can now specify the match_origin_as_fallback
key to inject into frames that are related to a matching frame, including frames with about:
, data:
, blob:
, and filesystem:
URLs. See the content scripts documentation for details.
Chrome 99: extension service worker support for file: schemes in Canary
Service worker-based Manifest V2 and Manifest V3 extensions can now use the Fetch API to request file:
-scheme URLs. Access to file:
-scheme URLs still requires that the user enable 'Allow access to File URLs' for the extension in the chrome://extensions
page.
Chrome 99: promise support for messaging APIs in Canary
Promise support has been added to tabs.sendMessage
, runtime.sendMessage
, and runtime.sendNativeMessage
for extensions built for Manifest V3.
Docs update: Chrome Web Store review documentation
Added a new reference page that provides an overview of the Chrome Web Store review process and explains how developer program policy enforcement is handled.
Chrome 98: scripting.executeScript() and scripting.insertCSS() accept multiple files
The Scripting API's executeScript()
and insertCSS()
methods now accept multiple files. Previously these methods required an array with a single file entry.
Docs update: review violation troubleshooting updates
The Troubleshooting Chrome Web Store violations page has been updated to provide developers with more detailed guidance for common reasons for rejection.
Chrome 96: expanded promise support to 27 more APIs
This release contains significantly more promise updates than any previous release. Updates include both general and ChromeOS-specific extensions APIs. Expand the following sections for details.
Extensions APIs
A number of APIs now support promises in Manifest V3.
-
chrome.browsingData
-
chrome.commands
-
chrome.contentSettings
-
chrome.debugger
-
chrome.downloads
-
chrome.enterprise.hardwarePlatform
-
chrome.fontSettings
-
chrome.history
-
chrome.instanceID
-
chrome.permissions
-
chrome.processes
-
chrome.search
-
chrome.sessions
-
chrome.topSites
Also, APIs that use the ChromeSetting
prototype now also support promises. The following APIs are affected by this change.
ChromeOS APIs
-
chrome.certificateProvider
-
chrome.documentScan
-
chrome.enterprise.deviceAttributes
-
chrome.enterprise.networkingAttributes
-
chrome.fileBrowserHandler
-
chrome.fileSystemProvider
-
chrome.loginState
-
chrome.printingMetrics
-
chrome.wallpaper
Chrome 96: dynamic content scripts
The chrome.scripting
API now supports registering , updating , unregistering , and getting a list of content scripts at runtime. Previously, content scripts could only be statically declared in an extension's manifest.json or programmatically injected at runtime with chrome.scripting.executeScript()
.
Docs update: Manifest V2 support timeline
The Manifest V2 to V3 transition timeline was announced in this blog post and a more detailed timeline page was published.
Chrome 96: declarativeNetRequestWithHostAccess permission
The new declarativeNetRequestWithHostAccess
permission allows extensions to use the chrome.declarativeNetRequest
API on sites the extension has host permissions for. This also enables existing Manifest V2 extensions that use webRequest
, webRequestBlocking
, and site-specific host permission to migrate to the chrome.declarativeNetRequest
API without requiring the user to approve new permissions.
Chrome 95: inject scripts directly into pages
The chrome.scripting
API's executeScript()
method can now inject scripts directly into a page's main world. Previously, extensions could only inject directly into the extension's isolated world. For more information on isolated worlds, see the documentation on content scripts .
Chrome 95: promise support for Storage API
Methods on the Manifest V3 version of the chrome.storage
API now return promises.
Policy update: two step verification enforcement
The policy update blog post published on June 29, 2021 has been updated to correct the two step verification deployment timeline.
Chrome 94: declarative net request static ruleset changes
The chrome.declarativeNetRequest
now supports specifying up to 50 static rulesets ( MAX_NUMBER_OF_STATIC_RULESETS ) and enabling up to 10 rulesets ( MAX_NUMBER_OF_ENABLED_STATIC_RULESETS ) at a time.
Chrome 93: cross origin isolation support
Both Manifest V2 and Manifest V3 extensions can now opt into cross origin isolation . This feature limits which cross-origin resources can load an extension's pages and enables the use of low level web platform features like SharedArrayBuffer
. Opt in will be required starting in Chrome 95.
Policy update: developer program policies updated
The Chrome Web Store Developer Program Policies have been updated with clarifications to the deceptive installation tactics, spam, and repetitive content policies. This update also includes a new two step verification requirement to publish on the Chrome Web Store. Read the blog post for more information.
Blog post: extension actions in Manifest V3
Chrome extensions had chrome.browserAction
and chrome.pageActions
APIs for years, but Manifest V3 replaced both with a generic chrome.actions
API. This post explores the history of these APIs and what has changed in Manifest V3. Read the post .
Blog post: introducing chrome.scripting
The chrome.scripting
API is a new Manifest V3 API focused on, well, scripting. In this post we dig into the motivations for this change and take a closer look at it's new capabilities. Read the post .
Chrome 92: module service worker support
Chrome now supports JavaScript modules in service workers. To specify a module a module in your manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
This loads the worker script as an ES module, which lets you use the import
keyword in the worker's script to import other modules.
Chrome 91: chrome.action.getUserSettings()
The new chrome.action.getUserSettings()
method allows extensions to determine if the user has pinned the extension to the main toolbar.
Chrome 90: chrome.scripting.removeCSS()
The new chrome.scripting.removeCSS()
method allows extensions to remove CSS that was previously inserted via chrome.scripting.insertCSS()
. It replaces chrome.tabs.removeCSS()
.
Chrome 90: returning promises from scripting.executeScript()
chrome.scripting.executeScript()
now supports returning promises. If the resulting value of the script execution is a promise, Chrome will wait for the promise to settle and return its resulting value.
Chrome 90: chrome.scripting.executeScript() results include frameId
Results returned from chrome.scripting.executeScript()
now include the frameId . The frameId
property indicates the frame that the result is from, letting extensions easily associate results with the individual frames when injecting in multiple frames.
Chrome 89: new API for managing tab groups
The new chrome.tabGroups
API and new capabilities in chrome.tabs
let extensions read and manipulate tab groups. Requires Manifest V3.
Chrome 89: customizable permissions for web accessible resources
Web accessible resources definitions in Manifest V3 have changed to let extensions restrict resource access based on the requester's origin or extension ID.
Blog post: Extension Manifest Converter
The Chrome Extensions team has open sourced "Extension Manifest Converter", a Python tool that automates some of the mechanical aspects of converting extensions to Manifest V3. See the announcement blog post and get it from GitHub .
Chrome 88: Manifest V3 general availability
Manifest V3 is a major update to the extensions platform; see Overview of Manifest V3 for a summary of new and changed features. Extensions may continue to use Manifest V2 for now, but this will be phased out in the near future. We strongly recommend that you use Manifest V3 for any new extensions, and begin migrating existing extensions to Manifest V3 as soon as possible.
,Check this page often to learn about changes to Chrome extensions, extensions documentation, or related policy or other changes. You'll find other notices posted on the Extensions Google Group . The Chrome schedule lists stable and beta release dates.
Chrome 132: New frozen property in Tabs API
Starting in Chrome 132, the frozen
property in the Tabs API indicates if a tab has been frozen by the browser. Messages sent to frozen tabs will be queued and handled when the tab is unfrozen.
The Prompt API in Chrome Extensions
The Prompt API for Extensions is now available in an origin trial, so you can build Chrome Extensions that use Gemini Nano, our most efficient language model, in the browser.
Join the Prompt API origin trial, running in Chrome 131 to 136, and share your feedback. আপনার ইনপুট সরাসরি প্রভাবিত করতে পারে কিভাবে আমরা এই API এর ভবিষ্যত সংস্করণগুলি তৈরি এবং প্রয়োগ করি এবং সমস্ত অন্তর্নির্মিত AI API গুলি।
Blog post: What's happening in Chrome Extensions, October 2024
It's time for another round up of what's happening in Chrome Extensions: we have exciting updates on AI integration, new APIs, events, and videos. Read all about it in What's happening in Chrome Extensions October edition !
Join the built-in AI Challenge
Chrome has launched the Built-in AI Challenge: You are invited to create innovative web applications and Chrome Extensions, using Chrome's integrated AI models and APIs , and have a chance to win prizes which total $65,000 USD.
Sign up and get more information on the Built-in AI Challenge website . We can't wait to see what you create when you infuse the web with AI!
Chrome 130: action.onUserSettingsChanged
Starting in Chrome 130, the action.onUserSettingsChanged event is available. This follows a proposal in the WebExtensions Community Group. Thanks to Microsoft for the contribution to Chromium.
Chrome 130: StorageArea.getKeys()
Starting in Chrome 130, the getKeys() method is available on the StorageArea interface used by the chrome.storage
API. This follows a proposal in the WebExtensions Community Group.
Chrome 128: Response header matching in Declarative Net Request
Starting in Chrome 128, we are adding support for response header matching in the Declarative Net Request API. This was a common request, particularly for matching the Content-Type header, and we designed a suitable API together with the WebExtensions Community Group.
We've updated our API reference to include the new responseHeaders
and excludedResponseHeaders
fields. You can use these to check for the existence of and value of a given header.
As part of this update, we've added a new rule evaluation section to our documentation which explains how rules are matched. For header matching in particular, rules can only run once response headers have been received, so they are applied at a later stage than other rules. This means the request does reach the server before being blocked or redirected.
Video: What are content scripts?
Learn about content scripts in Chrome Extensions, including how to register CSS and JavaScript to run on a particular page. Check out the full video .
Important policy updates
Chrome Web Store team has published a series of updates to the Developer Program Policies page designed to encourage the development of high quality products, prevent deceptive behavior, and ensure informed user consent. Rebecca Soares, the Chrome Web Store policy manager, has summarized all the updates in Chrome Extensions: Important policy updates blog post .
Blog post: What's happening in Chrome Extensions, July 2024
In the past three months we've rolled out several significant updates and new features, including the start of Manifest V2 phase out. Get up to speed in What's happening in Chrome Extensions July edition !
Video: What is a Remote Hosted Code?
Patrick from the Chrome Extensions team explains the concept of Remotely Hosted Code (RHC) in Chrome Extensions. Learn why RHC is no longer allowed, how to detect it, and what to do if your extension needs to be updated. Check out the full video .
Chrome 127: New action.openPopup API
Beginning in Chrome 127, the action.openPopup
API is available to all extensions. Previously, it was only available in Canary or to extensions installed by a policy.
Video: Trust & Safety team interview
The Chrome Extensions DevRel team sat down with the Trust & Safety team that leads review in the Chrome Web Store to ask your questions. Check out the full video .
Blog post: Manifest V2 phase-out begins
Starting on June 3 on the Chrome Beta, Dev and Canary channels, if users still have Manifest V2 extensions installed, some will start to see a warning banner when visiting their extension management page - chrome://extensions - informing them that some (Manifest V2) extensions they have installed will soon no longer be supported. Read more in the official announcement
Updates to Side Panel UI
We recently made some changes to the Side Panel UI, including adding a pin icon and removing the global side panel icon. Read more in the PSA and see our updated documentation and samples .
Blog post: Chrome Extensions at Google I/O 2024
Another Google I/O is behind us and we have covered all the exciting extensions updates! Head over to YouTube to check out the full video and read our blog post for some of the highlights.
Skip review for eligible Declarative Net Request changes
The Chrome Web Store now lets you skip review for eligible changes when using the Declarative Net Request API. Learn more about eligibility and how to opt-in in the Chrome Web Store documentation .
deployPercentage available in the Chrome Web Store API
We recently updated our Chrome Web Store API documentation to include information about deployPercentage
, which lets you assign a percentage of a partial rollout deployment. Learn about deployPercentage
.
Chrome 126: Origin Trials in extensions
Chrome 126 introduces a new manifest.json field - trial_tokens
, allowing you to opt into Origin Trials and Deprecation Trials across all extension surfaces. Read the guide for more information.
Blog post: What's happening in Chrome Extensions-April 2024
We've published a new edition of What's Happening in Chrome Extensions . The post discusses what the extension team has been working on for the past few months. This includes: Version Rollback in the Chrome Web Store, better Firebase Auth support and more API launches and updates.
Version rollbacks in the Chrome Web Store Developer Dashboard
Roll back your extension to the previous published version in the Chrome Web Store—without additional review! Read the blog post and documentation for more information.
Chrome 124: Advanced documentScan API
An advanced documentScan
API is now available on ChromeOS to discover and retrieve images from attached document scanners.
Chrome 124: WebGPU support in Service Workers
Since Chrome 124, service workers support WebGPU . For a quick start, checkout the WebGPU extension sample .
Chrome 123: The Events API supports filtering by CIDR blocks
The Events API now supports filtering by Classless Inter-Domain Routing (CIDR) blocks. A CIDR block is a collection of IP addresses that share a network prefix and the same number of bits. Previously, a developer needing to filter multiple IP addresses needed to configure a filter rule for each of the addresses in the block range. Now when an extension calls addListener()
, a passed in rule means the event handler will only be called when the host part of a URL is an IP address and is contained in any of the CIDR blocks specified in an array.
Chrome Web Store: Updates to extension name length requirements
On the Chrome Web Store, there is now a universal limit of 75 characters for an extension's "name"
field in the manifest.json. Previously, the limit for English was 45 characters, and there was no restriction to the "name"
field in other locales.
This was originally intended to allow for cultural and language differences that may not be able to be captured in the same number of characters. Unfortunately, this feature was abused by a small number of developers to spam the store. As a result we are introducing a new universal limit, an increase to 75 characters. This limit covers nearly all extensions on the store today, so it is likely no action will be needed by you as a result of this change. If you try to upload an extension that has a name longer than the maximum limit, then the upload will be blocked by the store.
Blog post: eyeo's journey to testing service worker suspension
In this post by eyeo's Extension Engine team, we explore the problem of testing extension service workers. In Manifest V2, extensions lived in a background page, which were awake throughout the extension lifecycle. Manifest V3 uses service workers instead, and service workers, by design, conserve resource by shutting down when they're not needed. This presents certain testing challenges. This post explains how eyeo tackled these challenges .
Chrome 123: Alarms now run when device is asleep
Alarms set using the chrome.alarms
API are no longer delayed when a device goes to sleep. When the device wakes up, the alarm will fire once no matter how many alarms were missed. For example, say that an alarm is set to go off once an hour and the device it's on is asleep from 12:55 AM to 2:05 AM, then only the 2:00 AM alarm triggers the onAlarm
event. It will fire as close to 2:00 AM as it can, and immediately when a device wakes if it was asleep.
This change brings Chrome inline with the agreed behavior in the Web Extensions Community Group.
Blog post: Changes to bfcache behavior with extension message ports
Back/forward cache (bfcache) is a browser optimization that enables instant back and forward navigation. Starting in Chrome 123, when a page with an open extension port is stored in bfcache, the message channel is closed, meaning that no messages will be sent to that page. Consequently, extension scripts should listen for lifecycle events such as onDisconnect
and set up a new connection when the page is restored from BFCache.
For more information and sample code, see Changes to BFCache behavior with extension message ports .
Chrome 122: Promise support on asynchronous extension APIs
We've finished implementing Promise support for all asynchronous extension API methods. This was done to modernize API methods by improving the ergonomics of dealing with asynchronous operations. A handful of methods (for example, desktopCapture.chooseDesktopMedia()
) continue to only support callbacks because their current surfaces are not compatible with Promises. For backwards compatibility, callbacks are still supported. If you find a Promise that fails, please file a bug .
New guidance for real time communication
We have just published guides on real time options in extensions. Real-time updates provide an instant communication path from your servers directly to your extension installations. Additionally, we have new guidance for using chrome.gcm , Web Push .
New guidance and sample: Testing service worker termination
We have just published a guide on how to Test service worker termination with Puppeteer . The accompanying sample demonstrates this in Puppeteer and Selenium.
Updated sample for native messaging
We have just published an updated sample for native messaging. This API allows your extension to start and communicate with another application. Thanks to GitHub contributor Shubham-Rasal for the work on this.
Chrome 121: New lastAccessed property on tabs.Tab
A new property named lastAccessed
was added to the tabs.Tab
object. This property indicates when the tab was last activated. The returned value is in milliseconds since epoch.
Chrome 121: Unsupported "background" keys now issue a warning
In the change from Manifest V2 to Manifest V3, children of the "background"
manifest key were changed to accommodate replacement of background scripts with extension service workers. Formerly, adding the Manifest V2 keys "scripts"
, "page"
, or "persistent"
to the "background"
key of a Manifest V3 extension would throw an error. The presence of these keys now triggers a warning.
This is being done to enable using a single manifest file in extensions in multiple browsers, per a proposal in the community group .
Chrome 120: Minimum alarm granularity reduced to 30 seconds
Beginning in Chrome 120, Manifest V3 extensions can use the chrome.alarms
API with delays or periods of 30 seconds, rather than requiring values of 60 seconds or more.
Blog post: Resuming the transition to Manifest V3
The Manifest V2 support timeline has been updated. See our November 2023 blog post for details.
Blog post: Improvements to content filtering support in Manifest V3
Learn about how we improved the declarativeNetRequest API in our new blog post .
Blog post: What's new in Chrome 120 for Extensions
Chrome 120 Beta was recently released. For a summary of the important updates relevant to extension developers, read our new blog post: What's new in Chrome 120 for Extensions . This release also marks a major milestone as it removes the final two items (userScripts, file handler on ChromeOS) from the list of critical platform gaps .
PSA: Change to handling of privacy policy URLs in Developer Dashboard
Privacy policies in the Developer Dashboard are now added at the item level. This allows you to provide a different privacy policy per item. Read more about this change in our PSA .
Video: A chat with Matt Frisbie
We've just published a new video on the Chrome for Developers YouTube channel chatting with Google Developer Expert and author Matt Frisbie. Watch it here .
New guidance on testing extensions
We've just published new guidance on how to write automated tests for extensions, including how to write unit tests and both general guidance and a tutorial on end-to-end testing.
Blog post: What's happening in Chrome Extensions - October 2023
We've just published the second edition of What's Happening in Chrome Extensions . The post discusses what the extension team has been working on for the past few months, including, addressing service worker stability issues, and making good progress on closing all MV3 platform gaps. We also share exciting upcoming API releases like the Reading List API and the User Scripts API.
Increased static ruleset limits in Declarative Net Request API
Following feedback in the Web Extensions Community Group, we are significantly increasing the limit on enabled static rulesets from 10 to 50. Additionally, we are increasing the total number of allowed static rulesets from 50 to 100. This is currently available in Canary.
Improved guidance around remotely-hosted code
A requirement for Manifest V3 is that extensions may no longer use remotely-hosted code. Although this has been part of our migration guide from the beginning, we thought it was worth improving the guidance around this issue. That page now provides more information, describing what's still possible in Manifest V3 and providing more information on strategies for upgrading.
There is a related addition to the Troubleshooting Chrome Web Store violations . A new section describes common reasons that extensions with remotely-hosted code are rejected.
Chrome 118: isUrlFilterCaseSensitive now defaults to false
Starting in Chrome 118, the isUrlFilterCaseSensitive
property in the chrome.declarativeNetRequest API has been changed to default to false
. If you wish to keep the old behavior, you can explicitly set isUrlFilterCaseSensitive
to true
in your declarativeNetRequest rules.
This follows discussions in the Web Extensions Community Group. Firefox and Safari have already implemented a similar change.
Documentation on cookies and web storage APIs
We published a new guide on how cookies and web storage APIs work in Chrome extensions . It includes details on cookie and storage partitioning changes in Privacy Sandbox , an ongoing project to deprecate third-party cookies through the creation of a series of new web platform APIs, and details on how they work in extensions.
Extension samples now searchable
We recently created a page that lets you search Chrome extension samples . The search page has multiple options. A search box lets you search for text in sample titles. You can restrict the search by permission or extension API. An additional filter lets you restrict search to either API or functional (use case) samples.
This new sample page was built by a Google Summer of Code participant, Xuezhou Dai, who also contributed several new samples. You can read about their experiences this past summer in their post on our blog .
As before, our code samples are still available on GitHub for cloning or forking.
Chrome 118: Changes to opening file: scheme URLs
Beginning in Chrome 118, extensions will need the "Allow access to file URLs" setting enabled from the chrome://extensions
page to open file:// scheme URLs using the Tabs or Windows APIs. You can programmatically check for this access by calling chrome.extension.isAllowedFileSchemeAccess()
. Firefox already restricts file URLs, and Safari supports the change. For more information, read the post in the extensions Google Group .
Chrome 117: Expanded URL protections on extension API navigations
Previously navigation triggered from extension API calls for tabs.update()
, tabs.create()
, and windows.create()
emitted an error for some chrome:// URLs. Additionally, calling tabs.update()
with a JavaScript URL was forbidden. In 117, these protections on JavaScript URLs have been expanded to the tabs.create()
method and a number of additional chrome:// URLs have been added to the list of forbidden URLs that applies to all of the previously mentioned methods.
Improved guidance for the declarativeNetRequest API
The chrome.declarativeNetRequest
API blocks or modifies network requests by specifying declarative rules. This lets extensions modify network requests without intercepting them and viewing their content, thus providing more privacy to users. It's also tricky to use. With that in mind, we've rewritten the guidance in a way that we think paints a clearer picture of how to implement declarative rulesets. Read the new section at the link above.
Using your Google Analytics account with the Chrome Web Store
The Chrome Web Store offers integration with Google Analytics, which allows you to see analytics for your Chrome Web Store listing in addition to the view offered in the Developer Dashboard. For more information, read Using your Google Analytics account with the Chrome Web Store .
Chrome 115: DevTools steps over content scripts by default
Injected content scripts are now in the DevTools ignore list by default. This doesn't affect breakpoints, but it does mean that content scripts will be stepped over during debugging and exceptions from these scripts will be ignored. When a content script is open in the Sources tab, a banner alerts you if this is on and provides an option to remove your content script from the ignore list. To turn this behavior off, open DevTools, go to Settings then Ignore list . To learn more, see What's new in DevTools .
Chrome 116 beta: More than we can fit here
Chrome 116 is a big release for extensions. You can now open side panels programmatically. A new method lets you learn if there's an active offscreen document. Service workers got serveral improvements. There's enough improvements in 116 that we've written a blog post to cover them . Chrome 116 is in beta as of July 19.
Blog post: What's happening in Chrome Extensions
We've just published an overview of this year's changes and improvements to extensions . The post discusses the year's big new features, including the Side Panel API, service worker enhancements, and offscreen documents. You'll also get a peek at what we're working on for this quarter. The article lists much more, with links to all.
New guidance and sample: Learn how to use Google Analytics 4 in your Chrome extension
We published new Google Analytics and geolocation guidance and samples:
- An updated version of our Google Analytics guidance explaining how you can use Google Analytics 4 in your Chrome extension. We've also added a working Google Analytics 4 sample to our Github sample repository. Check out
google-analytics.js
for the relevant code related to Google Analytics. - A new Geolocation guide and three samples demonstrating how to access geolocation in service workers, content scripts, popups and side panels.
Chrome 115: Specify multiple reasons in chrome.offscreen.createDocument()
You can now specify multiple reason
enums when calling chrome.offscreen.createDocument()
. Use this when an offscreen document will be used for multiple different purposes. The browser uses the supplied reasons to determine the lifetime of the offscreen document.
New tool: Extension Update Testing Tool
We've just released the Extension Update Testing Tool , a local extension update server that can be used for testing updates to Chrome Extensions during local development, including permission grants. The tool shows the user's update flow, including keeping an extension disabled until a user grants any newly requested permissions. This tool is particularly useful for simulating the permission changes requested when updating an extension from Manifest V2 to Manifest V3.
Chrome 114: New Side Panel API
Introducing the new Side Panel API, a companion surface that allows users to access tools alongside the content they are browsing. To learn more, visit the Side Panel API reference . Additionally, we've added many side panel samples to our GitHub sample repository . We also share more about side panels in the new blog post Designing a Superior User Experience with the New Side Panel API . Our quality guidelines policy and best practices have also been reviewed to provide further guidance on creating high-quality side panel extensions.
Your feedback is important in crafting this API; please share your thoughts and feature requests in the chromium-groups . Stay tuned for new updates as we continue to enhance the Side Panel API.
New Samples: WASM in extensions
There are two new samples available that demonstrate how to use WASM in an extension:
- Using WASM in Manifest V3 shows the general method for including a WASM module.
- Using WASM as a module in Manifest V3 shows how to use it in a module.
Special thanks to GitHub contributor @daidr for these samples.
Updated Manifest V3 migration guidance
We've updated the Known Issues section of our Manifest V3 migration guidance with an updated list of extension platform gaps that we intend to close before announcing a new Manifest V2 deprecation timeline.
Recording audio and video with Manifest V3
We've just published a new article called Audio recording and screen capture , which covers recording audio or video from a tab, window, or screen in Manifest V3. This article describes multiple approaches to recording involving the chrome.tabCapture
API and the getDisplayMedia()
function.
Chrome 114: Increased storage.local quota
We have increased the quota for the storage.local
property to approximately 10 MB. This was agreed to in the Web Extensions Community Group . This brings storage.local
in line with storage.session
which was changed in Chrome 112.
New extension service worker tutorial and help
Service Workers are an integral part of Chrome Extensions. We just published a tutorial explaining the basics of registering, debugging, and interacting with Service Workers. We've also added a new Service worker guide explaining important concepts in more detail. We'll be expanding this section in the coming months.
More troubleshooting tips for Web Store violations
To help with Chrome Web Store publishing, we added new guidance in two areas. Guidance for minimum functionality centers around providing users with benefits and enriching their browsing experience. Guidance for affiliate ads is about making users are aware of extensions using affiliate links or codes for monetization, and giving them some amount of control by requiring user action before inclusion.
New instructions for the Extension Manifest Converter
We've rewritten the README for the Extension Manifest Converter to make it easier to see what you need to do after running the tool. The converter helps helps migrate extensions built on Manifest V2 to Manifest V3. The new README describes what the tool does using words that closely match those in the migration guide's checklist . The converter doesn't do everything, but it does eliminate many tasks that don't require a human judgement call.
Chrome 113: New reasons for offscreen documents
We have added two new reason types to the Offscreen Documents API. Use LOCAL_STORAGE
to access the web platform's localStorage API. Use WORKER
when creating web workers.
Google Analytics 4 now in the Developer Dashboard
The Chrome Web Store Developer Dashboard now supports Google Analytics 4 (GA4). We've simplified setting up Google Analytics and made access management for group publishers more straightforward. If you previously used Google Universal Analytics to track your store listing activity, you will need to take action by July 1, 2023 to ensure that you continue receiving data about your store listing. For more information, see the post on the Chromium Extensions Google Group .
The File Handling API comes to ChromeOS
The File Handler API is available for experimentation on ChromeOS in Canary for versions 112 and 113. It lets extensions on ChromeOS open files with specified MIME types and file extensions. To implement file handling add a set of rules to the manifest.json
. This feature works the same as for Progressive web apps. For more information, see the article elsewhere on this site.
To enable file handling:
- Starting in 112, launch Chrome using the
--enable-features=ExtensionWebFileHandlers
flag, starting in 112 - Starting in 113, paste
os://flags/#extension-web-file-handlers
into the Chrome omnibox and select 'Enabled' from the dropdown menu.
We hope to launch this feature in Chrome 115, in late June. আপডেটের জন্য এই স্থান দেখুন.
New Samples: dynamic declarations and programmatic injection
We've built a new sample for the chrome.scripting
API. It demonstrates dynamic declarations, where a content script is registered at runtime, and programmatic injection, where a script is executed in a tab that is already open.
New Samples: Declarative Net Request use cases
Three new samples are available demonstrating the Declarative Net Request API . Each demonstrates implementation of a single use case. The first shows how to block cookies. The remaining two demonstrate blocking and redirecting URLs.
Chrome 112: Increased storage.session quota
From Chrome 112, the quota for the storage.session
property has been increased to approximately 10 MB. This was agreed to in the Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350
Chrome 109: Offscreen documents
Offscreen documents are now available in Manifest V3 extensions. These help with the transition from background pages to extension service workers by providing support for DOM-related features and APIs. For more information, read the blog post .
Chrome 110: Is an extension enabled
The chrome.action.isEnabled()
method programmatically checks whether an extension has been enabled for a specific tab. This saves you from maintaining the enabled state of your tabs. This new method takes a tab ID and a reference to a callback and returns a boolean. It has one limitation: tabs created using chrome.declarativeContent
always return false.
(The chrome.action
namespace recently got new methods for controlling the appearance of extension badges. For more information, see Setting badge colors .)
Chrome 110: Change in service worker idle timeout
Previously, an extension service worker would frequently shut down at the five minute mark. We've changed this behavior to more closely resemble service worker lifetime's on the web. An extension service worker will be shut down after either thirty seconds of inactivity or if a single activity takes longer than 5 minutes to process. For more information, see Longer extension service worker lifetimes .
Post: Pausing Manifest V2 phase-out
The Manifest V2 deprecation timelines are under review and the experiments scheduled for early 2023 are being postponed. For more information, read the update in the chromium-extensions Google Group.
Chrome 110: Setting badge colors
The chrome.action
namespace has two new methods to give you more control over the appearance extension badges. The setBadgeTextColor()
and getBadgeTextColor()
methods allow an extension to change and query its toolbar icon's badge text color. When used with setBadgeBackgroundColor
and getBadgeBackgroundColor
these new methods let you enforce design and brand consistency.
Blog post: More details on the transition to Manifest V3
We have clarified the Manifest V2 deprecation timeline . The Manifest V2 support timeline has also been updated to reflect this information.
Docs update: Known issues when migrating to Manifest V3
We've put together a list of major features currently in development and open bugs . Our goal with this page is to help developers better understand the current state of the platform and what features they can target as they prepare for the future.
Chrome Web Store: "large promo tile" image upload removed
Chrome Web Store has removed the "large promo tile" upload UI from the item Store Listing tab in the developer dashboard. This change does not affect the end user experience as these images were not used in the consumer UI. See this chromium-extensions post for additional details.
Chrome 106: Allow pages on file:// urls to access web accessible resources
Opaque origins such as sandboxed iframes and dynamic import should also be able to access web accessible resources, according to crbug.com/1219825#c11 .
Chrome 106: Fixed bug allowing incorrect final arguments on some async API functions
Previously, Manifest V3 calling async APIs could provide an invalid final argument and Chrome would not error. With this fix Chrome will now correctly error and report that there was no matching signature. Developers are encouraged to check their extensions on Canary for any errors in case they accidentally using incorrect signature for an API call that will be broken by this bug fix.
Blog post: Chrome Web Store analytics revamp
Chrome Web Store has a revamped item analytics experience for the Chrome Web Store Developer Dashboard. The new dashboard is easier to understand at a glance and consolidates the most useful information up front. Read the blog post for more information.
Chrome 105: promises for the Identity API
Functions on the Identity API now support promise based calls. This comes with a slight change to the surface for identity.getAuthToken()
, where the asynchronous return set to a promise based call will have "token" and "grantedScopes" as parameters on a single object (as opposed to the callback version receiving them as separate arguments to the callback).
Chrome 104: New favicons API for Manifest V3
Manifest V3 extensions can now access favicons using a new URL pattern: chrome-extension://<id>/_favicon/
, wherechrome://favicons
API. See the Favicon API docs for more information.
Docs update: Developer trader/non-trader disclosure
Added the trader/non-trader developer identification that informs developers to accurately self-declare their trader/non-trader status.
Chrome 103: Wasm in Manifest V3 requires wasm-unsafe-eval
Chrome no longer grants extensions script-src: wasm-unsafe-eval
by default. Extensions that use WebAssembly must now explicitly add this directive and value to extension_pages
in their content_security_policy
declarations.
Chrome 103: Changing MV3 shortcuts take effect immediately
When changing a Manifest V3 extension's keyboard shortcut on chrome://extensions/shortcuts
, updates are now applied immediately. Previously the extension would have to be reloaded before the change would take effect.
Chrome 102: Dynamic content scripts in main world
Dynamically registered content scripts can now specify the world that assets will be injected into. See scripting.registerContentScripts()
for details.
Chrome 102: New manifest field "optional_host_permissions"
Manifest V3 extensions can now specify the optional_host_permissions
key in manifest.json. This allows Manifest V3 extensions to declare optional match patterns for hosts just as Manifest V2 extensions could using the optional_permissions
key.
Chrome 102: injectImmediately property in scripting.executeScript()
chrome.scripting.executeScript()
now accepts an optional injectImmediately
property on it's injection
argument. If present and set to true, the script will inject into the target as soon as possible, rather than waiting for document_idle
. Note that this is not a guarantee the script will inject before the page is loaded since the page continues to load while the API call is being made.
Chrome 102: Omnibox API support in Manifest V3
The Omnibox API can now be used in service worker-based extensions. Previously, some of this API's methods would throw on invocation due to internal dependencies on DOM capabilities.
Chrome 102: wasm-unsafe-eval allowed in Manifest V3 CSP
Manifest V3 extensions can now include wasm-unsafe-eval
in their content_security_policy
declarations. This change allows Manifest V3 extensions to use WebAssembly.
Chrome 102: New storage.session API
Manifest V3 extensions can now use in memory storage storage.session .
Docs update: Chrome Web Store item discovery
Discovery on Chrome Web Store gives an overview of how users find items on the Chrome Web Store and how our editors select items to feature.
Chrome 101: Improved declarativeNetRequest domain conditions
declarativeNetRequest rule conditions have been updated to allow extensions to better target requests based on the request's "request" and "initiator" domains. The relevant condition properties are initiatorDomains
, excludedInitiatorDomains
, requestDomains
, and excludedRequestDomains
. See also this chromium-extensions thread .
Chrome 100: Resolved issue with scripting.executeScript() on newly created tabs
Fixed a longstanding issue where calling scripting.executeScript()
on a newly created tab or window could fail.
Chrome 100: native messaging port keeps service worker alive
Connecting to a native messaging host using chrome.runtime.connectNative()
in an extension's service worker should keep the service worker alive as long as the port is open.
Chrome 100: omnibox.setDefaultSuggestion() supports promises and callbacks
The omnibox.setDefaultSuggestion()
method now returns a promise or accepts a callback to allow developers to determine when the suggestion has been properly set.
Chrome 100: i18n.getMessage() support in extension service workers
The chrome.i18n.getMessage()
API is now supported in extension service worker contexts.
Chrome 99: match_origin_as_fallback in Canary
Content scripts can now specify the match_origin_as_fallback
key to inject into frames that are related to a matching frame, including frames with about:
, data:
, blob:
, and filesystem:
URLs. See the content scripts documentation for details.
Chrome 99: extension service worker support for file: schemes in Canary
Service worker-based Manifest V2 and Manifest V3 extensions can now use the Fetch API to request file:
-scheme URLs. Access to file:
-scheme URLs still requires that the user enable 'Allow access to File URLs' for the extension in the chrome://extensions
page.
Chrome 99: promise support for messaging APIs in Canary
Promise support has been added to tabs.sendMessage
, runtime.sendMessage
, and runtime.sendNativeMessage
for extensions built for Manifest V3.
Docs update: Chrome Web Store review documentation
Added a new reference page that provides an overview of the Chrome Web Store review process and explains how developer program policy enforcement is handled.
Chrome 98: scripting.executeScript() and scripting.insertCSS() accept multiple files
The Scripting API's executeScript()
and insertCSS()
methods now accept multiple files. Previously these methods required an array with a single file entry.
Docs update: review violation troubleshooting updates
The Troubleshooting Chrome Web Store violations page has been updated to provide developers with more detailed guidance for common reasons for rejection.
Chrome 96: expanded promise support to 27 more APIs
This release contains significantly more promise updates than any previous release. Updates include both general and ChromeOS-specific extensions APIs. Expand the following sections for details.
Extensions APIs
A number of APIs now support promises in Manifest V3.
-
chrome.browsingData
-
chrome.commands
-
chrome.contentSettings
-
chrome.debugger
-
chrome.downloads
-
chrome.enterprise.hardwarePlatform
-
chrome.fontSettings
-
chrome.history
-
chrome.instanceID
-
chrome.permissions
-
chrome.processes
-
chrome.search
-
chrome.sessions
-
chrome.topSites
Also, APIs that use the ChromeSetting
prototype now also support promises. The following APIs are affected by this change.
ChromeOS APIs
-
chrome.certificateProvider
-
chrome.documentScan
-
chrome.enterprise.deviceAttributes
-
chrome.enterprise.networkingAttributes
-
chrome.fileBrowserHandler
-
chrome.fileSystemProvider
-
chrome.loginState
-
chrome.printingMetrics
-
chrome.wallpaper
Chrome 96: dynamic content scripts
The chrome.scripting
API now supports registering , updating , unregistering , and getting a list of content scripts at runtime. Previously, content scripts could only be statically declared in an extension's manifest.json or programmatically injected at runtime with chrome.scripting.executeScript()
.
Docs update: Manifest V2 support timeline
The Manifest V2 to V3 transition timeline was announced in this blog post and a more detailed timeline page was published.
Chrome 96: declarativeNetRequestWithHostAccess permission
The new declarativeNetRequestWithHostAccess
permission allows extensions to use the chrome.declarativeNetRequest
API on sites the extension has host permissions for. This also enables existing Manifest V2 extensions that use webRequest
, webRequestBlocking
, and site-specific host permission to migrate to the chrome.declarativeNetRequest
API without requiring the user to approve new permissions.
Chrome 95: inject scripts directly into pages
The chrome.scripting
API's executeScript()
method can now inject scripts directly into a page's main world. Previously, extensions could only inject directly into the extension's isolated world. For more information on isolated worlds, see the documentation on content scripts .
Chrome 95: promise support for Storage API
Methods on the Manifest V3 version of the chrome.storage
API now return promises.
Policy update: two step verification enforcement
The policy update blog post published on June 29, 2021 has been updated to correct the two step verification deployment timeline.
Chrome 94: declarative net request static ruleset changes
The chrome.declarativeNetRequest
now supports specifying up to 50 static rulesets ( MAX_NUMBER_OF_STATIC_RULESETS ) and enabling up to 10 rulesets ( MAX_NUMBER_OF_ENABLED_STATIC_RULESETS ) at a time.
Chrome 93: cross origin isolation support
Both Manifest V2 and Manifest V3 extensions can now opt into cross origin isolation . This feature limits which cross-origin resources can load an extension's pages and enables the use of low level web platform features like SharedArrayBuffer
. Opt in will be required starting in Chrome 95.
Policy update: developer program policies updated
The Chrome Web Store Developer Program Policies have been updated with clarifications to the deceptive installation tactics, spam, and repetitive content policies. This update also includes a new two step verification requirement to publish on the Chrome Web Store. Read the blog post for more information.
Blog post: extension actions in Manifest V3
Chrome extensions had chrome.browserAction
and chrome.pageActions
APIs for years, but Manifest V3 replaced both with a generic chrome.actions
API. This post explores the history of these APIs and what has changed in Manifest V3. Read the post .
Blog post: introducing chrome.scripting
The chrome.scripting
API is a new Manifest V3 API focused on, well, scripting. In this post we dig into the motivations for this change and take a closer look at it's new capabilities. Read the post .
Chrome 92: module service worker support
Chrome now supports JavaScript modules in service workers. To specify a module a module in your manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
This loads the worker script as an ES module, which lets you use the import
keyword in the worker's script to import other modules.
Chrome 91: chrome.action.getUserSettings()
The new chrome.action.getUserSettings()
method allows extensions to determine if the user has pinned the extension to the main toolbar.
Chrome 90: chrome.scripting.removeCSS()
The new chrome.scripting.removeCSS()
method allows extensions to remove CSS that was previously inserted via chrome.scripting.insertCSS()
. It replaces chrome.tabs.removeCSS()
.
Chrome 90: returning promises from scripting.executeScript()
chrome.scripting.executeScript()
now supports returning promises. If the resulting value of the script execution is a promise, Chrome will wait for the promise to settle and return its resulting value.
Chrome 90: chrome.scripting.executeScript() results include frameId
Results returned from chrome.scripting.executeScript()
now include the frameId . The frameId
property indicates the frame that the result is from, letting extensions easily associate results with the individual frames when injecting in multiple frames.
Chrome 89: new API for managing tab groups
The new chrome.tabGroups
API and new capabilities in chrome.tabs
let extensions read and manipulate tab groups. Requires Manifest V3.
Chrome 89: customizable permissions for web accessible resources
Web accessible resources definitions in Manifest V3 have changed to let extensions restrict resource access based on the requester's origin or extension ID.
Blog post: Extension Manifest Converter
The Chrome Extensions team has open sourced "Extension Manifest Converter", a Python tool that automates some of the mechanical aspects of converting extensions to Manifest V3. See the announcement blog post and get it from GitHub .
Chrome 88: Manifest V3 general availability
Manifest V3 is a major update to the extensions platform; see Overview of Manifest V3 for a summary of new and changed features. Extensions may continue to use Manifest V2 for now, but this will be phased out in the near future. We strongly recommend that you use Manifest V3 for any new extensions, and begin migrating existing extensions to Manifest V3 as soon as possible.