diff --git a/CHANGELOG.md b/CHANGELOG.md
index 28c24fa066..ef5ba2307f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Svelte changelog
+## Unreleased
+
+* Exclude global variables from `$capture_state` ([#4463](https://github.com/sveltejs/svelte/issues/4463))
+
## 3.19.1
* Do not treat modifications to `$$props` as updates to a store called `$props` ([#4368](https://github.com/sveltejs/svelte/issues/4368))
diff --git a/site/content/docs/01-component-format.md b/site/content/docs/01-component-format.md
index 026a2da5b3..07a59c69f8 100644
--- a/site/content/docs/01-component-format.md
+++ b/site/content/docs/01-component-format.md
@@ -42,13 +42,13 @@ Svelte uses the `export` keyword to mark a variable declaration as a *property*
---
-You can specify a default value, which will be used if the component's consumer doesn't specify a prop.
+You can specify a default initial value for a prop. It will be used if the component's consumer doesn't specify the prop on the component (or if its initial value is `undefined`) when instantiating the component. Note that whenever a prop is removed by the consumer, its value is set to `undefined` rather than the initial value.
-In development mode (see the [compiler options](docs#svelte_compile)), a warning will be printed if no default is provided and the consumer does not specify a value. To squelch this warning, ensure that a default is specified, even if it is `undefined`.
+In development mode (see the [compiler options](docs#svelte_compile)), a warning will be printed if no default initial value is provided and the consumer does not specify a value. To squelch this warning, ensure that a default initial value is specified, even if it is `undefined`.
```html
```
diff --git a/site/content/docs/04-compile-time.md b/site/content/docs/04-compile-time.md
index 0cb2ac3caf..f9bfa772fe 100644
--- a/site/content/docs/04-compile-time.md
+++ b/site/content/docs/04-compile-time.md
@@ -113,7 +113,8 @@ const {
* `module` is `true` if the value is declared in a `context="module"` script
* `mutated` is `true` if the value's properties are assigned to inside the component
* `reassigned` is `true` if the value is reassigned inside the component
- * `referenced` is `true` if the value is used outside the declaration
+ * `referenced` is `true` if the value is used in the template
+ * `referenced_from_script` is `true` if the value is used in the `
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/site/content/examples/04-events/05-dom-event-forwarding/CustomButton.svelte b/site/content/examples/04-events/05-dom-event-forwarding/CustomButton.svelte
new file mode 100644
index 0000000000..f521c1f471
--- /dev/null
+++ b/site/content/examples/04-events/05-dom-event-forwarding/CustomButton.svelte
@@ -0,0 +1,22 @@
+
+
+
\ No newline at end of file
diff --git a/site/content/examples/04-events/05-dom-event-forwarding/FancyButton.svelte b/site/content/examples/04-events/05-dom-event-forwarding/FancyButton.svelte
deleted file mode 100644
index 68dcc68636..0000000000
--- a/site/content/examples/04-events/05-dom-event-forwarding/FancyButton.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/App.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/App.svelte
index 1429cae207..e75c78106a 100644
--- a/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/App.svelte
+++ b/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/App.svelte
@@ -1,9 +1,9 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/CustomButton.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/CustomButton.svelte
new file mode 100644
index 0000000000..0955930b5d
--- /dev/null
+++ b/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/CustomButton.svelte
@@ -0,0 +1,22 @@
+
+
+
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/FancyButton.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/FancyButton.svelte
deleted file mode 100644
index b75f19a1f2..0000000000
--- a/site/content/tutorial/05-events/06-dom-event-forwarding/app-a/FancyButton.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/App.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/App.svelte
index 1429cae207..e75c78106a 100644
--- a/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/App.svelte
+++ b/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/App.svelte
@@ -1,9 +1,9 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/CustomButton.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/CustomButton.svelte
new file mode 100644
index 0000000000..f521c1f471
--- /dev/null
+++ b/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/CustomButton.svelte
@@ -0,0 +1,22 @@
+
+
+
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/FancyButton.svelte b/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/FancyButton.svelte
deleted file mode 100644
index 68dcc68636..0000000000
--- a/site/content/tutorial/05-events/06-dom-event-forwarding/app-b/FancyButton.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/site/content/tutorial/05-events/06-dom-event-forwarding/text.md b/site/content/tutorial/05-events/06-dom-event-forwarding/text.md
index 0959e1d98b..be9ae77f89 100644
--- a/site/content/tutorial/05-events/06-dom-event-forwarding/text.md
+++ b/site/content/tutorial/05-events/06-dom-event-forwarding/text.md
@@ -4,7 +4,7 @@ title: DOM event forwarding
Event forwarding works for DOM events too.
-We want to get notified of clicks on our `` — to do that, we just need to forward `click` events on the `