Skip to content

Releases: simulot/immich-go

0.16.0

02 Jun 09:28
Compare
Choose a tag to compare

Release 0.16.0

feature: [#261] Fallback to no-gui mode when the UI can't be created

When the terminal can't handle the UI mode, the program falls back to non gui mode automatically

feature: The log can be written with the JSON format (JSONL)

Use the -log-json option to enable JSON logging (JSONL format). This allows using ./jq to explore large logs.

feature: [#277] Adjust client side timeouts

The immich client timeout is set with the option -client-timeout=duration.
The duration is a decimal numbers with a unit suffix, such as "300ms", "1.5m" or "45m". Valid time units are "ms", "s", "m", "h".

fix: [#270] Missing associated metadata file counter is not updated after the performance improvement

The counter missing associated metadata is broken since 0.15.0

fix: [#266] Better handling of archive name with wildcards that matches with no file

When the file name pattern returns no files, a message is printed, and the program ends.

fix: [#273] Missing upload files

Any error is counted as upload error, and reported in the log file.

fix: Error handling during multitasking

Any error occurred during parallelized tasks cancels other as well.

fix: Processed files count is displayed in no-ui mode

The processed files counter is updated whenever a file for the source is processed.

fix: Unsupported files are now counted as unsupported files

There were previously counted as discarded files.

fix: The name of the sidecar file is correctly written in the log

fix: [#272] Wrong release downloaded for 0.15.0

Oops!

Changelog

  • de0b458 Better handling of archive name with wildcards that matches with no file Fixes #266
  • 3549bd8 Edit releases.md
  • c98b3f9 Edit releases.md
  • 11cfe5f Edit releases.md
  • 6ffb62a Edit releases.md
  • 6a4fdaa Fallback to no-gui mode when the UI can't be created Fixes #261
  • dc65281 Fix: report the xmp file name in the log
  • 1007705 Merge pull request #264 from simulot:simulot/issue261
  • e0f0321 Merge pull request #268 from simulot:simulot/issue266
  • c80201b Merge pull request #271 from simulot:simulot/issue267
  • ef8d972 Merge pull request #274 from simulot:simulot/issue273
  • b58becb add the possibility to write a JSON log
  • 1bc587c better log handler initialisation
  • 8b0b2aa change the wording "server has a better asset" instead of "server has a better photo"
  • 62175d1 edit readme and release note
  • 2fb5950 edit release.md
  • 118ee4f fix the error management when pulling assets from immich and parsing the archive
  • 7e5bede fix the immich reading progression bar
  • 34100e1 fix: Adjust client side timeouts #277
  • eb275b6 fix: Count offile not assiciated with google JSON
  • 7579f25 fix: e2e tests
  • 80e102c fix: print the latest error when exiting
  • 17b0caf fix: usupported files are counted as discared files
  • 088a117 report upload error
  • 26204a9 show procecessed in no-gui mode
  • 31b32c3 write report

0.15.0

26 May 06:42
c63dc09
Compare
Choose a tag to compare

fix #255 Last percents of google puzzle solving are very slow when processing very large takeout archive

The google puzzle solving is now much faster for large takeout archives.

fix #215 Use XDG_CONFIG_HOME for storing config

The configuration file that contains the server and the key is now stored by default in following folder:

  • Linux $HOME/.config/immich-go/immich-go.json
  • Windows %AppData%\immich-go\immich-go.json
  • Apple $HOME/Library/Application Support/immich-go/immich-go.json

Store the log files into sensible dir for user's system

The default log file is:

  • Linux $HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log
  • Windows %LocalAppData%\immich-go\immich-go_YYYY-MM-DD_HH-MI-SS.log
  • Apple $HOME/Library/Caches/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log

Feat: [#249] Fix Display the path of log file name

The log file name is printed when the program exits.

Changelog

0.14.1

20 May 13:45
Compare
Choose a tag to compare

Release 0.14.1 "A better UI"

This release is focussed the improvement of the user experience.

A shiny user interface

. _ _  _ _ . _|_  __  _  _ 
|| | || | ||(_| |    (_|(_)
      version dev     _)

Working with big database and big takeout files take some time. Users are now informed about the progression of different tasks:

image

The screen presents number of processed photos, how they have been processes, the messages log, and at the bottom, the progression of the 3 mains tasks.

A minimalist user interface

This shiny interface can be be disabled for quieter user interface (-no-ui).
The progression is visible. All details on operations are listed in the log file.

. _ _  _ _ . _|_  __  _  _ 
|| | || | ||(_| |    (_|(_)
      version dev     _)   

Server status: OK
Connected, user: demo@immich.app
Immich read 100%, Google Photos Analysis: 100%, Uploaded 100%  

Input analysis:
----------------------
scanned image file                      :   25420
scanned video file                      :    1447
scanned sidecar file                    :   26934
discarded file                          :     197
unsupported file                        :       0
file duplicated in the input            :    1706
associated metadata file                :   26867
missing associated metadata file        :       0

Uploading:
----------
uploaded                                :   25160
server error                            :       0
file not selected                       :       1
server's asset upgraded with the input  :       0
server has same photo                   :       0
server has a better asset               :       0

Immich-go runs simultaneously the collect of immich-server's assets and the analysis of the Google takeout

The code has been refactored to run several task simultaneously to animate the progression screen. The program runs now the reading of immich asset and the the takeout analysis in parallel.

Immich-go now always produces a log file

The default name for the log file is immich-go YYYY-MM-DD HH-MI-SS.log, located in the current directory.

It's possible to give a path and a name to the log file with the option -log-file=path/to/file.log.
If the file file exists already, the new messages will be added to its end.

The log level OK is removed.

Immich-go is published under the AGPL-3.0 license

I chose the same license as the immich project license to release immich-go.

Next steps

  • Issues closing
  • A shiny user interface for the command duplicate

Changelog

0.14.0

20 May 08:39
f79261d
Compare
Choose a tag to compare

Release 0.14.0 "A better UI"

This release is focussed the improvement of the user experience.

A shiny user interface

. _ _  _ _ . _|_  __  _  _ 
|| | || | ||(_| |    (_|(_)
      version dev     _)

Working with big database and big takeout files take some time. Users are now informed about the progression of different tasks:

image

The screen presents number of processed photos, how they have been processes, the messages log, and at the bottom, the progression of the 3 mains tasks.

A minimalist user interface

This shiny interface can be be disabled for quieter user interface (-no-ui).
The progression is visible. All details on operations are listed in the log file.

. _ _  _ _ . _|_  __  _  _ 
|| | || | ||(_| |    (_|(_)
      version dev     _)   

Server status: OK
Connected, user: demo@immich.app
Immich read 100%, Google Photos Analysis: 100%, Uploaded 100%  

Input analysis:
----------------------
scanned image file                      :   25420
scanned video file                      :    1447
scanned sidecar file                    :   26934
discarded file                          :     197
unsupported file                        :       0
file duplicated in the input            :    1706
associated metadata file                :   26867
missing associated metadata file        :       0

Uploading:
----------
uploaded                                :   25160
server error                            :       0
file not selected                       :       1
server's asset upgraded with the input  :       0
server has same photo                   :       0
server has a better asset               :       0

Immich-go runs simultaneously the collect of immich-server's assets and the analysis of the Google takeout

The code has been refactored to run several task simultaneously to animate the progression screen. The program runs now the reading of immich asset and the the takeout analysis in parallel.

Immich-go now always produces a log file

The default name for the log file is immich-go YYYY-MM-DD HH-MI-SS.log, located in the current directory.

It's possible to give a path and a name to the log file with the option -log-file=path/to/file.log.
If the file file exists already, the new messages will be added to its end.

The log level OK is removed.

Immich-go is published under the AGPL-3.0 license

I chose the same license as the immich project license to release immich-go.

Next steps

  • Issues closing
  • A shiny user interface for the command duplicate

Changelog

0.13.2

01 Apr 20:54
Compare
Choose a tag to compare

Changelog

0.13.1

26 Mar 13:38
Compare
Choose a tag to compare

Changelog

0.13.0

24 Mar 15:57
Compare
Choose a tag to compare

Improvement: #189 Use a configuration file to store server's address and its API key

The server URL and the API key are now stored into a configuration file (by default $HOME/.immich-go/immich-go.json).
If not provided in the CLI argument, those values are read from the configuration file.

The option -use-configuration=path/to/config/file let you specify the configuration file.

fix: #193 Flags not being passed to subcommands #193

Changelog

  • 52bb5dd - changed strings.Cut by strings.TrimSuffix
  • ae3095a .
  • a798255 Albums from subdirectories with matching names Fixes #159
  • 607c29d Append Log (#190)
  • a3ab22c Better handling of wild cards in path
  • 909c310 Better wording on the readme.md (#180)
  • e74c913 Bump version in release notes
  • e51af8a Bump version in release notes
  • 0d0c4ca Delete e2e.env
  • b2aa7f6 Merge branch 'main' into simulot/issue159
  • 7ef3a01 Merge branch 'main' into simulot/issue159-Albums-from-subdirectories-with-matching-names
  • 156ca3c Merge branch 'main' of github.com:simulot/immich-go
  • c70d665 Merge pull request #192 from matthewkeller36/dedupe-no-ext
  • 9c7fae1 Merge pull request #194 from simulot/simulot/issue159
  • 70c4a6e Merge pull request #197 from simulot/simulot/issue189
  • 257bd97 Refactor CLI file name parsing
  • ec8b177 Simulot/issue179 (#186)
  • fb314d8 Simulot/issue179 (#188)
  • e35e4e2 WIP Add e2e test for XMP and new way to parse CLI
  • d203831 [FEATURE REQUEST] Use immich CLI configuration if it already exists
  • 9fd0660 added ignore extension duplication option
  • c61772f added ignore extension duplication option (#191)
  • 571cf83 remove e2e.env
  • 81488b8 update readme

0.12.0

10 Mar 20:33
Compare
Choose a tag to compare

Changelog

0.11.0

02 Mar 20:30
362d82b
Compare
Choose a tag to compare

Changelog

  • 4b04b24 chore(linter): improve error checkcing (#151) (#153)
  • ed48ec8 chore(linter): improve error checkcing (#154)
  • a47cca4 feat: get the list of supported extensions from the server #134 (#164)
  • c3907ec Add CI with Linting and Testing (#142)
  • 3f92c68 Feat--get-the-list-of-supported-extensions-from-the-server-#134 (#166)
  • c65215b Refactor file paths and name (#150)
  • 2b7fe45 chore(deps): bump actions/setup-go from 4 to 5 (#143)
  • 008a9e2 chore(deps): bump github.com/google/uuid from 1.3.1 to 1.6.0 (#144)
  • d91a351 chore(deps): bump github.com/melbahja/goph from 1.3.1 to 1.4.0 (#145)
  • 935e0a4 chore(deps): bump github.com/yalue/merged_fs from 1.2.3 to 1.3.0 (#168)
  • c80db6c chore(deps): bump golangci/golangci-lint-action from 3 to 4 (#156)
  • 362d82b chore: follow immich 1.95.0 API changes (#170)
  • 8adc7c2 feat(linter): Add linter to the codebase (#146)
  • 7bc97ee feat(linter): Add more linter to the codebase (#147)
  • c6cf7da fix: #140 Device UUID is not set
  • 6791c93 rename log and journal (#157)

0.10.0

28 Jan 17:16
Compare
Choose a tag to compare

Changelog

  • 0d8a166 Merge branch 'main' into #135-feat--use-the-searchAssets-API-to-workaroud-server's-timeout
  • 13e6ba4 Update readme.md (#137)
  • 815ef70 fix: #131 panic syntax error in pattern
  • a51e022 fix: #135 use the searchAssets API to workaround server's timeout