A avut loc lansarea browser-ului web Firefox 122, iar ramura cu suport pe termen lung a fost actualizată la versiunea 115.7.0. Rama Firefox 123 a intrat în etapa de beta testing, cu lansarea programată pentru 20 februarie.
Principalele noutăți în Firefox 122:
- Au fost extinse capacitățile legate de recomandările afișate în bara de adrese. Pentru unele motoare de căutare a fost implementată opțiunea de a arăta imagini și descrieri textuale în recomandări. La căutarea informațiilor legate de dezvoltarea web, se va afișa în recomandări linkuri către documentația de pe MDN (Mozilla Developer Network).

- A început formarea pachetelor deb gata pentru Ubuntu, Debian și Linux Mint. Pachetele create sunt compatibile cu versiunile tradiționale ale Firefox pentru Debian și Ubuntu, disponibile pentru descărcare în arhivele „.tar.bz2”. La compilarea pachetelor, s-au adăugat optimizări suplimentare, precum și flage pentru îmbunătățirea securității. Pachetul include un fișier .desktop pentru plasarea unei scurtături pe desktop și în meniul distribuției. Instrucțiuni pentru instalarea Firefox din depozitul APT Mozilla.
- Calitatea traducerii paginilor a fost îmbunătățită prin intermediul sistemului încorporat de traducere automată. Au fost rezolvate problemele legate de dispariția paginii traduse și de funcționarea defectuoasă a widgeturilor interactive.
- Pentru a spori protecția împotriva atacurilor XSS și pentru a îmbunătăți portabilitatea între browsere, suportul pentru URL-urile „data:” în SVGUseElement a fost oprit.
- A fost adăugată o protecție împotriva scurgerilor de informații despre linkurile vizitate anterior prin analiza culorii pixelilor, utilizând filtre care folosesc parametrul currentColor. Aceste filtre nu vor putea fi citite din canvas în SVG, deoarece ar putea fi folosite pentru a determina culoarea setată prin selectorul „:visited”.
- În versiunile pentru macOS a fost adăugată suportul pentru tehnologia Passkey (utilizabilă doar în iCloud Keychain), care permite utilizatorului să se autentifice fără parole prin utilizarea identificatorilor biometrici, cum ar fi amprenta digitală sau recunoașterea feței.
- A fost implementată procesarea token-ului de autocompletare „webauthn”. În dialogurile de autocompletare a formularelor, a fost realizat un interfață pentru conectarea utilizând Passkey.
- În modul de navigare privată, scripturile au posibilitatea de a salva date prin API Cache, pentru uniformizarea comportamentului în moduri private și obișnuite (diferența existentă putea fi utilizată pentru a determina funcționarea utilizatorului în modul privat).
- În WebRTC, a fost activată implicit suportul pentru mecanismul ULPFEC (Uneven Level Protection Forward Error Correction), care permite recuperarea pachetelor deteriorate sau pierdute. Utilizarea ULPFEC oferă posibilitatea de a îmbunătăți calitatea video pentru utilizatorii cu canale de comunicație instabile.
- Este permisă utilizarea elementului <hr> în interiorul elementului <select> pentru inserarea separatorilor în listele formate pe baza elementului <select>.
- S-a adăugat posibilitatea de a utiliza metoda showPicker cu elemente pentru a apela programatic implementarea meniului derulant oferită de browser.
- Regulile de întrerupere a liniilor pentru afişarea textului pe paginile web au fost aduse în conformitate cu standardul Unicode. Pentru limbile asiatice, precum japoneza și chineza, a fost implementat suport pentru selectarea întregilor cuvinte prin dublu clic în text.
- A fost inclusă proprietatea CSS offset-position, care stabilește poziția de început a elementului și este de obicei utilizată împreună cu proprietatea offset-path pentru a defini traiectoria de mișcare a obiectelor de animație.
- În proprietatea CSS offset-path a fost adăugat suport pentru funcția ray(), care definește segmentul de linie pe care trebuie să se deplaseze elementul animat, precum și valorile basic-shape și coord-box.
- În proprietățile CSS clip-path și offset-path a fost adăugat suport pentru funcțiile rect() și xywh() pentru a crea forme de bază.
- A fost adăugat suport pentru animarea atributului SVG viewBox, folosind limbajul SMIL (Synchronized Multimedia Integration Language), destinat animării elementelor SVG.
- Parserul URL-ului, invocat pentru linkuri cu schemă necunoscută, a fost modificat în DefaultURI conform cerinței specificației.
- A fost activat suportul pentru metodele ArrayBuffer.prototype.transfer() și ArrayBuffer.prototype.transferToFixedLength() pentru a transfera drepturile de proprietate asupra memoriei de la un ArrayBuffer la altul. După transfer, bufferul este deconectat de la zona de memorie originală și devine inutilizabil. Pentru a verifica starea bufferului, se poate utiliza proprietatea ArrayBuffer.prototype.detached.
- A fost implementat API-ul LargestContentfulPaint, care oferă informații despre timpul necesar pentru randarea celei mai mari imagini sau textului înainte ca utilizatorul să interacționeze cu pagina.
- A fost adăugat suport pentru API-ul Screen Wake Lock, care permite unei aplicații web, cum ar fi un player multimedia, să blocheze activarea ecranului după o perioadă lungă de inactivitate a utilizatorului.
- A fost adăugat suport experimental pentru API:
- API-ul Declarative Shadow DOM (activat prin dom.webcomponents.shadowdom.declarative.enabled în about:config) pentru crearea de noi ramuri rădăcină în Shadow DOM, de exemplu, pentru a separa stilul importat al unui element de ramura sa DOM asociată de documentul principal. API-ul declarativ propus permite desprinderea ramurilor DOM folosind doar HTML fără a fi necesară scrierea de cod JavaScript.
- API-ul Popover (activat prin dom.element.popover.enabled în about:config) pentru crearea de elemente de interfață, care sunt afișate deasupra altor elemente ale interfeței web. De exemplu, prin noul API se pot crea meniuri de acțiuni, se pot oferi sugestii pentru completarea formularelor, se pot crea interfețe educaționale și se poate realiza capturarea conținutului. Afișarea deasupra altor elemente se efectuează prin setarea atributului „popover”, iar poziționarea, legarea și focalizarea intrării sunt gestionate automat. Spre deosebire de elementul „dialog”, elementele cu atributul „popover” nu folosesc modul modal, susțin evenimente și pot fi ușor anulate.
- Instrumente pentru citirea și scrierea în clipboard (activat prin dom.events.asyncClipboard.clipboardItem, dom.events.asyncClipboard.readText și dom.events.asyncClipboard.writeText în about:config), care permit utilizarea interfeței ClipboardItem și metodologiile read(), readText() și write().
- Obiectul Intl.Segmenter (activat doar în versiuni nocturne ale Firefox) pentru segmentarea precisă a textului dintr-o linie având în vedere localizarea, de exemplu, pentru a separa cuvintele în limbi care nu folosesc spații pentru separarea cuvintelor.
- În instrumentele pentru dezvoltatori web, în modul de inspectare, la editarea selectorului sau proprietăților, apăsarea tastei Enter acum confirmă introducerea și setează focusul pe elementul corespunzător, în loc să mute focusul pe câmpul de intrare următor (pentru a muta focusul pe câmpul următor, se poate folosi tasta Tab).
- Versiunea pentru Android oferă posibilitatea activării mecanismului GPC (Global Privacy Control), care a înlocuit antetul „DNT” (Do Not Track) și permite informarea site-urilor despre interzicerea vânzării datelor personale și utilizarea acestora pentru urmărirea preferințelor sau a mișcărilor între site-uri. A fost oferită opțiunea de a seta Firefox ca program implicit pentru vizualizarea PDF-urilor. Pentru a spori protecția împotriva identificării pasive a utilizatorului, antetul User-Agent este acum întotdeauna setat pe „Android 10”, indiferent de versiunea reală a platformei.
Pe lângă noutăți și corectarea erorilor, în Firefox 122 au fost eliminate 15 vulnerabilități (5 marcate ca fiind periculoase). 8 dintre aceste vulnerabilități sunt cauzate de probleme legate de gestionarea memoriei, cum ar fi depășirile de buffer și accesul la zone de memorie deja eliberate. Aceste probleme pot conduce potențial la executarea codului de către un atacator atunci când sunt accesate pagini special concepute.
De asemenea, se remarcă anunțul referitor la crearea de către Mozilla a unui serviciu separat pentru monitorizarea cazurilor de discriminare a Firefox pe diverse platforme și pentru rezolvarea problemelor identificate împreună cu producătorii de platforme. În prezent, pe site sunt centralizate problemele tehnice apărute în utilizarea Firefox pe sistemele Apple, Google și Microsoft. De exemplu, pe platforma Android s-a remarcat imposibilitatea de a importa setările browser-ului și o scădere a calității căutării. În Windows se menționează interzicerea schimbării software a browser-ului implicit și impunerea Microsoft Edge. Pe Android și Windows este menționată și păstrarea unor legături cu Chrome și Edge chiar și după schimbarea browser-ului implicit.
Sursa: opennet.ro

