Skip to content

Release v3.9.0

Choose a tag to compare

@Leona-Wang Leona-Wang released this 26 Mar 06:37
· 45 commits to main since this release

🚀 What's New in v3.9.0

Welcome to v3.9.0! This major release brings a massive milestone for the project, supercharges your daily CLI workflow, radically improves the mobile sharing experience, and introduces powerful new server-side capabilities.

🤖 Official Android App Launched! (Powered by APE)

We are thrilled to announce that the official FastFileLink Android app is now live on the Google Play Store!

  • Embedded Mode Validated: This app serves as the ultimate real-world validation of the "Embedded Mode" (--vfs, --hook) introduced during the 3.8.x cycle.
  • The Magic of APE: Under the hood, the Android app is actually a native wrapper running the exact same ffl.com APE (Actually Portable Executable) binary that you use on your desktop CLI. It proves that ffl can be seamlessly embedded to power native mobile environments.

🗂️ Batch Transfers & Advanced Filtering

  • Multiple Inputs at Once: You are no longer limited to a single file or folder per command. You can now mix and match multiple files and directories instantly:
    ffl file1.mp4 file2.jpg my_folder/ another_folder/
  • File List Support (@file.txt): Have a massive list of files to share? Simply put the filenames in a text file (one per line) and pass it to ffl using the @ prefix:
    ffl @my_files.txt
  • Powerful --exclude Rules: Precisely control what gets shared using the new --exclude flag. It supports a comma-separated list of exact names, glob patterns, and regular expressions.
    • Example: --exclude "secret.txt,*.py,.git,re:\.env.*" (Filters out a specific file, all Python scripts, the exact .git folder, and uses Regex to exclude any .env variations).

📱 Seamless Mobile & Social App Experience

Sharing links via chat apps (LINE, WhatsApp, Messenger, etc.) just got a massive upgrade:

  • In-App Browser Support: Previously, opening an ffl link inside a restrictive in-app browser might result in an unsupported error or a blank page. Now, the web UI renders perfectly inside these apps.
  • Direct Media Playback: If you share media files (video/audio), the recipient no longer hits a "browser does not support downloading" wall. We've added a new option that allows them to stream and play the media directly right there inside the chat app's browser!

☁️ Server-Side Power-Ups & File Requests

  • Feature Parity for Uploads: The advanced Digital Courier features from v3.8.x (--receipt, --receipt-confirm, and all --recipient-auth modes) are now fully supported and synchronized when using the Server Upload (--upload) mode.
  • New Feature: File Requests (tus protocol): We've introduced a reverse-logistics feature for registered accounts on the server side! You can now generate a "File Request" link to let others send files to you.
    • Powered by the robust tus protocol, these uploads are fully resumable and highly reliable.
    • (Sneak Peek: We are planning to bring this File Request capability directly down to the CLI and GUI in future updates!)

📦 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.9.0-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.9.0-manylinux_glibc2.39-x86_64-linux.tar.gz
    • Best for newer distros (e.g., Ubuntu 24).
  • glibc 2.28+ — widest compatibility

    • ffl-v3.9.0-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.9.0-aarch-darwin.tar.gz
  • Intel (x86_64)ffl-v3.9.0-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.