rpi-imager (2.0.11.1-1) unstable; urgency=medium

  * Pi Connect:
    - Fix the Next button never enabling on the Raspberry Pi Connect
      customisation step once the browser sign-in fills in the token. The
      sanitised `value` an ImTextField exposes was a binding on `text`, and
      QML re-evaluates a binding only after every handler for the same change
      signal has run, so the step's own onTextChanged read the previous
      (empty) contents and cleared the token it had just been handed.
  * Build / packaging:
    - Carry an optional fourth version component through the version parser to
      the Windows templates, so a hotfix reports its own FILEVERSION,
      PRODUCTVERSION and assembly manifest version rather than those of the
      release it fixes. Ordinary three-part tags are unaffected.
    - Keep the fourth component in the version reported alongside download
      statistics, so uptake of a hotfix can be told apart from the release it
      fixes.
  * Testing:
    - Update nine cloud-init generator tests that still asserted the
      unconditional baseline payload (manage_resolv_conf, eth0 DHCP) dropped
      in 2.0.7; an empty payload is what tells the fastboot and download paths
      to skip writing the file at all.
    - Update two FileServer tests to the control-transfer message protocol and
      the fatal-disconnect handling that came in with CM5 re-provisioning.
    - Report Catch2 skips to CTest as skipped rather than as failures, and
      keep the FAT partition test's pre-main diagnostics off stdout, where
      test discovery had been registering one as a case that could never pass.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 17 Aug 2026 11:11:47 +0100

rpi-imager (2.0.11-1) unstable; urgency=medium

  * OS Customisation:
    - Add the rpi-preseed first-boot customisation format, and list it as a
      valid init_format in the schema notes.
    - rpi-preseed: always add the account to the 'sudo' group.
    - cloud-init: write `sudo: null` when the user declines passwordless sudo.
      A singular `user:` block is merged over the distro default_user, which
      raspberry-pi-os populates with passwordless sudo, so omitting the key
      granted it regardless of the user's choice; `null` suppresses the rules
      while keeping 'sudo' group membership, so the account is prompted for one.
    - Centralise credential derivation in CustomisationGenerator and hash
      credentials in C++ before persisting them.
    - Verify the device kept the customisation files after writing.
    - UI: keep customisation steps centre-middle; drop the unused ImageOptions
      enum; bind SSH key row data; allow query parameters on custom manifest
      URLs.
  * Fastboot (Compute Module):
    - Add an Erase command for 'Format'.
    - Verify device identity before treating a target as a Pi.
    - Align stage() tests and docs with the download verb.
  * Write reliability:
    - Support multi-frame .img.zst images (use ZSTD_findDecompressedSize).
    - Linux/Windows: take an exclusive lock on drive open. On Windows, hold
      volume locks rather than deleting drive letters, only remove removable
      mountpoints, retry the exclusive open before falling back to shared, and
      flush the filesystem to media before writing the partition table.
    - macOS: run DiskArbitration on the main run loop with blocking calls, and
      move the nested run loop onto worker threads.
  * Embedded (Raspberry Pi network installer):
    - Build a dedicated Qt configured -no-opengl -qpa linuxfb -no-dbus
      -no-feature-icu. The pi-gen-micro netboot image carries no Mesa or X11
      (far too large for a network-loaded image), no session bus, and none of
      the languages that need ICU. The package had drifted onto the desktop Qt
      and so linked libEGL/libGL/libX11 and libQt6DBus -- absent from the image
      -- and could not load on the target.
    - Build the application without QtDBus for embedded; its DBus users (portal
      file dialog, NetworkManager WiFi backend, Pi Connect URI handler) are
      unusable on a busless image and are compiled out via QT_DBUS_LIB guards.
    - Assemble the .deb with debhelper so debian/control is the single source of
      dependencies and metadata and md5sums are generated; trim Depends to the
      minimal host-provided set (no libegl1/libgl1/libx11-6/libsystemd0, which
      apt would otherwise pull -- Mesa and X11 included -- into the image).
    - Bake an $ORIGIN-relative rpath at build time (was a leaked build-host
      path), dereference the bundled fontconfig config, and drop the stale
      vendored ICU handling.
  * Build / packaging:
    - Rootless multi-arch (amd64/arm64/armhf) release pipeline: every arch,
      the host included, builds inside its bookworm mmdebstrap chroot; there is
      no host-native build path (a package built against the host's libraries
      is not the package it claims to be).
    - Desktop and CLI AppImages are now self-contained: bundle the transitive
      library closure of the staged AppDir (via readelf, so it also works for
      foreign-architecture AppDirs), which was previously taken from the host
      and left arm64/armhf incompletely bundled. Declare the genuinely
      host-coupled libraries in debian/control.
    - Build Qt with -no-feature-icu across desktop/CLI/embedded; drop the
      JPEG 2000 image plugin; collect the source .buildinfo.
    - liburing: probe for the 64-bit user_data API (added in 2.2) before
      enabling io_uring, so an older build environment falls back to
      synchronous writes instead of failing to link.
    - Vendor curl/libarchive/libusb/nghttp2/xz as git submodules.
    - Reproducibility and hygiene: normalise mtimes; generate version files in
      an explicit build override; prune qmlls and performance profiles from the
      packaged tree; stop deleting the screenshot; ship the fastboot udev rule
      inside the .debs; assorted amd64/arm64 packaging fixes.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 06 Aug 2026 11:46:27 +0100

rpi-imager (2.0.10) unstable; urgency=medium

  * Pi Connect:
    - Fix Connect sign-in on more Linux systems (#1564)
  * Secure Boot / rpiboot:
    - AB-image support in BootloaderImage with signing and extraction
      tests
    - Fetch firmware from rpi-eeprom; fixup reboot expectations
    - Fix CM5 re-provisioning support
    - Always validate stale cached firmware assets
    - PAL-ify RSA key fingerprint; fix rpiboot storage handoff
    - Push key handling behind the PAL
  * Fastboot:
    - Set chosen storage as first boot source via EEPROM
  * OS Customisation:
    - Enhance SSID handling with octet support and YAML escaping
    - Vendor capital cities data; stop fetching from REST Countries API
    - Wizard: improve nextStep logic for "write another" mode
  * UI:
    - QML refactor: ImageWriter singleton, cachegen, lazy-loaded options
      dialogs
    - Fix keyboard navigation on write confirmation dialog
    - Disable 'clear customisation' during active writes
    - Re-bind RSA key visibility for debug options
    - Prevent ImageWriter double-construction
    - FocusableText/Heading components for accessibility
    - Gate OTP programming visibility
    - Prevent VoiceOver crash on password fields (#1607)
  * Write Operations:
    - Don't emit success() after a failed extraction (#1603)
    - Set extract length when manifest size is given
    - Omit percent progress when extract size cannot be determined
  * Windows:
    - Reliably flag system drives (#1558)
    - Force disk status refresh on write errors
  * macOS:
    - Require macOS 13 as minimum
    - Scale release label in create-dmg
    - Fall back to venv for custom background generation
    - Coalesce unaligned writes/reads to /dev/rdisk* (fixes .img.zst
      EINVAL)
    - Prevent mach-port over-release crash (#1632)
  * Linux:
    - Build fixes
  * Embedded:
    - Move scaling choices into C++
    - Deploy vendored tree without AppImage
    - Drop NetworkAccessManagerFactory and OpenSSL
    - create-embedded.sh: support custom ICU runtime libraries
  * Dependencies:
    - Upgrade curl, libarchive, libusb, nghttp2, and xz
    - Single source of truth for curl user-agent
  * Build:
    - Trim unused Qt build features and configuration options
  * Documentation:
    - Update os-list-schema; prune bmap spec document
    - Update bmap-tools repo URL
  * Performance:
    - Refactor analyse_performance script

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 19 Jun 2026 14:35:14 +0100

rpi-imager (2.0.9) unstable; urgency=medium

  * Pi Connect:
    - New ConnectDeviceRegistrar over HTTPS with on-device signing
    - Wizard flow for Pi Connect for Organisations enrolment
    - Organisation registration and provisioning-token tracking
    - Register device identity with Connect after fastboot flash
  * Secure Boot / rpiboot:
    - Rewrite SecureBootProvisioner for in-place CM5 re-provisioning
    - Add CM5 re-provisioning pipeline in FirmwareManager
    - New BootloaderImage TLV editor for pieeprom.bin
    - Bootfiles repacking via replaceEntry + writeToFile
    - config-sig generation, RSA public-key extraction and
      bootcode2712 signing
    - Debug toggles for force-secure-boot and sign-fastboot-gadget
  * Fastboot:
    - Capture INFO/TEXT lines for OEM commands
    - Chunk file_server bulk transfers
    - Resolve cache before fastboot flash
    - Pause drive scan during auto-bootstrap
    - Track naked rpiboot devices separately in the drive list
    - Fix command truncation
    - Normalise custom gadget paths so local files can be used
  * OS Customisation:
    - cloud-init: drop enable_ssh in favour of systemctl runcmd
    - cloud-init: use 'user' (not 'users') for user configuration
    - Fix serial-if disabled handling
  * UI:
    - Reduced motion support for accessibility
    - Make AppOptionsDialog scrollable; move Telemetry to bottom
    - Align SecureBoot step container styling
  * Write Operations:
    - Remove the 512-byte alignment requirement
    - Better overflow handling in DeviceWrapper for GPT and MBR
      partitions and FAT partition long filenames
    - disk_formatter: handle extremely large sectors_per_fat
    - downloadextractthread: use shared_ptr for the write ringbuffer
    - cachemanager: fix TOCTOU on directory existence check
  * Device I/O:
    - Read per-device I/O limits to inform write tuning
  * Windows:
    - Propagate write error handling through FileOperations
    - Advertise long path, DPI awareness and UTF-8 codepage
    - Geometric backoff for volume lock; wait for clean completion
    - Uninstaller preserves user preferences, removes cache and
      customisation data
    - Use secure memory erase for WiFi credentials
  * macOS:
    - Use secure memory erase for WiFi credentials
  * Linux:
    - Prefer kreadconfig6, fall back to kreadconfig5; pick the right
      binary via KDE_SESSION_VERSION
    - SuspendInhibitor and launchDetached use explicit search paths
    - AppImage: exclude libsystemd, libdbus-1, libcap for Linux
      Desktop AppImages
  * Embedded:
    - Use explicit path for the reboot command
  * Tests:
    - Relocate disk_formatter_test, add CMake target, build on
      non-Windows platforms
  * Licensing:
    - Add nghttp2, libusb and yescrypt to the licence manifest
  * i18n: Updated French, Irish and Turkish translation dictionaries

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 01 May 2026 16:30:00 +0100

rpi-imager (2.0.8) unstable; urgency=medium

  * 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

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 08 Apr 2026 12:00:00 +0100

rpi-imager (2.0.7) unstable; urgency=medium

  * Write Operations:
    - Prevent re-entry during write operations and improve thread management
    - Start progress watchdog only after device authorization to avoid false
      stall detections during macOS authorization dialogs
  * Local Files:
    - Load local manifest files directly without confirmation dialog
    - Improve URL handling to differentiate local file URLs from remote URLs
  * Drive Enumeration:
    - Replace vendored drivelist/mountutils dependencies with new
      platform-specific implementations for macOS, Linux and Windows
    - Enhance error handling and show UI banner on enumeration failures
    - Improve code clarity and signal-slot connection syntax
  * Networking:
    - Track effective URL after redirects in CurlFetcher for better
      transparency and security feedback
  * macOS:
    - Simplify network status logging in platform quirks
    - Update disk unmount and eject operations to handle device paths directly
  * Tests:
    - Add unit tests for platform-specific quirks
    - Update drivelist test API definitions via CMake compile definitions
  * Build:
    - Update .gitignore to include clangd cache files

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 13 Feb 2026 15:25:00 +0000

rpi-imager (2.0.6) unstable; urgency=medium

  * UI: Improve ImButton width calculation for better content fitting
  * i18n: Updated German translation

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 22 Jan 2026 14:30:00 +0000

rpi-imager (2.0.5) unstable; urgency=medium

  * 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

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 20 Jan 2026 17:00:00 +0000

rpi-imager (2.0.4) unstable; urgency=medium

  * 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

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 15 Jan 2026 12:00:00 +0000

rpi-imager (2.0.3) unstable; urgency=medium

  * Networking:
    - Implement comprehensive network monitoring to detect connectivity changes
    - Automatic retry of OS list fetching when network is restored
    - Add CA certificate bundle detection for AppImage compatibility on Linux
  * Custom Repositories:
    - Support rpi-imager:// URI scheme for deep-linking to custom repositories
    - Register .rpi-imager-manifest file type on all platforms
    - Show custom repository host in window title with security hardening
  * Counterfeit Card Detection:
    - Detect and handle counterfeit storage devices that hang during I/O
    - Add timeout mechanism for critical disk operations
    - Add debug option to skip end-of-device operations
  * Performance:
    - Implement bottleneck detection showing network/decompression/write status
    - Add detailed write timing breakdown for analysis
    - Skip periodic sync when direct I/O is enabled
  * UI:
    - Add sticky language preference across sessions
    - Enhance title display with offline status indication
    - Improve text wrapping and marquee scrolling throughout
  * Drive Handling:
    - Add support for NVMe over Fabrics bus type on Windows
    - Enhance storage bus type recognition and device classification
  * Customization:
    - Enhance WiFi configuration for open networks
    - Add initFormat parameter to CLI setImageCustomisation call
  * Windows:
    - Enhance uninstallation to clean up old installation directories
  * Bug Fixes:
    - Fix language selection persistence
    - Fix async write ID overlap with cancellation markers
    - Fix async cache hash reset on open
    - Fix unmounting logic and error handling
    - Fix hardware/software capability case sensitivity
  * i18n: Updated Spanish, Czech, French, Russian, Portuguese translations

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 22 Dec 2025 18:00:00 +0000

rpi-imager (2.0.2) unstable; urgency=medium

  * OS customisation:
    - Fixup init_format validation
    - Fixup telemetry version string
    - Update cloud-init user-data generation for Pi Connect
    - Support SSH public key authentication without username/password
    - Enhance WiFi configuration for WPA2/WPA3 compatibility
  * UI:
    - Improve focus handling for labels in wizard steps
    - Update accessibility properties for form labels
    - Enhance ComboBox keyboard navigation and search functionality
  * macOS: Enhance file dialog with file type selection popup
  * Linux: Implement privilege escalation support for elevatable bundles
  * all:
    - Add file logging support for debugging
    - Remove O_SYNC flag from file open operations

  -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 26 Nov 2025 13:00:00 +0100

rpi-imager (2.0.1) unstable; urgency=medium

  * i18n: Updated Italian translation
  * Windows: Migrate to modern IFileDialog for file selection
  * Windows: Fix SSH key file selection filters

  -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 24 Nov 2025 13:00:00 +0100

rpi-imager (2.0.0) unstable; urgency=medium

  * UI: Complete redesign, now as a wizard
  * OS customisation: Add Raspberry Pi Connect step
  * App Options: Custom repository selection UI
  * OS customisation: Rebuilt back-end in C++
  * build: Custom Qt 6.9.3 builds for each platform

  -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 10 Oct 2025 17:00:00 +0100

rpi-imager (1.9.7) unstable; urgency=medium

  * OS customisation:
    - Fixup SSH key duplication in written OS
    - Fixup 'Beep', 'Eject', 'Telemetry' option persistence
    - Improve ComboBox behaviours
  * Storage Device Selection: Begin observing at start of day,
      improve removal notifications.
  * windows: Autogenerate manifest version information from the build
  * windows, macos, linux: Add PlatformQuirks module to deal with host
      hardware quirks. Today, just used on Windows for nVidia lockups.
  * all: Add OS list refresh jitter and override
  * all: Generate timezone data from tzdata
  * OS customisation: Refactor dialogs, data reset
  * Cache Management: Fixup destruction segfault
  * Embedded: Unified build
  * macOS: Build custom Qt 6.9.1

  -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 31 Jul 2025 17:00:00 +0100

rpi-imager (1.9.6) unstable; urgency=medium

  * OS customisation:
    - Add Wi-Fi country selection validator
    - Add new SSH key error messages
  * i18n: Updated Chinese, French, Italian, Russian translations
  * windows: Use normal mode for file writing operations
  * all: Refactor drive formatting logic, home-grown formatter

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 21 Jul 2025 17:00:00 +0100

rpi-imager (1.9.5) unstable; urgency=medium

  * OS customisation:
    - Enhanced validation of SSH keys
    - Improved keyboard navigation
  * OS list:
    - Add architecture sorting support
  * UI:
    - Better keyboard navigation support throughout
  * bug:
    - Fix ISO9660 handling
    - Fix spurious writing Updates
  * build:
    - Automatic discovery of translation files
  * deps:
    - Update to libarchive 3.8.1
    - Update to nghttp2 1.66.0
  * i18n:
    - Add Irish language, Bengali language
    - Fixup broken binding when swapping between languages
    - Updated French, German translation
  * macOS:
    - Add support for writing to virtual drives
    - Styled DMGs
  * packaging:
    - Removed unused Qt Quick Controls
  * windows:
    - Restore delayed wlanpi loading
  
 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 11 Jul 2025 17:00:00 +0100

rpi-imager (1.9.4) unstable; urgency=medium

  * Windows: Switch to Inno Setup for installer
  * Windows: Add signing for binaries, installer, and uninstaller
  * Windows: Add administrator privileges and NSIS removal support
  * macOS: Fix .app naming in .dmg packages
  * macOS: Improve build reliability and programmatic copyright handling
  * Linux: Hide system drives in destination popup
  * all: Fix OptionsPopup not handling 'Esc' key
  * all: Internal refactoring and QML code improvements
  * all: Add support for more archive formats via libarchive
  * all: Performance improvements in download/extract operations
  * qml: Split main UI into multiple component files
  * qml: Add Style singleton and ImCloseButton component
  * qml: Make options popup modal and improve accessibility
  * qml: Fix various QML linting warnings and unqualified accesses
  * i18n: Updated Italian translation
  * i18n: Added Georgian translation
  * i18n: Make 'Recommended' OS string translatable
  * packaging: Add custom AppImage build script with Qt detection
  * packaging: Add custom Qt build script with unprivileged mode
  * packaging: Include custom Qt 6.9.0
  * packaging: Migrate dependencies to FetchContent system
  * dependencies: Update to libarchive 3.8.0
  * dependencies: Update to cURL 8.13.0
  * dependencies: Update to nghttp2 1.65.0
  * dependencies: Update to zstd 1.5.7
  * dependencies: Update to xz/liblzma 5.8.1
  * dependencies: Update to zlib 1.4.1.1
  * cmake: Version requirement bumped to 3.22
  * cmake: Various build system improvements and hardening
  * build: Updated README with new build instructions
  * OS customisation: Remove 'Show password' checkbox

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 30 May 2025 17:00:00 +0100

rpi-imager (1.9.3) unstable; urgency=medium

  * Windows: Add quiet uninstaller flag
  * Windows: Fixup long filename construction in FAT partitions
  * i18n: Updated Portuguese translation
  * i18n: Updated zh-TW, zh-CN translations
  * i18n: Updated Korean translation
  * i18n: Make 'gigabytes' translatable
  * Storage Selection: Allow controllable filtering of system drives
  * Linux: Disable Wayland back-end
  * OS customisation: SSH key handling, regex verification
  * OS customisation: UI cleanup
  * deps: cURL 8.11.0, libarchive 3.7.7

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 07 Mar 2025 14:45:00 +0000

rpi-imager (1.9.2) unstable; urgency=medium

  * Drive List: Expose only physical devices - not volumes
  * i18n: German, Taiwanese, Catalan, Spanish, Slovak
    translations updated
  * i18n: Added Hebrew translation
  * qml: OS Customisation: Allow mouse selection in
    comboboxes
  * qml: MessagePopup: Constrain text, align to the center
  * packaging: debian: Ignore AppImages and ci scripts

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 02 Oct 2024 18:57:00 +0000

rpi-imager (1.9.0) unstable; urgency=medium

  * ui: Upgrade to Qt6.7, bringing new controls to everything
  * packaging: Migrate to AppImage-first distribution
  * packaging: Sign with new Raspberry Pi Ltd key
  * host deps: Ubuntu 22.04+, macOS 11+, Windows 10+
  * Popups: Removed click-outside closing behaviour
  * Selection Windows: Fixed layouts to fill the windows
  * build: Dependencies have been vendored for consistency
  * build: Require non-package-manager version of Qt
  * security: Use platform crypto, SSL libraries where possible

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 4 Sep 2024 18:57:00 +0000

rpi-imager (1.8.5) unstable; urgency=medium

  * Retry downloads on HTTP2 errors.
  * Rename .desktop file to match DBus name, as some GNOME
    desktop environments expect it that way.
  * Disable Link Time Optimization as precaution against hard to
    trace bugs.

 -- Floris Bos <bos@je-eigen-domein.nl>  Sat, 20 Jan 2024 16:36:11 +0100

rpi-imager (1.8.4) unstable; urgency=medium

  * OS customisation: Fixed #531, which caused password entry
                      to drop the first character
  * OS customisation: Impose character limits on usernames &
                      hostnames
  * i18n: Added Polish translation
  * i18n: Updated Catalan, Japanese translations
  * cli: Fixed local file passing via --repo

 -- Floris Bos <bos@je-eigen-domein.nl>  Fri, 22 Dec 2023 16:00:00 +0200

rpi-imager (1.8.3) unstable; urgency=medium

  * Home: Fixed "No filtering" option
  * OS customisation: Fixed no-customisation flow

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 16 Nov 2023 14:00:00 +0200

rpi-imager (1.8.2) unstable; urgency=medium

  * Home: Device filtering reworked to download OS list eagerly
  * OS List: Fixed 'Recommended' tag annotation
  * i18n: Added zh-TW Traditional Chinese translation
  * i18n: Updated Korean, German, Ukranian, translations
  * build: Linux: Fix libdrm dependency requirement on non-embedded
                  build.
  * Commmon: Disable QML caching entirely
  * OS customisation: Allow use if only cloudinit payload available
  * OS customisation: Allow empty PSK for 'Open' WiFi networks.
  * OS List: Use ImageList v4 URL

 -- Floris Bos <bos@je-eigen-domein.nl>  Wed, 15 Nov 2023 20:16:16 +0200

rpi-imager (1.8.1) unstable; urgency=medium

  * Hide empty categories when filtering
  * i8n: Updates German translation

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 19 Oct 2023 20:16:16 +0200

rpi-imager (1.8.0) unstable; urgency=medium

  * Advanced options: Rename to OS customization
  * OS customization: change to tabbed UI
  * OS customization: make SSH public key field a textarea
  * OS customization: add convenience button to run ssh-keygen
  * OS customization: Enforce choice as part of write flow
  * OS customization: Fixes for state consistency across UI
  * Home: Add mechanism for selecting Raspberry Pi device
  * Shared: Multiple keyboard focus fixes
  * i18n: Adds Spanish/Ukrainian translations
  * i18n: Updates French, Catalan, Italian, German, Spanish, Russian,
          Japanese translations
  * i18n: Use en_US as refernce string, and make en_GB a translation
  * Workaround for ArchLinux's lsblk labeling internal SD card readers
    (mmcblk0) as non-removable storage.
  * Allow drag-dropping image files to Imager.
  * Local .xz files: parse uncompressed size for better progress reports.

 -- Floris Bos <bos@je-eigen-domein.nl>  Wed, 18 Oct 2023 18:00:00 +0200

rpi-imager (1.7.5) unstable; urgency=medium

  * Bump version number to match bug fix release for Windows.
    (No actual changes from 1.7.4.1 for Linux)

 -- Floris Bos <bos@je-eigen-domein.nl>  Mon, 22 May 2023 18:53:22 +0200

rpi-imager (1.7.4.1) unstable; urgency=medium

  * Advanced settings: fix creating files on FAT partition that are
    an exact multiple of cluster size.
  * Do you want to apply saved settings window: offer 'no' option,
    without clearing settings.
  * Eject storage properly on Linux.

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 18 May 2023 15:05:28 +0200 

rpi-imager (1.7.4) unstable; urgency=medium

  * Advanced settings: fix escaping single quotes
  * Advanced settings: default to using username of logged-in user
  * Now uses a different method to edit files on the FAT partition
    to apply advanced settings. Imager now understands the FAT16/FAT32
    file system format and can edit files by itself using the raw
    disk device, without having to rely on the operating system
    to mount the partition first.

 -- Floris Bos <bos@je-eigen-domein.nl>  Sun, 20 Nov 2022 17:30:20 +0100

rpi-imager (1.7.3) unstable; urgency=medium

  * Linux: use GnuTLS instead of OpenSSL for computing SHA256
  * Fix persistenting public key authentication setting
  * Linux: prefill wlan PSK if Linux distro uses NetworkManager
  * Add digital signage icon
  * Fix ""Cannot send events to objects owned by a different thread" warning
  * Update Slovan/Korean language files
  * Allow selecting file names without extension
  * Add possibility to outsource handling of custom settings to script at
    /usr/lib/raspberrypi-sys-mods/imager_custom
  * Advanced settings: disallow invalid characters in hostname field

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 18 Aug 2022 20:04:37 +0200

rpi-imager (1.7.2) unstable; urgency=medium

  * Remove overscan/piwiz supression advanced options
  * gz/xz/zstd custom images: pad if image size is not dividable by 512 byte
  * Store saved wifi password hashed
  * Make buttons blue on keyboard navigation
  * Add Japan, Korean translations

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 24 Mar 2022 17:58:52 +0100

rpi-imager (1.7.1) unstable; urgency=medium

  * Fix advanced settings being broken if there are saved wifi
    settings and wifiSSIDHidden is not present

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 03 Feb 2022 18:38:15 +0100

rpi-imager (1.7.0) unstable; urgency=medium

  * Only apply advanced settings if the operating system indicates it
    supports it by "init_format": "cloudinit" | "systemd" in the
    repository. Some heuristics are used with custom images from disk.
  * Advanced settings: add support for cloudinit format
  * Advanced settings: add support for specifying username
  * Advanced settings: allow setting username and password
  * Advanced settings: allow hidden wifi SSID
  * Advanced settings: allow multi-line authorized_keys
  * Retry on GnuTLS Recv errors
  * Some fixes to deal better with Linux distributions auto-mounting
    drives
  * Add Slovenija translation
  * Adds support for zstd
  * Allow nested subitems entries
  * Add word-wrapping to OS list (contributed by mzanetti)
  * Update icons 
  * Telemetry: phone back home when image from repository is written:
    - name of image written, parent category.
    - about the computer running Imager: OS, version, architecture,
      locale, Imager version, Pi revision.

 -- Floris Bos <bos@je-eigen-domein.nl>  Wed, 02 Feb 2022 19:47:17 +0100

rpi-imager (1.6.2) unstable; urgency=medium

  * Add website link support
  * Add CLI support 

 -- Floris Bos <bos@je-eigen-domein.nl>  Fri, 07 May 2021 13:19:19 +0200

rpi-imager (1.6.1) unstable; urgency=medium

  * When saving advanced options delay modifying files
    on FAT partition until config.txt is visible.
  * Update translations
  * Linux: revert disable high dpi scaling on incorrect EDID"
    due to it causing the custom file selection dialog not to
    function properly on Fedora

 -- Floris Bos <bos@je-eigen-domein.nl>  Sat, 27 Mar 2021 11:06:56 +0100

rpi-imager (1.6) unstable; urgency=medium

  * Wayland: fix "Client tried to set invalid geometry" error
  * Add advanced users option screen available under SHIFT-CTRL-X
  * Disable high DPI scaling on incorrect EDID
  * Fix handling of .iso files
  * Update translations
  * GUI: change "SD card" -> "Storage"
  * Allow NVMe drives as destination drive (Linux only)

 -- Floris Bos <bos@je-eigen-domein.nl>  Fri, 26 Feb 2021 14:32:21 +0100

rpi-imager (1.5) unstable; urgency=medium

  * More verbose progress/error reporting
  * Reconnect if download stalls for more than one minute
  * Remember last selected custom image path
  * Add German/French/Italian/Slovak/Turkish translations
  * Fix multi-level subitems_url
  * Add update notification support
  * Allow translators to specify external .qm file for testing
  * Remove dependency on qml-module-qt-labs-settings
  * Enables telemetry collecting information about which images from
    repository are most popular

 -- Floris Bos <bos@je-eigen-domein.nl>  Tue, 24 Nov 2020 10:38:21 +0100

rpi-imager (1.4) unstable; urgency=medium

  * Add basic accessibility support
  * Add keyboard navigation support
  * Linux: do not let progress exceed 100% if
    device reports incorrect write counters
  * Show new SD card size if SD card is replaced
  * Linux: do not use direct IO on verifying but purge cache with
    posix_fadvise()

 -- Floris Bos <bos@je-eigen-domein.nl>  Tue, 30 Jun 2020 00:29:37 +0200

rpi-imager (1.3) unstable; urgency=medium

  * Remove zero sized drives from list
  * Fix height of drive list
  * Show scrollbars permanently
  * Add localisation support
  * Use accelerated sha256 code provided by OpenSSL
  * Custom user agent
  * Ask for confirmation on quit
  * Use direct IO on verifying
  * Improve progress indication

 -- Floris Bos <bos@je-eigen-domein.nl>  Mon, 25 May 2020 00:45:50 +0200

rpi-imager (1.2) unstable; urgency=medium

  * Mention version number in title bar.
  * Performance improvements

 -- Floris Bos <bos@je-eigen-domein.nl>  Tue, 10 Mar 2020 17:08:11 +0100

rpi-imager (1.1) unstable; urgency=medium

  * Fix verification on images that are uncompressed or have
    a size that is not dividable by 128 KB.
  * Round instead of floor size of SD card up and show 1 decimal
  * Executable name changed from imagingutility to rpi-imager

 -- Floris Bos <bos@je-eigen-domein.nl>  Mon, 09 Mar 2020 12:25:24 +0100

rpi-imager (1.0) unstable; urgency=medium

  * Initial Release.

 -- Floris Bos <bos@je-eigen-domein.nl>  Thu, 20 Feb 2020 11:54:04 +0100
