This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+7 more
Summary
AI summaryNC_PUBLIC_URL renamed to mandatory NC_SITE_URL for self‑hosted instances.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
`NC_PUBLIC_URL` environment variable renamed to `NC_SITE_URL` and is now mandatory for self-hosted instances. `NC_PUBLIC_URL` environment variable renamed to `NC_SITE_URL` and is now mandatory for self-hosted instances. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Bookmarks are personal shortcuts to frequently used items across workspaces, documents, dashboards, etc. Bookmarks are personal shortcuts to frequently used items across workspaces, documents, dashboards, etc. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Smart Text Field turns cells into full document editors with rich formatting and embeds. Smart Text Field turns cells into full document editors with rich formatting and embeds. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Mermaid Diagrams render directly inside NocoDocs code blocks as live SVG diagrams. Mermaid Diagrams render directly inside NocoDocs code blocks as live SVG diagrams. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Timeline View now supports nine zoom levels from day to five years with smooth scrolling. Timeline View now supports nine zoom levels from day to five years with smooth scrolling. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Selection-Scoped Field Summary recomputes totals for selected rows only. Selection-Scoped Field Summary recomputes totals for selected rows only. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Expanded Record Side Panel opens records as a side panel by default, preserving grid visibility. Expanded Record Side Panel opens records as a side panel by default, preserving grid visibility. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Self-Serve Self-Hosted Licensing allows end-to-end purchase and activation of paid plans without sales involvement. Self-Serve Self-Hosted Licensing allows end-to-end purchase and activation of paid plans without sales involvement. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
Thousands and decimal separator styles on Number and Decimal fields now configurable per locale. Thousands and decimal separator styles on Number and Decimal fields now configurable per locale. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Configurable maximum import size via environment variables in self-hosting. Configurable maximum import size via environment variables in self-hosting. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Fixed multi-field editor LTAR display value unable to change issue [#13845]. Fixed multi-field editor LTAR display value unable to change issue [#13845]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Resolved failed data export when clicking download [#13828]. Resolved failed data export when clicking download [#13828]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fixed inability to use Restrict Access with password on form views [#13813]. Fixed inability to use Restrict Access with password on form views [#13813]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Resolved import issues with Duration Field [#13812]. Resolved import issues with Duration Field [#13812]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
PATCH /api/v2/tables/{tid}/records now correctly updates LinkToAnotherRecord on external PostgreSQL-backed tables [#13796]. PATCH /api/v2/tables/{tid}/records now correctly updates LinkToAnotherRecord on external PostgreSQL-backed tables [#13796]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
PATCH on external-PG-backed primary key columns now succeeds after upgrade [#13789]. PATCH on external-PG-backed primary key columns now succeeds after upgrade [#13789]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
SingleSelect description-only PATCH no longer wipes colOptions [#13787]. SingleSelect description-only PATCH no longer wipes colOptions [#13787]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Fixed row disappearance after editing cell while unrelated filter active [#13786]. Fixed row disappearance after editing cell while unrelated filter active [#13786]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Base not found after automatic update to 2026.04.3 resolved - workspace migration fixed [#13746]. Base not found after automatic update to 2026.04.3 resolved - workspace migration fixed [#13746]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Resolved issue where some uploaded images lacked thumbnails [#13769]. Resolved issue where some uploaded images lacked thumbnails [#13769]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Fixed cannot download attachment error on self-hosted v2026.05.0 [#13737]. Fixed cannot download attachment error on self-hosted v2026.05.0 [#13737]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Upgrade button in Upgrade button in Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
NC_ALLOW_PRIVATE_IP=true now functional in latest version [#13583]. NC_ALLOW_PRIVATE_IP=true now functional in latest version [#13583]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Resolved Network Healthcheck failure on Railway platform [#13516]. Resolved Network Healthcheck failure on Railway platform [#13516]. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Corrected inability to download attachments on self‑hosted v2026.05.0 (issue #13737). Corrected inability to download attachments on self‑hosted v2026.05.0 (issue #13737). Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Bugfix | Low |
Fixed missing thumbnails for some uploaded image attachments (issue #13769). Fixed missing thumbnails for some uploaded image attachments (issue #13769). Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
Full changelog
Availability
| Feature | CE / Free | Paid / Enterprise |
|---|:---:|:---:|
| Bookmarks | ❌ | ✅ |
| Smart Text Field ¹ | ❌ | ✅ |
| Mermaid Diagrams in NocoDocs | ✅ | ✅ |
| Timeline View Enhancements | ❌ | ✅ |
| Selection-Scoped Field Summary | ✅ | ✅ |
| Expanded Record Side Panel | ✅ | ✅ |
| Self-Serve Self-Hosted Licensing | ❌ | ✅ |
Bookmarks
Your work is scattered. Bookmarks bring it together.
The board you check every morning lives in one workspace. The sprint tracker is in another. A key document sits in NocoDocs, and the dashboard you report on is buried a few clicks deep somewhere else. Every switch costs time and focus.
Bookmarks are personal shortcuts to the things you use most. Pin a workspace, base, table, view, document, dashboard, workflow, or script, and reach it in one click from anywhere. Your bookmarks are private; teammates have their own.
Open the bookmark flyout from the dock on the far left. Group pins into folders, drag to reorder, and search when the list grows. Renames and colour changes sync automatically. Bookmarks to deleted or revoked items clear themselves, so your list stays clean on its own.
Bookmarks are available on the Plus plan and above on NocoDB Cloud, and on the Business plan and above on self-hosted.
Smart Text Field
Long text holds notes. Smart text holds full documents.
A meeting recap wants headings and action items. A customer-call summary wants quotes, checklists, and links. A project brief wants callouts, references, and the occasional table. Today that content drifts out of NocoDB into a separate doc, breaking the link between a record and the story behind it.
Smart text is a new variant of the Long text field that turns each cell into a full document editor, powered by the same engine as NocoDocs. Toggle it on and every cell gains rich formatting, lists, tables, code blocks, math, callouts, file attachments, and embeds (YouTube, Loom, Figma, Google Docs, NocoDB shared views, and more). Type / for the full slash command menu.
Click a Smart text cell and a side panel slides in with the editor. Resize it, switch to fullscreen, walk through rows without closing, and copy a deep link straight to the cell. Download content as Markdown, HTML, or PDF.
The grid shows a compact markdown preview, so rows stay scannable. Open the expanded record to read the full document inline, with a click-through to a fullscreen modal.
Smart text is available on NocoDB Cloud (all plans) and on self-hosted paid plans (Business and above). Requires an internal NocoDB-managed PostgreSQL base.
Mermaid Diagrams in NocoDocs
Write diagrams as text. NocoDocs draws the rest.
A request flow, a database schema, a release timeline, a decision tree: some ideas land faster as a diagram than as a paragraph. Until now, that meant drawing it elsewhere, exporting an image, and pasting it into the doc, where it went stale the next time someone needed to tweak an arrow.
Mermaid Diagrams render directly inside NocoDocs code blocks. Insert a code block, switch the language to Mermaid, and your source renders live as an SVG diagram. Flowcharts, sequence diagrams, ER diagrams, Gantt charts, and 10+ other diagram types are supported.
Each Mermaid block has three view modes (code, split, diagram) saved on the block itself, so every reader opens the doc with the view the author chose. Expand to fullscreen, download as SVG, and exports keep diagrams intact: HTML and PDF embed the rendered SVG; Markdown keeps the source as a ```mermaid fence, so GitHub and other Mermaid-compatible viewers render it for you.
Mermaid Diagrams are available on all plans, including Community Edition.
Learn more about Mermaid Diagrams →
Timeline View Enhancements
Some plans run a week. Others run five years. Timeline now scales to both.
Day-to-day and weekly planning have always worked well on Timeline. Anything longer-range pushed you to scroll, jump dates, or split the work across multiple views: a multi-year product roadmap, a five-year construction plan, a portfolio review across departments. None of them fit comfortably on a screen.
This release ships three Timeline upgrades:
- Nine zoom levels, from a single day through to a five-year overview: Day, Week, 2 Weeks, Month, Quarter, 6 Months, Year, 2 Years, and 5 Years. At Year and above, the date header stacks year, quarter, and month tiers so you keep your bearings while seeing a wider span.
- Smooth horizontal and vertical scrolling. Pan across time and records load progressively as you scroll, so you can browse months or years without jumping to a specific date. Vertical scrolling kicks in when a view has more record lanes than fit on screen.
Timeline View is available on the Business plan and above on NocoDB Cloud and on self-hosted.
Learn more about Timeline View →
Selection-Scoped Field Summary
Whole-table totals have always been one click. Subset totals are now too.
The field summary footer is great when you want totals across every row. The moment you want totals for a subset, though, you had to add a filter, read the number, and remove the filter again. Last week's records. A single customer. Records in one region. Each one was a small detour.
Selection-Scoped Field Summary rescopes the footer to whatever you've selected: drag a range of cells, or tick row checkboxes, and the footer recomputes for just that selection. Clear it to return to full-table totals. The same applies per-group when the grid is grouped.
Selection-Scoped Field Summary is available on all plans, including Community Edition.
Learn more about Field Summary →
Expanded Record Side Panel
A modal covers the grid. A side panel doesn't.
The expanded record now opens as a side panel by default, so the grid stays visible while you work on a single record. Switch between Fields, Comments, and Revision History in the panel header, or enter fullscreen for the original layout with File Preview and Discussion modes.
The expanded record side panel is available on all plans, including Community Edition.
Learn more about the Expanded Record →
Self-Serve Self-Hosted Licensing
Self-hosting now goes paid without a sales call.
Activating a paid plan on a self-hosted instance used to mean talking to sales for every step: pricing, provisioning, key delivery. That makes sense for large rollouts. It adds days of friction for teams who just want to upgrade.
Business plan self-hosted licenses can now be purchased and activated end-to-end without sales involvement. Buy from your NocoDB Cloud account at Account → Self-Hosted Licenses, complete a Stripe checkout, and paste the resulting key into your instance at Admin Panel → License. Paid features unlock immediately.
Self-hosted license activation requires NocoDB to run on PostgreSQL. SQLite and MySQL deployments must migrate before activating a license.
Purchase a license → · License activation →
Improvements & Fixes
- Thousands and decimal separator styles on Number and Decimal fields. A new Thousands and decimal separators dropdown replaces the old US-only "Show thousands separator" toggle and offers five styles: Locale (viewer's browser/system),
1,000,000,1.000.000,1 000 000, and1000000. Separators affect display only; the stored numeric value is unchanged, so sorting, filtering, formulas, and exports stay consistent. Learn more → - Rollup precision setting retired. Rollup values now inherit the underlying numeric field's separator style, so number formatting has a single source of truth.
Self-Hosting Notes
Breaking change. NC_PUBLIC_URL has been renamed to NC_SITE_URL and is now mandatory. Set it to the public URL of your instance during upgrade; otherwise shared links, OAuth redirects, and email links may not be generated correctly.
- Configurable maximum import size. Operators can now configure the maximum import payload size via environment variables instead of relying on the hard-coded default.
¹ Smart Text is available on NocoDB Cloud (all plans, including Free) and on self-hosted paid plans (Business and above). Requires an internal NocoDB-managed PostgreSQL base.
Closed requests
- [closed] 🐛 Bug: multi-field editor, LTAR display value can't change #13845
- [closed] Failed to export data when click download #13828
- [closed] 🐛 Bug: Unable to use the Restrict Access with a password function on form views #13813
- [closed] 🐛 Bug: Import Issues with the Duration Field #13812
- [closed] 🐛 Bug: PATCH /api/v2/tables/{tid}/records silently ignores LinkToAnotherRecord updates on external-Postgres-backed tables #13796
- [closed] 🐛 Bug: PATCH on external-PG-backed PK columns still fails with HTTP 422 (#13165 only fixed for internal DB) #13789
- [closed] 🐛 Bug: SingleSelect description-only PATCH wipes colOptions (regression of #13044 in v2026.04.5) #13787
- [closed] 🐛 Bug: Intermittent issue: Row disappears after editing cell while unrelated filter is active #13786
- [closed] 🐛 Bug: Some images uploaded as attachments did not generate thumbnails. #13769
- [closed] Base not found after automatic update to 2026.04.3 - workspace migration issue #13746
- [closed] 🐛 Bug: Cannot download attachment - Self-hosted (
v2026.05.0) #13737 - [closed] NC_ALLOW_PRIVATE_IP=true not working in latest version - Forbidden host on internal Docker network #13583
- [closed] 🐛 Bug: Network Healthcheck failure (Railway) #13516
- [closed] 🐛 Bug: Upgrade button in "Scripts by NocoDB" workflow reopens the Scripts modal instead of redirecting to the pricing page #13465
- [closed] 🐛 Bug: Record revision history is gone after upgrading to 0.301.5 #13341
- [closed] 🐛 Bug: Something didn't work as expected. Please try again. If the problem persists, contact support. #13331
- [closed] 🐛 Bug: French localization: Multiple sidebar/help tooltips remain in English on hover #13321
- [closed] Bug: nested parameter on BelongsTo/OneToOne links crashes with TypeError: Cannot read properties of undefined (reading 'add') #13282
- [closed] 🐛 Bug:
updateRecordsfails on link-field writes withthis.knex.applyCte is not a function#13253 - [closed] 🐛 Bug: migrate base v3, now the last version of n8n doesnt work #13215
- [closed] 🐛 Bug: [External DB] DateTime filter "is after" + "number of days ago" crashes with
TypeError: i.replace is not a function#13101 - [closed] 🐛 Bug: Meta API v3 Update Tables method cant update more than one property at once. #13004
- [closed] 🐛 Bug: [Self-hosted] 0.301.2 Unknown field unique constraint violation error when importing data only (existing table and custom primary key) #12975
- [closed] 🐛 Bug: [Self-hosted] Unable to download files from attachment fields from Base V3 #12943
- [closed] 🐛 Bug: JSON_EXTRACT errors - Failed to sync count: Invalid data type or value for column 'unknown'. #12695
- [closed] 🐛 Bug: Maximum Length Validation On DateTime field input #12694
- [closed] 🐛 Bug: Rollup does not work properly if it is from a field of formula which is calculated from other rollups #12637
- [closed] 🐛 Bug: Build failure in nocodb-sdk: dbTableFilter.delete no longer exists #12635
- [closed] 🔦 Feature: Automatically collapse empty stacks in Kanban view #10990
- [👋 For : Community or Good First Issue] 🐛 Bug: Enter Key Behavior During Japanese Input Causes Unintended Record Creation #10394
Breaking Changes
- `NC_PUBLIC_URL` has been renamed to `NC_SITE_URL` and is now mandatory.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]