github raspberrypi/rpi-imager v2.0.3
2.0.3: Performance, bugfixes

6 hours ago

✨ Features

Performance

  • Implement bottleneck detection and real-time progress updates showing network, decompression, or write-bound status
  • Add detailed write timing breakdown for hypothesis testing and performance analysis
  • Skip periodic sync when direct I/O is enabled to improve throughput
  • Enhance async I/O support and configuration options across all platforms

Networking

  • Implement comprehensive network monitoring across all platforms to detect connectivity changes and automatically retry OS list fetching
  • Add automatic fallback and retry logic when network connection is restored
  • Introduce CurlFetcher and CurlNetworkConfig for improved network operations with better error handling
  • Add CA certificate bundle detection for AppImage compatibility on Linux distributions with non-standard CA paths
  • Enable file:// protocol support in curl configuration for local repository testing

Custom Repositories

  • Add rpi-imager:// URI scheme for deep-linking to custom OS repositories (e.g., rpi-imager://open?repo=https://example.com/repo.json)
  • Register .rpi-imager-manifest file type association on macOS (UTI), Windows (registry), and Linux (MIME)
  • Show custom repository host in window title bar with punycode encoding to prevent IDN homograph attacks
  • Add confirmation dialog with security delay for remote repository URLs

Drive Handling

  • Detect and handle counterfeit storage devices that may hang during I/O operations
  • Add timeout mechanism for critical operations like BLKDISCARD and writing to the end of the device
  • Add debug option to skip end-of-device operations for users with problematic cards
  • Add support for NVMe over Fabrics (BusTypeNvmeof) bus type on Windows
  • Enhance storage bus type recognition and device classification
  • Improve drive filtering and system identification logic on Linux

User Interface

  • Add sticky language preference that remembers user selection across sessions
  • Enhance title display with offline status indication in the main window
  • Improve text wrapping and marquee scrolling throughout the UI
  • Make DebugOptionsDialog height responsive to window size

Customisation

  • Enhance WiFi configuration for open networks using key_mgmt=NONE
  • Refine cloud-init user data and network configuration generation
  • Add initFormat parameter to CLI setImageCustomisation call

Windows

  • Enhance uninstallation to clean up old installation directories and registry entries left by previous installers
  • Improve user prompts during install/uninstall for detecting previous installations

CLI

  • Add note about using the --repo flag to load local os_list_local.json files
  • Fix error message displayed when CLI build is run without sudo
  • Use ANSI escape sequences for _clearLine for better terminal compatibility

🐛 Bug Fixes

  • Fix language selection on Desktop not persisting correctly
  • Fix button layout for permission warning dialog
  • Fix async write IDs overlapping with cancellation markers
  • Fix async cache hash not resetting on open, ensuring fresh computation
  • Fix unmounting logic and error handling during write operations
  • Fix hardware and software capability checks for case insensitivity
  • Fix display of customRepoHost in repository dialogs
  • Fix translation of permissions-message dialog (strings were being translated too early)
  • Fix macOS build configuration

🌍 Internationalisation

  • Updated Spanish translation
  • Updated Czech translation
  • Updated French translation (multiple updates)
  • Updated Russian translation
  • Updated Portuguese translation
  • Add new translations and error messages for multiple languages

📦 Dependencies

  • Update bundled library versions
  • Update timezone data version
  • Update capital cities database

Don't miss a new rpi-imager release

NewReleases is sending notifications on new releases.