Skip to content

Release history

Foldergram releases

Instagram-inspired photo and video gallery

All releases

13 shown

No immediate action
v1.2.2 New feature

Language support + nested titles

No immediate action
v1.2.1 New feature

AVIF support

No immediate action
v1.2.0 Breaking risk

Places + Bookmark Collections

v1.1.0 New feature
⚠ Upgrade required
  • Legacy route aliases continue to work but new canonical routes are preferred.
  • Settings changes for stories mode and excluded folders may require a subsequent scan.
Notable features
  • Fallback to original image when preview is missing
  • Original media download actions in home feed, post viewer, stories viewer, and reels viewer
  • Polished viewer experience: icon tooltips, click‑to‑pause video playback, video folder covers, smoother post switching
Full changelog

Foldergram v1.1.0 brings a solid round of viewer, routing, and library-management improvements.

Highlights:

  • Fixed post viewer navigation on /likes/posts, so previous/next now stays within the liked-posts collection.
  • Added a fallback to the original image when a generated preview is missing, preventing blank post views.
  • Added original media download actions to the home feed, post viewer, stories viewer, and reels viewer.
  • Polished the viewer experience with better icon tooltips, click-to-pause video playback, support for video-based folder covers, and smoother post-switching.
  • Cleaned up canonical app routes: posts now prefer /post/:id and folders now prefer /f/:slug, while legacy aliases continue to work.
  • Expanded Settings with a dedicated General Settings area for stories behavior, feed defaults, and excluded folders.
  • Added configurable excluded folders for gallery discovery, rescans, and watcher-driven indexing, with support for both .env config and runtime settings.
  • Clarified when settings changes require a follow-up scan, especially for stories-mode and excluded-folder updates.
  • Moved generated previews and thumbnails into a new app-managed storage layout that is no longer tied to the gallery folder structure.
  • Added clearer scan progress and migration status messaging, including guidance for older libraries that still need to move to the new derivative layout.
v1.0.9 New feature
⚠ Upgrade required
  • Compatibility toggle in Settings allows reverting to legacy stories‑as‑folders behavior; use the provided rescan path if needed
Notable features
  • Reserved `AppFolder/stories` support for avatar stories and highlight capsules across scanning, storage, and API surfaces
  • Shared `StoriesModal` for opening stories from Home avatars and folder pages
  • Settings now includes a unified general settings card with stories mode controls, legacy toggle, migration messaging, and rescan flow
Full changelog

Summary

This release adds end-to-end folder stories and highlights support, fixes Recent feed ordering to stay strictly reverse-chronological, and improves the mobile viewing and settings experience.

Highlights

  • Home Recent feed now renders in strict reverse-chronological SQL order with no post-query reshuffling or burst balancing.
  • Added reserved AppFolder/stories support for avatar stories and highlight capsules across scanning, storage, and API surfaces.
  • Home avatars and folder pages now open stories through a shared StoriesModal.
  • Added stories mode controls in Settings, including support for legacy stories-as-folders behavior, migration messaging, and rescan flow.
  • Reserved story media is excluded from normal folder, feed, and reels surfaces.
  • Improved mobile reels controls and streamlined navigation and settings menus.
  • Refactored Settings into a unified general settings card with compact feed selectors and stories toggle.
  • Fixed story ID validation plus story retry and error-state handling.
  • Added regression coverage for Recent feed ordering and updated tests/docs for the new stories flow.

Notes

This change is designed to preserve existing local gallery behavior while introducing dedicated stories handling. If you were previously using stories as normal folders, the new settings flow provides a compatibility toggle and rescan path.

v1.0.8 New feature
Notable features
  • Tabbed search in Explore with separate media/folder results, pagination, and recent history
  • Reels: video‑first browsing experience with autoplay, vertical navigation, overlays, and anchored info panel
Full changelog
  • Improved the mobile media viewer with smoother swipe navigation, a bottom-sheet details panel, more stable modals, and cleaner Highlights and action controls.
  • Added tabbed search to Explore with separate media and folder results, pagination, and recent search history, while keeping the default explore grid when no search is entered.
  • Introduced Reels, a dedicated video-first browsing experience for local videos with autoplay, smoother vertical navigation, interactive overlays, and an anchored info panel.
  • Fixed rotated portrait videos in the home feed, improved feed playback interactions, corrected home feed mode syncing, added regression coverage for feed mode transitions, and documented the /reels route and related settings/API.
v1.0.6 New feature
Notable features
  • Admin‑only folder rename and description fields that persist across rescans
  • “Set as Cover” UI for selecting any image in a folder as its avatar (UI‑selected covers now persist)
  • Filesystem‑based folder covers supporting `cover.jpg`, `cover.jpeg`, `cover.png`, `cover.webp`, `cover.gif` with case‑insensitive matching and nested album support
