CHANGELOG.md
Rama main · réplica de lectura del repositorio original.
# Changelog
All notable changes to this project are documented in this file. The project
follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Entries
after 1.0.0-beta.1 are generated by release-please from Conventional Commit PR
titles.
## [1.0.0-beta.7](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2026-11-09)
### Features
* 👥 **collab:** choose whether a public link shows comments and activity ([7a62bb5](https://github.com/bobbyquantum/inkweld/commit/7a62bb59f126a9786696fc7656a3fd7c620e8bbf))
* 👥 **collab:** tidy Collaboration settings, with a switch for public links ([#1742](https://github.com/bobbyquantum/inkweld/issues/1742)) ([e484934](https://github.com/bobbyquantum/inkweld/commit/e484934250b8750ed506739d35c61d5844006ef5))
* 🤖 **mcp:** agents can read, edit and roll time systems and random generators ([#1743](https://github.com/bobbyquantum/inkweld/issues/1743)) ([c2a2218](https://github.com/bobbyquantum/inkweld/commit/c2a2218026433252da0ced0907282c461bb884c2))
### Bug Fixes
* 👤 **account:** messages and user profiles show fresh data each time you open them ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 🎛️ **admin:** admin pages show the current settings each time you open them, not what they showed last time ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 🔐 **auth:** the approval page names the account you just signed up with, not an earlier one ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 🔐 **auth:** the forgot-password and lost-passkey pages show their form again on a second visit, not "check your email" ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 👥 **collab:** opening Activity or another page through a public link no longer reloads the project or shows the wrong tab ([7a62bb5](https://github.com/bobbyquantum/inkweld/commit/7a62bb59f126a9786696fc7656a3fd7c620e8bbf))
* 👥 **collab:** public links work when the app is served from a different address than the server ([#1736](https://github.com/bobbyquantum/inkweld/issues/1736)) ([b41fb98](https://github.com/bobbyquantum/inkweld/commit/b41fb98e188415730a639715ed875007f46d0864))
* 👥 **collab:** read-only viewers can scroll documents, and public links show media thumbnails and no publishing page ([#1751](https://github.com/bobbyquantum/inkweld/issues/1751)) ([aaf19ee](https://github.com/bobbyquantum/inkweld/commit/aaf19eec7a7e4a0d87cec6906bf65b08f0983a63))
* 📝 **editor:** read-only documents no longer offer to add comments ([7a62bb5](https://github.com/bobbyquantum/inkweld/commit/7a62bb59f126a9786696fc7656a3fd7c620e8bbf))
* 🏡 **ingress:** don't register the service worker behind Home Assistant ingress ([#1739](https://github.com/bobbyquantum/inkweld/issues/1739)) ([1676356](https://github.com/bobbyquantum/inkweld/commit/167635624d3788d58fc7a2f7da086be459c1daca))
* 🤖 **mcp:** agents are warned about calendars and dice buttons that won't work ([#1748](https://github.com/bobbyquantum/inkweld/issues/1748)) ([d25a5d3](https://github.com/bobbyquantum/inkweld/commit/d25a5d3d069cc4e581218e60f313293e256155d6))
* 🤖 **mcp:** stop the handler tests leaking throwaway tools into other test files ([#1740](https://github.com/bobbyquantum/inkweld/issues/1740)) ([e805db4](https://github.com/bobbyquantum/inkweld/commit/e805db40b65993c0e213c0aaaef00800a391c11c))
* 🔀 **profiles:** "Connect to sync" moves your Browser profile to sync instead of making another Browser profile ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 🔀 **profiles:** moving a Browser profile other than your first to a server brings its own projects, documents and images ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 🚀 **setup:** adding a profile after leaving "Connect to sync" part-way makes a new profile instead of resuming the old upgrade ([#1746](https://github.com/bobbyquantum/inkweld/issues/1746)) ([3e42b23](https://github.com/bobbyquantum/inkweld/commit/3e42b23eee4746433e8de95acfc5f7c4b55c7fe2))
* 📅 **timeline:** a month can hold more days than the others, not only fewer ([#1749](https://github.com/bobbyquantum/inkweld/issues/1749)) ([0f3e642](https://github.com/bobbyquantum/inkweld/commit/0f3e6420f1f8ab2187f7ff6384690f1b093a3480))
## [1.0.0-beta.6](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2026-11-06)
### Features
* 👥 **collab:** share a live, read-only view of a project with a public link (thanks [@pixo2000](https://github.com/pixo2000)) ([e5d0440](https://github.com/bobbyquantum/inkweld/commit/e5d0440392b549fe1ad9699d737a4a82dbd0890b))
* ⚙️ **settings:** keep the No AI / Allow AI choice on your account ([#1734](https://github.com/bobbyquantum/inkweld/issues/1734)) ([786fbb8](https://github.com/bobbyquantum/inkweld/commit/786fbb81c416893be45a1fdc91baa4a748f5cdea))
### Bug Fixes
* 🤖 **mcp:** stop marking update tools destructive ([#1728](https://github.com/bobbyquantum/inkweld/issues/1728)) ([b74b74b](https://github.com/bobbyquantum/inkweld/commit/b74b74b5acd1e5ea1c3a4f72d60263a901b4517f))
* 🤖 **mcp:** tags added over MCP now show in the app, with icons and colours ([#1732](https://github.com/bobbyquantum/inkweld/issues/1732)) ([a6d907e](https://github.com/bobbyquantum/inkweld/commit/a6d907e1bac0d8c4bba0607e2c9ab675c92536f3))
* 🌳 **project-tree:** swipes and drags no longer collapse folders, and a folder you drop into expands ([#1726](https://github.com/bobbyquantum/inkweld/issues/1726)) ([a0046f9](https://github.com/bobbyquantum/inkweld/commit/a0046f9d851c2638ac8aa7ab34579e5303dced82))
## [1.0.0-beta.5](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2026-11-04)
### Bug Fixes
* 🛡️ **security:** fix security issues in sync, sign-in and accounts ([#1723](https://github.com/bobbyquantum/inkweld/issues/1723)) ([6b39be7](https://github.com/bobbyquantum/inkweld/commit/6b39be76e00801dfc93591897fac007d1e5f947a))
## [1.0.0-beta.4](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2026-11-03)
### Features
* 🔐 **auth:** add OIDC sign-in and OIDC-only mode ([#1712](https://github.com/bobbyquantum/inkweld/issues/1712)) ([772d686](https://github.com/bobbyquantum/inkweld/commit/772d686ce7b34f6bf046b08b01c66080e3660ec6))
* 🤖 **mcp:** let AI agents draw on canvases and upload images ([#1704](https://github.com/bobbyquantum/inkweld/issues/1704)) ([24e8de7](https://github.com/bobbyquantum/inkweld/commit/24e8de74b5b459b3daa19cb9d43a8ba922f0b24b))
* 🤖 **mcp:** let AI agents see a canvas, and add typography and effects ([#1705](https://github.com/bobbyquantum/inkweld/issues/1705)) ([96fa7cf](https://github.com/bobbyquantum/inkweld/commit/96fa7cfae9968708acc1ce85a70b054785af4bef))
### Bug Fixes
* 🤖 **mcp:** disconnect apps when an account is disabled or its password is reset ([#1706](https://github.com/bobbyquantum/inkweld/issues/1706)) ([5a9e7f5](https://github.com/bobbyquantum/inkweld/commit/5a9e7f5bee82c8e985055437d8089e8a780bd493))
* 📚 **publish:** make PDF export work offline and stop it blocking offline reloads ([#1698](https://github.com/bobbyquantum/inkweld/issues/1698)) ([5de8465](https://github.com/bobbyquantum/inkweld/commit/5de84659f70e2fcfef174279931042c12f0f58b8))
* show the latest releases in About → Changelog ([#1697](https://github.com/bobbyquantum/inkweld/issues/1697)) ([17b1a89](https://github.com/bobbyquantum/inkweld/commit/17b1a89adfe5984c43c812344ef00489c1171540))
## [1.0.0-beta.3](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2026-10-29)
### Features
* 🤖 **mcp:** let browser AI agents read and edit one section of a document ([#1694](https://github.com/bobbyquantum/inkweld/issues/1694)) ([f4922ee](https://github.com/bobbyquantum/inkweld/commit/f4922ee831024d83e3dd2c18d9f845f824820dd1))
* 🤖 **mcp:** read and edit one section of a document ([#1693](https://github.com/bobbyquantum/inkweld/issues/1693)) ([e965d07](https://github.com/bobbyquantum/inkweld/commit/e965d079c91c11e807c2c59259e15380f015256b))
### Bug Fixes
* 💭 **comments:** show comment authors' names and avatars instead of "Unknown" ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* 📝 **editor:** show images that use media:// references ([#1688](https://github.com/bobbyquantum/inkweld/issues/1688)) ([dfa2d6a](https://github.com/bobbyquantum/inkweld/commit/dfa2d6ab258263ff9f5644a114c14cddbbfba89e))
* 🌐 **i18n:** show relative dates such as "3 days ago" in your language, never "Invalid Date" ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* keep accented letters in project URLs and show form errors under their fields ([#1690](https://github.com/bobbyquantum/inkweld/issues/1690)) ([9e81588](https://github.com/bobbyquantum/inkweld/commit/9e81588414515da380b37cba194c44fa348dee89))
* 🌳 **project-tree:** drag and drop can only nest items inside folders ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* 📁 **project:** move a renamed project's documents, and start new projects empty ([#1695](https://github.com/bobbyquantum/inkweld/issues/1695)) ([769e997](https://github.com/bobbyquantum/inkweld/commit/769e99735d8d29ffe8f6a20f670b35815351a052))
* 📚 **publish:** deleting a shared published file now takes down its public link too ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* 📚 **publish:** keep accented letters in the names of downloaded books and media ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* 📚 **publish:** show the server's reason when a published file upload is refused ([#1691](https://github.com/bobbyquantum/inkweld/issues/1691)) ([1e0b72a](https://github.com/bobbyquantum/inkweld/commit/1e0b72a7efa3d2dadf09973a7f7b42e2e4ce2ba5))
* 🔄 **sync:** stop self-hosted servers silently dropping document edits ([#1689](https://github.com/bobbyquantum/inkweld/issues/1689)) ([081c095](https://github.com/bobbyquantum/inkweld/commit/081c095522d8198a998dd0bc8fdd03592dc40e21))
## [1.0.0-beta.2](https://github.com/bobbyquantum/inkweld/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2026-10-27)
### Features
* 👷 **ci:** put each scope's emoji in the release notes ([#1682](https://github.com/bobbyquantum/inkweld/issues/1682)) ([3dfecf1](https://github.com/bobbyquantum/inkweld/commit/3dfecf1dd3f077ea1aa2ba421dd864671f4d7cf4))
* 🤖 **mcp:** create, edit and delete worldbuilding schemas ([#1677](https://github.com/bobbyquantum/inkweld/issues/1677)) ([250d5ad](https://github.com/bobbyquantum/inkweld/commit/250d5adb2e22473f2c893e0e36ff6be1faae8d71))
* 🌳 **project-tree:** open a context menu on the empty space below the tree ([#1673](https://github.com/bobbyquantum/inkweld/issues/1673)) ([f3225bd](https://github.com/bobbyquantum/inkweld/commit/f3225bdddb325c5485678b6d40f9069104a81347))
* show the version, update type and highlights when an update is ready ([#1680](https://github.com/bobbyquantum/inkweld/issues/1680)) ([6b8b56f](https://github.com/bobbyquantum/inkweld/commit/6b8b56f363afa1476e6f5206cfe7d001419d42c7))
### Bug Fixes
* 🏠 **home:** show projects created on another device without a reload ([#1671](https://github.com/bobbyquantum/inkweld/issues/1671)) ([09d82e1](https://github.com/bobbyquantum/inkweld/commit/09d82e1769cadcc9bba480e17fb9b3e1eb5969fb))
* 🤖 **mcp:** write nested worldbuilding fields on elements created over MCP ([#1679](https://github.com/bobbyquantum/inkweld/issues/1679)) ([b440a8b](https://github.com/bobbyquantum/inkweld/commit/b440a8bd15431badd7b455809ede70622bce1df0))
* ⚙️ **settings:** let the templates list scroll on short screens ([#1678](https://github.com/bobbyquantum/inkweld/issues/1678)) ([f2e3bf9](https://github.com/bobbyquantum/inkweld/commit/f2e3bf93115222f6ba66b9e0193e2686658c1c8d))
* 🚀 **setup:** keep the username when upgrading a Browser profile to Cloud Sync ([#1670](https://github.com/bobbyquantum/inkweld/issues/1670)) ([bbf06d3](https://github.com/bobbyquantum/inkweld/commit/bbf06d3c159c916c7e1b2f8921a601aae320750b))
* 🌍 **worldbuilding:** re-authenticate worldbuilding sockets after a reconnect ([#1675](https://github.com/bobbyquantum/inkweld/issues/1675)) ([3a57444](https://github.com/bobbyquantum/inkweld/commit/3a574448a2334ba39994539da89b77b2e99cab87))
## [1.0.0-beta.1] - 2026-10-23
The first beta of Inkweld 1.0, a collaborative platform for writing fiction
and building the worlds it happens in. Inkweld is feature complete for 1.0;
the betas focus on testing and bug fixing. From this release on, the aim is
that every release upgrades automatically from any earlier one, with no export,
reset or manual migration. Please report problems on the
[issue tracker](https://github.com/bobbyquantum/inkweld/issues).
### Writing
- Rich-text editor with tables, images, links, find and replace (Ctrl/Cmd+F),
project-wide full-text search (Ctrl+Shift+F), word count and reading time,
zen mode, and optional Markdown typing shortcuts.
- Hierarchical project tree of folders, documents and worldbuilding elements,
with drag and drop, tags, pinned items, a quick finder and breadcrumbs.
- Scene and note roles for prose, with corkboard and outline views of folders.
- Conversation scenes: write a scene as speech bubbles with each speaker's
portrait and name, and read it back as a screenplay-style script.
- Named and automatic snapshots to restore earlier versions of a document.
- Comments with threaded discussions, and documents that pop out into their
own window.
- Random name, place and prompt generators.
### Collaboration and sync
- Real-time collaborative editing (Yjs) with live presence, cursors and
viewer/editor access levels for collaborators.
- Offline-first: projects are kept on the device and sync when a connection
returns. A Browser profile needs no server or account at all, and its
projects can be moved to a server later (signing in with a passkey or a
password).
- Profiles for several servers or accounts on one device, each with its own
isolated local data.
- Cloud Sync profiles that mirror projects to the user's Dropbox, Google Drive
or Nextcloud, with multi-author support.
- Fast "Sync All" that only transfers documents that changed.
- Per-device project activation, writing statistics, an activity feed and a
GitHub-style activity grid on public profiles.
### Worldbuilding
- 29 built-in element types (characters, locations, factions and more) and 54
relationship types.
- Project templates for worldbuilding, tabletop RPGs and scripts, picked by
what you are making. The tabletop RPG template adds element types for play
(player characters, NPCs, monsters, quests, magic items and more), and a
demo project contains a complete illustrated adventure.
- Template (schema) editor that edits a live preview of the element form.
- Per-element schema copies: customise one element's fields in place, and
pull in later changes to the shared template when you choose.
- Relationship fields and an interactive relationship graph.
- Timelines with custom time systems, eras and events, built automatically
from element date fields.
- Canvases for maps and boards: layered drawing, pins and regions linked to
elements, crop frames and live project covers rendered from a canvas.
- Media library with tagging, filtering and image paste, and optional AI image
generation from several providers.
### Publishing
- Publish plans that export to EPUB 3 (EPUBCheck-clean, with Kindle-friendly
fallbacks), PDF (Typst), HTML, Markdown and a multi-page website with
worldbuilding pages.
- Typography settings with bundled fonts, chapter heading styles, typographic
quotes, an embedded cover and a generated table of contents.
- Two-column page layouts, covers that fill the page edge to edge, and
sourcebook-style worldbuilding entries with images in PDF and HTML.
- Project archives (`.inkweld.zip`) for export, import and backup.
### Accounts and security
- Passwordless sign-in with passkeys (WebAuthn) by default. Magic-link
recovery by email, password sign-in and GitHub OAuth can be turned on.
- User approval workflow, rate limiting on auth endpoints, CSRF protection and
a Content-Security-Policy.
- Self-service account deletion, in the app and on a public `/delete-account`
page.
### AI (optional, off by default)
- AI stays off unless the server admin turns off the AI kill switch **and**
the user chooses Allow AI. Each user's No AI / Allow AI choice is offered on
first run and in Settings, and defaults to No AI.
- MCP server so AI assistants can read and edit projects, with OAuth 2.1
(dynamic client registration) and per-project consent.
- WebMCP: AI agents built into the browser can use Inkweld with the signed-in
user's access, in Browser, Cloud Sync and server profiles alike.
### Integrations
- Home Assistant app support: runs behind Home Assistant ingress and signs in
the Home Assistant user automatically.
- Installable web app (PWA) on desktop and mobile. The app offers to install
itself on the home screen and in Settings, with Add to Home Screen steps on
iPhone and iPad.
### Administration
- Admin settings for users, AI providers, email and site configuration.
- Branding: custom login and home backgrounds, privacy policy and terms pages
with optional acceptance, and custom HTML injection for analytics or consent
tools.
- Per-user sync capacity (storage quotas), measured always and enforced when
enabled.
- Interface available for translation (Transloco), with English as the source
language.
### Self-hosting
- Single Docker image (`ghcr.io/bobbyquantum/inkweld`) or a native Bun server
with SQLite and per-project LevelDB storage.
- Cloudflare Workers deployment with D1, R2 and Durable Objects.
- Interactive deployment wizard (`bun run deploy`).