Skip to content

Releases: simulot/immich-go

v0.24.6

09 Mar 17:03
c80672b
Compare
Choose a tag to compare
v0.24.6 Pre-release
Pre-release

Improved Handling of Potential Duplicates to Prevent Immich Errors

  • For albums
  • For tags
  • For uploaded assets returning a duplicate status
  • For photos duplicated with different names

This release aims to resolve the internal server errors recently reported in Immich. I'm awaiting error reports. Please run immich-go with the options --log-level=DEBUG --api-trace. Additionally, set the Immich environment variable IMMICH-LOG-LEVEL to debug (read more here).

What's Changed

  • c80672b Merge pull request #800 from simulot:simulot/issue792
  • e64c0e0 Revert "feat: update burst frameInterval to 900ms to handle slow camera frame rate"
  • f2e4803 feat: enhanced asset management and processing
  • 6cd8a8f feat: add Checksum field and DeviceAssetID method to Asset struct
  • 59a17ec feat: add FileDate to asset metadata for improved file archiving
  • 3b50d9a feat: add Values method to SyncMap for retrieving all values
  • a1b4332 feat: add asset management methods to Album struct
  • bf5056a feat: add constructor for Album struct with required fields
  • 4ec6b06 feat: add debugfiles build tags and implement no-op tracking functions
  • 969d0dd feat: add end-to-end test for archiving files from Immich and validate file integrity
  • 4ba7c22 feat: add end-to-end tests for directory scanning and result validation
  • baf1748 feat: add end-to-end tests for uploading from Google Photos and validate results
  • 87fb67e feat: add flushing capability to smartBodyCloser on close
  • 00ea156 feat: add new image files for end-to-end testing of burst and upgrade low-quality scenarios
  • 6b7552b feat: enhance AddIDToCollection method to return success status and handle missing collections
  • 36ffdf4 feat: enhance CollectionCache with concurrent access support and improved item management
  • 102fbe0 feat: enhance thread-safe Set with item count and add unit tests
  • 15d1bb8 feat: implement CollectionCache for managing collections with cache size limit and add unit tests
  • 4abf812 feat: implement immichIndex for asset management and replace AssetIndex
  • 2610363 feat: implement thread-safe Set data structure
  • 14b0561 feat: include FileSize and Checksum in Asset conversion
  • 026181a feat: optimize item count management in syncset for thread safety
  • 38a1438 feat: refactor Group function to use file date when exif date is missing for improved date handling
  • df6b617 feat: refactor cache management for albums and tags to improve performance and simplify code
  • 50095b3 feat: refactor collection types and add methods for item retrieval in CollectionCache
  • 1615fc0 feat: rename DateTaken to FileDate and update JSON tags for metadata struct
  • 6b53495 feat: set frameInterval for time difference at 900ms for slow cameras
  • dd1ecb3 feat: simplify Album struct and remove asset management methods

New Contributors

Full Changelog: v0.24.5...v0.24.6

v0.24.5

02 Mar 18:00
Compare
Choose a tag to compare
v0.24.5 Pre-release
Pre-release

This release aims to resolve the persistent Internal Server Error issue. Using user logs, I have identified the following causes for these errors:

Motion Picture Movie Errors

The MVIMG*.jpg file contains an embedded MP4 used by Immich for moving images. For compatibility, smartphones also create a MP4 file. Immich extracts the embedded MP4 file and stores it. When the MP4 is uploaded, Immich detects it as a duplicate, occasionally causing a server-side error during metadata updates by Immich-go. This error halted Immich-go.

This issue is resolved by ignoring MVIM*.MP4 files.

Duplicated Files with Different Names

Immich-go does not detect multiple copies of the same file with different names. It attempts to upload each copy, and Immich identifies the duplication. This scenario was not properly handled by Immich-go, leading to repeated tagging attempts. Although not critical, this sometimes results in an internal error, leaving some photos untagged.

A temporary patch has been applied to address this issue while awaiting a more robust solution.

Next Steps

I am awaiting user reports confirming the problem's resolution. If errors persist, please run Immich-go with the options --log-level=DEBUG --api-trace. Additionally, set the immich's environment variable IMMICH-LOG-LEVEL to debug (read more here).

Thank you for your support.

  • 2500+ ⭐
  • 34K+ downloads

