# Changelog

## [1.0.0](https://github.com/geonwoo-jeong/liveview_react/compare/v0.1.0...v1.0.0) (2026-08-30)


### Features

* automate Hex releases with Release Please ([3cd9f44](https://github.com/geonwoo-jeong/liveview_react/commit/3cd9f4437b0c662fb95aac81a6aa9a60ad496d42))


### Bug Fixes

* remove untranslated README cross-links ([3ae0af2](https://github.com/geonwoo-jeong/liveview_react/commit/3ae0af28ab277cab089cbdd48ce84a3989579a4f))

## 0.1.0 (unpublished development snapshot)

- Established the new `liveview_react` Hex, OTP, and npm identity.
- Made explicit `id` and `component` attributes the only component API.
- Added a strict TypeScript-first React 19 package surface.
- Standardized registration on `createLiveViewReact()` and
  `LiveViewReactHook`.
- Standardized SSR on `createLiveViewReactServer()` and the
  `liveview_react/vite` entry point.
- Read global SSR and props-diff flags from runtime application configuration,
  and start OTP `:inets` as part of the Vite SSR adapter contract.
- Added immutable compact props patches, reconnect recovery, Phoenix Streams,
  and inert HEEx slot transport.
- Required named slots to be written as `<:slot name="...">`. HEEx renders a
  slot omitted by `:if` as `[]`, which is indistinguishable from an ordinary
  empty-list attribute, so slot identity now comes from the reserved `:slot`
  assign instead of from the shape of a value. Empty-list props keep their
  value, and a hidden named slot contributes nothing.
- Made inert slot transport fail closed with matching server/browser tag and
  attribute allowlists. Active/resource markup and event, style, URL, Phoenix,
  or nested-root attributes are rejected, while meaningful boundary whitespace
  is preserved.
- Forced a full props snapshot when a prop is backed by `:temporary_assigns`.
  LiveView resets those assigns after each render, so the diff baseline no
  longer matched the client and array patches could accumulate duplicates.
- Reported hook lifecycle failures asynchronously instead of throwing into
  LiveView's DOM patch, so one failing root can no longer abort the remaining
  hook callbacks in the same patch.
- Added SSR/hydration identity, lazy component loading, StrictMode, root error
  callbacks, portals, and React 19 compatibility coverage.
- Added LiveView events and replies, connection state, navigation, controlled
  Ecto forms, and Phoenix upload hooks.
- Added Vite component discovery and an idempotent Igniter installer for fresh
  Phoenix applications.
- Made the Hex package the single release artifact, including the JavaScript
  runtime consumed by Phoenix assets.
- Added ExUnit, property, Vitest, real-Phoenix Playwright, lifecycle stress,
  compatibility matrix, artifact, benchmark, and release dry-run workflows.
- Removed deprecated setup tasks, copy templates, reload hooks, and fallback
  IDs.
