Loving Tina? us on GitHub0.0k

What's new with TinaCMS

Version 3.10.0

Released on 7/6/2026

Minor Changes

Patch Changes

  • @joshbermanssw-

    Update `@radix-ui/*` dependencies to their latest patch/minor releases and remove the unused `@radix-ui/react-checkbox` dependency

  • @joshbermanssw-

    Add a PostHog `editorial-workflow-save` event that records which save option was used in the "Save changes to new branch" modal (draft, ready for review, or publish), whether the save succeeded, and the failure reason when it didn't.

  • @joshbermanssw-

    Editorial workflow: replace the draft / ready-for-review toggle in the "Save changes to new branch" modal with a save-options dropdown (Save draft, Save (ready for review), Save and publish). The split button's main action reflects the editor's last choice (default Save draft, remembered via localStorage), and Save and publish is disabled with a tooltip on protected branches.

  • @joshbermanssw-

    move floatingtoolbar for links to a react portal

  • @joshbermanssw-

    refactor: replace hardcoded error-message string checks with shared error-identifier constants in `@tinacms/schema-tools`, so producers and consumers reference one source of truth instead of fragile `error.message.includes('...')` matching (#6777)

  • @kulesy-

    Unify folder-name validation with the document-filename and backend `relativePath` allowlist. The Create Folder modal now rejects names with disallowed characters (e.g. spaces) inline instead of letting the request fail on the backend, and a project-level `folderNameRegex` is layered on top of that baseline. The allowlist lives in a single shared constant in `@tinacms/schema-tools`.

  • @Aibono1225-

    Harden message handling in the `useEditState` hook so it validates the sender of incoming `message` events, matching the `isFromAdmin(event, trustedAdminOrigins)` check already used by `useTina`. The hook now also removes its `message` listener on unmount. Legitimate admin→preview behavior is unchanged.

Updated Dependencies

Version 3.9.4

Released on 7/1/2026

Patch Changes

  • @isaaclombardssw-

    feat(tinacms): add a back-to-collection breadcrumb on the admin editor/create pages and in the visual editor sidebar, switch the breadcrumb separator from a chevron to a slash, show only the filename (not the full folder path) in the root breadcrumb across both editors, and truncate long crumbs so the trail no longer overflows

  • @isaaclombardssw-

    Improve global collection UX: global collections now appear once in the sidebar "Site" section (globe icon) instead of being duplicated under Collections, open directly in the form instead of a popup modal, and single-document global collections skip the document list and go straight to the form. Global collections with zero or multiple documents fall through to the normal list view.

  • @Aibono1225-

    Fix Local Mode banner for absolute contentApiUrlOverride

  • @wicksipedia-

    Move `moment-timezone` to devDependencies so its timezone database no longer ships in the admin bundle. It was loaded via a non-tree-shakeable side-effect import, but production code never used the `moment.tz` API (only a unit test did). Removes ~39 KB gzip (~732 KB uncompressed) from the first admin load. No behavior change.

  • @wicksipedia-

    Remove the dead `mdx-field-plugin/plate/plugins/ui/icons.tsx` module (398 lines of unused inline-SVG icons). Its single consumed export (`EllipsisIcon`) now resolves from the shared `plate-ui/icons` module. No behavior change.

  • @18-th-

    Remove unused `add` dependency

  • @Aibono1225-

    Fix media upload/delete paths to prevent access to storage keys outside mediaRoot.

  • @wicksipedia-

    Standardize date handling on date-fns and remove the moment stack. `@tinacms/graphql` moves to date-fns v4 (collapsing the previous v2/v4 split), and `tinacms` drops `moment`, `moment-timezone`, and `react-datetime`. The date-field display label now formats with date-fns via a non-breaking moment→date-fns token converter, so existing `dateFormat`/`timeFormat` schemas (moment token syntax) keep working unchanged. Also removes the orphaned vendored react-datetime views. Net effect: the admin bundle no longer ships moment (~18.6 KB gzip smaller first load).

Updated Dependencies

Version 3.9.3

Released on 6/15/2026

Patch Changes

Updated Dependencies

Version 3.9.2

Released on 6/15/2026

Updated Dependencies

  • @tinacms/search@1.2.18

Version 3.9.1

Released on 6/5/2026

Patch Changes

  • @JackDevAU-

    Skip the filesystem-backed response cache on edge runtimes (Cloudflare Workers, Vercel Edge) where Node's `fs` API is present but unusable, which could otherwise hang concurrent identical queries. Adds a `cache` option to `createClient` to force-disable the cache.

Version 3.9.0

Released on 6/3/2026

Minor Changes

  • @JackDevAU-

    chore: remove deprecated code

  • @18-th-

    Support Tina media uploads and deletes in the editorial workflow on protected branches. Media changes now prompt for a branch, write to that branch, switch the editor to it after the media operation succeeds, and continue through indexing and pull request creation with the same workflow progress UI as content edits.

Patch Changes

Version 3.8.4

Released on 6/1/2026

Patch Changes

Updated Dependencies

Version 3.8.3

Released on 5/28/2026

Patch Changes

Version 3.8.2

Released on 5/25/2026

Patch Changes

Updated Dependencies

Version 3.8.1

Released on 5/14/2026

Updated Dependencies

  • @tinacms/search@1.2.15