Skip to content

Releases

v1.2.0

Choose a tag to compare

@kyledickey kyledickey released this 05 Aug 08:02
f3c4433

v1.2.0 - August 5, 2026

Added

  • Add passwordless sign-in and sign-up with six-digit email codes delivered
    through Resend, including resend cooldowns and a refreshed authentication
    flow.
  • Add a redesigned account menu and settings dialog for plan details, billing
    links, theme selection, sign-out, and permanent account deletion.
  • Add a responsive entries menu that groups entries by month, supports
    pinning, and provides a focused empty state for starting the first entry.
  • Add a Clerk CSV migration command and beta test runner that preserve user
    IDs, document ownership, Stripe customers, and Plus subscriptions.
  • Add a deployment guide for cutting existing Clerk installations over to
    Better Auth and Resend.

Changed

  • Replace Clerk with Better Auth and HTTP-only, database-backed sessions
    shared directly between the web app and API.
  • Modernize Stripe billing around Better Auth's Stripe plugin and Stripe SDK
    22, with PostgreSQL as the subscription entitlement source of truth.
  • Rebuild the web interface on coss and Base UI with Tailwind CSS 4, updated
    design tokens, accessible overlays and controls, and responsive behavior.
  • Redesign the document editor with a quieter autosave indicator, a wider
    writing surface, inline title editing for Plus users, controls that fade
    while typing, and consolidated typography, privacy, entry details, and
    deletion controls.
  • Make rendered Markdown links interactive with Cmd/Ctrl-click while
    keeping unsafe URL schemes non-clickable.
  • Refresh the landing, pricing, billing, policy, error, and entry pages to
    match the new application shell and component system.
  • Move database setup to checked-in Drizzle migrations and automatically
    recognize legacy Compose databases that predate the migration journal.
  • Update local development, Docker, deployment, architecture, API, security,
    data model, and migration documentation for the new auth, billing, database,
    and web application flows.

Fixed

  • Handle existing Diary databases that have the original tables but no
    Drizzle migration table without attempting to recreate their schema.

Security

  • Hash one-time sign-in codes at rest, limit them to five attempts and a
    ten-minute lifetime, and rate-limit code delivery to once per minute.
  • Use secure, HTTP-only cookies in production with trusted-origin and CSRF
    checks at the Better Auth boundary.

Removed

  • Remove Clerk runtime dependencies, middleware, webhooks, bearer-token
    plumbing, and free-plan Stripe subscriptions for new users.
  • Remove the legacy sidebar, standalone feedback dialog, Product Hunt embed,
    and superseded shadcn/Radix UI implementations.

v1.1.0

Choose a tag to compare

@kyledickey kyledickey released this 27 Jul 19:13
61c2d13

v1.1.0 - July 27, 2026

Added

  • Add Markdown live preview for headings, lists, blockquotes, bold, and
    italic while preserving Diary's distraction-free writing surface.
  • Add Cmd/Ctrl+B and Cmd/Ctrl+I formatting shortcuts and Markdown-aware
    continuation for lists and blockquotes.

Changed

  • Replace the Plate and Slate editor stack with a focused CodeMirror Markdown
    input.
  • Use Markdown as the editor content format and lazily convert recognized
    legacy Plate JSON when an entry is opened, without rewriting stored content
    until the entry body is edited.

Fixed

  • Preserve user-authored text that resembles Plate JSON after saving so the
    document does not remain dirty or repeatedly autosave.

v1.0.0

Choose a tag to compare

@kyledickey kyledickey released this 26 Jul 03:26
1e2cc54

v1.0.0 - July 25, 2026

Added

  • Add shared contracts and database packages for consistent validation and
    types across the web app and API.
  • Add Docker images, a local Docker Compose stack, and Railway deployment
    configuration for the web app, API, and PostgreSQL.
  • Add automated tests for document encryption, document access, and billing.

