# Release notes ## 1.2.3 (versionCode 5) Shutter - The shutter no longer waits on GPS: the fix is prewarmed at launch and bounded by a 2 s deadline, so a tagged shot reaches the gallery in about 3 s instead of 12–25 s. - A shot pressed before the camera session binds is queued and replayed, not dropped. - Fixes "Capture Failed — Could not take the photo.": `capturePhotoToFile` needs both its settings and options arguments. - Saving to the gallery no longer depends on the media permission — the native save runs first, MediaLibrary only as a fallback. Memory - The Skia surface and bitmap are released after every export, dropping one full-resolution copy per rotation; the watermark font is parsed once. Cold start - The JS bundle is stored uncompressed in the APK. - The export pipeline and the recipe/GPS helpers load on demand. - Hidden modals render nothing. Measured on a vivo V2430 (Android 16): the cold-start work did not move the tap threshold (the earliest reliable tap is still ~1.9 s). The remaining time is spent before app JS — process init, SoLoader, Hermes eval. Trimming the bundle is the next candidate; `lucide-react-native` currently ships the whole icon set.