Skip to content

Releases: RaspberryFpc/pibackup

v2.0.2

10 May 11:14
3e75bcc

Choose a tag to compare

[2.0.2] – 2026-05-10

  • Updated the confirmation window
  • Added a new message when no target device is selected

Download pibackup

v2.0.1

08 May 17:33

Choose a tag to compare

[2.0.1] – 2026-05-08

🔧 Internal Architecture Changes

  • Reworked partition restore handling architecture

  • StringGrid no longer stores internal restore variables or partition state

  • Introduced dedicated internal restore record structure for:

    • partition metadata
    • restore parameters
  • StringGrid is now used strictly as:

    • display layer only
    • read-only visualization component
    • separation of UI and restore logic for improved reliability
  • Reduced risk of:

    • UI-state desynchronization
    • accidental data corruption
    • invalid restore state caused by grid modifications

🛠 Restore & Boot Configuration Improvements

  • Improved automatic adjustment of:

    • MBR
    • cmdline.txt
    • fstab
  • More reliable handling of:

    • PARTUUID replacement
    • boot device migration
    • restored system consistency
  • Improved detection and replacement logic during image restore process


⚠️ Safety Improvements

  • Added confirmation dialog before writing images to target devices
  • Prevents accidental overwrite of disks or partitions
  • Additional safeguard before destructive write operations are executed

🔒 Stability Improvements

  • Improved internal consistency between restore engine and UI
  • Cleaner separation between runtime data and presentation layer
  • Reduced hidden side effects caused by UI component state usage

Download pibackup

v2.0.0

03 May 16:33

Choose a tag to compare

Changelog

All notable changes to this project are documented in this file.

[2.0.0] – 2026-05-02

🚀 Major Release – Unified Command System

  • Introduced a unified delete command system with clear semantic commands:

    • file
    • fileintree
    • allintree
    • dir
  • Clear separation between:

    • file operations
    • directory operations
    • recursive tree operations
  • Improved readability and maintainability of exclude files

  • Deterministic and simplified command behavior

  • Strict command-based execution model without external dependencies


🔒 Security Critical Change

  • Removed all shell command execution from exclude system

  • The system no longer supports:

    • shell calls
    • external command execution
    • system() / exec() usage
    • shell expansion or chaining
  • All operations are now:

    • internally parsed
    • executed via filesystem API only
    • strictly sandboxed within the MountPoint
  • Eliminated attack vectors:

    • command injection
    • shell expansion exploits
    • environment variable injection
    • argument injection via exclude file

🔄 Syntax Changes

  • Standardized exclude file format:

  • No shell parsing

  • No escaping or chaining

  • Wildcards supported internally: *, ?


✨ Improvements

  • Clear semantic behavior of commands:

  • file → single file or wildcard match

  • fileintree → recursive file pattern deletion

  • allintree → deletes contents of a directory (keeps directory)

  • dir → deletes directory including all contents

  • Reduced ambiguity in destructive operations

  • Consistent and predictable execution behavior

  • Improved path handling relative to MountPoint


🛠 Engine Improvements

  • Refactored delete engine into direct filesystem dispatcher
  • Removed dependency on external tools and shell
  • Optimized directory traversal logic
  • Consolidated duplicate traversal implementations
  • Improved recursive deletion reliability
  • Simplified internal logic for maintainability

🧪 Editor Improvements

  • Added syntax validation in Exclude Editor before saving
  • Prevents invalid or unsafe entries at edit time
  • Detects:
  • invalid commands
  • malformed syntax (COMMAND = PATH)
  • illegal or ambiguous paths
  • Improves user feedback and reduces runtime errors

🔒 Safety Enhancements

  • Strong MountPoint boundary enforcement
  • Guaranteed prevention of path escaping outside image root
  • All exclude entries treated strictly as data (never executable)
  • Improved validation of parsed entries

⚠️ Breaking Changes

  • Removed all legacy and shell-based command support
  • Old exclude files are no longer compatible
  • Migration to new syntax required

🔒 Safety & Stability

  • Improved handling of non-existent targets
  • More predictable behavior during deletion operations
  • Clear distinction between destructive and non-destructive actions

Download pibackup

v1.8.0

30 Apr 08:57

Choose a tag to compare

[1.8.0] – 2026-04-29

🚀 Highlights

  • Improved reliability and consistency of MBR and fstab handling
  • Safer restore process with deterministic behavior
  • New exclude file editor with built-in syntax validation

✨ Improvements

  • Checkboxes deletepartition3 and deletepartition4 are now only displayed if the corresponding partitions exist
  • The cancel function for Create Image and Write Image now prompts for confirmation
  • Introduced an internal editor for exclude files

🛠 Validation & Processing

  • Added syntax validation when processing exclude files

💽 Improved MBR and fstab handling

Reworked fstab generation logic:

  • System partitions (p1/p2) are always taken from the image
  • Additional partitions (p3+) are preserved from the target device when available
  • Automatic fallback to image entries if device entries are missing, only if the fallback is mountable
  • Introduced consistent PARTUUID handling
  • Unified mapping between MBR, fstab, and cmdline

Improved MBR processing:

  • Clear separation between image-defined structure and device-specific data
  • Avoids unintended disk signature changes
  • Ensures deterministic restore behavior

Increased robustness:

  • Better handling of incomplete or broken existing fstab files
  • More reliable restore process on systems with additional partitions

Download pibackup