MDN is 20 years old! đĽł
đ A huge thank you to...
The devs who read and trust MDN
The contributors who improve it
Everyone working on the web platform who shares our mission.
Here's how we celebrated with the web.dev team! đ§
developer.mozilla.org/en-US/âŚ
The Web Serial API landed in Firefox 151, allowing you to connect directly to microcontrollers, dev boards, 3D printers, power meters, and other serial-connected hardware from the web. Here's how it works:
Ever wish HTTP status codes were easier to remember? đźď¸
Check out this MDN cheatsheet that pairs each status code with an emoji to help you visualize what each one means, from 200 OK â to 418 Iâm a teapot đŤ
Check it out đ
ALT A colorful infographic titled âMDN HTTP Code Cheatsheet with Emojis.â It categorizes HTTP status codes using emoji-enhanced lists grouped by status code classes.
đŚ Firefox 150: web extensions can now use the Web Authentication API.
Extensions can create and retrieve WebAuthn credentials for any domain covered by their host permissions.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes feature a minimalist design with soft colors, highlighting new capabilities for web extensions.
đŚ New in Firefox 150: the revert-rule CSS keyword.
Make a property behave as if the current rule didn't exist, letting a value from another matching rule take effect instead.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes with a smooth background design featuring soft waves in pastel colors.
đŚ Firefox 150: light-dark() now accepts image values â not just colors.
Use it with images and gradients to adapt visuals based on color scheme.
background: light-dark(url(light.png), url(dark.png));
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes feature a pastel background with waves, emphasizing updates and new features.
đŚ Firefox 150 ships ariaNotify() on Document and Element.
Queue text to be announced by a screen reader â a more ergonomic and reliable alternative to ARIA live regions.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes highlighted with a light background and wavy design, inviting users to read more.
đŚ Firefox 150: color-mix() now accepts more than two colors at once.
Mix any number of colors in a single declaration â no more nesting multiple calls.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes feature a pastel background with wavy patterns, highlighting the new color-mix() function for CSS.
đŚ Firefox 150: <img sizes="auto"> is now supported.
Lazy-loaded images use their calculated layout size to select from srcset â no more duplicating media queries in HTML.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes feature a soft pastel background with text highlighting updates and a call to action to read more.
Have you heard of CSS Subgrid? đ¤
A grid item can now pass its parent's grid lines to children, so nested elements align perfectly with the outer layout.
No more hacky workarounds for aligned nested grids.
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT Code snippet showcasing CSS Subgrid implementation with defined grid properties for a main grid, items, and sub-items.
Firefox 150 ships 7 media pseudo-classes: :buffering, :muted, :paused, :playing, :seeking, :stalled, :volume-locked.
Style <audio> and <video> elements based on their playback state.
Read Now đ
developer.mozilla.org/en-US/âŚ
ALT Firefox 150 release notes feature a light background with pastel waves. Includes a clear call to action to read more about updates.
đ The URL Pattern API is Newly Available!
Use it to match and extract parts of URLs, no need to reinvent routing logic. Supports literals, wildcards, named groups, and even regex constraints.
Learn how it works đ
developer.mozilla.org/en-US/âŚ
ALT Dark-themed code snippet showing URLPattern examples on MDN: two JavaScript blocks matching "/books" and "/books/:id" with console.log outputs.
Wait for all promises, even the failing ones đ
`Promise.allSettled()` waits for every promise to finish, success or failure.
â Returns { status: 'fulfilled', value } or { status: 'rejected', reason }
â Perfect for batch operations
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT JavaScript code demonstrating `Promise.allSettled()` handling fulfilled and rejected promises, along with results logging output.
⨠:only-child now matches elements with no parent!
The :only-child selector has been updated â it can now match elements that have no parent at all, not just sole children.
A subtle but useful spec alignment across all major browsers.
Learn more đ
developer.mozilla.org/en-US/âŚ
⨠:only-child now matches elements with no parent!
The :only-child selector has been updated â it can now match elements that have no parent at all, not just sole children.
A subtle but useful spec alignment across all major browsers.
Learn more đ
developer.mozilla.org/en-US/âŚ
Build smooth scroll experiences with CSS scroll snap đ
Snap scrollable containers to specific positions â carousels, galleries, and paginated views with zero JavaScript.
Learn more đ
developer.mozilla.org/en-US/âŚ
đŹ Check own properties safely with Object.hasOwn()
A safer alternative to hasOwnProperty, works even on objects with a null prototype.
Baseline since 2022 â
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT Code snippet demonstrating the use of Object.hasOwn() in JavaScript to check property existence in various scenarios.
Create frosted glass effects in CSS đŞ
backdrop-filter applies visual effects to the content behind an element - blur, brightness, contrast, and more.
backdrop-filter: blur(10px) brightness(0.9);
No JavaScript. No canvas tricks.
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT Code snippet showcasing various CSS `backdrop-filter` functions like blur, brightness, contrast, and saturation against a blue background.
The CSS next-sibling combinator ( ) selects an element only when it immediately follows another, same parent, no elements between them.
img p { font-weight: bold; }
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT Code snippet illustrating CSS sibling selection with `li:has( li:last-of-type)` and style rules for color and font weight.
đ Document.caretPositionFromPoint() is Newly Available!
Give it an (x, y) coordinate and get back the exact DOM node and character offset. Perfect for click-to-edit interfaces.
Check it out đ
developer.mozilla.org/en-US/âŚ
ALT The graphic displays the syntax for the `caretPositionFromPoint()` function in a code snippet format against a blue background.
đ The Popover API is Baseline, no JavaScript needed
Tooltips, dropdowns, and menus with just HTML attributes.
â popover attribute on any element
â popovertarget to wire the trigger
â Accessible by default, no ARIA hacks
Learn more đ
developer.mozilla.org/en-US/âŚ
ALT Code snippet demonstrating a simple popover with a toggle button, showcasing HTML attributes for functionality.