Changelog

See what's new in RockCam Photo Booth

v1.27.15

Latest

Fixed

  • Certain Canon bodies could not connect at all — the EOS 5D Mark II, for example, worked perfectly as a camera but always failed to initialise in the app. Older bodies lack some settings that only newer models provide (such as crop aspect ratio), and reading those settings was not handled safely, which aborted the entire camera initialisation. Unsupported settings are now skipped automatically while every other setting is read as usual.
  • After one camera failed to connect, any camera plugged in afterwards was also unrecognised — recovering required a full restart. The connection to the camera was not released on failure, and because that connection is exclusive, it kept the camera occupied. It is now always released, on success and on failure alike.
  • Initialising the camera repeatedly in quick succession could leave a background process holding the camera — with the same result, cameras plugged in afterwards were not recognised. Only one initialisation now runs at a time.
  • When all three occurred together, the symptom looked like "this camera worked fine a few days ago, but nothing works since I plugged in a different one". All three are fixed in this release.

v1.27.14

Fixed

  • Borderless prints always left a thin white edge on one side, and no margin setting could correct it — setting the left margin to 4 left a white edge on the right, while 5 moved it to the left. Margins could previously only be adjusted in whole units of roughly 0.265 mm, and a printer's paper-feed alignment offset often falls between two whole numbers, so the correct position was simply unreachable. Margins now accept fractional values (such as 4.5), roughly tripling the available precision.
  • When fine-tuning, adjust in steps of 0.3 (for example 4.0 → 4.3 → 4.6). Smaller differences fall below the printer's own dot pitch and paper-feed tolerance and are not visible.
  • Existing whole-number margin settings are unaffected and print exactly as before.

v1.27.13

Fixed

  • The 1.27.12 video-orientation fix did not take effect in recording mode — that release fixed the animated GIF mode, but recordings on affected laptops still came out sideways. Recording started in the instant right after a screen transition, before the viewfinder element was ready, so the app fell back to the old capture path. Recording now waits for the viewfinder to be ready before starting (imperceptible in normal use), so recordings match photo orientation; the retake-then-record path is fixed as well.

v1.27.12

Changed

  • AI face restoration now uses a shorter wait limit — This stage already falls back to the previous stage's result when it does not go through. The old limit was long enough that it bought no extra success rate and simply kept guests waiting; halving it cuts the worst-case idle wait. The standalone face swap feature keeps its original limit, as that flow has no fallback to drop back to.

Fixed

  • Video from the built-in front camera on some laptops came out rotated 90 degrees — while photos from the same camera were upright. On these machines the camera module is mounted sideways, and the system only corrects the orientation for what you see on screen; the raw frames used for video were never rotated. Video and photo capture now draw from the same source, so both come out the same way up. Both the animated GIF mode and video recording are fixed. External cameras and DSLRs were never affected.

v1.27.11

Changed

  • Much less photo data uploaded, so AI waits are noticeably shorter — The three improvements below together cut a single request from roughly 8.6 MB to around 1 MB in on-site measurements. At venues with slow upload speeds, this part of the wait drops from a dozen-odd seconds to under two.
  • Reference images are now resized automatically — Reference images were the only input with no size limit. Picking an original phone photo from your library as a reference meant several megabytes were stored in the preset and re-uploaded in full on every single generation. They are now scaled to a sensible size; because the generation service already downsamples every input image to a fixed resolution internally, output quality is unaffected.
  • Photo upload size returned to a sensible limit — The upload size had previously been raised across all models to suit the background-removal feature, when in fact only that one feature needed it. For ordinary generation features the output resolution is decided by the service, so sending a larger original only bought a longer wait. Background removal and face swap keep their higher-resolution uploads, so their output quality is unchanged.
  • Removed a duplicated copy of the photo — The same photo was being sent twice inside a single request. The second copy was only ever read if the backup service was used, so under normal conditions it was uploaded and never touched.
  • The AI processing screen now reflects real progress — Previously the screen sat on "Preparing" for almost the entire wait regardless of what was actually happening, and the progress bar was a looping animation unconnected to the real state, so a fast run and a slow one looked identical.
  • A new "Uploading photo" stage — Sending the photo to the cloud takes several seconds, more than ten at slower venues, and used to be hidden under "Preparing", where it read as being stuck.
  • The progress bar is driven by the actual processing stage — It keeps moving during a long wait but never fills early; a bar sitting at 100% while you are still waiting is worse than no bar at all. Progress only ever moves forward, never backwards.
  • Fixed the face swap flow showing "AI style transfer" before the photo had even been sent.
  • For the photo-to-video flow, the bar now gives each of the two stages half its length instead of jumping backwards when the second stage starts.

Fixed

  • AI processing occasionally failing or running noticeably slower — The image generation service retired the model identifier we were using. Once it was withdrawn, the primary service returned an error and requests silently fell through to a backup service, which made the wait longer. Updated to the current identifier.

v1.27.7

Zoom (1.0x–5.0x) — A zoom slider in Webcam Settings lets you adjust the framing without physically moving the machine. It zooms from the centre of the frame, and the same zoom level applies to both the live preview and every deliverable (photos, GIFs, recordings) — the framing you see in the preview is the framing your guests receive.

