Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions changelog/core/0.7.41.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
package: "@webjsdev/core"
version: 0.7.41
date: 2026-07-21T11:37:11.859Z
commit_count: 2
---
## Breaking

- **The WebJs-specific light-DOM slot API is removed in favour of the native DOM slot API** ([#1022](https://github.com/webjsdev/webjs/pull/1022)). `setSlotContent()`, `hasSlot()`, and the `this.slots` record no longer exist. Light DOM and shadow DOM now share one native surface: read slotted content with `assignedNodes()` / `assignedElements()` / `assignedSlot` / `slotchange`, and write it with `appendChild` / `insertBefore` / `removeChild` / `el.slot =` / `innerHTML`. Conditioning a `render()` on the slot record is gone. Use CSS `:has()` / `slot:empty` or a `slotchange` listener instead.

## Features

- **Full light-DOM slot parity with shadow DOM (native API, one writer)** ([#1022](https://github.com/webjsdev/webjs/pull/1022)) [`842f9f84`](https://github.com/webjsdev/webjs/commit/842f9f84). Light-DOM `<slot>` now behaves identically to shadow DOM: post-mount native writes are live, the full read surface matches, and flipping `static shadow` changes nothing else. Built on a single-writer record model that ends the pre-#1016 three-observer bug lineage.

## Fixes

- **Project forwarded-slot content and named-slot slices on the client** ([#1026](https://github.com/webjsdev/webjs/pull/1026)) [`4367b318`](https://github.com/webjsdev/webjs/commit/4367b318). A template that forwards its slot into a nested component (`html\`<inner><slot></slot></inner>\``) now projects on client mount, not only during SSR (#1023), and a layout's `${children}` partitioned across multiple named slots now re-projects every named slice across a soft-nav swap, not just the default slice (#1024).
9 changes: 9 additions & 0 deletions changelog/server/0.8.55.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
package: "@webjsdev/server"
version: 0.8.55
date: 2026-07-21T11:37:11.908Z
commit_count: 1
---
## Features

- **Elision tokens track the native light-DOM slot surface** ([#1022](https://github.com/webjsdev/webjs/pull/1022)) [`842f9f84`](https://github.com/webjsdev/webjs/commit/842f9f84). Component elision drops the removed `setSlotContent` / `hasSlot` client-method signals and narrows the dynamic-slot detector to the native read surface (`slotchange`, `assignedNodes` / `assignedElements` / `assignedSlot`), so a display-only slotted wrapper stays elidable while a component that genuinely reads its slots still ships.
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@webjsdev/core",
"version": "0.7.40",
"version": "0.7.41",
"type": "module",
"description": "webjs core runtime - html/css tags, WebComponent base, isomorphic renderers",
"types": "./index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@webjsdev/server",
"version": "0.8.54",
"version": "0.8.55",
"type": "module",
"description": "webjs dev/prod server: SSR, router, API, server actions, live reload",
"main": "index.js",
Expand Down
Loading