Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions changelog-toc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
var activeId = null;
var scrollScheduled = false;
var refreshTimer = null;
var lazyVideoObserver = null;

function isChangelogPage() {
var currentPath = document.documentElement.getAttribute("data-current-path") || window.location.pathname;
Expand Down Expand Up @@ -35,6 +36,8 @@
return;
}

setupLazyVideos();

var tocItems = Array.prototype.slice.call(document.querySelectorAll("#table-of-contents .toc-item"));
var tocByHash = new Map();

Expand All @@ -55,6 +58,65 @@
updateActiveState(true);
}

function hydrateLazyVideo(video) {
var src = video.getAttribute("data-src");

if (!src) {
return;
}

video.setAttribute("src", src);
video.removeAttribute("data-src");
video.setAttribute("data-changelog-lazy-loaded", "true");
video.load();

if (video.hasAttribute("autoplay")) {
var playPromise = video.play();
if (playPromise && typeof playPromise.catch === "function") {
playPromise.catch(function () {});
}
}
}

function setupLazyVideos() {
var lazyVideos = Array.prototype.slice.call(
document.querySelectorAll("video.changelog-lazy-video[data-src]:not([data-changelog-lazy-bound])")
);

if (!lazyVideos.length) {
return;
}

if (!("IntersectionObserver" in window)) {
lazyVideos.forEach(hydrateLazyVideo);
return;
}

if (!lazyVideoObserver) {
lazyVideoObserver = new IntersectionObserver(
function (entries) {
entries.forEach(function (entry) {
if (!entry.isIntersecting) {
return;
}

hydrateLazyVideo(entry.target);
lazyVideoObserver.unobserve(entry.target);
});
},
{
rootMargin: "800px 0px",
threshold: 0.01,
}
);
}

lazyVideos.forEach(function (video) {
video.setAttribute("data-changelog-lazy-bound", "true");
lazyVideoObserver.observe(video);
});
}

