github jrohel/NetMount client-v1.8.0,server-v1.8.0,ninstall-v1.0,nmmanage-v1.1.0
NetMount client version 1.8.0, server version 1.8.0, ninstall version 1.0, and nmmanage version 1.1.0

9 hours ago

Changes in NetMount client version 1.7.1 -> 1.8.0

Features

  • Send updated file timestamp to server on close

    Upon closing a file, the NetMount client checks whether the file's
    timestamp has changed since it was opened - for example, if DOS
    updated the file timestamp. If the NetMount server supports extended
    features, the client sends the updated timestamp to the server.

    The server can then apply this timestamp, depending on its
    configuration, to set the file's last-write time.

  • Add support for DISK_INFO_LARGE request (up to 256 TiB)

    Original DISK_INFO request is limited to 2 GiB - 32 KiB due to
    16-bit total_clusters and available_clusters fields.

    DISK_INFO_LARGE is a newly added request in DOS network redirectors,
    supported by newer DOS implementations (e.g., FreeDOS Kernel 2044 /
    version 2.44, 2026). It uses 32-bit total_clusters and available_clusters,
    allowing reporting of disks up to 256 TiB - 64 KiB. Original DISK_INFO
    behavior remains unchanged.

    If the NetMount server does not support DISK_INFO_LARGE, the client
    falls back to using the original DISK_INFO request.

Other

  • Add has_drive_extended_features to shared_data

    Adds a bit in the shared_data structure indicating whether a
    particular NetMount server supports extended features.

    The client ABI version has been increased to 2, with a minimum
    compatible version remaining 1.

    The has_drive_extended_features bit field was deliberately placed
    at the end of the shared_data structure to preserve the layout
    of existing fields and maintain backward ABI compatibility.

  • Initialize has_drive_extended_features from server responses

    When a NetMount client connects to a remote share, it initially sets
    the corresponding bit in has_drive_extended_features to 0. This is
    the safe default, indicating that extended features are not assumed
    to be supported until the client has confirmed them.

    As communication with the server proceeds, the server indicates in
    its responses whether extended features are supported. The client
    updates the has_drive_extended_features bit accordingly to reflect
    the actual server capabilities.

Changes in NetMount server version 1.7.0 -> 1.8.0

Features

  • Support setting file last-write timestamp on close

    Allow client to provide requested timestamp when closing a file.
    Timestamp is applied only if client_timestamp is enabled.

    A new shared directory option was introduced:
    client_timestamp=<ENABLED> use client timestamp if present: 0 = OFF, 1 = ON (default: ON)

    Introduce new DRIVE_PROTO_EXT_FEATURES_FLAG in the NetMount protocol
    header. Clients set this flag to indicate that a specific CLOSE_FILE
    request is extended and contains the timestamp. The server sets this
    flag in the CLOSE_FILE reply when client_timestamp is enabled.

  • Improve disk info precision with smaller sector sizes

    The server previously reported total and free space using fixed 32 KiB sectors.

    Now it chooses the smallest sector size that is 512 bytes times a power of two
    (512, 1024, 2048, etc.), capped at 32 KiB. This change allows more accurate disk
    space reporting on small drives.

  • Add support for DISK_INFO_LARGE request (up to 256 TiB)

    Original DISK_INFO request is limited to 2 GiB - 32 KiB due to
    16-bit total_clusters and available_clusters fields.

    DISK_INFO_LARGE is a newly added request in DOS network redirectors,
    supported by newer DOS implementations (e.g., FreeDOS Kernel 2044 /
    version 2.44, 2026). It uses 32-bit total_clusters and available_clusters,
    allowing reporting of disks up to 256 TiB - 64 KiB. Original DISK_INFO
    behavior remains unchanged

  • Add support for NETMOUNT_FEATURE_QUERY

    Server now supports the NETMOUNT_FEATURE_QUERY request, allowing
    clients to query if a specific NetMount feature is supported.
    This enables future extension of server services while preserving
    existing behavior.

  • Set DRIVE_PROTO_FLAG_EXTENDED_FORMAT in responses

    Setting this flag in responses indicates that the server supports
    NETMOUNT_FEATURE_QUERY, as well as the extended CLOSE_FILE and
    DISK_INFO_LARGE operations.

    This informs clients that they can make use of the server’s
    extended features.

    Note:
    If file client timestamps are ignored (client timestamps are disabled
    in the server configuration), the CLOSE_FILE reply will clear this
    flag. In all other responses, the flag remain`s set

Other

  • Flush stdout after printing status table

  • Flush stderr after each log message and dump packet

  • Optimize volume label handling

    Requests for volume labels are handled directly without generating
    a directory list. However, if the client called find_next, the server
    would still iterate over the old directory list unnecessarily, even
    though it would not return any more results.

    Now, the unnecessary iteration is not performed.

  • Define and use DRIVE_PROTO_FLAG_CHECKSUM_USED, DRIVE_PROTO_FLAG_RO_SHARE

    Defining and using these constants in the code is better than relying on magic numbers.

  • help: add missing attrs for repeated drives

  • Adjust priorities of log messages

    Update the priority of several log messages. The NetMount server
    supports configurable logging verbosity, and these changes make
    the output more useful at different log levels.

  • Improve log/exception messages and use __func__

    Minor adjustments to log and exception messages, replacing
    manual function name strings with the standard __func__ variable.

Changes in NMManage version 1.0.0 -> 1.1.0

Features

  • Add support for ABI 2 and bump version to 1.1.0

    NMManage version 1.1.0 extends the "DRIVE <drive> INFO" command to
    show whether a drive supports extended features. There are three
    possible states:

    • "Server HAS_EXTENDED_FEATURES: YES"
    • "Server HAS_EXTENDED_FEATURES: NO"
    • "Client does not support extended features"

    Additionally, the "DRIVE <drive> GET HAS_EXTENDED_FEATURES" command
    was added. This command reports two possible states:

    • "YES" - supported by both client and server
    • "NO" - not supported by client or server

Binaries

The release includes the complete NetMount source code (server, DOS client, NInstall and NMManage DOS utilities), as well as:

  • 2 builds of the DOS client: for 8086 and 80286 CPUs
  • 2 statically linked builds of the server for Windows: for i686 and x86_64 (cross-compiled using MinGW on Linux)
  • 4 statically linked builds of the server for Linux: i686, x86_64, ARM aarch64 big endian, ARM aarch64 little endian
  • the "netmount-u2a.map" file with the transliteration table
  • 1 build of the DOS utility NMManage for the 8086 CPU

For transliteration of Unicode characters in filenames to ASCII, the NetMount server requires the file netmount-u2a.map, containing the transliteration table, to be placed next to the server binary.
The full path to the transliteration file can be changed using the argument "--translit-map-path=<PATH>".
To disable transliteration, set an empty path using "--translit-map-path=". If transliteration is disabled,
non-ASCII characters will be replaced with underscores (_).
Name conversion can be completely disabled for a specific share using "name_conversion=OFF".

Other utilities have not changed in this release. If needed, use builds from the older releases.

Don't miss a new NetMount release

NewReleases is sending notifications on new releases.