Cookies on Notom

We use cookies and similar technologies for the things below. You can accept all, reject everything except what's essential, or pick what you're OK with.

Preferences
Theme, language, dismissals. Improves the experience but the site works without.
Improvement
Anonymous usage measurement so we can fix bugs and prioritise work.
Marketing
Lets us measure whether ads we run send people who actually use the site. We don't share personal data with advertisers.

Read our cookies policy and the privacy policy.

Loading…

Changelog

Listed below are the key changes in each update release of Notom, the newest release is listed first.

v0.34.0 - 2026-06-27

Changed

  • Inbound request spans now record the client user_agent.original attribute (via tamlib bump), so traffic can be segmented by user-agent in tracing - e.g. distinguishing search-engine crawlers from human visitors.

Fixed

  • The PostHog analytics proxy now forwards the real visitor IP and user-agent (via libposthog bump); they were previously masked, so geo, device and bot attribution in PostHog were inaccurate.

v0.33.0 - 2026-06-21

Changed

  • MCP tool permissions are now derived from the request verb rather than a hand-maintained per-RPC list; the permissions gating each tool are unchanged.

v0.32.0 - 2026-06-21

Changed

  • URL notes now open in a read-only view showing the page title, link and crawled summary, rather than an editable form; category remains editable.

v0.31.0 - 2026-06-18

Changed

  • User count reported to Central now excludes service accounts (bots), so the dashboard reflects real users.

v0.30.1 - 2026-06-17

Fixed

  • Changelog page now shows the correct product name (was a stale codename) and has a page description.

v0.30.0 - 2026-06-17

Changed

  • Public content review: the "Use with AI" page is now linked from the nav and footer on all pages; copy and SEO tidy-ups across the marketing pages, docs and policies (meta descriptions added, view labels and product name corrected, testimonial sections reframed as illustrative).

Fixed

  • Comparison hub structured data (/vs and /for) referenced the old preview domain instead of notom.app.

v0.29.0 - 2026-06-17

Changed

  • Updated workspace library dependencies to their latest versions.

v0.28.0 - 2026-06-16

Changed

  • Internal: MCP tools are now generated from the notes service methods via a shared libapi bridge (input schemas derived from the API definitions), reducing hand-maintained boilerplate. No change to the available tools.

v0.27.0 - 2026-06-16

Changed

  • Updated workspace library dependencies to their latest versions (including libcentral - Status/QueryStats pull endpoints and running pull handlers as the system service account).

v0.26.0 - 2026-06-16

Changed

  • Updated the "Connect your AI assistant" guide: Claude connectors are added on claude.ai in a desktop browser (the phone app inherits them), note the paid-plan requirement, and the "Allow" authorisation step.

v0.25.5 - 2026-06-16

Fixed

  • The AI-assistant authorisation screen is now styled and reliably completes when you press Allow, including in apps that block third-party cookies (it previously could loop on the consent step).

v0.25.4 - 2026-06-16

Fixed

  • Pressing "Allow" on the AI-assistant authorisation screen now completes the connection instead of reloading the page (the consent step lost the session on the cross-site form submission).

v0.25.3 - 2026-06-16

Fixed

  • Signing in to connect an AI assistant now completes successfully end to end - approving access returns you to your assistant connected, with your notes and to-dos available (several steps of the sign-in were failing).

v0.25.2 - 2026-06-16

Fixed

  • The "Allow access" screen when connecting an AI assistant now displays correctly (it was a blank page), so you can approve the connection and finish signing in.

v0.25.1 - 2026-06-16

Fixed

  • Connecting an AI assistant by signing in now works: dynamic client registration no longer fails for clients (Claude, ChatGPT, …) that omit optional fields, which previously returned "registration failed".

v0.25.0 - 2026-06-16

Added

  • gRPC/Connect API: a notom.notes.v1 service (GetNote, ListNotes) mounted at /api (enable with api_enable), callable over gRPC and Connect-JSON. Authenticated with a libtwad API key (X-API-Key or Authorization: Bearer twk_...) or an OAuth bearer token, running as the authenticated user in their space.
  • OpenAPI v3 spec for the API services, served at /api/openapi.json (generated from the protos, describing the Connect JSON endpoints).
  • API notes service expanded to the full set of typical interactions: CreateNote and UpdateNote (plain text in), GetNote/ListNotes, and the "one thing to do right now" via GetNext (the most-imminent open action) and CompleteNext. Available over gRPC, Connect-JSON and in the OpenAPI spec.
  • MCP server for notom at /mcp/notes (streamable-HTTP), exposing the notes operations as permission-gated tools: list_notes, get_note, create_note, update_note, get_next (the one thing to do now) and complete_next. Authenticated with a libtwad API key or OAuth bearer; tools are filtered per caller permission.
  • AI assistants (Claude, ChatGPT, Cursor, …) can now connect to notom by signing in: an OAuth 2.1 / OIDC server with dynamic client registration (enable with oauth_enable), so connecting needs only the URL https://notom.app/mcp/notes and a sign-in, no key to copy. API keys can also be scoped read-only or read-and-write and optionally pinned to one space.
  • New "AI assistants & API" settings page (/settings/api-keys): create an API key (shown once), choose read-only or read-and-write access and optionally pin it to a space, see your keys and revoke them. Shown in the account menu when api_enable is on.
  • New guide "Connect your AI assistant" (/docs/connect-ai/) with step-by-step instructions for Claude, ChatGPT and Cursor, plus a public page (/ai) explaining how to use notom from your AI assistant.

