Releases: teableio/teable
release.2026-04-21T13-16-47Z.1517
Features
-
Added an inline hint in the Gmail IMAP Password field to clarify that Gmail requires an App Password instead of your regular account password.
-
Improved Billing details: all AI Chat tool calls from the same conversation are now grouped into one record with total credits shown. A Model ID column was added, and the detail section is now expanded by default.
-
You can now open a table in a new window with ⌘ + Click (Ctrl + Click on Windows), making it easier to compare data side by side.
-
Attachment fields now show a PDF preview (first page) directly in the cell, and file thumbnails have been improved for easier identification.
-
Custom domains now support editing a custom subdomain on teable.app — you can use
your-name.teable.appfor your published app.
Bug Fixes
-
Fixed an issue where deleting records could cause errors in certain tables and views.
-
Improved filter stability — invalid or mismatched filter conditions are now skipped automatically instead of crashing the view. Clearer warnings are shown for problematic rules.
-
Fixed an issue where Today date filters could create unusable rules, especially when generated by AI.
-
Fixed an issue where importing a
.teafile could fail when a Select field contained duplicate options. -
Fixed an issue where automations could get stuck in a pending state; affected tasks are now retried automatically.
-
Fixed an issue where trial licenses were not shown in the license list.
-
Fixed a mobile issue where the Space list could not be scrolled.
-
Fixed in v2 an issue where copying a Lookup field and converting it to a Single Select could clear existing data.
-
Fixed in v2 an issue where bulk paste in a filtered view could append new rows instead of updating visible ones.
-
Fixed an issue where the
updateRecordautomation trigger could be missing fields, causing scripts to loop unexpectedly. -
Fixed an issue where AI Chat could use the wrong default model; the correct default is now applied consistently.
-
Fixed incorrect credit limit prompts for users with custom Minimax model configurations.
-
Fixed an issue in App Builder Chat where switching models did not always take effect.
-
Fixed in v2 an issue where filters using is / is not with empty values could match unintended records.
-
Fixed an issue where error indicators in Apps could remain visible after the error was resolved.
-
Fixed an issue where the Space base list was not fully displayed even when there was enough space.
-
Unified the styling of share-related icons for a more consistent look.
-
Fixed an issue where grouped field default values were not auto-filled correctly on the .cn site.
-
Fixed in v2 an issue where linked records could not be selected repeatedly in a relationship field.
-
Fixed an issue where AI-generated single-select values did not appear until the page was refreshed.
-
Fixed an issue where the value 0 was incorrectly treated as blank in formulas.
-
Fixed an issue where deleted Apps could still be accessed via their publish links.
-
Fixed an issue where pasting the same value into a cell could still trigger automations and AI recalculation unnecessarily.
-
Fixed an issue where dragging items in the sidebar could accidentally trigger a file upload prompt in the AI Chat panel.
-
Fixed an issue where the AI API ignored the selected model and always used the default one.
-
Fixed an issue where Apps created through General Chat did not inherit your selected model.
-
Fixed layout issues on the Plan and Pricing pages, including dark mode display problems.
-
Fixed an issue where the TEXTBEFORE formula function was unavailable.
-
Fixed an issue where long base names in Cuppy/Claw could overflow the dialog boundary.
-
Fixed in v2 an issue where date fields did not support search.
-
Fixed an issue where downloading invoice attachments by email could return far more files than expected.
-
Fixed false-positive error cards in App Builder preview caused by recoverable rendering issues.
-
Fixed in v2 an issue where converting certain legacy fields could corrupt settings and cause query errors.
-
Fixed in v2 an issue where cross-base lookup fields could not be deleted.
-
Fixed an issue where AI used the wrong timezone when working with date and time fields, which could lead to incorrect results.
release.2026-04-21T08-57-20Z.1513
Apr 20, 2026 — Formula, Search, and Stability Updates
- Added the
TEXTBEFOREandTEXTSPLITformula functions for extracting text before a delimiter and splitting text by a delimiter. - Global search now supports date fields.
- Bulk attachment downloads now respect the current search results and include attachments from matching rows only.
- Improved formula comparisons when numeric values are blank, reducing incorrect matches in edge cases.
- Improved the App Builder preview experience by reducing unnecessary preview errors and improving sync stability after refresh.
- Improved task recovery across the system to reduce cases where workflows get stuck, stay unresponsive for too long, or enter abnormal states.
- Refined parts of the CuppyClaw UI, including modal sizing, tab layout, and spacing consistency.
- Improved undo/redo snapshot consistency for record changes in V2, making recovery more reliable in complex editing scenarios.
- Improved V2 progress handling during large undo/redo replays, with more stable feedback for long-running operations.
- Enhanced V2 schema diagnostics to help identify structure-related issues faster.
Apr 17, 2026 — Claude Opus 4.7 is now in Teable
We've found it better at handling complex tasks, with stronger multi-step reasoning and more reliable agent workflows. It delivers up to 14% better performance on complex workflows, with tool errors reduced to 2/3, and reduces document reasoning errors by 21% when working with source information.
This makes Teable better for real-world work where data needs to be processed, organized, and turned into action. It gives teams a new top-end model option for their most demanding workflows in Teable.
You can try it in Teable now.
Apr 15, 2026 — AI Chat Now Understands Your Views
Teable's View-Aware AI Chat gives you precise control over every piece of data, every row and column, every table, and every view.
1. What You See Is What AI Gets
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: Watch
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: Watch
3. Improved AI Field Output
AI-generated field content is now more polished and accurate, with better formatting and fewer edge cases in output quality.
AI & Chat Fixes (4)
- Fixed the AI settings reset button restoring the last saved model instead of the actual default.
- Fixed AI Chat attachment example upload failing during the onboarding flow.
- Fixed the Trash cleanup processor repeatedly failing due to a 404 error on deleted chat resources.
- Fixed the Created Time column stopped auto-updating for new records.
V2 Database Engine Upgrade — Invite-only Beta (15)
- Fixed a stack overflow error in V2 computed field polling.
- Fixed database duplication failing with errors whether records were included or excluded.
- Fixed newly created tables not appearing in the sidebar navigation until a manual refresh.
- Optimized V2 computed field recalculation to avoid unnecessary full-table recomputation.
- Added Sentry tags to distinguish V1/V2 environments for faster issue triage.
- Rebuilt Create Table and Restore Table operations under the V2 architecture for improved reliability.
- Fixed Formula fields not displaying values in real-time after creation in V2 — previously required a page refresh.
- Fixed V2 trigger chains not properly propagating updates to dependent AI fields and automations.
- Fixed the API view filter returning all records instead of the filtered subset in V2.
- Integrated the V2 authorization module into the plugin architecture for unified permission handling.
- Introduced a plugin system with Hook and constraint injection for safe, flexible extensibility.
- Enhanced observability for Formula, Rollup, and Lookup computation tasks with better tracing and monitoring.
- Improved monitoring and resource usage for better overall stability.
- Improved real-time update reliability with recoverable and concurrency-safe outbox processing.
- Added a fast-path optimization for conditional aggregation to reduce redundant computation.
Apr 10, 2026 — New Teable Agent: Super Intelligent at a Much Lower Cost
We've made a major upgrade to the Teable Agent engine — dramatically improving AI Chat's ability to handle complex tasks, while reducing credit consumption to just 20% to 3% of previous levels—or even lower.
What's New
- Credit consumption drastically reduced — in our complex task benchmarks, efficiency improved 5–30x, or even higher.
- Enhanced large file processing — AI Chat can now handle dozens of Excel/CSV files at once, or PDF documents up to 100 pages.
- Significantly improved complex task capabilities — for example, provide your Airtable API key to AI Chat and migrate an entire base to Teable:
{Your Airtable Token}
Use this Airtable token to read all content and create a migration plan to Teable. If the data volume is large, please use the maximum write throughput available.
Tip: Remember to delete your token after the migration is complete.
- Model switching support — AI Chat now lets you switch between models, including Opus, Sonnet, Haiku, and MiniMax.
- Uninterrupted AI Chat sessions — fixed internal server error disruptions so conversations stay smooth from start to finish.
- Clear task timing visibility — each conversation turn now shows execution time at completion.
- Credit usage visibility — tap the bottom-right three-dot menu to view credit consumption once a conversation ends.
- Lean, faster conversation UI — redesigned interface is more compact, responsive, and focused on high-value information.
- Parallel sub-task execution — support for sub-agents enables concurrent workflows and faster completion of complex tasks.
- CuppyClaw is here — access the Teable Agent directly in Slack, Telegram, and Feishu.
- Prompt while running — you can now send follow-up instructions even while the Agent is still executing.
- Granular credit transparency — added a detailed credit usage breakdown in Settings → Billing.
Our Thoughts
We believe that after this update, Teable Agent has reached a top-tier level in the industry in both credit efficiency and intelligence. You can now use Teable AI Chat with much greater confidence to describe your needs and build what you want.
Combined with our at-cost, zero-markup credit pricing, Teable is built to make every credit go further: More use. More power. More gain.
What's Next
- Support for skill usage and management.
- CuppyClaw support for WhatsApp.
- V2 database engine upgrade for faster, more powerful data processing at larger scale.
- Login authentication system with support for email, Google, Teable, and more sign-in methods.
- Support in-app AI features in App Builder.
- A series of product capability enhancements.
Important Notes
- During AI conversations, occasional session interruptions may occur. As a temporary workaround, start a new conversation or click "Clear Chat" in App Builder. This is a known issue and will be fixed within 1–2 weeks.
- During AI conversations, Question Cards may occasionally display incorrectly. This is a known issue and will be fixed within 1–2 weeks.
- The New Agent Engine is currently in Beta — there may be rough edges. We're committed to continuous iteration toward a flawless experience. If you encounter any issues, please share your feedback and we'll address them promptly: New Agent Engine Feedback Form
Apr 08, 2026 — Markdown Support in Long Text Field
Long Text fields now render Markdown natively — write structured content in your cells, and toggle between plain text and Markdown with one click.
1. Write Markdown, See It Rendered
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: Watch
2. Paste Formatted Text, Get Markdown
Copy content from Notion, Google Docs — Teable automatically converts it to clean Markdown. No manual reformatting needed.
Video: Watch
Field & Data Fixes (10)
- Fixed an issue where the Long Text editor had extra blank space at the bottom in multi-line mode.
- Fixed Markdown expanded view jumping to the bottom of content and line break rendering issues.
- Fixed an issue where clicking into a text or Long Text field wouldn't register the first character typed.
- Fixed long single/multi-select values not wrapping in the record modification history page.
- Fixed a crash when duplicating a Sum field and converting it to Currency or Percentage format.
- Fixed an issue where copying a Link field and switching it from one-way to two-way created a duplicate field name in the linked table.
- Fixed Multi-Select Rollup returning empty results wh...
v1.10.0
Teable EE - The AI Database Agent
Aligned with Teable 2.0 — the AI Database Agent, this release brings 6 big revolutions, rewriting how we work with data.
- Talk to Build Databases: Say goodbye to disorganized leads. Teable can automatically tag sentiment and draft replies from your CRM data.
case1.talk.to.build.databases_compressed.mp4
- Talk to Build Apps on Data: Generate apps directly from your database (e.g., turn a leads table into a landing page in minutes). Unlike vibe-coding tools that leave you with a dead app, Teable builds apps that actually run on live data.
Case2.Talk.to.build.apps.on.data_compressed.mp4
- Talk to Automate Workflow: Create automations in plain language (e.g., “email your customer or teammate when a form is submitted”). Customers and teammates get notified instantly.
Case3.Talk.to.automate.workflow_compressed.mp4
- Talk to Data for Analysis: Conversational query, visualize, and get instant insights on your data. No SQL, no code.
Case4.Talk.to.data.for.analysis_compressed.mp4
- Talk to Process Data at Scale: Batch-handle files and auto-extract key fields. (e.g., just drop in your invoices, then hit the share button and send it straight to your accountant).
case5.talk.to.process.files_compressed.mp4
- Batch Image & Copy Generation: Batch-generate product images, copy, and video scripts to become a super marketer.
Case6.Batch.image.copy.generation_compressed.mp4
Community Edition v1.10.0
🎯 New Core Features
- Notification Toast System: New notification system for better user feedback
- Mail Settings: Enhanced email configuration and verification system
- Collaboration Messaging: Constantly sending collaboration messages for real-time updates
⚡ Performance Improvements
- Performance Cache: Added caching to aggregation and record doc-ids APIs for better performance
- DataLoader Optimization: Reduced duplicate field queries through dataloader implementation
- Template UI Enhancements: Improved template application with icons and names
🛠️ Infrastructure & Developer Experience
- Batch Operations: Implemented batch update for view operations
- Database Indexes: Added indexes to TableTrash and RecordTrash models
- S3 Upload Fixes: Multiple improvements to S3 streaming uploads and avatar handling
- Import Improvements: Enhanced Excel import with better error handling and caching
🎨 User Experience
- System Setting Guide: Added guidance for admins on first entry
- UI Improvements: Fixed dropdown scroll bars, sheet-form errors, and various UI polish
- Permanent Delete: Added permanent delete functionality for bases and tables
What's Changed
- refactor: modified signup and change email verification code by @younocode in #1760
- feat: add buildEmailFrom helper for email form format by @younocode in #1759
- fix: handle optional sender in mail sending logic by @younocode in #1765
- feat: constantly sending collaboration messages by @boris-w in #1769
- feat: enhance next asset upload to object storage by @younocode in #1722
- fix: pr-preview by @younocode in #1776
- fix: the scroll bar for the drop-down selection in the popup box does not work by @younocode in #1770
- feat/waitlist by @younocode in #1772
- feat: add notification toast support by @younocode in #1766
- fix: upload assets by @younocode in #1787
- fix: waitlist invite code check when social sign up by @younocode in #1786
- feat/notification-toast by @younocode in #1784
- feat/mail-setting by @younocode in #1758
- feat: ai by @boris-w in #1783
- chore: add test llm logger for attachments by @boris-w in #1793
- fix: continuous click test ai model ability by @boris-w in #1794
- feat: enhance FieldAiConfig with removeConfig option by @Sky-FE in #1796
- perf: template UI detail by @caoxing9 in #1795
- feat: add llm provider for OpenRouter by @Sky-FE in #1798
- fix: s3 upload avatar need size by @boris-w in #1800
- fix: upload file streamly using s3 error by @caoxing9 in #1801
- chore: update i18n by @Sky-FE in #1803
- fix: s3 upload stream no size by @boris-w in #1802
- feat: add app robot by @Sky-FE in #1808
- fix: test ci for sqlite error by @younocode in #1809
- fix: link update option error by @younocode in #1807
- chore: prompt text by @tea-artist in #1811
- chore: add build-base error text by @caoxing9 in #1812
- chore: improve prompt by @tea-artist in #1813
- chore: move formula prompt into openapi by @tea-artist in #1815
- fix: set offset itemMetadata should not be undifined by @caoxing9 in #1817
- perf: add performance cache to aggregation and record doc-ids APIs by @boris-w in #1806
- feat: date field supports AI configuration by @Sky-FE in #1820
- chore: remove unsupport type by @tea-artist in #1824
- fix: get related link field by @younocode in #1826
- chore: move chat type to enterprise by @caoxing9 in #1827
- feat: add indexes to TableTrash and RecordTrash models by @younocode in #1832
- perf: base resource by @caoxing9 in #1833
- fix: sheet-form error by @caoxing9 in #1837
- fix: update link error by @younocode in #1838
- fix: support waitlist only for cloud version by @younocode in #1840
- fix: add permanent delete in base and table delete by @younocode in #1797
- chore: update i18n by @caoxing9 in #1841
- perf: add dataloader to reduce duplicate field queries by @boris-w in #1829
- feat: add automation upload type by @Sky-FE in #1843
- perf: apply template to base should with icon and name by @caoxing9 in #1844
- fix: duplicate ai prompt config losing fieldId map by @caoxing9 in #1846
- feat: enhance AI model selection with image output filtering by @Sky-FE in #1845
- chore: upgrade zod to 3.25.76 by @boris-w in #1847
- perf: add system setting guide when admin first enter by @caoxing9 in #1850
- perf: setting page css adjustment by @caoxing9 in #1851
- fix: import string with zero by @caoxing9 in #1852
- fix: import new table cache expire by @caoxing9 in #1855
- fix: inplace import excel crash with non hearder column by @caoxing9 in #1856
- fix: forbidden fields ai configuration prevents dependency cycles by @Sky-FE in #1858
- perf: create table do not expand ai chat by @caoxing9 in #1857
- perf: add formula returnType prompt by @caoxing9 in #1861
- feat: add app and web search configuration options to settings by @Sky-FE in #1862
- fix: missing ttl in performance cache by @boris-w in #1863
- perf: create view with share data by @caoxing9 in #1865
- feat: trigger setting guide with instance createdTime by @caoxing9 in #1871
- feat: implement batch update for view operations by @younocode in #1825
Full Changelog: v1.9.1...v1.10.0
v1.9.1
Teable EE v0.4.0 / Community v1.9.1 Release Notes
✨ teable.io now teable.ai
Enterprise Edition
Key Features
-
Button Field: Interactive button fields for enhanced workflows

