Skip to content

Releases: screwys/Igloo

v3.2.0

Choose a tag to compare

@screwys screwys released this 10 Aug 14:42
v3.2.0
dca6c83
  • X profiles now have a medias tab
  • Change yt-dlp to nightly version

Changelog

  • fix(feed): represent conversations with deepest reply (34898bf)
  • refactor: update application components and tests (f8c02ae)
  • feat: update application workflows and interfaces (ded35ff)
  • fix(translate): require three words for automatic translation (f5b7585)
  • fix(logs): wrap error messages within their panel (94d56a3)
  • fix(moments): use shared modal sizing (09f07c0)
  • fix(feed): preserve CDN images for pruned media assets (a619abe)
  • fix(components): keep sentence punctuation outside links (bd22e3d)
  • fix(tiktok): fall back from invisible profile names (1e5a1b8)
  • test: enable parallel database and web test helpers (6530359)
  • feat: update application behavior (89ca8d8)
  • fix(db): preserve pinned state in feed snapshots (0288e75)
  • feat(bookmarks): add keyboard navigation to label filter (9ca1104)
  • refactor: simplify application internals (e316e9c)
  • feat(db): add metadata jobs and refine test gates (d7a4307)
  • fix(android): await test scope teardown (bf04611)
  • test(ci): align local Android gate (a961d27)
  • fix(android): await database test scopes (5b0e8a5)
  • feat(feed): add removal action for failing sources (f8135f7)
  • fix(db): use thread indexes for profile history retention (3bee6e6)
  • fix(feed): compact original posts with related conversations (59c7d99)
  • fix(db): expand seen status across related post graph (cdfb976)
  • fix(feed): prevent horizontal scrolling in media overlays (f66f81a)

v3.1.0

Choose a tag to compare

@screwys screwys released this 31 Jul 23:59
v3.1.0
e646a2c
  • Updated yt-dlp version
  • Fixed a bug with moments sync saving an older cursor
  • Fixed a bug with Tampermonkey script re-following unfollowed accounts
  • Improvised the web experience