Added

  • Zoom (1.0x–5.0x) — A zoom slider in Webcam Settings lets you adjust the framing without physically moving the machine. It zooms from the centre of the frame, and the same zoom level applies to both the live preview and every deliverable (photos, GIFs, recordings) — the framing you see in the preview is the framing your guests receive.
  • Brightness, contrast, exposure and white balance — Correct a dim venue, backlighting, or the skin-tone shift caused by warm banquet lighting or cool white LEDs, right there on site. Exposure and white balance each have an Auto / Manual switch: in auto exposure you can fine-tune the overall brightness, while manual exposure lets you set shutter speed and ISO separately; manual white balance lets you set the colour temperature. Adjustments appear in the live preview immediately and carry through to photos, GIFs, recordings and AI-processed results.
  • Only the controls your camera actually supports — Every camera model offers a different set of adjustments, so the panel lists only what the connected camera genuinely supports, with ranges taken from that device. You will never be given a slider that does nothing.
  • One-tap reset — A "Reset camera parameters" button restores zoom and every camera parameter to their defaults. Device selection, resolution, mirroring, rotation and output aspect ratio are left untouched.
  • Settings survive a camera change — After swapping cameras or re-plugging the USB cable, parameters the new device supports are automatically adjusted into its available range and applied; parameters it does not support are kept and restored automatically when you switch back, so a single re-plug never costs you your calibration.

Changed

  • Camera parameter controls live in Admin Settings → Webcam Settings. No adjustment controls appear on the capture screen, so guests cannot change them by accident.

v1.27.6

Changed

  • Large-scale internal architecture cleanup — Multiple independently-maintained copies of settings and parameter definitions have been consolidated into single sources of truth, eliminating the possibility of them drifting out of sync; automated tests grew from 2,523 to 2,944. Issues of this class previously caused problems such as video deliverables losing their audio track — this cleanup structurally rules them out.

Fixed

  • Tapping Start immediately after launch could run a recording / GIF template in regular photo mode — Template settings load in the background at startup; pressing Start before the load finished could cause that session to be treated as a regular photo shoot (for example, GIF deliverables missing their final freeze-frames). The Start button now waits for the template to finish loading (typically a fraction of a second), ensuring every session runs in the correct mode.
  • The free tier could miss the video-feature upgrade prompt in the same scenario — On the free tier, pressing Start on a recording / GIF template should immediately show the upgrade prompt before leaving the start screen. Previously this prompt could be skipped if the template had not finished loading (the feature itself remained protected). Now fixed.

v1.27.5

Fixed

  • Template thumbnails appeared blank when adding templates to a folder — In Folder Management → Display Settings → Template Management, choosing "Add Template" showed every template in the list with a grey placeholder icon, and the thumbnail was also missing from the ordering list and the preview panel after adding one. They only appeared after saving, closing the window, and reopening it. Thumbnails now display correctly as soon as the list is opened and as soon as a template is added.

v1.27.4

A warning is now shown when writes keep failing — This class of problem previously gave no indication at all. After repeated failures a persistent notice appears, prompting a check of antivirus software, cloud sync, or disk space; it clears automatically once writes succeed again. The notice is non-blocking and will not interrupt an ongoing session.

Added

  • A warning is now shown when writes keep failing — This class of problem previously gave no indication at all. After repeated failures a persistent notice appears, prompting a check of antivirus software, cloud sync, or disk space; it clears automatically once writes succeed again. The notice is non-blocking and will not interrupt an ongoing session.

Fixed

  • Folders and settings created earlier could all be lost after an unexpected power cut — Before writing to the database, the app first creates a backup file. Antivirus software, cloud sync (OneDrive / Google Drive), or system indexing services can hold a lock on that backup file. Previously, if the backup could not be created, the entire write was aborted — everything looked normal on screen and every action reported success, while in reality nothing had been written to disk since the machine was started, and this only became apparent after a power loss. Data is now always written even when the backup cannot be created, and when no backup is available the app writes to a temporary file first and then replaces the original, so existing data stays intact until the write completes.
  • Changes could stay unwritten for a long time during rapid edits — Consecutive changes kept pushing the write back. A maximum wait is now enforced so changes reach disk promptly.
  • A stale backup can no longer overwrite newer data — Automatic restore now only happens when a backup was just created successfully, preventing a hours-old backup from wiping out a whole session of changes.
  • Creating two folders in the same instant caused the second one to fail silently — Now fixed. Existing folders are unaffected and require no conversion.
  • Some style names appeared as raw English values in the admin test dialog — They now display the correct localized names.

v1.27.3

Changed

  • Removed the Simpsons and South Park styles from portrait style transfer — The style list goes from 16 to 14 options.

Fixed

  • No more false "please check the memory card" prompt after a successful recording — When a larger video took longer to transfer from the camera, a recording that had already completed successfully (final video and QR code shown) could still trigger the "video file not received" prompt about 30 seconds later and return to the ready-to-record screen. This is now fixed. The prompt still appears as intended when no memory card is actually inserted.

v1.27.2

Changed

  • All 16 portrait style transfer styles now available — Added 10 new styles (Clay, Gothic, Graphic Novel, Memoji, Random, Simpsons, Sketch, South Park, Toy, Watercolor) alongside the original 6, for a total of 16 styles. Point cost is unchanged.
  • Removed the "Memoji Expression" model — The standalone model has been retired (the "Memoji" style inside portrait style transfer is unaffected). Templates that used it are automatically switched to "No AI" on startup.
  • Removed the "Similarity Balance" setting — This admin setting no longer has any effect after the processing architecture upgrade and has been removed.

Fixed

  • Template thumbnails now show true transparency — Transparent areas of background-removed thumbnails now show the event page's background color or image directly, instead of a light checkerboard pattern.
  • More reliable recording flow after stopping — After stopping a recording, the app now immediately shows "Transferring video from camera...". If the video does not arrive within 30 seconds (most commonly because no memory card is inserted), a clear "please check the memory card" error is shown and the app returns to the ready-to-record state instead of silently hanging.

v1.27.1

Changed

  • Face Swap Pro description update — The model description now notes multi-person face swap support.

v1.27.0

New "Face Swap Pro" — A higher-quality face swap option (6 pts) with more natural blending and better detail preservation. It supports the same template upload flow as Face Swap and can also be used as the first stage of the video pipeline.

