---
package: "@webjsdev/core"
version: 0.6.0
date: 2026-05-21T04:25:09+05:30
commit_count: 4
---
## Features

- **SSR property bindings via data-webjs-prop-* side-channel** [`2c4c98e`](https://github.com/webjsdev/webjs/commit/2c4c98e)
  A property hole (.prop=${val}) on any element used to be dropped
  silently at SSR. The data was lost between page function and
  child component, breaking the natural "fetch data, pass to
  component" pattern unless authors manually JSON.stringify into
- **client hydrates data-webjs-prop-* attributes, then strips** [`e8e4383`](https://github.com/webjsdev/webjs/commit/e8e4383)
  Completes the SSR property-binding round-trip. The server emits
  data-webjs-prop-<kebab>="<wire-encoded>" for each .prop=${val}
  hole in PR-WIP commit 2c4c98e. This commit teaches WebComponent
  to consume those attributes on the browser side.
- **full lit-API parity (ReactiveController + lifecycle + directives + 127 lit-ported tests)** ([#31](https://github.com/webjsdev/webjs/pull/31)) [`5a23521`](https://github.com/webjsdev/webjs/commit/5a23521)
  * feat(core): rename ReactiveController hooks to lit names
  
  onMount → hostConnected
  onUnmount → hostDisconnected

## Fixes

- **skip property-attribute emission for native elements + decode HTML entities on server walker read** [`a3e1132`](https://github.com/webjsdev/webjs/commit/a3e1132)
  Two related fixes to the property-binding SSR path.
  
  1. Native-element guard. Property bindings on tags without a hyphen
     (`<input .value=${v}>`) used to emit a `data-webjs-prop-value`