-
Advanced User Management: Permanent user deletion with enterprise compliance
-
Visit Logging: User access tracking and analytics
Critical Fixes
- Fixed S3 file upload stability issues
- Resolved button field duplication errors during base import
- Fixed AliCloud export expiration errors
Community Edition v1.9.1
Key Features
- User Account Deletion: Self-service account deletion feature
- AWS Bedrock AI Support: Extended AI capabilities with AWS integration
- AliCloud Storage Support: Native support for AliCloud storage services
Performance & Fixes
- ShareDB Query Optimization: Significantly improved real-time collaboration performance
- File Upload Fixes: Multiple S3 upload stability improvements
- Multi-value Field Grouping: Fixed sorting issues in grouped views
- Import Reliability: Resolved timeout issues with large field imports
What's Changed
- feat: support ga collector by @tea-artist in #1678
- fix: disordered grouping caused by collapsing multi-value field group headers by @Sky-FE in #1677
- refactor: save ops table by @boris-w in #1680
- fix: fetch doc error by @boris-w in #1689
- chore: update dependencies and add tracing interceptor by @nichenqin in #1688
- feat: undo redo event by @boris-w in #1690
- refactor: getOps reliability and version handling by @boris-w in #1695
- chore: swc by @nichenqin in #1697
- fix/attachment-preview-url by @younocode in #1691
- fix: s3 upload file need content type by @caoxing9 in #1693
- test: add e2e tests for permanent deletion and access token management by @younocode in #1698
- fix: compatible with shareddb edge cases by @boris-w in #1700
- fix: add version check to prevent invalid history fetch by @boris-w in #1701
- fix: s3 upload file streamly fail by @caoxing9 in #1702
- fix: handle non-table html content when pasting by @boris-w in #1703
- Revert "fix: s3 upload file streamly fail" by @caoxing9 in #1704
- fix: s3 upload error by @caoxing9 in #1707
- fix: s3 upload unknown file by @caoxing9 in #1708
- perf(share-db): optimize table snapshot query in getOps by using dire… by @boris-w in #1709
- fix: get missing ops in sharedb by @boris-w in #1711
- feat: customize logger message by @boris-w in #1713
- chore: update s3 sdk version by @caoxing9 in #1714
- chore: add getOps log by @boris-w in #1716
- chore: getOps detail log by @boris-w in #1717
- fix: downgraded s3 sdk version by @caoxing9 in #1720
- chore: github url callback by @tea-artist in #1719
- perf: adapt aliCloud storage by @caoxing9 in #1721
- feat: revert ops perf by @boris-w in #1733
- chore: update prisma engine type is binary by @boris-w in #1735
- chore: teable.io -> teable.ai by @tea-artist in #1734
- feat: add delete user account by @boris-w in #1699
- refactor: delete user service by @boris-w in #1736
- Fix grammar error in UA translation by @isbear in #1724
- fix: lost query on root when not logged by @tea-artist in #1737
- fix: create table time out when import too much fields by @caoxing9 in #1740
- fix: duplicate two-way link field error by @caoxing9 in #1742
- feat: add oauth app help link by @boris-w in #1738
- feat: support aws bedrock ai config provider by @caoxing9 in #1743
- feat/button-field by @younocode in #1687
- fix: aliCloud export base error by expire time by @caoxing9 in #1745
- feat: add visit count in user visit resource by @boris-w in #1746
- feat: remove useLastVisit useless index by @boris-w in #1749
- refactor: remove ops and manual create real-time'sops by @boris-w in #1747
- fix: duplicate crossbase link losing base id by @caoxing9 in #1750
- feat: remove visit count in userLastVisit by @boris-w in #1751
- feat: add last visit event by @boris-w in #1752
- perf: filter should not rerender when collabration by @caoxing9 in #1753
- fix: calc-count-formula and enhance e2e tests by @younocode in #1631
- fix/link-update-relationship by @younocode in #1718
- fix/button-field by @younocode in #1748
- fix: duplicate button field error when import base by @caoxing9 in #1754
New Contributors
- @nichenqin made their first contribution in #1688
- @isbear made their first contribution in #1724
Full Changelog: v1.9.0...v1.9.1
v1.9.0
Teable EE Updates (Enterprise Edition 0.3.0)
AI Features
- Base Chat System: Complete chat functionality with enhanced UI, SQL query capabilities, and auto-continuation for length-limited responses
- AI Field Configuration: Comprehensive AI configuration support for attachment, numeric, and other field types with improved interaction experience
Permission & Access Control
- Cell-level Permission Control: Granular permission management at the cell level with enhanced authority matrix and record history permissions
- Advanced Access Management: Full access control with hasFullAccess field and improved user validation systems
Enterprise Management
- Custom Branding: Complete custom branding solution for enterprise deployments
- Department Management: Advanced department creation with custom IDs and enhanced member management capabilities
- Audit & Monitoring: Comprehensive audit log functionality for tracking system activities
Automation & Workflow
- Enhanced Automation System: Improved automation with nested conditions, better date comparisons, and deadlock prevention in automation actions
- Advanced Workflow Actions: Enhanced HTTP actions with proper encoding, JSON parsing, and error handling
Teable Updates (Community Edition)
Core Platform Features
- Base & Workspace Management: Support for moving bases between spaces and enhanced workspace organization
- Template System: Complete template functionality with markdown descriptions, mobile UI optimization, and advanced duplication capabilities
- Field Management: Support for field duplication and improved field conversion with undo/redo functionality
Data Management & Performance
- Enhanced Import/Export: Optimized import queue with worker system, improved Excel handling with precision fixes, and better export functionality
- Database Performance: Deadlock retry mechanisms, Prisma migration for better performance, and search index time limitations
- Data Integrity: Enhanced unique constraint management and improved data validation systems
User Experience Improvements
- Enhanced Editors: Improved formula editor performance and date editor with manual input support and European format compatibility
- Navigation & Discovery: Recent base list functionality and quick page navigation with last visited page memory
- Mobile Experience: Comprehensive mobile optimization across all components and interfaces
UI & Interaction
- Advanced Filtering: Support for filtering by formatted date and improved filter management
- Copy/Paste Enhancement: HTML parsing support for better data transfer between applications
- Multi-line Support: Field names with multi-line support and batch collapse functionality for better organization
Technical Improvements
- Server-Side Rendering: Enhanced SSR performance for better page load times and SEO
- Localization: HTTP error message localization and improved internationalization support
- Stability Fixes: Comprehensive bug fixes for calendar views, data integrity issues, and file upload problems
What's Changed
- feat: support template markdown description by @caoxing9 in #1448
- perf: update template admin table ui by @caoxing9 in #1449
- fix: filter number editor zero do not display by @caoxing9 in #1450
- fix: table export by @caoxing9 in #1451
- fix: cannot delete record by @tea-artist in #1452
- fix: get template cover preview url error by @caoxing9 in #1454
- perf: template mobile UI by @caoxing9 in #1456
- feat: basic localization for http error messages by @Sky-FE in #1455
- fix: create formula error when db field type is different with default type by @caoxing9 in #1458
- fix: http error for batch update by @Sky-FE in #1459
- perf: template public support ssr by @caoxing9 in #1460
- fix: ssr for pages by @Sky-FE in #1461
- fix: duplicate table error with constraint field by @caoxing9 in #1462
- fix: handle potential undefined record in grid selection hook by @Sky-FE in #1464
- fix: getSelectionRecords query result correct in plugin bridge methods by @boris-w in #1465
- fix: filter me in plugin chart by @boris-w in #1467
- fix: duplicate date field losing data by @caoxing9 in #1468
- fix: mark scope too large error by @tea-artist in #1466
- perf: set max search index time limitation by @caoxing9 in #1469
- feat: paste link cell use id expect title by @tea-artist in #1473
- fix: create lookup field showAs option unmatch by @caoxing9 in #1474
- fix: projection field key when used getRecordBySelection in plugin br… by @boris-w in #1479
- fix: new options should allowed to create when enabled config by @tea-artist in #1480
- fix: calendar view crash and issue with dropping unique constraint by @Sky-FE in #1481
- fix: duplicate link field dbFieldName error by @caoxing9 in #1478
- fix: calendar view filtering by @Sky-FE in #1485
- feat: support cell-level permission control by @boris-w in #1457
- fix: getCalendarDailyCollection calendarDailyCollectionQuery dbTableName by @boris-w in #1486
- Fix/paste by @tea-artist in #1488
- fix: aggregation with record permission in view by @boris-w in #1489
- fix: missing permissions viewId args when ignoreViewQuery is true by @boris-w in #1490
- fix: group points permissions by @boris-w in #1491
- fix: paste user field by @boris-w in #1492
- feat: add cookie secure config env by @boris-w in #1493
- fix: s3 provider public bucket url by @boris-w in #1496
- feat: support move base to another space by @caoxing9 in #1494
- fix: hide signup buttons when disallowSignUp is configured by @boris-w in #1498
- feat: multi-line field names & batch collapse by group by @Sky-FE in #1504
- fix: search error location when personal view by @caoxing9 in #1506
- fix: distinguish projection source when search by @caoxing9 in #1507
- chore: rename some function and e2e by @caoxing9 in #1471
- fix: base export config some field losing createdTime by @caoxing9 in #1509
- feat: add pin resource type, view and table by @boris-w in #1505
- chore: move types deps to dependencies by @caoxing9 in #1512
- fix: duplicate or import base losing ai field config by @caoxing9 in #1515
- feat: allow plugins to query created by the user in other statuses by @boris-w in #1516
- fix: unable to upload files after uploading a large number of files t… by @boris-w in #1517
- feat: improve accept locals retrieval by @boris-w in #1520
- feat: ai config supplement by @Sky-FE in #1518
- fix: i18n word by @caoxing9 in #1522
- feat: filtering by formatted date by @Sky-FE in #1523
- fix: missing theme on some pages by @boris-w in #1525
- feat: base chat UI by @boris-w in #1524
- feat: improve chat UI by @boris-w in #1526
- fix: strip unexpected newlines and tabs when pasting by @boris-w in #1528
- perf: formula editor by @Sky-FE in #1531
- fix: hidden chat panel when chat disabled by @boris-w in #1532
- fix: upload attachment from short link getting error file type by @caoxing9 in #1534
- feat: add trialing status to the user table by @Sky-FE in #1533
- fix: get error header info when request asynchronism attachment url by @caoxing9 in #1538
- feat: recently base list by @boris-w in #1537
- fix: delete duplicate records in user_last_visit table by @boris-w in #1539
- perf: plate upgrade by @caoxing9 in #1529
- chore: add primary key for all table by @tea-artist in https://github.com/teab...
v1.8.0
Highlight 🎉
Template Management
Navigate to Admin Panel > Template Admin to create a new template.
You can select a base from any space, customize it with a cover image, and add a detailed description.
Users can create new bases from any available template.
Base Import/Export
Export your base to a .tea file (which can be extracted as a ZIP archive)