Added

  • New "Face Swap Pro" — A higher-quality face swap option (6 pts) with more natural blending and better detail preservation. It supports the same template upload flow as Face Swap and can also be used as the first stage of the video pipeline.
  • Recording mode now supports frames and duplicated layouts — Recording templates can now open Layout Settings, upload frame overlays, and enable duplicate mode. Finished recordings are automatically composed with the layout; if composition fails, the original video is kept so no recording is ever lost.
  • Template card thumbnails sync across devices — Template thumbnails now sync through the cloud; templates created on another device no longer show a gray placeholder and will fall back to the first frame image or a built-in placeholder.
  • AI-generated content notice — AI-generated results now show "Content generated by AI; actual results may vary." on the completion screen. The notice is based on the actual output and is not shown when the original photo is used.
  • New "Standard" tier for custom image generation — An entry-level option suited for 1–2 people and simple scenes is now generally available.

Changed

  • Custom image generation reorganized into four tiers — Standard (6 pts) / Premium (10 pts) / Premium Plus (12 pts) / Premium Pro (16 pts), chosen by the number of people and scene complexity; every tier now includes face restoration on each generation. The model list shows the point cost for each option and is ordered from lowest to highest tier.
  • Face swap and face restoration architecture upgrade — Face swap and face restoration now run on a new-generation processing architecture with more natural results and better detail preservation.

Fixed

  • Live gallery no longer asks for the PIN again when opening a photo — After entering the gallery PIN or scanning the QR code, tapping any photo now opens the download page directly.
  • GIF motion mode's last frame now matches the captured shot exactly — The final GIF frame is now guaranteed to be the captured frame, with no mismatch or extra seconds.
  • Duplicating a recording template keeps its recording mode — Fixed duplicated recording templates being saved as regular photo-capture templates.
  • Recording layout refinements — Recording placeholders now fill the canvas by default, layout composition keeps the audio track, canvas sizes use standard options, and a selected frame no longer blocks dragging photos layered above it.
  • More reliable backup import — Importing backups with many images no longer freezes the window; a failed import no longer leaves existing template images partially overwritten; choosing a backup file now shows a loading state and prevents duplicate operations.
  • Template cloud sync messages and stability — Reaching the 200-template cloud limit now shows a correct, actionable message; fixed a case where template sync could get permanently stuck.
  • Clear error message when the AI service is temporarily unavailable — No more unreadable "unknown" errors.

v1.26.28

Fixed

  • "Duplicate photo layers per frame" produced too few photo slots with 3 or more frames — Previously, enabling this option always created a fixed number of photo placeholders regardless of how many frames the layout had, and with 3 frames the photo-to-frame mapping could be scrambled. Each frame now correctly receives a full set of shots (frames × shots), matching the calculation shown in the UI. Existing single-frame templates are unaffected, and customized layouts are preserved.

v1.26.21

Template cloud sync now covers AI effect assets — AI reference images and face-swap templates configured in a template, along with per-shot effect settings in mixed-style templates, now sync across devices too, so you no longer need to re-configure them on every device.

Added

  • Template cloud sync now covers AI effect assets — AI reference images and face-swap templates configured in a template, along with per-shot effect settings in mixed-style templates, now sync across devices too, so you no longer need to re-configure them on every device.

Fixed

  • Misaligned toolbar on the template management page — Fixed a layout issue where the create/sync/search buttons didn't line up at the same height.

v1.26.20

Fixed

  • Rare case where template cloud sync could get stuck — Fixed an issue where leftover irregular template data (e.g. from switching accounts) could cause sync to keep failing for the affected account. Such data is now automatically skipped so sync resumes normally.

v1.26.19

Fixed

  • Occasional cross-device template sync failure — Fixed an issue where an incompatible layer data format in a template could prevent all templates from syncing across devices for the affected account.
  • Mixed-style templates lost effects on some photos after cross-device sync — Fixed an issue where per-shot effect settings in a synced mixed-style template could fail to map correctly, causing some photos to appear unprocessed.

v1.26.18

Fixed

  • Occasional lag when switching tabs / scrolling preset templates — Fixed an issue where the local database file could gradually grow over time, causing brief freezes when saving. Startup now includes an automatic optimization step that keeps subsequent actions responsive.

v1.26.17

Template cloud sync — Layout templates now sync across your devices through the cloud. After you edit or delete a template on one device, your other devices signed in to the same account pick up the latest version automatically on startup (or when you tap sync), including the template's layout images.

Added

  • Template cloud sync — Layout templates now sync across your devices through the cloud. After you edit or delete a template on one device, your other devices signed in to the same account pick up the latest version automatically on startup (or when you tap sync), including the template's layout images.

v1.26.16

DNP WCM+ wireless full-bleed printing — A new wireless full-bleed print mode that sends full-bleed photos directly through WCM+, with no wired driver required and automatic handling of print orientation and margins.

Added

  • DNP WCM+ wireless full-bleed printing — A new wireless full-bleed print mode that sends full-bleed photos directly through WCM+, with no wired driver required and automatic handling of print orientation and margins.
  • 6x8 / 5x7 / 6x6 photo sizes — Print settings now let you choose the photo size (both in global and per-preset modes), with matching canvas quick-presets added to the layout editor.

v1.26.13

Fixed

  • Choppy live preview on some computers — Fixed low frame rates in the live camera preview on lower-end computers (such as tablet-based booths), which could make the preview feel less smooth.

v1.26.11

Changed

  • Upgraded face-swap architecture — Face-swap processing now runs through a unified backend service, further strengthening the application's overall security.

v1.26.9

Fixed

  • QR download page showed "file not found" for Chinese event names — Download pages for events with Chinese (or other non-English) names now correctly display photos and videos.
  • Strengthened download page and gallery PIN protections — Fixed several security issues related to download pages and file access, improving overall application security.

v1.26.8

Changed

  • Cleaner subject edges when filtering background-removed photos — Following the previous black-background fix, applying a filter (black & white, vignette, film grain, etc.) to a background-removed photo now preserves the subject's edges (especially fine detail like hair) more accurately, without erosion, and consistently across all filter strengths.

