Icloud Photos Sync Versions Save

One-way sync engine for the iCloud Photos Library into the native file system

v1.4.0-beta.1

5 months ago

1.4.0-beta.1 (2023-11-27)

Features

  • Support for iCloud accounts using Advanced Data Protection (96de00c), closes #202

Bug Fixes

  • Extracting all set-cookie and scnt headers from response (a481372)

Tests

  • Added unit tests for network-manager class (fe2f5c6)

Build System

  • Refining dependabot configuration (0c72bf2)

Maintenance

  • [app] bump @backtrace/node from 0.1.0 to 0.1.3 in /app (cb29087)
  • [app] bump @types/node from 18.18.8 to 18.18.13 in /app (d7f7f53)
  • [app] bump croner from 7.0.4 to 7.0.5 in /app (85a854e)
  • [app] bump knip from 2.39.0 to 3.0.1 in /app (d80339c)
  • [app] bump the inquirer group in /app with 2 updates (8bdbc04)
  • [app] bump the jest group in /app with 1 update (5fd2c5b)
  • [app] bump the mockfs group in /app with 1 update (3c5fba9)
  • [app] bump the tough-cookie group in /app with 1 update (4029d57)
  • [app] bump the typescript group in /app with 4 updates (fbf4fd6)
  • [docs] bump the mkdocs group in /docs with 1 update (cc24e91)
  • [docs] bump the mkdocs group in /docs with 1 update (53e82c6)
  • [semantic-release] bump the semantic-release group in /.github/actions/helper/prepare-semantic-release with 3 updates (1ba4f51)
  • Bumped axios and using @steilerdev/axios-har-tracker fork because PR is not getting looked at (adc03b2)

Documentation

  • Adding ADP information (f14afe0)
  • Information about WebUI option (1a83415)

v1.3.1-beta.1

6 months ago

1.3.1-beta.1 (2023-11-04)

Bug Fixes

  • Ensuring scheduled test execution cannot overrun (5dca390)
  • Stale library lock no longer blocking execution (8933563)

Tests

  • Testing daemon mode in E2E tests (820853e)

Build System

  • Ensuring no race conditions, when queueing multiple release workflows (c421431)

Maintenance

v1.3.0

7 months ago

1.3.0 (2023-10-16)

Features

  • Support for SRP/GSA based authentication flow (84c1d91), closes #363
  • Adding support for iCloud China (a8be985), closes #286

Bug Fixes

  • Adding support for com.apple.m4a-audio (df552ae)
  • Adding support for com.canon.crw-raw-image (18c448a)
  • Adding support for public.mp3 (c86fe4c)
  • Adding warnings, if asset download tries overwriting an existing file (10c60b6)
  • Already linked duplicate (28123f3)
  • Fixes broken logToCLI logic (ba297a0)
  • Gracefully handling 'incorrect MFA code' (d7371dc), closes #353
  • Gracefully handling EACCES error when starting MFA server (2fc2bcb), closes #343
  • Handling file extension for duplicate files (0228fcf)
  • HAR file properly tracking header values and query parameter values are now strings (bcea4ae)
  • Investigating duplicate files (9193ca5)
  • No longer requiring password input through CLI or env variable, but can be provided via stdin (63eba6c), closes #341
  • Support for 'public.image' (with extension 'HEIC') (4f7d36d)

Build System

  • Grouping of dependencies in dependabot alerts (b74e505)
  • Removing tags from dependabot (b8cf54e)
  • Updating source maps when moving them (714c868)

