Skip to content

Releases: lukeet332/immich-shared-albums

v1.3.1

Choose a tag to compare

@lukeet332 lukeet332 released this 13 Oct 12:31
Immutable release. Only release title and notes can be modified.
6b96129

1.3.1 (2026-10-10)

Bug Fixes

  • verify: name the failed gate leg instead of echoing the redeem response (#202) (c5a74ee)

v1.3.0

Choose a tag to compare

@lukeet332 lukeet332 released this 09 Oct 23:09
Immutable release. Only release title and notes can be modified.
aa1113d

1.3.0 (2026-10-06)

Features

  • reunite: either half of a reunion can undo it (#199) (4953a11)
  • ui: an album's name opens that album (#188) (50e00a5)
  • ui: one Material design system, and native switches everywhere (#182) (1f0acb2)

Bug Fixes

  • comments: wake the comment lane for a relayed comment, and pin the one-mirror rule (#194) (53bcbfb)
  • sync: an album permission changed in Immich follows the album's chain (#192) (719999b)
  • sync: an un-reunified share comes back at once, and without a stale reunion claim (#197) (6c84bf7)
  • sync: un-reunite gives the inviter's album back, not just the adopter's (#198) (93149df)
  • ui: the snackbar fills the gutter, swipes away, and answers every action (#184) (85e279e)
  • wake the lane a change makes stale, so shares, joins and uploads land in seconds (#193) (d4990ab)

v1.2.2

Choose a tag to compare

@lukeet332 lukeet332 released this 01 Oct 19:13
Immutable release. Only release title and notes can be modified.
dd7e88a

1.2.2 (2026-10-01)

Bug Fixes

  • a declared hostname travels with the link, so a DDNS move keeps it reachable (#176) (343c24f)
  • a withdrawal is confirmed before the mirror dies (#174) (9dbca1f)
  • keep the stored addresses behind a declared one, and dial one peer at a time (#178) (8f54d9d)
  • refresh a stored hint from the address that answers (#180) (2396cbd)

v1.2.1

Choose a tag to compare

@lukeet332 lukeet332 released this 29 Sep 04:11
Immutable release. Only release title and notes can be modified.
fab693e

1.2.1 (2026-09-29)

Bug Fixes

  • a permanent refusal is not a reason to sweep for ever (#168) (8887e29)

v1.2.0

Choose a tag to compare

@lukeet332 lukeet332 released this 28 Sep 21:33
Immutable release. Only release title and notes can be modified.
26513ca

1.2.0 (2026-09-28)

Features

  • bind the peer transport to a stable UDP port (#71) (befe01e)
  • carry the reunified category with the share (#95) (de458ac)
  • cut the e2e suite from 499s to ~320s by waiting on convergence, not clocks (#55) (c83b178)
  • failed purges are retried, and a dead dependency no longer reads as a bad request (#157) (45d26b1)
  • give the personal panel a heading and a way out (#87) (760a8f8)
  • invite and accept a reunion from the panel (#113) (6a537fd)
  • match two people's split albums by name, owner and dates (#81) (1daa7f7)
  • nudges name their channel, and the timers become the backstop (#160) (f676e0a)
  • one root URL that opens the right panel (#88) (cd32f9a)
  • per-user panel scaffold (/me) — keystone for reunification (#49) (c756ba6)
  • port the sidecar to Rust and ship it by default (6ee6a2e)
  • publish a person's owned albums so a linked peer can match them (#82) (4e79bdd)
  • record that an album is reunified, and never delete an adopted one (#93) (f05ed7b)
  • reunite partial albums from the panel (#102) (0a2496c)
  • seed an adopted album's ledger, so none of it is offered back (#91) (0b90c1e)
  • show possible reunions in the per-user panel (#83) (b042ee5)
  • tell a person whether it worked (#115) (92d8842)
  • the admin panel asks through the same dialog, and says less (#118) (817a69a)
  • the reunion flow is nudge-driven, and open panels follow it (#128) (beff0cc)
  • the wire oracle is a Rust example (02faa3e)

Bug Fixes

  • a person's stand-in keeps their own face, and our bot names itself (#125) (fa9d926)
  • a photo Immich has not measured is never mirrored as a square stub (#130) (2458939)
  • a relayed photo is attributed by the person's id on their own server (#161) (1b7813c)
  • a reunion hands the other half over at once, not at the next sweep (#129) (658b994)
  • a reunion merges both ways, instead of only into the side that accepted (#123) (7f779ca)
  • answer a proxied rejection instead of hanging the caller (#109) (f9a68a3)
  • e2e: reset sidecar state properly, and fail fast when the rig is dirty (#57) (8a2d30b)
  • exit on SIGTERM so a container stop does not wait out its grace period (#60) (700283c)
  • give a peer dial its own 10s budget so an offline owner fails closed fast (#64) (f0ada02)
  • hand Immich the bare share path, so the framed album keeps its metadata (#106) (a5d31bb)
  • name the album-reunion problem in the reader's terms (#86) (85d1e76)
  • never offer a photo whose owner the user cache has not seen (#73) (082190a)
  • per-user panel reads the caller's albums as the caller (#78) (e197972)
  • record an accept-flow reunion as reunified, and stop offering one already made (#108) (982cb7b)
  • refuse to provision a utility account for a server being unlinked (#72) (2592890)
  • retire a mapping whose peer keeps answering 404, and stop logging every retry (#74) (3bb6ac8)
  • show one reunion row per pairing a person can tell apart (#112) (e382689)
  • stop matching against a peer's albums once it withdraws them (#107) (1465ba0)
  • stub bytes are served only to callers Immich itself would serve (#156) (a8523e2)
  • tell peers the address to dial when the relay is off (#158) (bc820ee)
  • the album's trail records an un-reunite (#126) (77fdafa)
  • the installer proves the key, names its volume, and tells the truth about its...
Read more

v1.1.1

Choose a tag to compare

@lukeet332 lukeet332 released this 17 Sep 17:00
Immutable release. Only release title and notes can be modified.
43385e6

Member-side mirrors read with the utility key, not the admin key (#51).

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:33
Immutable release. Only release title and notes can be modified.
57f0024

What's Changed

  • feat: admin toggle to store shared assets locally by @lukeet332 in #45
  • ci: skip-github-release so release-please stops failing on v1.0.0 by @lukeet332 in #46
  • chore(main): release 1.1.0 by @lukeet332 in #47

Full Changelog: v1.0.2...v1.1.0

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Aug 10:17
Immutable release. Only release title and notes can be modified.
1d4080f

What's Changed

  • fix: mirror stubs carry the origin aspect ratio (was 1x1) by @lukeet332 in #43
  • fix: bot accounts use .internal email domain (was .invalid) by @lukeet332 in #42
  • chore: release 1.0.2 by @lukeet332 in #44

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 12:32
Immutable release. Only release title and notes can be modified.
b66f786

What's Changed

  • ci: stop the release job racing release-please to create the release by @lukeet332 in #8
  • feat: carry websocket upgrades so the sidecar can front Immich alone by @lukeet332 in #9
  • feat!: rename the route prefix to /immich-shared-albums by @lukeet332 in #11
  • feat: share albums by inviting a household in Immich's own picker by @lukeet332 in #12
  • feat!: share albums per person, and manage server links from the panel by @lukeet332 in #13
  • chore: add a fast gate — unit tests, lint, prettier, cycles, on save and in CI by @lukeet332 in #14
  • fix: enable strictNullChecks, and fix the two real bugs it found by @lukeet332 in #15
  • chore!: clear the v1 housekeeping while the clean-break window is open by @lukeet332 in #16
  • feat!: one account per remote person, and stop the sidecar overruling a human by @lukeet332 in #17
  • feat: link two servers on their own, instead of via an album share link by @lukeet332 in #18
  • refactor!: the two front-end pages become Preact TSX, and one table says what exists by @lukeet332 in #19
  • fix(e2e): assert the mirror-owner account by id, not by its display name by @lukeet332 in #21
  • docs: project conventions, the two bedrock docs, and the fast gate enforced in code by @lukeet332 in #20
  • feat!: the share page becomes ours — native album framed under the join card by @lukeet332 in #25
  • feat!: all peer traffic moves to iroh — dial keys, not URLs by @lukeet332 in #26
  • chore(main): release 1.0.0 by @lukeet332 in #10
  • revert: the 1.0.0 release — the v1 breaking window stays open by @lukeet332 in #28
  • feat: the admin key shrinks from 'all' to sixteen enumerated permissions by @lukeet332 in #27
  • docs: rewrite the README — Immich's shape, a human's voice by @lukeet332 in #31
  • docs: the linked docs catch up with iroh by @lukeet332 in #32
  • feat(install): IPP option, proxy choice, installer accuracy sweep by @lukeet332 in #35
  • fix: e2e flakes — duplicate-stub race, unlink-survivor miscount by @lukeet332 in #34
  • docs: hardening tiers, and hosting guidance delegates to Immich's docs by @lukeet332 in #33
  • feat(state)!: schema v1 — real tables, versioned, raw keys, honest names by @lukeet332 in #36
  • feat(config)!: the ISA_ env contract — one namespace, strict parsing by @lukeet332 in #37
  • feat(p2p)!: wire-contract completions — negotiation, codes, 410, hardening by @lukeet332 in #38
  • feat: one-show pairing, configurable TTL, vanilla-Immich parity (iron rule 8) by @lukeet332 in #39
  • feat(naming): don't stack 'server' when a household is already named one by @lukeet332 in #40
  • chore(main): release 1.0.0 by @lukeet332 in #30
  • chore: release 1.0.1 by @lukeet332 in #41

Full Changelog: v0.5.0...v1.0.1

v0.5.0

Choose a tag to compare

@lukeet332 lukeet332 released this 18 Aug 16:21
Immutable release. Only release title and notes can be modified.
c8a5252

0.5.0 (2026-08-18)

Features

  • authenticate human routes and check peer entitlement, not just identity (42d7d86)