v1.26.7

Fixed

  • Filters on background-removed photos showed a black background or black corners — Applying a filter (such as black & white, vignette, or film grain) to a background-removed photo could fill the area behind the subject with black, or add black corners. This is fixed: applying any filter to a background-removed photo now keeps the background transparent.

v1.26.6

Fixed

  • Layout editor: uploading or deleting a frame reset your adjusted photo boxes — With "duplicate photo layers per frame" enabled, adding or removing a frame would revert your photo box aspect ratio (for example, back from 1:1 to the default) and scramble the layer order. This is fixed: uploading or deleting frames now fully preserves all your photo box settings (aspect ratio, size, position, and layer order).

v1.26.5

Fixed

  • Camera white balance and metering options showed Chinese in the English interface — In the English interface, the white balance and metering mode option values were previously always shown in Chinese. They now follow the interface language correctly.
  • Multiple frames in the layout editor could overwrite each other or disappear — When using multiple frames in the layout editor and deleting or reordering them, saving and reopening could cause frames to become identical or vanish. Each frame now correctly keeps its own image.
  • Duplicating a layout preset then deleting the original caused images to disappear — After duplicating a preset, deleting the original would make the copy's frame and thumbnail images go blank. Duplicated presets now get their own independent copies of all images, unaffected by deleting the original.

v1.26.4

Changed

  • "Custom Style Transfer" now requires English prompts — This style transform works best with English prompts; non-English text (such as Chinese) produced poor results. Entering non-English characters now prompts you to switch to English to ensure output quality.

v1.26.3

Changed

  • Faster, smoother photo processing during busy events — When multiple booths run at the same time, post-processing throughput is higher and far less likely to queue up, so prints come out more reliably on site.

v1.26.2

Fixed

  • Webcam preview applies the selected resolution on first start — In camera settings, the first "Start Preview" could show the wrong resolution (e.g. 640×480 when 1920×1080 was selected), requiring a manual resolution toggle to recover. The selected resolution now applies correctly on the first try.

v1.26.1

Fixed

  • "Duplicate photo layer per frame" now works with single-shot layouts — When this layout option was enabled with a shot count of 1, the photo previously filled only the first placeholder in the frame and left the rest blank. It now fills every placeholder correctly.

v1.26.0

Changed

  • Improved the stability of motion-video processing.

Fixed

  • Motion GIF no longer capped at 3 seconds — Recordings longer than 3 seconds were trimmed to 3s; output now follows the actual recording length.

v1.25.14

Fixed

  • Clearer upload timeout message — When a sign-in timeout causes a photo upload to fail, the app now shows a friendly "reconnecting" message instead of a confusing raw error.

v1.25.13

Fixed

  • Photo uploads auto-recover after sign-in timeout — Fixed an issue where photos could fail to upload after the app sat unused long enough for the sign-in to expire. The app now automatically tries to restore the connection, only asking you to sign in again when truly necessary.

v1.25.5

Changed

  • Higher-Resolution AI Processing Across the Board — Input resolution for all AI models is now capped at 4096 pixels (up from 2048), preserving more detail going into AI processing. Models that retain input resolution (background removal, face swap) directly benefit with sharper output. No change to your workflow.
  • Background Removal Refinement — Upgraded to a new-generation background removal model paired with the higher-resolution input above. Hair strands, eyeglass edges, and translucent objects are cut out with more solid detail. No change to your workflow — pick the "Background Removal" AI model and the new version applies automatically.

v1.25.4

Changed

  • Background Removal Refinement — Continued tuning of the background-removal AI. Edge handling for hair strands, eyeglass frames, and translucent objects stays consistent. No change to your workflow — pick the "Background Removal" AI model and the new version applies automatically.

v1.25.3

Fixed

  • "Add to Folder" Picker Now Stays in Sync — Previously, after adding or deleting folders in the Folders tab, switching back to the Presets tab and clicking "Add to Folder" would show a stale list (new folders missing, deleted folders still present) until the app was restarted. The picker now refreshes whenever you switch back to the Presets tab.
  • Backup Import Now Requires Reload — Importing a backup file updates multiple settings at once. The previous "Later" option could leave the UI showing pre-import data, and any subsequent edit would overwrite the just-imported content. The dialog now offers only "Reload" so the imported data is guaranteed to be preserved.

v1.25.2

Changed

  • AI Background Removal Quality Upgrade — Switched to a new-generation background removal model. Hair strands, eyeglass edges, and translucent objects (veils, smoke, glass cups) are cut out more cleanly with less stray haloing. No change to your workflow — pick the "Background Removal" AI model and the new version applies automatically.

v1.25.1

Fixed

  • Animated GIF Now Follows the "Output Horizontal Flip" Setting — Previously, enabling "Output Horizontal Flip" in Basic Settings correctly mirrored the photo but left the animated GIF in its original orientation, causing the photo and GIF from the same capture to face opposite ways. Starting in this release, the animated GIF mirrors in sync with the photo so both stay consistent. When using AI models that should not be mirrored (e.g. face swap), the GIF skips the flip alongside the photo. Single-clip recording mode is unaffected.

v1.25.0

Changed

  • Photo Upload Security Upgrade — The cloud storage credentials the booth uses to upload photos have been switched from "long-lived keys baked into the booth app" to "1-hour short-lived credentials issued on demand", scoped to your own account's folder only. Even if the booth app is reverse-engineered, an attacker can at most access photos in that user's own folder for 1 hour — never other customers' data. No change to your day-to-day usage.

Fixed

  • Localized "Device Already Bound" Error — Previously, when an account tried to log in to a booth bound to a different account, the screen showed an untranslated internal error code. The message is now properly localized in both Chinese and English, telling you to unbind from the original account or release the license from that account's device management page.
  • Reverted DNP DS-RX1 Printable Area Compensation — The printable-area compensation added in 1.24.x cropped photo edges on some paper sizes. This release reverts the print behavior to the previous baseline.

