Skip to content

Releases: simulot/immich-go

v0.27.0 Faster uploads when photos are located on a nework folder

29 Jun 06:54
64221e9
Compare
Choose a tag to compare

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

New Contributors

We are thrilled to welcome new contributors to the project:

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

24 May 18:55
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.26.2...v0.26.3

v0.26.2 timeout fix

08 May 08:09
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.26.1...v0.26.2

v0.26.1 bug fix

06 May 17:54
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.26.0...v0.26.1

v0.26.0

03 May 13:40
Compare
Choose a tag to compare

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

12 Apr 07:00
Compare
Choose a tag to compare

This release fixes the error when importing iCloud's memories.

Changelog

  • 46cc6b2 chore(deps): bump github.com/navidys/tvxwidgets from 0.10.0 to 0.11.0
  • 29de9bc chore(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0
  • 20fb688 doc: add --memories to the readme
  • 06d6e6d fix from-icloud csv error and import memories

v0.25.2

05 Apr 08:03
Compare
Choose a tag to compare

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

03 Apr 09:36
Compare
Choose a tag to compare

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

22 Mar 16:32
Compare
Choose a tag to compare

New Features

  • Command from-icloud:

    • Thanks to @cederigo's contribution, you can now import photos directly from an iCloud takeout. This feature preserves the capture date and albums, ensuring your photos are organized just as they were in iCloud.
    • Kudos to @cederigo for this enhancement!
  • 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.

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 features partner sharing and external library, has been successfully addressed.

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

15 Mar 15:52
Compare
Choose a tag to compare
v0.24.7 Pre-release
Pre-release

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

Full Changelog: v0.24.6...v0.24.7