From 96396e06ca53d726d40baae201a4f5fa480fdd28 Mon Sep 17 00:00:00 2001 From: adnaan <758447+adnaan@users.noreply.github.com> Date: Sat, 15 Aug 2026 16:02:27 +0000 Subject: [PATCH] Sync from client@v0.25.0 --- content/changelog/client.md | 46 +++++++++++++++++++++++++++------- content/client/index.md | 14 +++++------ content/contributing/client.md | 4 +-- 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/content/changelog/client.md b/content/changelog/client.md index 55f7966..809cb88 100644 --- a/content/changelog/client.md +++ b/content/changelog/client.md @@ -2,8 +2,8 @@ title: "Changelog" source_repo: "https://github.com/livetemplate/client" source_path: "CHANGELOG.md" -source_ref: "v0.20.0" -source_commit: "03d463fddee48ef85b58d5d31984f0e941cebbb3" +source_ref: "v0.25.0" +source_commit: "bcaba2b8bc6062bdcb56045d3b0ba5bc052ef77d" --- # Changelog @@ -13,13 +13,44 @@ All notable changes to @livetemplate/client will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v0.20.0] - 2026-07-20 +## [v0.25.0] - 2026-08-15 ### Changes -- fix(upload): warn when marked fields cannot travel on a chunked upload (#152) (cdf1c3f) -- fix(release): run tests before mutating, restore files on abort (#151) (769f77e) -- docs(changelog): curate the v0.19.1 entry after release.sh (588863e) +- docs(changelog): merge three orphaned [Unreleased] sections into their releases (#158) (9ac9b56) +- docs(readme): say what the client does, not what it enables (#157) (2c3978b) +- docs: pin the README CDN snippets, and make the release own them (#156) (ccae125) +- fix(release): promote the curated [Unreleased] instead of regenerating (#154) (a1d43e5) +- docs(changelog): curate the v0.20.0 entry after release.sh (6281b3f) + + + +## [v0.20.0] - 2026-07-20 + +### Fixed + +- **A field marked `lvt-upload-with` that cannot reach the handler now says so.** + Fields only ever travel on the multipart upload path. Proxied always uses it, + so `OnUpload` always receives them — but Volume goes over the WebSocket in + chunks while the socket is up (falling back to multipart when it is down), and + Direct PUTs straight to storage and completes with a metadata-only message. + Neither carries form fields, so the server builds the + `upload__complete` action's context from an empty map and the handler + sees nothing, with nothing in the markup to explain it. The client now warns + on both transports, naming the fields and the remedy — which differs: Volume + delivers them on its multipart fallback, Direct never delivers them at all. + (#152, livetemplate#508) + +### Internal + +- `scripts/release.sh` runs tests and the build before touching VERSION, + package.json or CHANGELOG.md, and restores those files when a run aborts + before committing. Previously a failing test left them rewritten, and since + the script refuses to start on a dirty tree, the next attempt failed for a + reason unrelated to the first. (#151) + + This release jumps 0.19.1 → 0.20.0 to track the core library's v0.20.0, which + `scripts/release.sh` enforces on major.minor. @@ -501,7 +532,6 @@ For the full design rationale, see the [attribute-reduction proposal](https://gi -## [Unreleased] ### Added @@ -575,7 +605,6 @@ The `__navigate__` in-band action is a no-op on server versions before livetempl -## [Unreleased] ### Added @@ -591,7 +620,6 @@ The `__navigate__` in-band action is a no-op on server versions before livetempl -## [Unreleased] ### Added diff --git a/content/client/index.md b/content/client/index.md index 4b45c5f..5b1450a 100644 --- a/content/client/index.md +++ b/content/client/index.md @@ -2,8 +2,8 @@ title: "@livetemplate/client" source_repo: "https://github.com/livetemplate/client" source_path: "README.md" -source_ref: "v0.20.0" -source_commit: "03d463fddee48ef85b58d5d31984f0e941cebbb3" +source_ref: "v0.25.0" +source_commit: "bcaba2b8bc6062bdcb56045d3b0ba5bc052ef77d" --- # @livetemplate/client @@ -14,7 +14,7 @@ TypeScript/JavaScript client library for LiveTemplate - reactive HTML over the w ## Overview -The LiveTemplate client enables reactive web applications by efficiently applying tree-based HTML updates from the server. It uses DOM morphing, intelligent static content caching, and WebSocket transport for real-time interactivity. +The server sends tree-based HTML updates; this client applies them to the DOM. It morphs the existing nodes rather than replacing them, keeps the static parts of the page cached, and carries actions and updates over a WebSocket. ## Features @@ -39,7 +39,7 @@ npm install @livetemplate/client ### CDN ```html - + ``` ## Quick Start @@ -50,7 +50,7 @@ npm install @livetemplate/client - +
@@ -146,7 +146,7 @@ The client supports six native HTML5 drag events as `lvt-on:*` bindings: `dragst - **Throttle dragover**: `dragover` fires at ~60 Hz. Add `lvt-mod:throttle="100"` (or higher) to any `dragover` handler bound to a real action, or use the marker pattern. - **v1 limitation**: `effectAllowed` and `dropEffect` are hardcoded to `"move"`. Copy/link drag semantics are not yet configurable. -## How It Works +## How it works 1. **Initial Render**: Client fetches full HTML from server, caches static structure 2. **Updates**: Server sends only changed dynamic values as tree updates @@ -246,7 +246,7 @@ See [CONTRIBUTING.md](/contributing/client) for development guidelines. ## License -MIT License - see [LICENSE](https://github.com/livetemplate/client/blob/v0.20.0/LICENSE) for details. +MIT License - see [LICENSE](https://github.com/livetemplate/client/blob/v0.25.0/LICENSE) for details. ## Support diff --git a/content/contributing/client.md b/content/contributing/client.md index 59f1456..76bcec1 100644 --- a/content/contributing/client.md +++ b/content/contributing/client.md @@ -2,8 +2,8 @@ title: "Contributing to @livetemplate/client" source_repo: "https://github.com/livetemplate/client" source_path: "CONTRIBUTING.md" -source_ref: "v0.20.0" -source_commit: "03d463fddee48ef85b58d5d31984f0e941cebbb3" +source_ref: "v0.25.0" +source_commit: "bcaba2b8bc6062bdcb56045d3b0ba5bc052ef77d" --- # Contributing to @livetemplate/client