Changelog
What's new.
Every public Klott release, newest first. Grouped by Added, Changed, Fixed, Removed. Missing something? Send a feature request.
v1.17.02026-07-10
Changed- Self-hosting is no longer promoted on the marketing site — it's a planned feature for later, so its navigation link, footer link, pricing section, guide section, and homepage feature card have been removed while it's…
- Standardized on "notes" as the word for what you write in Klott (the site variously said docs, notes, and "document editor") — "Klott(s)" stays as the branded name (HAG-1192).
- The editor's two side panels now open to the same, dynamic width on phones and tablets: they fill the screen apart from a 32px gutter that keeps the document visible behind them, and stop growing at 420px.
- The marketing navigation now switches to the hamburger menu below 900px (was 640px), so the links no longer wrap and break mid-word on tablet-width screens (HAG-1198/1199).
Fixed- With "reduce motion" turned on, the homepage no longer stays blank below the hero — every section, including the "Join the waitlist" call-to-action, now renders visibly instead of being stuck invisible (HAG-1142).
- Social link previews on the marketing pages now show the Klott card image again (homepage, pricing, guide, changelog, self-host, thank-you were missing it) (HAG-1188).
- The sitemap now points at the real document URLs instead of paths that returned 404 (HAG-1187).
- The "Request a feature" page now uses the same navigation and footer as the rest of the site — it shows the Beta tag and the "Join the waitlist" call-to-action instead of its own out-of-date bar (HAG-1191).
- The waitlist dialog now keeps keyboard focus inside itself while open and returns focus to the button that opened it when you close it (HAG-1201/1202).
- Raised the contrast of dim helper text — the editor's "Press /" hint, the pricing storage line, and the request form's "Optional" label — to meet WCAG AA (HAG-1190).
- The homepage browser-tab title no longer repeats the brand name twice (HAG-1189).
- Larger tap targets for the mobile mood switcher, menu button, logo and footer links (HAG-1200).
- The Python code block's result box no longer pairs rounded corners with a single left border (HAG-1197).
- The tag-filter tooltip in the Klotts list now reads "any"/"all" in sentence case instead of all-caps (HAG-1196).
v1.16.02026-07-10
Security- The waitlist signup limit now counts an IPv6 /64 as one client instead of each address separately, so a single machine can no longer spin through addresses to slip past the cap or pile up throwaway rate-limit files.
Added- Homepage sections can be rearranged — hover to grab the six-dot handle and drag; your order is remembered.
- Beta waitlist — a "Join the waitlist" signup (launching August) with a new append-only, rate-limited waitlist endpoint.
Changed- The marketing site now presents as a Beta: primary calls-to-action collect waitlist signups instead of opening the editor (the app stays reachable via the hero).
- New homepage hero: a large, playful animation that composes a note in Markdown live — a burst of glyphs resolves into a slash menu, a heading, and text — replacing the ASCII "KLOTT" wordmark above the fold.
- Pricing page: cleaner layout and spacing, removed the redundant comparison table, and real prices — Free $0, Boom $5, MegaBoom $10.
- The homepage mood switcher now offers only the three real writing moods (Clean, Editorial, Data) — the greyed-out "in the app" preview moods are gone.
- Removed the decorative scribble doodle from the homepage.
- On mobile, the homepage mood switcher now sits inline next to the logo like on desktop, on a solid mood- and theme-matched background.
- Homepage moods are more colorful — Editorial gains a yellow accent in dark mode, Data gets white buttons in dark mode, and the mood accent now carries through badges, links and the mood picker.
- The homepage ASCII backdrop characters now reflect the selected typeface (serif ink marks, mono terminal glyphs, clean sans), not just the mood.
- The mood pill now reads simply "Mood", and the light/dark theme switch moved into the mood dropdown.
- Homepage/self-host copy no longer uses the word "wall".
- The mood dropdown now stays open while you switch mood and theme — it closes only when you tap outside.
- Toned down the homepage moods — calmer, less saturated colour while keeping each mood distinct.
- Removed the "Let's klott" button from the mood dropdown.
- Shortened the "What is Klott" section.
Fixed- The image options toolbar now caps to the space actually available above/below the image and scrolls if it doesn't fit, so it never renders off-screen near a viewport edge (especially on mobile).
- Pressing Enter on the homepage now always opens a fresh line with the "Press /" command affordance, matching the in-app editor.
v1.15.02026-07-09
Added- Klott can now run as a native macOS app: a configurable API host lets a desktop build talk to klott.cc across origins, with the groundwork for a Tauri wrapper of the existing editor (HAG-867).
- The homepage ASCII backdrop now appears on every marketing subpage.
- Sections across the homepage now slide and fade in as you scroll.
- The closing ASCII moment at the bottom of the page now masses the Klott logo mark itself, and the Editorial and Data moods get their own background gradients.
Changed- The mood switcher is redesigned: a labelled pill with a "Let's klott" call-to-action at the bottom, and the emoji glyphs are gone.
- The pricing page's Recommended card now adapts to the active mood.
- Backend CORS is centralized into one shared helper across every API endpoint, and the native app's origin is allow-listed (no change to the web app's behavior) (HAG-867).
Fixed- Typing on the homepage no longer shifts the layout — line height stays fixed even on headings, the hero reserves its height, and the above-the-fold doodle is removed.
v1.14.02026-07-08
Added- The homepage ASCII backdrop now forms a closing "KLOTT" brand moment at the bottom of the page as you scroll down, mirroring the hero — and its character set adapts to the active mood (Boom graffiti glyphs, Editorial…
- Global doodle overlay now has an erase tool — remove individual strokes, collaborative and append-only via tombstones (HAG-34).
- `/guide` now uses the same design system + navigation as the rest of the marketing site (HAG-875).
Changed- The marketing "Editorial" mood is warmer (parchment background, warm ink).
- The mood switcher and light/dark theme toggle now appear on every marketing page via a single shared nav; the mood dropdown lists all nine app moods — Clean / Editorial / Data are selectable and the rest are shown…
- Nav "Almost free" → "Free (kind of)"; the hero subcopy now ends "…smash `/` and start writing."
- Consistent semantic landmarks (nav / header / main / footer) across all marketing routes via a shared footer; `/thank-you` is no longer a landmark-less dead end (HAG-919).
Fixed- Homepage text is selectable again — click-to-edit was collapsing an in-progress selection.
- Editing homepage copy now persists when you press Enter.
- No more dark flash when switching moods or navigating between marketing pages (the mood boot script wasn't re-running on client-side navigation).
Removed- The homepage scroll doodles and the "Reset edits" button.
v1.13.02026-07-07
Added- ASCII-art brand backdrop on the homepage — a full-page animated ASCII gradient (mood + light/dark aware) with the KLOTT wordmark massing out of the field and dispersing on scroll.
- Per-mood doodle brushes — each mood paints with its own line style, colour and texture (magical glitter-watercolor, Boom thick-marker, clean neutral pen, charcoal Pirate, confetti Party, phosphor Data, glossy…
- New "Soccer" mood — a green-pitch surface, soccer balls that fly and bounce when you type ⚽, and ⚽ list bullets.
- Fast ~3-second new-user onboarding animation — auto-types a first title, then tours the left and right panels, once per new user, on desktop and mobile.
- Full-page browse experience for klotts and klippets — a spacious library view with search, alongside the compact panel.
- Trivector-style version history — a pinned "Current version" row, an on-demand "Save version" named snapshot, relative dates (incl.
- Free / Boom / MegaBoom pricing — three storage-based tiers billed monthly through Stripe (MegaBoom unlimited), with an editable comparison.
- Full-page "Request a feature" experience at /request — a Klott-native markdown writing surface plus a mood-brush doodle canvas.
- Editable homepage — every text block, including the pricing and changelog copy, is now click-to-edit.
- Homepage light/dark theme toggle, and a mood dropdown limited to Clean / Editorial / Data (with the app's mood emoji) plus a "more moods in the app" note.
Changed- Homepage: cleaner above-the-fold with "What is Klott" moved below the fold; the product noun shifts from "docs/documentation" to "notes"; "Write loud." replaced with "Write together." / "Docs that feel alive."; the…
- Editor: side panels now share the exact page/mood background (no darker slab); muted grey text is translucent so it blends with any mood; Sort and other menus take the active mood's background; the in-app Boom mood…
- Klotts cards are uniform height with no hover left-border; creating a new document now inherits the mood of the doc you're viewing instead of resetting to custom.
Fixed- The left panel now scrolls when you have more klotts than fit the window height.
- Closed side panels no longer capture keyboard Tab focus (they're inert), and the inner panel drop-shadow was removed.
- Inserted klotts can no longer be "turned into" another block type via the 6-dot menu, and moving a section now animates smoothly to its new position.
v1.12.02026-07-05
Added- `/home` route now serves the marketing homepage, so both `klott.cc/home` and `klott.cc/homepage` work.
- Per-route Open Graph tags on the marketing pages (guide, self-host, changelog, thank-you, homepage) + a distinct title/description for /homepage so social cards and search snippets are unique per page.
Changed- Standardized the marketing hairline divider on the shared Separator primitive, and consolidated the nav wordmark into a single shared class across all marketing pages.
Fixed- The editor now confirms sign-out, account removal, account rename, and image deletion with a toast (HAG-903/905/908/911).
- Save errors no longer surface raw JavaScript exception strings — a friendly "couldn't save, retry" message shows instead, with the raw error logged to the console (HAG-869).
- Design/Options panel now fits the viewport when open on narrow (≤640px) screens — no longer clipped off the right edge with labels cut mid-word (HAG-868).
- /guide dark-mode faint helper text now meets WCAG AA contrast (HAG-884).
- Terminal-mockup "traffic light" dots recolored from red/orange to neutral grey (HAG-901).
Removed- Unused Badge UI primitive (HAG-897).
v1.11.12026-07-05
Changed- Renamed the editor's "Your Klotts" panel tab to just "Klotts".
v1.11.02026-07-05
Added- Guest writing — signed-out visitors can open the editor and start typing immediately (no forced sign-in wall).
- MariaDB migration Phase 5 (staging): auth_tokens dual-write — auth-verify.php mirrors every issued verify token (sha256 hash) into the auth_tokens table; klott_auth_verify_pair mirrors JSON prunes and self-heals…
- MariaDB migration Phase 5 (staging): token verification read-flip — klott_auth_verify_pair checks MariaDB first (stamps last_used_at), falls back to JSON on miss/error.
- Orphan content scrub modes on backfill.php (admin-gated): `{"mode":"orphans-dry-run"}` lists content_*.json files with no klotts row AND no pages_*.json reference; `{"mode":"orphans-scrub"}` moves them into…
- Marketing editor v22 — full Tiptap-parity pass on the contentEditable shim: Cmd/Ctrl+U underline, Cmd/Ctrl+Shift+X strikethrough, live markdown input rules, slash-menu live filter, edge-aware popover, DOMPurify paste…
- Mobile hamburger drawer in the marketing nav — mood-themed, 44px tap targets, closes on outside click / Escape / resize.
- Scroll-triggered fade + slide-in animations on the marketing homepage sections (intro, manifesto, features, closing CTA, footer) — respects reduced-motion.
Changed- Changelog page: each version is now a collapsible `<details>` block with the latest release open by default.
- Cleared all 148 React Compiler ESLint errors from the Next 16.2.6 `react-hooks` preset bump — subscription effects now sync via effect-local callbacks, mount flags use a shared `useMounted` (useSyncExternalStore),…
Fixed- Mobile: collapsed editor side panels no longer leak their content through the peek — inner content is hidden when collapsed, the visible sliver is reduced to 16px, and the inactive border fades.
- Image option menu no longer opens off-screen on mobile — repositioned with edge-aware (floating-ui) flip/shift and made scrollable when wider or taller than the viewport.
- Marketing homepage editor: iOS keyboard + caret no longer vanish on Enter — split-below now uses a single atomic selection write inside the same user-gesture stack.
- Mobile editor panels can now be opened + closed reliably — the closed-state peek tap no longer gets intercepted by an invisible lock toggle, tap-in-open-panel now closes on touch, and the mobile grabber pill is…
- Marketing homepage FOUC on first paint — `data-theme="concur"` (Boom) is now baked into the SSR HTML with `suppressHydrationWarning`, so first paint uses Boom's mood tokens instead of briefly flashing the default…
- Hydration mismatch warnings on /self-host, /pricing, /changelog — added `suppressHydrationWarning` to their `#klott-marketing-root` wrappers, matching /homepage (MoodBootScript stamps `data-theme` pre-hydration) (QA…
- Homepage mood copy: "ten moods" → "eight" in three places, and the stale "Cute" mood name → "Party" (renamed preset) (QA HAG-885, HAG-887).
- Version rename now shows a `Renamed to "…"` toast on success, matching the delete-version confirmation (QA HAG-878).
Security- Bumped dompurify 3.4.7 → 3.4.11 (client HTML sanitizer) — clears 3 moderate advisories (GHSA-vxr8-fq34-vvx9, GHSA-gvmj-g25r-r7wr, GHSA-cmwh-pvxp-8882); non-breaking (QA HAG-871).
Removed- Hero subtitle tagline on the marketing homepage.
v1.10.02026-06-30
Added- App side panels now bind to the active mood background via new `--klott-panel-bg-color` / `--klott-panel-bg-image` vars — magical pink-lavender gradient, plus secret / concur / chaos / go variants and six…
- EdgeStrip line is now the panel's actual inner border and slides with the panel via framer-motion `translateX`.
- Share and User-badge tab icons in `OptionsPanel`; User tab's version readout now links to `/changelog/`.
- Klott-logo loading overlay (`KlottLoadingOverlay`) shown on doc switch — preloads mood + content before revealing the editor.
- `MoodBootScript` inline `<script>` on the marketing homepage eliminates the mood FOUC on random-mood load.
- In-memory homepage edits (`window.__klottHomepageEdits`) that clear on reload but persist across in-tab navigation; `ResetEditsButton` next to the floating `MoodSwitcher`.
- kbd-badge placeholder `Press [/] for commands` on empty editable blocks; centered placeholder when the block is centered; tapping `/` opens the slash menu.
- Divider slash option now actually inserts an `<hr>`.
- `ScrollDoodles` — seven doodles with per-mood path / stroke / colour variants, animating on scroll.
- `FeatureRequestForm` modal with a markdown-aware contentEditable description editor (`MarkdownDescriptionEditor`).
- `public/api/feature-request.php` endpoint — rate-limited, posts to hello@klott.cc.
Changed- Marketing CSS rescoped to `.klott-marketing-surface[data-theme=…]` (was leaking via global `body[data-theme=…]` and breaking the editor app).
- `EditableBlock` cursor is now always the text cursor; the "Click to edit" tooltip and pencil hint are removed — native caret only.
- Hero typing animation font inherits via `font-family: inherit` — fixes wrong-font typing in Craving, Boom, Pirate, Party, Magical, and Clean.
- The "Klott" word in the hero `<h2>` now inherits font (was being forced to the wordmark style).
- Changelog version tags toned to sober hairline-rule per kind.
- Button shadow removed — was a Tailwind focus-ring resolving to a persistent shadow on link CTAs.
Fixed- Editor app theme regression caused by marketing CSS leaking via the global `body[data-theme]` selector.
- Marketing homepage FOUC on random-mood load.
- Homepage edit persistence across reloads (now in-memory, cleared on reload).
- Logo and `MoodSwitcher` trigger contrast on eight moods — Pirate, Craving, and Magical specifically called out.
v1.9.02026-06-29
Added- Marketing homepage v15 (staging): mobile hamburger drawer in the marketing nav — hosts Home / Self-host / Changelog / Let's klott on ≤640px viewports, mood-themed bg, 44px tap targets, closes on outside click /…
- Marketing homepage v3–v5: top-of-page tabs (Moods / Changelog / Self-host), top-left Klott logo linking to `/homepage/`, "Moods" explainer with 6 featured-mood cards, dedicated `/changelog/` and `/self-host/` pages,…
Changed- Self-host section reframed as "Self-host as a CMS website" — positions Klott as a deploy-it-yourself CMS alternative to Notion / Ghost / Substack; install steps retitled "Spin up your own Klott CMS in four steps".
- Marketing homepage toned down: dropped 4 of 5 sticker illustrations (kept one small smiley), removed ambient holographic glow blobs, removed holographic-gradient hero h1 in favour of solid white text with yellow…
Fixed- Marketing nav: Klott wordmark + KlottLogoMark contrast in Craving mood (`go`) — wordmark colour flipped #e85a2a → #3d1a08 (cocoa).
- Marketing nav: MoodSwitcher trigger pill text in light moods (Editorial, Pirate, Craving, Magical) now binds to the active mood vars instead of white-on-white-glass.
- Homepage EditableBlock: empty-block placeholder "Type / for commands" now renders reliably via a React overlay span tracked off `innerText.trim()`.
- Homepage EditableBlock: click-to-edit places the caret at the click point via `caretRangeFromPoint` / `caretPositionFromPoint` instead of selecting all content.
Removed- "Everything in Klott" feature grid on the marketing homepage — replaced by Moods teaser for more visual punch.
- Moods, Changelog, and Self-host sections from the homepage body and top nav — moods is now editor-only; changelog + self-host live at `/changelog/` and `/self-host/`.
v1.6.22026-06-26
Fixed- Chunk-load reload loop after deploys — service worker + cache cleared, retry counter reset per build, visible fallback "Reload" button.
v1.6.12026-06-23
Added- User and Share tabs in the options panel.
- Doc title row at the top of "This klott" outline.
Changed- Image insert defaults to Large size.
Fixed- Collapsed panel edge pill no longer clipped by transforms on the panel root.
v1.6.02026-06-23
Added- 10 MB per-klott size cap with a friendly overflow toast.
- 32px hover peek on collapsed side panels.
- "Move" action in the embed menu — reposition any embed without cut/paste.
- Doodle emoji picker expanded to ~800 glyphs with search + recents.
- Public klotts now indexed individually in the sitemap.
Changed- Hover-expand panels float over content — no more layout shift on hover.
- Global doodle is now full-viewport instead of editor-column overlay.
Fixed- 30 security hardening fixes: server-side auth required on every mutating endpoint, SVG XSS closed, tighter CORS, per-endpoint input caps.
- 24 accessibility + performance fixes: SR toast announcements, 44px min tap targets, `100dvh` layouts, virtualized admin lists.
- Insert-Klippet dialog no longer 401s.
- Bibliography sanitizer no longer strips structured APA/MLA citations.
v1.5.02026-06-13
Security- Klotts are now private by default — only the owner + verified collaborators can read.
- OG cards + sitemap no longer expose private doc titles.
- verifyTokens sha256-hashed on disk; gate/access secrets bcrypt-hashed.
Added- Custom-mood gradient picker + per-mood gradients.
- Thank-you / credits page at `/thank-you`.
- Klippets discovery tab — drag or insert shared sections into any doc.
- Desktop side-panel auto-hide + pin.
- Image placeholders (mood-tinted, tap-to-upload) + double-tap crop.
- Mood-themed lorem ipsum + mood icon on doc list rows.
Changed- Refined mood set: Party → Data (👾, Space Mono), Cute → Party (🪩, Oi).
- Toasts now use sonner-style rounded squares.
- Light-mode theme awareness for every previously dark-only component.
Fixed- Refreshing an empty klott no longer creates a fresh one.
- Mobile title-selection freeze.
- iOS input-zoom disabled.
- Bulk delete removes every selected klott.
- Latest klott sorts to the top; timestamp reflects last-edited, not last-opened.
v1.4.22026-06-12
Added- Thank-you / credits page at `/thank-you` reachable from the profile dropdown.
Changed- Default mood for new docs is Clean (was Magical).
- Doc title is now visibly larger than any H1 at every mood scale.
Fixed- **Critical**: removed a device-global "orphan recovery" that leaked ~31 unrelated docs to fresh accounts.
- Sign-out fully resets the editor and drops pending saves — no more sticky "HTTP 401 Retry" toast.
- Sign-in modal backdrop is inert (blocks background hover / clicks).
- Klotts list sort now honors the selected mode (Last edited / Title A–Z / Z–A / chars).
v1.4.12026-06-11
Added- Automatic recovery from "Failed to load chunk" errors after a deploy.
Security- verifyTokens now stored as SHA-256 hashes; existing sessions migrate transparently with no forced logout.
- Avatar / emoji writes now require verified auth.
v1.4.02026-06-10
Security- Auth required on every doc-mutating endpoint (save, gate config, collaborators, page create).
- Stored XSS closed in shared-section snapshots — DOMPurify at both write and render time.
- `javascript:` and `data:` links blocked at the schema level.
- Removed the unauthenticated `slugs.php` global slug-enumeration endpoint.
- CORS locked to klott.cc + staging.klott.cc on all POSTs.
Fixed- Mobile drag-select in the doc title no longer freezes the page.
v1.3.92026-06-10
Fixed- Mobile freeze on adjusting a word selection — drag handle now hidden while a range is selected on touch devices, breaking the selectionchange feedback loop.
v1.3.82026-06-10
Fixed- Mobile title-selection freeze regression — six defense-in-depth guards added to the drag-handle repositioning loop.
v1.3.72026-06-10
Fixed- Refresh no longer creates a new klott — a local-draft lifeboat now snapshots content on a 400 ms debounce and hydrates on empty-cache / 404 / empty-server responses.
- Cold-open resumes the last active klott even if it was never saved.
- Multiselect action bar wraps and fits on narrow mobile viewports.
v1.3.62026-06-10
Fixed- Side panels now opaque on mobile so overlaying panels don't leave the doc unreadable.
v1.3.52026-06-10
Security- Klippet DELETE no longer sends credentials in the URL — moved to request body and Authorization headers so tokens can't leak into access logs or Referer.
v1.3.42026-06-10
Added- Klippets row three-dot menu — edit title / scope or remove.
- Double-tap an image to enter pan + zoom crop mode.
- Desktop side panels auto-collapse on hover-out with a pin toggle.
Changed- Brand accent is now theme-aware — near-black in light mode, white in dark.
- Side panels are transparent so the doc canvas shows through.
- Magical mood: pink sparkles top-anchored, headings 2×.
Fixed- 6-dot block handle now opens its menu on tables, iframes, audio, doodles, and shared sections.
- `share-section.php` mutations now require verified auth (previously spoofable).
- Image-insert XSS closed via URL encoding + Tiptap node JSON payloads.
v1.3.32026-06-09
Fixed- Onboarding tour now only shows to brand-new users with zero edited klotts.
v1.3.22026-06-09
Added- Double-tap an image to crop it — pan, zoom, apply / cancel toolbar.
Fixed- Mood-themed lorem ipsum now uses the right vocabulary per mood (pirate words in Pirate, food in Craving, unicorns in Magical, etc).
v1.3.12026-06-09
Added- Desktop panels auto-collapse on hover-out with a pin toggle.
Fixed- 6-dot block handle now opens its menu on tables, iframes, audio, doodles, and shared sections.
- Magical mood background gradient + sparkles now render.
- Admin activity charts no longer flat — counters switched to append-only logs to survive flock failures on Loopia.
v1.3.02026-06-09
Added- **Mood overhaul** — 9-tile grid (8 presets + Custom), each with its own fonts, emoji set, and typing-effect burst.
- **Klippets** discovery tab — drag or hover-Insert shared sections into any doc.
- **Share-section dialog** with Private / Global scope + title.
- **Admin dashboard** at `/admin` with activity charts + timeframe picker.
- **Outline drag-reorder** in the "This Klott" tab.
- **Sign-in emoji burst** — playful mood-emoji confetti from the caret.
- Custom 404 page with a "Create a Klott" action.
Changed- List selection: hover checkbox on desktop, long-press on mobile — no more "Select mode" button.
- Slash-menu polish: "Code & data" merged, viewport-clamped submenus.
- Download menu keeps PDF / HTML / Markdown — LaTeX / BibTeX / DOCX removed.
- "Party" mood renamed to "Data" (👾, Space Mono).
- Left-panel tabs renamed: Your Klotts / Klippets / This Klott.
Fixed- Hard refresh no longer creates a new empty klott.
- Slash menu submenus stay inside the viewport on mobile.
- XSS in klippet-link insertion closed via URL-encoding + Tiptap node JSON.
v1.2.12026-06-04
Security- Deny direct GET access to JSON data files under `/api/` (previously exposed user emails + verifyTokens, raw doc state, notification inboxes).
- Lock `content.php` CORS to klott.cc + staging.klott.cc.
- Rate-limit `notify.php` — 1 send / 30 s and 5 / hour per from-email.
v1.2.02026-06-04
Added- **Google indexing prep**: dynamic sitemap, JSON-LD structured data, canonical URLs, noindex for gated docs.
- **First-visit onboarding tour** with a Skip on every step.
- **Multi-account sign-in** with a per-account switcher in the profile dropdown.
- **Email OTP verification** for sign-in via Loopia SMTP.
- **Getting-started guide** at `/guide`.
- Rename a tag across every klott from the Tags popover.
- Search inside each klott's content from Browse.
- "Experimental features" section in Settings exposes hidden flags without DevTools.
- Editable bibliography heading + drag-and-drop CSL files + multi-language locale support.
Changed- **Renamed product from Klottle to Klott** across all user-visible copy.
- **Migrated to klott.cc** — production at klott.cc, staging at staging.klott.cc.
- Slash-menu reorganized — heavy blocks (math, charts, references, advanced) nest under categorized submenus.
- Symbol + Emoji slash commands merged into one tabbed picker.
- DOCX export now renders math as native Office Math (OMML) equations instead of monospace TeX.
- `/homepage` is now a true server component — marketing visitors no longer download the editor stack.
Fixed- Silent-drop bug when switching klotts with pending edits — writes now flush before slug changes.
- OTP "first code fails, resend works" sign-in bug.
- Tooltips + popovers now stay inside the viewport.
- Page freeze when selecting text in the doc title.
- Auto-recovery on transient PHP-FPM 502/503/504 hiccups.
- PDF export now hydrates KaTeX, Mermaid, Vega, Shiki, doodle, and citation NodeViews.
- Tooltips open on touch via a 500 ms long-press.
v1.0.02026-06-01
Added- Initial public release.
- LaTeX math (KaTeX) — inline + block, equation editor with palette + autocomplete.
- Code blocks with Shiki syntax highlighting (12 languages).
- Mermaid diagrams + Vega-Lite charts.
- Citations (APA 7, MLA, Chicago, IEEE, Vancouver) + BibTeX import.
- Smart symbols + units; data tables with formulas (SUM, AVG, MIN, MAX, COUNT).
- Exports: PDF, LaTeX, Markdown, DOCX.
- Pyodide executable Python (behind a feature flag).
- Inline doodles + global doodle overlay with collab sync.
- Shared sections, tags replacing folders, live presence indicators.
Changed- Mood system bundles font + size + line-height + page-width + emoji + animation.