Repository navigation
Releases: hoangphi01/fotollection
Release list
Fotollection v0.7.0
Note (2026-10-26): on Windows, camera RAW needs Microsoft's free Raw Image Extension from the Microsoft Store; without it RAW files are skipped. The first line below did not say so. A RAW reader built into Fotollection, with nothing to install, is in progress.
- New: camera RAW opens as it is: RW2, CR2, CR3, NEF, ARW, RAF, ORF and DNG
- New: open photos from Finder or Explorer with Fotollection; its folder becomes a tab
- New: ticks follow you across folder tabs in select mode
- Fixes: the info frame no longer repeats the maker; projects open when double-clicked with the app closed
- Tested on Windows with the Raw Image Extension; never set as your default viewer
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.7.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.7.0-beta.1
- New: camera RAW opens as it is: RW2, CR2, CR3, NEF, ARW, RAF, ORF and DNG
- New: open photos from Finder or Explorer with Fotollection; its folder becomes a tab
- New: ticks follow you across folder tabs in select mode
- Fixes: the info frame no longer repeats the maker; projects open when double-clicked with the app closed
- Beta: on Windows, install Microsoft's free Raw Image Extension, then try "Open with" on a photo
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.7.0-beta.1/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.6.0
- New: zoom buttons on the preview, and full detail when you zoom in
- New: a start-up screen with the logo and a loading bar
- Measured: after the first launch the app opens in about 0.4 s; a 32 MP photo zooms in about 0.1 s
- Website: footnotes for every trademark and the sources behind each measurement
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.6.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.5.0
- New: a print basket and a "set aside" area: ↑ and ↓ in the preview, or Select in the gallery
- New: Quick-preview: hold Space over a photo in select mode
- New: the export card estimates the size before you export
- Prints keep the camera details (never GPS); the website moves to fotollection.org
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.5.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.4.0
- New: export for social media (original size, Facebook, Instagram or your own size), in sRGB, with the camera details and never GPS
- New: folders work like tabs, and several folders export together or separately
- New: export the photo you are looking at, straight from the preview, and zoom with a trackpad pinch or Ctrl/⌘ + −
- New: drag the photo to reframe it; Fit whole photo frames it like an instax print
- New: the Noritsu logo for film scans, and a Performance page on the website
- Fixes: long lens names no longer cover the logo, photos without EXIF get the file's date, Vietnamese wording
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.4.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.3.1
- New: click the version to see what each release brought
- UI update: the toolbar stays on one line, photo filters as dropdowns, larger sidebar icons
- Fixes: a minimum window width so the layout never breaks
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.3.1/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.3.0
- New: a logo size slider for the info frame, the same for every photo
- UI update: settings sections as cards, lines in the theme colour, aligned headers
- Fixes: arrow keys with the logo slider, date buttons overflowing, the same fonts on Windows as on macOS
- Website: coffee and download buttons beside the GitHub star
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.3.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.2.0
- New: System / Light / Dark theme switch
- New: Windows title bar in the app's colours, like VS Code
- New: remove a folder from the library, like closing a tab
- UI update: one accent per mode (teal light, wood dark), app-drawn hints, print badges in the preview
- Fixes: the best-shot highlight was clipped
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.2.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.1.0
- First public preview for macOS and Windows
- Best-shot suggestions, film-style date stamp with offline place names, camera info frame
- Crop to print sizes with rotate and straighten, original-quality export
- English and Vietnamese
Full changelog: https://github.com/hoangphi01/fotollection/blob/v0.1.0/CHANGELOG.md
Install
Fotollection is free and works offline. The installers are not signed with a paid certificate yet (why), so the first launch needs one extra step:
- macOS 11 or later (Apple Silicon and Intel): open the
.dmgand drag Fotollection to Applications. On the first launch macOS blocks it; open System Settings → Privacy & Security and click Open Anyway. - Windows 10/11: run the
-setup.exe(or the.msi). If SmartScreen says "Windows protected your PC", click More info → Run anyway.
Installing over an older version keeps your settings, camera profiles and projects. Check a download against SHA256SUMS.txt with shasum -a 256 <file> (macOS) or certutil -hashfile <file> SHA256 (Windows).
Fotollection v0.1.0-beta.1
Added
-
Best-shot suggestions (FR-041): Find best shots groups bursts and re-framings of one moment, then suggests the best photo of each group with up to three reasons ("34 % sharper", "Eyes open", "Less camera shake"). The Groups view shows each group as a strip, best first; Compare puts the shots side by side with a bar per measure and marks closed eyes. Keep best picks the suggestion and rejects the rest, for one group or all clear groups at once; for groups marked "Too close to call", choose with Keep this one. Nothing is deleted and everything is undoable. It runs offline on bundled face models, in about 17 ms per photo (28 ms with faces); results are cached, so a second run is instant.
measure_folder --analyzemeasures it. -
Refresh folders (FR-001): a button next to the library's folders picks up photos added to them since, without re-importing; ratings, flags, crops and stamps are kept.
-
Rotate photos (FR-006): turn a photo left or right with the buttons next to Crop in the preview, or with
[and]in the grid and the preview. Lossless, the crop turns with the photo, undoable, and kept in the project (project schema v4). Upside-down selfies are fixed in one key press. -
Straighten (FR-006): a slider in the crop editor levels a tilted horizon by up to ±15°, with a fine grid while you drag; in crop mode ← → level by 1° (⌥ for 0.1°), and move between photos again once you leave it. The crop stays as large as possible without empty corners, and only the cropped pixels are resampled. Undoable, kept in the project (project schema v5).
-
Print-quality audit (NFR-009):
bench/quality/audit.pycompares every exported pixel with the original. The export keeps the colour profile, full detail and saturation, with a mean ΔE2000 of 0.19, against a typical web-editor export that loses 87 % of the fine detail and 13 % of a P3 photo's saturation. Shown in both READMEs and in RESULT §9. -
The line under the date updates the preview while you type (a short pause after the last key), in the settings panel and in the preview.
-
A photo's own date stamp (FR-044): in the preview, the stamp controls (on/off, format, place, the line under the date) now change the open photo only, marked This photo; Apply to all makes them the setting for every photo. The settings panel offers Reset for photos with their own stamp. Undoable, and saved in the project (project schema v3).
-
Film-camera style imprint (FR-004, FR-005, FR-033, FR-036): the text inside the photo is now a slanted 14-segment LCD face (DSEG14 Italic, OFL) with the soft glow of an LED date imprint. Switch on Place on the date line to add the town from the photo's GPS (
'25 09 21 DEBRECEN, offline; city, city + country code, or city + country), and type a line under the date that runs across the photo in plain capitals. The date sits a little higher, keeping the caption's row free. The stamp's font choice is gone (user fonts are for the info frame); settings move to v5. -
Fixed: the accent-folding table was misaligned, so some accented letters searched or printed as the wrong letter (for example "đ" as "c").
-
Camera-brand logos in the info frame (FR-040): Apple, Canon, Fujifilm, Hasselblad, Leica, Lumix, Nikon, Phase One, Ricoh, Samsung and Sony logos come with the app (public-domain renderings from Wikimedia Commons; trademarks of their owners) and are picked from the EXIF make. Choose Classic (black wordmarks, colour accents kept), Brand colours or One colour; on a black frame, dark parts turn white. Wordmarks are sized to the frame text. Cameras still on the default typeset name switch to their logo once (settings v4); your own PNG and typed names are kept.
-
Switching off the date stamp or the info frame now folds its options away, so the settings panel and the preview stay short.
-
README (English and Vietnamese): system requirements for running and building, with measured memory and cache sizes.
-
Rename a project in place (FR-023): double-click its name in the sidebar. A saved project's file is renamed in its folder (never over another file); an untitled project uses the name for its first Save. Enter saves, Esc cancels.
-
The sidebar, now a little wider, and the README credit the author: "Fotollection by @hoangphi01".
-
Better best-shot groups (FR-041): similar shots are now matched by layout and colour instead of a dHash, and re-shooting closer (zooming) no longer splits a group. On 95 hand-labelled photos the app now finds 15 of 22 groups instead of 3, still with no wrong group, and its suggestion was acceptable in all 6 groups with a clear best. A shot with the face turned away no longer wins on background sharpness. Analyses are recomputed once (cache version 2). The README shows the full evaluation.
-
The library toolbar adapts to the space between the sidebars: button labels shrink to icons first, then the filters wrap to a second row, so nothing is cut off on smaller windows.
-
HEIC import (FR-001): iPhone photos (HEIC/HEIF) open, preview and export like JPEG, with their EXIF date and GPS. They are decoded by the operating system (ImageIO on macOS; on Windows, the HEIF and HEVC extensions from the Microsoft Store). Without the Windows extensions, the skipped-files list says what to install.
-
Project files like
.docx(FR-023): File → Save / Save As / Open / New (Cmd/Ctrl+S, Shift+Cmd/Ctrl+S, Cmd/Ctrl+O, Cmd/Ctrl+N), also in the sidebar. A.fotollectionfile carries the edits, print settings, info frame, camera profiles and the fonts and logos it uses, so it opens the same on another machine. Copying the project together with its photos keeps working; moved folders can be relinked. The window title shows unsaved changes, New and Open ask before discarding them, and double-clicking a.fotollectionfile opens it. The menu and title follow the interface language. -
Vietnamese interface (FR-020): choose English or Tiếng Việt at the top of the settings panel; it applies at once and is remembered. Every label, hint and error message is translated, and numbers use the language's decimal separator (
10 × 13,3 cm). -
The info-frame controls (on/off, crop or fit, colour, date format, font, shown items) are now also in the preview, so the frame can be tuned without leaving it.
-
README in Vietnamese (
README.vi.md, the VI link at the top) and a reworked Performance section: four charts, each with a reference line (budget, 2 GB ceiling, browser) and a table under it. Charts are generated in English and Vietnamese bybench/chart.mjs;bench/batch.shreproduces the 5,000-photo memory check. -
Simplified logo tile (no wordmark) for the sidebar, favicon and every app-icon size up to 64 px, so the icon stays readable in the menu bar, taskbar and Finder lists.
scripts/small-icons.pyregenerates them. -
docs/RESULT.md: the latest measured speed and memory in one page, including a 5,035-photo batch (peak 1.47 GB, flat versus 95 photos).measure_foldergains--inflight N,--discard-output, per-phase RSS and a preview time breakdown. -
Original print size (FR-045): keep each photo's own aspect ratio with no crop (10 cm on the short edge, e.g. 10 × 13.3 cm for 4:3). Works with the date stamp, the info frame and the DPI check.
-
Culling (FR-022): rate photos 0–5 stars and flag them pick/reject with
0–5,P,XandUin the grid or the preview, or click the stars and flags in the preview. Filter the library by flag and minimum rating; export writes exactly the filtered photos. Rejected photos are dimmed, never deleted, and every change is undoable. -
PNG import (FR-001): PNG photos and screenshots (8/16-bit, greyscale, palette) open, preview and export like JPEG. Transparency prints as white, and an embedded ICC profile is kept.
-
docs/EXTENSION.md: registry of Fotollection's file types (project, preset, settings, fonts, logos, exports, inputs) with MIME types, UTIs, versions, limits and compatibility rules. -
Rust vs browser benchmark:
bench/run.sh <photo-folder>measures export, preview and peak memory for the Rust core and for headless Chromium on the same photos, then drawsdocs/images/bench.svgfor the README. Measured: export is a tie, the browser previews faster, and Rust uses 20% less memory and encodes 4:4:4. -
Crop editor: dims everything outside the crop, drag to move, wheel/pinch/slider zoom, arrow-key nudge, and a live label with the printed size in cm, pixel size and DPI band. Crops are stored as centre + zoom, so they survive print-size changes.
-
Session project (FR-023): edits autosave atomically to an implicit project. The last session's folders are re-scanned and edits restored at launch. Undo/redo with Cmd/Ctrl+Z.
-
Custom fonts (FR-042): import OTF/TTF, then choose them for the date stamp and the info frame. Files are validated and copied; removing a font falls back to Inter.
-
Custom print sizes (FR-043): enter in cm or inches (e.g. 4 × 6 in), saved and usable everywhere.
-
Crop editor edge labels (width on top, height on the left, in cm or in) and an aspect-ratio pill.
-
The print-size picker shows each size's aspect ratio (
10 × 15 cm · 2:3,4 × 6 in · 2:3). -
settings.jsonschema v2 with automatic migration from v1. -
Info frame ("Shot on …", FR-040):
- A white or black bar with the brand, camera, lens, focal length, aperture, shutter, ISO, photo style and date.
- The whole print keeps the selected size, with the photo cropped to fill or fitted whole.
- Every item can be switched on or off, LUMIX Lab style.
- Per-camera overrides for manual lenses, names and styles, remembered across sessions.
- Optional user PNG logo per camera (ADR-0014).
-
settings.json, the first persisted file: render, frame and camera profiles, versioned and written atomically (DATABASE.md §6). -
EXIF now reads the lens, focal le...