Maintenance

  • [app] Bump eslint and dependencies (639a5cf)
  • [app] Bump eslint from 8.49.0 to 8.50.0 in /app (a6dc6b2)
  • [app] Bump knip from 2.30.0 to 2.33.3 in /app (666da27)
  • [docs] Update mkdocs-material requirement from ~=9.4.2 to ~=9.4.5 in /docs (876eac2)
  • [docs] Update mkdocs-material requirement in /docs (5933f5d)
  • Bump @semantic-release/release-notes-generator from 11.0.7 to 12.0.0 (ad9490c)
  • Bump actions/checkout from 3 to 4 (39a0803), closes #325
  • Bump backtrace (f5267f2)
  • Bump commander from 10.0.0 to 11.0.0 in /app (eca62fd)
  • Bump croner from 6.0.7 to 7.0.1 in /app (0a23907), closes #315
  • Bump eslint to support typescript 5.2 (8a80a8a)
  • Bump mkdocs (e019099)
  • Bump node to 18.18.0 (4e00dce)
  • Bump node version (e3126e3)
  • Bump p-event from 5.0.1 to 6.0.0 in /app (fddfd8e), closes #308
  • Bump p-queue from 7.4.0 to 7.4.1 in /app (ba788f2), closes #338
  • Bump typescript from 5.1.6 to 5.2.2 in /app (06c1af2), closes #317
  • Bumping semantic-release (1fabb14), closes #340 #339 #335
  • Update mkdocs requirement from ~=1.4.3 to ~=1.5.2 in /docs (8ea3123), closes #336
  • Update mkdocs-material requirement from ~=9.1.15 to ~=9.3.1 in /docs (afc1d57), closes #337
  • Update mkdocs-material requirement from ~=9.4.1 to ~=9.4.2 in /docs (8adbb13), closes #361

Documentation

  • Fixing minor documentation issues (f3de501)
  • Support of InfluxDB 2 in Grafana Dashboard (c71e2bc), closes #329

v1.3.0-beta.2

7 months ago

1.3.0-beta.2 (2023-10-15)

Features

  • Support for SRP/GSA based authentication flow (84c1d91), closes #363

Bug Fixes

  • Adding support for com.apple.m4a-audio (df552ae)
  • Adding support for com.canon.crw-raw-image (18c448a)
  • Adding support for public.mp3 (c86fe4c)
  • Already linked duplicate (28123f3)
  • Fixes broken logToCLI logic (ba297a0)
  • Gracefully handling 'incorrect MFA code' (d7371dc), closes #353
  • Handling file extension for duplicate files (0228fcf)
  • HAR file properly tracking header values and query parameter values are now strings (bcea4ae)
  • Investigating duplicate files (9193ca5)

Maintenance

  • [app] Bump eslint and dependencies (639a5cf)
  • [app] Bump knip from 2.30.0 to 2.33.3 in /app (666da27)
  • [docs] Update mkdocs-material requirement from ~=9.4.2 to ~=9.4.5 in /docs (876eac2)
  • [docs] Update mkdocs-material requirement in /docs (5933f5d)
  • Bump node version (e3126e3)

v1.3.0-beta.1

7 months ago

1.3.0-beta.1 (2023-10-01)

Features

  • Support for Advanced Data Protection (eb234c9), closes #202

Bug Fixes

  • Adding warnings, if asset download tries overwriting an existing file (10c60b6)

Build System

  • Removing tags from dependabot (b8cf54e)
  • Updating source maps when moving them (714c868)

Maintenance

  • Update mkdocs-material requirement from ~=9.4.1 to ~=9.4.2 in /docs (8adbb13), closes #361

v1.2.1-beta.1

7 months ago

1.2.1-beta.1 (2023-09-23)

Bug Fixes

  • Adding experimental support for iCloud China (a8be985), closes #286
  • Gracefully handling EACCES error when starting MFA server (2fc2bcb), closes #343
  • No longer requiring password input through CLI or env variable, but can be provided via stdin (63eba6c), closes #341
  • Support for 'public.image' (with extension 'HEIC') (4f7d36d)

Build System

  • Grouping of dependencies in dependabot alerts (b74e505)

Maintenance

  • [app] Bump eslint from 8.49.0 to 8.50.0 in /app (a6dc6b2)
  • Bump @semantic-release/release-notes-generator from 11.0.7 to 12.0.0 (ad9490c)
  • Bump actions/checkout from 3 to 4 (39a0803), closes #325
  • Bump backtrace (f5267f2)
  • Bump commander from 10.0.0 to 11.0.0 in /app (eca62fd)
  • Bump croner from 6.0.7 to 7.0.1 in /app (0a23907), closes #315
  • Bump eslint to support typescript 5.2 (8a80a8a)
  • Bump mkdocs (e019099)
  • Bump node to 18.18.0 (4e00dce)
  • Bump p-event from 5.0.1 to 6.0.0 in /app (fddfd8e), closes #308
  • Bump p-queue from 7.4.0 to 7.4.1 in /app (ba788f2), closes #338
  • Bump typescript from 5.1.6 to 5.2.2 in /app (06c1af2), closes #317
  • Bumping semantic-release (1fabb14), closes #340 #339 #335
  • Update mkdocs requirement from ~=1.4.3 to ~=1.5.2 in /docs (8ea3123), closes #336
  • Update mkdocs-material requirement from ~=9.1.15 to ~=9.3.1 in /docs (afc1d57), closes #337

