প্রকাশিত: ৮ এপ্রিল, ২০২৬
অন্যথায় উল্লেখ না থাকলে, নিম্নলিখিত পরিবর্তনগুলি Android, ChromeOS, Linux, macOS, এবং Windows-এর জন্য Chrome বিটা চ্যানেলের নতুনতম সংস্করণে প্রযোজ্য। প্রদত্ত লিঙ্কগুলি ব্যবহার করে অথবা ChromeStatus.com-এ গিয়ে এই বৈশিষ্ট্যগুলি সম্পর্কে আরও জানুন। এই সংস্করণটি প্রকাশের পর থেকে Chrome বিটা পর্যায়ে রয়েছে। আপনি ডেস্কটপের জন্য Google.com থেকে অথবা Android-এর জন্য Google Play Store থেকে সর্বশেষ বিটা সংস্করণটি ডাউনলোড করতে পারেন।
CSS এবং UI
CSS-এ শুধুমাত্র নাম-ভিত্তিক কন্টেইনার কোয়েরি
এখন আপনি এলিমেন্টে container-type সেট না করেই, শুধুমাত্র তার container-name উপর ভিত্তি করে একটি CSS কন্টেইনার কোয়েরি করতে পারবেন।
#container {
container-name: --foo;
}
@container --foo {
input { background-color: green; }
}
<div id="container">
<div><input></div>
</div>
ব্যবহারকারীর ইন্টারঅ্যাকশনের সময় টেক্সট ওভারফ্লো ক্লিপ করুন।
যখন কোনো ব্যবহারকারী text-overflow: ellipsis সেট করা কোনো টেক্সটের সাথে ইন্টারঅ্যাক্ট করেন (যেমন, সম্পাদনা করে বা ক্যারেট নেভিগেশন ব্যবহার করে), তখন টেক্সটটি সাময়িকভাবে এলিপসিস থেকে ক্লিপে পরিবর্তিত হয়। এর ফলে ব্যবহারকারী লুকানো ওভারফ্লো কন্টেন্ট দেখতে এবং তার সাথে ইন্টারঅ্যাক্ট করতে পারেন। এই ফিচারটি সমস্ত সম্পাদনাযোগ্য এবং অসম্পাদনাযোগ্য এলিমেন্টের ক্ষেত্রে প্রযোজ্য। ফর্ম কন্ট্রোল, যেমন <textarea> এবং <input> -এর জন্য, এই আচরণটি ইতোমধ্যেই সমর্থিত।
dragEnter , dragLeave , এবং dragOver ইভেন্টগুলির জন্য dropEffect সঠিকভাবে সেট করুন।
ড্র্যাগ অ্যান্ড ড্রপ স্পেসিফিকেশন অনুযায়ী, ` dataTransfer অবজেক্টের ` dropEffect অ্যাট্রিবিউটে dragEnter , dragOver এবং dragLeave এর জন্য কিছু পূর্বনির্ধারিত মান থাকা আবশ্যক। dragEnter এবং dragOver ` dropEffect বর্তমান effectAllowed উপর ভিত্তি করে হওয়া উচিত। dragLeave dropEffect সর্বদা ` none হওয়া উচিত। বর্তমানে, ক্রোম এই নিয়মগুলো মেনে চলে না। ক্রোম ১৪৮ সংস্করণ থেকে, ক্রোম এই স্পেসিফিকেশনকে সম্মান করবে এবং এই অ্যাট্রিবিউটে সঠিক মান নির্ধারণ করবে।
লেজি লোড ভিডিও এবং অডিও উপাদান
এই ফিচারটি <video> এবং <audio> এলিমেন্টগুলিতে loading অ্যাট্রিবিউট যোগ করে। এর ফলে ডেভেলপাররা loading="lazy" ব্যবহার করে এলিমেন্টটি ভিউপোর্টের কাছাকাছি না আসা পর্যন্ত মিডিয়া রিসোর্স লোডিং স্থগিত রাখতে পারেন। এটি <img> এবং <iframe> এলিমেন্টের বিদ্যমান লেজি লোডিং আচরণের সাথে সামঞ্জস্যপূর্ণ, যা পেজ লোডের পারফরম্যান্স উন্নত করে এবং ডেটা ব্যবহার কমায়।
ফিচার ডিটেকশনের জন্য CSS at-rule() ফাংশন
এই ফিচারটি CSS @supports এ একটি at-rule() ফাংশন যোগ করে, যা লেখকদের CSS at-rules-এর সাপোর্ট ফিচার-ডিটেক্ট করতে দেয়।
revert-rule কীওয়ার্ডটি যোগ করুন
revert-rule কীওয়ার্ডটি ক্যাসকেডকে পূর্ববর্তী নিয়মে ফিরিয়ে নিয়ে যায়, ঠিক যেমন revert-layer ক্যাসকেডকে পূর্ববর্তী লেয়ারে ফিরিয়ে নিয়ে যায়। উদাহরণস্বরূপ:
div { color: green; }
div { color: revert-rule; /* Effectively green */ }
এটি শর্তসাপেক্ষ নিয়মের ক্ষেত্রে বিশেষভাবে উপযোগী, কারণ এর মাধ্যমে কোনো শর্ত পূরণ না হলে বর্তমান নিয়মটি বাতিল করা যায়:
div {
display: if(style(--layout: fancy): grid; else: revert-rule);
}
Support text-decoration-skip-ink: all
এই ফিচারটি CSS text-decoration-skip-ink প্রপার্টির জন্য all ভ্যালুর সাপোর্ট যোগ করে। ` text-decoration-skip-ink প্রপার্টিটি ইতিমধ্যেই auto এবং none সাপোর্ট করে। ` all ভ্যালুটি এই সাপোর্টকে আরও প্রসারিত করে, যা CJK ক্যারেক্টার সহ সমস্ত গ্লিফের উপর নিঃশর্তভাবে ইঙ্ক-স্কিপিং প্রয়োগ করে। এর বিপরীতে, auto ভ্যালুটি CJK ক্যারেক্টারগুলোকে স্কিপ করে না, কারণ সাধারণ আন্ডারলাইন পজিশনে ইঙ্ক-স্কিপিং ভাবলিপির জন্য অনাকাঙ্ক্ষিত ভিজ্যুয়াল ফলাফল তৈরি করে। text-decoration-skip-ink: all ব্যবহার করে, যে লেখকরা CJK গ্লিফের সাথে সংঘর্ষ এড়াতে text-underline-position বা text-underline-offset অ্যাডজাস্ট করেছেন, তারা সেই ক্যারেক্টারগুলোর জন্য স্পষ্টভাবে ইঙ্ক-স্কিপিং বেছে নিতে পারেন।
ওয়েব এপিআই
ম্যানিফেস্ট সদস্যদের স্থানীয়করণ করুন
এই ফিচারটি ম্যানিফেস্ট মেম্বারগুলোর লোকালইজেশন সমর্থন করে, যা অ্যাপগুলোকে ব্যবহারকারীর ভাষা ও অঞ্চল অনুযায়ী তাদের নাম, বিবরণ, আইকন এবং শর্টকাটগুলো মানিয়ে নিতে দেয়। ডেভেলপাররা ওয়েব অ্যাপ ম্যানিফেস্টে স্থানীয়কৃত ভ্যালুগুলো প্রদান করেন। ব্রাউজার ব্যবহারকারীর ভাষা সেটিংসের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে উপযুক্ত রিসোর্সগুলো নির্বাচন করে, যা বিভিন্ন মার্কেটে ভাষা সমর্থন নিশ্চিত করে।
টেক্সট শেপিং এবং গ্লিফ রেন্ডারিংয়ের জন্য ওপেন ফন্ট ফরম্যাট avar2 সমর্থন করে।
avar (Axis Variations) টেবিলের ভার্সন ২ ফন্ট ডিজাইনারদের ইন্টারপোলেশনের উপর আরও ভালো নিয়ন্ত্রণ সহ ভ্যারিয়েবল ফন্ট তৈরি করতে দেয়। যেখানে মূল ভ্যারিয়েবল ফন্ট স্পেসিফিকেশন অ্যাক্সিসগুলোকে স্বাধীনভাবে পরিচালনা করে, সেখানে avar2 অ্যাক্সিসগুলোকে একে অপরের উপর প্রভাব ফেলতে দেয়। এর ফলে এমন ফন্ট তৈরি হয় যা কন্টেন্ট লেখকদের জন্য ব্যবহার করা সহজ এবং এটি কম জায়গায় সংরক্ষণ করা সম্ভব করে তোলে।
Avar2 ফন্ট ভ্যারিয়েশনের সেই একই পরিচিত ধারণা ব্যবহার করে কাজ করে, তবে এটি আপনাকে ডিজাইনের অক্ষগুলিতেই পরিবর্তনশীল ডেল্টা মান প্রয়োগ করতে দেয়। আপনি একাধিক অক্ষের একটি পরিসর জুড়ে এটি করতে পারেন।
উদাহরণস্বরূপ, আপনি মেটা স্লাইডার তৈরি করতে পারেন যা একই সাথে একাধিক ভ্যারিয়েশন অ্যাক্সিস নিয়ন্ত্রণ করে। এটি ব্যবহারকারীকে ফন্টের ডিজাইন স্পেসের সূক্ষ্ম সমন্বয় এবং একটি উপযোগী অংশ খুঁজে বের করার ঝামেলা থেকে মুক্তি দেয়।
Avar2 ফন্ট ডিজাইনারদের তাদের ফন্টের ব্যবহারযোগ্য বৈচিত্র্যের পরিসরের উপর আরও ভালো নিয়ন্ত্রণ দেয় এবং তাদেরকে একাধিক অক্ষ জুড়ে ডিজাইনের সমন্বয় সাধন করতে সাহায্য করে। avar ভার্সন 2 টেবিলের মধ্যে গাণিতিকভাবে অক্ষগুলোর মধ্যকার সম্পর্ক নির্ধারণ করার মাধ্যমে, ফন্টগুলো কম সংখ্যক মাস্টার ফাইল ব্যবহার করেই জটিল ডিজাইন তৈরি করতে পারে। এর ফলে ফাইলের আকার ছোট হয়, কারণ ইন্টারপোলেশন আরও দক্ষতার সাথে সংরক্ষিত হয়।
ওয়েব প্রমাণীকরণ তাৎক্ষণিক UI মোড
navigator.credentials.get() -এর এই নতুন মোডটি ব্যবহারকারীকে ব্রাউজারের সাইন-ইন UI প্রদর্শন করে, যদি সাইটটির কোনো পাসকি বা পাসওয়ার্ড ব্রাউজারের কাছে তাৎক্ষণিকভাবে জানা থাকে। অন্যথায়, যদি এই ধরনের কোনো ক্রেডেনশিয়াল উপলব্ধ না থাকে, তবে এটি NotAllowedError সহ প্রমিসটি রিজেক্ট করে। এর ফলে, যদি ব্রাউজার এমন একাধিক সাইন-ইন ক্রেডেনশিয়াল বেছে নেওয়ার সুযোগ দেয় যা সফল হওয়ার সম্ভাবনা বেশি, তবে সাইটটি সাইন-ইন পেজ দেখানো এড়িয়ে যেতে পারে। তবে, এই ধরনের কোনো ক্রেডেনশিয়াল না থাকলে, এটি সাইন-ইন পেজের প্রবাহ চালু রাখে।
অ্যান্ড্রয়েডে ওয়েব সিরিয়াল এপিআই সমর্থন
ওয়েব সিরিয়াল এপিআই সিরিয়াল ডিভাইসের সাথে সংযোগ করার জন্য একটি ইন্টারফেস প্রদান করে। এই ডিভাইসগুলো ব্যবহারকারীর সিস্টেমের সিরিয়াল পোর্টের মাধ্যমে অথবা সিরিয়াল পোর্ট অনুকরণকারী অপসারণযোগ্য ইউএসবি ও ব্লুটুথ ডিভাইসের মাধ্যমে সংযুক্ত হতে পারে। এই এপিআইটি এখন অ্যান্ড্রয়েডে সমর্থিত।
ব্যবহারকারীরা, বিশেষ করে শিক্ষা, শখ এবং শিল্প খাতে, তাদের কম্পিউটারের সাথে এমন সব পেরিফেরাল ডিভাইস সংযুক্ত করেন যেগুলো নিয়ন্ত্রণের জন্য কাস্টম সফটওয়্যারের প্রয়োজন হয়। উদাহরণস্বরূপ, স্কুলে কম্পিউটার প্রোগ্রামিং এবং ইলেকট্রনিক্স শেখানোর জন্য প্রায়শই রোবটিক্স ব্যবহার করা হয়। এর জন্য এমন সফটওয়্যার প্রয়োজন যা একটি রোবটে কোড আপলোড করতে বা দূর থেকে এটিকে নিয়ন্ত্রণ করতে পারে। শিল্প বা শখের ক্ষেত্রে, একটি যন্ত্র, যেমন একটি মিল, লেজার কাটার বা থ্রিডি প্রিন্টার, সংযুক্ত কম্পিউটারে চলমান একটি প্রোগ্রাম দ্বারা নিয়ন্ত্রিত হয়। এই ডিভাইসগুলো প্রায়শই একটি সিরিয়াল সংযোগের মাধ্যমে ছোট মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়।
WebGPU linear_indexing বৈশিষ্ট্য
এই কার্যকারিতাটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য দুটি নতুন কম্পিউট শেডার বিল্ট-ইন ভ্যালু যোগ করে। এই ভ্যালুগুলো সমস্ত ব্যাকএন্ডের জন্য প্রয়োগ করা হয়েছে (বিদ্যমান বিল্ট-ইন ভ্যালুগুলোর পলিফিল হিসেবে)।
অ্যান্ড্রয়েডে SharedWorker সমর্থন
দীর্ঘদিন ধরে, SharedWorker অনির্দেশ্য প্রসেস লাইফসাইকেল নিয়ে উদ্বেগের কারণে অ্যান্ড্রয়েডে এটি নিষ্ক্রিয় রাখা হয়েছে। ক্রোম ডেভেলপারদের ধারণা ছিল যে, SharedWorker ইনস্ট্যান্সগুলো ব্যবহারকারী বা ওয়েব ডেভেলপারদের অবহিত না করেই অপ্রত্যাশিতভাবে বন্ধ হয়ে যেতে পারে। এটিকে অগ্রহণযোগ্য বলে মনে করা হতো।
তবে, গিটহাবে সাম্প্রতিক একটি আলোচনা থেকে জানা গেছে যে, SharedWorker এর প্রসেস লাইফসাইকেলের অনিশ্চিত প্রকৃতি হয়তো আগের ধারণার মতো ততটা বড় সমস্যা নয়। এর উপর ভিত্তি করে, ক্রোম অ্যান্ড্রয়েডে SharedWorker পুনরায় চালু করছে এবং একই সাথে একটি স্থিতিশীল ও নির্ভরযোগ্য অভিজ্ঞতা নিশ্চিত করতে এই আচরণটি তদন্ত করছে।
যৌথ কর্মীদের জন্য বর্ধিত জীবনকাল
এই আপডেটে SharedWorker কনস্ট্রাক্টরে extendedLifetime: true একটি নতুন অপশন যোগ করা হয়েছে। এর মাধ্যমে অনুরোধ করা হয় যেন সমস্ত বর্তমান ক্লায়েন্ট আনলোড হয়ে যাওয়ার পরেও শেয়ার্ড ওয়ার্কারটি সক্রিয় থাকে। এর প্রধান ব্যবহার হলো, কোনো সার্ভিস ওয়ার্কারের উপর নির্ভর না করেই, পেজ আনলোড হওয়ার পরেও জাভাস্ক্রিপ্ট-নির্ভর অ্যাসিঙ্ক্রোনাস কাজ সম্পাদন করতে দেওয়া।
প্রম্পট এপিআই
প্রম্পট এপিআই ওয়েব ডেভেলপারদের একটি ব্রাউজার-প্রদত্ত অন-ডিভাইস এআই ল্যাঙ্গুয়েজ মডেলে সরাসরি অ্যাক্সেস দেয়। এপিআই-এর ডিজাইনটি ক্লাউড এপিআই-এর কাঠামোর সাথে সামঞ্জস্য রেখে সূক্ষ্ম নিয়ন্ত্রণের সুযোগ দেয়। এটি আপনাকে স্বতন্ত্র ব্যবহারের ক্ষেত্র অনুযায়ী তৈরি মডেল ইন্টারঅ্যাকশনের মাধ্যমে পর্যায়ক্রমে সাইট উন্নত করতে সাহায্য করে। এটি টাস্ক-ভিত্তিক ল্যাঙ্গুয়েজ মডেল এপিআই (যেমন, সামারাইজার এপিআই ) এবং ডেভেলপার-সরবরাহকৃত এমএল মডেলের সাহায্যে সাধারণ অন-ডিভাইস ইনফারেন্সের জন্য ব্যবহৃত বিভিন্ন এপিআই ও ফ্রেমওয়ার্কের পরিপূরক হিসেবে কাজ করে। এর প্রাথমিক বাস্তবায়নে টেক্সট, ইমেজ এবং অডিও ইনপুটের পাশাপাশি রেসপন্স কনস্ট্রেইন্টসও সাপোর্ট করে, যা নিশ্চিত করে যে তৈরি হওয়া টেক্সট পূর্বনির্ধারিত রেগুলার এক্সপ্রেশন এবং JSON স্কিমা ফরম্যাট মেনে চলে।
এটি বিভিন্ন ধরনের ব্যবহারের ক্ষেত্রে সহায়তা করে। উদাহরণস্বরূপ, এটি ছবির ক্যাপশন তৈরি করতে, ভিজ্যুয়াল সার্চ করতে, অডিও প্রতিলিপি করতে, শব্দ ঘটনা শ্রেণীবদ্ধ করতে, নির্দিষ্ট নির্দেশাবলী অনুসরণ করে টেক্সট তৈরি করতে এবং মাল্টিমোডাল উৎস উপাদান থেকে তথ্য বা অন্তর্দৃষ্টি আহরণ করতে পারে।
এই এপিআইটি ইতোমধ্যেই ক্রোম এক্সটেনশনে অন্তর্ভুক্ত করা হয়েছে। এই ইন্টেন্টটি ওয়েবে এর অন্তর্ভুক্তির বিষয়টি ট্র্যাক করে। অন্তর্নিহিত মডেল ডাউনলোড নিষ্ক্রিয় করার জন্য GenAILocalFoundationalModelSettings নামে একটি এন্টারপ্রাইজ পলিসি রয়েছে, যা এই এপিআইটিকে অনুপলব্ধ করে তোলে। এন্টারপ্রাইজ অ্যাডমিনরা BuiltInAIAPIsEnabled পলিসি সেট করে বিল্ট-ইন এআই এপিআই-এর ব্যবহার ব্লক করতে পারেন, তবে ডিভাইসের অন্যান্য GenAI ফিচারগুলোর অনুমতি চালু রাখতে পারেন।
ভাষা সমর্থন লগ:
- ক্রোম ১৩৯ এবং এর পূর্ববর্তী সংস্করণগুলো শুধুমাত্র ইংরেজি (
'en') সমর্থন করত। - ক্রোম ১৪০-এ স্প্যানিশ এবং জাপানি ভাষার (
'es'এবং'ja') সমর্থন যোগ করা হয়েছে।
নিরাপদ পেমেন্ট নিশ্চিতকরণ সুবিধা পান
এই ফিচারটি পেমেন্ট রিকোয়েস্ট এপিআই-তে একটি নতুন স্ট্যাটিক মেথড যোগ করে, যা ওয়েব ডেভেলপারদের ব্রাউজারের সিকিওর পেমেন্ট কনফার্মেশন ইমপ্লিমেন্টেশনের সক্ষমতাগুলো জানতে দেয়। এটি ওয়েব ডেভেলপারদের জানতে সাহায্য করে যে সিকিওর পেমেন্ট কনফার্মেশনের জন্য কী কী সক্ষমতা উপলব্ধ আছে। এরপর তারা সেই সক্ষমতাগুলো ব্যবহার করে সিকিওর পেমেন্ট কনফার্মেশন ব্যবহার করবেন কিনা, সে বিষয়ে সিদ্ধান্ত নিতে পারেন।
IDNA ContextJ নিয়মাবলী
IDNA হলো ডোমেইন নামে নন-ASCII অক্ষর ব্যবহারের একটি পদ্ধতি। এটি http://네이버.한국/ এর মতো একটি URL-কে http://xn--950bt9s8xi.xn--3e0b707e/ (যা naver.com-এ রিডাইরেক্ট করে) হিসেবে এনকোড করে।
URL স্পেসিফিকেশনটি CheckJoiners ফ্ল্যাগটি সেট করে, যা IDNA2008 এ ContextJ নিয়মগুলোকে সক্রিয় করে। এটি URL-এর বেশিরভাগ স্থানে ZWNJ (U+200C জিরো উইডথ নন-জয়নার) এবং ZWJ (U+200D জিরো উইডথ জয়নার)-কে অনুমোদন দেয় না। ইমপ্লিমেন্টেশনটি UIDNA_CHECK_CONTEXTJ অপশনটি ICU-তে পাঠায়, যেখানে এই নিয়মটি প্রয়োগ করা হয়।
একই-src পুনঃনির্ধারণের ক্ষেত্রে no-store ইমেজ পুনরায় ব্যবহার করুন
এই ফিচারটি একই ডকুমেন্টে থাকা ইমেজ পুনরায় ব্যবহার করার ক্ষেত্রে Cache-Control: no-store রিলোডকে বাইপাস করে, যখন কোনো <img> এলিমেন্টে একই src ভ্যালু পুনরায় অ্যাসাইন করা হয়। পূর্বে, Blink ইমেজটি পুনরায় ফেচ করত, যদিও সেটি ইতিমধ্যেই ডিকোড করা এবং ডকুমেন্টে উপলব্ধ থাকত। এটি Gecko এবং WebKit-এর বিদ্যমান আচরণের সাথে সামঞ্জস্যপূর্ণ।
রিসোর্স টাইমিং-এ contentType ফিল্ডটি যোগ করুন
এই ফিচারটি PerformanceResourceTiming এ contentType ফিল্ডটি যোগ করে, যা সার্ভার থেকে ফেরত আসা ফেচ করা রিসোর্সের কন্টেন্ট টাইপের সাথে সঙ্গতিপূর্ণ একটি স্ট্রিং ধারণ করে।
ড্র্যাগ শুরু করার সময় পয়েন্টার ইভেন্টগুলি দমন করুন
এইচটিএমএল স্পেসিফিকেশন অনুযায়ী, যখন একটি ড্র্যাগ শুরু হয়, তখন ইউজার এজেন্টকে ড্র্যাগ সোর্সে উপযুক্ত ইভেন্ট পাঠাতে হবে এটা বোঝানোর জন্য যে পয়েন্টার ইভেন্ট স্ট্রিমটি শেষ হয়ে গেছে এবং এই পয়েন্টার থেকে আর কোনো ইভেন্ট আশা করা উচিত নয়। এই কোডটি মাউস ইভেন্টের জন্য আংশিকভাবে এবং অ্যান্ড্রয়েডে টাচ ড্র্যাগের জন্য সম্পূর্ণরূপে প্রয়োগ করা হয়েছিল। এই ফিচারের মাধ্যমে, ক্রোম অন্যান্য সমস্ত প্ল্যাটফর্মে এই স্পেসিফিকেশনের প্রয়োজনীয়তা সম্পূর্ণরূপে পূরণ করার লক্ষ্য রাখে। কার্যত, এর অর্থ হলো, একটি ড্র্যাগ শুরু হওয়ার পরে, ড্র্যাগ সোর্সটি এখন pointercancel , pointerout , এবং pointerleave ইভেন্টগুলো পাবে এটা বোঝানোর জন্য যে বর্তমান ইভেন্ট স্ট্রিমটি শেষ হয়ে গেছে।
WebRTC ডেটাচ্যানেল: ডেটা চ্যানেল নিয়ে সর্বদা আলোচনা করুন
এই ফিচারটি alwaysNegotiateDataChannels নামক একটি WebRTC এক্সটেনশন প্রয়োগ করে, যা একটি অ্যাপ্লিকেশনকে ডেটাচ্যানেল তৈরি করার আগে একটি SDP অফারে ডেটা চ্যানেল নেগোসিয়েট করার একটি উপায় নির্ধারণ করে দেয়। এটি যেকোনো অডিও বা ভিডিও m = সেকশনের আগে ডেটা m= সেকশনটিও নেগোসিয়েট করে এবং এটিকে [BUNDLE] এর জন্য 'অফারার-ট্যাগড m= সেকশন' হিসেবে ব্যবহার করে।
এর মানে হলো, যদি আপনি alwaysNegotiateDataChannels: true সহ একটি RTCPeerConnection তৈরি করেন এবং তারপর createOffer() কল করেন, তাহলে এটি SDP-তে একটি অ্যাপ্লিকেশন m-line সহ একটি অফার তৈরি করে। উদাহরণস্বরূপ:
const pc = new RTCPeerConnection({
alwaysNegotiateDataChannels: true});
const offer = await pc.createOffer();
যদি আপনি একটি অডিও ট্রান্সসিভার এবং একটি ডেটা চ্যানেলও যোগ করেন, তাহলে অফারটি SDP-তে একটি অ্যাপ্লিকেশন এম-লাইনের পরে একটি অডিও এম-লাইন নিয়ে আলোচনা করে:
const pc = new RTCPeerConnection({
alwaysNegotiateDataChannels: true});
pc.addTransceiver('audio');
pc.createDataChannel('somechannel');
const offer = await pc.createOffer();
নতুন উৎস পরীক্ষা
ক্রোম ১৪৮-এ, আপনি নিম্নলিখিত নতুন অরিজিন ট্রায়ালগুলিতে অংশগ্রহণ করতে পারেন।
এজেন্টিক ফেডারেশন লগইন
এজেন্টিক ব্রাউজারগুলিকে তাদের ফেডারেটেড অ্যাকাউন্ট ব্যবহার করে ওয়েবসাইটে নিরাপদে লগ ইন করতে সাহায্য করার জন্য ফেডসিএম এক্সটেনশনের একটি সেট।
সংযোগ অনুমতি তালিকা
কানেকশন অ্যালাওলিস্ট হলো এমন একটি ফিচার যা কোনো ডকুমেন্ট বা ওয়ার্কার থেকে ফেচ এপিআই (Fetch API) বা অন্যান্য ওয়েব প্ল্যাটফর্ম এপিআই-এর মাধ্যমে শুরু হওয়া কানেকশনগুলোকে সীমাবদ্ধ করে এক্সটার্নাল এন্ডপয়েন্টগুলোর ওপর সুস্পষ্ট নিয়ন্ত্রণ প্রদানের জন্য ডিজাইন করা হয়েছে। প্রস্তাবিত ইমপ্লিমেন্টেশনটি সার্ভার থেকে একটি HTTP রেসপন্স হেডারের মাধ্যমে অনুমোদিত এন্ডপয়েন্টের একটি তালিকা বিতরণ করে। ইউজার এজেন্ট কোনো পেজের পক্ষ থেকে কোনো কানেকশন স্থাপন করার আগে, এজেন্ট এই অ্যালাওলিস্টের সাথে গন্তব্যস্থলটি যাচাই করে। যাচাইকৃত এন্ডপয়েন্টগুলোতে কানেকশনের অনুমতি দেওয়া হয়, আর যেগুলো তালিকার এন্ট্রিগুলোর সাথে মেলে না, সেগুলোকে ব্লক করা হয়।
কন্টেইনার টাইমিং
কন্টেইনার টাইমিং এপিআই আপনাকে মনিটর করতে দেয় যে কখন DOM-এর অ্যানোটেড সেকশনগুলো স্ক্রিনে প্রদর্শিত হয় এবং তাদের প্রাথমিক পেইন্ট সম্পন্ন করে। আপনি containertiming অ্যাট্রিবিউট দিয়ে DOM-এর উপবিভাগগুলোকে চিহ্নিত করতে পারেন (এলিমেন্ট টাইমিং এপিআই-এর elementtiming এর মতো) এবং যখন সেই সেকশনটি প্রথমবারের জন্য পেইন্ট হয়, তখন পারফরম্যান্স এন্ট্রি পেতে পারেন। এই এপিআই আপনাকে আপনার পেজের বিভিন্ন কম্পোনেন্টের টাইমিং পরিমাপ করতে দেয়।
ঘোষণামূলক CSS মডিউল স্ক্রিপ্ট
ডিক্লারেটিভ সিএসএস মডিউল স্ক্রিপ্ট হলো বিদ্যমান স্ক্রিপ্ট-ভিত্তিক সিএসএস মডিউল স্ক্রিপ্টগুলোর একটি বর্ধিত রূপ। এগুলো ডেভেলপারদের শ্যাডো রুটসহ ডিক্লারেটিভ স্টাইলশিট শেয়ার করার সুযোগ দেয়, যার মধ্যে ডিক্লারেটিভ শ্যাডো রুটও অন্তর্ভুক্ত। ডেভেলপাররা <style type="module" specifier="foo"> ব্যবহার করে ইনলাইন স্টাইল মডিউল সংজ্ঞায়িত করতে পারেন এবং specifier বা একটি ইউআরএল রেফারেন্স করে একটি ডিক্লারেটিভ শ্যাডো ডমে ডিক্লারেটিভ মডিউল প্রয়োগ করতে পারেন, যেমন <template shadowrootmode="open" shadowrootadoptedstylesheets="foo"> ।
এইচটিএমএল-ইন-ক্যানভাস
HTML-in-canvas হলো একটি নতুন API যা আপনাকে কন্টেন্টের ইন্টারঅ্যাক্টিভিটি এবং অ্যাক্সেসিবিলিটি বজায় রেখে DOM এলিমেন্টগুলোকে সরাসরি একটি ক্যানভাস বা WebGL / WebGPU টেক্সচারে কাস্টমাইজ করে রেন্ডার করার সুযোগ দেয়। এর তিনটি অংশ রয়েছে: ক্যানভাস এলিমেন্ট অন্তর্ভুক্ত করার জন্য একটি অ্যাট্রিবিউট ( layoutsubtree ), চাইল্ড এলিমেন্ট আঁকার জন্য মেথড ( 2d: drawElementImage , webgl:texElementImage2D , webgpu: copyElementImageToTexture ), এবং ইন্টারঅ্যাক্টিভিটির জন্য স্ক্রিনে এলিমেন্টের ট্রান্সফর্ম সঠিকভাবে আপডেট করার একটি উপায়।
দীর্ঘ অ্যানিমেশন ফ্রেম শৈলীর সময়কাল
এই ফিচারটি লং অ্যানিমেশন ফ্রেম এপিআই-তে styleDuration এবং forcedStyleDuration তথ্য যোগ করে। এর ফলে ডেভেলপাররা স্টাইল এবং লেআউটের সময় আলাদাভাবে চিহ্নিত করতে পারেন।
OpaqueRange
OpaqueRange একটি ফর্ম কন্ট্রোলের ভ্যালুর (যেমন, একটি <textarea> বা text <input> ) মধ্যে থাকা টেক্সটের একটি জীবন্ত পরিসরকে বোঝায়, ফলে ডেভেলপাররা রেঞ্জ-সদৃশ এপিআই ব্যবহার করে ভ্যালু টেক্সট নিয়ে কাজ করতে পারেন।
এটি getBoundingClientRect() , getClientRects() এর মতো অপারেশন এবং ইনলাইন সাজেশন, হাইলাইটস ও অ্যাঙ্কর্ড পপওভারের মতো UI-এর জন্য CSS হাইলাইটস API-এর ব্যবহার সক্ষম করে। এটি শুধুমাত্র ভ্যালু অফসেট প্রকাশ করে (এবং startContainer ও endContainer জন্য null রিটার্ন করে) এনক্যাপসুলেশন বজায় রাখে, ফলে DOM এন্ডপয়েন্ট এবং অভ্যন্তরীণ কাঠামো প্রকাশ পায় না।
HTML-এ প্রক্রিয়াকরণের নির্দেশাবলী পার্স করুন
প্রসেসিং নির্দেশাবলী (সিনট্যাক্স: <?target data> ) হলো একটি বিদ্যমান DOM কনস্ট্রাক্ট, যা XML-এ উন্মুক্ত করা হয়েছে। এই কনস্ট্রাক্টটি নোড অবজেক্টগুলোকে, যেগুলো এলিমেন্ট নয়, একটি ডকুমেন্টের প্রসেসিংয়ের জন্য অর্থপূর্ণ তাৎপর্য প্রদান করে। উদাহরণস্বরূপ, আপনি নতুন কোনো DOM এলিমেন্টের প্রয়োজন ছাড়াই এবং CSS-এর দৃষ্টিকোণ থেকে DOM কাঠামো পরিবর্তন না করেই স্ট্রিমিং বা হাইলাইটিংয়ের জন্য রেঞ্জ বোঝাতে এগুলো ব্যবহার করতে পারেন। এছাড়াও, কীভাবে বাফার এবং স্ট্রিম করতে হবে সে সম্পর্কে HTML পার্সারের জন্য নির্দেশিকা হিসেবেও আপনি এগুলো ব্যবহার করতে পারেন।
অনুমতি নীতি: ব্যবহারকারীর সক্রিয়করণ ছাড়া ফোকাস
এই পলিসিটি focus-without-user-activation ’ পারমিশন পলিসির মাধ্যমে এমবেডারদেরকে এমবেডেড কন্টেন্ট থেকে প্রোগ্রাম্যাটিক ফোকাসের উপর নিয়ন্ত্রণ দেয়। যখন কোনো ফ্রেমের জন্য এই পলিসিটি ডিনাইড করা হয়, তখন প্রোগ্রাম্যাটিক ফোকাস কলগুলো ( element.focus() , autofocus , window.focus() , dialog.showModal() , এবং পপওভার ফোকাসিং) ব্লক হয়ে যায়, যদি না তা ব্যবহারকারীর অ্যাক্টিভেশন দ্বারা ট্রিগার করা হয়। ব্যবহারকারীর দ্বারা শুরু করা ফোকাস, যেমন ক্লিক করা বা ট্যাবিং, কখনোই প্রভাবিত হয় না। আপনি একটি Permissions-Policy HTTP রেসপন্স হেডার অথবা iframe allow অ্যাট্রিবিউটের মাধ্যমে এই পলিসিটি সেট করতে পারেন। ফোকাস ডেলিগেশন সমর্থিত। ফোকাস থাকা একটি প্যারেন্ট ফ্রেম প্রোগ্রাম্যাটিকভাবে একটি চাইল্ড iframe-এ ফোকাস পাস করতে পারে, এমনকি যদি চাইল্ড iframe-টির জন্য পলিসিটি ডিনাইড করাও থাকে। একবার কোনো ফ্রেম ফোকাস পেয়ে গেলে, এটি তার নিজের সাবট্রি-র মধ্যেই ফোকাস স্থানান্তর করতে পারে।
প্রম্পট এপিআই স্যাম্পলিং প্যারামিটার
এই ফিচারটি প্রম্পট এপিআই-তে স্যাম্পলিং প্যারামিটার যোগ করে। এই প্যারামিটারগুলো নিয়ন্ত্রণ করে যে মডেল থেকে কীভাবে টোকেন স্যাম্পল করা হবে, যা ডেভেলপারদের আউটপুটের সৃজনশীলতা বা এলোমেলো ভাবের উপর নিয়ন্ত্রণ দেয়। এছাড়াও, এটি সেট করা মানগুলো পড়ার জন্য LanguageModel ইনস্ট্যান্সে অ্যাট্রিবিউট যোগ করে। এটি এই প্যারামিটারগুলোর ডিফল্ট এবং সর্বোচ্চ মান পাওয়ার জন্য একটি স্ট্যাটিক LanguageModel ফাংশনও যোগ করে। প্রথম ইমপ্লিমেন্টেশনটি temperature এবং topK প্যারামিটার যোগ করে।
ওয়েব অ্যাপ এইচটিএমএল ইনস্টল এলিমেন্ট
এই ফিচারটি একটি ওয়েবসাইটকে ব্যবহারকারীদেরকে একটি ওয়েব অ্যাপ ইনস্টল করার জন্য সুস্পষ্টভাবে অনুরোধ জানাতে দেয়। এই এলিমেন্টটি ঐচ্ছিকভাবে দুটি অ্যাট্রিবিউট গ্রহণ করে, যা আপনাকে ভিন্ন অরিজিন থেকে কন্টেন্ট ইনস্টল করার সুযোগ দেয়।