v0.24.0 - 2026-06-16

Changed

  • Updated workspace library dependencies (libcentral, libtwad) to their latest versions.

Fixed

  • Note and action creation events now always record the space the note/action belongs to. Previously a creation path with a non-space-scoped token (e.g. the PWA share-target) logged the event with a nil space, so the events log was missing the space id for some note/action creations. Space is now mandatory on these events.

v0.23.0 - 2026-06-16

Changed

  • Updated the libcentral dependency to its latest version.

v0.22.0 - 2026-06-15

Added

  • ADHD landing pages now lead with real app screenshots (capture box, notes list, Actions, and the One focus view), with light/dark variants. The marketing nav gains a "Who it's for" link and a light/dark/system theme switcher on every page, and the homepage feature grid adds a sixth card ("Capture from any app"). ADHD copy simplified and the hub now states "for ADHD brains" up top.

Changed

  • Action due times now read by calendar day - "today", "tomorrow at 9am", "Mon at 2pm" - instead of 24h countdowns ("in 20h"), so same-day items read calmly as "today" and next-day items are no longer confusingly shown as "in 20h". The defer control now always shows its "Defer" label (was icon-only on narrow screens).

Fixed

  • Cookie consent banner now renders correctly (centred card, rounded corners, dimmed backdrop) instead of falling back to the browser default (top-left, bordered). libconsent ships dialog-positioning CSS and template classes that were never wired into the app Tailwind build; they are now included.

v0.21.0 - 2026-06-15

Changed

  • SEO: robots.txt now also disallows /admin (auth-gated admin UI should not be crawled).
  • ADHD landing page (/for-adhd) restructured from one long scroll into a short hub linking four focused single-idea sub-pages (/for-adhd/capture, /no-setup, /auto-actions, /one-thing) - better for the audience it targets. Each is in the sitemap with a four-deep breadcrumb trail.

v0.20.0 - 2026-06-15

Changed

  • Telemetry: product-prefixed service.name for readable SigNoz service list.

v0.19.0 - 2026-06-15

Changed

  • Telemetry: three-tier service identity (product=notom, app=notom, instance.id).

v0.18.0 - 2026-06-15

Changed

  • Switch telemetry export to config-driven OTLP (SigNoz) via otlp.InitFromConfig.

v0.17.0 - 2026-06-15

Added

  • Defer actions: snooze an action to a preset (in 3 hours / tomorrow morning / this weekend / next Monday) or a custom date-time. Deferring drops the action off the do-now and One pickers until the chosen time, then it reappears. Presets resolve to natural anchor times (e.g. 9am) in your timezone. Available from the Actions list, the do-now card, and the One page, alongside a new inline edit form.

Changed

  • OTLP telemetry config keys renamed: grafana_endpoint_trace / grafana_endpoint_metric / grafana_endpoint_log / grafana_apikey are replaced by otlp_traces_endpoint / otlp_metrics_endpoint / otlp_logs_endpoint / otlp_headers. Operators must update config before deploy; the old keys are no longer read.

v0.16.0 - 2026-05-31

Added

  • Search: dedicated /s/{spaceID}/search page with a type-filter dropdown and URL-preserved query state (q + kind round-trip via history.replaceState, so reload / back-forward / pasted links all restore the filter).
  • One: dedicated /s/{spaceID}/one focus page showing the single most-imminent open action big, with a Done button. Hit Done and the next-most-imminent slides in via the realtime channel.
  • 13 public SEO landing pages: 6 comparisons (vs Notion / Apple Notes / Google Keep / Evernote / Obsidian / Todoist) and 7 audience pages (for ADHD / founders / freelancers / parents / writers / students / recovering Notion users). Each carries hero, pillar sections, comparison table or typical-day scenario, who-it-fits cards, FAQ + JSON-LD FAQPage, and cross-links to siblings.
  • /vs and /for index/hub pages linking to the comparison and audience pages, plus a CollectionPage + ItemList JSON-LD schema for each.
  • BreadcrumbList JSON-LD on every secondary marketing page (Home > Compare > vs Notion etc.) for SEO-friendly SERP breadcrumbs. Wired centrally via the seo plugin so adding a new marketing page only requires an entry in the URL -> leaf-name map.
  • Health providers for the SSO signin-state queue (twad) and the consent audit log table (consent), exposed via the app /health endpoint. Warn/fail thresholds defend against brute-force on /auth//login and silent draining bugs.

