Daniel Dietzler and Codex
f2e05e9d98
chore: migrate oauth claim validation to zod ( #32373 )
...
(cherry picked from commit 0808f24a37cf376a509f1b4046cd52fd2d72b20d)
2026-10-29 20:43:01 +03:00
renovate[bot] and Codex
568a9d977e
chore(deps): update dependency @immich/ui to v0.91.1 ( #32798 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit d5918c00420601f1ec97e6d67425c81958b3eb80)
2026-10-29 20:42:12 +03:00
Valentin Agachi and Codex
c3933169de
feat(server): add OCR extraction workflow filter ( #32464 )
...
feat(server): add OCR workflow filter
(cherry picked from commit 2e0eb35e93dcf8468398d7015daa5ab231c7dd9c)
2026-10-29 20:41:01 +03:00
austinmdillow and Codex
dc5553b239
feat: workflow filter by missing EXIF property ( #32713 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit a1a80cb1c416d3a480963a78d7b9df329d867bf6)
2026-10-28 20:41:41 +03:00
bo0tzz and Codex
8f2bfa099e
fix(server): scope duplicate group resolution to the caller's assets ( #32603 )
...
(cherry picked from commit 7bb91afbe15e82502f8f6c92b61edb3865ce76f3)
2026-10-28 20:41:28 +03:00
bo0tzz and Codex
07083aec22
fix(server): anchor the folder view path match ( #32612 )
...
(cherry picked from commit c76e1517321df98df6e9b2f856493ac49ec05877)
2026-10-28 20:41:28 +03:00
renovate[bot] and Codex
7fb7699c06
chore(deps): update dependency eslint-plugin-unicorn to v78 ( #32588 )
...
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit 72e2bc8b0bc4a7e0a84ac16c0bde7f5e538729fb)
2026-10-28 20:41:28 +03:00
bo0tzz and Codex
9669f7cc6e
perf(server): use a createdAt range for "recently added" time buckets ( #32434 )
...
(cherry picked from commit cf719e733e6250e0fcd8f45d2e2c46f166d3557d)
2026-10-25 16:23:45 +03:00
bo0tzz and Codex
b3bd5d1fd1
feat(server): remove deprecated password field from update-me ( #32623 )
...
* feat(server): remove deprecated password field from update-me
* fix: tests for removed password field
(cherry picked from commit 3f6a071203187681b6c06b977665dc624c431336)
2026-10-22 05:25:45 +03:00
bo0tzz and Codex
ad9b368cb8
fix(server): exclude partners' locked assets from legacy search ( #32604 )
...
(cherry picked from commit 8dab52c7491c79cba742315dea8d7f5212915875)
2026-10-22 05:25:45 +03:00
Jonathan Jogenfors and Codex
42dffaa0c8
fix(server): dont follow symlinks ( #32614 )
...
(cherry picked from commit 10e216b8385ac40e6aa150f75fc4730c4e8a7494)
2026-10-22 05:24:55 +03:00
Jason Rasmussen and Codex
b12be9119f
feat: passkeys ( #32194 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
(cherry picked from commit 6233a79bf7e4cec11e9ea1094908ff3b228fcbe0)
2026-10-22 05:23:22 +03:00
bo0tzz and Codex
f80be1030b
fix(server): restrict partner timeline requests to timeline assets ( #32565 )
...
* fix(server): restrict partner timeline requests to timeline assets
* test(server): update medium timeline tests for consolidated check
(cherry picked from commit e9fb180f466a687cebda9b7e17cef403de4b81fa)
2026-10-22 05:21:00 +03:00
Mert and Codex
4c89b0f7df
perf(server): more efficient person queries ( #32523 )
...
(cherry picked from commit 38a2ce4daa678615561d2b87a8f2bb30f70fdc53)
2026-10-22 05:20:19 +03:00
743e555a1b
fix(deps): update dependency bullmq to v6 ( #31914 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-19 20:31:26 +03:00
0207d48035
chore(deps): update vitest monorepo to v5 ( #31912 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-19 20:27:42 +03:00
Codex
ca7766fcd6
Show on-this-day memories from the last 20 years with automatic playback
2026-10-18 19:00:06 +03:00
Codex
d25c946c29
test(local): cover shared link access and video readiness; fix lint dependency
2026-10-14 21:37:42 +03:00
bo0tzz and Codex
4fe7d42cfc
perf(server): stop aggregating every album asset when loading a shared link ( #32412 )
...
SharedLinkRepository.get (shared link page load, /shared-links/me, and the
OpenGraph tags rendered for /share/:key) json_agg'd every asset of the
album, with its full exif row, ordered by fileCreatedAt. The only things
used from it are the asset count and the first/last localDateTime.
Load the album without assets and fill assetCount/startDate/endDate from
getMetadataForIds, which is what GET /albums/:id already uses. The counts
now also respect the default visibility filter, and the dates are
formatted the same as on /albums/:id.
150k-asset album link, PG 14:
| | before | after |
|------------------------|-----------------|--------|
| query | 4.2-6.5 s | ~0.26 s (metadata aggregate) |
| JSON built by postgres | 261 MB | - |
| GET /shared-links/me | - | 0.28 s, 961 B |
(cherry picked from commit ac453b5557e42ad45962d3079a4e4450671053e9)
2026-10-14 21:24:13 +03:00
5b2a3a52be
fix: run workflow steps in their configured order ( #32241 )
...
fix: run workflow steps in their configured order (#32240 )
(cherry picked from commit 56319b76fc60d7e3bd57a2275ac908da42665e5f)
Co-authored-by: infocus13 <74890563+infocus13@users.noreply.github.com >
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-10-08 19:48:52 +00:00
d806bc002c
fix: person without assets ( #32117 )
...
fix: person without assets (#32114 )
(cherry picked from commit c0506fe723995808f4effd8d40d0235fcaf104b5)
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-10-06 08:38:24 +00:00
6e5a4fdf00
fix: assetTagFilter any matching ( #32027 )
...
fix: assetTagFilter any matching (#32008 )
(cherry picked from commit 28e375c0585f8ee69f80257dc0be073a2b114cdf)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-10-02 15:50:49 +00:00
843051f0f5
fix(server): include album owner for album shared links ( #31990 )
...
fix(server): include album owner for album shared links (#31837 )
(cherry picked from commit fd97f3e5a62a4af1a8e17d2e766eb952eefae24a)
Co-authored-by: Mees Frensel <33722705+meesfrensel@users.noreply.github.com >
2026-10-01 17:06:45 +00:00
84fb51a110
fix(server): make library exclusion matching consistently case-insensitive ( #31973 )
...
fix(server): make library exclusion matching consistently case-insensitive (#31970 )
(cherry picked from commit de6dcf669c498192ce73b181ec6d5de5d844b03a)
Co-authored-by: Jonathan Jogenfors <jonathan@jogenfors.se >
2026-10-01 10:26:56 +00:00
f32a891d40
feat: bulk person management ( #31960 )
...
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-30 23:39:14 +02:00
b20bc5ed82
feat: auto-sync name changes to connected users ( #31931 )
...
feat: auto-sync name changes to connected users (#31923 )
* feat: auto-sync name changes to connected users
* fix: rename to faceId
* fix: pr feedback
* fix: mobile build
(cherry picked from commit aec7c0d97bd6679b2b300e72e870b83c5ef13c85)
Co-authored-by: Jason Rasmussen <jason@rasm.me >
2026-09-30 07:53:02 +00:00
ceea058662
fix: person management ids validation and permissions ( #31902 )
...
fix: person management ids validation and permissions (#31898 )
(cherry picked from commit 4408f49d15d5b38eb2fbfa40b68cf697a0e16ca8)
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-09-29 16:22:56 +00:00
76c08fa230
fix: library watcher should respect ignore patterns ( #31418 )
...
* fix: chokidar should respect ignore patterns
* fix: chokidar mock
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-28 15:51:19 -04:00
c12d5e6d35
feat: people management ( #31620 )
...
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-09-28 21:29:15 +02:00
Mees Frensel and GitHub
5f0c9a5996
fix(server): emit sidecarwrites and assetupdates consequently ( #31777 )
...
* fix(server): emit sidecarwrites and assetupdates consequently
* fix medium test
2026-09-28 14:36:05 -04:00
8ede1d54d8
fix(server): exclude hidden assets from large files search ( #31479 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-28 18:21:44 +02:00
54987c764a
fix(server): write tag updates to exif table ( #31425 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-09-28 15:52:25 +00:00
aa02337847
fix(server): use GeoNames for reverse-geocoded country names ( #30199 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-28 11:06:30 +00:00
fabxyz and GitHub
d1faeb8199
fix(server): incorrect scaling of rotated videos when transcoding ( #31473 )
2026-09-26 10:07:24 -04:00
Alex and GitHub
d6d0947383
feat: birthday memories ( #30831 )
2026-09-22 04:30:43 -05:00
Jason Rasmussen and GitHub
54e7ffa4e6
feat: asset face v3 ( #31591 )
2026-09-16 16:27:01 -04:00
Jason Rasmussen and GitHub
99fd561144
chore: transition to nullable user.oauthId ( #31560 )
2026-09-15 09:33:15 -04:00
Daniel Dietzler and GitHub
7b51c50a96
feat: people merge improvements ( #31456 )
2026-09-14 19:10:25 +02:00
Daniel Dietzler and GitHub
ef9718e93d
fix: feature face update ignores soft-deleted faces ( #31533 )
2026-09-14 09:47:02 -04:00
Daniel Dietzler and GitHub
221ddd31c4
feat: server imports linting ( #31537 )
2026-09-14 14:51:31 +02:00
Jason Rasmussen and GitHub
9abb605b62
fix: sync client disconnect ( #31461 )
2026-09-11 14:48:55 -04:00
Mert and GitHub
e039168e4a
fix(server): vacuum after migrations, concurrent reindex ( #31424 )
2026-09-11 10:27:04 -04:00
bo0tzz and GitHub
72f1034c58
fix: only run version check in production env ( #31443 )
2026-09-11 10:19:45 -04:00
Daniel Dietzler and GitHub
2a62622041
feat: NestJS 12 and ESM ( #31237 )
2026-09-10 13:22:29 +02:00
Daniel Dietzler and GitHub
399217bf5f
fix: face detection of edited assets ( #31240 )
2026-09-03 15:40:30 +02:00
Daniel Dietzler and GitHub
0628f8b966
fix: do not move faces of users other than the current owner ( #31145 )
2026-08-31 16:11:04 +02:00
Timon and GitHub
8b3d6b320b
feat(server): new search API ( #30179 )
2026-08-27 20:39:55 +02:00
1db4677cf8
feat: same-second photos now sub-sort by filename ( #29528 )
...
* Update sorting
Updates the sorting to sort
1. First by timeCreatedAt, but then
2. By filename.
* Push tsts
* Sync SQL
* Formatting fixes
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-08-27 13:46:10 -04:00
Daniel Dietzler and GitHub
c7d24321bf
feat: allow users to re-run facial recognition for their group ( #30965 )
2026-08-27 16:38:07 +02:00
Jordan Brock and GitHub
1b3aa9cd51
fix(server): correct tag create operations ( #30877 )
2026-08-24 17:57:32 +02:00