WebKit is the web browser engine used by Safari, Mail, App Store, and many other apps on macOS, iOS, and Linux. Get started contributing code, or reporting bugs.
What's New:
Web Inspector
Elements
- Enabled independent Styles details sidebar panel in the Elements Tab by default (r271319)
- Improved the visibility of values by de-emphasizing range information in the Font details sidebar panel (r271329)
Timelines
- Added a banner to the JavaScript Allocation timeline when new heap snapshots are added that are immediately filtered (r271236)
Speech Recognition
- Enabled SpeechRecognition by default (r270854)
- Added webkit- prefix to SpeechRecognition (r270868)
- Added availability check of speech recognition service before requesting permissions (r271031)
- Changed to fail speech recognition when the page is muted for audio capture (r271154)
- Implemented recognizer for SpeechRecognition (r270772)
- Stopped speech recognition if page becomes invisible (r271169, r271205)
CSS
prevented child elements from scrolling (r270849)
- Added support for aspect-ratio on positioned elements (r271061)
- Changed to take aspect-ratio into account for percentage resolution (r271293)
- Fixed an issue where toggling pointer-events on
- Fixed CSS Scroll Snap when the user scrolls via the keyboard (r270838)
- Fixed :focus to match inside the focus event (r271146)
- Fixed the default namespace getting ignored inside non-type selectors for :is() and :not() (r270955)
- Fixed width: max-content with box-sizing: border-box to leave space for padding (r271003)
- Implemented ::file-selector-button pseudo-element (r270784)
- Prevented layout overflow from being computed incorrectly inside Flexbox and breaking sticky positioning (r271053)
Scrolling
- Fixed scrolling issues when scrolling on only one axis is enabled (r271090)
- Sibling element wheel event regions can be wrong (r271054)
JavaScript
- Fixed non-enumerable property to shadow inherited enumerable property from for-in (r270874)
- Fixed Intl.DateTimeFormat#formatRange to generate the same output to Intl.DateTimeFormat#format if startDate and endDate are "practically-equal" (r271224)
- Implemented arbitrary-module-namespace-identifier-names (r270923)
- Improved performance of Object rest and spread (r271343)
Media
- Used low-power audio buffer sizes for more output devices (r270943)
- Updated the video element to ignore requests to enter or exit fullscreen before the current fullscreen mode change is completed (r271341)
WebAssembly
- Added support for memory.copy, memory.init, and data.drop behind flag (r270948)
- Added support for memory.fill behind flag (r270855)
- Added support for type-annotated select behind flag (r270827)
- Updated WebAssembly instance's exports object (r271112)
- Updated WebAssembly multi-value to iterate iterable result from JS function first before converting values (r271113)
- Updated WebAssembly Table/Memory/Global to allow inheritance (r271115)
- Implemented WebAssembly BigInt handling (r271168)
Web Animations
- Fixed animation issue on sibling elements caused by style sharing (r270837)
Accessibility
- Fixed aria-orientation getting ignored on input[type="range"] (r271166)
- Implemented prefers-contrast: more (r270823)
- Updated list heuristics to include linked lists inside navigation containers (r270896)
Web API
- Adjusted date input placeholder color based on specified text color (r270875)
- Corrected the intrinsic size stored for SVG images (r271129)
- Fixed "Open with Preview" menu item in PDF context menus on Big Sur (r270946)
- Fixed some issues with PDFs as
- Fixed Service Worker inspection (r271294)
- Changed text fields to not be translated while typing (r271262)
Bug Fixes
- Fixed text content alignment inside an inline-block element (r271284)
- Fixed inline block baseline with clipped overflow (r271348)