9.0 KiB
9.0 KiB
Changelog
0.8.0
- Add the
canonformat group with CR2 and CR3 support. - Add exact
CR2andCR3badges and format-sort compatibility. - Validate TIFF-based CR2 headers separately from ISO-BMFF-based CR3 headers.
- Extract
JpgFromRaw,PreviewImage, andThumbnailImage, using the largest valid embedded preview. - Use the lazy LibRaw decoder only when a Canon RAW file has no usable embedded preview.
- Read and write CR2 EXIF, XMP, IPTC, date precision, description, keywords, GPS coordinates, and location labels.
- Read and write CR3 EXIF and XMP metadata without applying unsupported IPTC-IIM fields.
- Preserve Canon maker notes, sensor data, embedded previews, and other untouched camera metadata.
- Update enabled-format configuration, UI text, manifest, README, and the RAW roadmap.
- Preserve all established JPG, PNG, TIFF, HEIF, and DNG behavior.
- Bump the application and service-worker cache version to 0.8.0.
0.7.1
- Add
ENABLED_FORMATSwith the available groupsjpg,png,tiff,heif, anddng. - Expand each group to its associated extensions and expose the enabled groups/extensions through
/api/config. - Omit disabled formats from browser folder scans and reject them at backend metadata, preview, and processing endpoints.
- Generate the default page subtitle and empty-folder guidance from the enabled format groups.
- Validate configuration strictly so unknown or empty format lists fail clearly at startup.
- Load
pillow-heifonly on the first HEIF preview. - Prefer an embedded DNG preview without loading LibRaw, and import
rawpyonly when a rendered DNG fallback is actually required. - Keep a decoder loaded after first use until container restart, avoiding repeated load/unload overhead.
- Preserve all format behavior when
ENABLED_FORMATSis omitted. - Bump the application and service-worker cache version to 0.7.1.
0.7.0
- Add DNG folder scanning,
DNGformat badges, and format-sort compatibility. - Add browser-friendly DNG previews by preferring embedded
JpgFromRaw,PreviewImage, andThumbnailImagedata. - Add a half-size LibRaw rendering fallback for DNG files without a usable embedded preview.
- Add
rawpyand the container OpenMP runtime required by its LibRaw decoder. - Validate DNG uploads as TIFF-based files before processing.
- Read and write DNG EXIF, XMP, IPTC, date precision, description, keywords, GPS coordinates, and location label metadata.
- Preserve the original DNG container, sensor data, and embedded previews while overwriting the same local file.
- Update the interface, manifest, environment example, README, and format roadmap.
- Preserve all established JPG, PNG, TIFF, and HEIF processing behavior.
- Bump the application and service-worker cache version to 0.7.0.
0.6.1
- Add optional
APP_TITLEandAPP_SUBTITLEenvironment variables for the visible page heading and subtitle. - Keep
APP_NAMEbackward-compatible as the title fallback and application identity. - Update the browser tab title from the configured page title.
- Bump the application and service-worker cache version to 0.6.1.
0.6.0
- Add HEIC, HEIF, and HIF folder scanning and in-place metadata processing.
- Normalize all three HEIF-family extensions to a
HEIFformat badge and include them in format sorting. - Generate temporary browser-friendly JPEG previews for HEIF-family images while preserving and overwriting the original container on save.
- Add
pillow-heifand the container HEIF runtime needed to decode previews. - Validate HEIF-family files as ISO Base Media File Format containers with recognized HEVC image brands before processing, without admitting renamed AVIF files.
- Read and write HEIF EXIF/XMP dates, precision marker, description, keywords, GPS coordinates, and location label without applying IPTC-IIM fields.
- Return updated files using HEIC/HEIF media types while keeping the original filename and extension.
- Update the interface, manifest, documentation, and empty-folder guidance for the new formats.
- Preserve the established JPG, PNG, and TIFF processing paths.
- Bump the application and service-worker cache version to 0.6.0.
0.5.0
- Add in-place PNG metadata reading and writing.
- Add in-place TIFF/TIF metadata reading and writing.
- Generate temporary browser-friendly JPEG previews for TIFF files while preserving and overwriting the original TIFF on save.
- Validate JPEG, PNG, and TIFF file signatures before metadata processing.
- Add normalized JPG, PNG, and TIFF format badges to the left photo list.
- Show the current file format alongside size and modified time in the viewer.
- Add Sort: Format, grouping by normalized format and then filename.
- Keep TIFF list thumbnails lazy: a format tile is shown until that TIFF has been opened and previewed.
- Add configurable TIFF preview edge and pixel limits.
- Bump the application and service-worker cache version to 0.5.0.
0.4.3
- Fix favorite locations appearing empty after a browser refresh.
- Load the shared server-side favorite list during application startup instead of waiting for Open photo folder.
- Keep the existing refresh when opening a folder as a defensive re-sync for changes made by another family member.
- Preserve all favorites already stored in the
photo-date-editor-dataDocker volume. - Bump the application and service-worker cache version to 0.4.3.
0.4.2
- Added shared favorite locations to the Location tab.
- Favorite names and coordinates are stored server-side in the persistent
photo-date-editor-dataDocker volume. - Added Use, Add current location, and Delete selected controls for favorite locations.
- Favorite locations are available to every browser and family member using the same Docker stack.
- Duplicate favorite names are rejected case-insensitively.
- Documented MP4 as a later media phase after the planned photo formats.
0.4.1
- Fix
Shift+Tabso it activates the previous metadata tab immediately and focuses that tab's first field. - Keep Left/Right arrow keys dedicated to previous/next photo navigation.
- Remove the tab-header Arrow/Home/End behavior that conflicted with photo navigation and was awkward on compact Mac keyboards.
- Proxy OpenStreetMap tiles through the backend and serve them same-origin through Caddy, avoiding Brave third-party tile blocking.
- Add an in-memory map-tile cache and clear map loading/error status text.
- Add an explicit message when the Leaflet library fails to load instead of silently showing a dead map.
- Add
ca-certificatesexplicitly to the container image for outbound HTTPS map and geocoder requests. - Keep all map environment variables optional; existing
.envfiles remain valid. - Bump the application and service-worker cache version to 0.4.1.
0.4.0
- Add a dedicated Location tab with an interactive Leaflet map.
- Add user-triggered address/place search through a backend geocoder endpoint.
- Add click-to-place and draggable map markers.
- Add editable decimal latitude and longitude fields plus an optional location label.
- Read existing EXIF/XMP GPS metadata and repopulate the map and fields.
- Write GPS coordinates to EXIF and XMP while preserving existing GPS unless the user changes it.
- Add explicit Clear location behavior that removes app-managed GPS and location tags on save.
- Add configurable tile, geocoder, and default map settings through optional environment variables.
- Rate-limit uncached public geocoder calls to one request per second and cache results in memory.
- Add
Shift+Tabto cycle backward through right-side metadata tabs while keeping normalTabfield navigation. - Add arrow-key navigation when a tab header has focus.
- Avoid service-worker caching of third-party map tiles and scripts.
- Bump the application and service-worker cache version to 0.4.0.
0.3.0
- Add status filtering for All, Pending, Saved, Skipped, and Failed photos.
- Add sorting by filename or status; status order prioritizes Pending, then Failed, Skipped, and Saved.
- Make previous/next and Save & Next follow the currently filtered and sorted list.
- Replace the single blue progress fill with green Saved, yellow Skipped, and red Failed segments; Pending remains the grey remainder.
- Add accessible progress text with counts for every status.
- Document the proposed PNG, TIFF, HEIC/HEIF, DNG, Canon RAW, and Nikon RAW roadmap.
- Explicitly drop DWG and BMP alongside the previously excluded formats.
- Bump the service-worker cache and application version to 0.3.0.
0.2.0
- Read EXIF/XMP/IPTC metadata from the selected JPEG and populate the editor fields.
- Recognize files previously edited by Photo Date Editor from their XMP marker, including in another browser.
- Show a saved metadata summary such as date, time precision, description presence, and keyword count.
- Add a persistent Skipped state and sidebar icon.
- Count Saved + Skipped photos as processed in the progress bar.
- Rename the secondary save action to Save current.
- Clarify
Ctrl+Sas Save current photo and stay on it. - Record whether an entered time was known or unknown in the app's XMP marker.
- Preserve compatibility with progress state and files created by 0.1.