Changelog
Version history and release notes for Reflekt
V1.05
August 29, 2026
Trends
- A New Row on Your Dashboard: Trends tells you how this month is going compared with last month, with the same month last year, and how this year compares with last year
- Words a Day: “You’re writing more words a day than last August — 519 vs 314”. Also how often you write, how many days you show up, and how your entries have changed in length
- Tone: Whether your writing sounds brighter or heavier than before — and when it hasn’t moved, it says that too, rather than staying silent
- Subject Matter: “You’re writing about Health & Wellness more than last month”, measured as a share of your entries so a busier month doesn’t make every subject look like it grew
- Fair Comparisons: A month in progress is compared against the same days of the month before — the first 20 days against the first 20 — so a normal month is never reported as a collapse just because it isn’t finished
- Only When It’s Real: Nothing appears unless the change is large enough to mean something, and the same fact is never stated twice in different words. A quiet month simply shows less
- Three at a Time: The row shows three cards and pages sideways through the rest, by button, swipe or arrow key
Milestones
- Your Biggest Writing Day: The single day you wrote the most, and how much — counting every entry you made that day
- The Date You Keep: The calendar date you return to most across the years — “August 25 is the day you journal most, 11 entries across 2020, 2022–2026”
- Your Biggest Year: The year you wrote the most, and whether this one has already passed it or is on track to
- Real Records Only: A “best day” has to actually stand out. If you wrote much the same amount every day of a year, that year has no biggest day and none is invented
Privacy
- Safer Insight Text: Detected topic names are now escaped everywhere they appear on the dashboard. They come from a fixed list today, so nothing was exposed, but the protection no longer depends on that staying true
V1.04
August 29, 2026
A New Look
- New Colour: Reflekt is slate blue now instead of indigo — a quieter, deeper tone that sits behind your writing instead of competing with it
- Reading Typeface: Georgia throughout, for headings and body alike. It reads as writing rather than as an app
- One Set of Buttons: Buttons, cards, badges and form fields now look the same wherever you are. Pages that used to feel like they came from somewhere else no longer do
- Consistent Depth: Every card shares one shadow and one corner radius, so the whole site sits on the same surface
Blog
- Bigger Reading Size: Articles are set in Georgia at a proper reading size, with the line length capped so text never runs edge to edge
- Share Properly: Posts now produce a real preview card — title, summary and image — when shared to social or chat, instead of a bare link
- Follow by RSS: Subscribe at
/blog/feed/(Atom at/blog/feed/atom/) - Search: Search posts by title or content, filtered by category
- Keep Reading: Every post now shows its author, related posts from the same category, and previous/next links instead of ending in a wall
- Share Buttons: Copy link, X, LinkedIn and email on every post
Fixes
- Year in Review Works Again: The page was failing to load entirely; it had been broken by a missing template import
- No More Raw Markdown: Post summaries were showing
*asterisks*and##instead of formatting, on both the blog and the front page - Emphasis Renders: Goal, plan and post descriptions written with
*emphasis*now display as intended - Readable Buttons: The front page’s main button was nearly invisible against the hero image; it and several others now meet accessibility contrast standards
- Safer Deletes: On every confirmation screen the safe choice is now the prominent one, so a careless click keeps rather than deletes
- Stray Text: Fixed developer comments that were rendering as visible text on the editor and blog pages
Faster Pages
- Cached, Not Re-sent: Roughly 3,800 lines of page code moved into files your browser caches once instead of re-downloading with every page
- Sidebar and Tour: These load on every signed-in page, so moving them out speeds up the whole app rather than one screen
- No Web Fonts: Every typeface now ships with your device — nothing to download, and no flash of the wrong font on load
Privacy
- Honest Copy: Removed an unsupported claim about user numbers from the front page
V1.03
August 28, 2026
Privacy
- Anonymous Logs: Server logs no longer record email addresses or usernames — every entry now refers to accounts by ID only
- Nothing From Your Writing: An internal diagnostic tool that printed a snippet of entry text now prints only scores, and per-entry mood readings and saved locations have been removed from logging entirely
- Friend Activity: Sending, accepting and declining friend requests no longer writes both people’s addresses to the log
Slash Menu
- Always On Screen: Typing
/near the edge of the window no longer pushes the menu out of sight — it slides back in, and flips above the cursor when there is no room below - Follows Your Selection: Arrow keys now scroll the list, so the highlighted command stays visible instead of slipping behind the bottom of the menu
- Same Everywhere: The
@mention menu and the/povfriend picker got both fixes too, and/povnow actually shows which friend is highlighted - Keyboard Aware: Menus re-position themselves when the window resizes or a phone keyboard opens
Keyboard Navigation
- Arrow Keys In Every Picker: Goals and habits, books, shows and places, place type, and the POV friend list all navigate with Up and Down
- Jump To The Ends: Home and End go straight to the first and last item, and the list wraps around
- Enter Picks What You See: The highlighted row is always the one Enter chooses, whether you arrowed to it or tabbed to it
Quick Access
- New Entry Anywhere: A floating + button on every page starts a new entry without going back to the journal first
- Tidier On Phones: The feedback button now scales down on small screens as intended, and the two floating buttons stay neatly stacked at every size
V1.02
August 24, 2026
Editor Fixes
- iPad Tab Switching: Typing works again after leaving the tab and coming back — no more reloading the page
- Caret Restored: Returning to the tab puts the cursor back where you left it
- Layout Guard: The editor no longer collapses when the browser reports a size for a hidden tab
More Room to Write
- Auto-Collapse: Date, Mood & Energy folds away as soon as you start writing
- Stays Put: Re-open the panel yourself and it stays open
Media Dashboard
- One Row Per Title: Re-watching a show no longer fills the list with the same name
- Watch Count: Repeat watches show a ×N badge and the date you started
- Ratings Kept: A re-watch with no rating no longer hides the stars you gave earlier
Watched Capture
- Smarter Form:
/watchedasks for title and type — season and episode expand only for TV shows - Movies Auto-Finish: A movie is watched in one sitting, so it's logged as finished instead of sitting in Currently Watching
- Your Call: Marking a title as watching again on the media dashboard sticks
V1.01.5
January 24, 2026
POV Sharing Improvements
- Inline POV Picker:
/povslash command now shows a quick inline friend picker - Faster Workflow: Select friends and insert POV block without leaving the editor
- Keyboard Support: Arrow keys to navigate, Space to toggle, Enter to add
- Toolbar Button: Full modal with message field still available via toolbar
Editor Auto-Scroll Fix
- Safari Fix: Fixed auto-scroll to keep cursor visible while typing
- Viewport Awareness: Scroll now correctly accounts for visible area
- Comfortable Margins: Cursor stays well above bottom of screen
V1.01.4
January 14, 2026
Media Tracking & Watch Status
- TrackedShow Model: New model to track show/movie watch status (Watching, Finished, Abandoned)
- Mark as Finished: Mark shows as finished to hide them from the quick picker
- Rewatch Support: Resume watching finished shows when you want to rewatch
- Dashboard Controls: Status filter tabs and action buttons in Media Dashboard
- Detail Modal: Change watch status directly from the show detail modal
- Status Badges: Visual badges showing current watch status throughout the app
Places Picker Enhancement
- Search Filter: Type to filter through your existing places instantly
- Auto-Create: Add new places on the fly when they don't exist
- Place Types: Select place type (Restaurant, Cafe, Park, Office, Home, Gym, etc.) when creating
- Highlighted Matches: Search text highlighted in yellow for easy scanning
- Keyboard Support: Press Enter to select or create, Escape to close
Markdown Rendering Improvements
- Task Lists: Support for
- [ ]and- [x]checkbox syntax - Bullet Indentation: Fixed bullet list indentation with proper HTML list rendering
- Code Blocks: Improved monospace font stack for ASCII art and diagrams
- Nested Lists: Proper styling for nested bullet and numbered lists
Moon Phase Fix
- Accurate Calculations: Fixed moon phase algorithm with correct reference date
- Backfill Complete: Recalculated moon phases for all 1,413 existing entries
- Phase Accuracy: Now within 2-3% of actual astronomical values
V1.01.3
January 9, 2026
Fitness Goals & Body Metrics
- Fitness Goals: Set and track fitness goals with progress logging
- Body Metrics: Track weight, body fat, measurements, and more
- Cardio Logging: Log cardio workouts with duration, distance, and calories
- Better Measurements: Comprehensive body measurement tracking for fitness progress
Mobile View Improvements
- Responsive Fixes: Fixed various layout issues on mobile devices
- Cellphone View: Improved sidebar and navigation on smaller screens
- Touch Friendly: Better touch targets and spacing for mobile users
Bug Fixes
- EasyMDE Auto-Scroll: Fixed cursor visibility issue in Markdown editor on Safari
- Safari Compatibility: Resolved flex layout height constraints for proper scrolling
- Cross-Browser: Editor now works consistently across Firefox, Safari, and Chrome
V1.01.2
January 5, 2026
Weather Analysis Overhaul
- Historical Weather API: Implemented Open-Meteo free API for accurate historical weather data
- Bug Fix: Fixed issue where all entries showed current weather (63°F) instead of actual historical data
- Temperature Fix: Corrected Celsius to Fahrenheit conversion in temperature range grouping
- Weather Variety: Now properly shows all weather conditions (clear, clouds, rain, drizzle, snow)
- Accurate Data: Temperature range now spans 27°F - 91°F (previously all 63°F)
- 1,377 Entries Updated: Backfilled all existing entries with correct historical weather
Dashboard Weather Display
- Horizontal Columns: Weather impact now displays in 5 horizontal temperature columns
- Temperature Ranges: <30°, 30-59°, 60-79°, 80-99°, ≥100° (in Fahrenheit)
- All Conditions Shown: Changed from top 3 to showing all weather conditions per range
- Clickable Conditions: Click any weather condition to see matching journal entries
- Entry Modals: Beautiful modal popups showing entry previews with mood, date, temperature, sentiment
- Visual Enhancements: Hover effects, color-coded sentiments, smooth animations
Monthly Snapshot Reliability
- Fixed Dashboard Stats: "This Month's Mood" chart now updates immediately after creating entries
- Synchronous Updates: Monthly snapshots update in real-time without requiring Celery
- Entry Count Accuracy: Dashboard always shows correct number of entries for current month
- Mood Distribution Fix: Mood chart reflects all entries, not stale data
Analysis Improvements
- Complete Sync Analysis: Synchronous analysis now includes moon phase, weather, and zodiac data
- Historical Weather for New Entries: All new entries automatically get accurate historical weather
- Immediate Updates: Dashboard statistics update instantly when entries are created or edited
- Works Offline: Analysis and updates work whether Celery is running or not
API Endpoints
- New Endpoint:
/api/weather/<temp_range>/<condition>/entries/for filtered weather entries - Entry Filtering: Get entries by both temperature range and weather condition
- Modal Integration: Backend support for interactive weather condition modals
V1.01.1
January 5, 2026
Editor Improvements
- Auto-Scroll Fix: Editor now smoothly scrolls to keep cursor visible while typing
- EasyMDE (Markdown): Added intelligent auto-scroll that triggers only when typing
- Comfortable Padding: Increased bottom padding to 50vh for better long-entry editing
- No More Hidden Cursor: Cursor stays comfortably visible with 200px of space below
Capture Format Unification
- Emoji Format: All captures now use consistent emoji format (e.g., 👤 Ariella, 🎯 Exercise More)
- Removed Links: Changed from markdown links to clean emoji + text format
- Person: 👤 Name (previously @Name or [Name](/link))
- Place: 📍 Place Name
- Book: 📚 Book Title
- Goal: 🎯 Goal Name
- Habit: ✅ Habit Name
Bug Fixes
- Capture Pills: Fixed missing capture pills when selecting existing items
- Person/Place Captures: Now properly creates capture and displays pill at bottom
- CSRF Errors: Added CSRF_TRUSTED_ORIGINS configuration for login issues
V1.01
January 4, 2026
POV (Point of View) Sharing
- Approval Workflow: Recipients can now approve POVs before adding to their journal
- Flexible Adding: Choose to add POV to existing entry or create new entry for that date
- Delete POVs: Added ability to permanently delete POVs (with confirmation)
- Badge Fix: Sidebar badge now clears after dismissing or approving POVs
YouTube Embedding
- New {figure} directive: Embed YouTube videos in journal entries
- Supports all YouTube URL formats (watch, youtu.be, embed)
- Optional captions with
{figure} URL | caption {/figure} - Responsive 16:9 aspect ratio
Bug Fixes
- Duplicate Entries: Fixed auto-save creating duplicate entries for the same date
- Quick Save: Fixed JavaScript function using wrong API endpoint
- Date Deduplication: Server now checks for existing entries before creating new ones
Admin Features
- Email Verification: Manually verify user email addresses
- Password Reset: Send password reset emails or generate temporary passwords
- Prompt Management: Full CRUD for prompt categories with background images
Password Reset Flow
- Custom branded email templates for password reset
- Custom confirmation pages matching site design
V1.00
January 2026
Initial Release
- Journal entries with rich text (Quill) and Markdown (EasyMDE) editors
- Daily prompts with customizable categories
- Challenges system with multi-day journaling prompts
- Goals and Habits tracking
- Analytics dashboard with insights
- Friend system with POV sharing
- Captures: places, workouts, meals, mood tracking
- Yearly and monthly calendar views
- Premium subscriptions via Stripe
- Multi-tenant architecture with data isolation