Changelog
Every improvement, fix, and new feature shipped to PhotoMonk — tracked and listed for transparency.
Post-Export Feedback
A quick Typeform survey appears after every export to gather user feedback.
- AddedTypeform feedback modal shown 0.8 s after a file is saved — on both desktop and mobile
Mobile Editor Icon Polish
Lucide React icons wired into every mobile editor tool chip and inline slider for clearer visual hierarchy.
- ImprovedAll mobile editor tool chips now show a Lucide icon above the label
- ImprovedInline slider header shows tool icon alongside label and live value
- FixedTypeScript interface updated so icon components accept style prop without build error
Mobile Editor — Full Rewrite
Mobile editor completely rebuilt as a native camera-app experience — Snapseed/Lightroom Mobile style with inline sliders, pinch zoom, undo/redo, and no desktop chrome.
- ImprovedImage fills the full screen — no wasted padding or desktop card wrappers
- ImprovedTool chip row (Exposure, Contrast, Highlights…) replaces bottom sheet — tap any chip to activate its inline slider instantly
- ImprovedInline slider with zero-marker, blue fill, and live value display replaces modal overlay
- AddedUndo / redo — up to 30 history steps, accessible from top bar
- AddedPinch-to-zoom on the canvas — native gesture, no UI buttons needed
- ImprovedCategory bar (Basic · Color · FX · Presets · Frames) always visible at bottom with active indicator
- ImprovedPresets and Frames open as a compact inline panel (no full-screen modal)
- ImprovedUpload screen: full-screen centered, camera icon, format chips — clean and fast
- ImprovedTop bar: compact with close, filename, undo/redo/reset, and export — no desktop Header component
- RemovedFooter, Before/After slider demo, desktop two-column empty state, bottom-sheet overlay
Mobile & PWA
PhotoMonk is now a full Progressive Web App with a native mobile experience on both the landing page and editor.
- AddedPWA support — site.webmanifest, service worker (cache-first for assets, network-first for pages), iOS/Android install prompts
- AddedMobile landing page (/) — native app-style layout with swipeable before/after demo, feature chips, format strip, and sticky CTA. Shown automatically when viewport < 768px or mobile UA detected
- AddedMobile editor (/editor) — touch-optimized editor (existing /mobile implementation) auto-rendered on mobile devices instead of the desktop editor
- AddediOS "Add to Home Screen" install hint on mobile landing page
- AddeduseIsMobile hook — shared mobile detection by viewport width and user-agent
- ImprovedDesktop landing and editor completely unchanged — mobile swap is additive with no regressions
Blog — Thumbnails on Post List
- ImprovedBlog index now shows a cover image thumbnail on the left of each post; posts without a cover image show a category label placeholder
Blog — Four New Stories
Published four new blog posts covering privacy, pricing, browser-based RAW processing, and editing workflow.
- Added"Your Photos Leave Your Device Every Time You Edit Online. Ours Don't." — privacy post explaining local-only processing
- Added"What $120 a Year Actually Buys You (And What It Doesn't)" — honest breakdown of photo editing subscription costs
- Added"Your Browser Can Decode a 25MB RAW File. Here's How." — technical post on WebAssembly and WebGL RAW processing
- Added"The Best Photo Editor Is the One You'll Actually Open" — on activation energy and low-friction editing
- Improvedllms.txt updated with all five blog posts for AI crawler discoverability
SEO & GEO Improvements
Improved discoverability for traditional search engines and AI crawlers (Perplexity, ChatGPT, Gemini).
- Addedllms.txt at /llms.txt — structured plain-text site description for LLMs and AI search crawlers, linked from robots.txt and every page head
- Addedrobots.txt with explicit allow rules for AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Google-Extended)
- AddedDynamic sitemap.xml at /sitemap.xml covering all pages and blog posts with lastmod and priority signals
- AddedBreadcrumbList schema on blog index and blog post pages for site hierarchy signals
- AddedCollectionPage schema on blog index listing all posts as BlogPosting items
- ImprovedBlog post Article schema upgraded to BlogPosting with wordCount, inLanguage, image object, and publisher logo
- ImprovedSEO component: removed hardcoded SF geolocation, removed fake aggregateRating, deduplicated meta tags
- AddedSecurity headers (X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy) via next.config.ts
Blog — Social Sharing
Added prominent social sharing to every blog post.
- AddedShare buttons for X, LinkedIn, Facebook, and copy-link on every blog post — compact row in the article header and a full share block after the article body
- AddedSocial share events tracked via analytics (trackSocialShare) for each platform
Blog — Stories from PhotoMonk
Launched the PhotoMonk blog at /blog with a YAML-driven content system and full SEO support. Origin story rewritten to be respectful of Adobe while honestly explaining our cost rationale and weekend-hack roots.
- AddedBlog index page at /blog listing all published stories
- AddedDynamic blog post pages at /blog/[slug] with Article schema, Open Graph, and Twitter Card tags
- AddedYAML-based content system — each story lives in src/data/blog/*.yaml for easy publishing
- AddedFirst story: "We Built a Photo Editor in a Weekend — and Kept Going" — the origin story behind the product
- AddedCover image support for blog posts — hero image rendered above article body and used for og:image / twitter:image meta tags
Save As — Exports Exactly What You See
Save As now reads directly from the live editor canvas, guaranteeing all filters, transforms, presets, and frames appear in the downloaded file.
- FixedExport now reads from the live photo-canvas instead of attempting to re-render — eliminates the async timing bug where filters and frame were silently dropped
- FixedAll Basic, Color, Effects, and Preset adjustments are now preserved in the exported file
- FixedSelected frame (Minimal, Shadow, Rounded, Gradient, Neon, Glass, Vintage, Polaroid) is now included in the exported file
- FixedRotation and scale transforms are now correctly reflected in the export
- FixedDownload link is now appended to the DOM before clicking, fixing silent failures in Firefox and Safari
RAW Processor — Refined Controls & Full Live Preview
All RAW adjustment parameters now have dedicated sliders with live preview, and the Color panel is fully overhauled.
- AddedWhites, Blacks, and Contrast sliders added to the Light panel in the RAW processor
- AddedSaturation and Vibrance sliders added to the Color panel in the RAW processor
- ImprovedTemperature slider upgraded from a plain range input to a ProfessionalSlider with Kelvin unit display and tri-stop blue–white–orange gradient
- ImprovedTint slider now shows its cool–warm gradient track
- FixedHighlights slider range corrected from 0..+100 to -100..+100
- FixedShadows slider range corrected from 0..+100 to -100..+100
Homepage Stats Cleanup
- RemovedRemoved "0 accounts or sign-ups" stat card from the homepage
Light Mode — Depth & Visibility Polish
Light mode now has proper shadows, visible card borders, and a legible upload button.
- ImprovedLight mode shadow variables increased to proper visibility (was 4–8% opacity, now 8–15% with layered shadows)
- ImprovedSurface borders in light mode increased from 8% to 14% opacity for visible panel separation
- ImprovedGlass effect cards in light mode now use a clean white background with proper shadow depth
- ImprovedGlass inset highlight changed from white-on-white to a subtle dark inset for light mode
- FixedUpload image button was invisible in light mode — now uses accent-primary background with adapted text colour
- ImprovedNative shadow utility classes now use the theme-aware shadow variables
System Theme Option
The theme toggle now supports three modes — Light, Dark, and System — replacing the previous two-way switch.
- AddedSystem theme option follows the OS preference automatically
- ImprovedTheme toggle replaced with a compact 3-segment pill control (Light / Dark / System) in the editor header and landing page navbar
- ImprovedSelected theme segment is highlighted with the accent colour
Theme-Aware Logo
- ImprovedLogo now switches between photomonk-dark.svg (dark mode) and photomonk.svg (light mode) across all pages and the editor toolbar
Full Light / Dark Mode Support
Every page and component now adapts cleanly to both light and dark mode — no more hardcoded dark neutrals bleeding through.
- ImprovedLanding page sections (format strip, feature grid, comparison table, CTA, footer) now use CSS design tokens instead of hardcoded dark backgrounds
- ImprovedEditor upload button gradient and RAW folder button background switch correctly with the theme
- ImprovedEditor right sidebar and tab bar backgrounds use design tokens
- ImprovedLight mode accent colour changed from dark navy to blue (37 99 235) for consistent brand look across both themes
- ImprovedLight mode interactive states, slider thumb, and success/warning/error colours updated to match
Google Analytics — Missing Event Coverage
Wired up tracking for panel tab changes, preset application, before/after toggle, export format, and landing page interactions.
- AddedPanel tab changes in the editor sidebar now fire a `panel_changed` event
- AddedPreset application in the Presets panel fires a `preset_applied` event with the preset name
- AddedBefore/After toggle fires a `before_after_toggle` event
- ImprovedExport event now includes format, quality, width, and height parameters
- AddedLanding page fires `page_view` on load and `scroll_depth` at 25 / 50 / 75 / 90 % milestones
- AddedLanding page CTA buttons (navbar, hero, bottom) fire `button_click` events
Editor — Open RAW Folder Button Visibility
- FixedOpen RAW Folder was an invisible underline link — promoted to a full-width secondary button matching the Upload button style
Homepage Mockup — Full-Width Before/After Image
Editor mockup redesigned so the before/after photo fills the full width of the frame with no side panels.
- ImprovedBefore/after image now spans the full width of the editor mockup frame — no sidebars cropping it
- ImprovedMockup uses w-full h-auto so the complete image is always visible at natural aspect ratio
- ImprovedReplaced left/right sidebars with a thin toolbar row above the image
Homepage Hero — Two-Column Layout
Hero section redesigned to a two-column layout: headline and CTAs on the left, editor frame mockup on the right.
- ImprovedHero section now uses a two-column grid — copy left, editor mockup right — on large screens
- ImprovedHeadline, subtitle, CTA buttons, and stats are left-aligned for stronger visual hierarchy
Homepage Editor Mockup — Real Before/After Photo
Replaced the CSS art canvas in the homepage editor mockup with the actual before-after.jpg photo, showing a real editing result.
- ImprovedEditor frame mockup on homepage now shows the real before/after photo instead of a CSS illustration
- AddedBefore / After split labels and a centre divider line on the mockup canvas
Editor Upload Screen — Sample Photos & Cleaner Layout
Upload screen redesigned to match modern image editor UX with a prominent CTA button, drag-and-drop zone, and sample photos to try immediately.
- ImprovedUpload button is now the primary focal point with a glowing border and dark pill style
- Added"Try one of these:" sample photo row — click any thumbnail to load it directly into the editor
- ImprovedDrop-to-upload now works on the entire page, not just the old dashed zone
- ImprovedLanding page headings now use Playfair Display to match the editor's editorial typography
Streamlined Editor Upload Screen & Tabbed Sidebar
Replaced the full marketing hero on the editor upload screen with a focused drop-zone, and converted the stacked collapsible adjustment panels into a compact tabbed sidebar.
- ImprovedEditor upload screen replaced with minimal drag-and-drop zone and format pills instead of marketing hero
- ImprovedRight adjustment sidebar converted from stacked collapsible panels to a tabbed layout (Basic, Color, Effects, Presets, Frames)
Redesigned Marketing Homepage
Premium, Lightroom-competitive landing page with ambient glow design, CSS editor mockup, bento feature grid, and comparison table.
- ImprovedComplete homepage redesign — cinematic ambient glow hero, gradient headline, and stats row
- AddedCSS art editor mockup in hero section showing the actual editor layout
- AddedBento-grid feature section with per-card glow effects
- AddedThree-way comparison table: PhotoMonk vs Lightroom CC vs Capture One
- AddedDedicated privacy callout section with animated glow
- ImprovedNavbar with anchor links to Features and Compare sections
New Landing Page & Editor Route
A proper marketing landing page now lives at /, with the editor at /editor.
- AddedNew landing page at / — hero, feature grid, format support, Lightroom comparison, privacy callout, and CTA
- ImprovedEditor moved to /editor route for cleaner separation between marketing and the app
- ImprovedNavigation bar on landing page includes links to Editor, Changelog, and About
- ImprovedAll internal back-links (Header, About, Changelog) updated to point to /editor
Sharpening, Levels, Free Rotation & Save As
Major editing improvements based on customer feedback — more control over detail, tone, and file output.
- AddedSharpness slider (unsharp mask) in the Effects panel — range 0–100
- AddedLevels adjustments in the Basic panel: Input Shadow, Input Highlight, Output Shadow, Output Highlight — equivalent to Lightroom's histogram input/output controls
- AddedFree rotation tool in the Transform panel — slider and numeric input for arbitrary angles (−180° to +180°, 0.5° steps)
- ImprovedTransform panel is now open by default so rotation controls are immediately visible
- ImprovedExport button renamed to "Save As" with tooltip showing available formats (JPEG, PNG, WebP)
- ImprovedExport modal title and save button updated to "Save As" / "Save" for clarity
- ImprovedLanding page footer compacted to a single minimal line — no longer obscures page content
- FixedExposure, Brightness, Contrast, and Saturation sliders were silently not applied in the live canvas preview — now work correctly
- FixedSepia, Grayscale (B&W), and Hue Shift effects were not visible in the live preview — now applied correctly
- FixedBlur filter now correctly applied to the canvas using the browser's native blur for better performance
React Server Components Security Patch
Critical security update addressing React Server Components CVE vulnerabilities.
- SecurityFixed React Server Components CVE vulnerabilities (CVE-VU-STJUSF)
- SecurityUpdated Next.js dependencies to patched versions
Beta Release — UI Improvements
First public beta with polished UI, improved RAW processing, and batch export.
- AddedBatch RAW file processing — process an entire folder at once
- AddedBefore/After comparison toggle (keyboard shortcut: \ or `)
- AddedUndo/Redo history panel with up to 50 steps
- AddedSmart Crop overlay with aspect ratio presets
- AddedTransform controls — rotate 90°, scale, and pan
- AddedExport modal with JPEG, PNG, and WebP format support and size presets (4K, 2K, Full HD, HD, Web)
- ImprovedNavigator and real-time histogram panels in the left sidebar
- ImprovedLightroom-inspired keyboard shortcuts (Ctrl+E export, Ctrl+Z undo, F fullscreen, etc.)
- ImprovedFullscreen editing mode
- FixedVignette effect rendering at canvas edges
Professional Masking & Color Grading
Added advanced selective masking, professional color tools, and presets.
- AddedParametric masking engine — brush, linear gradient, radial gradient, luminance range, and pen path masks
- Added30+ professional presets (Portrait, Landscape, Cinematic, Film, and more)
- AddedColor panel — Temperature, Tint, Vibrance, Saturation
- AddedEffects panel — Clarity, Texture, Dehaze, Vignette, Grain, Blur, Sepia, B&W, Hue Shift
- AddedFrame panel — Minimal, Shadow, Rounded, Gradient, Neon, Glass, Vintage, Polaroid borders
- AddedWebGPU-accelerated mask rendering with CPU fallback
- ImprovedRAW processing pipeline with full dcraw integration
Initial Launch
First release of PhotoMonk — a free, browser-based Lightroom alternative.
- AddedRAW file support: CR2, CR3, NEF, ARW, DNG, RAF, ORF, RW2, and 20+ more formats
- AddedBasic panel — Exposure, Highlights, Shadows, Whites, Blacks, Brightness, Contrast
- AddedReal-time canvas preview with live filter application
- AddedMobile-optimized editor at /mobile
- AddedNo sign-up, no subscription — 100% free and browser-based
PhotoMonk is actively developed. This page is updated with every release.