function scheduleCollectPairs() {
window.clearTimeout(refreshTimer);
refreshTimer = window.setTimeout(collectPairs, 100);
Expand Down
54 changes: 27 additions & 27 deletions en/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ When you open a linked record, Teable shows a visual connection line to make the

A brand-new automation trigger: **When email received**. Connect any IMAP mailbox and automatically capture incoming emails into Teable — perfect for managing partnerships, customer support, and building a knowledge base.

<video autoplay loop muted playsinline controls preload="auto" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/68cee74c433beae00977490611c8b5ad.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/68cee74c433beae00977490611c8b5ad.mp4" />

<AccordionGroup>
<Accordion title="Automation Reliability (9)">
Expand Down Expand Up @@ -219,13 +219,13 @@ A brand-new automation trigger: **When email received**. Connect any IMAP mailbo

Collaborate externally without extra seats and scale collaboration more easily. Login is required, so every edit stays traceable.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/76d35ea66fe764063d3031e27970f99f.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/76d35ea66fe764063d3031e27970f99f.mp4" />

## 2. Share Specific Tables or Views

When sharing, you can control exactly what is exposed through shared tables or views, so collaborators only see the data they need.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e8d56e6f45c4f2c921e5e02e791a6750.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e8d56e6f45c4f2c921e5e02e791a6750.mp4" />

## 3. Duplicate & Delete Tables

Expand Down Expand Up @@ -384,13 +384,13 @@ You can try it in Teable now.

AI Chat now perceives your active table view — including filters, sorts, and groupings. When you ask it to update data, it operates within your current view context, not the entire table.

<video autoplay loop muted playsinline controls preload="auto" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c406297a1b490b96dee0ea751e4b0996.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c406297a1b490b96dee0ea751e4b0996.mp4" />

## 2. Precise CRUD via Chat

Create, read, update, and delete data using natural language. Ask AI to "mark row 123 as High Value and row 456 as Follow-up," and it updates them instantly.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d6d0d6cefa2ab434a992b48b980ece4c.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d6d0d6cefa2ab434a992b48b980ece4c.mp4" />

## 3. Improved AI Field Output

Expand Down Expand Up @@ -486,13 +486,13 @@ Combined with our at-cost, zero-markup credit pricing, Teable is built to make e

Long Text fields support full Markdown rendering. Write headings, lists, code blocks, and more — all visible right inside the cell. Toggle between plain text and Markdown in one click.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/8f4ea9cecb1706e088a53980061d52e6.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/8f4ea9cecb1706e088a53980061d52e6.mp4" />

## 2. Paste Formatted Text, Get Markdown

Copy content from Notion, Google Docs — Teable automatically converts it to clean Markdown. No manual reformatting needed.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d5295114d3b2fcca3500d67b382fe31b.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d5295114d3b2fcca3500d67b382fe31b.mp4" />

<AccordionGroup>
<Accordion title="Field &amp; Data Fixes (10)">
Expand Down Expand Up @@ -588,7 +588,7 @@ In **App Builder**, click **Publish** in the top right. Enter your custom domain
"uploadDate": "2026-03-31T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c034546fcb77ce42bd936664f0ede7ea.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c034546fcb77ce42bd936664f0ede7ea.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c034546fcb77ce42bd936664f0ede7ea.mp4" />

<AccordionGroup>
<Accordion title="New Agent Engine — Coming Soon (11)">
Expand Down Expand Up @@ -645,31 +645,31 @@ In **App Builder**, click **Publish** in the top right. Enter your custom domain
"uploadDate": "2026-03-13T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/b32025684f3c15fe61e454d3590e32a2.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/b32025684f3c15fe61e454d3590e32a2.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/b32025684f3c15fe61e454d3590e32a2.mp4" />

## 1. Bulk Download from Cell

When you generated images in Teable, for example YouTube thumbnails and they're sitting in a single cell. Now you can download all in one click — no more saving images one by one.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/f35bd747f61b0b4c48f2b3460309d433.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/f35bd747f61b0b4c48f2b3460309d433.mp4" />

## 2. Bulk Download from Field

For tax filing or reimbursements, share all receipts in seconds. Click "Download all files" to get everything in one ZIP.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/636fcf6f34fd67e2f6c2c979e1c149e9.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/636fcf6f34fd67e2f6c2c979e1c149e9.mp4" />

## 3. Bulk Download with Prefix

Add a prefix from any field, such as a purchase amount or project name, so each file is instantly recognizable after unzipping.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/076ba208bb9bf1f438882500c6f23ba1.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/076ba208bb9bf1f438882500c6f23ba1.mp4" />

## 4. Bulk Download into Folders

Enable "Archive into folders" to place each record's files in its own folder for easier local editing, reuse, and file management.

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e5aa1b9863ce073a324196aef22ace56.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e5aa1b9863ce073a324196aef22ace56.mp4" />

<Accordion title="Bug Fixes & Improvements (10)">
- Fixed an issue where the sidebar collapse icon disappeared when the sidebar was narrowed.
Expand Down Expand Up @@ -700,7 +700,7 @@ Enable "Archive into folders" to place each record's files in its own folder for
"uploadDate": "2026-02-07T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/8178a3020c44df52c68737623aa33ea4.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/8178a3020c44df52c68737623aa33ea4.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/8178a3020c44df52c68737623aa33ea4.mp4" />

## Teable Default Model: Claude Opus 4.6

Expand All @@ -710,11 +710,11 @@ Claude Opus 4.6 is now the default model in Teable AI Chat. You'll get the best

Create a workflow to scrape the top 20 fastest-growing GitHub projects by new stars every day at 9am, and collect owner emails (API key required).

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/76a91b50ee435662292d846172210cfc.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/76a91b50ee435662292d846172210cfc.mp4" />

**Use Case 2: Opus 4.6 Legal Intelligence**

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d12bf786939691bc37c23779c4da7fd9.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/d12bf786939691bc37c23779c4da7fd9.mp4" />

**More possibilities:**
- Scrape Reddit data
Expand All @@ -727,11 +727,11 @@ Create a workflow to scrape the top 20 fastest-growing GitHub projects by new st
- New model picker with **Recommended models** + **More models** sections
- **17 Image Models** launched

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e4615608d8118ed2d794e07490aaa189.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e4615608d8118ed2d794e07490aaa189.mp4" />

- **154 Language Models** for your choice

<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/ff1bfd30990d7ba1b327b8db6c12ca3c.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/ff1bfd30990d7ba1b327b8db6c12ca3c.mp4" />

Now you can customize AI Fields for your specific use cases:
- Image generation: Choose Nano Banada
Expand Down Expand Up @@ -769,16 +769,16 @@ Now you can customize AI Fields for your specific use cases:
"uploadDate": "2026-01-23T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/9931cf6426c170bb0e8034f66b948df3.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/9931cf6426c170bb0e8034f66b948df3.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/9931cf6426c170bb0e8034f66b948df3.mp4" />

## Highlight 1: Setup in seconds
<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/a145e7beadd8afca3849e5caa813817e.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/a145e7beadd8afca3849e5caa813817e.mp4" />

## Highlight 2: Test fast. See everything
<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/9e9cbcddbc159a072f0ed6b83e3966ee.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/9e9cbcddbc159a072f0ed6b83e3966ee.mp4" />

## Highlight 3: One prompt. Data written
<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/7a28cd2080f236faa39d494f681da177.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/7a28cd2080f236faa39d494f681da177.mp4" />

Now you can connect more data sources to Teable, like:
- **Form submissions (Typeform, Tally)** → create a new record per submission, then auto-assign + notify
Expand Down Expand Up @@ -854,7 +854,7 @@ This helps professionals, small teams, and scaling businesses quickly choose the

<Accordion title="Clearer Credit Usage Tracking">
The ring-style usage view has been replaced with progress bars, making usage easier to understand at a glance. For deeper insights, click Credit Details to see a breakdown of your credit consumption.
<video autoplay loop muted playsinline controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e9fdddf8273f7fc42da4d36f2e86a267.mp4" />
<video autoplay loop muted playsinline controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/e9fdddf8273f7fc42da4d36f2e86a267.mp4" />
</Accordion>

<Accordion title="Billable Users, Clearly Labeled">
Expand Down Expand Up @@ -889,7 +889,7 @@ We’ve rebuilt the App Builder engine to significantly improve stability, accur
"uploadDate": "2026-01-07T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c9a3fb8fd8cf9dc7a291e3ba2bdbe8a4.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c9a3fb8fd8cf9dc7a291e3ba2bdbe8a4.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c9a3fb8fd8cf9dc7a291e3ba2bdbe8a4.mp4" />

> **Note:** This update applies only to apps created after December 17, 2025. Older apps should be recreated to benefit from the improvements.

Expand All @@ -907,7 +907,7 @@ When your app encounters a runtime error during preview, click the **Auto Fix**
"uploadDate": "2026-01-07T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c174a97bd7b612f9f226dedbdd498593.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c174a97bd7b612f9f226dedbdd498593.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/c174a97bd7b612f9f226dedbdd498593.mp4" />

## 2. Live Code Editing
Gain full control with **live code editing capabilities**. Watch the code generate in real-time and intervene instantly to fine-tune the logic.
Expand All @@ -921,7 +921,7 @@ Gain full control with **live code editing capabilities**. Watch the code genera
"uploadDate": "2026-01-07T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/4253c38a196d973814865c9cbf70d980.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/4253c38a196d973814865c9cbf70d980.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/4253c38a196d973814865c9cbf70d980.mp4" />

## 3. App Builder Vision
Image recognition is now precise and production-ready. You can now confidently upload screenshots for accurate UI editing or design mockups for 1:1 pixel-perfect replication. *(File limits: images ≤50MB, other files ≤3MB)*
Expand All @@ -935,7 +935,7 @@ Image recognition is now precise and production-ready. You can now confidently u
"uploadDate": "2026-01-07T00:00:00+08:00",
"contentUrl": "https://dxshyegpql0u3hra.public.blob.vercel-storage.com/ed6720a97fe0147afb40b10583fa67fe.mp4"
}) }} />
<video controls preload="metadata" className="w-full aspect-video" src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/ed6720a97fe0147afb40b10583fa67fe.mp4" />
<video controls preload="none" className="w-full aspect-video changelog-lazy-video" data-src="https://dxshyegpql0u3hra.public.blob.vercel-storage.com/ed6720a97fe0147afb40b10583fa67fe.mp4" />

## 4. Stability & Reliability

Expand Down
Loading