Releases: simulot/immich-go
v0.27.0 Faster uploads when photos are located on a nework folder
Faster
PaulSonOfLars has significantly improved the performance of immich-go when the source of photos is located on a network folder. In his environment, the performance boost is remarkable, going from uploading one picture every 2 seconds to 25 pictures per second: a near 50x increase.
A heartfelt thank you to PaulSonOfLars for this incredible contribution.
What's Changed
- Fix nix flakes command in readme by @Migelo in #952
- Update readme.md - Fix asset filenames docs from amd64 to x86_64 by @adrydale in #975
- Feat: Implement new virtual glob filesystem by @PaulSonOfLars in #971
New Contributors
We are thrilled to welcome new contributors to the project:
- @Migelo made their first contribution in #952
- @adrydale made their first contribution in #975
- @PaulSonOfLars made their first contribution in #971
A big thank you to all contributors for their hard work and dedication to improving immich-go. Your efforts make this project better for everyone!
Full Changelog: v0.26.3...v0.27.0
v0.26.3 Fix archive command
What's Changed
- chore(deps): bump golang.org/x/sync from 0.13.0 to 0.14.0 by @dependabot in #935
- Fixes #942: archive command fails by @simulot in #947
- Added build instructions for Termux to readme.md by @Syntoxr in #939
New Contributors
Full Changelog: v0.26.2...v0.26.3
v0.26.2 timeout fix
v0.26.1 bug fix
v0.26.0
Be Nice with the Immich Server Release
This release addresses the internal errors (500) that have been occurring in Immich over the past few months. These errors happen when metadata is updated through an API call while the image is being processed by an Immich background job. This results in either an error in immich-go or an error in Immich's logs, leaving some files unprocessed.
The Immich team is actively working on resolving this issue. For more details, please refer to the pull request #17561 on GitHub.
As a mitigation measure, immich-go now pauses all Immich background jobs during the upload process. This feature is controlled by the option --pause-immich-jobs
, which is enabled by default. Consequently, the server's activity remains minimal during the upload.
To control Immich's jobs, the API key of an Immich administrator is required. This key must be provided when uploading photos for a regular user. You can pass the admin key using the option --admin-api-key
in addition to the regular user's key.
A big thank to @ivaninkv for his contribution.
What's Changed
- f2220bd feat: Added overwrite flag for upload sub-command
- 75b9ab0 feat: add functionality to pause and resume jobs in the upload command
- adcee9b fix Add an option to have the admin's API key #910:
- 73a7dd9 fix Add an CLI option to pause background jobs, true by default
- 1176834 fix: add connection timeout and keep-alive settings to HTTP client
- 6697b2c fix: improve error messages in PingServer for better debugging
- c2754bc fix: increase default client timeout to 20 minutes
New Contributors
Full Changelog: v0.25.3...v0.26.0
v0.25.3
This release fixes the error when importing iCloud's memories.
Changelog
v0.25.2
This release fixes some pending issues.
Changelog
- 3ef1d69 BUG some date time exif tags are not correctly parsed Fixes #727
- 2e585a7 Missing deoDataExif data from Google Takeouts Fixes #841
- 082a555 chore(lint): update golangci-lint configuration and add backup file
- 9bb7673 fix: improve EXIF date parsing and add comprehensive test cases
- c4b667e fixes: Uploading photo with latitude but no longitude gives a bad request #843
- b574ba6 refactor: remove LivePhotoVideoID field from UpdAssetField struct
- b4af45b refactor: update JSON marshaling for UpdAssetField and add test data for longitude handling
v0.25.1
This release is focused on bug fixing and maintenance.
A big thank you to @exciton who has resolved the issue with live photos causing a Closed Pipe Error.
Changelog
- 172120e Don't filter any images in GetAllAssets so we can find all duplicates
- b7dcfe1 Ignore ErrClosedPipe errors if immich has returned a duplicate status.
- e01cf57 chore(deps): bump github.com/spf13/viper from 1.20.0 to 1.20.1
- 3d944ef chore(deps): bump golangci/golangci-lint-action from 6 to 7
- 8aa4dd4 doc: add --no-ui flag in the readme.md
v0.25.0 iCloud import
New Features
-
Command
from-icloud
: -
Command
from-picasa
:- The import from Picasa, previously available as an option within the
from-folder
command, now has its own dedicated command. This change simplifies the import process for Picasa users.
- The import from Picasa, previously available as an option within the
Improvements
- Stability Enhancements:
- Version
v0.24.7
has been downloaded 333 times, and no new reports of internal server errors have been received. This indicates that the root cause of the errors, which stemmed from the failing duplicate detection by immich-go combined with immich's featurespartner sharing
andexternal library
, has been successfully addressed.
- Version
What's Changed
- 9850c0a add support for icloud takeouts
- 77174e6 chore(deps): bump github.com/spf13/viper from 1.19.0 to 1.20.0
- f058ee1 doc: update readme.md file for command from-icloud and from-picasa
- ca2107e feat: add command to upload photos from Picasa folder or zip file
- 93d95e8 feat: add command to upload photos from iCloud takeout folder or zip file
- 6b608e8 feat: add commands to handle iCloud and Picasa album imports
- b377822 feat: add user information to client and enhance asset filtering by owner and library ID
- 9d04048 feat: sanitize file names by removing invalid characters Fixes #807
- c0e2ebf fix: correct icloudMetadataExt constant
- 895a646 fix: handle invalid year in MP4 metadata reading fixe:#823
- 2f2ebd6 fix: make isArchived and isFavorite fields optional in asset update fixes: #831
- 00025b2 fix: update expected results in end-to-end test for folder uploads
- 3dfd856 fix: update test cases to use sanitized file names
New Contributors
Full Changelog: v0.24.7...v0.25.0
v0.24.7
This release focuses on improving the handling of potential file duplication sources to minimize duplicate uploads to the Immich server. The goal is to reduce internal errors and bad requests.
The duplication check has been refactored to use files' checksums, which requires Immich-go to read files entirely before uploading. This may slow down the process.
Changelog
- 310cab3 feat: Add --include-type for from-immich and from-google-photos (#16)
- c08fabf feat: Implement unit tests for setIncludeExtensionType (#12)
- 8ed7098 feat: add checksum header for asset uploads
- 1390fbe feat: add support for tracking already processed assets by checksum
- c5c86d4 feat: enhance asset handling to record already processed files and improve duplicate detection
- 5f3a337 feat: implement checksum calculation for assets
- 72a0c60 feat: update NewCacheReader to return SHA1 checksum along with CacheReader
- cc68d3c feat:implement-include-type (#10)
- d7c4609 fix: ensure Checksum is set only if SHA1 is provided
- 411635a fix: ignore error from saveFn and reset newItems to avoid retrying failed assets
- e2daa7a fix: improve clarity in log message for duplicate file uploads
- 637e730 fix: include IsTrashed and IsArchived in debug log for Immich assets
- 5fae6af fix: prevent managing albums and tags for duplicate assets during upload
- de51610 fix: replace the gopher image file used for end-to-end tests
- a66e426 refactor: Format code
- fa717c4 refactor: remove BulkTagManager and associated tests
- d16c85d refactor: remove unused getByChecksum method and clean up code formatting
New Contributors
- @hugo-saci made their first contribution in #796
Full Changelog: v0.24.6...v0.24.7