Changelog

  • a55850b feat: add status constants for asset management created, duplicate, replaced
  • c25529d feat: add test cases and sample data for handling duplicate files during upload
  • ef09237 feat: update upload and replace asset functions to return duplicate status and avoid tagging assets several time fixes: #784
  • 40b01f6 fix: change error log to warning when UI mode initialization fails
  • 68730fb fix: ignore MVIMG files to prevent upload errors Fixes #786

v0.24.4

01 Mar 17:47
ad9678d
Compare
Choose a tag to compare
v0.24.4 Pre-release
Pre-release

The Internal Server Error is still around.

When reporting errors, please run immich-go with options --log-level=DEBUG --api-trace and set the server's log to DEBUG as well.
Zip all files and report the error.

This release brings the possibility to ignore server's error.
--on-server-errors=stop,continue, to stop after n errors

Changelog

  • 333b0dc feat: add on-server-errors flag to handle server error behavior during uploads
  • af77aa4 feat: enhance API tracing with body hijacking and mutex for thread safety
  • 58dd9c5 fix: adjust error handling logic for server errors during uploads Fixes #777
  • 3729a64 fix: use atomic load for thread-safe count analysis in Report method
  • f2af858 refactor: simplify API tracing log messages for clarity

v0.24.3

28 Feb 19:26
9abfcf8
Compare
Choose a tag to compare
v0.24.3 Pre-release
Pre-release

Add debug logs
Exit after 5 errors

Full Changelog: v0.24.2...v0.24.3

v0.24.2

23 Feb 15:31
f1b5b47
Compare
Choose a tag to compare

This release addresses Bad Request and Internal Error issues caused by the incorrect use of the replaceAsset API call, combined with an error in identifying variations of the same photo on the Immich server.

Changelog

  • f1b5b47 Fix stack creation error when uploading assets with same name (#752)
  • 7d4edc8 Validate asset IDs in CreateStack and add test case for bad requests (#751)
  • a953dc1 chore(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#733)
  • 3336f69 fix: enhance timestamp parsing for Nothing camera's BURST filenames (#748)

v0.24.1

16 Feb 20:27
03b23f2
Compare
Choose a tag to compare

Changelog

  • 6ce50e5 Implement file tracking and improve logging (#729)
  • 03b23f2 fix: adjust goreleaser configuration for build tags and architectures (#730)
  • 53096d0 fix: ensure close and remove temporary files on Windows (#725)

v0.24

14 Feb 21:04
bf1f206
Compare
Choose a tag to compare

Changelog

  • ce0da8d Fix-version-in-build
  • 95c3b33 improve error messages for missing server and API key parameters
  • c164cd6 refactor ci/cd pipeline to build version
  • 4a0a376 fix for supplemental-metadata.JSON
  • d3a276d Add support of People tag from Google takeout
  • 00f68a5 fix unnecessary tag
  • 6a193de CI workflow and build steps

Full Changelog: v0.23...v0.24

v0.23

08 Feb 19:26
3881a31
Compare
Choose a tag to compare

This version handles the latest changes done by Google on the takeout files:

  • The json files are named: supplemental-metadata.json
  • The album's json layout is changed

Attention, this version isn't compatible with the previous ones. Read the documentation

I'm still working on the release procedure.

immich-go v0.23.0-RC11 🏗️ there is alway one more bug 🏗️

03 Feb 21:25
3bdf4b5
Compare
Choose a tag to compare

This release fixes the issue introduced in RC10:
#665 404 Not Found Cannot PUT /api/assets//original

It also fixes a subtle change in the format of the capture date for Immich's assets.

The documentation is available here.

immich-go v0.23.0-RC10 🏗️ still in progress 🏗️

02 Feb 13:18
9f238df
Compare
Choose a tag to compare

This release candidate introduces the bulkTagAssets API call to streamline session tagging and reduce overhead.

Additionally, a new variation in Google Takeout files has been observed. Some JSON files are now named supplemental-metadata.json, presenting a set of challenging issues.

The documentation is here.

What's Changed

  • feat: integrate BulkTagManager for improved asset tag management by @simulot in #653
  • Fix MacOS files exclusion by @simulot in #654
  • Simulot/issue638 Bad request when TagAssets by @simulot in #655
  • Simulot/issue652 Google Photos: add support for supplemental-metadata.json files by @simulot in #657
  • Fix XMP file upload issue by @simulot in #663

Full Changelog: v0.23.0-RC9...v0.23.0-RC10