Full changelog
  • Added admin-only folder customization: rename folders in-app without changing filesystem names, and add an optional folder description.
  • Added admin-only “Set as Cover” from the image viewer to choose any image in a folder as that folder’s avatar.
  • Added support for filesystem-based folder covers using cover.jpg, cover.jpeg, cover.png, cover.webp, or cover.gif.
  • Cover-file detection now works for nested child albums, not just top-level folders.
  • Cover filenames are now treated case-insensitively, so files like Cover.jpg work the same as cover.jpg.
  • Active cover files are hidden from the feed and folder grid so they do not appear as duplicate posts.
  • Manual folder names, descriptions, and UI-selected covers now persist across normal rescans and startup scans instead of being overwritten.
  • Folder avatars are now clickable on the folder page and open the currently active avatar image in the existing ImageModal.
  • Hidden cover images can now still open in the viewer when they are the folder’s active avatar.
  • Added an admin-only Home Feed Default setting under Scan & Library to choose whether Home opens with Random, Recent, or Rediscover.
  • The homepage now uses the saved app-wide feed default on first load instead of relying on a hardcoded mode.
  • Random remains the single fallback and default when no home-feed preference has been configured yet.
  • Viewers can still switch feed modes from the Home page without changing the saved admin default.
  • Added regression coverage for rescan persistence, child-album cover detection, case-insensitive cover hiding, active-avatar opening behavior, and home-feed default validation/status handling.
v1.0.5 New feature
Notable features
  • Configurable `DERIVATIVE_MODE=lazy` for on‑demand thumbnail/preview generation
  • `IMAGE_DETAIL_SOURCE` to choose between generated previews or streaming originals
  • 720p‑class preview generation and optional HD playback via Vidstack players
Full changelog

Features & Improvements

  • Lazy Derivative Mode: Added configurable DERIVATIVE_MODE=lazy support so large libraries can index first and generate missing thumbnails or previews on demand instead of doing all derivative work upfront.
  • Image Detail Source: Added IMAGE_DETAIL_SOURCE so image detail pages can use generated previews or stream originals, depending on how you want to trade off quality vs processing.
  • Video Playback Upgrade: Improved video handling with better 720p-class preview generation, optional HD playback for compatible original MP4 files, and Vidstack-based players in both the home feed and media modal.
  • Smarter Rebuild Behavior: Updated library-index rebuild and thumbnail regeneration flows to work cleanly with lazy derivatives and reuse cached files where possible.
  • Docs & Configuration: Expanded the README and docs to cover lazy derivatives, image detail source behavior, rebuild semantics, and the updated video playback flow.

Bug Fixes

  • Lazy Route Stability: Fixed lazy derivative request handling to avoid ERR_HTTP_HEADERS_SENT errors during preview/video serving.
  • Concurrency Guard: Added a generation limit for lazy derivative requests so different missing files do not spawn unbounded concurrent Sharp/FFmpeg work.
  • Video UX Polish: Fixed the HD/original playback flow and player behavior so source switching, autoplay, and modal/feed playback behave more reliably.
v1.0.4 New feature
Notable features
  • Redesigned Settings page with master-detail sidebar and grouped "Danger Zone" actions
  • Added official index and playback support for animated WebP media
  • Upgraded desktop Image Viewer to Instagram-style shrink-wrap layout with larger close button
Full changelog

Features & Improvements

  • Access Control: Implemented a new three-tier security system (Admin, Viewer, Public) to safely manage local and shared gallery access.
  • Settings Revamp: Completely redesigned the Settings page with a sleek master-detail sidebar layout and explicitly grouped "Danger Zone" actions.
  • Animated WebP: Added official index and playback support for animated WebP media.
  • Modal Polish: Upgraded the desktop Image Viewer with an Instagram-style shrink-wrap layout that gracefully hugs portrait photos, alongside a much larger, easier-to-click close button.
  • EXIF-data: Added richer EXIF-based image details in the post modal sidebar. Stored in a new internal JSON field and shown only when present.

Bug Fixes

  • Mobile Layout: Fixed a mobile rendering issue on the Library page to ensure a smoother browsing experience on smaller screens.
v1.0.3 Maintenance

Routine maintenance release for Foldergram.

Changelog

Full Changelog: https://github.com/foldergram/foldergram/compare/v1.0.2...v1.0.3

v1.0.2 Maintenance

Routine maintenance release for Foldergram.

Changelog

Full Changelog: https://github.com/foldergram/foldergram/compare/v1.0.1...v1.0.2

v1.0.1 Maintenance

Routine maintenance release for Foldergram.

Changelog

Full Changelog: https://github.com/foldergram/foldergram/compare/v1.0.0...v1.0.1

v1.0.0 New feature
Notable features
  • Local-only architecture with no cloud sync or external API dependencies
  • Folder-based library model where direct child folders are treated as albums
  • SQLite‑backed feed and folder browsing with generated thumbnails and previews
Full changelog

Foldergram is a local-only photo and video gallery app for browsing folders in an Instagram-inspired layout. It indexes media from a configured gallery root, stores metadata in SQLite, generates thumbnails and previews, and serves over localhost.

Highlights:

  • Local-only architecture with no cloud sync, auth, or external API dependency
  • Folder-based library model with direct child folders treated as albums
  • SQLite-backed feed and folder browsing
  • Generated thumbnails and previews for fast browsing
  • Image and video support
  • Development-time file watching and incremental re-indexing
  • Docker support with published GHCR image path
  • Frontend with feed, folder views, search and detail viewer

Tech stack:

  • Node.js 22
  • Express 5 + TypeScript
  • Vue 3 + Vite + Pinia
  • SQLite via node:sqlite
  • Sharp
  • FFmpeg / FFprobe

Notes:

  • This is the first stable release.
  • Recommended container image path: ghcr.io/foldergram/foldergram

Beta — feedback welcome: [email protected]