Changed

  • Migrate the web app from Next.js to TanStack Start and React while
    preserving the existing Diary experience.
  • Move browser API interactions to TanStack Query with shared Zod contracts.
  • Rebuild the API around focused authentication, user, document, billing, and
    webhook modules with structured errors.
  • Consolidate development into a Bun and Turbo monorepo with one lockfile,
    shared TypeScript configuration, and root workspace commands.
  • Redesign the landing page and move analytics to Visitors.now.
  • Standardize local ports on 3000 for the web app, 8080 for the API, and
    5432 for PostgreSQL.

Security

  • Scope document access and mutations to the authenticated owner.
  • Encrypt new entry content with AES-256-GCM and automatically upgrade legacy
    AES-256-CBC content when it is saved.
  • Create Stripe billing portal sessions from the authenticated user's stored
    customer ID.

Removed

  • Remove the abandoned mobile app.
  • Remove LogSnag and the obsolete Fly.io deployment configuration.

v0.2.7-beta

Choose a tag to compare

@kyledickey kyledickey released this 28 Jul 02:59

Added

  • Add a title edit feature to the entry page. (28e03cd)
  • Add the one daily entry limit for Starter plan users. (28e03cd)

Changed

  • Change the entry page to use the new title edit feature. (28e03cd)
  • Change the WS endpoint to use the new title edit feature. (28e03cd))
  • Change the "Coming Soon" features on the pricing page. (28e03cd)

Fixed

  • Fix a bug with the position of the user dropdown button on the sidebar. (28e03cd)

v0.2.6-beta

Choose a tag to compare

@kyledickey kyledickey released this 03 Jul 10:15

Added

  • Add Plausible for analytics tracking.
    (9684521)
  • Add some animations on the home page.
    (307ca3b)
  • Add configuration for Fly.io, for API hosting.
    69268ee

Changed

  • Updated the privacy policy for the new analytics provider.
    (9684521)

Removed

  • Remove all posthog references and integrations.
    (9684521)

v0.2.5-beta

Choose a tag to compare

@kyledickey kyledickey released this 06 Jun 02:27

Changelog

  • Added LogSnag for push notifications and easy insights about core events (account_created, account_deleted, plan_upgrade, etc).
  • Added a feedback dialog and form utilizing LogSnag.
  • Added a PostHog event for feedback submission.
  • Fix token null error when saving via WS.
  • Fixed a warning about a ref being passed to PlateContent.

v0.2.4-beta

Choose a tag to compare

@kyledickey kyledickey released this 05 Jun 00:03

Changelog

  • Added document font options
  • Added metadata field to documents
  • Added UI to change font family and size

v0.2.3-beta

Choose a tag to compare

@kyledickey kyledickey released this 04 Jun 10:22

Changelog

  • Changed renderer from a textarea to using Plate (for now it is visually the same, later I will work on adding bold, underline, and all that stuff).
  • Changed the backend to handle this change.
  • Content stored in DB is now a JSON string still entirely encrypted, frontend receives the JSON string and parses it for rendering.
  • updateDocumentByID function now properly returns a single document rather than an array.
  • Fixed a bug where the sidebar sheet wouldn't dismiss when you selected a new entry (mobile).
  • Changed content-input.tsx to editor.tsx.
  • Fixed a z-index bug with the document navbar.

v0.2.2-beta

Choose a tag to compare

@kyledickey kyledickey released this 02 Jun 20:28

Changelog

  • Fixed a bug preventing saving of empty strings
  • Removed testing file websocket.tsx
  • Removed testing console.log's

v0.2.1-beta

Choose a tag to compare

@kyledickey kyledickey released this 02 Jun 20:21

Changelog

  • Added WebSocket functionality to the /documents/ API route.
  • Updated frontend to use the WebSocket server for content updating.
  • Fix mobile landing navbar blur.
  • Cleaner error messages.
  • Moved the toast location from bottom-right to top-right.
  • Removed success toasts for entry creation and deletion.