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
2024-10-15 - libfilezilla 0.49.0 released
New features:
- Added fz::to_integral_o that returns an optional
- If mutex-debugging is enabled, attempts to destroy a still locked mutex are now detected
- fz::file can now also be oppened in append mode
- MSW: Added users, authenticated_users and system entities to security_descriptor_builder
Bugfixes and minor changes:
- fz::to_integral now verifies that the value fits into the return type instead of silently truncating
2024-07-10 - libfilezilla 0.48.1 released
Bugfixes and minor changes:
- Allow comparing strtokenizer::iterator with each other
- MSW: fz::recursive_remove now exposes calls SHFileOperations, as the caller might need special steps to ensure modality
2024-06-26 - libfilezilla 0.48.0 released
New features:
- fz::percent_decode can now optionally treat plus as space
- Added file::get_modification_time
Bugfixes and minor changes:
- EROFS is now mapped to fsresult::noperm
- fz::aio_waiter has been removed due to thread-safety issues
- *nix: Only link with -ldl if required by dlsym
- Fixed error code if no parent can be found during mkdir