Skip to content

Release v3.8.5

Choose a tag to compare

@Leona-Wang Leona-Wang released this 24 Feb 16:58
· 56 commits to main since this release

🚀 What's New in v3.8.5

This release focuses on significantly speeding up P2P connections and delivering a richer, more secure experience for your recipients when they open your shared links.

🔌 Embedded Mode & Integrations

  • Custom Endpoint Routing via Hooks: The --hook functionality has been supercharged. You can now define custom behaviors for specific endpoints within the download link (such as intercepting requests to link/thumb). This allows embedded environments (like our upcoming Android app) to implement their own native media generation logic, completely bypassing the need for the CLI's built-in Preview addon.

⚡ Performance & Stability

  • Faster WebRTC Connections: Optimized the STUN server resolution process. By reducing unnecessary STUN overhead, the initial P2P handshake is now noticeably faster.
  • Eliminated UI Race Conditions: Fixed a timing issue where the browser UI might hang while waiting for internationalization (i18n) assets to load before establishing the connection.

🎨 Enhanced Recipient Experience (Web UI)

Even though your CLI commands remain the same, the links you generate are now much smarter:

  • Rich Previews for Server Uploads: The rich folder and media preview features are now fully supported for links generated via --upload (Server Mode), matching the experience of direct P2P transfers.
  • Smart Video Thumbnails: When sharing video files, the download page now extracts and displays actual video frames as thumbnails instead of generic icons.
  • Privacy-First Preview URLs: Hardened the privacy of the web viewer. Media preview endpoints no longer leak the original filenames in the URL structure.

🔧 Under the Hood (CLI Architecture)

  • Extended Upload Payloads: Upgraded the CLI's upload mechanism to support bundling extended metadata alongside the encrypted file content (this is what powers the new server-side preview features).
  • Event System Optimization: Refactored the Upload addon to utilize a cleaner, more robust internal event architecture for better lifecycle management.

📦 Which file should I download?

  • If you want a single file that runs everywhere, across OSes? choose APE (ffl.com / fflo.com).
  • If you want platform-optimized size/perf, choose a native build. 🙂
  • On Linux and unsure about glibc (or on musl)? -> APE ffl.com is the safest choice.

ℹ️ On the first run of a native build, the app performs an internal extraction step (by pyapp), so startup is temporarily slower once.
The install scripts pre-warm this step; manual downloads will see the one-time delay.
APE builds (ffl.com / fflo.com) are single-file and do not have this first-run warmup.


Windows (native)

  • x86_64ffl-v3.8.5-x86_64-windows.zip
    Unzip to get ffl.exe.

Linux (native)

We publish two glibc baselines. Pick the highest baseline that does not exceed your system glibc:

  • glibc 2.39+ — smaller & faster

    • ffl-v3.8.5-manylinux_glibc2.39-x86_64-linux.tar.gz
    • Best for newer distros (e.g., Ubuntu 24).
  • glibc 2.28+ — widest compatibility

    • ffl-v3.8.5-manylinux_glibc2.28-x86_64-linux.tar.gz
    • Works on older distros (e.g., Ubuntu 20); larger due to additional internal linking.

⚠️ If your system is musl-based (e.g., Alpine) or you’re unsure about glibc, prefer APE ffl.com.

macOS (native)

  • Apple Silicon (arm64)ffl-v3.8.5-aarch-darwin.tar.gz
  • Intel (x86_64)ffl-v3.8.5-x86_64-darwin.tar.gz

The archive unpacks to a single ffl binary.

🧰 APE (cross-platform single file, zero external deps)

  • ffl.com — Single-file build that runs natively on Linux, macOS, Windows, FreeBSD, OpenBSD 7.3, NetBSD, BIOS, and Android (Termux).
  • fflo.com — Alternative APE build that is exactly aligned with the open-source repo (no additional/proprietary addons).
    As a result, features that require closed-source components—such as upload to server (e.g., --upload)—are not available.

For a deeper comparison between native and APE, see the README’s notes.