Changed

  • Actions page reworked: grouped view (Overdue / Today / This week / Later / No date / Completed) when the filter is broad, relative-time display ("2 days overdue", "in 3h", "tomorrow at 9am") alongside absolute date, in-place htmx capture (no full reload), source-note link on inferred actions, and per-tab counts that stay in lockstep with the displayed list. Default tab renamed from "Upcoming" to "Open" (the ?filter=upcoming URL is still accepted as an alias). The "Today" boundary uses the users timezone, not the servers, and "Week" is now strictly the next 7 days from now (no longer silently includes overdue).
  • Authenticated chrome: sticky body-scroll navbar replaces the old inner-scroll layout. Mobile nav-tab labels collapse to icons on narrow viewports (with title tooltips); avatar no longer pushed against the viewport edge.
  • Marketing-page screenshots are now theme-aware via <picture> + a MutationObserver on data-theme, so each visit fetches only the variant that matches the active theme (rather than always pulling both light and dark assets).
  • Sitemap.xml now lists 22 URLs (was 6), covering the 15 new SEO landing pages, the 2 hub pages, and /contact, with priorities reflecting editorial importance (core 0.8 / hubs 0.7 / leaves 0.6).
  • Cookie consent banner: category labels shortened ("Marketing measurement" -> "Marketing", "Remember my preferences" -> "Preferences", "Help us improve" -> "Improvement") so the dialog fits comfortably on narrow viewports. Descriptions reworded to match.
  • Em-dashes stripped from all user-facing marketing copy, page titles, the notes "Note added" toast, and inline JS comments emitted in served HTML. Voice consistency across public content.
  • All 4 existing marketing pages (index, how-it-works, pricing, contact) now use a shared footer partial; the footer gains links to /vs and /for so the new SEO landing pages are discoverable from anywhere on the site.
  • How-it-works and pricing pages each carry an inline "Coming from another tool?" cross-link to the relevant vs-* comparison pages.

Removed

  • Sidebar drawer in the authenticated chrome (drawer wrapper, {{define "menuitem"}}, {{define "sidebar"}}, and the $hideSidebar flag are all gone). The app has no side nav; the markup was unused.
  • ui/assets/robots.txt deleted. The seo plugin already serves /robots.txt directly with proper dev (Disallow: /) vs prod (real Robots) gating, so the static asset was dead and confusing.

Fixed

  • Vertical scroll on mobile was broken by a leftover body { overflow-y: hidden } rule from the previous inner-scroll layout. Rule removed; scroll restored on all viewports.
  • og:description and twitter:description now reflect each pages own description on shared links. Previously every marketing-page link shared on Twitter/LinkedIn/etc. showed the same generic site-wide blurb in the social-card preview, because the apps FnOutput was clobbering the per-page description before the seo plugins finalize() could pull it from rc.Head().
  • SSO signin self-heals stale parent-domain neighbours of the binding cookie, so signin no longer intermittently fails with "invalid state binding" after a deployment that previously set the cookie with a Domain= attribute. Same fix shape as the earlier auth-cookie self-heal.

Security

  • HSTS (max-age=1 year, includeSubDomains), X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, and X-Frame-Options: SAMEORIGIN are now set on every response via the new web.SecurityHeaders middleware. CSP is intentionally not set globally - a useful CSP needs per-app allow-lists and nonces.

v0.15.3 - 2026-05-30

Fixed

  • more fix scrolling!!!

v0.15.2 - 2026-05-30

Fixed

  • Fixed broken vertical scrolling

v0.15.1 - 2026-05-30

Fixed

  • Mobile layout fixes

v0.15.0 - 2026-05-30

Changed

  • Various layout/content tweaks

Fixed

  • Fixed login errors caused by libtwad cookie changes

v0.14.0 - 2026-05-29

Changed

  • Removed Anthropic/Claude references -> just AI
  • Slight font size increase

Fixed

  • Fixes/improvements to SEO

v0.13.0 - 2026-05-29

Changed

  • Further visual refinement

Fixed

  • Fixed SSO login error due to recent libtwad security improvements

v0.12.0 - 2026-05-29

Added

  • Large continued developments in all areas

v0.11.0 - 2026-05-04

Changed

  • minor content/labelling tweaks

v0.10.0 - 2026-05-04

Added

  • Added admin area

v0.9.0 - 2026-05-04

Changed

  • More visual tweaks

v0.8.0 - 2026-05-03

Added

  • Many changes

Changed

  • Various UI fixes/tweaks, incl. to settings and page header

v0.7.0 - 2026-04-26

Added

  • lots

v0.6.0 - 2026-04-20

Added

  • Customisable behaviour for actions added on adding URLs

v0.5.1 - 2026-04-20

Fixed

  • Various UI and URL-handling fixes

v0.5.0 - 2026-04-19

Changed

  • Tweaked mobile padding/spacing

v0.4.0 - 2026-04-19

Added

  • Added AI inference of Todo actions

Changed

  • Various UX improvements

Fixed

  • Various dark mode fixes

v0.3.0 - 2026-04-19

Added

  • Background jobs for pulling URL title/summary

v0.2.0 - 2026-04-19

Added

  • Google/MS/Apple signin support, and make Github optional

v0.1.0 - 2026-04-18

Added

  • Initial build
  • Posthog