Changelog

  • fix(container): persist state across runtimes (365a8c8)
  • fix(download): classify endpoint failures as temporary (fab2602)
  • fix(download): preserve async result state and isolate temp outputs (4cf7b02)
  • fix(worker): use stable video IDs for temporary downloads (8ec113e)
  • fix(web): poll queued temporary downloads (4c61e09)
  • fix(feed): compact nearby related threads (fbdd736)
  • fix(temp-download): poll queued downloads through status API (34db5f7)
  • fix(web): render download toggle in initial page (eb7f536)
  • fix(web): cache profile media responses (0d9868b)
  • fix(web): prevent sidebar channel hover actions from shifting rows (9be4ba5)
  • fix: update Igloo implementation (b51dd57)
  • fix(ui): keep sidebar resize edge clear of scrollbars (92a9ca3)
  • fix(worker): keep authentication failures from pausing platforms (914d709)
  • fix(android): refresh feed rows and repair X share URLs (cd9a845)
  • fix(shorts): hide tray title when it collides with floating header (454b1be)
  • fix(android): restore foreground state sync (832cca8)
  • fix(android): migrate repost attribution links to LinkAnnotation (453f5fe)
  • test(android): update repost attribution link action (a485048)
  • feat(downloads): persist fetch history to prevent repost requeue (2b6c96e)
  • fix(db): preserve first source for fetched videos (9e58604)
  • fix(feed): use quoted post account for overlay bookmarks (3600b9e)
  • chore(deps): update dependency yt-dlp to v2026.7.4 [security] (#21) (befd652)
  • build(deps): bump yt-dlp from 2026.6.9 to 2026.7.4 (#20) (970a3ed)
  • feat: expand Igloo functionality (8ff1403)
  • fix(feed): compact related conversation snapshots (a998f95)
  • perf(moments): defer shorts card hydration until visible (f5b6962)
  • fix(shorts): compact Moments header and story tray controls (482c58e)
  • fix(ci): update yt-dlp Nix metadata (4236ea9)
  • fix(deps): keep downloader updates atomic (0cf7a42)

v3.0.0

Choose a tag to compare

@screwys screwys released this 23 Jul 04:21
v3.0.0
810ae88

A broad rewrite for both the server and android, focusing on keeping common operations cheaper.

Changelog

  • fix(web): handle slideshow arrows in moments (41836c5)
  • fix(web): render direct quote media bookmarks as images (84c005d)
  • Resolve canonical status IDs for likes and bookmarks (2a77d06)
  • fix(feed): preserve canonical action media (4dd959b)
  • fix(feed): widen repost merge window (de45a97)
  • fix(android): sync dearrow mode for videos (507eeeb)
  • fix(moments): use repost events in all timeline (9367975)
  • fix(ci): bump Go toolchain to 1.26.5 (7cd392b)
  • test(hygiene): allow plain sample fixture names (6dc73a7)
  • build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 (#17) (f79b093)
  • fix(deps): update module golang.org/x/crypto to v0.52.0 [security] (#18) (3224645)
  • feat(bookmarks): add account picker to bookmark sheet (ccaedb0)
  • fix(bookmarks): show account labels directly (e1debfd)
  • fix(channels): use profile display names (cae918f)
  • refactor: simplify storage and sync ownership (db7e1cc)
  • fix(feed): restore fetched head index (7b2108f)
  • fix(media): preserve tweet thumbnail ownership (5036edf)
  • fix(media): restore X preview ownership (2dcf810)
  • fix(android): recover interrupted sync safely (83a9a56)
  • fix(feed): preload media without starving reads (84a5360)
  • fix(android): unify partial reply threads (cd7e793)
  • refactor(storage): unify media ownership (09ef255)
  • fix(feed): restore indexed query paths (2b795dc)
  • fix(feed): preserve dedupe across pagination (8477a17)
  • fix(media): prioritize visible feed assets (63e3d3a)
  • refactor(media): unify durable download scheduling (2f83ca6)
  • refactor: simplify Igloo sync and feed handling (30ac9cc)
  • fix(feed): hide mute action for followed authors (9a38191)
  • fix: simplify profile and feed ownership flow (2a5417c)
  • fix(previews): use YouTube storyboards for video previews (86b4e2f)
  • fix: improve profile and media readiness (f2afd14)
  • fix: address Igloo regressions in current changes (7df496d)
  • fix(web): stabilize modal gutter and center cinema control (7b653a3)
  • perf(android): make feed scrolling more responsive (797e38a)
  • fix(android): match feed videos to stream geometry (ee04180)
  • fix(logs): keep dashboards responsive (567107d)
  • feat(web): add cinema and sidebar shortcuts (d4ba4f8)
  • fix(logs): remove analytics from server dashboard (846bff9)
  • fix(player): keep cinema view through sidebar changes (0d6deb9)
  • fix(player): expose sidebar menu in cinema view (44a9157)
  • fix: improve feed and profile readiness handling (d9e2f7e)
  • fix(player): reserve top space for floating navigation controls (1c17a38)
  • feat(android): add unfollow confirmation and compact drawer nav (ef361dd)
  • fix(player): align floating video controls (8ef097c)
  • fix: align feed and profile behavior with current data model (d2e0e7a)
  • feat(player): compact sidebar in cinema view (90086b3)
  • feat(android): restore offline video library (7c51ff4)
  • fix(android): keep pending feed actions and thread state optimistic (d138293)
  • fix(android): support back and keyboard in bookmark sheet (3c54375)
  • fix(web): compact video card title rows (3c5ab55)
  • test: remove social fixture hygiene check (458a3f8)
  • fix(db): migrate legacy schemas before validation (d59f97a)
  • fix(player): simplify cinema sidebar handling (111e3bf)
  • fix(player): adapt cinema sidebar visibility to available width (5af24a1)
  • fix(web): add profile actions for Twitter and repost moments (20edd0f)
  • fix(download): stabilize retry outputs and detect rotated cookies (342ae42)
  • fix(workers): pause external work during network failures (2492e6b)
  • fix(tampermonkey): preserve server-owned follow state (c17aa73)
  • fix(android): support slideshow gestures and profile swipes (d9e34a0)
  • fix(android): preserve moment pager position during sync updates (80b553c)
  • fix(shorts): advance after moment actions (55128c8)
  • refactor: update project implementation (7853bb9)
  • refactor: streamline application workflows (ec4ca35)
  • feat(android): expand moments action sheet (c6bdb59)
  • build(android): configure Gradle daemon and Kotlin execution (9eafc20)
  • fix(shorts): stop overlay clicks from propagating (c530932)
  • fix(moments): allow muting unfollowed authors (47de9b3)
  • fix(container): allow localhost setup through bridge ([adf7500](adf750081b5e0c87927b0...
Read more

v2.0.23

Choose a tag to compare

@screwys screwys released this 24 Jun 02:15
v2.0.23
91be696

Web fixes and better pruning

Changelog

  • fix(sync): emit retweet_sources rows (dec8671)
  • fix(release): link local release commit refs (521965a)
  • fix(android): run sync after schedule changes (e8a8f5a)
  • Update README.md (6d7a843)
  • fix(android): improve background sync catch-up (3eac1ce)
  • ci(deps): let renovate open prs directly (ed70e76)
  • ci(deps): remove renovate hourly throttle (03af7e5)
  • fix(deps): update android minor and patch dependencies (b207d6d)
  • chore(deps): update docker/dockerfile docker tag to v1.24 (3493bf3)
  • fix(deps): update module github.com/mark3labs/mcp-go to v0.54.0 (5db695e)
  • build(android): remove NewPipeExtractor dependency (717e2fb)
  • fix(settings): preserve data and occult amber defaults (bb6f1a9)
  • fix(tampermonkey): preserve refreshed auth tokens (ad98dd0)
  • fix: create bookmark stubs for web and mobile writes (217679e)
  • fix(sync): merge retweet source rows (7e8fc94)
  • fix(android): preserve sync cursors and retention (03f2fb9)
  • test(db): use sample dashboard fixtures (5646f84)
  • fix: handle Instagram throttling and player overflow (f49e4e4)
  • fix(shorts): replace moments scrolling with controlled deck (31edad4)
  • fix: keep newer moments cursor and yt-dlp errors (cf6f966)
  • fix(feed): suppress seen items from API feed (36c2c5e)
  • fix(feed): rollback optimistic like state (44714de)
  • fix(web): dedupe X profile threads across pages (04d6957)
  • fix: keep bookmark label suggestions open on mouse pick (612765e)
  • fix(shorts): sync autoplay loop state (269ea1a)
  • fix(identity): recover profile media readiness (8feb690)
  • fix(ci): bump Go toolchain (da771c9)
  • feat(feed): add post keyboard navigation (c491c9f)
  • fix(profile): guard twitter identity drift (a846f51)
  • Add offline caches for theme and follows (b743646)
  • fix(feed): keep keyboard navigation on thread entries (a164d37)
  • fix(feed): center keyboard navigation on tweets (17d5b30)
  • chore(tampermonkey): bump site sync version (2c877ec)
  • fix(feed): exclude ghost rows from latest fetched feed item (bb02592)
  • fix(feed): mark conversation branches seen (fb6a64c)
  • fix(auth): extend access token lifetime (7a006a6)
  • fix(android): prune legacy assets by generation (08a9cee)
  • chore(deps): update dependency yt-dlp to v2026.6.9 [security] (#16) (ba0f316)
  • build(deps): bump yt-dlp from 2026.3.17 to 2026.6.9 (#15) (1209ee0)
  • fix(ci): restore pipeline gates (ae7c01e)
  • fix(workers): delay startup maintenance and prune jobs (ced91fc)
  • Update README.md (7113e30)
  • fix(storage): enforce X media retention (7532bd2)
  • docs(agents): clarify Igloo push flow (906ed79)

v2.0.22

Choose a tag to compare

@screwys screwys released this 24 May 08:09
v2.0.22
8c42a8b

Web fixes and server-android sync improvements

Changelog

  • fix(release): publish releases from local script (2fde119)
  • Fix subtitle auto-detection and VTT parsing (65df8d1)
  • feat(translate): batch thread auto translations (8cae425)
  • fix(android): keep moments share action available (f8f2f8c)
  • fix(profile): fetch rich x profiles after avatar repair (d4b0621)
  • fix(instagram): recover avatars from richer metadata (dc00a76)
  • fix(instagram): prefer fresh avatar metadata (28667b4)
  • fix(feed): hide redundant two-post thread capsule (78aa04d)
  • fix(stories): advance through story endings (fc6b022)
  • Refine subtitle auto detection from yt-dlp metadata (ab28024)
  • fix(web): wrap profile card links (acf5241)
  • fix(profile): keep x avatar repair with profile fetch (fa62895)
  • fix(player): reset completed video resume point (66d2e1b)
  • ci(deps): validate downloader runtime automerge (7a3edc5)
  • fix(tampermonkey): use toasts for script notifications (02da664)
  • Cache YouTube commenter avatars for Android (cf83e8a)
  • fix(moments): settle snap edges after swipe (39def3e)
  • fix(feed): keep profile hovers above media overlay (a8052d7)
  • fix(android): keep sync scheduling bounded (b92c3ec)
  • Fix article cover media rendering in feed (6376a32)
  • fix(feed): prefer threads over duplicate reposts (7bee3be)
  • fix(profile): keep x hover profiles visible (6f5e582)
  • fix(feed): debounce scoring refreshes (8adc710)
  • fix(android): preserve periodic sync cadence (e8fc737)
  • fix(profile): add refresh action to profile card menu (e34e8ee)
  • feat(mcp): add focused Igloo evidence tools (12144e7)
  • fix(sync): improve android background sync (13c2a57)

v2.0.21

Choose a tag to compare

@screwys screwys released this 20 May 14:19
v2.0.21
282c3bb

More downloader fixes.

Changelog

  • chore(release): remove artifact environment gates (29d9c48)
  • chore(release): stop attaching container scan assets (0e560bb)
  • Fix Instagram avatar backoff and refresh missing files (5924133)
  • Fix Android tap handling and feed text limits (6319f6a)
  • Fix fullscreen player tap handling (4b5f8ba)
  • fix(feed): exclude ghost thread context from feed (65e8805)
  • fix(stories): skip entries on click (1b01f9d)
  • fix(feed): merge threads by root (2aa0236)
  • fix(fetch): avoid redundant external enrichment fetches (fb84025)
  • chore(release): add release scripts (68b397b)

v2.0.20

Choose a tag to compare

@github-actions github-actions released this 19 May 20:19

Release v2.0.20

More fixes

changes:

  • fix(feed): prevent stale asset bundle breakage (2070cfc)
  • fix(profile): preserve instagram avatars without replacement (cc78c8d)
  • ci(release): verify release tags against signing key (bf7d9c6)

v2.0.19

Choose a tag to compare

@github-actions github-actions released this 19 May 16:44

Release v2.0.19

downloader fixes

changes:

  • fix(bookmarks): use sync assets for mixed tweet slides (d9ab3ad)
  • fix(android): preserve bookmark filter in moments player (fad6a7f)
  • fix(android): stabilize youtube player orientation (dd76f6c)
  • fix(container): avoid nix source runtime builds (b827536)
  • fix(container): unblock cached runtime scan (0239246)
  • fix(release): gate artifact workflows on signed tags (afc49cb)
  • fix(android): stabilize youtube player orientation (6a66c39)
  • chore(release): clean up manual release flow (dc11ee7)

v2.0.18

Choose a tag to compare

@github-actions github-actions released this 19 May 03:22
v2.0.18
eda33e8

Release v2.0.18

Server discoverability on android login page and fixes for server & tampermonkey script

changes:

  • fix(android): keep phone primary nav in bottom bar (8ea56be)
  • fix(android): render thread ancestor media (cb0dd24)
  • Update AGENTS.md (99f6e17)
  • fix(android): improve Igloo server discovery (bed1b66)
  • fix(android): reduce feed snapshot limit (b49f7d1)
  • fix(download): recover instagram cookie-source changes (198b320)
  • fix(feed): merge nearby repost originals (fa907f2)
  • fix(channels): paginate X profile feeds (43518ee)
  • fix(bookmarks): preserve mixed tweet slides (ef2e0e1)
  • fix(worker): share platform discovery scheduling (71e4758)
  • fix(moments): restart videos from zero on swipe (00299ce)
  • feat(theme): add occult umbral palette (05034ac)
  • feat(userscript): theme X from script palette (ad15415)
  • fix(userscript): restore X action theme colors (9160686)
  • fix(userscript): cover Catppuccin X selectors (4978422)
  • fix(userscript): separate X control theme colors (b2a524b)
  • fix(userscript): default X theme colors to site palette (655e9ff)
  • fix(userscript): collapse X theme controls (fbef39a)
  • fix(userscript): sync X theme from Igloo web theme (da0220f)
  • fix(web): expose theme tokens without auth (0b27ec1)
  • fix(userscript): cover X sidebar theme backgrounds (2ee9861)
  • version bump (090cb14)
  • fix(moments): guard graph lookup during tab switch (cb6f257)
  • test(dev): move script checks into Go tests (c6799f1)
  • fix(feed): resolve missing reply parents (22e126a)
  • fix(export): include database in full export (258c9c8)
  • fix(config): export subscriptions from database (9f6f3ae)
  • docs(release): add release description (d348d13)

v2.0.17

Choose a tag to compare

@github-actions github-actions released this 17 May 02:22
v2.0.17
9ee0fd9

Release v2.0.17

Changed image build defaults.

changes:

  • fix(android): fit moments in compact split screen (fd75592)
  • fix(android): improve storage and login defaults (6532e17)
  • ci(release): trim artifact jobs (2c290f2)
  • test(android): replace bytecode mocks with fakes (4ffd488)
  • test(release): align artifact workflow checks (e1ef30b)