Docsheaf
Changelog

What’s new in Docsheaf

Every change that has shipped, newest first — including API changes integrators need to know about.

Feature

AI Assistant for readers

Readers can ask your docs a question and get a short answer written from your published pages, with links to every page it used.

  • Turn on “Ask AI” per site in Site settings → Customize (Pro and above). It adds a button to the header, and anything typed into ⌘K search can be asked in one click.
  • Answers stream into a side panel, come only from the published pages of the version or language the reader is on, and cite each page as a numbered link. When the docs don’t cover a question, the assistant says so.
  • Readers can ask follow-up questions and rate each answer helpful or not; the conversation stays open while they read the pages it cites.
  • Insights shows how many questions were answered from your pages and lists the ones that weren’t, or whose answers readers rated unhelpful.
  • Answers are written by Claude from Anthropic, now listed as a sub-processor. Questions are stored without IP addresses, and the assistant can ask for a captcha after a few questions.
Feature

Git Sync with GitHub

Keep a space in step with a folder of Markdown on a GitHub branch, in both directions.

  • Connect a space to a repository, branch and folder from its settings with the Docsheaf GitHub App, and choose which side the first sync starts from.
  • Merges, restores and live edits on the space become commits with the author’s name, written in GitBook’s layout (one .md per page, SUMMARY.md and assets).
  • Pushes come back as edits: applied directly when only Git changed, or as a change request when both sides changed or the space is locked, so conflicts are resolved like any other merge.
  • Sync status, “Sync now” and disconnecting are in the space settings. GitLab is still on the roadmap.
Security

Passkeys

Sign in with a passkey, or use one as your second step instead of an authenticator code.

  • Add, rename and remove passkeys in Account → Security; each change sends a security email and appears in your security log.
  • “Sign in with a passkey” on the login page signs you in without a password.
  • A passkey counts as two-factor authentication, including for organizations that require it. Your first passkey or authenticator app comes with recovery codes.
Feature

Versions, languages, section groups and collections

Publish several versions or languages of a section side by side, group header tabs, and file docs sites into collections.

  • A section can hold variants — versions like v2 and v1, or languages like English and Français (Pro and above). The default is served at the section’s URL, the others under their own slug.
  • Readers switch variants from the header or above the table of contents and stay on the same page when it exists in the other variant; search covers the variant they’re reading.
  • Readers who picked a version or language are taken back to it when they open a page of the default one, with a note to switch back. Drag variants into the order the switcher shows.
  • Language variants get hreflang alternates in page metadata and sitemap.xml, llms.txt lists every variant, and Insights breaks views down by variant.
  • Sections with the same group label share one dropdown in the published header.
  • Collections are folders for docs sites in the sidebar and on the home page: drag a site onto one to file it there.
Feature

Cards, columns, math, Mermaid and OpenAPI blocks

Five new blocks for the editor and published sites, all round-tripping through GitBook-style Markdown.

  • Cards: a grid of link cards with a title, description and optional cover image.
  • Columns: two or three side-by-side columns with optional widths, stacked on small screens.
  • Math: display and inline equations in TeX, rendered with KaTeX.
  • Mermaid: code blocks in the Mermaid language are drawn as diagrams, with a live preview while editing.
  • OpenAPI reference: point at an OpenAPI 3 spec (a URL or an uploaded file) and show all of its operations, one path or a single operation, with parameters, request and response schemas and examples. Specs are refreshed every few hours.
Feature

Inline comments

Comment on a specific passage of a page instead of the page as a whole.

  • Select text and choose Comment in the toolbar (or press ⌘⌥M); the thread opens in the comments panel with the passage quoted.
  • Commented text is highlighted in the editor: click it to open its thread, or click a thread’s quote to jump to the text.
  • Commenters can comment from a read-only page. Comments never appear on published sites or in Markdown, and they don’t count as changes in change requests.
Security

Share links required on every page of unlisted sites

Opening a share link no longer unlocks the bare site address in that browser.

  • Every link on an unlisted site carries its share token, including search results, “View as Markdown” and the links in llms.txt.
  • A URL without the token shows a “Share link required” screen, and an old or regenerated token says the share link no longer works.

Feature

Restore, review requests, page comments, notifications, redirects and webhooks

