Skip to content

Releases: raspberrypi/rpi-imager

v2.0.8: Bugfixes, Fastboot improvements

08 Apr 16:02

Choose a tag to compare

What's changed

  • Fastboot:
    • Enumerate storage devices
    • Add mount, unmount, and custom gadget support
    • Rename stage to download
    • Retry on transient USB errors
  • OS Customisation:
    • Don't set any groups, leave it to the OS
    • Use explicit runcmds for passwordless sudo
    • Require active locale selection; no pre-filled defaults
  • UI:
    • Refresh clipboard status as text fields show
  • SSH:
    • Add state machine for handling PuTTY's multiline SSH keys
  • Linux:
    • Explicitly exclude libsystemd
  • Write Operations:
    • Increase watchdog stall timeout to 180s to match the async write timeout
    • Exclude final data sync from write watchdog to avoid false stalls on slow
      cards
  • i18n: Updated French, Slovak translation dictionaries
  • Documentation:
    • Add a screenshot of the interface

PRs

New Contributors

Full Changelog: v2.0.7...v2.0.8

v2.0.7

26 Mar 12:06

Choose a tag to compare

Release edit:

  • Earlier macOS DMG was built for Apple Silicon only. Replaced Fri 27 March 2026 @ 15:15 GMT

What's Changed

  • chore(release): v2.0.6 by @tdewey-rpi in #1477
  • feat(installer): Add windows installer dark mode support in rpi-imager.iss.in by @rc-chuah in #1480
  • fix(main): Add warning for log paths that are too long by @Ferdinaelectro1 in #1481
  • Add pt-br translation by @eduardoaddad in #1490
  • Update Turkish translations by @Sype0 in #1488
  • Added documentation clarifying the interaction between old versions of Imager and new versions of RPi OS by @lurch in #1497
  • Fix malformed rpi-imager_pt-BR.ts by @lurch in #1499
  • Move the development instructions to a separate CONTRIBUTING.md file by @lurch in #1508
  • QML: fix property name mismatch in ImFileDialog by @wallentx in #1505
  • 2.0.7: Remove legacy mountutils/drivelist, bugfixes by @tdewey-rpi in #1513
  • fix(debian): Add missing GUI library dependencies by @tdewey-rpi in #1517
  • 2.0.7: Improved combobox search, HK & Macau added, don't store experimental options by @tdewey-rpi in #1525
  • 2.0.7: Remove BLKDISCARD, gzip progress bars by @tdewey-rpi in #1528
  • Add "Clear saved customisation" button to App Options by @4RH1T3CT0R7 in #1501
  • fix(cloud-init): Make instance-id durable across reboots by @tdewey-rpi in #1529
  • fix(capital-cities): Update capital city entries and handling for Hong Kong by @tdewey-rpi in #1531
  • fix(ImFileDialog): allow typing/pasting full file paths in open mode by @4RH1T3CT0R7 in #1530
  • fix(ImComboBox): use PlatformHelper for scroll direction in closed ComboBox by @4RH1T3CT0R7 in #1534
  • Fix compile erorr in platformquirks_linux.cpp by @lurch in #1537
  • fix(beep): bundle fallback chime for Linux distros without freedesktop sounds by @4RH1T3CT0R7 in #1535
  • fix(polkit): use /etc/polkit-1/actions for policy on immutable distros by @4RH1T3CT0R7 in #1536
  • fix(wifi): prevent stale WiFi settings from being applied after Skip by @4RH1T3CT0R7 in #1540
  • 2.0.7 rollup 2: Fastboot, rpiboot, compute modules, text scaling, proxy support by @tdewey-rpi in #1548
  • fix(i18n): add missing French translations for saved customisation settings by @Ferdinaelectro1 in #1555
  • chore(.gitignore) : add .idea to .gitignore by @Ferdinaelectro1 in #1552
  • i18n: complete zh-CN translation by @ykla in #1554

New Contributors

Full Changelog: v2.0.6...v2.0.7

v2.0.7-rc2: UI polish, experimental features

17 Mar 15:51

Choose a tag to compare

What's Changed

  • chore(release): v2.0.6 by @tdewey-rpi in #1477
  • feat(installer): Add windows installer dark mode support in rpi-imager.iss.in by @rc-chuah in #1480
  • fix(main): Add warning for log paths that are too long by @Ferdinaelectro1 in #1481
  • Add pt-br translation by @eduardoaddad in #1490
  • Update Turkish translations by @Sype0 in #1488
  • Added documentation clarifying the interaction between old versions of Imager and new versions of RPi OS by @lurch in #1497
  • Fix malformed rpi-imager_pt-BR.ts by @lurch in #1499
  • Move the development instructions to a separate CONTRIBUTING.md file by @lurch in #1508
  • QML: fix property name mismatch in ImFileDialog by @wallentx in #1505
  • 2.0.7: Remove legacy mountutils/drivelist, bugfixes by @tdewey-rpi in #1513
  • fix(debian): Add missing GUI library dependencies by @tdewey-rpi in #1517
  • 2.0.7: Improved combobox search, HK & Macau added, don't store experimental options by @tdewey-rpi in #1525
  • 2.0.7: Remove BLKDISCARD, gzip progress bars by @tdewey-rpi in #1528
  • Add "Clear saved customisation" button to App Options by @4RH1T3CT0R7 in #1501
  • fix(cloud-init): Make instance-id durable across reboots by @tdewey-rpi in #1529
  • fix(capital-cities): Update capital city entries and handling for Hong Kong by @tdewey-rpi in #1531
  • fix(ImFileDialog): allow typing/pasting full file paths in open mode by @4RH1T3CT0R7 in #1530
  • fix(ImComboBox): use PlatformHelper for scroll direction in closed ComboBox by @4RH1T3CT0R7 in #1534
  • Fix compile erorr in platformquirks_linux.cpp by @lurch in #1537
  • fix(beep): bundle fallback chime for Linux distros without freedesktop sounds by @4RH1T3CT0R7 in #1535
  • fix(polkit): use /etc/polkit-1/actions for policy on immutable distros by @4RH1T3CT0R7 in #1536
  • fix(wifi): prevent stale WiFi settings from being applied after Skip by @4RH1T3CT0R7 in #1540
  • 2.0.7 rollup 2: Fastboot, rpiboot, compute modules, text scaling, proxy support by @tdewey-rpi in #1548

New Contributors

Full Changelog: v2.0.6...v2.0.7-rc2

v2.0.6: Fixup button width calculations, DE translation

22 Jan 17:11

Choose a tag to compare

What's Changed

  • Update de translations by @rejas in #1468
  • refactor(ImButton): Update implicit width calculation for better cont… by @tdewey-rpi in #1473

Full Changelog: v2.0.5...v2.0.6

v2.0.5

20 Jan 16:28

Choose a tag to compare

What's Changed

  • all platforms: CLI option added to help on GUI builds
  • macOS:
    • Add dark mode and Liquid Glass icon support with pre-compiled assets
    • Add icon compilation script for regenerating icon assets
  • UI:
    • Enhance update popup with version tracking functionality
    • Improve BaseDialog minimum height for better usability
    • Use indeterminate progressbar for local gzip files without size info
    • Fixup updatePopupRequested trigger
  • Local JSON Helper:
    • Add device capabilities support
    • Add OS capabilities support

PRs

Full Changelog: v2.0.4...v2.0.5

v2.0.4

16 Jan 10:14

Choose a tag to compare

What's new

  • Write Robustness:
    • Introduce WriteProgressWatchdog to monitor write progress and detect stalls
    • Implement recovery strategies for async I/O including queue depth reduction
      and sync fallback mechanisms
    • Standardize timeout handling for pending writes across all platforms
    • Add 5-minute emergency timeout as fallback for stalled operations
  • Performance:
    • Enhance recovery event handling and monitoring diagnostics
    • Capture SHA256 hash values in performance profiles for verification diagnostics
  • Image Handling:
    • Add support for parsing .gz files to extract uncompressed size information
    • Improve handling for files larger than 4GB
  • Disk Formatting:
    • Fix FAT32 formatting for large drives (>8GB)
    • Improve root directory handling based on sectors per cluster
  • Bug Fixes:
    • Fix external tools (runuser, xdg-open) failing in AppImage due to
      LD_LIBRARY_PATH conflicts causing PAM module loading errors
    • Improve thread safety for download cancellation
    • Enhance error handling for timeout conditions
    • Use Pathlib to generate file:// URIs in local JSON helper script
    • Use XDG-compliant canberra-gtk-play and PipeWire for audio notifications
      on Linux, fixing beep on Raspberry Pi OS which no longer ships PulseAudio control by default
  • Accessibility:
    • Bypass confirmation dialog timer when screen reader is active
  • Build:
    • Refactor Qt build scripts for improved POSIX compliance and consistency
    • Add macOS-specific optimizations for universal builds

PRs

New Contributors

Full Changelog: v2.0.3...v2.0.4

2.0.3: Performance, bugfixes

22 Dec 19:23

Choose a tag to compare

✨ 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

2.0.2: Bugfixes & UI fixes

10 Dec 17:00

Choose a tag to compare

✨ Features

Performance

  • Add direct I/O bypass for Linux (O_DIRECT), macOS (F_NOCACHE), and Windows (FILE_FLAG_NO_BUFFERING) to reduce memory pressure during writes
  • Add zero-copy ring buffer for data transfer between download and write threads, reducing CPU overhead
  • Add asynchronous cache file writer to overlap download and disk I/O operations
  • Dynamically adjust write queue depth based on available system memory, tuned for more aggressive performance
  • Add sequential read hints (FADV_SEQUENTIAL, F_RDAHEAD) during verification for better prefetching
  • Track detailed performance metrics for network, decompression, and write phases
  • Use Windows IOCTLs (IOCTL_DISK_DELETE_DRIVE_LAYOUT) for faster disk preparation instead of diskpart
  • Add performance data analysis tool for debugging slow writes (Press CTRL + SHIFT + P, save the JSON, attach to a new Issue).

Drive Handling

  • Switch drive polling from fixed 1-second interval to adaptive mode (fast during selection, paused during writes)
  • Fix NVMe namespace detection on Linux to correctly identify NVMe drives by parsing /sys/class/nvme/
  • Suppress Windows "Insert a disk" error dialog when accessing empty removable drives
  • Fix macOS APFS volume handling to correctly identify child partitions
  • Allow virtual disks to be treated as 'system' drives on Windows & Linux (macOS was supported from 2.0.0)

User Interface

  • Add password field component with show/hide toggle button
  • Add type-to-search in combo boxes with backspace support to delete characters
  • Add Enter key to open combo box dropdown when focused
  • Show device and OS names with tooltips when text is truncated
  • Restructure countdown timer before write confirmation dialog can be accepted
  • Fix bottom padding in write confirmation dialog
  • Reintroduce multiple SSH key support

Accessibility

  • Add proper focus order and keyboard navigation for screen readers across all dialogs
  • Move accessibility description properties to centralized form label component

macOS

  • Add file type filter popup to native save dialogs (matching Finder behavior)
  • Request location permission asynchronously to avoid blocking the UI when detecting WiFi networks
  • Add dark mode, tinted and clear Liquid Glass icon variants using Icon Composer for proper menu bar appearance

Linux

  • Fix X11 authorization when running AppImage as root via xhost and proper XAUTHORITY handling
  • Install scalable SVG icon instead of fixed-size PNG for better HiDPI support

Windows

  • Migrate file dialogs from legacy GetOpenFileName API to modern IFileDialog COM interface
  • Fix file dialog filter string requiring double-null termination
  • Fix scroll direction on ImComboBox

Customization

  • Allow SSH public key authentication without requiring a username/password to be set
  • Fix missing user creation block when not enabling SSH

Networking

  • Add automatic fallback from HTTP/2 to HTTP/1.1 after repeated failures
  • Log HTTP protocol version used on successful downloads
  • Skip error dialogs when user cancels download mid-transfer
  • Properly close file handles when operations are cancelled

Other

  • Add file logging support (--log-file command line argument)
  • Re-use ring buffer memory for SHA256 verification instead of allocating new buffers
  • Validate init_format field in OS list JSON and log warnings for invalid entries
  • Extract clean version string (X.Y.Z) for telemetry instead of full build string
  • Add privilege escalation support for elevatable application bundles

🐛 Bug Fixes

  • Fix SSH key file dialog filter on Windows (was passing list instead of string)
  • Fix Italian translation inconsistencies
  • Fix icon installation path for Linux desktop integration
  • Fix cloud-init user-data generation for Pi Connect configuration
  • Remove O_SYNC flag from file operations (was causing unnecessary performance penalty)

🌍 Internationalization

  • Add Romanian translation
  • Add Italian translation
  • Add Czech translation
  • Updated Russian translation
  • Updated French translation
  • Update translations for new MacFile and NativeFileDialog strings
  • Add en-US translation

🎨 Icons

  • New Windows and Linux application icons
  • macOS icon with light/dark mode variants
  • Add scripts to regenerate platform icons from source SVG

What's Changed

New Contributors

Full Changelog: v2.0.1...v2.0.2

v2.0.0: A new Imager

24 Nov 13:03

Choose a tag to compare

Headline

What if we just changed...everything*?

https://www.raspberrypi.com/news/a-new-raspberry-pi-imager/

*(311 changed files with 79,315 additions and 17,156 deletions, to be more accurate)

What's Changed

  • New UI
  • New installer for Windows
  • New back-end writing algorithms
  • New download algorithms
  • Accessbility annotations throughout
  • Raspberry Pi Connect integration
  • Keyboard navigation
  • Enhanced guardrails
  • New CLI-only package
  • So, so much more.

New Contributors

Full Changelog: v1.9.6...v2.0.0

v2.0.0-rc4: Accessibility, Open WiFi, rpi-connect Windows fixes

17 Oct 16:08

Choose a tag to compare

What's Changed

  • Update to new imager 2.0 json spec by @paulober in #1248
  • Fix wifi country decoding and cloud-init netcfg for public networks by @paulober in #1249
  • feat(ifAndFeaturesStep+cloudinit): Add 1-Wire support by @paulober in #1256
  • fix(IfAndFeaturesStep): Update focus group handling for gadget confirmation dialog by @paulober in #1257
  • Fix rpi-connect cb by adding Qt IPC and single-instance on Windows by @paulober in #1253
  • feat(DoneStep): Add interfaces and features to done summary by @paulober in #1258
  • fix(WifiStep): Update hidden ssid setting restoring by @paulober in #1259
  • fix(ImOptionButton): Update broken references + improve accessibility by @paulober in #1260
  • fix(RepositoryDialog): Dynamic retrieval of default repo URL by @paulober in #1261
  • feat(WifiStep): Open/Secure Wi-Fi mode UI separation by @paulober in #1265
  • Update Georgian translation by @NorwayFun in #1264
  • i18n: Hebrew translation update by @yarons in #1254
  • Update german translation (again) by @rejas in #1245

Full Changelog: v2.0.0-rc3...v2.0.0-rc4