Skip to content

chore(deps): bump tinacms from 3.6.3 to 3.8.1#178

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/tinacms-3.8.1
Open

chore(deps): bump tinacms from 3.6.3 to 3.8.1#178
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/tinacms-3.8.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 14, 2026

Bumps tinacms from 3.6.3 to 3.8.1.

Release notes

Sourced from tinacms's releases.

tinacms@3.8.1

Patch Changes

  • Updated dependencies []:
    • @​tinacms/search@​1.2.15

tinacms@3.8.0

Minor Changes

  • #6771 95758a0 Thanks @​wicksipedia! - ✨ Visual editing for Astro — without React.

    TinaCMS visual editing previously required useTina(), a React hook that subscribes to admin postMessages and re-renders the page tree. That made it a hard sell for Astro: the framework is built around shipping zero JS by default, and the existing examples/astro/kitchen-sink worked around the React requirement by hydrating React inside the editor iframe — exactly the pattern Astro authors avoid.

    This release ships a vanilla-JS bridge that brings the same click-to-focus, live-update, and form-syncing UX to Astro components, Hugo templates, plain HTML — anything that can emit a data-tina-form payload per query.

    New package: @tinacms/bridge

    A ~2 KB gzipped, zero-dependency ESM bundle that speaks the existing TinaCMS admin postMessage protocol. No React in the page tree, no client islands, no hydration cost outside the editor iframe.

    Astro projects install @tinacms/astro instead and the bundled integration's middleware auto-injects everything on edit-mode responses. Direct @tinacms/bridge consumption is for non-Astro frontends:

    <head>
      <div
        data-tina-form='{"id":"…","query":"…","variables":{},"data":{}}'
        hidden
      ></div>
      <script type="module">
        import { init } from "/_tina/bridge.js";
        init();
      </script>
    </head>

    The bridge submodules:

    • init() — top-level entry. Detects iframe embedding, registers all [data-tina-form] payloads with the admin (with retry, since the bridge boots faster than the admin's listener), wires data updates and click-to-focus.
    • refreshForms() — re-scans the DOM after soft navigations (Astro view transitions, Turbo, htmx). Posts close for forms that left and open for forms that appeared.
    • tinaField() — framework-free field-id helper, identical API to tinacms/dist/react's export. Use on any element to make it click-to-edit.
    • @tinacms/bridge/preview — server-side helper for non-React frameworks. readOverlay(request, queryId) returns the unsaved form data the admin is editing, so per-route refresh endpoints can re-render with overlay data on every keystroke.

    How edits flow without re-rendering React

    The bridge takes a soft-refresh approach instead of in-place reconciliation. Mark editable regions with data-tina-island="<endpoint-url>"; on every form change the bridge POSTs the current overlay to that endpoint, the server renders the matching component to an HTML fragment, and the bridge swaps it into the live DOM. Per-island scoped — editing the hero refetches only the hero, not the whole page. The transport is JSON-over-POST so UTF-8 (em-dashes, smart quotes, emoji) and large rich-text bodies round-trip without size or charset limits.

    The protocol stays stateless — admin pushes already-resolved data to the bridge, bridge forwards it to the island endpoint, endpoint reads it via readOverlay() instead of hitting the canonical content store. Works identically against self-hosted Tina, TinaCloud, or any GraphQL endpoint. No backend changes shipped.

    tinacms: framework-free tinaField subpath

    tinaField() was already pure — just reads _content_source metadata. It's now exported from tinacms/tina-field as a standalone module so non-React frontends can import it without pulling React (and Plate, and dnd-kit, and ~50 other React deps) into their bundle. The existing tinacms/dist/react re-export keeps the public API stable.

... (truncated)

Changelog

Sourced from tinacms's changelog.

3.8.1

Patch Changes

  • Updated dependencies []:
    • @​tinacms/search@​1.2.15

3.8.0

Minor Changes

  • #6771 95758a0 Thanks @​wicksipedia! - ✨ Visual editing for Astro — without React.

    TinaCMS visual editing previously required useTina(), a React hook that subscribes to admin postMessages and re-renders the page tree. That made it a hard sell for Astro: the framework is built around shipping zero JS by default, and the existing examples/astro/kitchen-sink worked around the React requirement by hydrating React inside the editor iframe — exactly the pattern Astro authors avoid.

    This release ships a vanilla-JS bridge that brings the same click-to-focus, live-update, and form-syncing UX to Astro components, Hugo templates, plain HTML — anything that can emit a data-tina-form payload per query.

    New package: @tinacms/bridge

    A ~2 KB gzipped, zero-dependency ESM bundle that speaks the existing TinaCMS admin postMessage protocol. No React in the page tree, no client islands, no hydration cost outside the editor iframe.

    Astro projects install @tinacms/astro instead and the bundled integration's middleware auto-injects everything on edit-mode responses. Direct @tinacms/bridge consumption is for non-Astro frontends:

    <head>
      <div
        data-tina-form='{"id":"…","query":"…","variables":{},"data":{}}'
        hidden
      ></div>
      <script type="module">
        import { init } from "/_tina/bridge.js";
        init();
      </script>
    </head>

    The bridge submodules:

    • init() — top-level entry. Detects iframe embedding, registers all [data-tina-form] payloads with the admin (with retry, since the bridge boots faster than the admin's listener), wires data updates and click-to-focus.
    • refreshForms() — re-scans the DOM after soft navigations (Astro view transitions, Turbo, htmx). Posts close for forms that left and open for forms that appeared.
    • tinaField() — framework-free field-id helper, identical API to tinacms/dist/react's export. Use on any element to make it click-to-edit.
    • @tinacms/bridge/preview — server-side helper for non-React frameworks. readOverlay(request, queryId) returns the unsaved form data the admin is editing, so per-route refresh endpoints can re-render with overlay data on every keystroke.

    How edits flow without re-rendering React

    The bridge takes a soft-refresh approach instead of in-place reconciliation. Mark editable regions with data-tina-island="<endpoint-url>"; on every form change the bridge POSTs the current overlay to that endpoint, the server renders the matching component to an HTML fragment, and the bridge swaps it into the live DOM. Per-island scoped — editing the hero refetches only the hero, not the whole page. The transport is JSON-over-POST so UTF-8 (em-dashes, smart quotes, emoji) and large rich-text bodies round-trip without size or charset limits.

    The protocol stays stateless — admin pushes already-resolved data to the bridge, bridge forwards it to the island endpoint, endpoint reads it via readOverlay() instead of hitting the canonical content store. Works identically against self-hosted Tina, TinaCloud, or any GraphQL endpoint. No backend changes shipped.

    tinacms: framework-free tinaField subpath

... (truncated)

Commits
  • a405781 Version Packages (#6852)
  • 8cbed24 Version Packages (#6791)
  • 723632b Fix/nested rich text getfieldgroup crash (#6694)
  • 9e7eba9 feat(tinacms): pass branch on all TinaMediaStore cloud calls (#6765)
  • 95758a0 feat(@​tinacms/astro): vanilla-JS visual editing bridge for non-React frontend...
  • e537950 Version Packages (#6748)
  • 3da4588 fix: show user-facing alerts for folder and file actions (#6770)
  • 3e4dcc7 Fix HTML code block language tag from 'htmlbars' to 'html' (#6652)
  • b37187d 🐛 Bug - Popover panel hidden under other content (#6761)
  • 84ec7ad TinaCMS Colour Picker Swatch - change html element and type (#6746)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [tinacms](https://github.com/tinacms/tinacms/tree/HEAD/packages/tinacms) from 3.6.3 to 3.8.1.
- [Release notes](https://github.com/tinacms/tinacms/releases)
- [Changelog](https://github.com/tinacms/tinacms/blob/main/packages/tinacms/CHANGELOG.md)
- [Commits](https://github.com/tinacms/tinacms/commits/tinacms@3.8.1/packages/tinacms)

---
updated-dependencies:
- dependency-name: tinacms
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels May 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants