Skip to content

Releases: sam-dumont/immich-memories

Release v1.0.0-rc.3

Release v1.0.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 19:33
2ef422d

What's Changed

Features

Bug Fixes

  • fix(first-run): clear the rc.2 first-run friction for rc.3 (#2189) (2ef422d)
  • fix(docs-site): bump shell-quote past the critical advisory (#2191) (3a74328)

Other Changes

Full Changelog: v1.0.0-rc.2...v1.0.0-rc.3

Release v1.0.0-rc.2

Release v1.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 14:59
db7548e

What's Changed

Features

Bug Fixes

  • fix(automation): keep onnx telemetry off and propose people only for windows with pictures (#2186) (db7548e)
  • fix(setup): write real YAML from the setup builder and stop asking for the Immich API key (#2185) (1c9a301)

Other Changes

Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2

Release v1.0.0-rc.1

Release v1.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 09:44
90ec4b9

What's Changed

Features

  • feat(selection): a finger over the lens is a rank-only warning, never a drop (#2022) (#2117) (e19fd1a)
  • feat(free-text): an ask prepares the period it needs instead of answering not possible (#2060) (7786aee)
  • feat(selection): a sparse household's weeks are funded by their best picture instead of going short (#2056) (9549b65)
  • feat(immich): adopt native sharing with owner reads (#2013) (daa0c50)
  • feat(release): publish version-matched pre-tag rehearsal inputs (#1940) (c96b7fb)
  • feat(config): name the CPU tier Basic while preserving NAS aliases (#1910) (5a5cc5a)
  • feat(deploy): use existing Kubernetes Secrets (#1908) (89c62b2)
  • feat(setup): generate version-matched deployment files (#1906) (bd84ce1)
  • feat(web): fetch verified model artifacts from setup UI (#1901) (d71ae4a)
  • feat(deploy): publish slim Compose tier and GPU worker assets (#1897) (ec70f9c)
  • feat(k8s): compose app options with reusable components (#1852) (cbda98f)
  • feat: polish release docs and add configurable film fades (#1695) (81945fe)
  • feat(inference): manage local reader and audio memory (#1693) (b199b8c)
  • feat(workers): serve CUDA inference and rendering from one address (#1694) (2c165b2)
  • feat(cache): freeze detector facts and add selective maintenance (#1680) (5d4a207)
  • feat(setup): report capabilities and test local music profiles (#1676) (84ff746)
  • feat(inference): bound model queues and report waiting work (#1672) (ef572b3)
  • feat(llm): measure every LLM feature across four providers (#1638) (5249cc0)
  • feat(release): add a release-candidate channel (#1640) (fffd565)
  • feat(automation): multi-account discovery, saved-group candidates, store birthdays (#1634) (4b8ecf0)
  • feat(people): the web UI binds aliases and manages saved groups (#1500 slice 9) (#1632) (e03396a)
  • feat(people): saved groups, a label for a people expression (#1626) (a4fc2db)
  • feat(disk): warn and stop early when a film can't fit on the output or cache volume (#1628) (17d6292)
  • feat(editorial): a dense one-off inside an ordinary day is its own story (#1600) (802153b)
  • feat(cli): generate --accounts reads each named immich account into one film (#1575) (e073633)
  • feat(editorial): a recurring kind in one month takes one story's depth (#1598) (4901552)
  • feat(people): --person and --people-expression resolve through the people store (#1574) (c33b3e8)
  • feat(people): a person's ids are declared per account, and people bind adds one (#1582) (1fa2d77)
  • feat(tracking): every span records its peak memory, own and with ffmpeg (#1565) (9761aa1)
  • feat(editorial): a trip that changes where it stays splits into legs, each its own story (#1577) (bfa69cc)
  • feat(render): size photo preparation from the memory this process may use (#1583) (acc77cb)
  • feat(report): export a free-text film's result from the CLI and the web client (#1553) (663a7b3)
  • feat(source): an attempt freezes the copy it kept, and a replay reads that copy (#1572) (6e83ccc)
  • feat(titles): map moves fly from the last place and hold on the new one (#1568) (40ed3ed)
  • feat(free-text): show which editor rules would drop pool pictures, before render (#1548) (f8f4b3b)
  • feat(source): a household run reads each picture through the account that owns it (#1571) (d8aba9c)
  • feat(titles): a walking or cycling trip gets a location card when its town changes (#1562) (ba09232)
  • feat(source): a household run reads each chosen account and remembers who can open each picture (#1536) (465e985)
  • feat(selection): a picture stored twice counts once, and the favourite copy is the one kept (#1535) (8a8e3f9)
  • feat: free-text memories, a film from a sentence (#1505) (65404e8)
  • feat(immich): extra accounts connect and prove who they are (#1528) (47aa5e5)
  • feat(editorial): a picture from a request's own pool stands on its subject (#1502) (#1507) (a90f8cd)
  • feat(people): an alias records the account that can read it (#1506) (765880d)
  • feat(web): replace NiceGUI with the Svelte client, end to end (#1398) (46dbe93)
  • feat(report): add redacted diagnostics and shared run timing (#1464) (4a57d58)
  • feat(holidays): public holidays from the holidays library, for the home base's country (#1492) (1642fec)
  • feat(places): name the district, not the neighbouring town, when geocoding is on (#1497) (72cbb80)
  • feat(discovery): a special day is named by its moment, not everything it held (#1488) (2623a83)
  • feat(holidays): family holidays fall where the library's country keeps them (#1479) (1983e95)
  • feat(store): one versioned store on SQLite or PostgreSQL (#1430) (6f3b37d)
  • feat(discovery): propose days whose own words stand out from their year (#1459) (fc043a6)
  • feat(captions): enable explicit LLM caption opt-in (#1413) (b6ae09e)
  • feat(captions): preserve motion banks across image producers (#1411) (77fe3a2)
  • feat(captions): add an explicit LLM image producer (#1410) (95972f0)
  • feat(captions): preserve banked caption pairs and provenance (#1409) (8ee0ae8)
  • feat(config): resolve one automatic preparation and selection tier (#1404) (1f5b02e)
  • feat(inference): bundle CUDA models and caption runtime (#1394) (5ec47d2)
  • feat(laya): select pinned checkpoints for each platform (#1391) (d266a08)
  • feat(laya): add portable ONNX audience scorer (#1387) (ef0bc32)
  • feat(config): enforce nas gpu and full compute tiers (#1382) (bd187e7)
  • feat(ui): translate the interface into 14 languages (#1376) (f6035e0)
  • feat(editorial): a record is judged on its own episode, an account names its events, a title keeps the facts' capitals (#1370) (#1372) (995a2c4)
  • feat(llm): the prose seats ask for their JSON shape and state their sampling (#1366) (#1367) (6855b29)
  • feat(sharing): one sharing level per film: just us, family, shareable (#1326) (96042f8)
  • feat(editorial): a body part with no face does not stand, and starred twins are one moment (#1358) (684afb6)
  • feat(public-e2e): household 1 built once, restored and filmed on demand (#1328, #1329, #1330, #1331) (#1357) (a4e4b60)
  • feat(audience): clear a hold or never use a picture, from the pool, the storyboard and the CLI (#1345) (69f86d5)
  • feat(titles): a film that is exactly a season is named by it, in the home's hemisphere (#1354) (1460177)
  • feat(editorial): a local laya model answers the audience check's activity question (#1295) (aa88ee0)
  • feat(editorial): standing is read from the facts on every tier, no model asked (#1293) (#1294) (9a9a072)
  • feat(editorial): check the finished cut against every promise its passes made (#1281) (e007f77)
  • feat(i18n): a film speaks fourteen languages, and says "in" the way each one does (#1241) (718e54c)
  • feat(titles): a trip title says where it went the way its language does (#1240) (010762b)
  • feat(trips): a trip is named at the scale it covers, and a run says where its title came from (#1233) (fd37dc5)
  • feat(titles): every alphabet draws its own letters, and no font is fetched while rendering (#1231) (8f63fb7)
  • feat(special-days): a day is found by what it was, read beside its month (#1210) (ada5bb3)
  • feat(editorial): a short model-tier film reads its shot-less stories before giving up the seconds (#1198) (150ff2e)
  • feat(selection): close family appear in the film, and big stories need known people (#1180) (759c612)
  • feat(editorial): multi-year and person films get a period, fill on demand and yearly accounts (#1183) (d34b895)
  • feat(editorial): a film reads only what its draft needs, from banked library accounts and notable moments (#1177) (fbb2ef8)
  • feat(editorial): a picture's standing answer serves every cut that reaches it (#1151) (#1168) (25d0ed4)
  • feat(editorial): exposure holds see whole capture runs, eight video frames and Live Photo clips (#1159) (b22a3a9)
  • feat(rules): the draft reads what a model already answered (#1146) (07b4cf8)
  • feat(triage): three heads distilled from a picture reader, and swim retired (#1143) (#1144) (e3bba43)
  • feat(editorial): thin model layer polishes a rules draft (#1139) (#1141) (0ccccce)
  • feat(preparation): an optional local picture reader answers for the pixels once, at ingest (#1140) (1c896ae)
  • feat(editorial): a no-model cut ends with a duplicate review of its own (#1137) (97e1ed6)
  • feat(editorial): a still is held for what it shows (#1136) (3e6a4e7)
  • feat(editorial): the frame that represents a moment is won on capture facts (#1134) (f7dcbd4)
  • feat(editorial): a picture that cannot carry a frame does not spend a depth rung (#1133) (9277173)
  • feat(editorial): a refused favourite loses its frame, not its moment (#1132) (4691d50)
  • feat(editorial): the no-model reader gets a look-alike it can answer (#1130) (a9adb7c)
  • feat(editorial): refuse our own films, stub clips and screenshots at the source (#1129) (33cd174)
  • feat(editorial): a picture with no caption still shows the people in it (#1128) (94166e1)
  • feat(editorial): a rules story is a week at home or a whole trip away (#1127) (b9d0875)
  • feat(planning): a film lasts as long as its material, on the CLI too (#1085) (#1087) (60f3343)
  • feat(editorial): a frame has to show the person it names (#1091) (45c0774)
  • feat(people): a people memory knows when its people existed (#1082) (#1086) (f1ac9ce)

Bug Fixes

  • fix: run on Python 3.11 again, and make CI test the Python each cell names (#2180) (90ec4b9)
  • fix(cli): honour --photo-duration, fit and --keep-intermediates; readable plans and progress (#2164) (c0250bc)
  • fix(automation): settle runs by their own liveness, keep the daily timer honest, read the trip cache (#2163) (77cff1a)
  • fix(selection): rc1 fixes for on-this-day length, shareable reasons, account scope, prepare, people graph, trip names (#2165) (d7b4a04)
  • fix(config): config errors never print secrets; preflight and capabilities agree (#2162) (d0762ab)
  • fix(api): a picture Immich has no preview for no longer fails an --ask run (#2123) (f721d83)
  • fix: ready for Immich 3.3 (Geo...
Read more

Pre-tag rehearsal v0.0.0-dev.37204105087

Choose a tag to compare

@github-actions github-actions released this 04 Oct 13:39
570bc40

What's Changed

Initial Release

  • fix(setup): pin the generated Compose version and stop installing llama.cpp for Basic (#2017) (570bc40)
  • fix(people): a people condition holds on every selected picture (#1969) (8ad4aff)
  • docs(local-models): the Kubernetes form of the local text model, pod-selected Immich in offline policy (#2007) (5d6dcee)
  • fix(processing): keep hardware probe errors out of the console (#2015) (ab18378)
  • fix(runs): a cancelled render is Cancelled, a killed one Interrupted (#2010) (e6e5bc8)
  • docs: Basic install needs two files, output ownership, and the MTU hang (#2012) (a2f64c5)
  • fix(i18n): a special day is titled in the film's language (#1985) (b44ff6b)
  • feat(immich): adopt native sharing with owner reads (#2013) (daa0c50)
  • fix(web): say Immich is unreachable instead of showing an empty people list (#2019) (d3b9915)
  • fix(cli): say what the log means on a first run (#2021) (59b1af1)
  • fix(cli): show where the film really lands (#2018) (48b1b99)
  • docs: fix trailing-slash asset links and stale rows from the rehearsal crawl (#1996) (f34844b)
  • fix(immich): name the host and exception on an outage, show retry progress (#2020) (f1e3943)
  • fix(reader): warn once when the reader is unreachable, stop verify-local calling it disabled (#2016) (bb2c640)
  • fix(setup): Mac Basic config no longer writes an empty caption endpoint (#2014) (2d22965)
  • fix(audio): the film's mix keeps true-peak headroom (#1973) (23946dc)
  • docs(nas): verified DSM output ACL and LAN-with-auth recipes (#1993) (a2adf4d)
  • docs(kubernetes): namespace-safe lifecycle commands, GPU-tier objects, QoS node check (#2003) (b766f8e)
  • test(build): guard version discovery against dev rehearsal tags (#2005) (5ad9282)
  • docs(immich): preserve native sharing research for #1941 (#2008) (fee1eb9)
  • fix(logs): tag generate log lines with the run id (#2006) (6557041)
  • fix(cli): preflight rows say what is missing and why they warn (#2004) (a402603)
  • fix(i18n): locale auto speaks the host's language on every title card (#1978) (f309929)
  • docs(first-film): document the CLI render path and where the film lands (#1992) (3932f82)
  • docs(kubernetes): fix GPU tier claims, add namespace, key rotation and PVC notes (#1995) (7b164ba)
  • docs(install): pin Python 3.12 in the native install command (#1997) (2c8190b)
  • fix(places): a place without a name in the film's language keeps its own name (#1971) (6f8affa)
  • docs(lifecycle): cover generated volumes, images, key copies and native leftovers (#1994) (af02113)
  • fix(audio): the soundtrack steps aside for a clip with its own music (#1972) (1b23a5a)
  • fix(titles): a long place name shrinks to fit a portrait map card (#1975) (aae9bc0)
  • fix(titles): a model title keeps the year the template would show (#1970) (f190fdd)
  • fix(packaging): ship web fonts in the wheel by dropping symlinks into src (#1979) (dd536fa)
  • fix(build): a dev rehearsal tag never sets the package version (#1974) (7eb367c)
  • fix(docs): pin http-cache-semantics 4.3.0 and retire its audit review (#1957) (611ab03)
  • fix(windows): play the part of each video where something happens (#1953) (97f1598)
  • fix: animate CPU title text and scope motion reports (#1952) (5414290)
  • docs: verify fresh Docker install and June hardware matrix (#1948) (acad2d8)
  • fix: preserve reader schemas and release memory between film phases (#1945) (4b98c19)
  • docs: record February hardware smoke results and install prerequisites (#1944) (21e160f)
  • fix(titles): preserve local places and country context (#1947) (0fdd677)
  • docs(research): publish hosted reader speed and cost evidence (#1943) (22e9c23)
  • feat(release): publish version-matched pre-tag rehearsal inputs (#1940) (c96b7fb)
  • docs(lifecycle): distinguish compatibility and scoped app removal (#1939) (c23eb0f)
  • docs(ops): document config ownership and pinned deployment inputs (#1938) (d84e190)
  • docs(readme): explain the film workflow and bounded first install (#1937) (4e4157f)
  • docs(models): define a bounded local reader and offline verification (#1935) (1842516)
  • docs(deploy): distinguish first-run evidence for each platform and topology (#1934) (053ecc2)
  • docs(nas): spell out authenticated Synology access without SSH forwarding (#1932) (274112f)
  • docs(start): bound the first film and document progress and retry (#1931) (da2a547)
  • docs(install): stop substituting source builds for missing prebuilt artifacts (#1930) (deb8b61)
  • fix(llm): request JSON for occasion decisions (#1936) (2882151)
  • fix: finish repository rename and expose exact build versions (#1933) (377a421)
  • chore: rename repository to immich-memories and prepare docs for search (#1920) (8764721)
  • docs(deploy): clarify model initialization and worker geocoding (#1921) (5e24caa)
  • docs(llm): validate Gemma through Ollama on M5 Max (#1919) (ba5b96e)
  • fix(titles): resolve saved-group display names (#1916) (a3bfc5d)
  • docs(release): describe candidate documentation publication (#1914) (52f31c6)
  • fix(setup): align Basic defaults and tested deployment evidence (#1913) (0e5d6da)
  • fix(preflight): wait for cold caption readiness (#1912) (e65358f)
  • docs: correct deployment contracts and record live setup checks (#1911) (19ba63f)
  • feat(config): name the CPU tier Basic while preserving NAS aliases (#1910) (5a5cc5a)
  • fix(security): bound approved docs advisory exception (#1915) (870b71c)
  • feat(deploy): use existing Kubernetes Secrets (#1908) (89c62b2)
  • docs(setup): add platform installers and live validation (#1907) (4514b30)
  • feat(setup): generate version-matched deployment files (#1906) (bd84ce1)
  • fix(release): wait for setup assets before publishing docs (#1902) (aa0db42)
  • fix(config): report ignored nested setting keys (#1905) (75c1f8c)
  • docs(offline): record real Docker and Kubernetes validation (#1904) (48a373e)
  • docs(deploy): clarify supported Kubernetes paths (#1903) (d37e4d6)
  • feat(web): fetch verified model artifacts from setup UI (#1901) (d71ae4a)
  • docs(proxy): record real local TLS and streaming validation (#1900) (9111cba)
  • docs(privacy): add a fetch-once offline deployment recipe (#1898) (046b8f4)
  • feat(deploy): publish slim Compose tier and GPU worker assets (#1897) (ec70f9c)
  • docs(network): add private container proxy recipes (#1899) (77e92d6)
  • refactor(deps): drop GPL runtime deps (ffprobe for music tags, pi-heif for HEIC) (#1893) (03741bb)
  • fix(security): enforce least-privilege Immich API keys (#1895) (42c69a9)
  • build(deps-dev): bump @playwright/test in /docs-site (#1876) (d5ff9ab)
  • build(deps): bump import-linter from 2.11 to 2.15 (#1879) (000afea)
  • build(deps): bump actions/checkout from 5.0.1 to 7.0.1 (#1873) (4a3c05a)
  • fix(deps): regenerate THIRD_PARTY_NOTICES for geopy 2.5.0 (#1892) (515849f)
  • build(deps): bump actions/first-interaction from 2.0.0 to 3.1.0 (#1889) (6cb07f3)
  • build(deps): bump actions/cache from 4.3.0 to 6.1.0 (#1888) (bcfd6a6)
  • build(deps): bump actions/dependency-review-action from 4.8.3 to 5.0.0 (#1887) (08c7ac9)
  • build(deps): bump actions/deploy-pages from 4.0.5 to 5.0.1 (#1886) (e05254e)
  • build(deps): bump docker/login-action from 3.6.0 to 4.6.0 (#1885) (f283289)
  • build(deps): bump codelytv/pr-size-labeler from 1.10.3 to 1.11.1 (#1884) (76321a8)
  • build(deps): bump actions/labeler from 5.0.0 to 7.0.0 (#1883) (6c2bd19)
  • build(deps): bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 (#1882) (375a9bc)
  • build(deps): bump github/codeql-action/upload-sarif (#1881) (79ae261)
  • fix(deps): bump amannn/action-semantic-pull-request from 5 to 6 (#1874) (2b2ca1b)
  • fix(deps): bump uv from 0.12.15 to 0.12.20 (#1880) (89ece58)
  • fix(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 (#1872) (3d8c6d2)
  • build(deps): bump geopy from 2.4.1 to 2.5.0 (#1869) (74dcce4)
  • build(deps): bump pytest-asyncio from 1.3.0 to 1.4.0 (#1870) (2b8a624)
  • fix(deps-dev): bump sharp from 0.35.4 to 0.35.5 in /docs-site (#1875) (ac028d9)
  • fix(k8s): isolate scheduled triggers and correct deployment contracts (#1839) (5466706)
  • fix(deps): preserve generated Torch and CUDA lock constraints (#1862) (1123e68)
  • docs(security): complete release verification and image audit guidance (#1866) (6aac229)
  • fix(automation): carry resolved birthdays into generation (#1843) (768a7fb)
  • docs(config): align examples and reference with runtime behavior (#1836) (1180447)
  • build(deps): bump node from 22-slim to 26-slim in /docker (#1859) (53cc4fc)
  • build(deps): update Docusaurus packages together to 3.10.2 (#1865) (d0c1305)
  • build(deps): bump diff-cover from 10.2.0 to 10.6.0 (#1861) (c385cc0)
  • fix(contrib): select compatible extras and enforce documented gates (#1849) (0928145)
  • docs: tidy remaining manual examples and prose (#1848) (bc855b2)
  • feat(k8s): compose app options with reusable components (#1852) (cbda98f)
  • fix(terraform): validate render worker tokens before rollout (#1844) (077b3ec)
  • fix(services): bound inference request sizes and worker settings (#1820) (7bdbe15)
  • fix(preflight): configure reader timeout and report slow answers (#1850) (ebd1860)
  • docs: align film and media contracts with runtime behavior (#1792) (#1851) (cb0435c)
  • docs: show real CC0 NAS and Full films (#1855) (f3e6db3)
  • fix(render): accept named title styles and document film controls (#1841) (ea7a217)
  • docs(setup): consolidate tier choices and after-install steps (#1854) (53fc455)
  • build(deps): bump docker/build-push-action from 7.0.0 to 7.4.0 (#1857) (730164e)
  • build(deps): bump hadolint/hadolint-action from 3.1.0 to 3.5.0 (#1856) (1d4352c)
  • build(deps): bump softprops/action-gh-release from 2.6.1 to 3.0.3 (#1858) (67ec01c)
  • build(deps-dev): bump @docusaurus/types in /docs-site (#1864) (3438e8c)
  • fix(auth): reject unsafe forwarded headers for proxy identity (#1838) (46f03be)
  • fix(cli): correct reference generation and operator help (#1840) (b4e22af)
  • fix(selection): clarif...
Read more

Pre-tag rehearsal v0.0.0-dev.37180797983

Choose a tag to compare

@github-actions github-actions released this 04 Oct 06:23
611ab03

What's Changed

Initial Release

  • fix(docs): pin http-cache-semantics 4.3.0 and retire its audit review (#1957) (611ab03)
  • fix(windows): play the part of each video where something happens (#1953) (97f1598)
  • fix: animate CPU title text and scope motion reports (#1952) (5414290)
  • docs: verify fresh Docker install and June hardware matrix (#1948) (acad2d8)
  • fix: preserve reader schemas and release memory between film phases (#1945) (4b98c19)
  • docs: record February hardware smoke results and install prerequisites (#1944) (21e160f)
  • fix(titles): preserve local places and country context (#1947) (0fdd677)
  • docs(research): publish hosted reader speed and cost evidence (#1943) (22e9c23)
  • feat(release): publish version-matched pre-tag rehearsal inputs (#1940) (c96b7fb)
  • docs(lifecycle): distinguish compatibility and scoped app removal (#1939) (c23eb0f)
  • docs(ops): document config ownership and pinned deployment inputs (#1938) (d84e190)
  • docs(readme): explain the film workflow and bounded first install (#1937) (4e4157f)
  • docs(models): define a bounded local reader and offline verification (#1935) (1842516)
  • docs(deploy): distinguish first-run evidence for each platform and topology (#1934) (053ecc2)
  • docs(nas): spell out authenticated Synology access without SSH forwarding (#1932) (274112f)
  • docs(start): bound the first film and document progress and retry (#1931) (da2a547)
  • docs(install): stop substituting source builds for missing prebuilt artifacts (#1930) (deb8b61)
  • fix(llm): request JSON for occasion decisions (#1936) (2882151)
  • fix: finish repository rename and expose exact build versions (#1933) (377a421)
  • chore: rename repository to immich-memories and prepare docs for search (#1920) (8764721)
  • docs(deploy): clarify model initialization and worker geocoding (#1921) (5e24caa)
  • docs(llm): validate Gemma through Ollama on M5 Max (#1919) (ba5b96e)
  • fix(titles): resolve saved-group display names (#1916) (a3bfc5d)
  • docs(release): describe candidate documentation publication (#1914) (52f31c6)
  • fix(setup): align Basic defaults and tested deployment evidence (#1913) (0e5d6da)
  • fix(preflight): wait for cold caption readiness (#1912) (e65358f)
  • docs: correct deployment contracts and record live setup checks (#1911) (19ba63f)
  • feat(config): name the CPU tier Basic while preserving NAS aliases (#1910) (5a5cc5a)
  • fix(security): bound approved docs advisory exception (#1915) (870b71c)
  • feat(deploy): use existing Kubernetes Secrets (#1908) (89c62b2)
  • docs(setup): add platform installers and live validation (#1907) (4514b30)
  • feat(setup): generate version-matched deployment files (#1906) (bd84ce1)
  • fix(release): wait for setup assets before publishing docs (#1902) (aa0db42)
  • fix(config): report ignored nested setting keys (#1905) (75c1f8c)
  • docs(offline): record real Docker and Kubernetes validation (#1904) (48a373e)
  • docs(deploy): clarify supported Kubernetes paths (#1903) (d37e4d6)
  • feat(web): fetch verified model artifacts from setup UI (#1901) (d71ae4a)
  • docs(proxy): record real local TLS and streaming validation (#1900) (9111cba)
  • docs(privacy): add a fetch-once offline deployment recipe (#1898) (046b8f4)
  • feat(deploy): publish slim Compose tier and GPU worker assets (#1897) (ec70f9c)
  • docs(network): add private container proxy recipes (#1899) (77e92d6)
  • refactor(deps): drop GPL runtime deps (ffprobe for music tags, pi-heif for HEIC) (#1893) (03741bb)
  • fix(security): enforce least-privilege Immich API keys (#1895) (42c69a9)
  • build(deps-dev): bump @playwright/test in /docs-site (#1876) (d5ff9ab)
  • build(deps): bump import-linter from 2.11 to 2.15 (#1879) (000afea)
  • build(deps): bump actions/checkout from 5.0.1 to 7.0.1 (#1873) (4a3c05a)
  • fix(deps): regenerate THIRD_PARTY_NOTICES for geopy 2.5.0 (#1892) (515849f)
  • build(deps): bump actions/first-interaction from 2.0.0 to 3.1.0 (#1889) (6cb07f3)
  • build(deps): bump actions/cache from 4.3.0 to 6.1.0 (#1888) (bcfd6a6)
  • build(deps): bump actions/dependency-review-action from 4.8.3 to 5.0.0 (#1887) (08c7ac9)
  • build(deps): bump actions/deploy-pages from 4.0.5 to 5.0.1 (#1886) (e05254e)
  • build(deps): bump docker/login-action from 3.6.0 to 4.6.0 (#1885) (f283289)
  • build(deps): bump codelytv/pr-size-labeler from 1.10.3 to 1.11.1 (#1884) (76321a8)
  • build(deps): bump actions/labeler from 5.0.0 to 7.0.0 (#1883) (6c2bd19)
  • build(deps): bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 (#1882) (375a9bc)
  • build(deps): bump github/codeql-action/upload-sarif (#1881) (79ae261)
  • fix(deps): bump amannn/action-semantic-pull-request from 5 to 6 (#1874) (2b2ca1b)
  • fix(deps): bump uv from 0.12.15 to 0.12.20 (#1880) (89ece58)
  • fix(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 (#1872) (3d8c6d2)
  • build(deps): bump geopy from 2.4.1 to 2.5.0 (#1869) (74dcce4)
  • build(deps): bump pytest-asyncio from 1.3.0 to 1.4.0 (#1870) (2b8a624)
  • fix(deps-dev): bump sharp from 0.35.4 to 0.35.5 in /docs-site (#1875) (ac028d9)
  • fix(k8s): isolate scheduled triggers and correct deployment contracts (#1839) (5466706)
  • fix(deps): preserve generated Torch and CUDA lock constraints (#1862) (1123e68)
  • docs(security): complete release verification and image audit guidance (#1866) (6aac229)
  • fix(automation): carry resolved birthdays into generation (#1843) (768a7fb)
  • docs(config): align examples and reference with runtime behavior (#1836) (1180447)
  • build(deps): bump node from 22-slim to 26-slim in /docker (#1859) (53cc4fc)
  • build(deps): update Docusaurus packages together to 3.10.2 (#1865) (d0c1305)
  • build(deps): bump diff-cover from 10.2.0 to 10.6.0 (#1861) (c385cc0)
  • fix(contrib): select compatible extras and enforce documented gates (#1849) (0928145)
  • docs: tidy remaining manual examples and prose (#1848) (bc855b2)
  • feat(k8s): compose app options with reusable components (#1852) (cbda98f)
  • fix(terraform): validate render worker tokens before rollout (#1844) (077b3ec)
  • fix(services): bound inference request sizes and worker settings (#1820) (7bdbe15)
  • fix(preflight): configure reader timeout and report slow answers (#1850) (ebd1860)
  • docs: align film and media contracts with runtime behavior (#1792) (#1851) (cb0435c)
  • docs: show real CC0 NAS and Full films (#1855) (f3e6db3)
  • fix(render): accept named title styles and document film controls (#1841) (ea7a217)
  • docs(setup): consolidate tier choices and after-install steps (#1854) (53fc455)
  • build(deps): bump docker/build-push-action from 7.0.0 to 7.4.0 (#1857) (730164e)
  • build(deps): bump hadolint/hadolint-action from 3.1.0 to 3.5.0 (#1856) (1d4352c)
  • build(deps): bump softprops/action-gh-release from 2.6.1 to 3.0.3 (#1858) (67ec01c)
  • build(deps-dev): bump @docusaurus/types in /docs-site (#1864) (3438e8c)
  • fix(auth): reject unsafe forwarded headers for proxy identity (#1838) (46f03be)
  • fix(cli): correct reference generation and operator help (#1840) (b4e22af)
  • fix(selection): clarify owner overrides and selection documentation (#1847) (a33a82f)
  • fix(addons): document preparation checks and runtime requirements (#1842) (0c280fa)
  • ci: rebuild and audit installed image dependencies (#1846) (f9f5e32)
  • docs(help): clarify library writes and troubleshooting messages (#1845) (887844c)
  • fix(web): preserve revisions and validate user input (#1831) (fdb62b1)
  • fix(store): preserve schemas during inspection and restore (#1837) (d65d08b)
  • fix(settings): validate stored values and credential pairs (#1814) (f8c3bab)
  • docs(start): make the NAS first-run path explicit (#1835) (0d31a7b)
  • fix(docker): pass trigger tokens and correct container docs (#1827) (9ae08a8)
  • fix(reader): require explicit activation and share provider settings (#1833) (0ffdbe1)
  • fix(auth): invalidate sessions on sign-out and require strong secrets (#1818) (b806e0a)
  • fix(web): check request host and origin (#1816) (4c8aafc)
  • fix(music): pin ACE-Step checkpoint revisions (#1828) (2fdd565)
  • fix(release): keep deployment artifacts on the release version (#1826) (ca74d3f)
  • fix(hardening): private temp paths, URL schemes and output redaction (#1822) (88406b7)
  • docs(perf): publish final four-host render results (#1825) (8978b96)
  • perf(assembly): overlap decoder reads with bounded frame buffers (#1770) (d376964)
  • fix(assembly): preserve the final frame through blur fill (#1773) (517d440)
  • fix(places): keep travel labels at city and trip scale (#1776) (6c88a01)
  • docs(audit): pre-launch docs audit reports and grouped issue list (#1812) (9e56211)
  • perf(assembly): accelerate HLG conversion within memory budget (#1757) (ca8f20e)
  • fix(docs): prevent themed previews flashing during load (#1775) (f0c17d0)
  • fix(free-text): validate reader contracts and preserve modifiers (#1764) (b371427)
  • docs: restore discoverable project background (#1769) (25ff73f)
  • fix(cache): preserve answer visibility while flushing judgments (#1766) (48a5d90)
  • perf(assembly): reuse decoder buffers with explicit ownership (#1755) (b1216e5)
  • perf(maps): resize large satellite frames in aligned strips (#1761) (a3c10c2)
  • fix(vaapi): correct encoder preset speed ordering (#1763) (617ff4a)
  • fix(titles): bound CPU title image and audio inputs (#1754) (b204b44)
  • perf(titles): release CPU background coordinate buffers (#1752) (56eb21d)
  • perf(assembly): accelerate tagged SDR to PQ conversion (#1746) (3fc3185)
  • perf(assembly): reuse source probes throughout streaming decode (#1745) (084c840)
  • perf(assembly): reduce background blur working resolution (#1743) (66a391b)
  • fix(audio): support long soundtracks and complete hardware validation docs (#1750) (6e3d28f)
  • perf(editorial): bound nearby-choice scans by capture group (#1733) (207f613)
  • perf(privacy): scan annotation and wall token candidates natively (#1735) (f31a1c5)
  • perf(preparation): measure still decode reuse and fix Marqo benchmark (#1738) (ff5e225)
  • ...
Read more

Model artifacts v2 — Laya audience pre-screen

Choose a tag to compare

@sam-dumont sam-dumont released this 24 Sep 16:19
fed1b2c

The optional Laya audience pre-screen (editorial.laya_audience, off by default). Digest-pinned in code and refused if it does not match.

file size sha256
laya-audience-a79ad9fa.tar 811 MB a79ad9fa3e4b5ae23e6b7ca9233f2bed50746a72baf0c3803dbecd68a6625dc4
laya-audience-attribution.csv 4.4 MB per-photograph CC BY credits for the training captions

immich-memories models fetch --laya downloads the archive and verifies it. It runs on Apple silicon through laya-mlx (Apache 2.0), installed separately.

The checkpoint is convaiinnovations/laya-typed-decisions (a ModernBERT-large encoder with Laya's decision head, both Apache 2.0), fine-tuned by this project and stored in bf16. The archive carries its LICENSE and NOTICE. It answers one question from a caption: does it describe a private activity the family audience holds back.

Training text is captions that SmolVLM2-500M wrote for 30,972 public photographs from the CommonCatalog CC BY slice of YFCC100M, plus synthetic captions. Each photograph is CC BY 2.0 and its photographer is credited in laya-audience-attribution.csv, also inside the archive as ATTRIBUTION.csv. No photograph is redistributed. The labels are this project's audience question answered by glm-5.3-flash. No picture or caption from any user library was used.

Removal: email sam@dropbars.be with the photo id. The photograph is dropped from the manifest and from the next checkpoint.

This tag holds model artifacts only. It carries no source code and is not part of the release series.

v0.103.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 23:57
fd9e8b1

What's Changed

Features

  • feat(editorial): the facts a cut measures are banked for the next one (#1070) (fd9e8b1)
  • feat(editorial): motion reaches the cut, and standing reads a video as a video (#1075) (fe05f8e)
  • feat(editorial): trips carry their own weight and a cut keeps its pictures diverse (#1063) (b6e172b)
  • feat(upload): file the memory in Immich on its last picture's day and timezone (#1046) (ba2708d)
  • feat(places): place names in the film's language (#1038) (f68c054)
  • feat(titles): people and occasion titles from the family record (#1035) (22c9d96)
  • feat(network): no outside call without an explicit opt-in (#1037) (c2a8123)

Bug Fixes

  • fix(llm): an empty 404 from a server that has answered is a dropped call (#1069) (#1074) (821df99)
  • fix(special-day): a window has to hold its day, and any day can be filmed (#1072) (ab0d663)
  • fix(config): a reader key the config file states beats the OPENAI_API_KEY alias (#1069) (#1071) (96c8f5d)
  • fix(special-day): the scan reads text only, and every catalogued day says what judged it (#1068) (6dd83e3)
  • fix(editorial): a cull verdict expires with the reading that produced it (#1064) (24f706a)
  • fix(security): resolve open CodeQL alerts (#1053) (f78f96d)
  • fix(docker): hash-pin the inference image's dependency installs (#1061) (8ca39fe)
  • fix(ui): default the bind address to 127.0.0.1 (#1057) (50aae4d)
  • fix(editorial): videos are first-class in the pick, whatever the grant (#1048) (145cda3)
  • fix(cli): prepare --month prepares that month, not the year (#1056) (96cd648)
  • fix(render): bound the output decode check by the render's own encode time (#1049) (0b608fd)
  • fix(matrix): four harness defects found by the 09-17 matrix run (#1050) (ededbac)
  • fix(editorial): stars never buy a story its slot, and a baby in the pool is family viewing (#1047) (4fef1ac)
  • fix(processing): re-encode a VP9 MOV clip instead of copying it (#1043) (76be138)
  • fix(editorial): an episode reading names nothing a fact line does not name (#1041) (dcab5da)
  • fix(titles): stack the title and subtitle blocks by their real heights and refuse overlap (#1031) (afde894)
  • fix(preparation): a source without a servable preview leaves the film by name (#1030) (874d545)

Other Changes

  • chore(deps): close the 22 OSV advisories Scorecard reports (#1062) (17e8e6d)
  • docs(curator): describe selection as it runs after film-shaped reading, star rule and cut reasons (#1036) (e4a86e0)
  • build(deps): bump gitpython to 3.1.60 for PYSEC-2026-3982/3983/3984 (#1032) (e44b7dd)
    Full Changelog: v0.102.0...v0.103.0

v0.102.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 08:11
db64781

What's Changed

Features

  • feat(audio): enrich music prompts and gate degenerate takes (#1025) (24b8158)
  • feat(analysis): exclude over-long source videos before analysis or download (#1022) (f155023)

Bug Fixes

  • fix(ci): resume an interrupted release instead of stranding its tag (#1018) (a539e2e)
  • fix(security): cleartext HTTP to a render worker is an explicit opt-in (#1017) (0dfeabe)
  • fix(editorial): speech measurement failure degrades instead of aborting the cut (#1016) (9a16df6)
  • fix(security): one process, one config source for --config PATH ui (#1015) (8cf4ff4)
  • fix(processing): content-aligned Live Photo stitch joins, always measured (#1023) (cb1a624)
  • fix(titles): a cold kernel probe retries once and names its last words (#1021) (4f16b4d)

Other Changes

v0.101.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 16:02
28a5bad

What's Changed

Features

  • feat(render): hand selected films to a GPU worker (#1005) (e83c82c)

Bug Fixes

  • fix(audio): install local ACE-Step and retain Demucs stems (#1006) (28a5bad)
  • fix(ci): gate release publication on validated images (#1003) (96f226e)

Other Changes

Full Changelog: v0.100.8...v0.101.0

v0.100.8

Choose a tag to compare

@github-actions github-actions released this 15 Sep 11:39
94d606f

What's Changed

Features

Bug Fixes

  • fix(render): preserve certified Live carriers in worker jobs (#1004) (94d606f)

Other Changes

Full Changelog: v0.100.7...v0.100.8