AI ကို disable လုပ်ရန် setting ပါရှိသော Firefox ဗားရှင်း 148

Firefox 148 ကို ယခင်ရေရှည်ပံ့ပိုးမှုဌာနခွဲများဖြစ်သော 140.8.0 နှင့် 115.33.0 (115.x စီးရီးတွင် နောက်ဆုံးထွက်) အတွက် အပ်ဒိတ်များနှင့်အတူ ထုတ်ပြန်လိုက်ပါပြီ။ မတ်လ ၂၄ ရက်နေ့တွင် ထွက်ရှိရန်စီစဉ်ထားသော Firefox 149 ကို လာမည့်နာရီများအတွင်း ဘီတာစမ်းသပ်မှုသို့ ရွှေ့ပြောင်းသွားပါမည်။

Firefox 148 (1၊ 2၊ 3) တွင် အဓိကလုပ်ဆောင်ချက်အသစ်များ-

  • AI အသုံးပြုမှုကို စီမံခန့်ခွဲရန်အတွက် ယခင်ကကတိပေးထားသည့် "AI Controls" အပိုင်းကို setting တွင် ထည့်သွင်းထားပါသည်။ အသုံးပြုသူများသည် AI အင်္ဂါရပ်အားလုံးကို disable လုပ်နိုင်သည် သို့မဟုတ် ၎င်းတို့လိုအပ်သော လုပ်ဆောင်ချက်ကိုသာ ရွေးချယ်၍ enable လုပ်နိုင်သည်။ ရွေးချယ်၍ disable လုပ်ခြင်းတွင် ဘာသာစကားဘာသာပြန်ခြင်း၊ ရုပ်ပုံများနှင့် scan လုပ်ထားသော PDF များတွင် စာသားမှတ်မိခြင်း၊ tab များကို group လုပ်သည့်အခါ အကြံပြုချက်များနှင့် label များ၊ link များကို preview လုပ်သည့်အခါ စာမျက်နှာတိုများထုတ်ပေးခြင်းနှင့် chatbot များနှင့် အပြန်အလှန်ဆက်သွယ်ရန်အတွက် interface တစ်ခုကဲ့သို့သော AI-based အင်္ဂါရပ်များ ပါဝင်သည်။ အင်္ဂါရပ်တစ်ခုစီကို enable လုပ်နိုင်သည်၊ disable လုပ်နိုင်သည် သို့မဟုတ် block လုပ်နိုင်သည်။ block လုပ်ခြင်းသည် ဒေသတွင်းထည့်သွင်းထားသော AI မော်ဒယ်များကို ဖယ်ရှားပြီး interface element များကို ဝှက်ထားသည်။
     AI ကို disable လုပ်ရန် setting ပါရှိသော Firefox ဗားရှင်း 148
  • ထုတ်ဝေမှုများအကြား ပြင်ဆင်မှုများနှင့် ပြောင်းလဲမှုများကို အချိန်မဆိုင်းဘဲ အဝေးမှ အပလီကေးရှင်းဖြင့် လုပ်ဆောင်နိုင်စေရန်အတွက် ဆက်တင်များတွင် သီးခြားရွေးချယ်မှုတစ်ခု ထည့်သွင်းထားပါသည်။ ယခင်က ဤအင်္ဂါရပ်ကို telemetry ကို ဖွင့်ခြင်းနှင့် စမ်းသပ်အင်္ဂါရပ်စမ်းသပ်မှုတွင် ပါဝင်ခြင်း (Privacy & Security > Firefox Data Collection > Install and Run Studies) နှင့် ချိတ်ဆက်ထားသော်လည်း Firefox 148 မှစတင်၍ သီးခြားစီဖွင့်နိုင်ပါသည်။
     AI ကို disable လုပ်ရန် setting ပါရှိသော Firefox ဗားရှင်း 148
  • Tab အသစ်တစ်ခုဖွင့်သည့်အခါ ပြသသည့် စာမျက်နှာအတွက် ရွေးချယ်ထားသော နောက်ခံပုံများကို ယခုအခါ မူရင်း Tab အသစ်များနှင့် Container Tab အသစ်နှစ်ခုလုံးတွင် အသုံးပြုပါသည်။
  • Windows 10 နှင့် 11 အသုံးပြုသူများအတွက် Firefox Backup ကို ထည့်သွင်းထားပါသည်။ ၎င်းသည် bookmark များ၊ setting များနှင့် password များကဲ့သို့သော browser data များ၏ backup မိတ္တူများကို ဖန်တီးနိုင်စေပါသည်။ backup တွင် browser ပိတ်သည့်အခါ clear လုပ်ရန် user ရွေးချယ်ထားသော data မပါဝင်ပါ။ ဖန်တီးထားသော backup ကို operating system ကို ပြန်လည်ထည့်သွင်းပြီးနောက် သို့မဟုတ် အခြားကွန်ပျူတာတွင် browser state ကို ပြန်လည်ရယူရန် အသုံးပြုနိုင်ပါသည်။
  • ကနဦး "about:blank" စာရွက်စာတမ်းသည် ယခုအခါ ဝဘ်နှင့် တွဲဖက်အသုံးပြုနိုင်ပြီး တစ်ပြိုင်နက်တည်း ထုတ်ပေးနေပြီး စာမျက်နှာပေါ်ရှိ navigation စတင်သည့်အခါ parser မှ ထုတ်ပေးသော ဒုတိယဗလာစာရွက်စာတမ်းဖြင့် တစ်ပြိုင်နက်တည်း အစားထိုးခြင်း မပြုတော့ပါ (ဤအစားထိုးမှုသည် race condition ကို ဖြစ်ပေါ်စေနိုင်ပြီး တစ်ခါတစ်ရံတွင် window.open() ကို ခေါ်ပြီးသည်နှင့် JavaScript မှတစ်ဆင့် ရေးသားထားသော ပြောင်းလဲမှုများ ဆုံးရှုံးသွားစေနိုင်သည်)။
  • Service Worker ယန္တရားကို WebGPU API ကို ပံ့ပိုးရန် အပ်ဒိတ်လုပ်ထားပြီး WebGPU လုပ်ဆောင်မှုများကို နောက်ခံတွင် လုပ်ဆောင်နိုင်စေသည်၊ ဥပမာ add-on များတွင် သို့မဟုတ် တူညီသောဆိုက်၏ မတူညီသော tab များတွင် ဘုံအလုပ်များကို လုပ်ဆောင်သည့်အခါ။
  • JavaScript မှာ အခုဆိုရင် array များစွာကို ပေါင်းစပ်ဖို့အတွက် Iterator.zip() နဲ့ Iterator.zipKeyed() methods တွေ ပါရှိပါတယ်။ ဒီ methods တွေက iterators များစွာကိုယူပြီး iterator အသစ်တစ်ခု ဖွဲ့စည်းပါတယ်။ element တစ်ခုစီဟာ iterator တန်ဖိုးတွေကို တူညီတဲ့ position မှာ ထားရှိတဲ့ array ဒါမှမဟုတ် object တစ်ခု ဖြစ်ပါတယ်။ const str1 = "abc"; const str2 = "1234"; const it = Iterator.zip([Iterator.from(str1), Iterator.from(str2)]); for (const [char1, char2] of it) { console.log(`${char1} - ${char2}`); } // Outputs: // a - 1 // b - 2 // c - 3 const table = { name: [ÂŤCarolineÂť, ÂŤDanielleÂť, ÂŤEvelynÂť], age: [30, 25, 35], city: [ÂŤNew YorkÂť, ÂŤLondonÂť, ÂŤHong KongÂť], }; for (const { name, age, city } of Iterator.zipKeyed(table)) { console.log(`${name}, aged ${age}, lives in ${city}.`); } // ပုံနှိပ်များ: // Caroline၊ အသက် ၃၀ နှစ်၊ နယူးယောက်တွင် နေထိုင်သည်။ // Danielle၊ အသက် ၂၅ နှစ်၊ လန်ဒန်တွင် နေထိုင်သည်။ // Evelyn၊ အသက် ၃၅ နှစ်၊ ဟောင်ကောင်တွင် နေထိုင်သည်။
  • Trusted Types API ကို cross-site scripting (DOM XSS) သို့ ဦးတည်စေသော DOM ကိုင်တွယ်မှုများမှ ကာကွယ်ရန် ဒီဇိုင်းထုတ်ထားပြီးဖြစ်သည်။ ဥပမာအားဖြင့်၊ eval() blocks သို့မဟုတ် ".innerHTML" inserts များတွင် user-supplied data ကို မှားယွင်းစွာ လုပ်ဆောင်ခြင်းသည် သတ်မှတ်ထားသော စာမျက်နှာတစ်ခု၏ context တွင် JavaScript code execution ကို ဖြစ်စေနိုင်သည်။ Trusted Types များသည် element.innerHTML၊ document.write() နှင့် setTimeout() ကဲ့သို့သော အန္တရာယ်ရှိသော calls များတွင် bare strings များအစား အထူး TrustedHTML objects များကို အသုံးပြုရန် လိုအပ်သည်။ TrustedHTML objects များကို data validation နှင့် sanitization ကို လုပ်ဆောင်သည့် developer-written functions များမှ ဖန်တီးထားသည်။
  • Sanitizer API ကို ထည့်သွင်းထားပြီး HTML ကို ကိုင်တွယ်ခြင်းနှင့် display နှင့် execution ကို သက်ရောက်မှုရှိသော content မှ HTML element များကို ဖြုတ်ချခြင်းနည်းလမ်းများကို ပံ့ပိုးပေးပါသည်။ HTML content များကို ဘေးကင်းစွာထည့်သွင်းရန်အတွက် element.setHTML() method သည် element.innerHTML နှင့်ဆင်တူသော်လည်း cross-site scripting (XSS) မှ ကာကွယ်ပေးသည်။ HTML parsing ကို ဘေးကင်းစွာပြုလုပ်ရန် document.parseHTML() method ကို အကောင်အထည်ဖော်ထားသည်။ API သည် ဝင်ရောက်လာသော data များကို သန့်စင်ခြင်းနှင့် XSS တိုက်ခိုက်မှုများပြုလုပ်ရန် အသုံးပြုနိုင်သော HTML tag များကို ဖြုတ်ချခြင်းအတွက် အသုံးဝင်နိုင်ပါသည်။ const unsanitizedString = "abc" alert(1) defÂť; const sanitizer1 = new Sanitizer({ elements: [ÂŤdivÂť, ÂŤpÂť, ÂŤbuttonÂť, ÂŤscriptÂť], }); const target = document.getElementById(ÂŤtargetÂť); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
  • သတ်မှတ်ထားသော Location object နှင့် ဆက်စပ်နေသော parent document element အားလုံး၏ origin စာရင်းပါရှိသော "location.ancestorOrigins" property အတွက် ပံ့ပိုးမှုကို ထည့်သွင်းထားသည်။ ဤ property ကို ဥပမာအားဖြင့် အခြားဆိုက်တစ်ခုရှိ iframe မှတစ်ဆင့် document တစ်ခုကို load လုပ်ထားခြင်း ရှိ၊ မရှိ ဆုံးဖြတ်ရန် အသုံးပြုနိုင်သည်။
  • Navigation API ကို addHandler() method ပါရှိသော NavigationPrecommitController object ဖြင့် update လုပ်ထားပြီး ၎င်းသည် post-commit navigation အတွင်း URL အသစ်ကို address bar တွင်ပြသပြီးဖြစ်သည့်အခါ trigger လုပ်သည့် handler တစ်ခုကို attach လုပ်နိုင်သည်။
  • position-try-order CSS property ကို ထည့်သွင်းထားပါတယ်။ anchor positioning ပါတဲ့ element တစ်ခုဟာ screen ပေါ်မှာ မဆန့်တဲ့အခါ fallback positions တွေရဲ့ priority ကို သတ်မှတ်ပေးပါတယ်။ ဒီ property ဟာ CSS Anchor Positioning set ရဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး JavaScript ကို မသုံးဘဲ တခြား element တွေရဲ့ position နဲ့ anchor လုပ်ထားတဲ့ element တွေရဲ့ display ကို ထိန်းချုပ်နိုင်ပါတယ်။ ဥပမာ tooltip တွေနဲ့ ဆင်တူတဲ့ element တွေနဲ့ popover တွေ တွဲပေးတာမျိုးပေါ့။
  • shape() လုပ်ဆောင်ချက်ကို CSS တွင် ထည့်သွင်းထားပြီး၊ သင်သည် clip-path နှင့် offset-path CSS ဂုဏ်သတ္တိများကို အသုံးပြု၍ ပုံသဏ္ဍာန်များဖန်တီးနိုင်စေမည်ဖြစ်သည်။ shape() လုပ်ဆောင်ချက်သည် path() လုပ်ဆောင်ချက်နှင့် ညီမျှသော ပုံသဏ္ဍာန်ဖွဲ့စည်းခြင်းဆိုင်ရာ ညွှန်ကြားချက်များကို ပံ့ပိုးပေးသော်လည်း ၎င်းတို့အတွက် စံ CSS syntax ကို အသုံးပြုခွင့်ပေးသည်။
  • Android အတွက် Firefox တွင် ပြန်လည်ဒီဇိုင်းထုတ်ထားသော toolbar၊ toolbar အကြောင်းအရာကို ပိုမိုကောင်းမွန်အောင် စိတ်ကြိုက်ပြင်ဆင်ခြင်းနှင့် စာမျက်နှာကို မဖွင့်ဘဲ link ၏ မြင်နိုင်သောစာသားကို လျင်မြန်စွာ ကူးယူနိုင်သည့် ရွေးချယ်ခွင့်တို့ ပါဝင်သည်။

လုပ်ဆောင်ချက်အသစ်များနှင့် bug ပြင်ဆင်မှုများအပြင်၊ Firefox 148 သည် အားနည်းချက် ၆၀ ကို ဖြေရှင်းပေးသည် (ယခင်ဗားရှင်းထက် ခြောက်ဆပိုများသည်)။ ဤအားနည်းချက်များထဲမှ ၄၈ ခုသည် buffer overflows နှင့် free လုပ်ပြီးနောက် မှတ်ဉာဏ်ကို ဝင်ရောက်ခြင်းကဲ့သို့သော မှတ်ဉာဏ်စီမံခန့်ခွဲမှုပြဿနာများကြောင့် ဖြစ်ပေါ်သည်။ ဤပြဿနာများသည် အထူးပြုလုပ်ထားသော စာမျက်နှာများကို ဖွင့်သည့်အခါ malicious code execution ဖြစ်ပေါ်စေနိုင်သည်။ အားနည်းချက်ငါးခုသည် bounds စစ်ဆေးခြင်း မမှန်ကန်ခြင်းနှင့် graphics component တွင် integer overflows များကြောင့် sandbox isolation bypass လုပ်ခွင့်ပြုသည်။

source: opennet.ru