)]}'
{
  "log": [
    {
      "commit": "25aa087b2c517b4901874a99536e869d4d27b678",
      "tree": "7280304238f7097c8942fc0350a4f6e977d738fc",
      "parents": [
        "2bc6f35469434d932c25a1aa74dda892717a5190"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 07 13:37:09 2025 -0700"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 07 13:37:09 2025 -0700"
      },
      "message": "bump version number to 2.2.0-a4\n"
    },
    {
      "commit": "2bc6f35469434d932c25a1aa74dda892717a5190",
      "tree": "e8a1e2aa9c081785e91d131719839a9400d9809c",
      "parents": [
        "a7eb3988f0645239185fadb4e25d8279478c2dbb"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 07 12:57:09 2025 -0700"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 07 12:58:12 2025 -0700"
      },
      "message": "Support for RP2350 A2/A3/A4 along with code improvements (#267)\n\n* Support for RP2350 A2/A4/A4 along with code improvements, replacing the ocean of one-off IFs with a more OO abstraction\n\nCo-authored-by: William Vinnicombe \u003cwilliam.vinnicombe@raspberrypi.com\u003e\nCo-authored-by: will-v-pi \u003c108662275+will-v-pi@users.noreply.github.com\u003e\nCo-authored-by: Andrew Scheller \u003candrew.scheller@raspberrypi.com\u003e\nCo-authored-by: graham sanderson \u003cgraham@spiff.local\u003e"
    },
    {
      "commit": "a7eb3988f0645239185fadb4e25d8279478c2dbb",
      "tree": "b06783b0cdee0444a69dcd5a187faad732e8b2f0",
      "parents": [
        "48f8dc1ce25492b27bc14eabcb9832506cbf0fe6"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Jul 28 19:41:12 2025 -0500"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Jul 29 06:23:40 2025 -0500"
      },
      "message": "release picotool version 2.2.0\n"
    },
    {
      "commit": "48f8dc1ce25492b27bc14eabcb9832506cbf0fe6",
      "tree": "017f32fb0bef1abc6560523c5921037e77466d41",
      "parents": [
        "63cb67f956663ef302c2492b6a4cfaef57655729"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Jul 24 22:33:06 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 16:33:06 2025 -0500"
      },
      "message": "Check hamming weights of AES key shares (#252)\n\n* Add hamming weight checks\n\n* Rework to deal with whole shares, not word-wise\n\n* Fix logging\n\n* Revert \"Rework to deal with whole shares, not word-wise\"\n\nThis reverts commit 65245f897abe467c50e24ffc618987c46498f577.\n\n* Switch to checking half-words, and add fixed number of attempts (100,000) before failing\n\n* Switch to checking numbers are within middle ranges, rather than checking deltas"
    },
    {
      "commit": "63cb67f956663ef302c2492b6a4cfaef57655729",
      "tree": "e9f852177163866422728b80a5cb6e6024d73c1e",
      "parents": [
        "f4b56325fe1d872bb77f994d473340242da7254d"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Jul 24 22:26:57 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 16:26:57 2025 -0500"
      },
      "message": "Add test build with SDK 2.1.0 and 2.1.1 (#262)\n\n"
    },
    {
      "commit": "f4b56325fe1d872bb77f994d473340242da7254d",
      "tree": "976fdfc435c8bcc3018fe626f5e6bcbe92ee7be6",
      "parents": [
        "455bdb436c43dafa5ee27d68ae9c3d6c30952141"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Jul 24 13:06:39 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 13:06:39 2025 +0100"
      },
      "message": "Fix Windows build and CI with libusb (#253)\n\n* Fix Windows build\n\n* Fix Windows LibUSB in CI\n\n* Add test that libusb has been included"
    },
    {
      "commit": "455bdb436c43dafa5ee27d68ae9c3d6c30952141",
      "tree": "1f026aa3da8faefe02df8958d3cb4358ccf04fa4",
      "parents": [
        "7c55234cda429fc736f18d4a68f72209ce9e549b"
      ],
      "author": {
        "name": "Alexey Vazhnov",
        "email": "vazhnov@boot-keys.org",
        "time": "Thu Jul 24 11:45:41 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 10:45:41 2025 +0100"
      },
      "message": "Fix typo: IMAGEDEF → IMAGE_DEF, as it is defined in the datasheet (#265)\n\n"
    },
    {
      "commit": "7c55234cda429fc736f18d4a68f72209ce9e549b",
      "tree": "a265aa535587660b82c98fd22b2f7da32f97f339",
      "parents": [
        "1c65fa9a7548a67fb7a74399dbde7cf0148acd29"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Fri Jul 18 09:29:23 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 18 09:29:23 2025 -0500"
      },
      "message": "support compile with SDK 2.1.0 and SDK 2.1.1 (#257)\n\n"
    },
    {
      "commit": "1c65fa9a7548a67fb7a74399dbde7cf0148acd29",
      "tree": "9acd225b20cdcca58c70c76266d37a59ee0055b9",
      "parents": [
        "d5ee24b7420072fcab7afba120c37e6ff84aa1ee"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri Jul 18 09:41:41 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 18 09:41:41 2025 +0100"
      },
      "message": "Add support for CYW43_FIRMWARE_FAMILY_ID (#247)\n\n* Add support for CYW43_FIRMWARE_FAMILY_ID\n\n* Rename bootrom family ID min \u0026 max"
    },
    {
      "commit": "d5ee24b7420072fcab7afba120c37e6ff84aa1ee",
      "tree": "c045326474218d6535587e29eed27553db3d9e27",
      "parents": [
        "48ce1b5256f7db9c2faacc92ab665d2bac452436"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Jul 17 17:43:05 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 17 17:43:05 2025 +0100"
      },
      "message": "Small file fixes (#254)\n\n* Fix rounding bug for load/save/verify small files\n\nWant to round up size/100, as a non-zero size should always give a non-zero chunk size\n\n* Allow zero fill when checking checksum\n\nOtherwise fails as unmapped for small files"
    },
    {
      "commit": "48ce1b5256f7db9c2faacc92ab665d2bac452436",
      "tree": "750258dce49721a702a3bbccc8fcbe04f5630e07",
      "parents": [
        "1631e27a12905eb8d221658270284020dff6e1d4"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Jul 15 22:44:44 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 15 16:44:44 2025 -0500"
      },
      "message": "Install pre-compiled files into source tree (#242)\n\n* Copy newly compiled files over when using USE_PRECOMPILED\u003dFALSE\n\n* Add action to check precompiled binaries\n\n* Fix build with precompiled\n\n* Update precompiled binaries\n\n* Remove `if: runner.os \u003d\u003d \u0027Linux\u0027` where not needed\n\nKeep the step name \"Install dependencies (Linux)\" in case dependencies change later, to make changing all of them simpler\n\n* Change workflow to just check for file updates, rather than identical files\n\n* Run checks in separate script\n\n* Anchor start/end of greps\n\n* Review fixups\n\nSimplify CMakeLists.txt and BUILD.bazel skips\n\nInstall all ELFs as files, so they aren\u0027t marked as executable\n\n* Tidy up file checks\n\n* Add add_embedded_data_project function\n\nThis fixes the BUILD_ALWAYS issues as it\u0027s now only set when `USE_PRECOMPILED\u003dfalse`, and also removes the need for `${CMAKE_COMMAND} --install .`\n\n* Add back BUILD_ALWAYS\n\nIt\u0027s needed so if you update the binaries (eg `git pull`) they get re-copied and re-installed"
    },
    {
      "commit": "1631e27a12905eb8d221658270284020dff6e1d4",
      "tree": "764a884e5614fbcd65a423d2279e9fba1bb141bb",
      "parents": [
        "dcbeb00f7274361e4f3ed1576e24c81a015ad7ec"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Jul 15 22:43:58 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 15 16:43:58 2025 -0500"
      },
      "message": "Fix encryption when using clang, and with allocatable heap (#243)\n\n* Fix encryption when using clang, and with allocatable heap\n\n* Test build examples with clang too\n\n* Delete empty PH segments when moving\n\nThese segments are not necessary, and will likely be moved to invalid memory addresses"
    },
    {
      "commit": "dcbeb00f7274361e4f3ed1576e24c81a015ad7ec",
      "tree": "86d0bab7fcd5a009bd07376dda76c86928867267",
      "parents": [
        "7ce9fd0e6d799a1bb65e9af493dbce575d41ffc6"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Jul 15 13:42:07 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Jul 15 13:42:07 2025 +0100"
      },
      "message": "Add PR branch check action (raspberrypi/pico-sdk#2536)\n"
    },
    {
      "commit": "7ce9fd0e6d799a1bb65e9af493dbce575d41ffc6",
      "tree": "a185a8f5ee921ea37dfc39f4ac83e8a9c8249391",
      "parents": [
        "e5fa18a71590d7c6715e8f6c0e04a47398161315"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Jul 14 10:56:53 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 14 10:56:53 2025 -0500"
      },
      "message": "lock OTP_DEBUGEN so that debug cannot be enabled if it was disabled in OTP (#249)\n\n"
    },
    {
      "commit": "e5fa18a71590d7c6715e8f6c0e04a47398161315",
      "tree": "19f6a5d2776355b3d738927c21ea6ed9f54b3309",
      "parents": [
        "dd365f8b137d9288c0d1bf056d02398ec0a48d51"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Jun 23 11:26:57 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 23 11:26:57 2025 +0100"
      },
      "message": "Make no libusb build clearer (#246)\n\n* Fix info and config help without libusb, and add no USB support message to errors and `picotool version`"
    },
    {
      "commit": "dd365f8b137d9288c0d1bf056d02398ec0a48d51",
      "tree": "c1501218e9c62bd76691d043a8dfeea000882ca4",
      "parents": [
        "4fa522a184789bd74cd028383af2c2309f081319"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Jun 18 17:44:31 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 18 17:44:31 2025 +0100"
      },
      "message": "Allow DLL libusb libraries with variable (#228)\n\nAdd `PICOTOOL_LIBUSB_ALLOW_DLL` variable to switch back to the old behaviour, prior to #126"
    },
    {
      "commit": "4fa522a184789bd74cd028383af2c2309f081319",
      "tree": "045f29edef5c4d9133ee1184b2cef20afc7b291a",
      "parents": [
        "265d0e8269c9e71840420af8886168edfc76d2c2"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Jun 18 16:03:06 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 18 16:03:06 2025 +0100"
      },
      "message": "Add otp dumping to BIN file (#236)\n\n* Refactor otp_load to separate out otp json handling\n\n* Move OTP functions together\n\n* Add dumping of JSON\n\n* Add dumping to BIN file instead of console\n\n* Update readme"
    },
    {
      "commit": "265d0e8269c9e71840420af8886168edfc76d2c2",
      "tree": "bc62e902733ff636ba7be2f7bdc16f86d2539eb0",
      "parents": [
        "54454bb02b1bb7d4c7bf5c6b13922ce34b0bdab4"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Wed Jun 18 07:26:43 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 18 13:26:43 2025 +0100"
      },
      "message": "Double skip fix (#244)\n\n* fix a possible double skip\n\n---------\n\nCo-authored-by: William Vinnicombe \u003cwilliam.vinnicombe@raspberrypi.com\u003e"
    },
    {
      "commit": "54454bb02b1bb7d4c7bf5c6b13922ce34b0bdab4",
      "tree": "5e84ae1d73cfecd25fc55ee2f1152e708304a022",
      "parents": [
        "7c7379213f4ce13f6e920dd7b07d8675fa35003c"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Jun 12 05:51:56 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 12 11:51:56 2025 +0100"
      },
      "message": "better hardening of enc_bootloader for fault injection (#240)\n\n* hardening of enc_bootloader\n\n* add address to not_mapped_exception\n\n* pass ALLOW_DEBUGGING thru from CMake\n\n* Update precompiled ELFs\n\n---------\n\nCo-authored-by: William Vinnicombe \u003cwilliam.vinnicombe@raspberrypi.com\u003e"
    },
    {
      "commit": "7c7379213f4ce13f6e920dd7b07d8675fa35003c",
      "tree": "3e812af88ba92137cc228c498472b846cc35eda4",
      "parents": [
        "6e9a5e407fcf73eb6c24ebeafd8282765fbab6fd"
      ],
      "author": {
        "name": "Julian Mitchell",
        "email": "jupeos@gmail.com",
        "time": "Fri Jun 06 09:07:54 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 06 17:07:54 2025 +0100"
      },
      "message": "Fix udev rules (#238)\n\nAdded missing comma after TAG+ argument."
    },
    {
      "commit": "6e9a5e407fcf73eb6c24ebeafd8282765fbab6fd",
      "tree": "1e5ea5e404a1f5a1b2347fc29a7302614d72efaf",
      "parents": [
        "14168508c51f683b1a61d839adf3fd39e3a99d5c"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Jun 03 15:49:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 03 09:49:59 2025 -0500"
      },
      "message": "Ignore other blocks when signing with rollback version (#237)\n\n* Ignore first block when signing with rollback version\n\n* Ignore all blocks (except partition tables), not just first block\n\n* Rename ignore_others -\u003e set_others_ignored"
    },
    {
      "commit": "14168508c51f683b1a61d839adf3fd39e3a99d5c",
      "tree": "72430e2a603b39795f06648e9dc97484b74586c7",
      "parents": [
        "9c01ac6d41633ed053202fbb9d3bf14aa7dbbf86"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Jun 02 11:57:52 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Jun 02 14:41:06 2025 +0100"
      },
      "message": "Fix some enc_bootloader compile warnings\n"
    },
    {
      "commit": "9c01ac6d41633ed053202fbb9d3bf14aa7dbbf86",
      "tree": "2eeeb92392b46e698ef88a1332b768df1c43e931",
      "parents": [
        "afe0f54ea5d27e4f203fdff046036d15d130d73f"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Jun 02 10:56:22 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Jun 02 10:56:22 2025 +0100"
      },
      "message": "OTP default encryption key page typo\n\nOTP encryption key page defaults to 29, not 30\n"
    },
    {
      "commit": "afe0f54ea5d27e4f203fdff046036d15d130d73f",
      "tree": "0c0c6af477adba26c802a1cd84e20d17c5d685bf",
      "parents": [
        "0abbbc6fec910b7b820f55c6fc8fe51820448f0d"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri May 30 15:34:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 09:34:25 2025 -0500"
      },
      "message": "Add instructions to udev rules file, and fix order (#230)\n\nAdding the instructions is useful for linking to the file from elsewhere\n\nOrder fix supercedes #199"
    },
    {
      "commit": "0abbbc6fec910b7b820f55c6fc8fe51820448f0d",
      "tree": "686cd838655dd0e9913fb7d63fb508d2b4280265",
      "parents": [
        "293e2fd9a7ce11a03a305a8063490ebdd7da96c3"
      ],
      "author": {
        "name": "armandomontanez",
        "email": "amontanez@google.com",
        "time": "Fri May 30 06:46:45 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 08:46:45 2025 -0500"
      },
      "message": "Update rules_libusb to 0.1.0-rc2 (#233)\n\nThis includes some fixes to link issues that others have hit."
    },
    {
      "commit": "293e2fd9a7ce11a03a305a8063490ebdd7da96c3",
      "tree": "d63f90373f06ddfba801fa4118779ef3329a4888",
      "parents": [
        "0a452b6b07a6255c7b408417949ed8e3eb2f3415"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri May 30 14:30:28 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 08:30:28 2025 -0500"
      },
      "message": "Minor tidyups (#232)\n\n* Don\u0027t add hash_def when not required\n\nExit hash_andor_sign_block early if neither hash_value not signature is needed\n\n* Add validation that the partition name is \u003c 128 characters long, as the size is only 7 bits"
    },
    {
      "commit": "0a452b6b07a6255c7b408417949ed8e3eb2f3415",
      "tree": "67619848c261cd7704d1b3e139d5c81c2d940961",
      "parents": [
        "530dc9d19787c09ca6fec314812a95f51ca98074"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu May 29 16:21:41 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 29 16:21:41 2025 -0500"
      },
      "message": "clean up some inefficient (looking) code (#234)\n\n"
    },
    {
      "commit": "530dc9d19787c09ca6fec314812a95f51ca98074",
      "tree": "02e546578e8cb267bb36b2169b2e9b429acbbfa3",
      "parents": [
        "c56c005bb6490c341183c7620dd45676d26cb602"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu May 29 14:10:01 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 29 08:10:01 2025 -0500"
      },
      "message": "Add support for creating self-decrypting binaries, and use 4-way AES key shares instead of just the AES key (#207)\n\nNote: this is not the final commit for this functionality, so use with caution for now\n\n* Use 4-way key shares for AES private keys\n\nThe privateaes.bin key file is now 4x256bit numbers (A,B,C,D), and the AES key X is A^B^C^D\n\n* Remove check that ELF segments are between metadata blocks\n\nThis is not required, as you can still load data outside of the region between the metadata blocks which contain the binary - for example, loading code into scratch memory.\n\n* Add enc_bootloader binary\n\nYou can now use `picotool encrypt --embed ...` to create a self-decrypting binary, using enc_bootloader\n\n* Specify file types where useful for untyped files (json, pem, bin)\n\n* Implement FIB workaround by storing inverse of row n in row n+32 of each OTP page\n\n* Only delete existing load_maps when encrypting\n\nThese only cause issues when encrypting, as the old block needs to be included in the new load_map\n\nWhen signing, the old load_map can be used again without issue\n\n\n* Throw clearer error when using picotool \u003e2.1.1 with SDK \u003c\u003d2.1.1\n\nThis is required due to 2.1.0 and 2.1.1 SDK releases pointing at picotool develop branch rather than the respective picotool releases (raspberrypi/pico-sdk#2401)\n\n---------\n\nCo-authored-by: Graham Sanderson \u003cgraham.sanderson@raspberrypi.com\u003e"
    },
    {
      "commit": "c56c005bb6490c341183c7620dd45676d26cb602",
      "tree": "cc9325b5a586b2248c0931e47491d5e413f81e20",
      "parents": [
        "f010190c37061f9a207075c6918a5e6e9aee5653"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Apr 28 13:51:30 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 28 13:51:30 2025 +0100"
      },
      "message": "Add script to update README with output from help commands (#220)\n\nThis will update all the `picotool help ...` sections in the README with the current output\n\n* Add workflow to check help text is up-to-date\n\n* Add a check that all commands have help text in the readme"
    },
    {
      "commit": "f010190c37061f9a207075c6918a5e6e9aee5653",
      "tree": "717a733868c8993503467b095b3bf47c79e3a92f",
      "parents": [
        "ac8aaeac7e7c2dfb55a277c5aa4ff6537612789d"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Apr 24 11:24:49 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 24 11:24:49 2025 +0100"
      },
      "message": "Use Mbedtls files directly (#226)\n\n* Switch to pico-sdk style mbedtls library\n\n* Initialize PICO_MBEDTLS_PATH in same way as SDK"
    },
    {
      "commit": "ac8aaeac7e7c2dfb55a277c5aa4ff6537612789d",
      "tree": "37132b98f9a4cca4022ec4bca5f112753db61dad",
      "parents": [
        "c291aeb26787c965414ccda03b759a21e16020ac"
      ],
      "author": {
        "name": "Jan",
        "email": "sentrycraft123@gmail.com",
        "time": "Thu Apr 24 12:23:10 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 24 11:23:10 2025 +0100"
      },
      "message": "add missing include (#229)\n\n"
    },
    {
      "commit": "c291aeb26787c965414ccda03b759a21e16020ac",
      "tree": "f886f96aa7d02e086319a628ec5fbd5e56f353b2",
      "parents": [
        "6039f6372a9acbcb70d0fadd6482cadbb0174384"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Apr 22 17:44:57 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 22 17:44:57 2025 +0100"
      },
      "message": "Fix plugging alignment holes for encrypted binaries (#227)\n\nUse new `segment_from_section` function, as virtual addresses are not unique per segment in encrypted binaries\n\nFixes #224"
    },
    {
      "commit": "6039f6372a9acbcb70d0fadd6482cadbb0174384",
      "tree": "26846a364a4fc6b0a499ebb77121bf283e3a604c",
      "parents": [
        "e6376e140432279c93869d47a024cc3cca0e8c28"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Apr 22 17:33:03 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 22 17:33:03 2025 +0100"
      },
      "message": "Move build \u0026 install instructions into separate file (#146)\n\n* Move build \u0026 install instructions into separate file, linked from the main README.md\n\n* Add note about pico-sdk-tools\n\n* General fixup of BUILDING.md and README.md"
    },
    {
      "commit": "e6376e140432279c93869d47a024cc3cca0e8c28",
      "tree": "9d845344743141a8d3e2a1706d653d39342ca6a1",
      "parents": [
        "8be60e9eeab96857c84d71f0565cad0e84654c77"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Apr 22 17:21:50 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 22 17:21:50 2025 +0100"
      },
      "message": "Add tbyb info to output if not bought (#222)\n\n"
    },
    {
      "commit": "8be60e9eeab96857c84d71f0565cad0e84654c77",
      "tree": "6e8645443b3eee5323d55b722591a38c28fc75f5",
      "parents": [
        "450f8ed3db819dd4994f86f1c39fa9e1f1bfc168"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Apr 15 12:14:29 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Apr 15 13:53:04 2025 +0100"
      },
      "message": "Recursively checkout SDK submodules\n\nFixes workflow with mbedtls 3.x\n"
    },
    {
      "commit": "450f8ed3db819dd4994f86f1c39fa9e1f1bfc168",
      "tree": "c075e8142bcfcb07cc02daa0791a97aa7ec77371",
      "parents": [
        "8f349d4840325b020129af5de566bf8bcafbf27c"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Fri Apr 11 14:04:36 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Fri Apr 11 14:11:06 2025 +0100"
      },
      "message": "Fix partition ID truncation on Windows\n\nFixes #225\n"
    },
    {
      "commit": "8f349d4840325b020129af5de566bf8bcafbf27c",
      "tree": "af15f0c86bfb910b3f77c8417101a4b0e77adacc",
      "parents": [
        "294ea20a7011cff35977736d279ffd37ec8868b8"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Apr 07 11:10:03 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Apr 07 11:10:03 2025 +0100"
      },
      "message": "Fix bug when plugging alignment holes\n\nNot all sections are within segments, so add a check for that,\notherwise 2 consecutive sections which aren\u0027t in segments will be treated as in the same segment,\nwhich will throw an error (see https://github.com/micropython/micropython/pull/17073)\n"
    },
    {
      "commit": "294ea20a7011cff35977736d279ffd37ec8868b8",
      "tree": "32f623fb8041ceacfea93a98c5cec2cff0d21936",
      "parents": [
        "d9691edee5b6375b49978fd87c9af3fa0a3c0701"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Apr 02 17:15:11 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 02 17:15:11 2025 +0100"
      },
      "message": "Fixup to work with mbedtls 3.x (#219)\n\nAllow access to the private variables required, and some changed function signatures\n\nMaintain compatibility with mbedtls 2.x using #ifs"
    },
    {
      "commit": "d9691edee5b6375b49978fd87c9af3fa0a3c0701",
      "tree": "01741ee47fc173982a7aa84e9c815a5cf9eace7c",
      "parents": [
        "3ad3a38530308553dc9b42c1eaf125e90bec4b22"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Apr 02 13:25:35 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 02 13:25:35 2025 +0100"
      },
      "message": "Remove holes in ELF files (#213)\n\n* Remove holes in elf files\n\nThese holes cause issues when signing/hashing/encrypting, as the data in the hole can be different depending on the load method used (00s or FFs)\n\nThis will only effect ELF files which are written out afterwards, so the `seal`, `encrypt`, and `partition create` commands\n\n* Revert \"Add support for encrypting elfs with section holes within segments (#150)\"\n\nThis is no longer required now picotool plugs the holes, and just adds extra\ncomplexity\n\nThis reverts commit b62ead341f499532302b8e9f957fa0480fb09a9e."
    },
    {
      "commit": "3ad3a38530308553dc9b42c1eaf125e90bec4b22",
      "tree": "0e04287a2289e0e1e77b62993066fce843496753",
      "parents": [
        "55b168608bf0cbea25bc8eb3989eb76d1a3cbb6f"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Wed Apr 02 10:34:20 2025 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Wed Apr 02 10:34:20 2025 +0100"
      },
      "message": "Fix bug when verifying after OTP load\n\nIt was incorrectly using sizeof a pointer, rather than the size of the underlying buffer.\nThis would trigger a picoboot error for invalid transfer length.\n"
    },
    {
      "commit": "55b168608bf0cbea25bc8eb3989eb76d1a3cbb6f",
      "tree": "a31ccf351b1fe19b865069c7e7427634d780d451",
      "parents": [
        "10d4f540acb79dd691d16b5e2bb0d65c6dc06279"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Mar 31 10:17:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 31 10:17:25 2025 +0100"
      },
      "message": "Speedup some picotool commands (#206)\n\n* Only use flash caching for `info`\n* Allow piecemeal reads during block searches\n* Read in larger chunks when saving, loading, and verifying\n\n* Fix bug with truncated binaries\n* Add \"unknown error\" printout for `PICOBOOT_UNKNOWN_ERROR`\n* Workaround picoboot interface not supporting reads over 4MiB"
    },
    {
      "commit": "10d4f540acb79dd691d16b5e2bb0d65c6dc06279",
      "tree": "150adbcb6a06ad4594475cfb62aa337dc9315e4f",
      "parents": [
        "31ae6902f54f15af085365e88ee16d6a1e8a82bc"
      ],
      "author": {
        "name": "Hector Dearman",
        "email": "hector.dearman@gmail.com",
        "time": "Mon Mar 17 10:14:01 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 17 10:14:01 2025 +0000"
      },
      "message": "Reference RP2350-E15 in README (#212)\n\n* Reference RP2350-E15 in README\n\nNote the specific errata relevant  for the otp permissions command in the README."
    },
    {
      "commit": "31ae6902f54f15af085365e88ee16d6a1e8a82bc",
      "tree": "57c22cffa187d2a9a14f80dd59d5e472a6e362c3",
      "parents": [
        "3953ccc4e0a60f5cd502135f076d0015f11df9c3"
      ],
      "author": {
        "name": "Andrew Scheller",
        "email": "andrew.scheller@raspberrypi.com",
        "time": "Tue Mar 04 13:27:25 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 04 13:27:25 2025 +0000"
      },
      "message": "Small README tweak (#209)\n\n"
    },
    {
      "commit": "3953ccc4e0a60f5cd502135f076d0015f11df9c3",
      "tree": "03a0ce5a06ea34d2068e8e68acb6ab1f5e0eb856",
      "parents": [
        "3c12226439dfdc8ef1f08096fa534234325bceab"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Feb 20 18:44:13 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 20 12:44:13 2025 -0600"
      },
      "message": "Fix segfault in UF2 save (#205)\n\n"
    },
    {
      "commit": "3c12226439dfdc8ef1f08096fa534234325bceab",
      "tree": "5069707555254a4abc3002610eb0e549e1bed519",
      "parents": [
        "de8ae5ac334e1126993f72a5c67949712fd1e1a4"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Feb 18 13:30:04 2025 -0600"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Feb 18 13:30:04 2025 -0600"
      },
      "message": "start 2.1.2-develop\n"
    },
    {
      "commit": "de8ae5ac334e1126993f72a5c67949712fd1e1a4",
      "tree": "a74ce55bb6a3afd3c92833a77c46d69262e4564a",
      "parents": [
        "add176ecdcc0c0fa5da88ff5c6f6523cd0337696"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Feb 18 13:28:42 2025 -0600"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Feb 18 13:28:42 2025 -0600"
      },
      "message": "release picotool version 2.1.1\n"
    },
    {
      "commit": "add176ecdcc0c0fa5da88ff5c6f6523cd0337696",
      "tree": "702554b0884bf38c94f961713753afce897cd405",
      "parents": [
        "36902ed6d97dcdd2749b4a04a59ba7e84c4b24a5"
      ],
      "author": {
        "name": "Andrew Scheller",
        "email": "andrew.scheller@raspberrypi.com",
        "time": "Tue Feb 18 19:24:08 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 18 13:24:08 2025 -0600"
      },
      "message": "README.md tweaks (#200)\n\nFix typo and add missing opening-backticks"
    },
    {
      "commit": "36902ed6d97dcdd2749b4a04a59ba7e84c4b24a5",
      "tree": "091168a00854d5a528a59136db62d89a1b5518f0",
      "parents": [
        "6a1bbe29df37729a060bd8cd0abba99dea730dca"
      ],
      "author": {
        "name": "Graham Sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Tue Feb 18 13:22:38 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 18 13:22:38 2025 -0600"
      },
      "message": "Speedup coprodis (#203)\n\n* Remove regex and quadratic string handling during coprodis"
    },
    {
      "commit": "6a1bbe29df37729a060bd8cd0abba99dea730dca",
      "tree": "ee323cf23dea9580af57970683c9564d664376c6",
      "parents": [
        "80be8bcfaf70f1a789981be949d6dd4b7bd3455c"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Feb 17 17:11:17 2025 -0600"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Feb 17 17:11:17 2025 -0600"
      },
      "message": "remove cmake install from github workflow on windows\n"
    },
    {
      "commit": "80be8bcfaf70f1a789981be949d6dd4b7bd3455c",
      "tree": "03088c675095a8e141e2ef11b2e135b55c475b97",
      "parents": [
        "a1d16ca6fe189f8bc74894b731b34d3396b82ef1"
      ],
      "author": {
        "name": "Henry Gabryjelski",
        "email": "henrygab@users.noreply.github.com",
        "time": "Wed Feb 05 07:50:11 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 15:50:11 2025 +0000"
      },
      "message": "CodeQL fixes (#192)\n\nFixes various errors automaticallly detected by CodeQL.\r\n\r\n* Too few arguments to formatting function\r\n* Wrong type of arguments to formatting function\r\n  * `size_t` uses format specifier `z`\r\n  * `uint32_t` uses format specifier `PRIx32`\r\n\r\nAlso fix various build warnings.\r\n* Fix: comparison of integer expressions of different signedness [-Wsign-compare]\r\n* Fix: \u0027expected_redundancy\u0027 may be used uninitialized [-Wmaybe-uninitialized]"
    },
    {
      "commit": "a1d16ca6fe189f8bc74894b731b34d3396b82ef1",
      "tree": "fa88865a3d388dded73dc1575f00be89a8db8d74",
      "parents": [
        "feb8b81ed8df6976682f8a9f9aff317fbc12b1e6"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Feb 05 15:42:12 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 15:42:12 2025 +0000"
      },
      "message": "Add caching of flash reads (#184)\n\nGets fully invalidated on any writes, to minimise complexity, as the only read \u0026 write command is `picotool config` which wouldn\u0027t benefit from caching anyway"
    },
    {
      "commit": "feb8b81ed8df6976682f8a9f9aff317fbc12b1e6",
      "tree": "66e732bfdfdc639b1ff8f9f0196fcc2ffb47c8b2",
      "parents": [
        "21b6042bb0526a4d4024e4951c9e2e3c4ecd6f02"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Feb 05 15:38:56 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 15:38:56 2025 +0000"
      },
      "message": "Update Pico SDK dependence to 2.1.0 (#189)\n\n"
    },
    {
      "commit": "21b6042bb0526a4d4024e4951c9e2e3c4ecd6f02",
      "tree": "8cd14a545296a2665609765e060f25245c5cd770",
      "parents": [
        "29ee486208a3a1ad9b66d7fd4ec2b22b020e8a2f"
      ],
      "author": {
        "name": "Luke Wren",
        "email": "luke@raspberrypi.com",
        "time": "Wed Jan 29 10:15:56 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 29 10:15:56 2025 +0000"
      },
      "message": "Fix typo for Arm-NS family name parsing (#196)\n\n"
    },
    {
      "commit": "29ee486208a3a1ad9b66d7fd4ec2b22b020e8a2f",
      "tree": "fed0a03cdd4fed9fe5a90a4f73d5f8d361e1a1aa",
      "parents": [
        "a672c2495a1a4cd5637d44a4842ef2274f1af492"
      ],
      "author": {
        "name": "David Dyck",
        "email": "david.dyck@gmail.com",
        "time": "Tue Jan 21 02:32:12 2025 -1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 21 12:32:12 2025 +0000"
      },
      "message": "Fix typo in README.md \"block loop if ELF files\" in picotool create #194 (#195)\n\nfix issue https://github.com/raspberrypi/picotool/issues/194"
    },
    {
      "commit": "a672c2495a1a4cd5637d44a4842ef2274f1af492",
      "tree": "5dad2c399be4d104f7e9cddb8ecac8c16303191f",
      "parents": [
        "a258a14bf05a144599f6a41cb234efcc8b81a448"
      ],
      "author": {
        "name": "Eric Mueller",
        "email": "eric.mueller1024@gmail.com",
        "time": "Tue Dec 10 05:14:06 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 10 12:14:06 2024 +0000"
      },
      "message": "Don\u0027t rely on unsequenced evaluation order in bintool/metadata.h (#187) (#188)\n\nmetadata.h:258:44: warning: multiple unsequenced modifications to \u0027i\u0027 [-Wunsequenced]\r\n\r\nFix this warning by reading the low and high words in order, then combining them,\r\nrather than doing so in a single expression."
    },
    {
      "commit": "a258a14bf05a144599f6a41cb234efcc8b81a448",
      "tree": "e431382e13d449242997ea898370ffd834fd8cb0",
      "parents": [
        "57ca5fa5e90d67cf3043e4c0373263c89f2f8c63"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Dec 04 12:39:15 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 04 12:39:15 2024 +0000"
      },
      "message": "Add verbose output from picotool uf2 convert (#186)\n\nPass the settings.verbose setting to elf2uf2.cpp functions, to add verbose output to picotool uf2 convert\r\n\r\nFixes #185"
    },
    {
      "commit": "57ca5fa5e90d67cf3043e4c0373263c89f2f8c63",
      "tree": "2955bf0a4b3234ee44d32ba8c3955de40c962b13",
      "parents": [
        "df21059f7ca6f1babc7f1f3b92122cacffc85951"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Nov 25 00:43:17 2024 -0600"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Mon Nov 25 00:43:17 2024 -0600"
      },
      "message": "start 2.1.1-develop\n"
    },
    {
      "commit": "df21059f7ca6f1babc7f1f3b92122cacffc85951",
      "tree": "4427ea3abf5be2bfd01ab97bc633556b27c7a3e9",
      "parents": [
        "3a476024adb333e22036d6f7eb9629099b3e6b75"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Sun Nov 24 19:46:57 2024 -0600"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Sun Nov 24 19:46:57 2024 -0600"
      },
      "message": "bump picotool version and SDK dependency to 2.1.0\n"
    },
    {
      "commit": "3a476024adb333e22036d6f7eb9629099b3e6b75",
      "tree": "2f438ee5cba3137076241b50eea4682a1fdb2034",
      "parents": [
        "6c3f0901c48f586a9471572e0c6601d0a7ecefd3"
      ],
      "author": {
        "name": "Chris Burton",
        "email": "Chris@8086.net",
        "time": "Fri Nov 22 18:17:08 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 22 12:17:08 2024 -0600"
      },
      "message": "fix typo (#179)\n\n* fix typo\r\n\r\n* fix grammar\r\n\r\n---------\r\n\r\nCo-authored-by: Graham Sanderson \u003cgraham.sanderson@gmail.com\u003e"
    },
    {
      "commit": "6c3f0901c48f586a9471572e0c6601d0a7ecefd3",
      "tree": "795906babf1715200bddf8981534949967d359ef",
      "parents": [
        "fa69a49bfb92fa56d44e29739b05340a8e2d2ee2"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Nov 21 16:34:43 2024 +0000"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Nov 21 16:34:43 2024 +0000"
      },
      "message": "Update help commands in the README to show their current output\n"
    },
    {
      "commit": "fa69a49bfb92fa56d44e29739b05340a8e2d2ee2",
      "tree": "e6bd8b1103e442edb4845b001c2316ea373c1b2e",
      "parents": [
        "4a403bb27795bff005d49531fa77107fd33ca35e"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Nov 21 16:13:11 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 16:13:11 2024 +0000"
      },
      "message": "Add option to ignore already-set bits in otp set command (#175)\n\nAdds -s, --set-bits option to otp set command"
    },
    {
      "commit": "4a403bb27795bff005d49531fa77107fd33ca35e",
      "tree": "efa77f2b5b9eb64153a64b1d7a8df8af12f516ab",
      "parents": [
        "081a386153a58d83dcc2a8f0bd11580be6fb4436"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Nov 21 16:10:27 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 16:10:27 2024 +0000"
      },
      "message": "Add all metadata blocks to info (#173)\n\n* Add info for all metadata blocks with -m\r\n\r\n* Add printing of bootloader info"
    },
    {
      "commit": "081a386153a58d83dcc2a8f0bd11580be6fb4436",
      "tree": "95f7051a7df45e20021be39147a39aa366cf988b",
      "parents": [
        "fb85aca4cf49e2ad998db4fd9f9160b00893b663"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Nov 21 16:09:17 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 16:09:17 2024 +0000"
      },
      "message": "Add an entry point when signing Arm images (#163)\n\nReads the entry point and stack pointer from the vector table"
    },
    {
      "commit": "fb85aca4cf49e2ad998db4fd9f9160b00893b663",
      "tree": "5e03a9ac5c07262647cc56caf25b9f2d50f7fdbb",
      "parents": [
        "dcff4d08d1e4ca606b7967149a83f06f9bc61134"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Nov 20 14:58:47 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 14:58:47 2024 +0000"
      },
      "message": "Add JSON schemas (#176)\n\n* Add partition table; and otp permissions, whitelabel, contents and settings JSON schemas\r\n\r\n* Move example json files into json folder, with schemas in json/schemas"
    },
    {
      "commit": "dcff4d08d1e4ca606b7967149a83f06f9bc61134",
      "tree": "cb5955444c8114e9c2c53929335f0166ca74db61",
      "parents": [
        "2f2e8dffdb56714036fbe429552d09081d8d545f"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Wed Nov 20 14:23:49 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 14:23:49 2024 +0000"
      },
      "message": "List field desciptions if field is matching (#174)\n\n* List field desciptions if field matching (fixes #134)"
    },
    {
      "commit": "2f2e8dffdb56714036fbe429552d09081d8d545f",
      "tree": "2a5db7c4d0027940c04da13fb470f928ff1f13c8",
      "parents": [
        "877282d19d420340fdaac8674d4f93a6310e2254"
      ],
      "author": {
        "name": "Daniel Schaefer",
        "email": "git@danielschaefer.me",
        "time": "Wed Nov 20 18:25:22 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 10:25:22 2024 +0000"
      },
      "message": "Allow using thirdparty VID for reboot interface (#177)\n\nWith this change you can reboot a device with third party VID/PID from application firmware into bootloader with:\r\n\r\n```\r\npicotool reboot --vid 0x32ac --pid 0x001f -f -u\r\n```\r\n\r\nSigned-off-by: Daniel Schaefer \u003cdhs@frame.work\u003e"
    },
    {
      "commit": "877282d19d420340fdaac8674d4f93a6310e2254",
      "tree": "c3ea1199f8f40a3a476403653c2c949c4ab3ed66",
      "parents": [
        "7350867a238e20b6b411d670f0c795bd766cd80b"
      ],
      "author": {
        "name": "Andrew Scheller",
        "email": "andrew.scheller@raspberrypi.com",
        "time": "Wed Nov 20 01:14:04 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 19 19:14:04 2024 -0600"
      },
      "message": "Fix macOS CI builds (#178)\n\nBy removing cmake and pkg-config from the dependencies"
    },
    {
      "commit": "7350867a238e20b6b411d670f0c795bd766cd80b",
      "tree": "ac6114480921157b8e92cc79ca5775a6153798e7",
      "parents": [
        "78c9bd121b09399823b67ee7ea89003ca0d3315f"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Nov 19 17:51:19 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 19 17:51:19 2024 +0000"
      },
      "message": "Align Saving, Loading and Verifying progress bars (#170)\n\n* Align all progress bars\r\n\r\n* Prevent saving/loading from unstriped SRAM\r\n\r\n* Fix saving/verifying range to bin file"
    },
    {
      "commit": "78c9bd121b09399823b67ee7ea89003ca0d3315f",
      "tree": "605471ae48864f7b3d896345c478472238b4b6ba",
      "parents": [
        "ae9a188b4dcb05797115f4d8d73fd6c668bf83c4"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Nov 12 17:26:33 2024 +0000"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Nov 12 17:26:33 2024 +0000"
      },
      "message": "Update abs_block\n\nAdd RP2 ignored extension to errata E10 abs_block, to make it more identifiable\n"
    },
    {
      "commit": "ae9a188b4dcb05797115f4d8d73fd6c668bf83c4",
      "tree": "e99551ceee2957980765ec9c93ad58ae2eb359c2",
      "parents": [
        "dc9b5494fe78e3fe52fd11d7427d2be72e55f37a"
      ],
      "author": {
        "name": "Tobias Simetsreiter",
        "email": "dasimmet@gmail.com",
        "time": "Tue Nov 12 15:08:44 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 12 14:08:44 2024 +0000"
      },
      "message": "lowercase \u0027Windows.h\u0027 in main.cpp for mingw32 support (#168)\n\n"
    },
    {
      "commit": "dc9b5494fe78e3fe52fd11d7427d2be72e55f37a",
      "tree": "d63dce6037b42c0547d3a4264332871bca1ce2f4",
      "parents": [
        "0f9977ea7139052dae65bf4a0a21a493aaca41d4"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Nov 07 14:37:08 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 14:37:08 2024 +0000"
      },
      "message": "Always print serial number when unable to find a device with specific serial number (#164)\n\nPreviously it would not print the serial number if a device wasn\u0027t found after a -f reboot (see https://forums.raspberrypi.com/viewtopic.php?t\u003d378682)"
    },
    {
      "commit": "0f9977ea7139052dae65bf4a0a21a493aaca41d4",
      "tree": "494cdf42ac93427dfc09a89278758999810c9e89",
      "parents": [
        "a86abb73b589c7a74781e82e45c871e598551f88"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Nov 07 13:45:40 2024 +0000"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Nov 07 13:45:40 2024 +0000"
      },
      "message": "Fix parsing of partition IDs\n\nPartition IDs are unsigned 64-bit integers, but were being parsed as signed integers, so were out of range if the first bit was set.\n"
    },
    {
      "commit": "a86abb73b589c7a74781e82e45c871e598551f88",
      "tree": "cbc2e7e82d6c5a931d397fc2fa6f3c0083273d8d",
      "parents": [
        "f41f7fa450620e5a1f561e7867090693228698c0"
      ],
      "author": {
        "name": "armandomontanez",
        "email": "amontanez@google.com",
        "time": "Tue Nov 05 10:42:41 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 05 12:42:41 2024 -0600"
      },
      "message": "Fixes and add presubmit (#166)\n\n* Fix Bazel build and add presubmit checks\r\n\r\nFixes a variable name and adds Bazel presubmit checks to ensure the\r\nBazel build stays healthy.\r\n\r\n* Remove Windows from presubmit checks for now\r\n\r\nMSVC is tripping up on statement expressions in timer.h."
    },
    {
      "commit": "f41f7fa450620e5a1f561e7867090693228698c0",
      "tree": "836bb08ed92055db222cb078e578d3a1d97ec757",
      "parents": [
        "3ea1bb5d3e6de66b161ea9b386d2f374cd147201"
      ],
      "author": {
        "name": "armandomontanez",
        "email": "amontanez@google.com",
        "time": "Wed Oct 30 03:58:29 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 10:58:29 2024 +0000"
      },
      "message": "[Bazel] Get MSVC working (#157)\n\nFixes the Windows MSVC build for Picotool."
    },
    {
      "commit": "3ea1bb5d3e6de66b161ea9b386d2f374cd147201",
      "tree": "c896f2878b77c897884b6b8648d12cc7ffcb386f",
      "parents": [
        "439062512e08d0ebb5f3bb00e2de0c356c4ad927"
      ],
      "author": {
        "name": "armandomontanez",
        "email": "amontanez@google.com",
        "time": "Wed Oct 30 03:57:17 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 10:57:17 2024 +0000"
      },
      "message": "[Bazel] Infer PICOTOOL_VERSION define from module version (#156)\n\nMakes the PICOTOOL_VERSION define use the value of module_version() to\r\nreduce duplication of version strings in the Bazel build."
    },
    {
      "commit": "439062512e08d0ebb5f3bb00e2de0c356c4ad927",
      "tree": "c1bf7554fc008bb398b606fe232801dd57c8637a",
      "parents": [
        "19226d169be5fbdc25ce24d897131115d834afe6"
      ],
      "author": {
        "name": "Charlie Birks",
        "email": "charlie@daftgames.net",
        "time": "Tue Oct 29 18:34:20 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 18:34:20 2024 +0000"
      },
      "message": "Fix coprodis to not drop the last instruction and the rest of the file (#159)\n\n"
    },
    {
      "commit": "19226d169be5fbdc25ce24d897131115d834afe6",
      "tree": "8cac27083dd865df2f51732a066091dcb78fd14c",
      "parents": [
        "0dcea9c2bbdfe72c50f983cf4bc4201268999110"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Oct 29 18:31:34 2024 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 18:31:34 2024 +0000"
      },
      "message": "Fix info and config commands for packaged binaries (#158)\n\nRemap according to the load_map before searching for the binary info"
    },
    {
      "commit": "0dcea9c2bbdfe72c50f983cf4bc4201268999110",
      "tree": "69a13a2abf5db7187c1533da07db751107096478",
      "parents": [
        "afb5f26532e4682d38c10503a2e018535cf29260"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Oct 29 14:41:43 2024 +0000"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Oct 29 14:41:43 2024 +0000"
      },
      "message": "Require 0x before hexadecimal family IDs\n\nFixes #161\n"
    },
    {
      "commit": "afb5f26532e4682d38c10503a2e018535cf29260",
      "tree": "ef9cba085e5d75b7b0e8a6597aada5db504d66c5",
      "parents": [
        "c2fca5a6a7cee3591f739e9cc81f021e04350753"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Sat Oct 26 15:56:00 2024 -0500"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Sat Oct 26 15:56:00 2024 -0500"
      },
      "message": "fix otp_load_command\n"
    },
    {
      "commit": "c2fca5a6a7cee3591f739e9cc81f021e04350753",
      "tree": "f00071b33c82b30d834d4d1a10551085ee86c6e9",
      "parents": [
        "c4550ad0a72089a41c808e9124a1e58637bc9cf4"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Oct 24 17:30:22 2024 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Thu Oct 24 17:30:22 2024 +0100"
      },
      "message": "Fix RP2350 higher pin functions\n\nThe pin_functions_rp2350 array was missing a PIO2 row, causing the higher functions to be displayed incorrectly by picotool info\n\nFix this, and add an \"Unknown pin function\" printout if pin function is not known\n"
    },
    {
      "commit": "c4550ad0a72089a41c808e9124a1e58637bc9cf4",
      "tree": "cba9993b238e81c2f598ed26989455a1acee0864",
      "parents": [
        "de42044be73359359b108e73a824d0d46f1efc54"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Tue Oct 22 14:55:19 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 22 14:55:19 2024 +0100"
      },
      "message": "Fix segfault when unable to connect to stdio_usb device (#155)\n\nAdd dr_vidpid_stdio_usb_cant_connect when searching for devices, to detect USB devices that failed to open separately from ones that did\r\n\r\nFixes #151"
    },
    {
      "commit": "de42044be73359359b108e73a824d0d46f1efc54",
      "tree": "d9c09cb3cc59d7b6477a592229ceba62dd5c05e4",
      "parents": [
        "0d259e7f76fdd566349c3ab7674deb17c5c70fbe"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Thu Oct 17 09:32:50 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 17 09:32:50 2024 +0100"
      },
      "message": "Use RP-series when referring to RP2040/RP2350 (#154)\n\n* Use correct device name when known, and RP-series if not known"
    },
    {
      "commit": "0d259e7f76fdd566349c3ab7674deb17c5c70fbe",
      "tree": "8a00ee895fc71130ce78040b92b14553df2475eb",
      "parents": [
        "b62ead341f499532302b8e9f957fa0480fb09a9e"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Oct 14 17:33:50 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 14 17:33:50 2024 +0100"
      },
      "message": "Fix otp dump command, and otp get for lock rows (#153)\n\n"
    },
    {
      "commit": "b62ead341f499532302b8e9f957fa0480fb09a9e",
      "tree": "c227246cc6e25d7d25f522467c139dcc586a97f5",
      "parents": [
        "afdfa928d2f409bdb549bfaf92d9ccf7ee720401"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Oct 14 15:44:21 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 14 15:44:21 2024 +0100"
      },
      "message": "Add support for encrypting elfs with section holes within segments (#150)\n\n"
    },
    {
      "commit": "afdfa928d2f409bdb549bfaf92d9ccf7ee720401",
      "tree": "17f4ea4d7f18925b8ef5d24fc4a716b286aae794",
      "parents": [
        "7e2f756a0071d72c88e5590b8cd3b05d0512e007"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Wed Sep 18 18:09:31 2024 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Wed Sep 18 18:09:31 2024 +0100"
      },
      "message": "Don\u0027t track RP2040 no_flash serial number when rebooting\n\nThe RP2040 USB serial number is all EEs when running a no_flash binary, which will then change once booted into bootsel mode, so don\u0027t track it for the reboot\n\nFixes #144\n"
    },
    {
      "commit": "7e2f756a0071d72c88e5590b8cd3b05d0512e007",
      "tree": "1bb9865d5e6a9608da51a517601ea893985ab2e1",
      "parents": [
        "333a03b8196c706f3bcddf6e46781ef5457dad69"
      ],
      "author": {
        "name": "josch",
        "email": "josch@mister-muffin.de",
        "time": "Wed Sep 18 17:40:02 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 18 17:40:02 2024 +0100"
      },
      "message": "{xip_ram_perms,picoboot_flash_id}/CMakeLists.txt: unset environment variables CFLAGS, CXXFLAGS and LDFLAGS (#140)\n\nIf the user set these environment variables to influence the picotool\r\nbuild, unset them here so that they do not influence the pico-sdk\r\nbuild. This is especially required for flags that are not supported\r\nby arm-none-eabi compilers."
    },
    {
      "commit": "333a03b8196c706f3bcddf6e46781ef5457dad69",
      "tree": "898a8ab17f224619261348c2a57de4f90b4146b9",
      "parents": [
        "fb9a4f0d307bb8ba1d7f589b5c64049e65db49a4"
      ],
      "author": {
        "name": "Andrew Gordon",
        "email": "47662932+arg08@users.noreply.github.com",
        "time": "Wed Sep 18 17:38:33 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 18 17:38:33 2024 +0100"
      },
      "message": "Fix compilation on FreeBSD 13.2 and later. (#133)\n\nThe main change is to portable_endian.h which seems to be out-of-date\r\nand not maintained upstream.  This change also impacts OpenBSD,\r\nbut a check of current OpenBSD git repository suggests it is correct there\r\nalso.\r\nFinally, \u003ccuchar\u003e is excluded in main.cpp (as it already was for __Apple__);\r\nthis will probably not be needed in later FreeBSD releases once \u003ccuchar\u003e\r\nhas been picked up from more recent llvm."
    },
    {
      "commit": "fb9a4f0d307bb8ba1d7f589b5c64049e65db49a4",
      "tree": "f0e471bc6cc9c9095c9d7345467bb23feb8e6696",
      "parents": [
        "08bbcf7b427b950e70db731037591dd31002bf86"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Fri Sep 13 13:48:41 2024 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Fri Sep 13 13:48:41 2024 +0100"
      },
      "message": "Fix \"Manually-specified variables were not used by the project\" warning\n\nAdd PICO_DEBUG_INFO_IN_RELEASE to the used variables in xip_ram_perms and picoboot_flash_id\n"
    },
    {
      "commit": "08bbcf7b427b950e70db731037591dd31002bf86",
      "tree": "3ecd7264627b1aba67039e4002e7c3dea2522148",
      "parents": [
        "d0d0f29af3745cce17b509c7ae22ec86d19a785c"
      ],
      "author": {
        "name": "armandomontanez",
        "email": "amontanez@google.com",
        "time": "Tue Sep 10 16:44:02 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 18:44:02 2024 -0500"
      },
      "message": "Fix Bazel build breakages (#136)\n\n* Fix Bazel build breakages\r\n\r\nFixes some build breakages related to changes to the Pico SDK structure\r\nand the addition of picoboot_flash_id.\r\n\r\n* Add TODO for building flash_id.bin from source in Bazel"
    },
    {
      "commit": "d0d0f29af3745cce17b509c7ae22ec86d19a785c",
      "tree": "ef97e2fd24a39df5f1ac51de1d524a3cf815f8dc",
      "parents": [
        "3ff7c3e710f990bac96adb70d7e8c06b94ac0c63"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Sep 09 16:58:32 2024 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Mon Sep 09 16:58:32 2024 +0100"
      },
      "message": "Remove debug info from xip_ram_perms.elf (#139)\n\nThis embedded local paths of the build machine into the elf file, which was undesirable behaviour\n"
    },
    {
      "commit": "3ff7c3e710f990bac96adb70d7e8c06b94ac0c63",
      "tree": "c7b14972e797cf187d7c373a7bc4cddbc01c82a5",
      "parents": [
        "971ee85176dd17a3bf43713cc96cd52e24b449f6"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Mon Sep 09 11:08:26 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 09 11:08:26 2024 +0100"
      },
      "message": "Add github actions compile test (#131)\n\n* Add build \u0026 test workflow\r\n\r\n* Ensure no picotool needed for xip_ram_perms and flash_id compilation\r\n\r\n* Still check LIBUSB_ROOT if pkgconfig libusb not found"
    },
    {
      "commit": "971ee85176dd17a3bf43713cc96cd52e24b449f6",
      "tree": "5d2c65a7ef4320a1f8dab405bb0b2216d52302c0",
      "parents": [
        "154692d6bfe2e39cf4a333829f3dccaf72907359"
      ],
      "author": {
        "name": "Andrew Scheller",
        "email": "andrew.scheller@raspberrypi.com",
        "time": "Tue Sep 03 22:20:39 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 03 16:20:39 2024 -0500"
      },
      "message": "Use 4-space indent instead of 8-space indent (#132)\n\nFor commonality with other CMakeLists.txt files"
    },
    {
      "commit": "154692d6bfe2e39cf4a333829f3dccaf72907359",
      "tree": "76e296ce4ca8040de967aad8f8868e08c28c363e",
      "parents": [
        "1721716c5e75f4e5fa7e946e8dd2d859ad71688e",
        "bf33c6ddd756c3961c7a13b000859b71e825ee74"
      ],
      "author": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Sep 03 12:01:42 2024 +0100"
      },
      "committer": {
        "name": "William Vinnicombe",
        "email": "william.vinnicombe@raspberrypi.com",
        "time": "Tue Sep 03 12:01:42 2024 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into develop\n"
    },
    {
      "commit": "1721716c5e75f4e5fa7e946e8dd2d859ad71688e",
      "tree": "c267cad5f4acbcf3d399e229936f1b119eb8dc4d",
      "parents": [
        "9fa08571cb9f010a5bd4492e59a1a6fa30fedaa3"
      ],
      "author": {
        "name": "Koji KITAYAMA",
        "email": "45088311+kkitayam@users.noreply.github.com",
        "time": "Mon Sep 02 19:44:10 2024 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 02 11:44:10 2024 +0100"
      },
      "message": "Fix compile errors when using clang-x86_64-pc-windows-msvc (#129)\n\n"
    },
    {
      "commit": "bf33c6ddd756c3961c7a13b000859b71e825ee74",
      "tree": "cf5dd9b2a462b280a3548af54a3f06423134336f",
      "parents": [
        "8a9af99ab10b20b1c6afb30cd9384e562a6647f9"
      ],
      "author": {
        "name": "David Grayson",
        "email": "davidegrayson@gmail.com",
        "time": "Mon Sep 02 03:39:45 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 02 11:39:45 2024 +0100"
      },
      "message": "README.md: Improve the MSYS2 instructions (#128)\n\nIt\u0027s better to let MSYS2 use its default CMake generator, which\r\nis Ninja.\r\n\r\nThe instructions assumed that Makefiles were being used,\r\nbecause they said \"make install\", but we don\u0027t want to use Make on\r\nMSYS2, so I fixed that."
    },
    {
      "commit": "9fa08571cb9f010a5bd4492e59a1a6fa30fedaa3",
      "tree": "a5f1a132135dc1ac9540c790669c68505f22fb86",
      "parents": [
        "818d3bcf51b63ec40908442a7987e07b70352e03"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri Aug 30 15:33:37 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 30 15:33:37 2024 +0100"
      },
      "message": "Replace .dll.a libusb with .a (#126)\n\n"
    },
    {
      "commit": "818d3bcf51b63ec40908442a7987e07b70352e03",
      "tree": "dc2a3032eb6c452ba56a9f323b75597cc10fea2e",
      "parents": [
        "fb2e6b9b97fb25ebf3f70f6fc48ccc929b4df307"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri Aug 30 15:33:09 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 30 15:33:09 2024 +0100"
      },
      "message": "Add verify option to picotool save (#125)\n\nFixes #113"
    },
    {
      "commit": "fb2e6b9b97fb25ebf3f70f6fc48ccc929b4df307",
      "tree": "822aef78acc64d51dcc1fa4d8b821067b32a40ec",
      "parents": [
        "f0232cd544ceb3c46167f93b4f7f30dcd8c5dd19"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri Aug 30 15:31:27 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 30 15:31:27 2024 +0100"
      },
      "message": "Add support for multi-family UF2s to picotool info (#122)\n\n"
    },
    {
      "commit": "f0232cd544ceb3c46167f93b4f7f30dcd8c5dd19",
      "tree": "539fe0c7405cc0469cd9a492750df0828e555c6c",
      "parents": [
        "930fcb610835d96c870fe3d7d06d58239ded5434"
      ],
      "author": {
        "name": "will-v-pi",
        "email": "108662275+will-v-pi@users.noreply.github.com",
        "time": "Fri Aug 30 15:30:49 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 30 15:30:49 2024 +0100"
      },
      "message": "Fix loading into PSRAM (#121)\n\nSkip the flash size checks"
    },
    {
      "commit": "930fcb610835d96c870fe3d7d06d58239ded5434",
      "tree": "8ac2ad92c08b5cca2cd19a0f521f0411cdfc7197",
      "parents": [
        "94a96f3af14f75a11f9cb4bb1840e2250adbec46"
      ],
      "author": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 29 14:20:20 2024 -0500"
      },
      "committer": {
        "name": "graham sanderson",
        "email": "graham.sanderson@raspberrypi.com",
        "time": "Thu Aug 29 14:20:20 2024 -0500"
      },
      "message": "fixup for latest pico-sdk develop/\n"
    }
  ],
  "next": "94a96f3af14f75a11f9cb4bb1840e2250adbec46"
}
