diff --git a/public/images/blog/blog-tablepro-0-82-1-light-1408.avif b/public/images/blog/blog-tablepro-0-82-1-light-1408.avif
new file mode 100644
index 00000000..1bf4e498
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-1-light-1408.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-1-light-1408.webp b/public/images/blog/blog-tablepro-0-82-1-light-1408.webp
new file mode 100644
index 00000000..320b3e1e
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-1-light-1408.webp differ
diff --git a/public/images/blog/blog-tablepro-0-82-1-light-704.avif b/public/images/blog/blog-tablepro-0-82-1-light-704.avif
new file mode 100644
index 00000000..7e180b50
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-1-light-704.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-1-light-704.webp b/public/images/blog/blog-tablepro-0-82-1-light-704.webp
new file mode 100644
index 00000000..711dbd2f
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-1-light-704.webp differ
diff --git a/public/images/blog/blog-tablepro-0-82-2-light-1280.avif b/public/images/blog/blog-tablepro-0-82-2-light-1280.avif
new file mode 100644
index 00000000..4855f79e
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-2-light-1280.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-2-light-1280.webp b/public/images/blog/blog-tablepro-0-82-2-light-1280.webp
new file mode 100644
index 00000000..531ddd66
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-2-light-1280.webp differ
diff --git a/public/images/blog/blog-tablepro-0-82-2-light-704.avif b/public/images/blog/blog-tablepro-0-82-2-light-704.avif
new file mode 100644
index 00000000..f1914e07
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-2-light-704.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-2-light-704.webp b/public/images/blog/blog-tablepro-0-82-2-light-704.webp
new file mode 100644
index 00000000..7ef2b1e0
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-2-light-704.webp differ
diff --git a/public/images/blog/blog-tablepro-0-82-3-light-1408.avif b/public/images/blog/blog-tablepro-0-82-3-light-1408.avif
new file mode 100644
index 00000000..f9018ab6
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-3-light-1408.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-3-light-1408.webp b/public/images/blog/blog-tablepro-0-82-3-light-1408.webp
new file mode 100644
index 00000000..726462df
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-3-light-1408.webp differ
diff --git a/public/images/blog/blog-tablepro-0-82-3-light-704.avif b/public/images/blog/blog-tablepro-0-82-3-light-704.avif
new file mode 100644
index 00000000..fdb3ef90
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-3-light-704.avif differ
diff --git a/public/images/blog/blog-tablepro-0-82-3-light-704.webp b/public/images/blog/blog-tablepro-0-82-3-light-704.webp
new file mode 100644
index 00000000..db2eba9f
Binary files /dev/null and b/public/images/blog/blog-tablepro-0-82-3-light-704.webp differ
diff --git a/public/images/blog/set-value-generate-uuid.png b/public/images/blog/set-value-generate-uuid.png
new file mode 100644
index 00000000..172c4b9c
Binary files /dev/null and b/public/images/blog/set-value-generate-uuid.png differ
diff --git a/public/images/blog/theme-editor-live-preview.png b/public/images/blog/theme-editor-live-preview.png
new file mode 100644
index 00000000..f1baf2ee
Binary files /dev/null and b/public/images/blog/theme-editor-live-preview.png differ
diff --git a/public/images/blog/theme-solarized-light-window.png b/public/images/blog/theme-solarized-light-window.png
new file mode 100644
index 00000000..f647ce48
Binary files /dev/null and b/public/images/blog/theme-solarized-light-window.png differ
diff --git a/public/og/blog/tablepro-0-82.png b/public/og/blog/tablepro-0-82.png
new file mode 100644
index 00000000..f4eb3495
Binary files /dev/null and b/public/og/blog/tablepro-0-82.png differ
diff --git a/resources/blog/tablepro-0-82.md b/resources/blog/tablepro-0-82.md
new file mode 100644
index 00000000..345e07b1
--- /dev/null
+++ b/resources/blog/tablepro-0-82.md
@@ -0,0 +1,77 @@
+---
+slug: tablepro-0-82
+title: "TablePro 0.82: Theme Editor, VS Code Themes and UUIDs"
+description: Twelve new built-in themes, VS Code theme import, a Theme Editor with live preview, custom themes over iCloud, and UUIDs from Set Value.
+date: 2026-10-20
+release: "TablePro 0.82"
+author: TablePro Team
+tags: [release, sql-editor, icloud-sync, clickhouse]
+ogPunchline: Import a VS Code theme or edit one with a live preview. Set Value writes UUIDs.
+---
+
+TablePro 0.82 is out: 73 changes, 41 of them fixes.
+
+Most of it is about color: twelve new built-in themes, VS Code theme import, and a Theme Editor that repaints open windows while you edit. Set Value writes UUIDs now, beta builds are one checkbox away, and registry plugins update with the app.
+
+
+
+## New built-in themes
+
+Solarized, GitHub, Catppuccin, Gruvbox and Tokyo Night each come in a light and a dark version, plus One Dark and One Light. Set one as your **Light theme** and its partner as your **Dark theme** in **Settings > Appearance**, and the pair follows macOS.
+
+To bring a theme over from your editor, click **+** under **Themes** and choose **Import…**, or drop the VS Code theme's `.json` file on the list. Installed VS Code themes sit under `~/.vscode/extensions/`. TablePro reads the editor colors and the token rules for SQL, and saves the result as a TablePro theme. Drag any theme to Finder to export it.
+
+## The Theme Editor
+
+Double-click a custom theme to open it in a window of its own. The preview at the top is the real SQL editor and data grid over sample rows, and every open window using the theme repaints as you pick a color.
+
+
+
+There's no Save button: edits save 0.75 seconds after you stop. `Cmd+Z` undoes one color at a time, and **Revert Changes** puts the theme back the way it was when the window opened. A built-in theme opens read-only, with a **Duplicate** button for an editable copy. When text on the editor or grid background falls below 4.5:1 contrast, a note says so.
+
+Custom themes and your Light and Dark theme choices sync over iCloud with **Settings** on in **Settings > Sync**. iCloud Sync needs a license, and both tiers include it. **Appearance itself no longer syncs.** System, Light or Dark is set per Mac, and a Mac on an older version that syncs settings switches to System.
+
+## UUIDs from Set Value
+
+Filling a `uuid` primary key that has no server default used to mean writing SQL. Now right-click the cell and choose **Set Value > Generate UUID**, or **Generate UUIDv7** for values ordered by creation time. Select 50 cells first and you get 50 different UUIDs. **Add Row**, **Duplicate Row** and **Paste** fill such a key on their own.
+
+
+
+Set Value applies to every selected cell, or to the clicked column across the selected rows. It's also in the menu bar as **Edit > Set Value**, and **Settings > Keyboard** can give each item a shortcut. The row inspector and **Fill Column** offer both generators too.
+
+Text you type into a column that isn't a date or time is saved as typed. `now()` in a `varchar` column used to go out as the function.
+
+## Plugins update with the app
+
+Registry plugins lost their Update button. After TablePro updates, it fetches each registry plugin with an older build than the app. One that's already loaded swaps in at the next launch, and its row in **Settings > Plugins** reads "Updates when TablePro restarts" until then.
+
+**The `com.TablePro.customRegistryURL` setting for a custom plugin registry is gone.**
+
+## Also new
+
+- **Get beta updates** in **Settings > General** offers each version as a beta before its stable release. Turn it off and the beta stays until a stable release passes it. Every update now comes from a signed feed at `updates.tablepro.app`
+- Drag the line beside the connections strip to widen it, up to 240 pt, and read long connection and database names
+- Server Dashboard sessions and slow queries are data grids, with **Cancel Query** and **Terminate Session** in the header. The confirmation names the session's process ID and user
+- SQL previews in history, filters, maintenance and review sheets are highlighted like the editor, in the editor font
+- Registry drivers such as Oracle, SQL Server and MongoDB load on first use instead of at launch
+
+## Fixes worth knowing about
+
+- On ClickHouse 23.8.0 to 23.8.8, every query after connecting failed with `UNKNOWN_SETTING`. Users with a read-only profile couldn't connect, and servers before 22.3 didn't load indexes, view definitions or functions
+- A ClickHouse query with a `FORMAT` clause showed garbled rows in the grid and in exports
+- Stored text such as `CURRENT_DATE` turned into today's date on **Duplicate Row** or **Restore Previous Values**
+- SQL functions such as SQLite's `datetime('now')` and ClickHouse's `today()` were saved as quoted text
+- The Welcome window gave no warning on a connection whose driver plugin had failed to load or was out of date
+
+## What it will not do
+
+- A VS Code import drops `fontStyle`, so italic comments come in plain, and ignores semantic token colors. VS Code's own interface colors, such as the activity bar and tabs, have no place to go
+- Themes color content. Controls, Settings, sheets and popovers keep the system look
+- A foreign key column and a Cassandra `timeuuid` column get no Generate UUID
+- Solarized Light's text sits at 4.1:1 on its background, under the 4.5:1 the Theme Editor asks for
+
+## Getting it
+
+TablePro checks for updates on its own, or choose **TablePro > Check for Updates…**, or download it from [tablepro.app](https://tablepro.app).
+
+If you use SAP HANA, update: plugin versions 1.0.0 to 1.0.3 shipped a helper built with Go 1.27.1, without the `crypto/tls` fix for GO-2026-6607. The plugin updates with TablePro.
diff --git a/resources/data/assets.json b/resources/data/assets.json
index be49d862..11c508ab 100644
--- a/resources/data/assets.json
+++ b/resources/data/assets.json
@@ -11068,6 +11068,165 @@
"/images/blog/connection-login-warning.png"
]
},
+ "blog-tablepro-0-82-1": {
+ "kind": "figure",
+ "type": "screenshot",
+ "family": "blog",
+ "ownerRepo": "web",
+ "slot": true,
+ "handoffPriority": "P3",
+ "usedOn": [
+ {
+ "path": "/blog/tablepro-0-82",
+ "section": "figure-1"
+ }
+ ],
+ "aspect": "3024:1722",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "description": {
+ "en": "The main window under the Solarized Light theme, with the data grid, sidebar and toolbar in the theme's cream tones.",
+ "vi": null
+ },
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background",
+ "vi": null
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later.",
+ "vi": null
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-1"
+ },
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1408
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1408,
+ "height": 802
+ }
+ },
+ "legacySource": [
+ "/images/blog/theme-solarized-light-window.png"
+ ]
+ },
+ "blog-tablepro-0-82-2": {
+ "kind": "figure",
+ "type": "screenshot",
+ "family": "blog",
+ "ownerRepo": "web",
+ "slot": true,
+ "handoffPriority": "P3",
+ "usedOn": [
+ {
+ "path": "/blog/tablepro-0-82",
+ "section": "figure-2"
+ }
+ ],
+ "aspect": "1280:1464",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "description": {
+ "en": "The Theme Editor window for a copy of Dracula, with the live preview of the SQL editor and data grid above the General and Window settings.",
+ "vi": null
+ },
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom",
+ "vi": null
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them.",
+ "vi": null
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-2"
+ },
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1280
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1280,
+ "height": 1464
+ }
+ },
+ "legacySource": [
+ "/images/blog/theme-editor-live-preview.png"
+ ]
+ },
+ "blog-tablepro-0-82-3": {
+ "kind": "figure",
+ "type": "screenshot",
+ "family": "blog",
+ "ownerRepo": "web",
+ "slot": true,
+ "handoffPriority": "P3",
+ "usedOn": [
+ {
+ "path": "/blog/tablepro-0-82",
+ "section": "figure-3"
+ }
+ ],
+ "aspect": "1960:1116",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "description": {
+ "en": "The data grid's right-click menu on a uuid primary key cell, with Set Value open on Generate UUID and Generate UUIDv7.",
+ "vi": null
+ },
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7",
+ "vi": null
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7.",
+ "vi": null
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-3"
+ },
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1408
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1408,
+ "height": 802
+ }
+ },
+ "legacySource": [
+ "/images/blog/set-value-generate-uuid.png"
+ ]
+ },
"blog-tablepro-for-iphone-1": {
"kind": "phone",
"type": "screenshot-phone",
diff --git a/resources/js/lib/data/asset-locales/de.json b/resources/js/lib/data/asset-locales/de.json
index 5f77de73..567019a8 100644
--- a/resources/js/lib/data/asset-locales/de.json
+++ b/resources/js/lib/data/asset-locales/de.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/en.json b/resources/js/lib/data/asset-locales/en.json
index ffed1c53..ebc635ab 100644
--- a/resources/js/lib/data/asset-locales/en.json
+++ b/resources/js/lib/data/asset-locales/en.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/es.json b/resources/js/lib/data/asset-locales/es.json
index dc6de284..e13552a9 100644
--- a/resources/js/lib/data/asset-locales/es.json
+++ b/resources/js/lib/data/asset-locales/es.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/fr.json b/resources/js/lib/data/asset-locales/fr.json
index fac69701..547796fa 100644
--- a/resources/js/lib/data/asset-locales/fr.json
+++ b/resources/js/lib/data/asset-locales/fr.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/id.json b/resources/js/lib/data/asset-locales/id.json
index 3145f2cf..f2778b82 100644
--- a/resources/js/lib/data/asset-locales/id.json
+++ b/resources/js/lib/data/asset-locales/id.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/it.json b/resources/js/lib/data/asset-locales/it.json
index de160f30..9f43733e 100644
--- a/resources/js/lib/data/asset-locales/it.json
+++ b/resources/js/lib/data/asset-locales/it.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/ja.json b/resources/js/lib/data/asset-locales/ja.json
index ef7141ab..60d39b4a 100644
--- a/resources/js/lib/data/asset-locales/ja.json
+++ b/resources/js/lib/data/asset-locales/ja.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/ko.json b/resources/js/lib/data/asset-locales/ko.json
index 56cb98ce..cc693904 100644
--- a/resources/js/lib/data/asset-locales/ko.json
+++ b/resources/js/lib/data/asset-locales/ko.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/pt-BR.json b/resources/js/lib/data/asset-locales/pt-BR.json
index d8fe38b8..48f42b65 100644
--- a/resources/js/lib/data/asset-locales/pt-BR.json
+++ b/resources/js/lib/data/asset-locales/pt-BR.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/vi.json b/resources/js/lib/data/asset-locales/vi.json
index 32ae2ece..805faa2f 100644
--- a/resources/js/lib/data/asset-locales/vi.json
+++ b/resources/js/lib/data/asset-locales/vi.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/zh-Hans.json b/resources/js/lib/data/asset-locales/zh-Hans.json
index 061f190e..40a08b5e 100644
--- a/resources/js/lib/data/asset-locales/zh-Hans.json
+++ b/resources/js/lib/data/asset-locales/zh-Hans.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-locales/zh-Hant.json b/resources/js/lib/data/asset-locales/zh-Hant.json
index d3b2ee3a..c9ffdbb4 100644
--- a/resources/js/lib/data/asset-locales/zh-Hant.json
+++ b/resources/js/lib/data/asset-locales/zh-Hant.json
@@ -976,6 +976,30 @@
"en": "An Oracle password in its grace period connects, and the server's warning shows above the tabs."
}
},
+ "blog-tablepro-0-82-1": {
+ "alt": {
+ "en": "TablePro main window under the Solarized Light theme, with the album table of a sample database open in the data grid showing six rows titled North, South, East, West, Up and Down, the sidebar listing album, artist, document, genre, note and track, and the window, sidebar and toolbar in Solarized's cream background"
+ },
+ "caption": {
+ "en": "Solarized Light colors the grid and the window background, which the sidebar and toolbar take on in macOS 26 and later."
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "alt": {
+ "en": "Theme Editor window titled Dracula Copy, with a preview of a SQL query highlighted in pink, cyan and yellow above a data grid of five sample customers showing a NULL email, a modified balance, a deleted row in red and an inserted row in green, then the General section with the name Dracula Copy and the Dark appearance, the Window section with a #282A36 background color well, and a Revert Changes button at the bottom"
+ },
+ "caption": {
+ "en": "The preview is the real editor and grid, drawn in the colors as you set them."
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "alt": {
+ "en": "TablePro data grid with an accounts table of three rows whose id column holds UUIDs, the first id cell right-clicked and a menu open with Copy, Copy as, Paste, Show Row as JSON, Filter, Highlight, Set Value, Export Results, Duplicate and Delete, and the Set Value submenu showing Generate UUID and Generate UUIDv7"
+ },
+ "caption": {
+ "en": "On a uuid key with no default, Set Value offers Generate UUID and Generate UUIDv7."
+ }
+ },
"blog-tablepro-for-iphone-1": {
"alt": {
"en": "The Chinook Track table open in TablePro on iPhone, listing TrackId, Name, AlbumId and MediaTypeId for the first rows, with a pager reading 1-100 of 3503 and Tables, Query, History and Info along the bottom"
diff --git a/resources/js/lib/data/asset-slots.json b/resources/js/lib/data/asset-slots.json
index 56a0ae85..990349a1 100644
--- a/resources/js/lib/data/asset-slots.json
+++ b/resources/js/lib/data/asset-slots.json
@@ -5336,6 +5336,93 @@
"base": "blog-tablepro-0-81-3"
}
},
+ "blog-tablepro-0-82-1": {
+ "kind": "figure",
+ "type": "screenshot",
+ "slot": true,
+ "aspect": "3024:1722",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1408
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1408,
+ "height": 802
+ }
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-1"
+ }
+ },
+ "blog-tablepro-0-82-2": {
+ "kind": "figure",
+ "type": "screenshot",
+ "slot": true,
+ "aspect": "1280:1464",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1280
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1280,
+ "height": 1464
+ }
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-2"
+ }
+ },
+ "blog-tablepro-0-82-3": {
+ "kind": "figure",
+ "type": "screenshot",
+ "slot": true,
+ "aspect": "1960:1116",
+ "priority": false,
+ "theme": "single",
+ "locale": "shared",
+ "mobile": null,
+ "status": "supplied",
+ "src": {
+ "light": {
+ "widths": [
+ 704,
+ 1408
+ ],
+ "formats": [
+ "avif",
+ "webp"
+ ],
+ "width": 1408,
+ "height": 802
+ }
+ },
+ "replacement": {
+ "dir": "public/images/blog",
+ "base": "blog-tablepro-0-82-3"
+ }
+ },
"blog-tablepro-for-iphone-1": {
"kind": "phone",
"type": "screenshot-phone",
diff --git a/tests/Feature/Landing/BlogTest.php b/tests/Feature/Landing/BlogTest.php
index 7b05ddf8..239bac42 100644
--- a/tests/Feature/Landing/BlogTest.php
+++ b/tests/Feature/Landing/BlogTest.php
@@ -25,6 +25,7 @@
// A post keeps the date it was published; an edit never re-dates it.
const BLOG_PUBLISHED = [
+ 'tablepro-0-82' => '2026-10-20',
'tablepro-0-81' => '2026-10-16',
'tablepro-0-80' => '2026-10-11',
'tablepro-0-77' => '2026-10-02',
@@ -130,7 +131,7 @@ function blogSlotIds(string $html): array
->where('posts.0.url', '/blog/' . $expected[0])
->where('posts.0.locale', 'en')
->where('posts.0.date', BLOG_PUBLISHED[$expected[0]])
- ->where('posts.0.dateFormatted', 'October 16, 2026')
+ ->where('posts.0.dateFormatted', 'October 20, 2026')
->where('posts', fn($posts): bool => collect($posts)->every(
fn(array $post): bool => $post['kind'] === (array_key_exists($post['slug'], BLOG_GUIDES) ? 'guide' : 'release'),
)));
@@ -444,14 +445,14 @@ function blogSlotIds(string $html): array
->where('seo.alternates', fn($alternates): bool => collect($alternates)->pluck('hreflang')->all() === ['en', 'vi'])
->missing('content.seo.indexable')
->has('posts', count(BLOG_GUIDES) + count(BLOG_PUBLISHED))
- ->where('posts', fn($posts): bool => collect($posts)->slice(2, $guides)->every(
+ ->where('posts', fn($posts): bool => collect($posts)->slice(3, $guides)->every(
fn(array $post): bool => $post['kind'] === 'guide' && $post['locale'] === 'vi' && $post['url'] === "/vi/blog/{$post['slug']}",
))
- ->where('posts.0.slug', 'tablepro-0-81')
+ ->where('posts.0.slug', 'tablepro-0-82')
->where('posts.0.locale', 'en')
- ->where('posts.0.url', '/blog/tablepro-0-81')
- ->where('posts.0.title', blogMatter('tablepro-0-81')['title'])
- ->where('posts.0.dateFormatted', '16 tháng 10 năm 2026')
+ ->where('posts.0.url', '/blog/tablepro-0-82')
+ ->where('posts.0.title', blogMatter('tablepro-0-82')['title'])
+ ->where('posts.0.dateFormatted', '20 tháng 10 năm 2026')
->where('localization.switcher.0.href', '/blog'));
expect($response->getContent())->toContain('