Skip to content

Releases: alangrainger/immich-public-proxy

3.3.1

Choose a tag to compare

@alangrainger alangrainger released this 04 Sep 11:33
  • Fix "Download all" failing partway through when IPP is behind Cloudflare (#94)

Zip downloads are now sent with Cache-Control: no-store, so Cloudflare passes it straight through. If you use a "cache everything" rule that overrides the origin's cache headers, you also need to add /share/*/download to your bypass rule, alongside the existing /share/video/* one.

See the Troubleshooting page for details: https://docs.ipp.nz/troubleshooting#download-all-fails-partway-through

3.3.0

Choose a tag to compare

@alangrainger alangrainger released this 03 Sep 23:57

Fixes

  • #289 "Download all" now streams the zip straight from Immich to the visitor instead of staging every file to temp disk first. Fixes out-of-memory crashes on hosts where /tmp is tmpfs (e.g. systemd PrivateTmp), and IPP no longer needs free disk space for downloads. Assets are fetched one at a time, so downloads may be slower if IPP runs on a different network from Immich.
  • #288 Single-asset downloads now honour backpressure, so IPP no longer reads from Immich at LAN speed while a slow visitor's download is still in progress (thanks @pauldovi for the detailed reports on both of these)
  • #284 Aborted zip downloads no longer leave open file handles (listed in 3.2.1 but landed after that build; now moot with #289)
  • #260 Fix empty shares when the Postgres timezone is not UTC (thanks @taaem)
  • #275 Fix video not centred in the lightbox when the info sidebar is open (thanks @vatahome)
  • Docs: troubleshooting note for link previews showing http:// or a private IP behind a reverse proxy (#85)

Config updates (no action needed)

ipp.downloadFromImmichConcurrencyLimit has been removed. If it's still in your config.json it is simply ignored.

3.2.1

Choose a tag to compare

@alangrainger alangrainger released this 19 Aug 19:05
  • #284 Fix issue where aborted zip downloads were not cleaning up the temp files
  • #239 Fix issue with video preview-quality downloads not working in album with allowDownload: 2, but downloads turned off in Immich (thanks @mFIND #281)
  • #285 npm package bump

3.2.0

Choose a tag to compare

@alangrainger alangrainger released this 27 Jul 00:44

What's new

Info sidebar

  • The date row now matches Immich's own sidebar: calendar icon, with date and time on separate lines (#273, thanks @kylmp)
  • New ipp.showMetadata.exif.timeZone option to show the photo's timezone and format the capture time in it. Off by default, and only applies when dateTimeOriginal is also enabled (#273, @kylmp)
  • Without a timezone, dates now show the photographer's local time (matching Immich) instead of converting to the viewer's timezone
  • Correct resolution shown for rotated photos (#274, @kylmp)
  • File sizes now display in binary units (KiB/MiB/GiB), as in Immich (#274, @kylmp)

Date grouping

  • Grouped galleries now follow the album's own sort order from Immich - "Oldest first" albums show their earliest photos at the top (#272, thanks @trecoool). Photos without a date always group at the end.
  • Day group headers now use Immich's timeline format, e.g. "Sat, 18 Oct 2025"

Fixes

  • Fixed date groups shifting by a day when the IPP server runs in a non-UTC timezone

3.1.0

Choose a tag to compare

@alangrainger alangrainger released this 23 Jul 22:40

3.1.0

New docs site

New docs site. The previous monolithic GitHub file was getting a bit unwieldy, hopefully this is a bit easier. I'll keep improving them.

New functionality

  • New config option for single video shares #153. Previously a single-video share opened a gallery page. You can now link directly to the video file instead. Thanks @sajalverma17 PR #266.
  • Individual download buttons without the "download all" zip button #254. You can now have the zip download turned off, but still enable the download button in the image lightbox. Thanks @TimOrme PR #257.
  • The gallery can now show a share's expiry date in the subtitle, e.g. 45 items · available until 2026-07-10. Configurable format and locale - see the config table below. Thanks @lukasganster PR #264
  • Date grouping now supports days as well as months #265.

Config options for the above

These are all under the ipp.gallery section. See the configuration docs for full details.

Key Values Default Purpose
singleVideo bool true true shows a gallery for a single-video share; false links directly to the video file
showDownloadZip bool true Show the bulk-zip UI ("download all" + multi-select). Set false to keep per-asset downloads but hide the zip
showExpiryDate bool false Show the share's expiry date in the gallery subtitle
expiryDateFormat string "YYYY-MM-DD" dayjs format for the expiry date
expiryDateLocale string "" dayjs locale to change the language of the day-of-week, month, etc (e.g. "de", "en-gb")

groupByDate now also accepts "day" / "month" strings in addition to the existing true / false.

3.0.2

Choose a tag to compare

@alangrainger alangrainger released this 15 Jul 09:03
  • Fix #267 error where container crashes on empty assets array.

3.0.1

Choose a tag to compare

@alangrainger alangrainger released this 30 Jun 20:47

A minor improvement from 3.0.0: Built javascript bundles are now served from a versioned path (eg /static/3.0.1/...js) so that you don't need to clear your browser or downstream cache on a new build. #259

The gallery page has a configurable cache time (ipp.gallery.cacheTime, default 5 minutes), so be aware that when you upgrade IPP and look at an existing gallery page, you won't see new features until that cache times out, or until you clear downstream caches.

3.0.0

Choose a tag to compare

@alangrainger alangrainger released this 30 Jun 01:11

Compatible with Immich v3

This release adds compatibility with the upcoming Immich 3.0. It will still remain compatible with Immich 2.x #256

Changes

  • #162 #258 Allow zooming to fullsize image in the lightbox (configurable). IMPORTANT: due to how Immich works, you can only zoom to fullsize if the Immich album allows downloads. There is no way for IPP to get access to the full-size image if downloads are disabled in Immich. See docs/configuration.md for full details.
  • Zoom is now via mouse scroll rather than Alt + scroll, to match Immich behaviour.

Config changes

Two new keys for controlling the image quality:

Key Values Default Purpose
maxZoomQuality preview | fullsize preview Quality the lightbox loads on zoom
maxDownloadQuality preview | fullsize | original original Quality a download serves

Two renames - old keys still work via a startup deprecation notice:

  • allowDownloadAllallowDownload (same 0/1/2). Now purely the download-UI switch (zip + multi-select + per-asset button); no effect on image quality.
  • downloadOriginalPhotomaxDownloadQuality (true"original", false"preview").

See docs/configuration.md for the full table and migration notes.

2.5.0

Choose a tag to compare

@alangrainger alangrainger released this 13 Jun 22:02
  • Full-screen photos now fill the viewport by default to match Immich's behaviour. A bottom strip is reserved when captions are enabled. Especially noticeable on mobile. #252
  • The PhotoSwipe lightbox UI buttons (counter, zoom, close) and padding can now be customised via the ipp.lightbox.options config object. #251 (thanks @e1jo)

2.4.2

Choose a tag to compare

@alangrainger alangrainger released this 12 Jun 01:48