datarecovery (0.6.0) UNRELEASED; urgency=medium
  * Privileged ddrescue helper now derives ownership from `PKEXEC_UID`
  * Removed the Polkit `allow_gui` override
  * Hardened privileged operations against unsafe device paths and symbolic-link attacks
  * Added validation for device paths, output locations, ownership IDs, and temporary directories
  * Image and mapfile creation now uses private temporary directories and atomic moves

-- koxt2 <koxt2@protonmail.com>  Thu, 16 Sep 2026 18:56:00 +0000

datarecovery (0.5.0-1) UNRELEASED; urgency=medium
  * Progress bar updates while recovering data and organising files
  * New `utils.py` module with shared `format_bytes` and `format_size` functions
  * Disk space check now also runs when recovering from an image file (previously only ran for physical devices)
  * Logs are now always generated and saved to destination (no longer optional)
  * This was needed so that photorec progress can be displayed
  * Application no longer re-initialises when brought back to the foreground (subsequent activations now just re-present the existing window)
  * `MountedPartitionChecker` no longer takes an unused `device_dropdown` parameter
  * `PartitionRow.type` property renamed to `part_type` to avoid shadowing the Python built-in
  * README update
  * Duplicate `/d` flag in PhotoRec command that would confuse file output location
  * Bare `except:` clauses replaced with `except OSError:` in three places to avoid swallowing unexpected exceptions
  * Redundant module-level loggers in `imager.py` removed (class already creates its own)
  * Duplicate `universal_newlines=True` kwarg removed from `subprocess.Popen` call in `imager.py` (`text=True` is the same thing)
  * Unused `DDRESCUE_RETRY_PASSES` import removed from `imager.py`
  * Unused `os` import removed from `block_devices.py`
  * Silently-swallowed file dialog exception in `window.py` is now logged
  * Duplicate `_format_bytes` method removed from `DeviceImager` and `RecoveryWorkflow`; both now use `utils.format_bytes`
  * Wrong file name in `initializer.py` header comment (`main.py` → `initializer.py`)
  * Removed redundant internal `GLib.idle_add` wrapping in `RecoveryProgressDialog` methods; callers already schedule on the main thread
  * Updated screenshots

-- koxt2 <koxt2@protonmail.com>  Tue, 28 Apr 2026 19:43:00 +0000

datarecovery (0.4.1-1) UNRELEASED; urgency=medium

  * Updated screenshots

 -- koxt2 <koxt2@protonmail.com>  Sat, 27 Dec 2025 21:00:00 +0000

datarecovery (0.4.0-1) UNRELEASED; urgency=medium

  * SMART data monitoring with health indicators in device columnview
  * Detailed SMART attributes viewer showing all available drive metrics
  * Fixed bug where lsblk returning multiple lines for device size caused parsing error
  * File renamed: initialiser.py → initializer.py for consistent American spelling
  * Window method renamed: initialize() → setup_window() for clarity
  * Removed unused imports across multiple files

 -- koxt2 <koxt2@protonmail.com>  Tue, 23 Dec 2025 21:00:00 +0000

datarecovery (0.3.0-1) UNRELEASED; urgency=medium

  * Custom signature dialog for defining PhotoRec file signatures
  * Support for adding, viewing, and deleting custom file signatures
  * Custom signatures integrated into file types dialog under "System & Other" category
  * Application now uses ~/.photorec.sig for storing custom file signatures
  * Application now writes to ~/.photorec.cfg for PhotoRec file type configuration
  * Reorganised file types dialog
  * Moved FILE_TYPES and FILE_TYPE_GROUPS to dedicated file_types.py module for better organization
  * File type search now uses PhotoRec family keys instead of extensions for accurate matching

 -- koxt2 <koxt2@protonmail.com>  Fri, 19 Dec 2025 16:51:18 +0000

datarecovery (0.2.0-1) UNRELEASED; urgency=medium

  * File type selection dialog with more categories
  * Expandable category rows with individual switches
  * Category-level switches to enable/disable all file types in a category at once
  * Search functionality to filter file types
  * Select All / Unselect All buttons for quick selection changes
  * Smart PhotoRec command generation (exclude mode when >50% selected, include mode when <50%) - needs testing
  * Reorganized file types
  * Moved FILE_TYPES configuration to config.py
  * Empty `no_extension` directory no longer created when no files without extensions exist
  * PhotoRec `report.xml` file excluded from being moved to destination (content duplicated in photorec logs)

 -- koxt2 <koxt2@protonmail.com>  Sun, 30 Nov 2025 12:00:00 +0000

datarecovery (0.1.2-1) UNRELEASED; urgency=medium

  * AppStream metadata

 -- koxt2 <koxt2@protonmail.com>  Sat, 22 Nov 2025 12:00:00 +0000

datarecovery (0.1.1-1) UNRELEASED; urgency=medium

  * Updated application icon to use full app ID (com.github.koxt2.datarecovery)
  * About dialog now displays correct application icon

 -- koxt2 <koxt2@protonmail.com>  Sat, 22 Nov 2025 12:00:00 +0000

datarecovery (0.1.0-1) UNRELEASED; urgency=medium

  * Initial release of datarecovery application
  * GTK4/Libadwaita-based user interface for data recovery
  * Integration with ddrescue for disk imaging
  * Integration with PhotoRec for file recovery
  * Automatic file organization by type
  * Duplicate file detection and removal using rdfind
  * Disk space checking before imaging and recovery operations
  * Support for both storage devices and disk images
  * Polkit integration for elevated permissions
  * Multi-distro packaging support (RPM, DEB, Arch Linux)

 -- koxt2 <koxt2@protonmail.com>  Thu, 20 Nov 2025 10:00:00 +0000
