Skip to content

UTransfer V1.1.0

Choose a tag to compare

@Palawizard Palawizard released this 16 Oct 18:10
· 16 commits to master since this release

We are excited to announce the release of UTransfer version 1.1, which brings significant improvements, new features, and crucial bug fixes to enhance your file transfer experience.


New Features and Improvements

1. Enhanced File Transfer Stability

  • Robust Data Transmission:
    • Implemented a reliable data reading mechanism (ReadExact method) to ensure accurate and complete data transfer over network streams.
    • This enhancement prevents partial reads and ensures that all data is correctly received.

2. Support for Multiple File Transfers

  • Improved Multi-File Handling:
    • Resolved issues where sending multiple files could cause transfer cancellations or errors.
    • Optimized the protocol to handle multiple files efficiently, ensuring that all files are received correctly without interruption.

3. Progress Bar Accuracy

  • Precise Progress Tracking:
    • Fixed the ArgumentOutOfRangeException that occurred when transferring small files.
    • Updated the progress bar to use byte-level precision instead of kilobytes, providing more accurate progress tracking for both small and large files.
    • Ensured that progressBar.Value does not exceed progressBar.Maximum, eliminating previous exceptions.

4. Server Control Enhancements

  • Interruptible Server Operations:
    • Users can now stop the receiving server even if a transfer is in progress.
    • Implemented proper closure of active connections when the server is stopped, preventing the application from becoming unresponsive.
    • Added tracking of connected clients to manage and terminate active transfers gracefully.

5. Automatic File Renaming

  • Preventing Filename Conflicts:
    • When receiving files with the same name as existing files, UTransfer now automatically renames the incoming files by appending a number (e.g., filename(1).ext, filename(2).ext).
    • This feature prevents overwriting existing files and ensures all received files are saved without conflicts.

6. User Interface and Messaging Improvements

  • Consistent Language and Clarity:
    • Updated all user-facing messages and code comments to be in English for consistency and clarity.
    • Improved error messages and notifications to provide more informative feedback during transfers, including detailed descriptions of errors and cancellations.

Bug Fixes

  • Fixed Incorrect Transfer Cancellation Messages:

    • Resolved an issue where the receiver would incorrectly display cancellation messages when transfers completed successfully.
    • Adjusted conditions to accurately reflect the transfer status.
  • Resolved Server Stoppage Issue:

    • Fixed a problem where the server could not be stopped during an active transfer.
    • The server now properly handles stop requests and terminates ongoing transfers as expected.
  • Addressed Small File Transfer Errors:

    • Corrected handling of small files (less than 1 KB) that previously caused exceptions due to progress bar calculations.
    • Ensured that small files are transferred smoothly without triggering errors.

Technical Enhancements

  • Optimized Network Performance:

    • Increased buffer sizes and optimized network stream handling for better transfer speeds and reliability.
    • Disabled Nagle's algorithm (NoDelay = true) for more efficient data transmission.
  • Thread Safety and Stability:

    • Ensured thread safety by using lock statements when accessing shared resources.
    • Properly invoked UI updates using Invoke to prevent cross-thread operation errors.
  • Improved Exception Handling:

    • Enhanced exception handling throughout the application to provide detailed error information.
    • Prevented application crashes by catching and managing unexpected exceptions gracefully.

Notes and Recommendations

  • Compatibility:

    • Ensure both sender and receiver applications are updated to version 1.1 to maintain protocol compatibility and enjoy all new features.
  • Feedback and Support:

    • If you encounter any issues or have suggestions, please open an issue on our GitHub repository.
    • We appreciate your feedback to help us continue improving UTransfer.

Thank you for your continued support and for using UTransfer. We are committed to providing reliable and efficient file transfer solutions, and we hope you enjoy the enhancements in version 1.1.