Documentation

  • Fixing minor documentation issues (f3de501)
  • Support of InfluxDB 2 in Grafana Dashboard (c71e2bc), closes #329

v1.2.0

8 months ago

1.2.0 (2023-09-18)

Features

  • Added global event bus (6ee46a8)
  • Added optional HAR file tracker (6e1ce51)
  • Introduction of flexible resource file in preparation for future library structure changes or additional persisted information (bec50d1)

Bug Fixes

  • Add support for com.dji.mimo.pano.jpeg filetype (8597476)
  • Add support for mpo filetype (01df262)
  • Add support for mts, ai, cr3 & orf (0e13238), closes #239
  • Adding Docker volume for default data dir (43f2aee)
  • Adding iCloud connection timeout to ensure setup does not get stuck (afed26a)
  • Adding support for avif file type (4f6db76)
  • Adding timeout option for download requests (841c7e4)
  • Allow additional and deleted zones (e58bfe9), closes #327
  • Always reading trust token from file (9c14564)
  • Broken build process, introduced by dynamically importing package.json (8d13be1)
  • BT startup failure (57cc74d)
  • Default retry count set to 10 (4e7dad7)
  • Emitting schedule events to metrics exporter for traceability (7bb63d0)
  • Event Registry to keep track of event listeners, stopping memory leaks (0fda9ee)
  • File diffing issue (c47b057), closes #232
  • Gracefully handling timed out MFA code (7e7d156)
  • Handling expiring session for long running sync tasks (e044037)
  • Ignoring .fuse_hidden files (2634f0d)
  • Implementation of new crash reporting SDK (b1c429d)
  • Improving error reporting (bfffda3)
  • Maximum call size no longer exceeded for large libraries (1d0f5e9), closes #231
  • Memory leak due to mishandling of event registry objects after cleanup (186d668)
  • Moving network limiter into NetworkManager for consistent handling (8cf6787)
  • No longer double reporting MFA server errors and gracefully handling address in use errors (c916e17)
  • Premature exit (ceb2b28)
  • Range Error while unwinding error code stack (a0520df)
  • Runtime warning and error handling (fab23e2)
  • Separate streaming axios instance to handle asset downloads (afed636)
  • Summarizing link errors instead of printing dedicated error (a938c7c)
  • Summarizing write errors instead of printing dedicated error (cb5fff5)
  • Support for 'largeThumbnail' extension (913671c)
  • Swap JSON for jsonc to avoid circular errors (3be72cd), closes #327
  • Timing out execution if MFA code is not provided (81fdccf), closes #223
  • Truncating log file before submitting (b050158)
  • Unknown file type descriptor no longer fatally fails (e138994)
  • Waiting for full connection reset on retry (46b6c72)

Tests

  • Adding tests for ResourceManager class (d973b1c)
  • Finalized validator tests (ca802c9)
  • Replacing .toThrowError(new Error) with .toThrow(regex) (f18291a)
  • Reworking SyncEngine in order to correctly report on coverage (dd090a3)
  • Updating of tests to support new environment (855f5cc)

Build System

  • Update of VSCode settings (0a31704)
  • Updating project structure for new build system (9e7af62)

CI Pipeline

  • Adjusting build output directory (f47ec90)
  • Complete rework of CI/CD pipeline (e2ad084)
  • Dynamically reading package.json instead of statically injecting code (80cfa9b)
  • External PR workflow using correct logic (c715f59)
  • Improving automatic tagging (75567e9)
  • Improving schema build script (0200173)
  • Removing unnecessary files from npm distribution tarball (a0fb08f)
  • Restructuring semantic release dependencies to include them in dependabot alerts (4f3310b)
  • Reworking app build and dist process (0e3adff)
  • Simplifying npm test scripts (0193b33)
  • Updating token acquisition workflow to use wireguard instead of upterm (c03f221)

