rpi-sb-provisioner (2.1.3) unstable; urgency=medium

  * Features:
    - Add test mode for USB device topology simulation
    - Add timestamp handling and formatting for service logs
    - Integrate D3.js for enhanced graph visualization in device topology UI
    - Enhance collision resolution for device layout in UI
    - Add configuration field validation endpoint with real-time UI feedback
    - Add Nginx reverse proxy example configuration with PAM authentication

  * Bootstrap Improvements:
    - Run metadata_gather before post-flash for better data collection
    - Simplify IPv6 address extraction with awk

  * WebUI:
    - Allow boot package generation for both secure-boot and fde-only
      provisioning styles
    - Display last updated timestamps for services in user-friendly format
    - Improve device visualization with D3.js graph rendering and tooltips

  * Manufacturing Data:
    - Add support for capturing Zero W and unknown device values

  * Packaging:
    - Update to debhelper-compat version 13
    - Use jsoncpp as a vendored dependency in CMake configuration
    - Update static files path configuration for improved clarity
    - Update lintian overrides for embedded libjsoncpp

  * Dependencies:
    - Update rpiboot and rpi-eeprom to catch November 2025 firmware

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

rpi-sb-provisioner (2.1.2) unstable; urgency=medium

  * Bootstrap: Fix USB path extraction for hub-connected devices
  * WebUI: Add serial-based fallback matching for device status display
  * WebUI: Add dynamic validation for options form fields
  * Fix: Devices connected via USB hubs now correctly show provisioning
    status in the topology map view
  * WebUI: Fixup device state retrieval race condition
  * Packaging:
    - Fix maintainer-script-ignores-errors by adding set -e to postinst
    - Fix man page table formatting by preprocessing with tbl
    - Add lintian override for boot image generator

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 17 Nov 2025 16:45:00 +0100

rpi-sb-provisioner (2.1.1) unstable; urgency=medium

  * WebUI: Fix bootimg generator bashisms
  * WebUI: Style bootimg generator buttons
  * WebUI: Add explicit bootimg generation button
  * WebUI: Fix hangs on navigation on pages using AJAX

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

rpi-sb-provisioner (2.1.0) unstable; urgency=medium

  * Features:
    - Add automatic boot image generator for creating signed boot.img
      from uploaded OS images
    - Add Debian package generation for boot image updates
    - Add RPI_SB_PROVISIONER_ENABLE_PRIVATE_KEY_API security option
    - Add pagination and ordering for service log API

  * Documentation:
    - Complete README rewrite with beginner-friendly content
    - Add architecture documentation with workflow diagrams
    - Add boot image generator documentation
    - Add Debian package creation examples
    - Enhance API documentation with more examples

  * Bootstrap Improvements:
    - Fixup EEPROM update for naked provisioning on 2711/2712
    - Remove unnecessary writeSig() function, use rpi-eeprom-digest
    - Improve handling of special re-provisioning cases for Pi 5
    - Add better logging for edge cases (empty serials, missing firmware)
    - Improve non-secure-boot EEPROM update flow

  * WebUI:
    - Add new device status UI based on USB topology
    - Enhance audit logging across all endpoints

  * Script Improvements:
    - Strip GNU-specific and Bash-specific syntax for POSIX compliance
    - Fix shell option detection in customization scripts
    - Fix regex in simg_expanded_size() function
    - Fix depmod handling for kernel modules

  * Manufacturing Database:
    - Fixup metadata collection (secure vs signed distinction)
    - Improve accuracy of device state tracking

  * Packaging:
    - Update rpiboot dependency to >= 20251002~150524
    - Update rpi-eeprom dependency to >= 28.5
    - Update embedded curl to 8.16.0

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

rpi-sb-provisioner (2.0.7) unstable; urgency=medium

  * WebUI: Expand manufacturing DB API, table

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 21 Aug 2025 16:30:00 +0100

rpi-sb-provisioner (2.0.6) unstable; urgency=medium

  * WebUI: Fixup SHA256 calculation cancellation
  * naked: Fixup bootloader configuation file default
  * all: Fixed up post-flash customisation script arguments
  * naked: Fix up TCP connection set-up
  * bootstrap: Drop non-secure-boot EEPROM handling

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 16 Jul 2025 16:30:00 +0100

rpi-sb-provisioner (2.0.5) unstable; urgency=medium

  * WebUI: Add audit logging to images API
  * WebUI: Add firmware selection UI
  * WebUI: Asynchronous services loading
  * WebUI: Add SHA256 cancellation when images are deleted
  * WebUI: Fix CORS issues with WebUI
  * provisioner: Fix 2711 Fastboot utility OS signing

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 24 Jun 2025 16:30:00 +0100

rpi-sb-provisioner (2.0.4) unstable; urgency=medium

  * packaging: Enforce modern (>= 28.2) rpi-eeprom dependency to fix nvme boot
    issues
  * manufacturing: Fix crash when provisioning NVMe devices
  * WebUI: Fix navigation bar disruption when updates are available

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 10 Jun 2025 14:00:00 +0100

rpi-sb-provisioner (2.0.3) unstable; urgency=medium

  * packaging: Enforce modern (>= 20250519~100421) rpiboot dependency
  * packaging: Enforce modern (>= 27.10) rpi-eeprom dependency
  * packaging: Update Standards-Version to 4.7.2
  * provisioner: Fixup 2712 re-provisioning

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

rpi-sb-provisioner (2.0.2) unstable; urgency=medium

  * WebUI: Don't hide CUSTOMER_KEY_FILE_PEM in options
  * WebUI: Introduce naked provisioning customisation hook
  * WebUI: Customsiation: Fix script name handling

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

