Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 5.99 KB

NEWS.md

File metadata and controls

57 lines (36 loc) · 5.99 KB

nocodb 0.0.9003

NocoDB compatibility

  • Targets NocoDB v2026.10.1, which fixes the uidt PATCH deadlock (nocodb#14347): a type change now takes ~0.2 s instead of hanging 60 s.
  • NocoDB v2026.10.1 needs more memory: at idle it holds ~870 MB resident, and with 1 GB of RAM it crashed with a Node heap OOM during schema configuration.

Breaking Changes

  • sync_data_src_eagerly(): n_tables_expected is replaced by tbls_expected, the titles of the expected tables. A count let the wait end while one expected table was still missing, which made rdb::reset_rdb() fail intermittently once NocoDB stopped absorbing junction tables.
  • update_tbl_col() no longer swallows HTTP 4xx errors as warnings, nor absorbs HTTP 500 on uidt changes. Both workarounds were inert on v2026.10.1; the 4xx one only hid a request NocoDB refuses by design (changing a primary key's uidt, ERR_SYSTEM_FIELD_NON_MODIFIABLE). Such requests now raise an error.

Bug Fixes

  • *_at columns are parsed with millisecond precision, so NocoDB's announced switch to 12:34:56.000+00:00 timestamps no longer turns them into NA.
  • Error messages from NocoDB v2026.x are shown again: newer versions report errors as error code plus message instead of msg, which the client silently dropped.
  • A cached access token the server no longer accepts (HTTP 401, e.g. after NocoDB lost its metadata DB) now triggers one fresh sign-in and retry instead of failing.
  • New clear_cache(). sync_data_src_eagerly() uses it while expected tables are missing, because NocoDB v2026.10.1 can keep a stale cached table list after a sync, so tbls() misses a table that exists.
  • Requests time out after 120 s instead of blocking forever on a stalled connection.
  • Non-JSON error bodies (empty, or HTML while NocoDB starts up) now produce a plain HTTP status error instead of a JSON parse error that hid the status.

nocodb 0.0.9002

Breaking Changes

  • delete_api_token(): The api_token parameter is renamed to id_api_token and now takes the token's ID (the id column of api_tokens()) rather than the raw token string. Addressing a token by its value returns HTTP 500 (verified on NocoDB v2026.05.1 and v2026.07.0; reported as nocodb#14349), and on newer NocoDB versions the raw value is not retrievable at all. Accepts an integer or character scalar, since the ID's type depends on the metadata backend.

NocoDB compatibility

  • Targets NocoDB v2026.05.1. Tested against v2026.05.1 and v2026.07.0.
  • v2026.07.0 is not currently usable for schema configuration: every PATCH changing a column's uidt deadlocks NocoDB's metadata DB for 60 s and then returns HTTP 500 with the change applied (nocodb#14347, introduced in v2026.05.2). update_tbl_col() copes, but callers converting many columns should stay on v2026.05.1 until that is fixed.
  • api_tokens() output is version-dependent: v2026.05.1 still returns a token column, while newer versions adopt show-secret-once and expose only token_prefix / token_hash. The id column is present throughout and is what delete_api_token() uses.
  • validate_user_email() now asserts that verification_token is a non-empty string. Newer NocoDB versions dropped email_verification_token from the update_user() response, so chaining the two silently produced a zero-length request path that failed with an unrelated-looking Assertion on 'path' failed error several frames away.

Bug Fixes

  • update_tbl_col(): Absorbs the spurious HTTP 500 that NocoDB v2026.05.2+ returns for every PATCH changing uidt, despite applying the change correctly (verified across SingleLineText → LongText / Email / URL / PhoneNumber and LongText → SingleLineText; a metadata-only PATCH on the same column returns 200). The 500 is only absorbed after re-reading the column and confirming the requested uidt actually took effect — a 500 that did not apply still propagates.
  • update_tbl_col(): No longer complements title and column_name from the column's current state when the caller omits them. NocoDB rejects any PATCH that carries those fields for a system field (an auto-increment primary key among them) with HTTP 422 ERR_SYSTEM_FIELD_NON_MODIFIABLE, validating on their presence rather than on whether their values changed. Echoing them back unchanged therefore turned every metadata-only update on a primary-key column into an error — long misattributed to #13165 / #13789. Setting a description on a primary-key column now succeeds. An explicit title = rename is unaffected, since the caller supplies the value in that case.

nocodb 0.0.9001

NocoDB compatibility

  • Targets NocoDB v2026.04.5. Remains compatible with v0.301.5+ where features overlap.
  • Documented LTAR V2 (NocoDB v2026.04.0) implications for update_tbl_col(): linked-record columns now use a unified junction-table architecture and render as display-value pills. The legacy Links field is deprecated but still functional.
  • Documented native PostgreSQL ENUM → SingleSelect mapping (NocoDB v2026.04.5). Manage option titles/colors/order via the NocoDB UI rather than update_tbl_col(colOptions = ...). ENUM arrays and MultiSelect-backed ENUMs are unsupported by NocoDB.

Enhancements

  • Added "UUID" to the supported uidt allowlist (NocoDB v2026.04.0 introduced auto-generated UUID fields).

nocodb 0.0.9000

Bug Fixes

  • update_tbl_col(): Only include uidt in the PATCH body when explicitly provided. Previously, uidt was always sent (falling back to cur_data), which caused NocoDB to wipe colOptions (e.g. SingleSelect dropdown options) when only updating a description.
  • Added workaround for NocoDB bug where PATCH requests on Checkbox columns fail with HTTP 500. These columns are now skipped with a warning. See nocodb/nocodb#12972