v3.0.0
3.0.0 (2025-10-02)
⚠ BREAKING CHANGES
- If no CLI command is specified, the program will launch in daemon mode
- setups that have the web server port blocked by other programs were able to sync regularly, as long as they didn't need to refresh mfa. Now the app will fail on startup if the web server port is not accessible
- setups that have the web server port blocked by other programs were able to sync regularly, as long as they didn't need to refresh mfa. Now the app will fail on startup if the web server port is not accessible
Features
- Adding support for JPEG-XL (4e96e62)
- basic web ui (9479f5c)
- web-ui: better scaling on mobile (though dead space at top and bottom) (222a475)
- Daemon mode now default CLI option (91d320b)
- pwa capabilities for web ui (0a23dd9)
Bug Fixes
- Adding deprecation warning for Docker helper tools (9d27081)
- Center align 'nextSyncText' (51b276c)
- failing test (e66ca59)
- generate base url on origin path; accept, not content type needs to be application/json when asking for state (f27586b)
- handle mfa timeout outside of reauth (44dfb73)
- handle trailing slash/no trailing slash when requesting/navigating (76382ca)
- improve logging and fix health check success url (f33f63c)
- Persisting notification configuration between runs (7dc4392)
- PWA notifications not showing up (403a720)
- Removing unnecessary binaries (ec3fe2d)
- revert to flex box view (f63d240)
- Supporting hosting the web application in a sub-path through new option webBasePath (6cac78b), closes #859
- tests (c8b8eed)
- Updating API paths in helper programs (a27a154)
- VAPID public key fetch URL (c5aeff1)
- web-ui: fix space dead space above and below on mobile (b3d5ced)
- web-ui: fix submit mfa input font-size and spin arrows (de692ca)
- Increasing state view update interval to 10sec (19600d1)
- web-ui: remove dead space above on mobile (b87f6bf)
- use 'state while revalidate' strategy for caching (5bfce11)
Code Refactoring
- Refactored and completed test coverage for web server and UI (2c08398)
- Validating push subscription request through validator (2a48afc)
Tests
- Completed test coverage for icloud and resource manager (42ee0f1)
- Fixing failing docker help cmd test (8ead7ad)
- make web-ui and web-server tests use a mocked http.Server (a0c1457)
- Removing fs dependency in web test (00bc37b)
CI Pipeline
- Enabling docker unit tests for PRs without credentials (e3b8596)
- Fixing broken API monitoring workflow (f3dcb68)
- Re-enable scout (cef93a1)
- Rewerting to npm token authentication, until semantic-release supports OIDC (4457096)
- Reworking docker build (fb81c2a)
- Skipping Docker Scout for dependabot (4547ad8)
- Updating dependabot (ec9aa56)
- Updating docker build to utilize download-artifact@v5 (f73ed14)
- Updating token script to use API directly (86c062c)
- Using Trusted Publisher instead of Token for npm publishing (ab30142)
Maintenance
- [app] bump @backtrace/node in /app in the backtrace group (26a61df)
- [app] bump @eslint/js from 9.23.0 to 9.24.0 in /app (e8ca54b)
- [app] bump @eslint/js from 9.24.0 to 9.25.0 in /app (971e6c8)
- [app] bump @eslint/js from 9.25.0 to 9.25.1 in /app (a5ed545)
- [app] bump @eslint/js from 9.25.1 to 9.26.0 in /app (a4726f5)
- [app] bump @eslint/js from 9.26.0 to 9.27.0 in /app (0eadeae)
- [app] bump @eslint/js from 9.27.0 to 9.28.0 in /app (5b760a5)
- [app] bump @eslint/js from 9.28.0 to 9.30.0 in /app (836f63f)
- [app] bump @eslint/js from 9.30.0 to 9.31.0 in /app (9f64e97)
- [app] bump @eslint/js from 9.31.0 to 9.32.0 in /app (4ffea22)
- [app] bump @eslint/js from 9.32.0 to 9.33.0 in /app (34dfb5c)
- [app] bump @eslint/js from 9.33.0 to 9.34.0 in /app (fa84b08)
- [app] bump @eslint/js from 9.34.0 to 9.35.0 in /app (5da7a49)
- [app] bump @eslint/js from 9.35.0 to 9.36.0 in /app (c788cd4)
- [app] bump @inquirer/prompts from 7.4.0 to 7.4.1 in /app (363f8f5)
- [app] bump @inquirer/prompts from 7.4.1 to 7.5.0 in /app (e229d35)
- [app] bump @inquirer/prompts from 7.5.0 to 7.5.2 in /app (9500d32)
- [app] bump @inquirer/prompts from 7.5.2 to 7.5.3 in /app (9f4e8ec)
- [app] bump @inquirer/prompts from 7.5.3 to 7.6.0 in /app (4d79443)
- [app] bump @inquirer/prompts from 7.6.0 to 7.7.1 in /app (417b59a)
- [app] bump @inquirer/prompts from 7.7.1 to 7.8.0 in /app (9011023)
- [app] bump @inquirer/prompts from 7.8.0 to 7.8.3 in /app (da348cf)
- [app] bump @inquirer/prompts from 7.8.3 to 7.8.4 (fed39cd)
- [app] bump @inquirer/prompts from 7.8.4 to 7.8.6 (534f3aa)
- [app] bump @testing-library/dom from 10.4.0 to 10.4.1 in /app (330508d)
- [app] bump @testing-library/jest-dom from 6.6.3 to 6.6.4 in /app (e54e298)
- [app] bump @testing-library/jest-dom from 6.6.4 to 6.7.0 in /app (27379a1)
- [app] bump @testing-library/jest-dom from 6.7.0 to 6.8.0 in /app (728a5bd)
- [app] bump @types/node from 22.13.14 to 22.14.0 in /app (e260309)
- [app] bump @types/node from 22.14.0 to 22.14.1 in /app (e7314db)
- [app] bump @types/node from 22.14.1 to 22.15.2 in /app (de9b032)
- [app] bump @types/node from 22.15.18 to 22.15.21 in /app (e91dc0a)
- [app] bump @types/node from 22.15.2 to 22.15.3 in /app (a2386f3)
- [app] bump @types/node from 22.15.21 to 22.15.29 in /app (9991ac8)
- [app] bump @types/node from 22.15.29 to 22.15.30 in /app (a66b9f1)
- [app] bump @types/node from 22.15.3 to 22.15.18 in /app (a3dbeef)
- [app] bump @types/node from 22.15.30 to 22.18.1 in /app (51dc80e)
- [app] bump @types/node from 22.18.1 to 22.18.3 in /app (554d6a6)
- [app] bump @types/node from 22.18.3 to 22.18.6 in /app (bfd39bf)
- [app] bump @types/tar-stream in /app in the tar-stream group (9e0a946)
- [app] bump axios from 1.10.0 to 1.11.0 in /app (ddea13a)
- [app] bump axios from 1.11.0 to 1.12.1 in /app (d71e311)
- [app] bump axios from 1.12.1 to 1.12.2 in /app (d49f4bb)
- [app] bump axios from 1.8.4 to 1.9.0 in /app (2372203)
- [app] bump axios from 1.9.0 to 1.10.0 in /app (29c8b7b)
- [app] bump chalk from 5.4.1 to 5.5.0 in /app (7c6698e)
- [app] bump chalk from 5.5.0 to 5.6.0 in /app (8b8bfc9)
- [app] bump chalk from 5.6.0 to 5.6.2 in /app (56127cf)
- [app] bump commander from 13.1.0 to 14.0.0 in /app (e683222)
- [app] bump commander from 14.0.0 to 14.0.1 in /app (039cb86)
- [app] bump croner from 9.0.0 to 9.1.0 in /app (02ff7cb)
- [app] bump jsdom from 26.1.0 to 27.0.0 (6b499b9)
- [app] bump knip from 5.46.3 to 5.46.5 in /app (abe2641)
- [app] bump knip from 5.46.5 to 5.50.5 in /app (a86008e)
- [app] bump knip from 5.50.5 to 5.52.0 in /app (5ee79a0)
- [app] bump knip from 5.52.0 to 5.55.1 in /app (f502603)
- [app] bump knip from 5.55.1 to 5.56.0 in /app (7729ef3)
- [app] bump knip from 5.56.0 to 5.59.1 in /app (2ffd4a9)
- [app] bump knip from 5.59.1 to 5.60.2 in /app (658f30a)
- [app] bump knip from 5.60.2 to 5.62.0 in /app (0fa1ed3)
- [app] bump knip from 5.62.0 to 5.63.0 in /app (b01e84d)
- [app] bump knip from 5.63.0 to 5.63.1 in /app (cf38d8f)
- [app] bump knip from 5.63.1 to 5.64.1 in /app (4284c0e)
- [app] bump liquidjs from 10.21.0 to 10.21.1 in /app (b536ad2)
- [app] bump p-event from 6.0.1 to 7.0.0 in /app (45e7474)
- [app] bump p-queue from 8.1.0 to 8.1.1 (e1716be)
- [app] bump p-timeout from 6.1.4 to 7.0.0 (3cdd825)
- [app] bump testcontainers from 10.23.0 to 10.24.0 in /app (bf69b92)
- [app] bump testcontainers from 10.24.0 to 10.24.2 in /app (617d550)
- [app] bump testcontainers from 10.24.2 to 10.25.0 in /app (c5bde7c)
- [app] bump testcontainers from 10.25.0 to 10.28.0 in /app (8f89902)
- [app] bump testcontainers from 10.28.0 to 11.0.0 in /app (2fe2b4d)
- [app] bump testcontainers from 11.0.0 to 11.0.1 in /app (ad89615)
- [app] bump testcontainers from 11.0.1 to 11.0.3 in /app (f44020c)
- [app] bump testcontainers from 11.0.3 to 11.2.1 in /app (bfe0999)
- [app] bump testcontainers from 11.2.1 to 11.4.0 in /app (75e604b)
- [app] bump testcontainers from 11.4.0 to 11.5.1 in /app (126f200)
- [app] bump testcontainers from 11.5.1 to 11.6.0 in /app (418fb2f)
- [app] bump the jest group across 1 directory with 4 updates (dc341a6)
- [app] bump the typescript group across 1 directory with 3 updates (1987e4a)
- [app] bump the typescript group in /app with 2 updates (9f20408)
- [app] bump the typescript group in /app with 2 updates (da84598)
- [app] bump the typescript group in /app with 2 updates (c5424b2)
- [app] bump the typescript group in /app with 2 updates (97ec6f2)
- [app] bump the typescript group in /app with 2 updates (4bb9d51)
- [app] bump the typescript group in /app with 2 updates (866ca5b)
- [app] bump the typescript group in /app with 2 updates (ed2d0ea)
- [app] bump the typescript group in /app with 2 updates (bafcaac)
- [app] bump the typescript group in /app with 2 updates (3166dbb)
- [app] bump the typescript group in /app with 2 updates (36ee711)
- [app] bump the typescript group in /app with 2 updates (7a767e8)
- [app] bump the typescript group in /app with 2 updates (b0d2255)
- [app] bump the typescript group in /app with 2 updates (cb80a0e)
- [app] bump the typescript group in /app with 3 updates (4ceaf85)
- [app] bump the typescript group in /app with 3 updates (f973e3d)
- [app] bump tough-cookie from 5.1.2 to 6.0.0 (d6511d9)
- [app] bump ts-jest in /app in the jest group (8b79eb7)
- [app] bump ts-jest in /app in the jest group (ba12b23)
- [app] bump ts-jest in /app in the jest group (341fb53)
- [app] bump ts-json-schema-generator from 2.3.0 to 2.4.0 in /app (70512d0)
- [app] bump typescript-eslint in /app in the typescript group (ac0d55b)
- [app] bump typescript-eslint in /app in the typescript group (a74e2eb)
- [app] bump typescript-eslint in /app in the typescript group (914ae6c)
- [app] bump typescript-eslint in /app in the typescript group (7b6a715)
- [app] bump typescript-eslint in /app in the typescript group (a3a5559)
- [app] bump typescript-eslint in /app in the typescript group (8dd8403)
- [ci] bump actions/checkout from 4 to 5 (c183dfd)
- [ci] bump actions/download-artifact from 4 to 5 (93dbd3d)
- [ci] bump actions/setup-node from 4 to 5 (ea15199)
- [ci] bump actions/setup-python from 5 to 6 (1fb2edc)
- [ci] bump actions/upload-pages-artifact from 3 to 4 in /.github/actions/build/docs (36bbcd7)
- [ci] bump dawidd6/action-download-artifact (af53504)
- [ci] bump dawidd6/action-download-artifact from 10 to 11 (c39db2d)
- [docker] bump node from 22.19.0-alpine to 22.20.0-alpine (f6b1ee2)
- [docker] bump node in /docker (ad0e6ef)
- [docker] bump node in /docker (c0d5b03)
- [docker] bump node in /docker (526dac3)
- [docker] bump node in /docker (0122875)
- [docs] update mkdocs-material requirement (b19de87)
- [docs] update mkdocs-material requirement (2b658fa)
- [docs] update mkdocs-material requirement (8749233)
- [docs] update mkdocs-material requirement from ~=9.6.14 to ~=9.6.15 (fe3dcd1)
- [docs] update mkdocs-material requirement from ~=9.6.18 to ~=9.6.19 (4e41c57)
- [semantic-release] bump @codedependant/semantic-release-docker (f8de32d)
- [semantic-release] bump @semantic-release/github (c60b29e)
- [semantic-release] bump @semantic-release/github (cfb2c08)
- [semantic-release] bump @semantic-release/github from 11.0.4 to 11.0.5 (202cb7d)
- [semantic-release] bump conventional-changelog (6b62a25)
- [semantic-release] bump semantic-release (a1cdbf6)
- [semantic-release] bump semantic-release (e04f600)
- [semantic-release] bump the semantic-release group (e248c59)
- [semantic-release] bump the semantic-release group across 1 directory with 3 updates (519bee5)
- [semantic-release] bump the semantic-release group across 1 directory with 4 updates (db77039)
- add a bit of request logging for the web server (499fb5b)
- Bumping brace-expansion (49428d8)
- Bumping node version to 22.16.0 (4360bc3)
- move vapid public key endpoint to /api/vapid-public-key (59088a4)
- use request path to ignore API request from caching (8e0f4c7)
Documentation
- Adding note on debugging in get-started guide (3173f79)
- Adding WebUI documentation to readme (648a5c1)
- Changed the documented default cron schedule to run once a day. (8f0088b)
- Updated docs to fit new WebUI flow (2c225b5)
- Updated Get-Started-Guide & added API documentation (d43e4e4)
- Working on enhancing Get-Started Guide. (d9a477d)