Maintenance

  • Bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.59.9 in /app (f4d0cc3), closes #276
  • Bump croner from 5.3.5 to 6.0.3 in /app (c236671), closes #237
  • Bump eslint from 8.31.0 to 8.42.0 in /app (48f663d), closes #274
  • Bump eslint from 8.31.0 to 8.42.0 in /app (08097e7), closes #274
  • Bump jest and @types/jest from 29.0.3 to 29.5.0 (0e8f35f)
  • Bump node 18.16.1 (a369622), closes #275 #263
  • Bump to node 18.17.1 (a027997)
  • Bump ts-jest from 29.0.5 to 29.1.1 in /app (3c5dafc)
  • Bump typescript from 4.9.4 to 5.1.3 in /app (ab05fb6), closes #272
  • Misc. dependency bumps (ee91335)
  • Update mkdocs requirement from ~=1.4.2 to ~=1.4.3 in /pages (ae75036), closes #256
  • Update mkdocs-material requirement from ~=9.1.2 to ~=9.1.15 in /pages (43bb318), closes #271

Documentation

  • Added PR template (83bd1b8)
  • Adding dev environment documentation and configuration (ab21ba4)
  • Adding funding information (704be67)
  • Adding note about '$' sign in passwords (dc8756f), closes #280
  • Adding reference to development blog (4854905)
  • Adding Security Policy (6e7d62c)
  • Addition of Contribution Guidelines and Code of Conduct (b9e8fcd)
  • Dynamically pretty-formatting CLI reference (2e5a7e6)
  • How to increase file limits (80a35a3), closes #278
  • Improved handling of issue process (38d3e2a)
  • Information on node warnings (c52bf70)
  • Overhaul of feature request and issue templates (d90c572)
  • Providing design motivation of local file structure (34de0b8)
  • Restructuring of docs (284e66a)
  • Update of Readme (a34373a)
  • Updated and completed typedoc (83a9ef4)

v1.2.0-beta.5

8 months ago

1.2.0-beta.5 (2023-09-17)

Bug Fixes

  • Adding iCloud connection timeout to ensure setup does not get stuck (afed26a)
  • Allow additional and deleted zones (e58bfe9), closes #327
  • Gracefully handling timed out MFA code (7e7d156)
  • Handling expiring session for long running sync tasks (e044037)
  • Premature exit (ceb2b28)
  • Swap JSON for jsonc to avoid circular errors (3be72cd), closes #327

CI Pipeline

  • Adjusting build output directory (f47ec90)
  • Improving schema build script (0200173)
  • Restructuring semantic release dependencies to include them in dependabot alerts (4f3310b)
  • Reworking app build and dist process (0e3adff)
  • Simplifying npm test scripts (0193b33)
  • Updating token acquisition workflow to use wireguard instead of upterm (c03f221)

Maintenance

Documentation

  • Dynamically pretty-formatting CLI reference (2e5a7e6)

v1.2.0-beta.4

8 months ago

1.2.0-beta.4 (2023-08-28)

Bug Fixes

  • Adding timeout option for download requests (841c7e4)
  • Always reading trust token from file (9c14564)
  • Broken build process, introduced by dynamically importing package.json (8d13be1)
  • BT startup failure (57cc74d)
  • Implementation of new crash reporting SDK (b1c429d)
  • Runtime warning and error handling (fab23e2)
  • Summarizing link errors instead of printing dedicated error (a938c7c)
  • Summarizing write errors instead of printing dedicated error (cb5fff5)
  • Waiting for full connection reset on retry (46b6c72)

CI Pipeline

  • Dynamically reading package.json instead of statically injecting code (80cfa9b)

v1.2.0-beta.3

9 months ago

1.2.0-beta.3 (2023-08-15)

Bug Fixes

  • Adding Docker volume for default data dir (43f2aee)
  • Ignoring .fuse_hidden files (2634f0d)
  • Moving network limiter into NetworkManager for consistent handling (8cf6787)

Tests

  • Adding tests for ResourceManager class (d973b1c)

CI Pipeline

  • Removing unnecessary files from npm distribution tarball (a0fb08f)