renovate[bot] and GitHub
c89104d144
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.3 ( #30699 )
2026-08-11 12:21:04 +02:00
Daniel Dietzler and GitHub
5ad1e4e0f7
fix: medium tests dependencies ( #30612 )
2026-08-07 11:36:20 +02:00
renovate[bot] and GitHub
099cb25ce0
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.8.1 ( #30542 )
2026-08-04 20:58:32 +02:00
Daniel Dietzler and GitHub
0d7147dcec
fix: metadata extraction as LensModel can be a float ( #30512 )
2026-08-03 18:18:24 +02:00
Santo Shakil and GitHub
cee08a2320
fix(server): remove the asset row when an upload fails after creating it ( #30349 )
2026-08-03 14:59:05 +02:00
Gueye Papa Djadji and GitHub
04453b7206
fix(server): reject invalid or deleted user when creating a partner ( #30431 )
2026-08-03 12:56:00 +02:00
Ben Beckford and GitHub
fb4a08c17a
chore(server): test assetFileFilter ( #30430 )
2026-08-03 11:55:40 +02:00
bo0tzz and GitHub
f1a90b7f36
feat: log hint about downgrades when migration is missing ( #30493 )
2026-08-03 11:06:38 +02:00
36cb86c886
fix(deps): update dependency js-yaml to v5 [security] ( #30440 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-31 13:24:39 +02:00
8e0ad9b2c4
fix(deps): update typescript-projects ( #30305 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-31 12:55:30 +02:00
Jason Rasmussen and GitHub
0f4dddaf84
fix: migration order ( #30424 )
2026-07-30 15:55:21 -04:00
6b6058c463
feat: store null instead of empty string for album.description ( #30123 )
...
Addresses the first column of issue #28832 : album.description now stores
and returns null instead of an empty string.
Co-authored-by: Giacomo Pinato <giacomo.pinato@gmail.com >
2026-07-30 19:41:49 +00:00
Devesh Kolte and GitHub
9732bebb55
fix(server): store null instead of empty string for user password ( #30223 )
2026-07-30 15:19:58 -04:00
bo0tzz and GitHub
7c44c29a8f
chore: deflake album to asset backfill sync test ( #30417 )
2026-07-30 15:13:44 -04:00
bo0tzz and GitHub
6e1e79585e
chore: install mise tools from the lockfile in the server image ( #30416 )
2026-07-30 15:13:12 -04:00
bo0tzz and GitHub
a316ba35ca
fix: shared check for server setup availability ( #30311 )
...
* fix: shared check for server setup availability
* chore: add medium test
* feat: require @Authenticated decorator everywhere
* fix: lints
2026-07-30 15:12:25 -04:00
Alexander J and GitHub
0293414abd
fix: minor typos ( #30385 )
2026-07-30 00:05:11 +02:00
bo0tzz and GitHub
b468459b1a
chore: add test for admin controller permissions ( #30316 )
2026-07-28 15:44:51 +02:00
Daniel Dietzler and GitHub
f68815e35f
fix: calendar heatmap api key permissions ( #30314 )
2026-07-28 12:16:59 +02:00
renovate[bot] and GitHub
4225281f9f
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.15 ( #30301 )
2026-07-28 11:36:43 +02:00
Daniel Dietzler and GitHub
6c86d39f6d
fix: calendar heatmap permissions ( #30310 )
2026-07-28 11:33:10 +02:00
github-actions
8aa95c6747
chore: version v3.1.0
2026-07-27 18:20:33 +00:00
bo0tzz and GitHub
3606144190
chore: clarify MediaRepository extract logging ( #30249 )
2026-07-26 13:02:57 -04:00
Daniel Dietzler and GitHub
b08f6b9c50
chore: medium tests system config helpers ( #30174 )
2026-07-24 21:27:31 +02:00
bo0tzz and GitHub
4a5f13d0e5
fix: don't skip person thumbnail generation if ML is disabled ( #30194 )
2026-07-24 10:06:32 -04:00
Jason Rasmussen and GitHub
acc7e6b299
fix: min faces user preference ( #30177 )
2026-07-23 17:06:09 -04:00
Timon and GitHub
f24a128319
feat(server): new search schemas and query builders ( #28686 )
2026-07-22 22:33:23 +00:00
Jason Rasmussen and GitHub
b9f6c4aaf2
feat: password invalidate sessions ( #30125 )
2026-07-22 12:09:05 -04:00
Aditya Raj Singh and GitHub
a0c7b81142
fix(server): dissolve stack when its non-primary assets are deleted ( #29354 )
2026-07-22 13:00:52 +02:00
Ben Beckford and GitHub
0f5bf6071f
chore(server): test assetDateFilter workflow method ( #30110 )
2026-07-22 10:48:31 +02:00
a560e08693
fix: re-evaluate OIDC role claim on every login and support array values ( #29991 )
...
* fix(server): re-evaluate OIDC role claim on every login and support array values
Previously the OIDC role claim (immich_role) was only read at user
auto-registration time and only accepted as a scalar string, so admin
status never updated after the first login and array-valued role/group
claims (common with Keycloak, Entra ID, etc.) were silently ignored.
Now the role claim is normalized from either a string or an array of
strings, and existing users have their isAdmin flag synced from the
claim on every login, keeping the IdP as the source of truth for
privileges while leaving isAdmin untouched when the claim is blank.
* fix(server): use .includes() instead of .some() for role claim check
Satisfies unicorn/prefer-includes lint rule flagged by CI.
* fix(server): resolve missing role claim to standard user and fix test mock
Default the OIDC role claim to 'user' when the IdP omits it so
auto-registration doesn't crash, and add the missing getAdmin mock in the
auth.service test so it correctly simulates an existing admin rather than
the first-user-registration path.
* fix: claim sync logic
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com >
2026-07-21 17:21:19 -04:00
Daniel Dietzler and GitHub
5d7283e44d
fix: album update event emitting ( #30120 )
2026-07-21 19:43:27 +00:00
73329a8ce8
fix(server): send id_token_hint on OIDC logout ( #29720 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-21 19:19:13 +02:00
Timon and GitHub
ee4bd3f833
feat: add album asset event handling ( #29008 )
...
* feat: add album asset event handling
* fix medium tests
* patch medium test
* collapse in AlbumUpdate
2026-07-21 10:55:46 -05:00
aa08dad1f5
chore(deps): update dependency eslint-plugin-unicorn to v72 ( #30092 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-21 15:33:46 +02:00
renovate[bot] and GitHub
ce022233ae
chore(deps): update base-image to v202607211135 ( #30090 )
2026-07-21 13:58:02 +02:00
1b4d41324e
fix(server): file uploads for files with extension only filenames ( #30024 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-21 11:57:28 +00:00
8365cdd59e
chore(deps): update dependency typescript to v7 ( #29903 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-21 13:36:57 +02:00
renovate[bot] and GitHub
e918658cc1
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.11 ( #30086 )
2026-07-21 12:24:32 +02:00
df970da59e
chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned ( #29684 )
...
* chore(deps): update dependency eslint-plugin-unicorn to v70
* fix: linting
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-20 23:47:14 -04:00
Daniel Dietzler and GitHub
77091b0107
fix: search statistics locked folder permissions ( #30063 )
...
fix; search statistics locked folder permissions
2026-07-20 20:08:42 -04:00
Daniel Dietzler and GitHub
4c754f2999
fix: timebuckets locked permissions ( #30066 )
2026-07-20 20:07:56 -04:00
Ben Beckford and GitHub
f2c00c107d
fix(server): return workflow steps in ascending order ( #29999 )
2026-07-17 11:30:40 +02:00
renovate[bot] and GitHub
f18065b3c2
chore(deps): update dependency @types/node to ^24.13.3 ( #29892 )
2026-07-16 20:31:45 +02:00
a3dd19cd2f
fix(deps): update typescript-projects ( #29633 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-16 20:14:05 +02:00
Ryan Rockey and GitHub
80cdfebbc7
fix: zero byte image uploads ( #29426 )
2026-07-16 13:00:07 +02:00
cevdet and GitHub
f73c53c563
chore(seo): remove redundant twitter metadata tags ( #29801 )
2026-07-16 12:29:38 +02:00
Mert and GitHub
d2744f52b1
fix(server): disable heif security limit ( #29954 )
...
disable security limit
2026-07-16 04:40:33 -05:00
renovate[bot] and GitHub
834cc54abc
chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.7 ( #29893 )
2026-07-15 18:45:35 +00:00
Timon and GitHub
4c2d2284aa
refactor(server): album user route params ( #29503 )
2026-07-15 18:15:41 +00:00