v2.0.0-preview-3

gtsteffaniak/filebrowserv2.0.0-preview-3Jul 24, 2026by gtsteffaniak

AI Summary

This is a significant pre-beta preview of v2.0.0 that requires database migration and config structural changes. It introduces granular file permissions, activity logs, and media player improvements, alongside hardware acceleration support.

Key Highlights

  • Requires mandatory database and config migration with provided tools
  • New granular per-source file permissions and view/download grant mechanism
  • New activity logs with charts, historical data, and reports
  • Media player improvements including audio visualizer and gesture support
  • FFmpeg hardware acceleration detection and support

Breaking Changes

  • Removed `GET /api/raw` and `GET /public/api/raw` routes (use `/api/resources/download`)
  • Removed `/share/…` URL redirect (use `/public/share/…`)
  • Removed singular `source` param, bare `scope` paths, and `glob`/`useGlob` aliases
  • Removed `config.conditionals`, `indexingIntervalMinutes`, and deprecated rule fields
  • Removed deprecated `userDefaults` config formats
  • Changed `PUT /api/users` to `PATCH` method
  • Moved http options from `server` to `http` config key
  • Renamed `FILEBROWSER_DATABASE` environment variable to `FILEBROWSER_DATABASE_PATH`
  • Moved stream API to `/api/media/stream`
  • Changed CLI commands (deprecated `set -u`, canonical `user set` and `user promote`)

New Features

  • View grant mechanism distinguishing between UI viewing and download
  • FFmpeg hardware acceleration support
  • Granular per-source file permissions with automatic migration
  • New activity logs with charts and historical data
  • Media player improvements: loop states, audio visualizer, fullscreen gestures
  • Opt-in deployment analytics feature
  • WebDAV support for set modification time
  • Copy operations preserve original modification times
  • User default enhancements with SQLite seeding and admin controls
  • CLI enhancements for user management

Full Release Notes

## What's Changed

> [!CAUTION]
> This is a pre-beta preview of v2.0.0 and should be treated as a test build. Make sure you keep your existing configuration and files safe.

