Releases: teableio/teable
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.io 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
v1.5.0
Highlight 🎉
Hey, awesome community! We've been cooking up a storm, and version 1.5.0 is finally here! 🍳✨
Dashboard


Bar/Line/Pie/Area/Table Chart 📊
Comprehensive chart types

Flexible data query

Record comment ✍️

Statistics for every group

Link cross base
You are now free to link with any base!
Edit field -> Link from external base -> Choose base

Example: from Sales CRM base to Project Management base

Link table view control 💪
Comprehensive permission control, don't worry about accidental data display due to linking!
Edit field -> More options
- Control which views to link records from
- Controls that records that meet the filter criteria can be linked
- Controls which fields can be viewed in the link selection list

Field default value
Default values can be set for most fields

Sheet form view plugin

sheet.form.mp4
Kanban view supports full-field stacking

Russian language
Improvements
Attachment field image preview is much faster
The formula date time result now matches the time zone
The formula can correctly handle escape characters such as “\n”
Paste the attachment directly on the selected cell
What's Changed
- feat: cast attachment use attachment_id by @tea-artist in #908
- fix: the flickering issue when rendering grouped in the grid view by @Sky-FE in #909
- perf: optimize the flickering issue when switching grid views by @Sky-FE in #911
- feat: dashboard by @boris-w in #860
- feat: install plugin init by @boris-w in #918
- fix: global css import by @boris-w in #919
- fix: install plugin auto add plugin user in base by @boris-w in #920
- fix: adjust some ui styles in dashboard by @boris-w in #921
- fix: formula calculate with time zone by @tea-artist in #922
- feat: space collaborator filter by @boris-w in #923
- style: fix the "Add new record" UI by @AliceLanniste in #916
- feat: add Russian language support by @zycck in #926
- feat: add ru in picker by @tea-artist in #928
- fix: dashboard and plugin by @boris-w in #924
- feat: support record comment by @caoxing9 in #910
- feat: default value for all suitable fields by @tea-artist in #933
- fix: inplace import relative bugs by @caoxing9 in #934
- fix: disabled delete collaborators last owner by @boris-w in #937
- fix: chart config and query by @boris-w in #936
- feat: expand base select props by @caoxing9 in #938
- feat: cross base link by @tea-artist in #935
- fix: comment relative by @caoxing9 in #940
- feat: chart table config by @boris-w in #939
- feat: add new action view|share by @tea-artist in #941
- feat: grouping statistics by @Sky-FE in #943
- fix: link cell cannot render in expand record by @tea-artist in #944
- refactor: plugin file org by @boris-w in #942
- refactor: use field id as column unique identifier in base query endpoint by @boris-w in #947
- fix: fix upload URL and preview image on localhost by @AliceLanniste in #932
- fix: group statistics by @Sky-FE in #948
- fix: link records repeatedly counted by @tea-artist in #950
- fix: collaborator list order and base collaborator filter system user by @boris-w in #949
- fix: cannot read properties of undefined (reading 'width') in chart table by @boris-w in #963
- fix: handle escape characters for the formula field by @Sky-FE in #964
- fix: single select should be multiple select when the field be looked up by @caoxing9 in #965
- feat: plugin view by @boris-w in #952
- refactor: move to @httpx/dsn-parser by @belgattitude in #966
- fix: unexpected caching inside react-query by @boris-w in #969
- fix: avoid missing env by @boris-w in #970
- fix: focus style in attachment editor by @boris-w in #951
- fix: view sorting is compatible with date field formatting by @Sky-FE in #971
- fix: single select component type error by @caoxing9 in #972
- refactor: the next page for environment variable initialization and l… by @boris-w in #973
- fix: login page env error by @boris-w in #974
- fix: nextjs build error by @boris-w in #975
- fix: formulas containing escape characters with \0 cannot be written to the db by @Sky-FE in #976
- fix: reset crash when combine with lookup linkfield by @tea-artist in #977
- feat: the kanban view supports full-field stacking by @Sky-FE in #953
- fix: ssr user undefined by @boris-w in #979
- fix: export view should not with hidden fields by @caoxing9 in #978
- fix: share view include records by @boris-w in #980
- fix: binary operations on formulas by @Sky-FE in #981
- fix: group date field error in base query endpoint by @boris-w in #982
- fix: link with formula by @tea-artist in #983
- fix: user field grouping by @Sky-FE in #984
- feat: crop image in table by @boris-w in #985
- fix: no such temporary dir when crop image by @boris-w in #987
- fix: anonymous access share view by @boris-w in #988
- feat: support excel form view by @caoxing9 in #986
- fix: insert columnm crash by @caoxing9 in #992
- feat: upgrade next by @boris-w in #990
- perf: optimize sheet form view interaction by @caoxing9 in #993
- chore: update icons by @boris-w in #996
- fix: add export csv file bom resolving in excel correctly by @caoxing9 in #997
- fix: convert date field cellvalue by @boris-w in #995
- feat: comment list image support preview by @caoxing9 in #998
- fix: the formula engine incorrectly parses unary minus operation by @Sky-FE in #999
- fix: fail to fetch comment img url by @caoxing9 in #1000
- feat: limiting linked record selection by @Sky-FE in #994
- fix: aggregation functions to prevent division by zero errors by @boris-w in #1001
- perf: optimize sheet form value display by @caoxing9 in https://github.com/teableio/teable/pul...
v1.4.1
Highlight 🎉
Trash
You can restore space, base, and table from trash now!
Drag and drop attachments to reorder
Community contributions from @zholadev ❤️
output.mp4
Upload attachment into cell
Upload via file
curl -X POST 'https://app.teable.io/table/__tableId__/record/__recordId__/__fieldId__/uploadAttachment' \
-H 'Authorization: Bearer __token__' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@/path/to/your/file.jpg'
Upload via URL
curl -X POST 'https://app.teable.io/table/__tableId__/record/__recordId__/__fieldId__/uploadAttachment' \
-H 'Authorization: Bearer __token__' \
-H 'Content-Type: multipart/form-data' \
-F 'fileUrl=https://example.com/image.jpg'
Response Updated Record
{
"id": "rec123456789ABCDE",
"fields": {
"fld123456789ABCDE": [
{
"id": "act75TiSyhcS7hfrizW",
"name": "example.jpg",
"path": "table/example",
"size": 392903,
"token": "tokenxxxxx",
"width": 976,
"height": 1000,
"mimetype": "image/jpeg",
"presignedUrl": "https://sss.teable.io/pvt-assets/table/previewURL"
}
],
}
}
What's Changed
- fix: create record and modify field bad cases by @tea-artist in #879
- fix: undo link / formula field badcases by @tea-artist in #882
- feat: limit primary field type by @tea-artist in #883
- fix: can not clear show as for formula and rollup by @tea-artist in #884
- fix: some field and cell mutation error by @tea-artist in #886
- fix: lost synchronization after socket reconnected by @tea-artist in #888
- fix: get history ops error after reconnected by @tea-artist in #889
- fix: should clean rollup when clean link by @tea-artist in #891
- feat: integrate umami metrics by @tea-artist in #892
- fix: use server env by @tea-artist in #894
- fix: grid prefilling editable on disabled update record by @boris-w in #895
- feat: trash by @Sky-FE in #890
- fix: can not batch delete records when contains multiple link by @tea-artist in #899
- feat: attachment dnd by @zholadev in #878
- fix: e2e sqlite test fail by @tea-artist in #900
- feat: Added Elestio as one-click deploy option by @kaiwalyakoparkar in #853
- fix: formula crash when number NaN by @tea-artist in #902
- fix: the permission with the trash by @Sky-FE in #901
- feat: upload attachment api by @tea-artist in #903
- fix: minio private network by @tea-artist in #904
- fix: add internal port for minio by @tea-artist in #905
- chore: publish 1.4.1 release by @tea-artist in #906
New Contributors
- @zholadev made their first contribution in #878
- @kaiwalyakoparkar made their first contribution in #853
Full Changelog: v1.4.0...v1.4.1