renovate[bot]
1fb13c24a7
chore(deps): update node.js to v24.21.0 ( #31576 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-15 09:07:23 -04:00
renovate[bot] and Daniel Dietzler
e55ac299a4
chore(deps): update node ( #31329 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-14 21:48:02 +02:00
Daniel Dietzler
7b51c50a96
feat: people merge improvements ( #31456 )
2026-09-14 19:10:25 +02:00
Jason Rasmussen
c0eed4902a
chore: version v3.2.0 ( #31441 )
...
chore: v3.2.0
2026-09-11 11:02:34 -04:00
Daniel Dietzler
2a62622041
feat: NestJS 12 and ESM ( #31237 )
2026-09-10 13:22:29 +02:00
Mees Frensel
da8131d5c2
fix(web): album date range formatting ( #28564 )
2026-09-03 10:31:15 +02:00
renovate[bot] and Daniel Dietzler
5fcfb63980
chore(deps): update typescript-projects ( #31183 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-09-01 12:25:41 +02:00
immich-push-o-matic[bot]
e61312084b
chore: version v3.2.0-rc.0
2026-08-27 19:43:45 +00:00
Timon
8b3d6b320b
feat(server): new search API ( #30179 )
2026-08-27 20:39:55 +02:00
Daniel Dietzler
c7d24321bf
feat: allow users to re-run facial recognition for their group ( #30965 )
2026-08-27 16:38:07 +02:00
bo0tzz
a366db1494
feat: cut releases from release branches ( #31033 )
2026-08-27 15:10:07 +02:00
bo0tzz
6221e29c70
fix: throw a typed error on malformed api responses ( #31006 )
...
* fix: throw a typed error on malformed api responses
* fix: drop response body parse check
* fix(web): keep json response validation when overriding fetch (#31008 )
* fix(cli): report malformed api responses (#31007 )
2026-08-26 00:38:39 +00:00
renovate[bot] and Daniel Dietzler
aa6e4d9173
fix(deps): update typescript-projects ( #30990 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-25 20:17:24 +02:00
Daniel Dietzler
9e3d9a7770
fix: thumbnail generation for specific SVGs ( #30908 )
2026-08-25 19:57:48 +02:00
351be95769
feat: memories view ( #28675 )
...
* wip web memories view
* paginate searchMemories
* improve memories ui
* feat(mobile): memories view
* improve memories web ui
* fix(web): avoid unnecessary memory refreshes
* refactor(web): move timline memory manager filter
* fix(web): memories infinitely loading on 0 results
* fix(web): memories resetting
* feat(web): animated memory previews
* feat(web): memory page dark styling
* chore(mobile): fix failing memory lane tests
* chore(mobile): remove old import
* chore(e2e): fix failing memory lane tests
* chore(server): revert searchMemories changes
* chore(server): lint
* chore(mobile): fix bad merge
* chore(e2e): fix memory ui tests
* chore(web): rename /memory to /memories
* chore(mobile): linting
* chore(web): linting
* fix(web): prevent duplicate memory page loading
* fix(web): lint
* fix(web): memories page improvements
* chore(mobile): lint
* fix(mobile): fix translations
* fix(mobile): build errors
* fix(web): prevent memories from infinitely loading
* chore(e2e)): fix failng memory viewer test
* chore(web): clean up types in memory manager
* chore(web): lint
* feat: update list and detail memory page layouts
* onlyFavorites through drift
* rename to get all
* mobile: use widgetWhen in memory list page
* remove redundant check
* fix: e2e
---------
Co-authored-by: Timon <mail@timonrieger.de >
Co-authored-by: Jason Rasmussen <jason@rasm.me >
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com >
2026-08-24 19:16:33 -05:00
Jordan Brock and Ray
79c4c00f70
feat(web): tag renaming v2 ( #27909 )
...
* implement updated rename tag feature
* Fix tag update handler
* Ensure toast displays updated tag name
* Ensure toast displays updated tag name
* Handle updates to tag closure table, prevent slash in API filename, test case updates
* delete child tags on parent delete
* Update frontend for better handling of nested tags
* pr checklist fixes
* fix unit test for tag controller
* Hide path for top-level tags
* regenerate SQL files
* name updates optional for tag update operations
* e2e tests for new tag api changes
* changes from code review, additional test coverage
* test fixes, web component refactor
* test assets
* test asset updates
* open-api rebuild
* update unit tests
* fix tag dto tests
* Update web/src/lib/modals/TagEditModal.svelte
Fix missing color bug
Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com >
* fix tag e2e test
* remove closure table bug fixes
* remove nullish from tag name update schema
* regenerate openapi and sql
* fix test and e2e test
* simplify tag repository update process
* minor fix and sql regenerate
* fix tests, regen open-api, update dto
* Remove unused function
* Remove accidental test asset ref
* re-add test assets
* pin submodule to main branch commit
* Update test cases based on feedback
* Server fixes based on feedback
* regenerate sql
---------
Co-authored-by: Ray <3608878+Pecacheu@users.noreply.github.com >
2026-08-21 14:55:11 -04:00
Jason Rasmussen and Daniel Dietzler
caea849fee
feat: asset file apis ( #25900 )
...
* feat: asset file endpoints
* Update server/src/controllers/asset-file.controller.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
* Update server/src/controllers/asset-file.controller.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-08-21 13:55:25 +00:00
Diogo Correia
c9776fb990
fix(web): download archives via html POST forms ( #30021 )
...
* fix: download archives via html POST forms
* refactor: fix css of download panel, add translations and toasts
* style: run lint, formatter, check
* chore: generate open-api specs
* refactor(web): simplify download manager, use SvelteMap
* refactor(server): parse fields from x-www-form-urlencoded request
* refactor: move content-disposition to ImmichReadStream
* Pass asset ids as a comma-separated string
This fixes a bug where the 1000 parameter limit is being hit when
downloading 1000+ assets.
* Add download controller test
* Fix lint warnings
2026-08-20 20:58:41 -04:00
Sacha Brouté
c7f6197e75
feat: add oauth account management url ( #30873 )
2026-08-20 21:31:34 +00:00
Jason Rasmussen
24532c4d82
fix(ci): docker caching ( #30894 )
2026-08-20 16:37:43 -04:00
Jason Rasmussen and Daniel Dietzler
11b1aa5ecf
feat: cluster groups ( #30739 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-20 20:03:00 +02:00
Jason Rasmussen
e529557160
feat: new config endpoints ( #30881 )
...
* refactor: config endpoints
* chore: pr feedback
2026-08-20 11:46:17 -04:00
Jason Rasmussen
47c5a3dbf6
refactor: api key response dto ( #30887 )
2026-08-20 11:23:12 -04:00
bo0tzz
821c933c51
fix(cli): enforce node engine version on start ( #30437 )
2026-08-18 16:17:43 -04:00
Brandon Wees
93d2d30fe0
feat: rotate an API key ( #30801 )
...
* feat: rotate an API key
* fix: test response
* chore: create new api key scope
* chore: code review
2026-08-18 16:07:39 -04:00
Daniel Dietzler
03da1ba108
chore: single line block comments ( #30852 )
2026-08-18 17:55:26 +02:00
renovate[bot] and Daniel Dietzler
20edf0051c
fix(deps): update typescript-projects ( #30839 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-18 12:24:54 +02:00
renovate[bot] and Daniel Dietzler
11755e5a53
chore(deps): update dependency eslint-plugin-unicorn to v73 ( #30844 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-18 12:00:16 +02:00
Ben Beckford
447cc40a50
feat: workflow logging ( #29878 )
...
* feat: workflow logging
* chore: update sql and openapi patch
* chore: include id in workflow log entries
* chore(server): update sql and lint
* chore(mobile): remove openapi files
* chore(web): lint
* chore: clean up workflow logging
* chore(server): add runId to workflow logs
* chore(server): store workflow results as enum
2026-08-13 19:18:24 -07:00
Ben Beckford
a939561e70
feat: workflow asset tag trigger/filter/action ( #29043 )
...
* feat: workflow asset tag trigger and filter
* feat(web): show tag names in workflow editor
* fix(web): tag picker in schema config editor
* fix: invalid plugin manifest
* chore: update workflow method wrapper type
* chore: update tag filter method declaration
* feat: workflow action to add tags to assets
2026-08-12 16:26:03 -07:00
Mees Frensel
2a1691868e
chore: use import.meta.dirname instead of __dirname ( #30738 )
2026-08-12 18:01:30 +02:00
bo0tzz
0344c61e4c
feat: use version service for docs archive switcher ( #30675 )
2026-08-12 13:36:33 +02:00
bo0tzz
cf17dcbfee
feat: derive mobile build number from semver ( #30569 )
2026-08-11 12:45:32 +00:00
renovate[bot]
23636382c4
chore(deps): update node.js to v24.19.0 ( #30703 )
2026-08-11 12:27:42 +02:00
renovate[bot] and Daniel Dietzler
4c4170077c
fix(deps): update typescript-projects ( #30539 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-08-11 11:39:38 +02:00
renovate[bot] and Daniel Dietzler
8e0ad9b2c4
fix(deps): update typescript-projects ( #30305 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-31 12:55:30 +02:00
Giacomo Pinato and Giacomo Pinato
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
bo0tzz
4a68a87531
fix: use trixie-slim base image for cli and e2e-auth-server ( #30411 )
...
The alpine suffix part wasn't getting updated by renovate, and the 3.20
chain stopped getting node updates too. This also just aligns the base
image distro with what we use elsewere.
2026-07-30 15:14:18 -04:00
bo0tzz
6afcc39fb2
chore: sequence pnpm installs in mise tasks ( #30412 )
2026-07-30 15:12:42 -04:00
Ben Beckford
9d03a92b10
fix: assetFileFilter path matching ( #30394 )
2026-07-30 11:08:24 +02:00
github-actions
8aa95c6747
chore: version v3.1.0
2026-07-27 18:20:33 +00:00
12f741d911
chore(cli): remove -h shorthand for --skip-hash ( #30119 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-22 13:25:29 +02:00
Ben Beckford
8bbc252703
feat: exif metadata workflow filter ( #29295 )
2026-07-22 11:20:57 +02:00
renovate[bot] and Daniel Dietzler
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 Daniel Dietzler
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 Daniel Dietzler
1b0f473457
fix(deps): update typescript-projects ( #30087 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-21 11:01:23 +00:00
renovate[bot] and Daniel Dietzler
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
Ben Beckford and Daniel Dietzler
12fc8bac18
feat: workflow filter assets by upload path ( #30000 )
...
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com >
2026-07-17 09:46:48 +00:00
renovate[bot]
f18065b3c2
chore(deps): update dependency @types/node to ^24.13.3 ( #29892 )
2026-07-16 20:31:45 +02:00
renovate[bot] and Daniel Dietzler
a3dd19cd2f
fix(deps): update typescript-projects ( #29633 )
...
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev >
2026-07-16 20:14:05 +02:00