Skip to content

Latest commit

 

History

History
119 lines (91 loc) · 5.89 KB

CHANGELOG.md

File metadata and controls

119 lines (91 loc) · 5.89 KB

Version 2.2.0

It's Android 14 release day! All versions of avbroot, including the old Python version, are compatible with Android 14 OTAs.

Changes:

  • Add new unpack and pack commands for cpio archives (ramdisks) (PR #173, PR #178)
  • Rename header.toml to boot.toml for the boot image unpack and pack commands (PR #175)
    • Also changes the file format a bit to make it more readable.

Behind-the-scenes changes:

  • Add streaming CPIO reader and writer (PR #172)
  • Update dependencies (PR #174, PR #181)
  • Switch to prost for protobuf encoding/decoding (PR #176)

Version 2.1.1

This release is all about hardening avbroot against untrusted (or corrupted) inputs. While all of avbroot's parsers are memory-safe, it's still possible for crashes to occur due to logic issues like allocating too much memory or dividing by zero. With this release, most of these potential issues have been fixed and fuzz tests have been added to help find more of these situations.

On the filesystem side of things, it is no longer possible for a nefarious program to cause avbroot to write to unintended locations by eg. swapping out an output directory or temp directory with a symlink while it is running.

Behind-the-scenes changes:

Version 2.1.0

  • Add support for dm-verify FEC (forward error correction) (Issue #145, PR #146)
    • ota verify and avb verify will now check the FEC data.
  • Print status and warning messages to stderr (PR #149)
  • Add new avb unpack, avb pack, and avb repack commands for AVB images (Issue #144, Issue #148, PR #152)
    • avb verify now optionally accepts --repair to fix corrupted dm-verity images.

Behind-the-scenes changes:

  • Remove unnecessary use of Arc (PR #147)
  • Use bstr crate to escape mostly UTF-8 binary data (PR #150)
  • Improve error fields and error contest (PR #153)

Version 2.0.3

  • Upgrade xz version in precompiled binaries (Issue #138, PR #139)
    • This fixes the ota extract and ota verify commands in some multithreaded situations.
  • Add --version option to print out avbroot's version (Issue #138, PR #140)

Version 2.0.2

  • Fix data_offset being set for payload operations that don't need it (PR #136)
    • This fixes patched stock OnePlus images from being rejected when flashing.

Behind-the-scenes changes:

  • Move full OTA check to CLI functions to allow library functions to parse delta OTAs (PR #135)
  • Remove unnecessary use of anyhow macro (PR #137)

Version 2.0.1

  • Add support for Magisk 263xx (PR #132)

Version 2.0.0

  • Initial Rust release. The old Python implementation can be found in the python branch. (PR #130)