תאריך פרסום: 25 ביוני 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמופיעות כאן זמין בקישורים שצירפנו או ברשימה שבאתר ChromeStatus.com. נכון ל-25 ביוני 2025, גרסה Chrome 139 היא גרסת בטא. אפשר להוריד את הגרסה העדכנית ביותר ב-Google.com למחשב או בחנות Google Play ב-Android.
CSS
בגרסה הזו נוספו שש תכונות חדשות של CSS וממשק משתמש.
קיצור דרך var() ו-attr()
אם לא נעשה שימוש בחלופה, הפונקציות var() ו-attr() מחושבות בלי לבדוק אם יש מחזורים בחלופה הזו. קוד ה-CSS הבא פועל כי קיימים --green
ו---blue.
--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));
מאפיין CSS caret-animation
דפדפן Chrome כבר תמך באנימציה של המאפיין caret-color, אבל כשהאנימציה הופעלה, התנהגות ברירת המחדל של סמן הטקסט (מצמוץ) הפריעה לאנימציה. למאפיין caret-animation של CSS יש שני ערכים אפשריים: auto ו-manual, כאשר auto מייצג את ברירת המחדל של הדפדפן (הבהוב) ו-manual מייצג את האנימציה של סמן הטקסט שנשלטת על ידי מפתח/ת אתרים. הנכס מאפשר גם למשתמשים להשבית את ההבהוב באמצעות גיליון סגנונות (stylesheet) של משתמש.
עיצוב פינות
כדי להפעיל עיצוב של פינות בנוסף ל-border-radius, מציינים את הצורה או את מידת העיגול של הפינה. כך אפשר ליצור צורות כמו ריבוע עם פינות מעוגלות, חריצים וקעירות, ולהוסיף אנימציה למעבר ביניהן. מידע נוסף זמין בפוסט הזה של Amit Sheen.
המשך הפעלת מעברים כשעוברים לערך המעבר הראשוני.
כשמאפיינים שקשורים למעבר משתנים, הם אמורים להשפיע רק על מעברים חדשים. המשמעות היא שאם משנים את מאפייני המעבר, אלא אם משנים גם את המאפיינים שיש להם אנימציות מעבר פעילות, אנימציות המעבר האלה ימשיכו עם משך הזמן, ההאצה וכו' שצוינו קודם. Blink ביטל מעברים באופן שגוי כשמאפיין המעבר הוגדר כ-"none", למרות שהוא לא מבטל אותם אם משנים רק את transition-duration. התכונה הזו תגרום לכך ש-Blink יהיה עקבי עם webkit ו-gecko, ויאפשר למעברים פעילים להמשיך לפעול, אלא אם ערך המאפיין שלהם ישתנה ויפעיל עדכון מעבר חדש.
פונקציות CSS בהתאמה אישית
פונקציות מותאמות אישית דומות למאפיינים מותאמים אישית, אבל במקום להחזיר ערך קבוע יחיד, הן מחזירות ערכים שמבוססים על מאפיינים מותאמים אישית אחרים, פרמטרים ותנאים.
@function --negate(--value) {
result: calc(var(--value) * -1);
}
div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
תמיכה במאפיינים width ו-height כמאפייני הצגה ברכיבי <svg> מוטמעים
יש תמיכה בהחלת width ו-height כמאפייני הצגה ברכיבי <svg> מקוננים באמצעות תגי עיצוב של SVG ו-CSS. הגישה הכפולה הזו מספקת גמישות רבה יותר, ומאפשרת לכם לנהל ולעצב רכיבי SVG בצורה יעילה יותר בעיצובים מורכבים.
Web APIs
מניפסט של אפליקציית אינטרנט: מציינים את הזכאות לעדכון, כתובות ה-URL של הסמלים הן Cache-Control: immutable
מציינים אלגוריתם לבדיקת זכאות לעדכון במפרט המניפסט. כך תהליך העדכון יהיה יותר דטרמיניסטי וצפוי, והמפתחים יוכלו לקבוע אם (ומתי) העדכונים יחולו על התקנות קיימות. בנוסף, אפשר יהיה להסיר את 'הגבלת הבדיקה לעדכון' שסוכני משתמשים צריכים להטמיע כרגע כדי למנוע בזבוז של משאבי רשת.
שיפורים בביצועים של חישת עומק ב-WebXR
ה-API חושף כמה מנגנונים חדשים להתאמה אישית של התנהגות התכונה 'חישת עומק' במהלך פעילות WebXR, במטרה לשפר את הביצועים של יצירה או צריכה של מאגר עומק. המנגנונים העיקריים שמוצגים הם: האפשרות לבקש את מאגר עומק הגולמי או המוחלק, האפשרות לבקש שהסביבה העיקרית תפסיק או תמשיך לספק את מאגר העומק, והאפשרות לחשוף מאגר עומק שלא תואם בדיוק לתצוגה של המשתמש, כך שסוכן המשתמש לא צריך לבצע הקרנות מחדש מיותרות בכל פריים.
אפשר להשתמש ביותר תווים בממשקי JavaScript DOM API
מנתח ה-HTML תמיד (או במשך זמן רב) אפשר לאלמנטים ולמאפיינים להכיל מגוון רחב של תווים ושמות תקינים, אבל ממשקי ה-API של JavaScript DOM שיוצרים את אותם אלמנטים ומאפיינים הם מחמירים יותר ולא תואמים למנתח. השינוי הזה מרחיב את האימות של ממשקי ה-API של JavaScript DOM כדי להתאים למערכת לניתוח HTML.
פקודת הפעלה request-close
אפשר לסגור רכיבי דיאלוג באמצעות מגוון מנגנונים, ולפעמים מפתחים רוצים למנוע את הסגירה. כדי להשיג את זה, תיבות הדו-שיח שולחות אירוע ביטול. במקור, האירוע הזה הופעל רק דרך בקשת סגירה (לדוגמה, לחיצה על מקש Esc). לאחרונה נוספה פונקציית JavaScript requestClose() שמפעילה גם את אירוע הביטול. הפקודה request-close מוסיפה את היכולת החדשה הזו ל-API של פקודות להפעלת פונקציות בהצהרה.
WebGPU: תמיכה בטקסטורות תלת-ממדיות בפורמטים דחוסים של BC ו-ASTC
התכונות texture-compression-bc-sliced-3d ו-texture-compression-astc-sliced-3d של WebGPU מוסיפות תמיכה בטקסטורות תלת-ממדיות בפורמטים דחוסים של BC ו-ASTC, בהתאמה.
אישור תשלום מאובטח: מפתחות שקשורים לדפדפן
הוספת חתימה קריפטוגרפית נוספת על הצהרות של אישור תשלום מאובטח (SPC) ויצירת פרטי כניסה. המפתח הפרטי התואם לא מסונכרן בין המכשירים. הפעולה הזו עוזרת למפתחי אתרים לעמוד בדרישות של קישור מכשיר לעסקאות תשלום.
אישור תשלום מאובטח: עדכון חוויית המשתמש
עדכון של רכיבי UX לתיבת הדו-שיח של SPC ב-Android Chrome. בנוסף לשיפור חוויית המשתמש, אנחנו מוסיפים את התכונות הבאות:
- התכונה מאפשרת למוֹכרים לספק רשימה אופציונלית של לוגו של ישויות תשלום שקשורות לתשלום שיוצג.
- החזרת מצבי פלט שונים למוכר בהתאם לשאלה אם המשתמש רוצה להמשיך את העסקה בלי SPC או לבטל את העסקה.
- התג מוסיף שדה חדש לתווית פרטי התשלום לאמצעי התשלום, כך שהטקסט מוצג בשתי שורות.
WebGPU core-features-and-limits
התכונה core-features-and-limits מציינת שמתאם ומכשיר של WebGPU תומכים בתכונות ובמגבלות העיקריות של המפרט.
תיקון אפשרי של בעיה שקשורה לעיגון הגלילה
בשלב הזה, האלגוריתם של קיבוע הגלילה בוחר מועמדים בעדיפות גבוהה כשהם זמינים כיעדי קיבוע. המועמדים העיקריים הם כרגע רכיב ממוקד שניתן לעריכה והדגשות של חיפוש בדף. זה עלול לפגוע בחוויית המשתמש אם יש רכיב גדול של תוכן שניתן לעריכה שמוקדש לו מיקוד, והתוכן שלו השתנה מחוץ למסך (הסמן מוסט כתוצאה מכך). התיקון הזה משנה את האלגוריתם: במקום לבחור את המועמד בעדיפות גבוהה כעוגן, נעשה שימוש במועמד כהיקף או כשורש של האלגוריתם הרגיל לבחירת עוגן, שבוחר את הרכיב הכי עמוק במסך כעוגן.
תמיכה במאפיין async של רכיבי SVG <script>
ממשק SVGScriptElement ב-SVG 2.0 כולל את המאפיין async, בדומה ל-HTMLScriptElement. המאפיין הזה מאפשר להריץ סקריפטים באופן אסינכרוני, וכך לשפר את הביצועים ואת הרספונסיביות של אפליקציות אינטרנט שמשתמשות ב-SVG.
On-device Web Speech API
התכונה הזו מוסיפה תמיכה בזיהוי דיבור במכשיר ל-Web Speech API, ומאפשרת לאתרים לוודא שאודיו או תמליל דיבור לא נשלחים לשירות של צד שלישי לצורך עיבוד. אתרים יכולים לשלוח שאילתה לגבי הזמינות של זיהוי דיבור במכשיר בשפות ספציפיות, להציג למשתמשים הנחיות להתקנת המשאבים הנדרשים לזיהוי דיבור במכשיר, ולבחור בין זיהוי דיבור במכשיר לבין זיהוי דיבור מבוסס-ענן לפי הצורך.
מחיקה של window.name לניווטים בכמה אתרים שמחליפים את קבוצת ההקשרים של הגלישה
הערך של המאפיין window.name נשמר כרגע לאורך כל משך החיים של כרטיסייה, גם כשמתבצעת ניווט שמעביר בין קבוצות של הקשרים לגלישה. מצב כזה עלול לגרום לדליפת מידע, ואפשר להשתמש בו כווקטור למעקב.
הסרת הנכס window.name פותרת את הבעיה. זה אמור להיות שינוי עם סיכון נמוך, כי חיפוש של הקשר גלישה לפי שם כבר לא עובד אם הוא נמצא בקבוצת הקשרים אחרת של גלישה, ולכן השם לא באמת שימושי.
מדיניות Enterprise: ClearWindowNameCrossSiteBrowsing (תפסיק לפעול ב-Chrome 142).
תוספים להיקף של אפליקציות אינטרנט
נוסף שדה למניפסט של אפליקציית האינטרנט "scope_extensions", שמאפשר לאפליקציות אינטרנט להרחיב את ההיקף שלהן למקורות אחרים.
ההגדרה הזו מאפשרת להציג אתרים ששולטים בכמה תת-דומיינים ודומיינים ברמה העליונה כאפליקציית אינטרנט אחת. כדי להשתמש בהגדרה הזו, צריך לציין מקורות שמאשרים את השיוך לאפליקציית האינטרנט באמצעות קובץ הגדרה .well-known/web-app-origin-association.
זיהוי סוג MIME של JSON בהתאם למפרט
Chromium מזהה עכשיו את כל סוגי ה-MIME התקפים של JSON, כפי שמוגדר במפרט mimesniff של WHATWG. הוא כולל כל סוג MIME שסוג המשנה שלו מסתיים ב-+json, בנוסף ל-application/json ו-text/json המסורתיים. השינוי הזה מבטיח שממשקי API ותכונות באינטרנט שמסתמכים על זיהוי JSON יתנהגו באופן עקבי עם התקן של פלטפורמת האינטרנט ועם דפדפנים אחרים. אחת הסיבות העיקריות לשינוי הזה היא לתקן את אופן הייבוא של מודול JSON, שבו סוגי MIME של JSON שתקפים בדרך כלל, כמו text/html+json ו-image/svg+json, לא נטענים כמודולים.
Private Aggregation API: דיווח מצטבר על שגיאות
יש מגוון תנאי שגיאה שיכולים להתרחש כשמשתמשים ב-Private Aggregation API. לדוגמה, יכול להיות שהתקציב לפרטיות יסתיים, ולכן לא יהיה אפשר להוסיף עוד היסטוגרמות. התכונה הזו מאפשרת למפתחים לרשום תוספות להיסטוגרמה שיישלחו רק אם מתרחשת שגיאה מסוג מסוים. התכונה הזו תומכת במדידת התדירות של תנאי השגיאה ובפיצול המדידות האלה לפי מאפיינים רלוונטיים שצוינו על ידי המפתח (למשל, גרסת הקוד שנפרס). יכול להיות שהשגיאות עצמן מכילות מידע שמשותף בין אתרים, ולכן אנחנו לא יכולים פשוט להציג אותן בדף למשתמשים שלא מופעלים אצלם קובצי Cookie של צד שלישי. במקום זאת, התכונה הזו משתמשת מחדש בצינורות הדיווח הקיימים של נתונים מצטברים עם רעש באמצעות Aggregation Service.
Crash Reporting API: אפשר לציין דיווח על קריסה כדי לקבל רק דוחות קריסה
התכונה הזו מבטיחה שהמפתחים יקבלו רק דוחות על קריסות. כדי להשתמש בה, צריך לציין את נקודת הקצה שנקראת crash-reporting. כברירת מחדל, דוחות הקריסה נשלחים לנקודת הקצה default שמקבלת סוגים רבים אחרים של דוחות, בנוסף לדוחות קריסה. מפתחים יכולים לספק כתובת URL נפרדת לנקודת הקצה המוכרת בשם crash-reporting, כדי להפנות אליה דוחות קריסה, במקום לנקודת הקצה default.
צמצום השימוש בטכניקת Fingerprinting במידע בכותרת Accept-Language
התכונה הזו מצמצמת את כמות המידע שחושפת מחרוזת הערך של הכותרת Accept-Language בבקשות HTTP וב-navigator.languages. במקום לשלוח רשימה מלאה של השפות המועדפות של המשתמש בכל בקשת HTTP עם הכותרת Accept-Language. עכשיו אנחנו שולחים את השפה המועדפת ביותר של המשתמש בכותרת Accept-Language. כדי לצמצם את הסיכון לבעיות תאימות, בהשקה הראשונית אנחנו מצמצמים את המידע בכותרת ה-HTTP. בעתיד נצמצם את ה-getters של JavaScript שקשורים לכך.navigator.languages
הפעלת אירוע שגיאה במקום הפעלה של חריגה (exception) לעובד שנחסם על ידי CSP
כש-Chrome חוסם את הפעולה באמצעות Content Security Policy (CSP), הוא מחזיר כרגע את השגיאה
SecurityError מהבנאי של Worker ו-SharedWorker. לפי המפרט, צריך לבדוק את ה-CSP כחלק מהפעולה fetch ולהפעיל אירועי שגיאה באופן אסינכרוני במקום להפעיל חריגה כשסקריפט מריץ new
Worker(url) או new SharedWorker(url). השינוי הזה גורם לכך שהמפרט של Chrome
תואם: לא מתבצעת השלכה במהלך הבנייה ואירועי שגיאה מופעלים
באופן אסינכרוני.
עוצמת האודיו של פריימים מקודדים של RTC
חשיפת רמת האודיו של פריים מקודד שמועבר באמצעות
RTCPeerConnection ונחשף באמצעות WebRTC Encoded Transform.
גרסאות מקור חדשות לניסיון
ב-Chrome 139 אפשר להצטרף לניסויים חדשים של מקורות.
Prompt API
Prompt API נועד לאינטראקציה עם מודל שפה מבוסס-AI באמצעות קלט של טקסט, תמונה ואודיו. הוא תומך במגוון תרחישי שימוש, החל מיצירת כיתובים לתמונות וביצוע חיפושים חזותיים, ועד לתמלול אודיו, סיווג אירועי קול, יצירת טקסט לפי הוראות ספציפיות וחילוץ מידע או תובנות מטקסט. הוא תומך בפלט מובנה, שמבטיח שהתשובות יהיו בפורמט מוגדר מראש, בדרך כלל כסכימת JSON, כדי לשפר את התאימות של התשובות ולאפשר שילוב חלק עם אפליקציות במורד הזרם שדורשות פורמטים סטנדרטיים של פלט. ה-API הזה חשוף גם בתוספים של Chrome. גרסת המקור לניסיון הזו מיועדת לחשיפה באינטרנט.
מאפיין חסימת עיבוד של קצב פריימים מלא
אנחנו מציעים להוסיף טוקן חדש של חסימת עיבוד, full-frame-rate, למאפייני החסימה. כשהעיבוד נחסם באמצעות אסימון קצב הפריימים המלא, העיבוד יתבצע בקצב פריימים נמוך יותר כדי לשמור יותר משאבים לטעינה.
מצב תאימות של WebGPU
הוספה של קבוצת משנה אופציונלית של WebGPU API עם הגבלות קלות, שיכולה להריץ ממשקי API ישנים יותר לגרפיקה, כמו OpenGL ו-Direct3D11. אם מפתחים יפעילו את המצב הזה ויפעלו בהתאם למגבלות שלו, הם יוכלו להרחיב את היקף החשיפה של אפליקציות WebGPU שלהם למכשירים ישנים רבים שלא כוללים את ממשקי ה-API המודרניים והספציפיים לגרפיקה שנדרשים על ידי WebGPU ליבה. באפליקציות פשוטות, השינוי היחיד שנדרש הוא לציין את "compatibility" featureLevel כשמתקשרים אל requestAdapter. במקרה של אפליקציות מתקדמות יותר, יכול להיות שיהיה צורך לבצע שינויים מסוימים כדי להתאים אותן להגבלות של המצב. מכיוון שמצב תאימות הוא קבוצת משנה, האפליקציות שמתקבלות הן גם אפליקציות תקינות של WebGPU Core, והן יפעלו גם בסוכני משתמש שלא תומכים במצב תאימות.
הוצאה משימוש והסרה
בגרסה הזו של Chrome מוצגות ההוצאות משימוש וההסרות שמפורטות בהמשך. באתר ChromeStatus.com אפשר למצוא רשימות של הוצאות משימוש מתוכננות, הוצאות משימוש נוכחיות והסרות קודמות.
בגרסה הזו של Chrome הוסרו שתי תכונות.
הסרת התמיכה ב-macOS 11
Chrome 138 היא הגרסה האחרונה שתומכת ב-macOS 11. החל מ-Chrome 139, macOS 11 לא נתמכת, כי היא לא מופיעה בחלון התמיכה של Apple. חובה להפעיל מערכת הפעלה נתמכת כדי לשמור על הבטיחות. במחשבי Mac עם macOS 11, Chrome ימשיך לפעול ויציג סרגל מידע עם אזהרה, אבל לא יתעדכן יותר. אם משתמש רוצה לעדכן את Chrome, הוא צריך לעדכן את המחשב שלו לגרסה נתמכת של macOS. במקרים של התקנות חדשות של Chrome מגרסה 139 ואילך, נדרשת מערכת macOS מגרסה 12 ואילך.
הסרת הזיהוי האוטומטי של ערכת התווים ISO-2022-JP ב-HTML
יש בעיות אבטחה ידועות שקשורות לזיהוי אוטומטי של ערכת התווים ISO-2022-JP. השימוש במערכת התווים הזו נמוך מאוד, וב-Safari אין תמיכה בזיהוי אוטומטי של ISO-2022-JP, לכן Chrome מסיר את התמיכה בה כדי למנוע בעיות אבטחה.