v1.24.2

Changed

  • Improved AI Cancel Observability — Server now logs cross-node cancel events so refund traces are easier to verify when investigating user reports. No change to the user flow.
  • Legacy Infrastructure Cleanup — Removed server resources left idle after the 1.24.0 switch to the new consistency design. No user-visible change.

v1.24.0

Fixed

  • Reliable Refund When Cancelling AI Generation — Fixed a regression where pressing Ctrl+O within the first second of AI processing would silently consume points without refunding. Refunds now happen consistently whenever the cancel arrives before the AI has actually been dispatched to the cloud provider, even when the cancel and the generation are handled by different server nodes.
  • Clearer "Cancelled Too Late" Toast — When AI has already finished processing by the time you press Ctrl+O, a new toast tells you "AI Completed — Points Not Refunded" so you can see the charge was real, instead of being silently billed.
  • Internal Cancel Error Fix — Resolved a server-side exception that occasionally fired when cancel raced with an in-flight AI request. No user-visible behaviour change, just cleaner logs.

v1.23.7

Fixed

  • "Go to Upgrade" Button URL Corrected — In some situations the button was sending users to the wrong URL and returning a 404. It now correctly opens the customer dashboard.
  • AI Cancel No Longer Fails After Quick Retries — When you cancelled an AI generation and immediately started a new one, the second cancel could occasionally fail. Internal session tracking has been hardened so back-to-back cancels work reliably.
  • More Robust Protection Against Spurious Logout — Added another layer of safeguards so brief network glitches will not bounce you back to the login screen.

v1.23.6

Fixed

  • No More Spurious Logout on Network Errors — 1.23.5 misclassified some network error messages (notably the standard Chrome / Electron offline message) as confirmed authentication failures, so transient network outages would unnecessarily send users to the login page. 1.23.6 uses more robust network-error detection covering offline / connection-aborted / timeout scenarios.

v1.23.5

Fixed

  • AI Model Test in Admin Settings Restored — After the 1.23.0 architecture change, testing AI models from the admin settings page would loop into "deduct then immediate refund" — the test never actually reached AI processing. 1.23.5 fixes this.

v1.22.0

Adjustable Face Swap Strength

Added

  • Adjustable Face Swap Strength - A new "Face Restoration Strength" slider in Basic Settings lets you balance between "smoother edges, more natural blend" and "closer resemblance to the target face", with per-preset overrides. The default has been lowered for a softer blend; if you previously preferred a higher fidelity look, please raise the value manually.
  • Preset Panel State Preservation - Switching away from the "Presets" tab in admin settings and back no longer resets your search text, list/grid view mode, scroll position, or last-selected preset.

Fixed

  • "Unsaved Changes" Banner Reappearing After Saving a Layout - Fixed an issue where the unsaved-changes banner would pop back up on its own after saving a layout, repeating on every subsequent save without any user edit.
  • Layout Layer Drag Now Honors Panel Selection - After selecting "Photo 1" in the layer panel on the right, you can now drag it directly on the preview canvas; it no longer gets hijacked by an overlapping frame on top (matching Figma/Canva behavior).

v1.23.4

Fixed

  • Session Auto-Recovery Now Handles Upload Scenarios — 1.23.3's auto-retry would corrupt file uploads (preset thumbnails, face-swap templates) if the session expired exactly during upload. 1.23.4 now skips retry for file uploads (to avoid sending empty bodies), while still refreshing the session for subsequent operations.

v1.23.3

Fixed

  • More Complete Session Auto-Recovery — 1.23.1 / 1.23.2 already handled session expiry on the AI generation path. 1.23.3 extends the same "auto-refresh and retry" logic to every backend feature (AI pricing lookup, device authorization checks, etc.), usually invisibly to the user. The login page is only shown when the system confirms the session truly cannot be recovered.

v1.23.1

Sign Out Button — Admin Settings → Device Authorization now has a dedicated "Sign Out" button for switching accounts. Previously only "Unbind Device" was visible, which could be triggered by mistake.

Added

  • Sign Out Button — Admin Settings → Device Authorization now has a dedicated "Sign Out" button for switching accounts. Previously only "Unbind Device" was visible, which could be triggered by mistake.
  • Auto-Redirect on Confirmed Session Expiry — When the system confirms your session is truly expired (cannot auto-recover), it now automatically takes you to the login page instead of leaving you stuck on an error.

Fixed

  • Automatic Recovery from Session Timeouts — When your session expires during AI processing, the app now automatically refreshes the session and retries once, usually invisibly to you.
  • No More Spurious Logout on Flaky Network — Fixed an issue where transient network outages could incorrectly send you back to the login page.
  • Honest Cancel UI When Offline — Fixed misleading behavior where pressing Cancel without network would show "cancelled" while processing actually continued. Now shows "Cancel failed: network issue, AI processing continues" so you know the real state.

v1.21.3

Fixed

  • Face Swap Now Truly Locks On the Main Subject — Background People Have Zero Influence - Before sending the photo to the cloud for processing, the app now masks out non-subject faces (background passers-by, distant people in group shots, faces on posters) right on your device, so the cloud only ever sees the main subject. Earlier versions could occasionally still swap the subject's face onto a background person under edge conditions; this is now eliminated at the source.

v1.21.2

Changed

  • Smoother Face Swap Skin Finish - Tuned the face restoration strength so skin imperfections are less likely to be preserved as-is, giving the swapped face a smoother, more natural look overall

Fixed

  • Face Swap Now Locks On the Main Subject - Automatically ignores noticeably smaller faces in the frame (background bystanders, posters, distant people in group shots), so face swapping only applies to the foreground subject and avoids odd outcomes like "the subject's face appearing on a background extra"

v1.23.0

Significantly Improved AI Processing Reliability — AI image generation has been migrated to a server-side architecture. The user-visible impact: lower failure rate and more accurate refund decisions

