Releases: screwys/Igloo
Releases · screwys/Igloo
Release list
v3.2.0
- 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
- 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
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...
v2.0.23
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
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
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
v2.0.19
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
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
Release v2.0.17
Changed image build defaults.
changes: