Skip to content
Welcome to our documentation!

HTTP Transfers Releases

Feature
Plain .NET (base TFM) support — Shiny.Net.Http now ships a managed HttpTransferManager for Linux, macOS, and any non-iOS/Android/Windows .NET host. Backed by HttpClient + IConnectivity, the loop wakes immediately on connectivity changes and supports resumable downloads via HTTP Range requests (206 Partial ContentFileMode.Append). Uploads always restart on failure. A default JSON filesystem repository is registered automatically so queued transfers survive process restarts. Cancelled downloads clean up partial files on disk. You must register an IConnectivity implementation (e.g. from Shiny.Support.DeviceMonitoring.Linux or Shiny.Support.DeviceMonitoring.Blazor).
Feature
New Shiny.Net.Http.Blazor package — background HTTP transfers for Blazor WebAssembly using the Service Worker Background Sync API. Queued transfers are persisted to IndexedDB and drained by a Service Worker via fetch() even while the browser tab is closed (where supported). Download bodies are stored back in IndexedDB; the C# manager reconciles results and fires IHttpTransferDelegate callbacks when the tab reopens. Registered via services.AddBlazorHttpTransfers<TDelegate>(). Ship the bundled ./_content/Shiny.Net.Http.Blazor/http-transfer-sw.js SW or importScripts it from your own service worker. v1 limitations: downloads are not resumable (SW fetches return a whole Blob); upload bodies are base64-bridged through JS interop; Background Sync is Chromium-only (Firefox/Safari fall back to foreground drain).
Enhancement
RemoteFileName property on AzureBlobStorageUploadRequest allows overriding the uploaded file name
Enhancement
Azure Blob Storage URI now includes the file path
Feature
Windows support added (No Background Support at this time)
Fix
HttpTransferMonitor now uses thread safe BindingList
Fix Android
File uploads now check to make sure file exists before queuing and downloads directories are checked to ensure they exist before queuing
Fix iOS
Send filenames with special characters properly and improved form data upload
Enhancement
Transfers can now be UploadMultipart, UploadRaw (body is raw bytes), or Download - this necessary for sending directly to Azure Blob Storage
Enhancement
AzureBlobStorageRequest.CreateForAzureBlobStorage static helper method
Enhancement
New HttpTransferDelegate allows you to set retries and detect denied authorization allowing you to refresh your token and issue a new request
Enhancement iOS
Allow fine tuned control of the nsurlsessionconfiguration and the mutable native request on iOS via implementing (& registering) INativeConfigurator
Fix Android
Ensure HTTP transfer foreground service does start multiple times
Fix Android
Check for the presence of FOREGROUND_SERVICE_DATA_SYNC on API 34
Fix Android
More aggressive retrying of transfers in queue
Fix Android
Appropriate amount of wizardary applied to remove foreground service notifications
Enhancement
Rewritten API makes it easier than ever to monitor metrics of your transfers
Enhancement Android
Now supports persistent progress notifications
Enhancement
You can pass AppleHttpTransferRequest & AndroidHttpTransferRequest to the HttpTransferManager to customize the native request