diff --git a/content/contributing/livetemplate.md b/content/contributing/livetemplate.md
index fd70ffa..045eff6 100644
--- a/content/contributing/livetemplate.md
+++ b/content/contributing/livetemplate.md
@@ -2,8 +2,8 @@
title: "Contributing to LiveTemplate Core Library"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "CONTRIBUTING.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Contributing to LiveTemplate Core Library
diff --git a/content/guides/ephemeral-components.md b/content/guides/ephemeral-components.md
index 8f8824f..bdbc0f0 100644
--- a/content/guides/ephemeral-components.md
+++ b/content/guides/ephemeral-components.md
@@ -2,8 +2,8 @@
title: "Ephemeral Components Guide"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/guides/ephemeral-components.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Ephemeral Components Guide
diff --git a/content/guides/observability.md b/content/guides/observability.md
index c4fde1d..3c4d5c3 100644
--- a/content/guides/observability.md
+++ b/content/guides/observability.md
@@ -2,8 +2,8 @@
title: "LiveTemplate Observability Guide"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/guides/OBSERVABILITY.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# LiveTemplate Observability Guide
diff --git a/content/guides/progressive-complexity.md b/content/guides/progressive-complexity.md
index 5916d14..bae8b78 100644
--- a/content/guides/progressive-complexity.md
+++ b/content/guides/progressive-complexity.md
@@ -2,8 +2,8 @@
title: "Progressive Complexity Guide"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/guides/progressive-complexity.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Progressive Complexity Guide
diff --git a/content/guides/scaling.md b/content/guides/scaling.md
index ce9deb4..c963315 100644
--- a/content/guides/scaling.md
+++ b/content/guides/scaling.md
@@ -2,8 +2,8 @@
title: "LiveTemplate Scaling Guide"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/guides/SCALING.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# LiveTemplate Scaling Guide
diff --git a/content/guides/standard-html-reactivity.md b/content/guides/standard-html-reactivity.md
index 67525b8..c1ded18 100644
--- a/content/guides/standard-html-reactivity.md
+++ b/content/guides/standard-html-reactivity.md
@@ -2,8 +2,8 @@
title: "Standard HTML Reactivity"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/guides/standard-html-reactivity.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Standard HTML Reactivity
diff --git a/content/reference/api.md b/content/reference/api.md
index b20d368..caa2d72 100644
--- a/content/reference/api.md
+++ b/content/reference/api.md
@@ -2,8 +2,8 @@
title: "Go Library API Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/api-reference.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Go Library API Reference
diff --git a/content/reference/authentication.md b/content/reference/authentication.md
index 24b9da9..df0e74b 100644
--- a/content/reference/authentication.md
+++ b/content/reference/authentication.md
@@ -2,8 +2,8 @@
title: "Authentication Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/authentication.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Authentication Reference
diff --git a/content/reference/client-attributes.md b/content/reference/client-attributes.md
index d7f1a7f..60ab378 100644
--- a/content/reference/client-attributes.md
+++ b/content/reference/client-attributes.md
@@ -2,8 +2,8 @@
title: "Client Attributes Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/client-attributes.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Client Attributes Reference
@@ -923,8 +923,12 @@ Handle file uploads with progress tracking.
| Attribute | Description |
|-----------|-------------|
| `lvt-upload` | Upload identifier for tracking |
+| `lvt-upload-with` | Send this field along with an upload fired from the same form. Opt-in — unmarked fields never reach the upload endpoint |
-Files are automatically uploaded when the form is submitted, with progress events emitted.
+Uploads fire on file selection, not on form submit, and progress events are
+emitted as the bytes move. Because there is no submit for the user to review,
+nothing else in the form travels with the upload unless it is marked
+`lvt-upload-with` — see [Sending form fields with an upload](uploads.md#sending-form-fields-with-an-upload).
---
@@ -1051,7 +1055,7 @@ Directives use CSS custom properties for configuration: `--lvt-scroll-behavior`,
| Attribute | Description | Example |
|-----------|-------------|---------|
| `lvt-upload` | File upload identifier | `lvt-upload="avatar"` |
-| `lvt-upload-with` | Send this field along with an upload fired from the same form. Opt-in — unmarked fields never reach the upload endpoint | `` |
+| `lvt-upload-with` | Send this field along with an upload fired from the same form. Opt-in — unmarked fields never reach the upload endpoint. Multipart path only; see [Upload Reference](uploads.md) | `` |
### Preservation Attributes
diff --git a/content/reference/configuration.md b/content/reference/configuration.md
index f6c9657..2762b87 100644
--- a/content/reference/configuration.md
+++ b/content/reference/configuration.md
@@ -2,8 +2,8 @@
title: "LiveTemplate Configuration Guide"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/CONFIGURATION.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# LiveTemplate Configuration Guide
diff --git a/content/reference/controller-pattern.md b/content/reference/controller-pattern.md
index ab50a73..5b62cc7 100644
--- a/content/reference/controller-pattern.md
+++ b/content/reference/controller-pattern.md
@@ -2,8 +2,8 @@
title: "Controller+State Pattern Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/controller-pattern.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Controller+State Pattern Reference
diff --git a/content/reference/error-handling.md b/content/reference/error-handling.md
index 54b603b..c84acf5 100644
--- a/content/reference/error-handling.md
+++ b/content/reference/error-handling.md
@@ -2,8 +2,8 @@
title: "Error Handling Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/error-handling.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Error Handling Reference
diff --git a/content/reference/limitations.md b/content/reference/limitations.md
index 83434d5..0b39655 100644
--- a/content/reference/limitations.md
+++ b/content/reference/limitations.md
@@ -2,8 +2,8 @@
title: "Current Limitations"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/current-limitations.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Current Limitations
diff --git a/content/reference/navigate.md b/content/reference/navigate.md
index 5803838..9aa7bf5 100644
--- a/content/reference/navigate.md
+++ b/content/reference/navigate.md
@@ -2,8 +2,8 @@
title: "Navigate Action Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/navigate.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Navigate Action Reference
diff --git a/content/reference/progressive-complexity.md b/content/reference/progressive-complexity.md
index a8b7b69..1292fa1 100644
--- a/content/reference/progressive-complexity.md
+++ b/content/reference/progressive-complexity.md
@@ -2,8 +2,8 @@
title: "Progressive Complexity Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/progressive-complexity-reference.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Progressive Complexity Reference
diff --git a/content/reference/pubsub.md b/content/reference/pubsub.md
index 32afa77..1047f1e 100644
--- a/content/reference/pubsub.md
+++ b/content/reference/pubsub.md
@@ -2,8 +2,8 @@
title: "PubSub Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/pubsub.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# PubSub Reference
diff --git a/content/reference/server-actions.md b/content/reference/server-actions.md
index c9cac29..d4d1697 100644
--- a/content/reference/server-actions.md
+++ b/content/reference/server-actions.md
@@ -2,8 +2,8 @@
title: "Server Actions Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/server-actions.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Server Actions Reference
diff --git a/content/reference/session.md b/content/reference/session.md
index a98d323..0610eba 100644
--- a/content/reference/session.md
+++ b/content/reference/session.md
@@ -2,8 +2,8 @@
title: "Session Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/session.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Session Reference
diff --git a/content/reference/template-support-matrix.md b/content/reference/template-support-matrix.md
index b9dd44e..7f55c71 100644
--- a/content/reference/template-support-matrix.md
+++ b/content/reference/template-support-matrix.md
@@ -2,8 +2,8 @@
title: "LiveTemplate Go Template Support Matrix"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/template-support-matrix.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# LiveTemplate Go Template Support Matrix
diff --git a/content/reference/uploads.md b/content/reference/uploads.md
index 990e200..62097e3 100644
--- a/content/reference/uploads.md
+++ b/content/reference/uploads.md
@@ -2,8 +2,8 @@
title: "Upload Reference"
source_repo: "https://github.com/livetemplate/livetemplate"
source_path: "docs/references/uploads.md"
-source_ref: "v0.19.1"
-source_commit: "fe690899b1400a0c3886206038c0b958b40554be"
+source_ref: "v0.20.1"
+source_commit: "830946938ebc52e735fcd1adacd4e57a0f4e38a4"
---
# Upload Reference
@@ -56,7 +56,8 @@ controller implements `UploadStreamer`:
```go
func (c *Controller) OnUpload(part *livetemplate.UploadPart, ctx *livetemplate.Context) error {
- // "id" must be ordered before the file input in the form (see below).
+ // "id" must be marked lvt-upload-with and ordered before the file input
+ // in the form (see below).
ref, err := myBackend.Put(ctx, ctx.GetString("id"), part.Filename, part)
if err != nil {
return err
@@ -130,7 +131,9 @@ when it falls back to multipart, so a handler can see them intermittently
depending on socket state — don't depend on that. Direct never delivers them at
all. For either, read the context from the state your controller already holds
rather than from the upload's form. Tracked as
-[livetemplate#508](https://github.com/livetemplate/livetemplate/issues/508).
+[#508](https://github.com/livetemplate/livetemplate/issues/508).
+
+Requires `@livetemplate/client` v0.20.0 or newer.
The reader enforces `MaxFileSize` mid-stream, returning `ErrUploadTooLarge` (a
distinct sentinel, not `io.EOF`) so a truncated stream aborts instead of