Skip to content

frameleaf-v1.2.3

Choose a tag to compare

@github-actions github-actions released this 04 Nov 11:21
a16c177

What's improved

  • Fresh installation. Start Frameleaf Library 1.2.3 with a new database. This version establishes the baseline for future upgrades. Databases created by 1.2.2 or earlier cannot be upgraded to 1.2.3.
  • Library imports. More photo-library imports preserve ownership, ratings, albums and metadata. Unrated photos stay unrated.
  • Desktop wallet. Frameleaf Desktop can read whether automatic AI credit top-up is enabled when it connects to a linked Library.

Jira issues resolved

  • FL-1144: fix(import): hash in-place media once and check each batch concurrently
  • FL-1144: fix(import): wait for in-flight media checks before rejecting a batch
  • FL-1144: test(import): in-place verification reads the file once
  • FL-1146: fix(import): Manager in-place imports check media with stat only
  • FL-1146: feat(server): staged release after import, setup progress and pause
  • FL-1146: feat(server): people and album counts for the completion window
  • FL-1146: feat(web): setup bar after an Immich import and a completion window with confetti
  • FL-1146: fix(i18n): setup bar strings do not name the previous app
  • FL-1146: style(web): format the setup bar spec
  • FL-1146: fix: setup review findings (pause, retry, polling, remount-stable fingerprint)
  • FL-1146: test(web): setup bar resumes after a pause
  • FL-1146: fix(server): a paused setup starts no library scan and cannot complete before the file check releases its stages
  • FL-1149: Base shared Manager setup on fast import and current main
  • FL-1149: Retain fast-setup pause and completion safeguards
  • FL-1146: fix(server): setup does not complete while paused
  • FL-1146: fix: keep polling before Manager starts setup; README fingerprint wording
  • FL-1149: Share Manager setup authority and staged work across import sources
  • FL-1149: Include upstream pause completion gate
  • FL-1149: Retain upstream setup polling and fingerprint documentation
  • FL-1149: Keep shared setup documentation within branding policy
  • FL-1149: Integrate canonical library controller and verification
  • FL-1149: Exercise prepared photo work in every Manager source flow
  • FL-1146: fix(web): chosen-locale numbers, shared reduced-motion check and logical CSS in the setup bar
  • FL-1146: fix(web): load the setup bar for administrators only, and the completion window when it opens
  • FL-1149: Cover shared setup permissions and accessibility preferences
  • FL-1149: Merge remote-tracking branch 'frameleaf/pr-799' into aj/FL-1149-common-manager-import-setup
  • FL-1149: Merge remote-tracking branch 'frameleaf/main' into aj/FL-1149-common-manager-import-setup
  • FL-1149: Merge remote-tracking branch 'frameleaf/pr-799' into aj/FL-1149-common-manager-import-setup
  • FL-1101: Pin destination sessions for migration activation
  • FL-1101: Merge commit '5cd9a12c7ba1e41a135f97b853ba58130c7df074' into aj/FL-1101-library-activation
  • FL-1149: Keep setup warnings visible and report failed actions
  • FL-1101: Bind activation reports and recover finalized import work
  • FL-1149: Wait for every imported run stage before setup completion
  • FL-1149: Merge remote-tracking branch 'frameleaf/main' into aj/FL-1149-common-manager-import-setup
  • FL-1101: Merge commit 'dae7e49ef53bf58df7db0991ca1f8b1bdc7b5ccf' into aj/FL-1101-library-activation
  • FL-1101: Add atomic activation evidence and transaction revalidation
  • FL-1101: Capture PostgreSQL activation evidence schema
  • FL-1101: Fence startup on retained library activation evidence
  • FL-1101: Activate verified libraries with durable held-work recovery
  • FL-1101: Bound pinned-session host failover and connection failure
  • FL-1149: Respect disabled processing and failed imported stages
  • FL-1101: Integrate reviewed shared Manager completion policy
  • FL-1149: Fence queued work and scans behind the shared setup pause
  • FL-1149: Integrate the merged Manager setup flow
  • FL-1101: Integrate canonical Manager setup and pause recovery
  • FL-1101: Keep protected source bindings out of import progress
  • FL-1149: Publish committed setup changes and report held imports accurately
  • FL-1101: Integrate reviewed common setup notifications and hold status
  • FL-1101: Verify reviewed originals for in-place library adoption
  • FL-1149: Typecheck shared setup fixtures and claim scans through the repository
  • FL-1101: Complete activation test doubles and integrate shared type repairs
  • FL-1101: Integrate the verified shared Server fixture repairs
  • FL-1149: Fix partial AI completion copy and isolate setup fixtures
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101: Retain restricted imported accounts and compatible passwords
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101: Keep schema source authority unchanged for owner policy
  • FL-1149: Assert complete Manager setup completion message
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101: Review original bytes before sealing import transfers
  • FL-1149: Preserve Manager authority when an import marker is missing
  • FL-1149: Cover standalone Manager setup isolation
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101: Preserve signed filesystem timestamps in transfer plans
  • FL-1149: Keep copied imports in the common Manager setup flow
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101: Await source mutations in import preflight regressions
  • FL-1149: #comment Fence managed import recovery with retained setup authority
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1149: #comment Keep setup recovery warnings accurate and visible
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101: Retain generic owner provenance through partial restores
  • FL-1101: #comment Capture owner provenance schema and verify recovery gates
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1149: #comment Retry safe work in the bound import setup run
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1149: #comment Type the shared retry fixtures and repository mock
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1148: Speed up full E2E and medium CI with isolated parallel suites (#800)
  • FL-1101: #comment Share the verified Manager transfer runtime with Server
  • FL-1149: #comment Keep managed imports held after complete selection loss
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-file-review' into aj/FL-1101-import-transfer-runtime
  • FL-1149: #comment Recover frozen import work while Manager setup is paused
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-file-review' into aj/FL-1101-import-transfer-runtime
  • FL-1149: #comment Preserve frozen import authority during recovery
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-file-review' into aj/FL-1101-import-transfer-runtime
  • FL-1149: Wait for asynchronous CI observations
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-file-review' into aj/FL-1101-import-transfer-runtime
  • FL-1149: Require exact Explore scroll restoration
  • FL-1149, FL-1101: Merge branch 'aj/FL-1149-common-manager-import-setup' into aj/FL-1101-library-activation
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-activation' into aj/FL-1101-library-adoption
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-library-adoption' into aj/FL-1101-import-owner-policy
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-owner-policy' into aj/FL-1101-import-file-review
  • FL-1101, FL-1101: Merge branch 'aj/FL-1101-import-file-review' into aj/FL-1101-import-transfer-runtime
  • FL-1101: Merge pull request #808 from Frameleaf/aj/FL-1101-import-file-review
  • FL-1157: Rewrite the Unraid listing around Frameleaf (#810)
  • FL-1101: Merge pull request #809 from Frameleaf/aj/FL-1101-import-transfer-runtime
  • FL-1101: Add recoverable common library import execution (#813)
  • FL-1057: Map PhotoPrism records into the common library import (#814)
  • FL-1162: feat(import): find Noodle Gallery installs and import their standard library data (#819)
  • FL-1159: Wait for worker startup before CI fixture resets (#811)
  • FL-1160: [FL-1160] Fix repository-wide code review findings (#812)
  • FL-1100: Map Photoview snapshots into the common library import (#818)
  • FL-1104: Map Lychee snapshots into the common library import (#820)
  • FL-1165: fix: lock fork sensitive detections on import, honest import success card, unclipped toolbar band (#825)
  • FL-1109: feat: FL-1109 map Ente exports to common library manifests (#823)
  • FL-1102: feat: FL-1102 map Piwigo metadata and restricted library ownership (#824)
  • FL-1106: Map PiGallery2 metadata and protected source files into library imports (#821)
  • FL-1163: fix: FL-1163 refuse truncated SQLite import metadata and verifiers (#822)
  • FL-1110: [FL-1110] Integrate photo-library import metadata adapters (#826)
  • FL-1168: fix(queue): runs that finish early or never finish (#827)
  • FL-1169: feat(server): reset migrations into one consolidated baseline (#828)
  • FL-1110: [FL-1110] Preserve unrated imports and reject undated capture edits (#831)
  • FL-1149: [FL-1149] Share Manager fencing across source database layouts (#832)
  • FL-1171: fix: import setup no longer stalls; Activity shows busy jobs truthfully (#830)
  • FL-1172: fix(queue): stop the job_queue catalogue convoy from failing jobs (#833)
  • FL-1173: Read the current automatic top-up setting from Cloud (#834)
  • FL-1167: fix: job screens agree about background work (#829)
  • FL-1174: Prepare Library 1.2.3 as the migration baseline (#835)
  • FL-1149: [FL-1149] Capture fenced SQLite sources for shared Manager imports (#836)
  • FL-1149: [FL-1149] Share Manager source setup and recovery screens (#837)
  • FL-1149: [FL-1149] Produce private bundles for the common library importer (#838)
  • FL-1149: [FL-1149] Keep interrupted bundles attributable to import operations (#839)
  • FL-1149: [FL-1149] Retain PhotoPrism account preferences during import (#841)
  • FL-1175: Observe a full queue scan in the Manager import fence test (#842)
  • FL-1149: [FL-1149] Share Manager port review across photo import sources (#843)
  • FL-1149: [FL-1149] Qualify PhotoPrism passwords against the running source app (#844)
  • FL-1149: [FL-1149] Qualify PhotoPrism login restrictions alongside password preservation (#845)
  • FL-1149: [FL-1149] Preserve PhotoPrism manual labels as Frameleaf tags (#840)
  • FL-1149: [FL-1149] Retain stacks and Live Photos in shared import bundles (#846)
  • FL-1149: [FL-1149] Retain PhotoPrism account IDs for provider resolution (#847)

Source: a16c177

Build evidence: https://github.com/Frameleaf/frameleaf-app/actions/runs/41815819564

Use the attached version-matched installation files and release-manifest.json. Verify an image with: cosign verify --key cosign.pub @

Full Changelog: frameleaf-v1.2.2...frameleaf-v1.2.3