This version represents the most significant change to date. It **requires** both a database migration and config structural changes. See the [migration guide](https://filebrowserquantum.com/en/docs/getting-started/v2/migration/) for step-by-step upgrade instructions, [About v2.0.0](https://filebrowserquantum.com/en/docs/getting-started/v2/about/) for a full summary, and the [config migration tool](https://filebrowserquantum.com/en/docs/getting-started/v2/config-migration/) to convert legacy config.

**ATTENTION**: Consider enabling `Send deployment analytics` in `settings > system & admin` to help populate some of the deployment info data. Join the discussion on this release for support or issues you notice.

 **Breaking Changes**:
 - Removed: `GET /api/raw` and `GET /public/api/raw` download routes — use `/api/resources/download` instead.
 - Removed: `/share/…` URL redirect to `/public/share/…` — use `/public/share/…` directly.
 - Removed: singular `source` search api param (use `sources`), bare `scope` paths without `sourceName:` prefix, and `glob` / `useGlob` aliases (use `useWildcard`).
 - Removed `config.conditionals`, source-level `indexingIntervalMinutes` (indexing always uses adaptive scheduling), and deprecated rule fields `fileNames` / `folderNames` / top-level `hidden` — use `config.rules` with `fileName`, `folderName`, and `ignoreHidden` on rules. 
 - Removed: deprecated `userDefaults` config formats (nested and flat) — use the [config migration tool](https://filebrowserquantum.com/en/docs/getting-started/v2/config-migration/) to convert before upgrading.
 - Changed: `PUT /api/users` moved to the more appropriate `PATCH` method.
 - Changed: http related config options in `server` config key moved to `http` config key. See [HTTP settings](https://filebrowserquantum.com/en/docs/configuration/http/).
 - Changed: `FILEBROWSER_DATABASE` environment variable — use `FILEBROWSER_DATABASE_PATH` instead. See [Environment variables](https://filebrowserquantum.com/en/docs/reference/environment-variables/) and [Server settings](https://filebrowserquantum.com/en/docs/configuration/server/).
 - Changed: Moved stream api to `/api/media/stream`. See [API reference](https://filebrowserquantum.com/en/docs/reference/api/).
 - Changed: CLI user management — canonical commands are `user set <username> --password [value]` and `user promote <username>`; `set -u username,password` is deprecated. See [CLI reference](https://filebrowserquantum.com/en/docs/reference/cli/).

 **New Features**:
 - View grant mechanism to distinguish between UI viewing and download. See [Access control overview](https://filebrowserquantum.com/en/docs/access-control/access-control-overview/).
 - ffmpeg hardware acceleration detection and support via go-ffmpeg
   - video streaming is limited to viewing only. See [Media integration](https://filebrowserquantum.com/en/docs/integrations/media/about/).
 - granular per-source file permissions (view, download, modify, create, delete) with automatic migration from global permissions
   - per-source defaults configurable in `settings > access management`
   - `view` permission is automatically set to true unless explicitly set to false. See [Access control overview](https://filebrowserquantum.com/en/docs/access-control/access-control-overview/).
 - New activity logs for user activity.
   - charts and historical data
   - activity tool to view data
   - reports. See [Activity feature docs](https://filebrowserquantum.com/en/docs/features/activity/).
 - Media player improvements:
   - Refreshed playback queue UI: Supports thumbnails, stored into session storage, and has a "clear queue" button (#2575) (#2600).
   - Loop now has 3 states (off/single/all) and neither of them will clear the existing queue (#2600).
   - New "Audio visualizer" for audio files (desktop-only), you can configure some basic things to your taste (#2575) (#2620).
   - The current state of the audio panel now is stored into local storage.
   - More gestures: Swipe up to enter/exit fullscreen, long-press to change playback speed, single tap to pause (#2575).
   - Videos now will resume fullscreen and PiP when navigating (queue auto-navigation, swipes gestures or next/previous) (#2649).
 - Added `F4` shortcut to refresh the current directory and metadata (#2600).
 - opt-in feature to send deployment analytics to filebrowser quantum developer servers
   - anonymized with a viewer so users can see what info would be sent.
   - if opt-in, every month a snapshot of your deployment config would be sent to developer servers
   - this will help me know what features are being used and what versions everyone is on over time. I will also provide a public dashboard with this information in the future. 
 - WebDAV now supports set modification time via the `X-OC-Mtime` header for clients that support it (#2626). See [WebDAV docs](https://filebrowserquantum.com/en/docs/features/webdav/).
 - Copy operations now preserve their original modification times (#2642) (#2647):
   - WebUI preserves both, files and directories.
   - WebDAV `COPY` preserves modification times only for files, is limitation we have with webdav.
 - User default enhancements
   - Config `userDefaults` seeds SQLite on first run; only fields explicitly set in config stay locked in **Settings → User defaults** (other defaults remain editable)
   - Added administrator controls for universal user defaults and enforced preferences in `settings > user management > user defaults`.
   - Added configurable default file permissions per source in `settings > access management`.
   - Added a User Defaults editor for account, permission, and profile preferences in the edit/create user prompt. See [User management](https://filebrowserquantum.com/en/docs/configuration/users/).
 - Database env var rename: `FILEBROWSER_DATABASE` is removed (startup fails if set). Use `FILEBROWSER_DATABASE_PATH` (default `filebrowser.sqlite`) or `server.database.path` in config. See [Environment variables](https://filebrowserquantum.com/en/docs/reference/environment-variables/) and [Server settings](https://filebrowserquantum.com/en/docs/configuration/server/).
 - CLI: `user set` with `--password` (inline value, interactive prompt on TTY, or piped stdin); `user promote` for admin grant without password reset. See [CLI reference](https://filebrowserquantum.com/en/docs/reference/cli/).

 **Notes**:
 - v2.x.x uses a new write-through backend state management. Changes go through a fast memory layer and also write changes to database to stay in sync. See [About v2.0.0](https://filebrowserquantum.com/en/docs/getting-started/v2/about/).
 - CLI server start (`./filebrowser`), `setup`, `version`, and `set rule` syntax unchanged; see [CLI docs](https://filebrowserquantum.com/en/docs/reference/cli/)
 - new dropdown and input styles
 - user updates are more granular, don't include entire user payload.
 - `user.id` has been moved to a backend property and all frontend apis now query users by username. Swagger has been updated. See [API reference](https://filebrowserquantum.com/en/docs/reference/api/).
 - removed legacy and deprecated properties from API responses and generated config output
 - `/api/media/stream` is audio/video only (range-based chunking). Non-media inline viewing uses `GET /api/resources/view`. Both endpoints use the same `viewToken` from file metadata. See [API reference](https://filebrowserquantum.com/en/docs/reference/api/).
 - removed exiftool as an optional helper, always built with the supported libraries.
 - If migration issues arise, see [Migration troubleshooting](https://filebrowserquantum.com/en/docs/getting-started/migration/troubleshooting/).