diff --git a/docz/docs/02-getting-started/01-installation/03-nodejs.md b/docz/docs/02-getting-started/01-installation/03-nodejs.md
index 9eb09ca..a5cf746 100644
--- a/docz/docs/02-getting-started/01-installation/03-nodejs.md
+++ b/docz/docs/02-getting-started/01-installation/03-nodejs.md
@@ -47,6 +47,8 @@ new versions are released!
 
 :::
 
+### Legacy Endpoints
+
 :::warning
 
 Older releases are technically available on the public npm registry as `xlsx`,
diff --git a/docz/docs/03-demos/02-grid/01-xs.md b/docz/docs/03-demos/02-grid/01-xs.md
index 8d61779..f2198ef 100644
--- a/docz/docs/03-demos/02-grid/01-xs.md
+++ b/docz/docs/03-demos/02-grid/01-xs.md
@@ -14,14 +14,20 @@ With a familiar UI, `x-spreadsheet` is an excellent choice for a modern editor.
 
 [Click here for a live standalone integration demo.](pathname:///xspreadsheet/)
 
+:::note
+
+This demo was last verified on 2023 September 03.
+
+:::
+
 ## Live Demo
 
-:::note
+:::note pass
 
 Due to CSS conflicts between the data grid and the documentation generator,
 features like scrolling may not work as expected.
 
-[The linked demo uses a simple HTML page.](pathname:///xspreadsheet/)
+[The standalone demo uses a simple HTML page.](pathname:///xspreadsheet/)
 
 :::
 
@@ -114,5 +120,9 @@ var grid = x_spreadsheet(document.getElementById("gridctr"));
 
 #### Additional Features
 
+:::tip pass
+
 This demo barely scratches the surface.  The underlying grid component includes
 many additional features that work with [SheetJS Pro](https://sheetjs.com/pro).
+
+:::
\ No newline at end of file
diff --git a/docz/docs/03-demos/02-grid/02-cdg.md b/docz/docs/03-demos/02-grid/02-cdg.md
index cae6f7a..5e72635 100644
--- a/docz/docs/03-demos/02-grid/02-cdg.md
+++ b/docz/docs/03-demos/02-grid/02-cdg.md
@@ -8,11 +8,17 @@ pagination_next: demos/net/index
   
 
 
-After extensive testing, `canvas-datagrid` stood out as a high-performance grid
+[Canvas Datagrid](https://canvas-datagrid.js.org/) is a high-performance grid
 with a straightforward API.
 
 [Click here for a live standalone integration demo.](pathname:///cdg/)
 
+:::note
+
+This demo was last verified on 2023 September 03.
+
+:::
+
 ## Live Demo
 
 :::note
@@ -133,5 +139,9 @@ XLSX.writeFile(wb, "SheetJS.xlsx");
 
 #### Additional Features
 
+:::tip pass
+
 This demo barely scratches the surface.  The underlying grid component includes
 many additional features that work with [SheetJS Pro](https://sheetjs.com/pro).
+
+:::
\ No newline at end of file
diff --git a/docz/docs/03-demos/03-net/01-network.mdx b/docz/docs/03-demos/03-net/01-network.mdx
index 3c8daf0..7ece1de 100644
--- a/docz/docs/03-demos/03-net/01-network.mdx
+++ b/docz/docs/03-demos/03-net/01-network.mdx
@@ -773,6 +773,6 @@ Other demos show network operations in special platforms:
 - [React Native "Fetching Remote Data"](/docs/demos/mobile/reactnative#fetching-remote-data)
 - [NativeScript "Fetching Remote Files"](/docs/demos/mobile/nativescript#fetching-remote-files)
 
-[^1]: See [`dataType` in `jQuery.ajax`](https://api.jquery.com/jQuery.ajax/#:~:text=the%20%27dataType%27%20parameter.-,dataType,-(default%3A%20Intelligent) in the official jQuery documentation.
+[^1]: See [`dataType` in `jQuery.ajax`](https://api.jquery.com/jQuery.ajax/) in the official jQuery documentation.
 [^2]: See [the official `jquery.binarytransport.js` repo](https://github.com/henrya/js-jquery/tree/master/BinaryTransport) for more details.
 [^3]: See ["Fluent interface"](https://en.wikipedia.org/wiki/Fluent_interface) on Wikipedia.
\ No newline at end of file
diff --git a/docz/docs/03-demos/05-mobile/01-reactnative.md b/docz/docs/03-demos/05-mobile/01-reactnative.md
index 40cf09b..1ce14d6 100644
--- a/docz/docs/03-demos/05-mobile/01-reactnative.md
+++ b/docz/docs/03-demos/05-mobile/01-reactnative.md
@@ -215,11 +215,11 @@ const wb = XLSX.read(ab);
 
 :::note
 
-This demo was tested on an Intel Mac on 2023 August 20 with RN `0.72.4`.
+The Android demo was last tested on 2023 September 03 with RN `0.72.4`. The
+simulator used Android 13 ("Tiramisu") API 33 on a Pixel 3.
 
-The iOS simulator runs iOS 16.2 on an iPhone SE (3rd generation).
-
-The Android simulator runs Android 12.0 (S) API 31 on a Pixel 3.
+The iOS demo was last tested on 2023 September 03 with RN `0.72.4`. The
+simulator used iOS 16.4 on an iPhone SE (3rd generation).
 
 :::
 
diff --git a/docz/docs/03-demos/05-mobile/03-quasar.md b/docz/docs/03-demos/05-mobile/03-quasar.md
index 63dea30..c9d22c6 100644
--- a/docz/docs/03-demos/05-mobile/03-quasar.md
+++ b/docz/docs/03-demos/05-mobile/03-quasar.md
@@ -178,7 +178,7 @@ cordova plugin add cordova-plugin-wkwebview-engine
 cordova plugin add cordova-plugin-file
 ```
 
-:::note
+:::note pass
 
 If there is an error `Could not load API for iOS project`, it needs to be reset:
 
diff --git a/docz/docs/03-demos/05-mobile/04-ionic.md b/docz/docs/03-demos/05-mobile/04-ionic.md
index dda3eea..8369cbb 100644
--- a/docz/docs/03-demos/05-mobile/04-ionic.md
+++ b/docz/docs/03-demos/05-mobile/04-ionic.md
@@ -57,7 +57,7 @@ npx @capacitor/cli telemetry
 
 ## Integration Details
 
-:::caution
+:::caution pass
 
 The latest version of Ionic uses CapacitorJS. These notes are for Cordova apps.
 The [CapacitorJS demo](/docs/demos/mobile/capacitor) covers CapacitorJS apps.
diff --git a/docz/docs/03-demos/05-mobile/05-capacitor.md b/docz/docs/03-demos/05-mobile/05-capacitor.md
index cc8cc3c..d7252b3 100644
--- a/docz/docs/03-demos/05-mobile/05-capacitor.md
+++ b/docz/docs/03-demos/05-mobile/05-capacitor.md
@@ -115,17 +115,31 @@ async function exportFile() {
 
 :::note
 
-This demo was tested on an Intel Mac on 2023 April 01 with Capacitor 4.7.3 and
-`@capacitor/filesystem` 4.1.4
+The Android demo was last tested on 2023 September 03 with CapacitorJS `5.3.0`
+and filesystem `5.1.3` on an emulated Pixel 3 + Android 13 ("Tiramisu") API 33.
 
-The iOS simulator runs iOS 16.2 on an iPhone 14 Pro Max.
-
-The Android simulator runs Android 12.0 (S) API 31 on a Pixel 3.
+The iOS demo was last tested on 2023 September 03 with CapacitorJS `5.3.0`
+and filesystem `5.1.3` on an emulated iPhone SE (3rd generation) + iOS 16.4.
 
 :::
 
 ### Base Project
 
+0) Follow the official "Environment Setup"[^1] instructions to set up Android
+and iOS targets
+
+:::caution pass
+
+iOS development is only supported on macOS.
+
+:::
+
+Installation Notes (click to show)
+
+CapacitorJS requires Java 17.
+
+Details (click to hide)
+
+**Android Studio**
+
+In Android Studio, click "More actions" > "Virtual Device Manager". Look for the
+emulated device in the list and click the ▶ button to play.
+
+**Command Line**
+
+List the available emulators with `flutter emulators`:
+
+```
+% flutter emulators
+2 available emulators:
+
+apple_ios_simulator • iOS Simulator  • Apple  • ios
+Pixel_3_API_33      • Pixel 3 API 33 • Google • android
+^^^^^^^^^^^^^^--- the first column is the name
+```
+
+The first column shows the name that should be passed to `emulator -avd`. In a
+previous test, the name was `Pixel_3_API_33` and the launch command was:
+
+```
+% emulator -avd Pixel_3_API_33
+```
+
+If emulator is not detected (click to show)
+
+In some test runs, `flutter run` did not automatically detect the emulator.
+
+Run `flutter -v -d sheetjs run` and the command will fail. Inspect the output:
+
+```text title="Command output"
+// highlight-next-line
+[   +6 ms] No supported devices found with name or id matching 'sheetjs'.
+[        ] The following devices were found:
+...
+// highlight-next-line
+[  +26 ms] sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64  • Android 13 (API 33) (emulator)
+[        ] macOS (desktop)             • macos         • darwin-arm64   • macOS 13.5.1 22G90 darwin-arm64
+...
+```
+
+Search the output for `sheetjs`. After that line, search for the emulator list.
+One of the lines will correspond to the running emulator:
+
+```
+[  +26 ms] sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64  • Android 13 (API 33) (emulator)
+                                         ^^^^^^^^^^^^^--- the second column is the name
+```
+
+The second column is the device name. Assuming the name is `emulator-5554`, run:
+
+```bash
+flutter -v -d emulator-5554 run
+```
+
+