# Changelog

> Every milestone and feature that shipped, newest first, from the curated Hyperclay changelog.

Source: https://clayjs.com/docs/changelog/

What changed and when. The same entries, across every product, are at [changelog.hyperclay.com](https://changelog.hyperclay.com).

### October 2026

- 2026-10-22: The page plugin is a block editor with tables, charts and boards, and Hyperclay's new Document template uses it ([docs](https://clayjs.com/plugins#page))
- 2026-10-22: In a page that loads ai-edit, press ⌘J, describe a change, and AI makes it
- 2026-10-22: Clay.effect redraws a count, total or summary after every edit, undo, redo and Live Sync change
- 2026-10-17: The message plugin turns a form into a contact form that reaches the document's owner, with bot checks handled for you ([docs](https://clayjs.com/plugins#message))
- 2026-10-16: Visitors can edit a published document and keep their changes in their own browser, with the visitor-drafts plugin ([docs](https://clayjs.com/plugins#visitor-drafts))
- 2026-10-15: Mark a selection or an open panel as this-tab-only with ephemeral, so it is never saved, synced or undone
- 2026-10-14: Keep a game, lobby or counter live between everyone in a document with the live plugin, without saving every change ([docs](https://clayjs.com/plugins#live))
- 2026-10-14: An Add button clones a new row from a template into a list with add-from and add-to
- 2026-10-14: Two people changing different items in the same JSON list both keep their change
- 2026-10-14: Edit records straight from an each= list, and open a record in a dialog with detail=
- 2026-10-12: Show a filtered, sorted or grouped copy of your records as a list with each=
- 2026-10-12: See which block another person is editing, outlined on the page
- 2026-10-11 (milestone): Replaces HyperclayJS as the library for building malleable documents ([docs](https://clayjs.com))
- 2026-10-08: The people plugin records who wrote each part of a document, with the name you set in your host app ([docs](https://clayjs.com/plugins#people))
- 2026-10-08: Its dialogs, prompts and toasts take on the page's font and colours, or a theme you set
- 2026-10-03: A page reads its own saved data as JSON, and writes it back where the host allows writes
- 2026-10-03: Edit a link in a popover beside the selection, with a button that removes it
- 2026-10-02: An edit replaced by someone else's change is kept in a notice, where you can put it back or download it
- 2026-10-02: A page can ask whether it has unsaved changes, and save and wait until the host has accepted them
- 2026-10-01: Select text in a page that loads ClayJS's ai-edit plugin, press ⌘J, and an AI agent on your computer rewrites it ([docs](https://htmlclay.com/ai-edit))

### September 2026

- 2026-09-27 (milestone): Two people editing the same paragraph both keep their words
- 2026-09-20: See who else has a document open and whether they can edit it ([docs](https://docs.hyperclay.com/docs/teams-and-sharing))
- 2026-09-20: Source-preserving saves rewrite only the part of the file that changed ([docs](https://clayjs.com/plugins))
- 2026-09-20: Open more than six synced files in the same browser ([docs](https://htmlclay.com))
- 2026-09-19: Edit text and manage list rows directly on the page, without opening the sidebar ([docs](https://clayjs.com/plugins))
- 2026-09-19: Saved files and Live Sync updates leave out the editor's temporary controls and markers ([docs](https://www.npmjs.com/package/richclay))
- 2026-09-11: Saves recover from timeouts without overwriting newer changes ([docs](https://clayjs.com/docs))
- 2026-09-11: Undo leaves a collaborator's newer edit untouched ([docs](https://docs.hyperclay.com/docs/undo-and-redo))

### August 2026

- 2026-08-29: Use one standalone script for a malleable HTML file that must work without a network connection ([docs](https://clayjs.com/offline))
- 2026-08-28: Pin a page to an exact release or follow compatible updates with a versioned script URL ([docs](https://clayjs.com/docs))
- 2026-08-18 (milestone): Talk to any file on your machine from a program you or an agent creates ([docs](https://htmlclay.com))
- 2026-08-17 (milestone): Changes merge around the part of the page you are editing, so unsaved work survives ([docs](https://clayjs.com))
- 2026-08-17: The AI that adds a CMS to a static page now finds more editable content
- 2026-08-13: An editable region stays inside its own boundaries when you clear formatting, unlink or select all ([docs](https://www.npmjs.com/package/richclay))

### July 2026

- 2026-07-19: Data stored on the page merges, so two people changing different values both keep their work
- 2026-07-19 (milestone): Build a reactive page out of HTML attributes, with the DOM itself as the store ([docs](https://www.npmjs.com/package/@panphora/sapjs))
- 2026-07-19 (milestone): A written standard for what a self-saving HTML file is ([docs](https://malleabledocument.com))
- 2026-07-19: Style a whole page, not just its forms ([docs](https://www.npmjs.com/package/mirk-interface))
- 2026-07-19: A page open in view mode updates only when a save lands, so a visitor sees finished changes
- 2026-07-16 (milestone): One script tag makes any HTML page editable and able to save itself ([docs](https://clayjs.com))
- 2026-07-06 (milestone): Select text in any editable region to get a formatting toolbar
- 2026-07-02: Edits land on an open page as they happen, instead of after a reload

### June 2026

- 2026-06-11 (milestone): Turn any element into editable content with inline controls, so a static page becomes a CMS ([docs](https://docs.hyperclay.com/docs/cms))
- 2026-06-11: Finds the editable content on any page and wires up the controls ([docs](https://docs.hyperclay.com/docs/cms))
- 2026-06-11: CMS controls include checkboxes, toggles, selects, radios, textareas, numbers and chips ([docs](https://docs.hyperclay.com/docs/cms))
- 2026-06-11 (milestone): Step backward and forward through your edits with undo and redo, in any malleable HTML file ([docs](https://docs.hyperclay.com/docs/undo-and-redo))
- 2026-06-11: Saves ignore the markup browser extensions inject, so nothing from an extension reaches your file
- 2026-06-06: Collections show new submissions on the owner dashboard as they arrive, with no reload
- 2026-06-06: Revoking someone's access to a shared site ends their live connection immediately
- 2026-06-06: Crop an image in a modal before it uploads, in any upload flow rather than only inside the CMS ([docs](https://www.npmjs.com/package/quickcrop))
- 2026-06-04 (milestone): A form-focused UI kit in one stylesheet, with controls that survive a save and reopen ([docs](https://www.npmjs.com/package/mirk-interface))

### May 2026

- 2026-05-06: An edit lands on exactly the element it was meant for

### April 2026

- 2026-04-20: Updates apply in order and your scroll position holds while the page changes around you

### February 2026

- 2026-02-24: Freeze part of a page with clay="freeze" so it never changes in the saved file ([docs](https://clayjs.com/docs))

### January 2026

- 2026-01-22: Changes stream in real time across every device you have open ([docs](https://docs.hyperclay.com/docs/hyperclay-local-app))

### December 2025

- 2025-12-28: Only the parts of the page that changed update, matched by content rather than position
- 2025-12-26: Your cursor stays where you put it while another person's edits arrive
- 2025-12-24: A view-mode toggle hides your edit-only interface, so you see the page as a visitor does ([docs](https://clayjs.com/docs))
- 2025-12-20 (milestone): Two people can edit the same page at once and see each other's changes

### November 2025

- 2025-11-20: A toast notification system built into the library ([docs](https://clayjs.com/docs))

### May 2025

- 2025-05-02: Exclude an element from the saved file with a single attribute ([docs](https://clayjs.com/docs))

### December 2024

- 2024-12-05: Show and hide elements based on page state with a conditional visibility attribute ([docs](https://clayjs.com/docs))

### November 2024

- 2024-11-23: All.js, a small DOM library covering the manipulation and utility methods a page needs

### October 2024

- 2024-10-06: Form inputs keep their values across a save automatically

### September 2024

- 2024-09-26: Pages wait for a real edit before saving, so opening one no longer writes a version
- 2024-09-20: Clay.isOwner tells a page whether the person viewing it owns it
- 2024-09-18: Onbeforesave lets you change the DOM right before a page is saved
- 2024-09-11: Dialogs can ask for typed input instead of only a yes or no

### May 2024

- 2024-05-18 (milestone): Every change saves itself, with no save button to press ([docs](https://docs.hyperclay.com/docs/how-hyperclay-works))

### January 2024

- 2024-01-02: The owner sees the editable version of a page and everyone else sees the public one ([docs](https://docs.hyperclay.com/docs/how-hyperclay-works))

### December 2023

- 2023-12-10: Save a page with Cmd+S
