Repository navigation
Releases
Releases · kyledickey/diary
v1.2.0
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
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+BandCmd/Ctrl+Iformatting 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
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
3000for the web app,8080for the API, and
5432for 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
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
v0.2.5-beta
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
refbeing passed toPlateContent.
v0.2.4-beta
Changelog
- Added document font options
- Added
metadatafield to documents - Added UI to change font family and size
v0.2.3-beta
Changelog
- Changed renderer from a
textareato 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.
updateDocumentByIDfunction 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.tsxtoeditor.tsx. - Fixed a z-index bug with the document navbar.
v0.2.2-beta
Changelog
- Fixed a bug preventing saving of empty strings
- Removed testing file
websocket.tsx - Removed testing
console.log's
v0.2.1-beta
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.