Loving Tina? us on GitHub0.0k

Spit Happens: September 2026 News - Pickier media, lighter editor

ByThe TinaCMS Team

The herd has been busy again 🦙. In September we merged 112 pull requests across TinaCMS and TinaCloud and shipped 8 releases between them.

📦 TinaCMS: 3 releases

🖼️ Pickier media fields

Image fields take a new accept option. Give it an extension, a category like video or document, or a list of either, and the field refuses any other file before it uploads. The Media Manager toolbar gets a file type filter too, so you can cut a big library down to the PDFs (#7477).

If you use TinaCloud, you can rename assets in the Media Manager. On an unprotected branch the rename happens at once. On a protected branch it goes through the editorial workflow like any other change (#7423).

⚡ A lighter editor

The rich-text editor used to download the Mermaid diagram library in every editing session, even when no document had a diagram. It now waits for a Mermaid code block to appear. That takes about 640 KB, or 10%, off the editor's main bundle (#7467).

We moved the CLI to Vite 7, so an install pulls in one esbuild binary instead of two (#7556).

next-tinacms-azure stopped bundling its own copy of Next.js. We added size budgets to CI as well, so we see bloat before you download it (#7316).

🩹 Fewer snags while editing

If your session expires mid-edit, TinaCMS sends you back to the login screen. You used to get a save error that pointed at the wrong problem (#7486).

Shift+Enter line breaks survive a save (#7452).

Edits inside nested panels stay put when you navigate back (#7520).

We typed rich-text fields as TinaMarkdownContent instead of any, and <TinaMarkdown> accepts null or undefined. Pass an optional rich-text field straight in, no guard needed (#7229).

🚀 V4 keeps taking shape

V4 is still in progress. This month we added the array (#7492), object (#7535) and reference (#7533) fields.

You write a validation rule one way now (#7601). Forms get lifecycle hooks that you register by name and turn on per collection (#7622).

☁️ TinaCloud: 5 production releases

🔎 Cataloging that tells you what went wrong

Cataloging is the step where TinaCloud reads your repo so the editor can find your content.

When cataloging fails, TinaCloud shows you the real error instead of "Please try again" (#4069).

TinaCloud checks your GraphQL schema before it marks cataloging as done (#4100). If a catalog migration fails, TinaCloud can recover from it (#4120).

If a branch still won't catalog, the TinaCloud troubleshooting guide walks through the usual causes.

💅 A fresher dashboard

We gave the dashboard orange buttons and a llama on the welcome screen. The Create Project chooser works on small screens (#4181).

Dashboard forms mark required fields. They wait until you leave a field before they show an error (#4162).

Keep up with socials

We post product updates, tutorials and team news here:

Till next time 👋🦙

Last Edited: