Welcome
libfilezilla is a small and modern C++ library, offering some basic functionality to build high-performing, platform-independent programs. Some of the highlights include:
- A typesafe, multi-threaded event system that's very simple to use yet extremely efficient
- Timers for periodic events
- A fz::socket class for TCP communication with infrastructure to easily add layers on top
- A TLS layer to secure communication
- A rate-limited socket layer to control traffic flow
- A datetime class that not only tracks timestamp but also their accuracy, which simplifies dealing with timestamps originating from different sources
- Simple process handling for spawning child processes with redirected I/O
libfilezilla is a cross-platform library for all major operating systems, including but not limited to Linux, *BSD, OS X and Windows.
This library is free software, it is distributed under the terms and conditions of the GNU General Public License v2+
News
2026-08-18 - libfilezilla 0.57.0 released
New features:
- Added support for creating impersonation_token from either user names or user ids
- Added APIs to check whether impersonation is available before trying to create a token
- Added fz::get_user_id() and fz::get_user_name()
- MSW: Added passwordless impersonation tokens
- MSW: Added desktop selection for processes spawned under impersonation
- MSW: Process spawning under impersonation can now report setup failures through a logger
- Improved the impersonation demo with user id, passwordless, desktop and custom command support
- Added fz::secure_buffer that wipes memory on deallocation
- Added fz::pbkd2 function taking hmac algorithm as argument
Bugfixes and minor changes:
- MSW: Loading impersonated user profiles no longer changes caller process privileges
- MSW: Fixed EOF handling when reading redirected process output after the child process exits
2026-06-04 - libfilezilla 0.56.1 released
Bugfixes and minor changes:
- macOS: Fix fz::socket::connect() failing after bind()
- Creation flag validation and normalization for fz::file
2026-05-28 - libfilezilla 0.56.0 released
New features:
- event_loop timers are now processed in a round-robin fashion if there are multiple expired timers
- Added shared_value::use_count
Bugfixes and minor changes:
- HTTP client: Fixed handling of 1yz responses
- fz::socket::connect now returns early on bind failure
- Minor fixes to socket classes