Version 2024 Updates


We are pleased to announce the full release of version 2024 for all products. Our team has been hard at work delivering the most significant release in recent years. In this update guide, we provide an overview of all updates. We welcome you to download the latest version of all products and try them for yourself.

Download Products

If you are upgrading from a previous version, please review the Upgrade Guide for details on API changes and other updates, which may help while upgrading your project.

Contents

CBFS Connect

CBFS Connect 2024 includes several major updates. The new NFS component implements an NFS 4.1 server, providing a simple way to mount a drive and serve files without a kernel mode driver. The NFS component is available for all supported platforms, but is particularly useful in macOS where kernel mode driver installation can be challenging.

The CBFS component has been updated to provide additional functionality including support for extended attribute operations. New API members including SetEa and QueryEa methods and the SupportExtendedAttributes property provide options to manage extended attribute operations.

Sparse file support can be enabled by setting the new SupportSparseFileAttribute property and handling the QueryCompressionInfo, QueryAllocatedRanges, and ZeroizeFileRange events. Support for compressed files has been improved and the new SupportCompressedAttribute property can be used to enable support for this attribute.

In certain situations it can be beneficial to clear a given file's cache. A FlushFile method is now available in the CBFS component to accommodate this.

CBFS Filter

CBFS Filter 2024 now includes support for File Isolation, a major new feature. This type of file filtering allows different processes to see different file contents when viewing the same file. For example, one process may see decrypted content, while another process would see only encrypted data. This powerful new feature provides additional control over file content on a per-process basis. Please see the File Isolation article for more details.

Support for virtual files has also been added. Virtual files allow applications to create files that are not actually present in the filesystem. Files will appear like any other files to end users, but file data can be stored anywhere. The new AddVirtualFile method may be used to create virtual files.

The new PassAllFilenames configuration setting instructs the component to pass all known filenames to event handlers, including the name used to open the file and the names used during rename and hardlink operations. If the new RetrieveLinkNamesOnOpen configuration setting is also set, then a list of hard links for the file is also passed to the event. Additionally, short names can optionally be resolved using the NormalizeShortFileNames configuration setting.

An EventContext parameter is now available in all Before and After events. This parameter provides a way to pass user-specified data between these events.

A CreationStatus parameter has been added to CBMonitor's AfterCreateFile, AfterOpenFile, NotifyCreateFile, and NotifyOpenFile events to indicate the outcome of the operation related to that event.

CBFS Shell

CBFS Shell 2024 includes three components to easily extend File Explorer with support for virtual folders and custom menus. The ShellFolder component enables creating a virtual folder containing items in the Windows Shell. The ShellMenu component enables customizing Windows context menu items and commands. The ShellNotify component enables monitoring file system change notifications.

The IncludeClipboardFormats and ExcludeClipboardFormats configuration settings have been added to ShellFolder. Providing all formats during copy/paste and drag-n-drop operations can take up more resources than required. These settings can be used to optimize data transfer during these types of operations.

CBFS Shell is available in .NET, C++, Delphi, Python, Go, and Rust editions.

CBFS Sync

CBFS Sync 2024 is a cross platform library enabling seamless synchronization between local filesystems and cloud storage or other remote repositories. An event-driven API allows you to monitor local files and folders in real-time, enabling seamless integration with popular cloud services, file repositories, and other applications. CBFS Sync provides a native experience, utilizing the operating system's icons and indicators. Streamline development with a unified, cross-platform API built on industry-standard technologies: Cloud Filter API on Windows, FUSE on Linux, and File Provider on macOS.

We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@callback.com.