Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

2.3.0 - 2026-06-08

Added

  • Add systems metadata to local update info when provided by the system callback
  • Add Zizmor GitHub Actions security analysis workflow

Changed

  • Allow system_get_systems/1 to return a map with boot, valid, next, and optional systems entries while keeping tuple return values backward compatible

2.2.0 - 2026-02-06

Added

  • Add reserved partition role support
  • Add support for extra manifest metadata
  • Add optional system_update_init/2 cleanup callback for releasing resources
  • Add optional system callback to receive firmware info during updates
  • Add erlang_ls.config for editor tooling

Changed

  • Make system_get_global_target/1 optional in the system behaviour
  • Clarify system behaviour callback documentation and lifecycle expectations
  • Update application and dependency versions

Fixed

  • Reset update status correctly when canceling an update
  • Fix tarball inner path handling
  • Fix progress error default callback implementation
  • Fix storage termination callback behavior
  • Fix HTTP packet buffering

2.1.1 - 2025-02-25

Changed

  • Upgraded gun to version "2.1.0"

2.1.0 - 2024-10-12

Added

  • Add support for update cancellation

Changed

  • Allow get_info during an update

Fixed

  • Fix bad logging format specification

2.0.0 - 2024-09-05

Fixed

  • Fix file truncating causing image file in dummy system to be badly truncated grisp/#10
  • Fix comments and type spec typos grisp/#10

Changed

  • Changed the grisp_updater_system behaviour's system_get_active/1 callback to system_get_systems/1 to add support for software updates from removable media grisp/#10
  • Pass the target record to grisp_updater_storage behaviour's storage_prepare callback so it can use the target size and total size for boundary checks and file truncating grisp/#10

Added

  • Add grisp_updater:info/0 to get context-free update information grisp/#10
  • Add grisp_updater:info/1 to get update information in the context of a specific software update package grisp/#10
  • Add optional total size field to target record to allow boundary checks and fix file truncating grisp/#10
  • Add development-time macro USE_UNSEALED_MANIFEST. It makes the update manager retrieve the unsealed MANIFEST file instead of the sealed version MANIFEST.sealed, and do not perform any verification. Used for testing the manifest at development time without having to seal it every time grisp/#10

1.0.0 - 2024-08-07

First release.