rpi-sb-provisioner (2.0.1) unstable; urgency=medium

  * provisioner: Fixup xxd dependency
  * provisioner: Fixup ethernet handling
  * readme: Remove manual cache clearing instructions
  * WebUI: Add manufacturing database API

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 08 May 2025 11:59:55 +0000

rpi-sb-provisioner (2.0.0) unstable; urgency=medium

  * Architecture and Core Changes:
    - Split pre-and-post-Fastboot phases for better reliability
    - Add support for multiple Fastboot devices with improved
      device tracking
    - Add support for state tracking database with SQLite
    - Add WebUI for provisioning management and monitoring
    - Remove TUI (Python-based) provisioning interface

  * Provisioning Modes and Device Support:
    - Introduce FDE-Only, Naked and Secure-Boot provisioning modes
    - Add support for Zero 2W (2710) devices
    - Improve JTAG lock configuration

  * Performance Improvements:
    - Implement ethernet data transfer when available for faster
      provisioning
    - Use sparse boot images for improved performance
    - Restructure environment setup and cleanup processes
    - Enhance timeout handling with reduced fatal timeouts

  * Security and Reliability:
    - Add branch protection and other hardening measures
    - Enhance error management and logging across all provisioners
    - Add manufacturing database integration and device metadata
      collection
    - Remove DEMO_MODE from all components
    - Switch from system curl to minimal embedded curl library
    - Reduce attack surface by disabling unneeded curl features

  * UI and Configuration:
    - Add customisation scripts to the WebUI
    - Add version check and GitHub link in WebUI
    - Add Debian hardening options and build improvements
    - Removed RPI_DEVICE_FETCH_METADATA, we now always fetch metadata

  * System Integration:
    - Add systemd service integration
    - Fix lintian warnings and implement proper systemd service
      handling
    - Increase specificity in device handling and ignore rpiboot 
      mass-storage endpoint
    - Add lintian override for embedded curl library

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 14 Apr 2025 11:59:55 +0000

rpi-sb-provisioner (1.3.7) unstable; urgency=medium

  * provisioner: Clean up ephemeral RPI_SB_WORKDIRs

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 12 Feb 2025 15:20:00 +0000

rpi-sb-provisioner (1.3.6) unstable; urgency=medium

  * provisioner: Always sparse the rootfs for improved transfer speeds

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 12 Feb 2025 15:15:00 +0000

rpi-sb-provisioner (1.3.5) unstable; urgency=medium

  * provisioner: Fixup ethernet handling
  * provisioner: Move device keypair retreival to earlier phase
  * provisioner: Fix up 64-bit serial handling
  * provisioner: Fix up multi-device provisioning

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 12 Feb 2025 14:15:00 +0000

rpi-sb-provisioner (1.3.4) unstable; urgency=medium

  * provisioner: Use rpi-make-boot-image for better updates
  * provisioner: Add initial support for ethernet data plane transfer
  * packaging: Ignore .git directory for source tarball creation
  * packaging: Fixup manpage generation

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 10 Feb 2025 16:15:00 +0000

rpi-sb-provisioner (1.3.3) unstable; urgency=medium

  * provisioner: Remove unsafe automatic pre-signd device retry behaviour
  * provisioner: Add special-skip-keywriter file check to handle pre-signed
      devices
  * packaging: Add autogenerated manpage
  * packaging: Fix up Homepage item in control file

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Wed, 05 Feb 2025 16:45:00 +0000

rpi-sb-provisioner (1.3.2) unstable; urgency=critical

  * provisioner: Update cryptroot to address GHSA-pwq3-7gpg-qpcj
  * provisioner: Attempt automatic pre-signed device recovery on
      Rapsberry Pi 5-family devices
  * provisioner: Use rpi-eeprom-update logic to find source eeprom image

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 03 Feb 2025 12:15:00 +0000

rpi-sb-provisioner (1.3.1) unstable; urgency=medium

  * provisioner: Generate depmod information for pre-boot
      authentication environment
  * provisioner: Introduce LUKSv2 cipher selection mechanism
  * provisioner: Device-unique key retreival fixes

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Fri, 13 Dec 2024 11:15:00 +0000

rpi-sb-provisioner (1.3.0) unstable; urgency=medium

  * provisioner: Add optional manufacturing database
  * provisioner: Add optional device keypair archiving

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 21 Nov 2024 13:57:00 +0000

rpi-sb-provisioner (1.2.1) unstable; urgency=medium

  * provisioner: Remove extraneous disk-id argument

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Thu, 10 Oct 2024 13:57:00 +0000

rpi-sb-provisioner (1.2.0) unstable; urgency=medium

  * monitor: Rework finding completed & failed devices
  * monitor: Make in-progress devices selectable
  * monitor: Prune extraneous text from device names
  * provisioner: Add timeouts to commands that may hang in failure cases
  * packaging: Add missing python3-venv build dep

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

rpi-sb-provisioner (1.1.1) unstable; urgency=medium

  * config: Added RPI_DEVICE_FETCH_METADATA, to control device metadata
    gathering
  * packaging: Numerous lintian fixes
  * packaging: Remove automatic user group additions
  * monitor: Sort failed devices by most recent
  * monitor, config: Require sudo

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

rpi-sb-provisioner (1.1.0) unstable; urgency=medium

  * Add 2712 support
  * Add metadata gathering support for 2711, 2712
  * Demo mode: Expand coverage to all Fastboot commands
  * Copyright: Correct license
  * Config: Prefix DEVICE_SERIAL_STORE with RPI to match docs

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

rpi-sb-provisioner (1.0.2) UNRELEASED; urgency=low

  * rpi-sb-provisioner: Changed Debian Packaging

 -- Ben Benson <ben.benson@raspberrypi.com>  Fri, 23 Aug 2024 11:24:00 +0000