A round of everyday tools for teams: undo with history and trash, ask for reviews and get told about them, discuss pages, keep old links working, and connect your own services.

  • Restore a whole space or a single page from history; in locked spaces the restore opens a change request.
  • Deleted spaces wait in Trash, in the sidebar, until you restore them or delete them for good.
  • Ask teammates to review a change request. They are notified in the app (the bell) and by email, and so are authors when their change request is reviewed or merged.
  • Comment threads on any page, with replies, @mentions, emoji reactions and resolving. Choose which activity is emailed to you under Account → Notifications.
  • Renamed and moved pages redirect from their old URLs automatically; custom redirects are in Site settings → Redirects.
  • Duplicate pages and spaces. Pages can have a cover image and can be kept out of search engines, the sitemap and llms.txt.
  • File blocks for downloads, line numbers and wrapping for code blocks, theme presets, code themes, link styles and per-section themes.
  • Signed webhooks for change requests, reviews, comments, content and publishing, with delivery history and retries.
  • Deleted pages can always be restored, from Deleted pages under the page tree — even ones removed by a merge.
  • Links to a renamed section, or to a section that is no longer the home, redirect on their own.
  • Insights lists broken links: missing pages, headings and files, and external links that are gone.
  • Export a space as Markdown (a .zip in GitBook’s layout, with its images), and import Word and HTML files as pages.
  • Comments can be edited, mentions work in reviews, and the notification bell updates live.

Feature

Docs sites own their spaces

Every space now belongs to exactly one docs site. A site’s published sections — the tabs in its header — are simply its spaces in order, and the first one is the home.

  • A new site is created together with its first space.
  • Site settings has a Spaces tab: create, rename, change a space’s URL, reorder, move a space to another site, or delete it.
  • The sidebar nests spaces under their site, and the organization home shows a panel per site.
  • Existing published sites keep their URLs: each space takes over its section’s title and slug.
  • Deleting a site moves its spaces to the trash, and moving a space is recorded in the audit log.

Breaking API change

POST /orgs/:orgId/spaces and the /sites/:siteId/sections routes are removed. Create spaces with POST /sites/:siteId/spaces, set their URL with PATCH /spaces/:id { slug } and reorder them with POST /spaces/:id/move. Site responses return `spaces` instead of `sections`.

Security

Sign-up with an emailed verification code

New accounts confirm their email with a 6-digit code before anything is created, so every account starts out verified.

  • No user, organization or session exists until the code is confirmed.
  • Codes expire after 10 minutes and allow 5 attempts; requesting a new code invalidates the previous one.
  • Only hashes of the code are stored, so a database read can’t recover it.
  • The sign-up form gained a “Check your email” step with resend and “Change email”.

Breaking API change

POST /auth/signup now returns 202 { challenge, email, expiresInMinutes } without a session. Call POST /auth/signup/verify to create the account and sign in.

Infrastructure

S3 and Cloudflare R2 storage for uploads

Images and avatars can now be stored in an S3-compatible bucket — AWS S3, Cloudflare R2 or MinIO — instead of local disk.

  • Choose the driver with STORAGE_DRIVER; configuration is checked at start-up.
  • Files are served through Docsheaf by default, or redirected to a CDN or R2 custom domain with FILES_PUBLIC_URL.
  • Objects are stored with their content type and immutable caching; file names never decide the extension.
SecurityFeature

Account security, email and audit logs

A full account-security layer, with designed transactional emails delivered over SMTP.

  • Ten branded email templates: welcome, verification, password reset and change, email change, two-factor on/off, new sign-in alerts and invites.
  • Two-factor authentication with authenticator apps and 10 recovery codes, plus an organization setting that requires it.
  • Forgot and reset password, change password, and change email with confirmation.
  • Sign-in lockout after repeated failures, new-device alerts, and a list of active sessions you can sign out remotely.
  • A personal security log and an organization audit log with filters, CSV export and configurable retention.
  • Invites can now be sent by email.
  • Account settings for profile, security, sessions, activity and API tokens.

Launch

Docsheaf launches

The first release of Docsheaf: write, review and publish documentation.

  • Organizations with six roles, invites and personal API tokens.
  • A block editor with hints, tabs, steppers, expandable sections, code, tables, images and embeds.
  • Content-addressed documents, revisions, and change requests with reviews, comments, merge rules and block-level three-way merge.
  • Docs sites with theme customization, ⌘K search, outline, page feedback and dark mode, on a path, subdomain or custom domain.
  • A Markdown version of every page, plus llms.txt, llms-full.txt and sitemap.xml.
  • Insights: page views, visitors, feedback, searches and searches with no results.
  • Markdown import with GitBook-style blocks, and a REST API described with OpenAPI.

Try what’s new

Start for free, or sign in with the demo account to explore a fully seeded workspace.