v1.9.0
teableio/teablev1.9.0Jul 16, 2025by tea-artist
AI Summary
Enterprise Edition v0.3.0 release with Base Chat System, cell-level permission control, custom branding, and comprehensive audit logging. Community edition adds template system, base workspace management, and major database performance improvements including deadlock retry mechanisms.
Key Highlights
- Base Chat System with SQL query capabilities
- Cell-level Permission Control
- Custom Branding for enterprises
- Template System with markdown descriptions
- Database deadlock retry mechanism
- Import queue optimization with worker system
New Features
- Base Chat System
- AI Field Configuration for multiple field types
- Cell-level permission control
- Custom Branding
- Department Management
- Audit log functionality
- Template system with markdown
- Move bases between spaces
- Field duplication
- Import/Export optimization
- Deadlock retry mechanism
- Prisma migration for performance
- Multi-line field names
- Filtering by formatted date
- Recent base list
- Redis support for standalone
Full Release Notes
## 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 https://github.com/teableio/teable/pull/1448 * perf: update template admin table ui by @caoxing9 in https://github.com/teableio/teable/pull/1449 * fix: filter number editor zero do not display by @caoxing9 in https://github.com/teableio/teable/pull/1450 * fix: table export by @caoxing9 in https://github.com/teableio/teable/pull/1451 * fix: cannot delete record by @tea-artist in https://github.com/teableio/teable/pull/1452 * fix: get template cover preview url error by @caoxing9 in https://github.com/teableio/teable/pull/1454 * perf: template mobile UI by @caoxing9 in https://github.com/teableio/teable/pull/1456 * feat: basic localization for http error messages by @Sky-FE in https://github.com/teableio/teable/pull/1455 * fix: create formula error when db field type is different with default type by @caoxing9 in https://github.com/teableio/teable/pull/1458 * fix: http error for batch update by @Sky-FE in https://github.com/teableio/teable/pull/1459 * perf: template public support ssr by @caoxing9 in https://github.com/teableio/teable/pull/1460 * fix: ssr for pages by @Sky-FE in https://github.com/teableio/teable/pull/1461 * fix: duplicate table error with constraint field by @caoxing9 in https://github.com/teableio/teable/pull/1462 * fix: handle potential undefined record in grid selection hook by @Sky-FE in https://github.com/teableio/teable/pull/1464 * fix: getSelectionRecords query result correct in plugin bridge methods by @boris-w in https://github.com/teableio/teable/pull/1465 * fix: filter me in plugin chart by @boris-w in https://github.com/teableio/teable/pull/1467 * fix: duplicate date field losing data by @caoxing9 in https://github.com/teableio/teable/pull/1468 * fix: mark scope too large error by @tea-artist in https://github.com/teableio/teable/pull/1466 * perf: set max search index time limitation by @caoxing9 in https://github.com/teableio/teable/pull/1469 * feat: paste link cell use id expect title by @tea-artist in https://github.com/teableio/teable/pull/1473 * fix: create lookup field showAs option unmatch by @caoxing9 in https://github.com/teableio/teable/pull/1474 * fix: projection field key when used getRecordBySelection in plugin br… by @boris-w in https://github.com/teableio/teable/pull/1479 * fix: new options should allowed to create when enabled config by @tea-artist in https://github.com/teableio/teable/pull/1480 * fix: calendar view crash and issue with dropping unique constraint by @Sky-FE in https://github.com/teableio/teable/pull/1481 * fix: duplicate link field dbFieldName error by @caoxing9 in https://github.com/teableio/teable/pull/1478 * fix: calendar view filtering by @Sky-FE in https://github.com/teableio/teable/pull/1485 * feat: support cell-level permission control by @boris-w in https://github.com/teableio/teable/pull/1457 * fix: getCalendarDailyCollection calendarDailyCollectionQuery dbTableName by @boris-w in https://github.com/teableio/teable/pull/1486 * Fix/paste by @tea-artist in https://github.com/teableio/teable/pull/1488 * fix: aggregation with record permission in view by @boris-w in https://github.com/teableio/teable/pull/1489 * fix: missing permissions viewId args when ignoreViewQuery is true by @boris-w in https://github.com/teableio/teable/pull/1490 * fix: group points permissions by @boris-w in https://github.com/teableio/teable/pull/1491 * fix: paste user field by @boris-w in https://github.com/teableio/teable/pull/1492 * feat: add cookie secure config env by @boris-w in https://github.com/teableio/teable/pull/1493 * fix: s3 provider public bucket url by @boris-w in https://github.com/teableio/teable/pull/1496 * feat: support move base to another space by @caoxing9 in https://github.com/teableio/teable/pull/1494 * fix: hide signup buttons when disallowSignUp is configured by @boris-w in https://github.com/teableio/teable/pull/1498 * feat: multi-line field names & batch collapse by group by @Sky-FE in https://github.com/teableio/teable/pull/1504 * fix: search error location when personal view by @caoxing9 in https://github.com/teableio/teable/pull/1506 * fix: distinguish projection source when search by @caoxing9 in https://github.com/teableio/teable/pull/1507 * chore: rename some function and e2e by @caoxing9 in https://github.com/teableio/teable/pull/1471 * fix: base export config some field losing createdTime by @caoxing9 in https://github.com/teableio/teable/pull/1509 * feat: add pin resource type, view and table by @boris-w in https://github.com/teableio/teable/pull/1505 * chore: move types deps to dependencies by @caoxing9 in https://github.com/teableio/teable/pull/1512 * fix: duplicate or import base losing ai field config by @caoxing9 in https://github.com/teableio/teable/pull/1515 * feat: allow plugins to query created by the user in other statuses by @boris-w in https://github.com/teableio/teable/pull/1516 * fix: unable to upload files after uploading a large number of files t… by @boris-w in https://github.com/teableio/teable/pull/1517 * feat: improve accept locals retrieval by @boris-w in https://github.com/teableio/teable/pull/1520 * feat: ai config supplement by @Sky-FE in https://github.com/teableio/teable/pull/1518 * fix: i18n word by @caoxing9 in https://github.com/teableio/teable/pull/1522 * feat: filtering by formatted date by @Sky-FE in https://github.com/teableio/teable/pull/1523 * fix: missing theme on some pages by @boris-w in https://github.com/teableio/teable/pull/1525 * feat: base chat UI by @boris-w in https://github.com/teableio/teable/pull/1524 * feat: improve chat UI by @boris-w in https://github.com/teableio/teable/pull/1526 * fix: strip unexpected newlines and tabs when pasting by @boris-w in https://github.com/teableio/teable/pull/1528 * perf: formula editor by @Sky-FE in https://github.com/teableio/teable/pull/1531 * fix: hidden chat panel when chat disabled by @boris-w in https://github.com/teableio/teable/pull/1532 * fix: upload attachment from short link getting error file type by @caoxing9 in https://github.com/teableio/teable/pull/1534 * feat: add trialing status to the user table by @Sky-FE in https://github.com/teableio/teable/pull/1533 * fix: get error header info when request asynchronism attachment url by @caoxing9 in https://github.com/teableio/teable/pull/1538 * feat: recently base list by @boris-w in https://github.com/teableio/teable/pull/1537 * fix: delete duplicate records in user_last_visit table by @boris-w in https://github.com/teableio/teable/pull/1539 * perf: plate upgrade by @caoxing9 in https://github.com/teableio/teable/pull/1529 * chore: add primary key for all table by @tea-artist in https://github.com/teableio/teable/pull/1540 * fix: paste link cell from foreign table primary field copy by @boris-w in https://github.com/teableio/teable/pull/1541 * feat: support `Panel`、`Doshboard` duplicate by @caoxing9 in https://github.com/teableio/teable/pull/1544 * feat: optimize OpenTelemetry trace filtering by @boris-w in https://github.com/teableio/teable/pull/1545 * fix: table order repeat unexpectly by @caoxing9 in https://github.com/teableio/teable/pull/1546 * chore: update filter health endpoints of tracing config by @boris-w in https://github.com/teableio/teable/pull/1547 * fix: duplicate formula by @caoxing9 in https://github.com/teableio/teable/pull/1543 * perf: support delete unnessary sheet when import excel by @caoxing9 in https://github.com/teableio/teable/pull/1549 * fix: sqlite default id by @tea-artist in https://github.com/teableio/teable/pull/1554 * fix: rullup with a field with options fail by @tea-artist in https://github.com/teableio/teable/pull/1550 * pref: date editor supports manual input by @Sky-FE in https://github.com/teableio/teable/pull/1553 * chore: filter some tracing type and limit sampler radio by @boris-w in https://github.com/teableio/teable/pull/1555 * fix: delete department collaborators error principal types by @boris-w in https://github.com/teableio/teable/pull/1552 * fix: context plugins by @boris-w in https://github.com/teableio/teable/pull/1558 * fix: duplicate dashboard e2e by @caoxing9 in https://github.com/teableio/teable/pull/1559 * fix: calculate measure missing lookup by @tea-artist in https://github.com/teableio/teable/pull/1470 * fix: plugin won't load and eager loading context plugin by @boris-w in https://github.com/teableio/teable/pull/1562 * fix: rollup filter component unmatch by @caoxing9 in https://github.com/teableio/teable/pull/1565 * fix: can't import with src... in sdk by @boris-w in https://github.com/teableio/teable/pull/1563 * fix: date editor failed to set time in European format by @Sky-FE in https://github.com/teableio/teable/pull/1570 * fix: sort relative by @caoxing9 in https://github.com/teableio/teable/pull/1569 * feat: enhance user and attachment field business validation by @boris-w in https://github.com/teableio/teable/pull/1572 * feat: add hasFullAccess field for unlimited resource access by @boris-w in https://github.com/teableio/teable/pull/1574 * fix: switch preview mode crash after uploaded logo and cover in form … by @boris-w in https://github.com/teableio/teable/pull/1573 * fix: prevent status and position filters from overriding each other by @boris-w in https://github.com/teableio/teable/pull/1576 * fix: unable to add new options to single/multi-select fields when appending rows by @Sky-FE in https://github.com/teableio/teable/pull/1575 * fix: date field convert by @boris-w in https://github.com/teableio/teable/pull/1582 * feat: enhance base chat by @boris-w in https://github.com/teableio/teable/pull/1571 * fix: date time sort asc sql error by @caoxing9 in https://github.com/teableio/teable/pull/1586 * fix: link filter hidden field display error icon by @caoxing9 in https://github.com/teableio/teable/pull/1587 * fix: throw 403 get space permissions when deleted by @boris-w in https://github.com/teableio/teable/pull/1589 * fix: force video reload when src changes in VideoPreview component by @boris-w in https://github.com/teableio/teable/pull/1593 * fix: fail adding new record when set a unique link constraint by @caoxing9 in https://github.com/teableio/teable/pull/1595 * feat: optimise import queue by @caoxing9 in https://github.com/teableio/teable/pull/1596 * feat: optimize mobile display by @boris-w in https://github.com/teableio/teable/pull/1597 * fix: too large collapsedGroupIds parameter in GET requests by @Sky-FE in https://github.com/teableio/teable/pull/1594 * fix: import e2e error by @caoxing9 in https://github.com/teableio/teable/pull/1599 * fix: handle empty values in splitAccessToken function and add corresp… by @younocode in https://github.com/teableio/teable/pull/1600 * feat: enhance log user context by @boris-w in https://github.com/teableio/teable/pull/1601 * feat: subscription limits for database connections by @Sky-FE in https://github.com/teableio/teable/pull/1604 * fix: dashboard page crash when delete last dashboard by @tea-artist in https://github.com/teableio/teable/pull/1602 * fix: unify field naming convention to snake_case by @boris-w in https://github.com/teableio/teable/pull/1605 * fix: update field operations to use structured parameters and improve… by @younocode in https://github.com/teableio/teable/pull/1603 * fix: inplace import error column when set authority by @caoxing9 in https://github.com/teableio/teable/pull/1608 * fix: handle import job data error by @caoxing9 in https://github.com/teableio/teable/pull/1609 * perf: optimise comment link interaction by @caoxing9 in https://github.com/teableio/teable/pull/1610 * fix: view menu can be triggered even without any view permissions by @boris-w in https://github.com/teableio/teable/pull/1614 * fix: sort unexpectly when group a date field by @caoxing9 in https://github.com/teableio/teable/pull/1615 * fix: switch-link-type-error by @younocode in https://github.com/teableio/teable/pull/1607 * fix: implement ShareLinkView decorator and fix link filter query error by @younocode in https://github.com/teableio/teable/pull/1606 * fix: add filter support for lookup options in field supplement servic… by @younocode in https://github.com/teableio/teable/pull/1611 * fix: field-setting-graph-visible by @younocode in https://github.com/teableio/teable/pull/1613 * fix: improve field option handling and add e2e test for lookup option… by @younocode in https://github.com/teableio/teable/pull/1612 * feat: add Redis support to standalone example configuration by @younocode in https://github.com/teableio/teable/pull/1623 * fix: update preview URL handling in FormEditorMain and FromBody compo… by @younocode in https://github.com/teableio/teable/pull/1621 * fix: add filter for deleted fields in record calculation and enhance … by @younocode in https://github.com/teableio/teable/pull/1626 * fix: add deletedTime filter to batch and table duplicate services by @younocode in https://github.com/teableio/teable/pull/1627 * fix: display of conversation on mobile by @boris-w in https://github.com/teableio/teable/pull/1630 * fix: dynamic baseurl handling by @younocode in https://github.com/teableio/teable/pull/1629 * chore: update Docker image names in workflow configuration for commun… by @younocode in https://github.com/teableio/teable/pull/1632 * chore: rename Docker images in workflow to reflect community versions by @younocode in https://github.com/teableio/teable/pull/1641 * fix: update default public bucket name in withEnv configuration by @younocode in https://github.com/teableio/teable/pull/1640 * feat: add database deadlock retry mechanism by @boris-w in https://github.com/teableio/teable/pull/1636 * feat: script action by @Sky-FE in https://github.com/teableio/teable/pull/1628 * chore: update Docker image name for db-migrate in workflow configuration by @younocode in https://github.com/teableio/teable/pull/1644 * fix: form submission failure caused by unfiltered hidden fields by @Sky-FE in https://github.com/teableio/teable/pull/1642 * fix: get attachment mimetype from url first by @caoxing9 in https://github.com/teableio/teable/pull/1645 * feat: add host query and disable option in pre-SQL check by @boris-w in https://github.com/teableio/teable/pull/1646 * fix: remove HttpException wrapping in db-validation-error by @boris-w in https://github.com/teableio/teable/pull/1649 * refactor: restructure settings management and introduce OpenAPI endpo… by @younocode in https://github.com/teableio/teable/pull/1637 * refactor: replace Knex with Prisma for readonly database connection by @boris-w in https://github.com/teableio/teable/pull/1648 * feat: plugin submit button in plugin setting form by @boris-w in https://github.com/teableio/teable/pull/1653 * fix: correctly catch deadlock errors and retry by @boris-w in https://github.com/teableio/teable/pull/1661 * feat: createRecords add deadlock retry by @boris-w in https://github.com/teableio/teable/pull/1663 * perf: interaction of ai configuration by @Sky-FE in https://github.com/teableio/teable/pull/1650 * feat: collaborator sort order by @boris-w in https://github.com/teableio/teable/pull/1669 * fix: update save logic in FieldSetting component to check operator be… by @younocode in https://github.com/teableio/teable/pull/1660 * feat: Optimize lookupFieldId updates for linkField by @younocode in https://github.com/teableio/teable/pull/1668 * perf: update initial backoff time in retry-on-dead-lock test to 300ms by @younocode in https://github.com/teableio/teable/pull/1672 * fix: field conversion to computed field with undo/redo by @younocode in https://github.com/teableio/teable/pull/1673 * feat: separate unique violation retry from deadlock retry by @boris-w in https://github.com/teableio/teable/pull/1674 * feat: add normal html parsing support for copy and paste by @boris-w in https://github.com/teableio/teable/pull/1675 * fix: field unique index finder and add UniqueIndexService for index check by @younocode in https://github.com/teableio/teable/pull/1670 * feat: field delete with confirm dialog and plan by @younocode in https://github.com/teableio/teable/pull/1662 **Full Changelog**: https://github.com/teableio/teable/compare/v1.8.0...v1.9.0