Added

  • Significantly Improved AI Processing Reliability — AI image generation has been migrated to a server-side architecture. The user-visible impact: lower failure rate and more accurate refund decisions
  • Automatic Multi-Provider Fallback — When the primary AI service is unavailable, the system automatically switches to a backup, improving availability during peak hours or when a single provider is having issues
  • More Accurate Point Refunds — When you cancel AI processing, the system now checks the actual processing state before deciding whether to refund (no refund if the result was already delivered, refund only when cancellation is confirmed)
  • Network Interrupt Recovery — If your network drops or the window closes during AI processing, the server now automatically cancels the in-flight job and refunds your points — no more "charged but no image".

Fixed

  • Multiple Edge Cases in AI Processing Cancellation — Fixed several edge cases where cancellation could result in delayed refunds, duplicate refunds, or ineffective cancels

v1.21.1

Changed

  • Better Face Swap Likeness - Tuned the face restoration pipeline so swapped faces now resemble the target face more closely, with more recognizable facial features

v1.21.0

Changed

  • Major Reliability Boost for AI Face Swap - Added a dual-path failover mechanism for cloud processing: when the primary processing server is temporarily unavailable (for example during a provider's scheduled network maintenance), the system now automatically routes the request to a backup server so the photo and face-swap flow keeps running. Previously a primary outage could leave the booth waiting 30+ minutes before failing; now the switch happens within seconds
  • Faster Detection of Cloud Service Issues - The app now performs a quick health check on the cloud server before each AI job and immediately skips a misbehaving server in favor of the backup, avoiding long timeout waits

Fixed

  • Stray Jobs When Cancelling Mid-Failover - Fixed an issue where cancelling AI processing right at the moment a job was being submitted to the backup server could leave the job running on the cloud; cancellation now interrupts the submission phase cleanly and no longer produces orphan jobs
  • Delay Detecting Service Recovery - Fixed an issue where, after a cloud server recovered from an outage, the local availability cache could still treat it as unavailable for up to 30 seconds; the cache now invalidates in step with the connection layer

v1.20.3

Fixed

  • Fixed Windows Startup Compatibility Issue in 1.20.1 / 1.20.2 - Both previous versions could fail to start on Windows or fail to import backup files. Please update to 1.20.3 to restore normal operation

v1.20.2

Fixed

  • Stable QR Codes in Reprint Gallery - Fixed an issue where the reprint gallery would re-upload the photo and generate a different QR code each time you opened it; the same photo now keeps a stable download link, so reopening the QR or scanning from multiple devices yields the same URL for as long as the photo is retained on the server

v1.20.1

Fixed

  • Large Backup File Import - Fixed an issue preventing import of backup files (over 512MB) that contain many photos or preset images; you can now successfully restore all data from previously exported backups
  • GIF Mode Decoration Positioning - Fixed an issue where decorative layers (stickers, logos, targets) in a layout would appear stretched across the center of the GIF and cover the photos; decorations now appear in the same positions as the static composed photo

v1.20.0

Multi-Person Face Swap

Added

  • Multi-Person Face Swap - Face swap now supports multiple people in the same photo at once; this release also ships an improved face restoration pipeline for more natural, stable results

Changed

  • Significantly Higher AI Processing Availability - Reworked networking and retry behavior for AI processing so brief connectivity blips no longer impact an entire event; additional backend deployment options further reduce latency and occasional errors during peak usage
  • Full-Bleed Printing on DNP Printers - Fixed a thin white margin on the right edge when printing 4×6 on the DNP DS-RX1; prints now extend properly to the paper edge

Fixed

  • More Reliable Backup Export / Import - Exports now use atomic writes, so a crash or disk error during export can no longer leave a corrupted backup behind; import errors now show the actual cause, and UTF-8 / UTF-16 encoded files are recognized automatically
  • Preset Display Corrections - Fixed cases where frame overlays were missed in GIF / MP4 composition, and where default preset thumbnails failed to render in the folder settings dialog

v1.19.2

Changed

  • Faster Entry Into Shooting Mode - Noticeably quicker cold start when entering Live View after applying a preset
  • Smoother Experience with Large Preset Collections - Preset lists now use virtual scrolling, so hundreds of presets no longer stutter
  • No More Character Limit on Custom AI Prompts - Per-shot mixed-style custom prompts now have no 500-character cap, matching the global setting

Fixed

  • More Reliable Subscription Sync - Fixed edge cases where plan changes didn't apply correctly, and hardened the fallback so a sync failure no longer risks granting incorrect permissions
  • AI Face-Swap Stability - Reverted to the more stable face-swap pipeline to address recent intermittent processing failures
  • Changelog Display - Fixed an issue where the "Improved" section wasn't being classified correctly in some version entries

v1.19.1

Changed

  • AI Processing Availability & Stability - Enhanced deployment flexibility for the AI processing backend, reducing latency and occasional errors during peak usage

v1.19.0

Changed

  • Watermark on Free-Plan Photos - Composed photos on the free plan now carry a RockCam watermark that is removed automatically after upgrading to a paid subscription
  • Video Recording Is Subscriber-Only - Video capture is now available only to subscribed users
  • Plan Changes Take Effect Automatically - After upgrading or changing your plan, watermark and recording access sync within a few minutes without requiring a restart

v1.18.1

Fixed

  • GIF Duplicate-Frame Mode - Fixed an issue where enabling "duplicate photo layers per frame" caused the bottom row of cells to render black and the top frames to show different shots instead of the expected duplicated shot. Each shot now correctly appears in every frame it was assigned to.

v1.18.0

Changed

  • More Reliable GIF Uploads - When the network is temporarily unreachable, GIF uploads automatically resume on the next app start instead of being lost
  • GIFs Saved Permanently - Composed GIFs are now saved to your local videos folder and kept permanently, just like photos

Fixed

  • Copy button in FFmpeg install dialog - Fixed a case where copying the install command to clipboard would fail silently

v1.17.1

Changed

  • Smoother preset management - Switching, editing, and configuring presets is now significantly faster when you have many templates

v1.17.0

AI processing progress display

Added

  • AI processing progress display - Shows current processing stage and elapsed time during AI processing

v1.16.6

Fixed

  • Database Export Fix - Fixed settings export failing when presets contain a large amount of image data

v1.16.5

Fixed

  • Small Screen Display Settings UI Fix - Fixed action buttons (Reset, Cancel, Save) in folder display settings dialog being pushed off-screen on smaller displays — buttons now stay fixed at the bottom

v1.16.4

Changed

  • Significantly Improved Preset Operations - Fixed sluggish performance when managing a large number of presets, including tab switching, searching, selecting, and creating presets — all operations are now much smoother

v1.16.3

Fixed

  • Camera Rotation Framing Correction - Fixed an issue where widescreen ratios (e.g. 16:9) showed different framing between live preview and captured photo when the camera is mounted at 90°/270°, ensuring WYSIWYG accuracy
  • AI Processing Crop Optimization - Fixed AI input aspect ratio mismatch when camera is rotated, preventing generated results from being clipped

v1.16.2

View Changelog

Added

  • View Changelog - Version number in settings page is now a clickable link that opens the full changelog in your browser

v1.16.1

Multilingual AI Prompt Input

Added

  • Multilingual AI Prompt Input - All custom prompt models now support Chinese and non-ASCII input; validation rules, hint text, and placeholder examples automatically switch based on language

Fixed

  • Reference Image Stability - Fixed potential issues when adding, removing, or drag-reordering reference images

v1.16.0

Event Welcome Animation

Added

  • Event Welcome Animation - Event mode supports custom welcome video (MP4/MOV/WebM, max 100MB), plays fullscreen on loop when entering the event; tap or press any key to proceed to template selection; welcome screen is skipped when returning from photo capture

Changed

  • Fullscreen Final Preview - Photo preview after capture is now fullscreen layout for a more immersive experience

Fixed

  • Stale Frame on Retake - Fixed the last frame briefly flashing when returning to capture screen

v1.15.0

Canon Camera Crop/Aspect Ratio

Added

  • Canon Camera Crop/Aspect Ratio - Manually select 3:2 / 1:1 / 4:3 / 16:9 / 1.6x crop ratios in camera settings
  • Auto Aspect Ratio Switching - Automatically switches camera crop ratio based on layout template during capture, supporting different ratio presets within the same event
  • Portrait Ratio Support - Auto-switching supports 2:3, 3:4, 9:16 and other portrait ratios
  • Auto Photo Orientation Correction - Photos are automatically corrected after capture, no need to manually set rotation angle compensation in layout design
  • Live View WYSIWYG - Live View preview crop/ratio now matches the final composite result

Changed

  • Canon Hardware Crop Priority - Software output ratio settings are automatically hidden when the camera supports hardware crop
  • Composite Crop Optimization - Photo compositing now maintains aspect ratio with crop, preventing distortion
  • System 4x6 Portrait Preset - Now uses portrait dimensions + 2:3 ratio for more intuitive operation

Fixed

  • Live View Portrait Ratio Switch - Fixed preview not updating when switching to portrait ratio
  • Live View Rotation Crop - Fixed crop mismatch with final composite after rotation
  • Ratio Reset After Capture - Automatically switches back to the correct ratio after multi-shot sequence
  • Webcam Preview Orientation - Fixed incorrect preview orientation

v1.14.0

AI Face Restoration Upgrade

Added

  • AI Face Restoration Upgrade - New identity matching algorithm significantly improves accuracy in multi-person scenes
  • Whole-photo Face Restoration - Supports face restoration on entire photos without pre-cropping

Changed

  • Simplified Face Restoration - Optimized processing pipeline for faster and more accurate results

Fixed

  • Photo Orientation Handling - Fixed inconsistent photo orientation during AI processing
  • Concurrent Processing Stability - Fixed conflicts that could occur when processing multiple photos simultaneously

v1.13.1

AI Output Ratio Control

Added

  • AI Output Ratio Control - Ensures AI output image ratio follows camera photo

Fixed

  • AI Rate Limiting - Immediately switches to backup when rate limited, reducing wait time
  • Cancel Processing - Improved response time when canceling processing

v1.13.0

Faster AI Processing

Added

  • Faster AI Processing - New AI processing engine with faster processing speed
  • Multi-level Fallback - Supports automatic switching between multiple AI processing engines for service stability
  • Smart Circuit Breaker - Automatically detects unstable services and switches quickly, reducing wait time

v1.12.5

Fixed

  • Unified Rotation Strategy - Unified rotation handling across all devices, correctly supporting all cameras and angles

v1.12.4

Fixed

  • Face Restoration Quality - Fixed low quality face restoration at certain rotation angles

v1.12.3

Fixed

  • Multi-person Face Restoration Accuracy - Improved accuracy of face restoration when camera is rotated
  • AI Generation Quality - Improved background quality in AI generated images
  • AI Output Ratio Validation - Ensures generated images match expected camera ratio

v1.12.2

Fixed

  • AI Output Ratio - Fixed incorrect output ratio when using reference images
  • Settings Persistence - Fixed some settings being unexpectedly reset when saving
  • AI Ratio Calculation - Correctly calculates AI output ratio based on user settings

v1.12.1

Fixed

  • Face Restoration Upscale Ratio - Fixed aspect ratio distortion during upscale processing

v1.12.0

Face Restoration Fallback

Added

  • Face Restoration Fallback - Added backup processing engine for higher success rate
  • Smart Circuit Breaker - Automatically switches to backup on consecutive failures, reducing wait time

Fixed

  • Multi-person Face Matching - Improved matching accuracy for adjacent faces
  • Temp File Cleanup - Improved temporary file cleanup mechanism
  • Face Restoration Upscale - Improved small face detection and upscale logic

v1.11.1

Fixed

  • Temp File Cleanup - Fixed temporary files not being cleaned up on abnormal exit

v1.11.0

LED Ring Control

Added

  • LED Ring Control - Support for Arduino LED ring; automatically lights up during countdown to guide users to look at camera
  • LED Status Display - Device page shows LED Ring connection status with manual reconnect
  • Auto Device Detection - Automatically detects USB LED ring devices on startup
  • Multi-shot Support - Automatically repeats light on/off cycle for each photo in multi-shot mode

v1.10.0

Photo Filter System

Added

  • Photo Filter System - 9 new photo filters (B&W, Vintage, Sepia, Warm, Cool, High Contrast, Soft Focus, Vignette, Film Grain)
  • Filter Parameter Adjustment - Each filter supports intensity slider and advanced parameter tuning
  • B&W Subtypes - B&W filter offers 4 styles: Standard, High Contrast, Soft, Silver
  • Real-time Filter Preview - Instant preview of filter effects
  • Filter Parameter Persistence - Filter parameters saved per preset

Fixed

  • Vignette/Grain Slider - Fixed reversed slider direction

v1.9.18

Changed

  • System Presets Hidden by Default - System presets in event mode are hidden by default, enable manually as needed

Fixed

  • Event Mode Frame Sync - Fixed frame template not syncing correctly when selecting system presets

v1.9.16

Grid/List View Toggle

Added

  • Grid/List View Toggle - Preset template page now supports grid and list view modes
  • System Preset Toggle - Added visibility toggle for system presets with visual distinction
  • 10 System Presets - Added 4 layout presets and 6 AI model presets, ready to use out of the box

v1.9.14

AI Queue Timeout Fast Switch

Added

  • AI Queue Timeout Fast Switch - Automatically switches to backup engine when AI processing queue is too long
  • Smart Circuit Breaker - Automatically skips unstable services on consecutive failures

v1.9.13

Fixed

  • Multi-person Face Restoration Accuracy - Improved face matching accuracy when AI changes person positions

v1.9.12

New AI Model Support

Added

  • New AI Model Support - Added advanced AI model with multi-platform support and reference image upload (up to 13 images)
  • Reference Image Feature - Reference image upload now available in all environments

v1.9.9

Fixed

  • Layer Drag Freeze - Fixed touch drag causing application freeze
  • Window Close with Unsaved Changes - Properly shows confirmation dialog when closing

v1.9.7

Fixed

  • Touch Drag Improvement - Significantly improved layer drag experience on Surface Pro and other touch devices

v1.9.6

Fixed

  • Offline Startup White Screen - Fixed app permanently showing white screen when offline, now uses cache mode
  • AI Style Names - Style names now display with correct translated labels
  • High Refresh Rate Game Fix - Fixed game speed on 144Hz+ screens

v1.9.5

Fixed

  • Buffer Overflow Protection - Added buffer size limits
  • Process Exit Handling - Improved subprocess cleanup on exit
  • AI Cancel Handling - Fixed cancel operations potentially affecting subsequent processing
  • Initialization Error Display - Properly shows error messages on startup failure
  • Settings Rollback - Automatic rollback when settings write fails

v1.9.4

Printer Auto-Cut Setting

Added

  • Printer Auto-Cut Setting - New auto-cut print setting for 4×6 paper automatic cutting to two 2×6 prints

Changed

  • Removed Page Cache - Removed page caching mechanism, fixing multiple cross-contamination issues

v1.9.3

Fixed

  • Preset Settings Cross-contamination - Fixed settings being saved to wrong preset when switching quickly

v1.9.2

Changed

  • Canon Game Frame Optimization - Improved frame transmission efficiency for game features

v1.9.1

Fixed

  • Database Write Performance - Significantly improved response time when switching templates
  • AI Output Ratio - Fixed incorrect output ratio when using reference images

v1.9.0

Frame Preview Horizontal Flip

Added

  • Frame Preview Horizontal Flip - Independent horizontal flip for frame overlay, useful for mirror preview mode

Fixed

  • Frame Overlay Persistence - Fixed previous preset's frame still showing when loading a preset without frames
  • Preset Search Clear Button - Fixed search clear button causing an error

v1.8.4

Fixed

  • Windows Database Write Stability - Improved database write stability and error recovery on Windows

v1.8.3

Fixed

  • False Unsaved Changes Warning - Fixed false "unsaved changes" warning appearing after switching presets

v1.8.2

Fixed

  • Database Write Protection - Improved database write flow to prevent data loss on force quit
  • Graceful Shutdown - Improved app shutdown process ensuring cleanup completes before exit

v1.8.1

Changed

  • Face Detection Engine Upgrade - Game features now use a faster and more accurate face detection engine

Fixed

  • Game Control Sensitivity - Adjusted detection parameters for better game experience

v1.8.0

New Face Detection Engine

Added

  • New Face Detection Engine - Faster and more accurate face detection
  • Face Restoration Restored - AI image generation now supports "preserve facial features" option

Changed

  • AI Processing Stability - Optimized AI processing engine for more stable service and faster speed
  • Face Crop Optimization - Improved crop ratio to better match face shape, enhancing quality

v1.7.5

Changed

  • Face Restoration Temporarily Removed - "Preserve facial features" temporarily removed for quality improvements

v1.7.4

Folder Display Settings Preview

Added

  • Folder Display Settings Preview - Real-time preview of folder display effects

v1.7.3

Fixed

  • Page Cache Update - Ensured data correctly updates when switching pages

v1.7.2

More Models Support Face Restoration

Added

  • More Models Support Face Restoration - More AI models now support "preserve facial features" option

Fixed

  • Mixed Mode Start Button Text - Fixed incorrect start button text display
  • Complete Ratio Support - Added all supported output ratio options