Import an existing base from a .tea file

Field Duplication
Easily duplicate any field with a single click

News: Teable Enterprise Edition Now Available! 🚀
We're thrilled to announce that after continuous refinement and development, Teable Enterprise Edition (EE) is now available to all users! Both on cloud and selfhost, Visit teable.ai to experience powerful features including:
AI Field
Automation
Authority Matrix
Admin Panel
Subscriptions are now open. For detailed information about pricing and plans, please visit our Pricing page.
What's Changed
- fix: invite user signup when email verification opened by @boris-w in #1399
- fix: person view search error by @caoxing9 in #1401
- feat: enterprise adapter by @tea-artist in #1406
- feat: support field duplicate by @caoxing9 in #1398
- fix: automation last visit crash by @tea-artist in #1409
- chore: add minio region support by @cospotato in #1314
- fix: correct typo "Bstätigen" to "Bestätigen" in german language file by @SergejKembel in #1400
- feat: new fieldKeyType dbFieldName by @tea-artist in #1410
- fix: use false and empty string to reset checkbox and text by @tea-artist in #1411
- feat: add API endpoint for listing base collaborator users by @boris-w in #1412
- feat: support template by @caoxing9 in #1413
- fix: template relative by @caoxing9 in #1416
- fix: duplicate base error causing the dbfieldname unmatch by @caoxing9 in #1419
- fix: duplicate base view order column missing by @caoxing9 in #1420
- chore: remove db-migrate by @tea-artist in #1418
- perf: optimize duplicate base ui by @caoxing9 in #1421
- fix: duplicate base junction by @caoxing9 in #1423
- chore: update import base file extension tip by @caoxing9 in #1424
- fix: delete record with one-way many-many link cell crash by @tea-artist in #1427
- fix: create template snapshot should break cross base link by @caoxing9 in #1426
- fix: create template snapshot junction lacking by @caoxing9 in #1429
- feat: field ai config by @Sky-FE in #1414
- chore: adjust page detials by @tea-artist in #1433
- feat: update field icon for ai config by @Sky-FE in #1434
- fix: duplicate primary dependent field base by @caoxing9 in #1432
- fix: correct row index calculation in Grid by @Sky-FE in #1435
- Update README.md by @yangchuansheng in #1436
- chore: remove wait for by @tea-artist in #1438
- fix: enhance grid selection logic to correctly handle presort record and update selection range by @Sky-FE in #1439
- fix: duplicate adapt error data by @caoxing9 in #1440
- fix: delete record crash when contains a lookup link field by @tea-artist in #1442
- fix: search index tips by @caoxing9 in #1443
- fix: duplicate base which relative with auth e2e by @caoxing9 in #1444
- fix: link fix logic error by @tea-artist in #1445
- fix: update keyboard shortcut from 'del' to 'delete' key by @boris-w in #1446
New Contributors
- @cospotato made their first contribution in #1314
- @SergejKembel made their first contribution in #1400
- @yangchuansheng made their first contribution in #1436
Full Changelog: v1.7.0...v1.8.0
v1.7.0
Highlight 🎉
Custom LLM Integration Support
Table Duplication
- Support for duplicating tables, including proper handling of linked fields and relationships (#1335)
Quick navigation
- Added memory of last visited page for quick navigation (#1388)
last-visit.mp4
Plugin Enhancements
- Added floating element plugin (#1313)
- Added table plugin support (#1340)
- Plugin support for getting temporary tokens (#1317)
- Added getSelectionRecords plugin bridge method (#1358)
Performance Improvements
- Optimized layout for touch devices (#1338)
- Better SSR implementation across the application (#1354, #1357)
- Improved performance when creating multiple fields at once (#1356)
- Merged database I/O operations during table imports (#1362)
New Language Support 🌍
- Added support for five new languages:
- Turkish (tr) by @volkantasci
- Ukrainian (uk) by @yope-dev
- German (de) by @vmario89
- Italian (it) by @adrianoamalfi
- Spanish (Latin American) (es-419) by @sosamilton
Notable Fixes
- Fixed calendar border color in dark mode (#1260)
- Fixed timezone errors when grouping by date fields (#1296)
- Fixed data misalignment issues from column order changes (#1297)
- Resolved issues with Excel imports:
- Fixed 401 errors when uploading attachments in shared forms (#1327)
- Fixed scrolling issues throughout the application (#1329)
- Removed year selection range restrictions in calendar (#1352)
- Fixed issues with relationship field conversions (#1365)
Other Improvements
- Dynamic color system implementation (#1387)
- Optimized responsive layout for base cards (#1361)
- Improved UI for longer internationalized text (#1299)
What's Changed
- perf: delete hack judgment by @caoxing9 in #1293
- feat(i18n): Add Turkish (tr) language support by @volkantasci in #1259
- Add Ukrainian (uk) language support by @yope-dev in #1269
- Add language support for german (de) by @vmario89 in #1286
- chore: license 2025 by @tea-artist in #1294
- fix: calendar border color for dark mode by @naupaw in #1260
- fix: the group header rendering timezone error when grouping by date fields by @Sky-FE in #1296
- fix: data misalignment from column order changes or hidden columns in personal view by @Sky-FE in #1297
- perf: tips for locked view by @Sky-FE in #1298
- fix: ui for long i18n text by @tea-artist in #1299
- perf: disable browser menus only where necessary by @Sky-FE in #1300
- fix: the REGEXP_REPLACE formula should replace all substring by @Sky-FE in #1301
- fix: illegal path by @tea-artist in #1303
- fix: excel preview crash when row number is 1 or 0 by @caoxing9 in #1302
- fix: excel import losing number when format with precise by @caoxing9 in #1308
- feat: add floating element plugin by @boris-w in #1313
- feat: plugin support get temp token by @boris-w in #1317
- docs: update help link by @tea-artist in #1318
- docs: optimize api docs by @tea-artist in #1319
- fix: record history with permission by @Sky-FE in #1320
- feat: integration by @Sky-FE in #1315
- fix: add string operator for letter ignore case by @caoxing9 in #1316
- fix: could not create exact search index when dbtablename is too long by @caoxing9 in #1323
- perf: view filter with default value by @Sky-FE in #1324
- fix: the column order was displayed incorrectly when inserting columns in the personal view by @Sky-FE in #1325
- fix: resolve 401 error when uploading attachments in shared form by @boris-w in #1327
- fix: empty legend text in pie charts by @boris-w in #1328
- fix: resolve scrolling issues by @boris-w in #1329
- perf: optimize layout on touch devices by @Sky-FE in #1338
- fix: ai model select rendering by @Sky-FE in #1339
- fix: convert error when change oneWay 2 twoWay and relationship by @tea-artist in #1331
- fix: the judgment logic of touch devices by @Sky-FE in #1341
- feat: table plugin by @boris-w in #1340
- fix: add overflow-hidden to table view container to prevent horizonta… by @boris-w in #1342
- perf: adapt more llm models by @Sky-FE in #1344
- fix: import cell boolean string always be truth by @caoxing9 in #1343
- fix: plugins style by @boris-w in #1348
- fix: import date field typecast error by @caoxing9 in #1351
- feat(dashboard): add SSR support for dashboard and charts by @boris-w in #1353
- perf: better ssr by @tea-artist in #1354
- fix: compatible with more view filter default values by @Sky-FE in #1349
- feat: interactive mode by @Sky-FE in #1355
- fix: remove the restrictions on the year selection range of the calendar by @Sky-FE in #1352
- fix: can not fix reference by @tea-artist in #1346
- perf: space page ssr by @tea-artist in #1357
- feat(i18n): Add Italian (it) language support by @adrianoamalfi in #1321
- feat: add getSelectionRecords plugin bridge method by @boris-w in #1358
- perf: create many fields at once by @caoxing9 in #1356
- feat: support duplicate table by @caoxing9 in #1335
- fix: switch space not refresh by @tea-artist in #1359
- perf: merge create table db io when import by @caoxing9 in #1362
- perf: optimize base card responsive layout by @boris-w in #1361
- fix: sync copy record order by @boris-w in #1363
- fix: add multiple rows to supplement default values during view grouping by @Sky-FE in #1364
- fix: link field converting error when a related lookup field has refe… by @tea-artist in #1365
- fix: pin list disappeared by @tea-artist in #1366
- fix: filter me in chart by @boris-w in #1367
- fix: filter me in plugin chart by @boris-w in #1369
- fix: duplicate formula and lookup field losing primary set by @caoxing9 in #1368
- fix: duplicate table link field error contraint key is to long by @caoxing9 in #1371
- fix: plugins selection methods missing tableId by @boris-w in #1372
- fix: correct typo 'parralel' to 'parallel' in package.json by @vangie in #1377
- feat(i18n): añadir soporte para español latinoamericano (es-419) by @sosamilton in #1373
- fix: duplicate table relative by @caoxing9 in #1378
- docs: add terms by @tea-artist in #1379
- style: optimize space page by @tea-artist in #1386
- style: dynamic color by @tea-artist in #1387
- feat: memo last visited item to quick jump by @tea-artist in #1388
- fix: tips misleading by @tea-artist in #1389
- fix: 404 when view deleted by @tea-artist in #1390
New Contributors
- @volkantasci made their first contribution in #1259
- @yope-dev made their first contribution in #1269
- @vmario89 made their first contribution in https://github.com...
v1.6.0
Highlight 🎉
- Table Trash
- Introduced a table trash feature, allowing users to recover deleted records, views, and fields. (#1141)
-
Duplicate Views
- Added support for duplicating views, enabling users to quickly create copies of existing views. (#1147)
-
Personal and Locked Views
- AI Integration
- Added support for custom large language model APIs, enabling AI-generated formulas. (#1117)
Admin Panel / Settings / AI settings

- Search Index Optimization
- Email Verification During Registration
- Added email verification support during user registration for enhanced security. (#1252)
Admin Panel / Settings / General settings

- Drag-and-Drop Attachment Upload
- Users can now drag and drop files directly into cells for quick attachment uploads. (#1255)
- Forced OAuth2/OIDC Login
- Introduced a ENV to enforce OAuth2/OIDC login for improved authentication control. (#1131)
PASSWORD_LOGIN_DISABLED=true
- API Token Permission Quick Selection
- Streamlined API token permissions with quick selection options for easier configuration. (#1116)
- Custom Physical Field Names During Creation
- Allowed specifying custom physical field names (
dbFieldName) when creating new fields. (#1244)
- Allowed specifying custom physical field names (
- Quick Filtering via Field Name Right-Click
- Added support for quick filtering by right-clicking on field names. (#1135)
-
System User Display Enhancements
- Improved the display of system users, such as "Anonymous" roles. (#1128)
-
No mandatory reliance on HTTPS
Copy-paste functionality is unaffected without HTTPS, except when copying large amounts of data (over 300 rows), which requires an HTTPS environment (#1247)
What's Changed
- fix: incorrect filter conditions when viewing more events in the calendar by @Sky-FE in #1115
- chore: drop pgcrypto dependency by @tea-artist in #1118
- fix: system user by @boris-w in #1128
- fix: field dependence update crash by @tea-artist in #1129
- feat: forget password & reset password errors by @kpodp0ra in #1130
- fix: kanban view -> "hide empty stack" on select and user field by @kpodp0ra in #1120
- fix: show table's context menu without table|delete permissions by @kpodp0ra in #1132
- docs: update readme by @tea-artist in #1134
- feat: filter date add quick mode by @caoxing9 in #1119
- fix: filter out deleted bases and spaces when fetching token info by @boris-w in #1138
- fix: handle Windows-style line endings (\r\n) correctly by @boris-w in #1140
- add Alibaba Cloud one-click deployment by @hanans426 in #1127
- feat: support shift+tab hotkey by @kpodp0ra in #1143
- feat: table trash by @Sky-FE in #1141
- feat: duplicate view by @kpodp0ra in #1147
- perf: space collaborators page by @Sky-FE in #1151
- fix: calculate field error with event and fieldKeyType by @tea-artist in #1153
- feat: setting to force oauth2/oidc login & refactor by @kpodp0ra in #1131
- fix: the flickering images in group headers when scrolling the grid by @Sky-FE in #1156
- feat: pageUp/pageDown scrolling support by @kpodp0ra in #1144
- fix: horizontal scrolling by @kpodp0ra in #1145
- fix: filter formula value component adaptive by cell value type by @caoxing9 in #1161
- fix: datetime isNot filter by @kpodp0ra in #1158
- translation: add ja, ru, fr locales to calendar by @kpodp0ra in #1164
- feat: add enterprise related definitions by @boris-w in #1167
- perf: filter relative by @caoxing9 in #1169
- chore: update icons by @boris-w in #1171
- feat: add breadcrumb by @boris-w in #1172
- fix: navigate path in base sidebar active status error by @caoxing9 in #1173
- feat: detailed token permission by @tea-artist in #1116
- fix: base all permission need no resourceId by @tea-artist in #1175
- Introducing Teable Guru on Gurubase.io by @Gurubaseio in #1174
- fix: swagger json schema by @tea-artist in #1179
- fix: rendering error in gallery view with filter changes by @Sky-FE in #1180
- chore: insert contact method by @kpodp0ra in #1184
- fix: illegal path by @tea-artist in #1186
- feat: more context menu actions by @kpodp0ra in #1135
- fix: ability to drag field from form to sidebar by @kpodp0ra in #1162
- fix: insert multiple rows losing anchorId by @caoxing9 in #1189
- perf: adapt multiple language insert button display by @caoxing9 in #1190
- fix: pop-up box positioning in prefilling row editor by @Sky-FE in #1192
- perf: improve search index speed by @caoxing9 in #1193
- fix: missing cross-base link fields when update dbTableName by @tea-artist in #1200
- fix: sqlite search index e2e by @caoxing9 in #1202
- perf: improve search target speed by pagination strategy by @caoxing9 in #1205
- fix: filter link search do not work by @caoxing9 in #1209
- feat: ai by @tea-artist in #1117
- feat: new design for design page by @tea-artist in #1210
- fix: crash when check by @tea-artist in #1219
- fix: removal of AI config on settings change by @kpodp0ra in #1221
- perf: do not get search count temporarily by @caoxing9 in #1222
- feat: add page change disable when search by @caoxing9 in #1223
- perf: do not switch index when search loading by @caoxing9 in #1224
- fix: primary key is multiple cellvalue will leads error by @tea-artist in #1226
- docs: contributing update by @tea-artist in #1229
- feat: text filter ignore case by @caoxing9 in #1231
- fix: avatar upload by @boris-w in #1232
- fix: s3 adapter file upload by file path by @boris-w in #1235
- fix: export should limit by permission by @caoxing9 in #1215
- feat: organization permission by @boris-w in #1208
- fix: database execution error message by @Sky-FE in #1236
- fix: record update events were not merged by @Sky-FE in #1238
- feat: link field integrity check by @tea-artist in #1240
- feat: allowed edit db field name when creating by @tea-artist in https://gi...
v1.5.2
Highlight 🎉
Calendar view
Show and edit your schedule in the calendar view

Global search and highlight
The search feature has been greatly improved. You can now search not only by specific fields but also do a global search, with the option to filter out unmatched rows.

Filter in Lookup and Rollup field
Now, you can filter the relevant records and do the calculations. The boundary has broadened even further!

Form support require-login
After adding this option, you'll be able to view the submitter's information in the created-by field.

A switch for allowing new options when editing.
Users can now disable the option to add new options while editing single or multiple select fields, preventing accidental addition of options.

More optimization
Copying on loaded data doesn't require a network request, it's 10x faster.
Created-by and Last-modified-by field support display for anonymous user and automation robot users.
What's Changed
- perf: enhance global search by @caoxing9 in #1069
- fix: search and crop image bugs by @caoxing9 in #1076
- feat: email verify templates by @boris-w in #1077
- fix: search bugs by @caoxing9 in #1078
- style: adjust dark theme color values by @boris-w in #1082
- fix: local file system e2e by @boris-w in #1083
- feat: add heap snapshot generation endpoint by @boris-w in #1088
- fix: import and search bugs by @caoxing9 in #1087
- feat: suport search cursor highlight by @caoxing9 in #1089
- feat: close file stream by @boris-w in #1090
- fix: billing level ui by @Sky-FE in #1091
- feat: lookup filter by @tea-artist in #1093
- fix: clicking the "Today" button in the date editor had no effect by @Sky-FE in #1092
- perf: cleanup file operation listeners and streams by @boris-w in #1096
- fix: lookup crash when many-many self link by @tea-artist in #1097
- fix: scrollTo method positioning inaccuracy with large datasets in grid by @Sky-FE in #1098
- feat: search result highlight by @caoxing9 in #1095
- feat: add sync copy support by @boris-w in #1100
- fix: cal boolean field search error by @caoxing9 in #1101
- chore: upgrade risk dependence by @tea-artist in #1086
- fix: search relative by @caoxing9 in #1102
- fix: auto number reset unexpectedly by @tea-artist in #1105
- perf: search display and fix cache relative error by @caoxing9 in #1104
- chore: log error when user cookie is missing by @boris-w in #1107
- feat: form can require login by @tea-artist in #1108
- feat: calendar view by @Sky-FE in #1103
- fix: records cannot be deleted using the record menu by @Sky-FE in #1109
- perf: calendar interaction by @Sky-FE in #1112
- feat: add robot and anonymous display by @tea-artist in #1110
- chore: publish 1.5.2 release by @tea-artist in #1113
Full Changelog: v1.5.1...v1.5.2
v1.5.1
Highlight 🎉
Gallary view
Preview PDF / Word / Excel in the attachment field
Click on your attachment and preview
iShot_2024-11-09_16.04.00.mp4
Duplicate a record
Right-click, or click the edit form's "more button" to duplicate a record
What's Changed
- feat: enhance attachememt preview by @caoxing9 in #1025
- fix: pdf preview block by csp by @caoxing9 in #1029
- fix: json field grouping and multi-value field SUM in base query interface by @boris-w in #1027
- feat: queue job by @boris-w in #1026
- fix: pdf preview base64 too large to preview by @caoxing9 in #1031
- fix: use private network upload statics by @tea-artist in #1032
- fix: queue module dependency imports by @boris-w in #1033
- fix: handle whitespace in pie chart dimension colors by @boris-w in #1034
- perf: optimize attachment signature loading time by @boris-w in #1035
- chore: allow access to files with invalid signatures by @boris-w in #1036
- fix: handle cellvalue & select field choices & text field trim by @boris-w in #1038
- feat: search enhance by @caoxing9 in #1039
- fix: i18n detail by @caoxing9 in #1041
- feat: record presort by @Sky-FE in #1040
- perf: search relative by @caoxing9 in #1043
- feat: instance permissions by @Sky-FE in #1044
- fix: excel preview by @caoxing9 in #1046
- fix: the formula calculate error when the rollup field referenced is a date field by @Sky-FE in #1048
- refactor: crop image flow by @boris-w in #1045
- chore: update queue config by @boris-w in #1049
- fix: group by date field related cannot be displayed by @Sky-FE in #1052
- feat: gallery view by @Sky-FE in #1051
- feat: extract SpaceSettings container component by @boris-w in #1053
- feat: implement duplicate row functionality by @AliceLanniste in #930
- perf: interactive optimization of gallery view by @Sky-FE in #1055
- fix: convert field error causing the deleted view params by @caoxing9 in #1056
- refactor: replace X-Frame-Options with CSP frame-ancestors by @boris-w in #1059
- feat: record menu supports duplicate record by @Sky-FE in #1060
- fix: missing signed url in attachment cell op by @boris-w in #1065
- fix: record history rendering issues by @Sky-FE in #1064
- fix: group header rendering error related to date field by @Sky-FE in #1066
- fix: the gallery card could not render the link by @Sky-FE in #1070
- chore: publish 1.5.1 release by @tea-artist in #1071
Full Changelog: v1.5.0...v1.5.1



