Skip to content

Releases: microsoft/mu_basecore

v2022080002.1.0

06 Jul 00:13
1bebdd1
Compare
Choose a tag to compare

What's Changed

  • .github/release-draft.yml: Use Mu DevOps 5.0.4 @makubacki (#484)
    Change Details
      ## Description

    Updates the workflow to the latest Mu DevOps (v5.0.4)
    to use the ReleaseDrafter.yml file in v5 that supports
    N and N-1 branch support.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Mu Basecore fork.

    Integration Instructions

    N/A




  • TCBZ 4492: Update SplitTable() Logic to Correctly Break Up Memory Map Descriptors @TaylorBeebe (#476)
    Change Details
      ## Description

    Fixes #475

    Fix the SplitTable() logic to correctly break up the memory map and fix errors in the Memory Attributes Table.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Tested on Q35

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • .github/label-issues.yml: Use Mu DevOps 4.0.5 @makubacki (#477)
    Change Details
      ## Description

    4.0.5 updates the GitHub Actions used for labeling to include a
    bug fix for previous versions trying to delete a label that does not exist.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Already enabled in release/202302 and resolves a workflow error
    encountered in the label task.

    Integration Instructions

    N/A - Integrated in this change




🚀 Features & ✨ Enhancements

  • MdeModulePkg/UefiBootManagerLib: Skip con var update if no change @makubacki (#445)
    Change Details
      ## Description

    MdeModulePkg/UefiBootManagerLib: Skip con var update if no change

    Checks if the newly computed device path for a console variable is
    different than the saved value before writing through UEFI variable
    services.

    This allows function callers to simplify their own logic around
    reducing calls to EfiBootManagerUpdateConsoleVariable() and
    overall prevents unnecessary writes to UEFI variables that may
    not be necessary.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Verified console variables are updated when a new device path is
    determined and the update is skipped when no change is made to the
    device path already saved in the corresponding console UEFI variable.

    Integration Instructions

    N/A




Full Changelog: v2022080002.0.3...v2022080002.1.0

v2023020002.1.1

06 Jul 00:13
e741128
Compare
Choose a tag to compare

What's Changed

📖 Documentation Updates

  • CI: Add Rust Host Unit Test CI check @Javagedes (#481)
    Change Details
      ## Description

    Adds a CI plugin, RustHostUnitTestPlugin, with the scope rust-ci that runs all tests, ensuring they pass. If they pass, code coverage is calculated, which must meet the requirements specified in a package's ci.yaml file (default is 75% code coverage). Will generate a coverage.xml file in the Build directory.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Ensured Check can run successfully

    Integration Instructions

    Add the rust-ci scope to your settings python file for stuart_ci_build. add toml to your pip-requirements.txt file.




Full Changelog: v2023020002.1.0...v2023020002.1.1

v2023020002.1.0

29 Jun 23:32
Compare
Choose a tag to compare

What's Changed

  • BaseTools: BinToPcd: replace xdrlib functionality @Javagedes (#473)
    Change Details
      ## Description

    Replaces xdrlib with a custom packing function mimicking current xdrlib usage as xdrlib is being deprecated in Python 3.13 with no clear library replacement.

    closes #371

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Performed fuzzing test of over 10000 entries of random buffers being provided to existing and new logic and confirmed returned buffers were the same. You can review the attached python script used for testing here

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

🚀 Features & ✨ Enhancements

  • Add Rust build support [Rebase \& FF] @makubacki (#474)
    Change Details
      ## Description

    Adds Rust build support to Project Mu.

    Overview

    These changes enable a platform to build Rust code as part of the normal firmware build process.

    Cargo make is used as a build runner to allow users to build Rust packages individually and simply on the command line similar to the way they are built during the firmware build process. It is a CLI tool that helps abstract away many of the CLI arguments necessary to build a Rust module so that developers can easily check, test, and build individual Rust packages without the need to copy and/or memorize a long list of arguments.

    Includes changes from: https://github.com/tianocore/edk2-staging/tree/edkii-rust

    Generally Getting Started with Rust

    It is recommended to:

    1. Update mu_basecore to include these changes

    2. Download and install Rust and cargo from Getting Started - Rust Programming Language (rust-lang.org)

    3. Verify cargo is working:

      >cargo --version

    4. Install the desired Rust tool chain

      • Example: 1.68.2 x86_64 toolchain

      • Windows:

        >rustup toolchain install 1.68.2-x86_64-pc-windows-msvc

        >rustup component add rust-src --toolchain 1.68.2-x86_64-pc-windows-msvc

      • Linux:

        >rustup toolchain install 1.68.2-x86_64-unknown-linux-gnu

        >rustup component add rust-src --toolchain 1.68.2-x86_64-unknown-linux-gnu

    5. Install cargo make

      >cargo install --force cargo-make

    At this point, the essential Rust applications are installed, and a repo can begin to add and build Rust code.

    Build Variations

    First, the simplest case is a new user approaching a package that supports Rust modules. In that case, just build the package like "normal" (e.g., stuart build) and the "normal" build output (i.e., EFI drivers and firmware volumes) will be produced.

    Build an Individual Module

    cargo make build <Module Name>

    The following command line options are available:

    1. -p PROFILE [development|release]. DEFAULT = development (debug)
    2. -e ARCH=[IA32|X64|LOCAL]. DEFAULT = X64
    3. -e TARGET_TRIPLE=[triple].
    • ARCH=LOCAL is used to build any locally executable tools associated with a Rust library package (e.g., a dual-purpose executable and library).

    • TARGET_TRIPLE=<triple> is used to cross-compile locally executable tools associated with a Rust library package.

    • Note: A Rust package must be specified.

    • The output location is:

      • target/[x86_64-unknown-uefi|i686-unknown-uefi]/[debug|release]/module_name.[efi|rlib]

    Test an Individual Module

    cargo make test <Optional: Module Name>
    • Note: If a package is not specified, all packages will be tested.

    Supported Build Combinations

    1. C source + Rust source mixed in INF (Library or Module)

      • Rust source code is supported by build rule – Rust-To-Lib-File (.rs => .lib)

      • Limitation: Rust code cannot have external dependencies.

    2. Pure Rust Module only.

      • A Cargo.toml file is added to the INF file [Sources] section.

      • Rust Module build is supported by build rule – Toml-File.RUST_MODULE (Toml => .efi)

      • Limitation: Runtime might be a problem, such as virtual address translation for Rust code internal global variables.

    3. Pure Rust Module + Pure Rust Library with Cargo Dependency.

      • Cargo dependency means the Rust lib dependency declared in Cargo.toml.
    4. Pure Rust Module + C Library with EDK II Dependency.

      • Rust Module build is supported by build rule – Toml-File (Toml => .lib)

      • The EDK II dependency means the EDK II lib dependency declared in INF.

        • If a Rust module is built with C, the cargo must use staticlib. Otherwise, rlib is used.
    5. C Module + Pure Rust Library with EDK II Dependency.

      • Rust library build is supported by build rule – Toml-File. (Toml => .lib)
    6. Pure Rust Module + Pure Rust Library with EDK II Dependency.

      • Same as (4) + (5).
    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    1. Verified build of packages with no Rust code
    2. Verified build of packages with Rust code in various combinations:
      • Pure Rust module
      • Pure Rust module with Cargo dependency
      • Pure Rust module with C (EDK II) library

    Integration Instructions

    Included and PR description and markdown files in the PR.




🐛 Bug Fixes

  • [CHERRY-PICK] TCBZ 4492: Update SplitTable() Logic to Correctly Break Up Memory Map @TaylorBeebe (#479)
    Change Details
      ## Description

    Fixes #475

    Fix the SplitTable() logic to correctly break up the memory map and fix errors in the Memory Attributes Table.

    • Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
    • Security - Does the change have a direct security impact on an application,
      flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ...
    • Breaking change?
    • Breaking change - Will anyone consuming this change experience a break
      in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call
      a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
    • Documentation - Does the change contain explicit documentation additions
      outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation
      on an a separate Web page, ...

    How This Was Tested

    Tested on Q35

    Integration Instructions

    N/A




📖 Documentation Updates

Read more

v2023020002.0.4

27 Jun 00:35
f066a00
Compare
Choose a tag to compare

What's Changed

  • BaseTools: Use latest release @Javagedes (#472)
    Change Details
      ## Description

    Updates basetoolsbin_ext_dep.yaml to use the latest release of BaseTools as they have been updated.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    CI

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

🔐 Security Impacting

  • [CodeQL] CryptoPkg: BaseCryptLib: Check return value from `ASN1_get_object` @kuqin12 (#470)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This change was caught on a platform build Code QL analysis. Without properly checking the returned value, ObjTag and ObjCls could be left uninitialized and thus cause incorrect results.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    The change was tested on QEMU based virtual platform and proprietary hardware platform.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2023020002.0.3...v2023020002.0.4

v2023020002.0.3

26 Jun 23:35
1077173
Compare
Choose a tag to compare

What's Changed

  • BaseTools: Remove /NXCOMPAT VS X64 DLINK flags @Javagedes (#468)
    Change Details
      ## Description

    /NXCOMPAT and /SUBSYSTEM:CONSOLE flags were added to enable setting the nxcompat bit in the DLL characteristics. GenFw will now set the nxcompat bit in the DLL characteristics if the requirements to be nxcompat are met.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Ran CI and all QemuQ35 EFI_APPLICATION tests for VS2022 DEBUG/RELEASE builds.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [CHERRY-PICK|REBASE\&FF]: Remove duplicated includes between BaseTools and MdePkg @Javagedes (#465)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This chain of commits cherry-picks the edk2 PR tianocore/edk2#4462 which removes duplicated code between BaseTools and MdePkg and also removes some ARM hacks.

    These commits are being cherry-picked as it allows us to remove our own ARM hacks used for cross-compilation and also brings us in-line with EDK2 in preparation for bringing Project MU's GenFw.c auto nx compat functionality to edk2.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    EDK2's review process and CI.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Use the new release of Linux base tools @kuqin12 (#471)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This change picks up the reversion of platform version where the Linux versions of base tools are built on.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Tested on Ubuntu 20.04 based pipeline builds.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • MdeModule: resolve invalid library override @Javagedes (#469)
    Change Details
      ## Description

    MediaSanitizeUnitTestHost used an invalid library override, attempting to override a non-existent library with a component that does not have an associated library. Comparing generated output of the inf files with and without a library override showed no changes. Therefore, this commit removes the invalid library override.

    Additionally, the two files provided byt NvmExpressDxe.inf ( NvmExpressMediaSanitize.c
    NvmExpressMediaSanitize.h) are already included in MediaSanitizeUnitTestHost.inf.

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Diff'd the build artifacts of the component with and without the library class override and saw no changes in the following:

    • deps.txt
    • Makefile
    • static_library_files.lst
    • NvmExpressMdeiaSanitize.c.deps
    • MediaSanitizeUnitTestHost.inf
    • MediaSanitizeUnitTest.c.deps

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2023020002.0.2...v2023020002.0.3

v2023020002.0.2

26 Jun 20:25
f784ee9
Compare
Choose a tag to compare

What's Changed

  • Using older Ubuntu image for the basetool release @kuqin12 (#467)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This change steps back the building image of Ubtuntu for basetool binary releases, so that the users do not have to all update their working environments.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    This was tested on 20.04 based docker container image.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

📖 Documentation Updates

  • Refactoring the MM implementation to support both Standalone MM and Traditional MM @MarcChen46 (#461)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    Refactoring the MM implementation to support both Standalone MM and Traditional MM

    1. Add DXE_SMM_DRIVER to LIBRARY_CLASS of MmPolicyLib.inf
    2. Refactor the PolicyMm module to have a common entrypoint, and both Standalone MM and Traditional MM entrypoint call the common entrypoint.
    3. Add Traditional MM description to Readme.md.

    This PR resolves #460.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Verified with the CI build

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2023020002.0.1...v2023020002.0.2

v2023020002.0.1

22 Jun 15:18
1c5a62a
Compare
Choose a tag to compare

What's Changed

  • BaseTools: scan Edk2ToolsBuild.py make output @Javagedes (#463)
    Change Details
      ## Description

    Adds edk2_logging.scan_compiler_output() to Edk2ToolsBuild.py to catch some compilation errors and log them as an error.

    Not adding MU_CHANGE tags as this will be going to edk2 also.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Does not affect anything other than adding logging output.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Basetools: Update Mu-Basetools external dependency @Javagedes (#459)
    Change Details
      ## Description

    Updates Basetools/Bin/basetoolsbin_ext_dep.yaml to v2023020002.0.0

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    CI

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

🐛 Bug Fixes

  • MdeModulePkgHostTest: UefiSortLib -> SortLib for library overrides @Javagedes (#457)
    Change Details
      ## Description

    In multiple locations, UefiSortLib was being used as the library type when the true base library is SortLib

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    CI

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2023020002.0.0...v2023020002.0.1

v2023020002.0.0

16 Jun 16:08
d6de782
Compare
Choose a tag to compare

What's Changed

  • BaseTools: Detect invalid library override @Javagedes (#452)
    Change Details
      ## Description

    Ensures LIBRARY_CLASS as specified in the library override INF defines section is the same value as the library class specified in the override line.

    Example of mismatch

    ERROR - EDK2 #002 from c:\src\mu_tiano_platforms\Platforms\QemuQ35Pkg\QemuQ35Pkg.dsc(...): LIBRARY_CLASS for override: [c:\src\mu_tiano_platforms\MU_BASECORE\MdePkg\Library\BasePcdLibNull\BasePcdLibNull.inf] does not match the library class being overridden: [DevicePathLib]

    closes #314

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • [] Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Ensured mismatched library override was caught, and INF's with multiple LIBRARY_CLASS definitions will not raise an error if one of the definitions matches.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • OverrideValidation: Update logging levels @Javagedes (#450)
    Change Details
      ## Description In scenarios where multiple track tags exist for a single library, only one tag will match; previous logic would report this mismatch at a logging.INFO level, which lead to developer confusion, thinking that something needed to be fixed.

    The logging level has been updated to logging.DEBUG for these messages. errors are still properly reported when all tags do not match.

    the RunCmd for returning the git commit has also been updated to logging.DEBUG to reduce spam in the log as the commit hash returned from the command is always printed later.

    New success log:

    INFO - ---------------------------------------------------------
    INFO - --------------Override Validation Starting---------------
    INFO - ---------------------------------------------------------
    INFO - Override diff since last update at commit db42344f83abc04bbba355259f0f5d3e6e4e13cf
    INFO - At Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf
    INFO - Override diff since last update at commit 078e685aa7aa900ea15cdf41ffe4e42bc97474d2
    INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-09-02T01-34-33 | 078e685aa7aa900ea15cdf41ffe4e42bc97474d2
    INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - At Line 14: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - Override diff since last update at commit 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a
    INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-05-13T05-08-11 | 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a
    INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - At Line 16: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d

    New failure log:

    INFO - ---------------------------------------------------------
    INFO - --------------Override Validation Starting---------------
    INFO - ---------------------------------------------------------
    INFO - Override diff since last update at commit db42344f83abc04bbba355259f0f5d3e6e4e13cf
    INFO - At Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf
    INFO - Override diff since last update at commit 45b2886c1f0d56d32b0b048494e4e9c2b4f88671
    INFO - At Line 16: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | ff6b70a361fb8eef8e9ad638e93dab4d | 2023-02-14T23-00-07 | 45b2886c1f0d56d32b0b048494e4e9c2b4f88671
    ERROR - Track tag failed to match module hash at Line 14: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | 59ed012718851dc2c6a063594f9b4c3a | 2023-02-24T16-23-03 | db42344f83abc04bbba355259f0f5d3e6e4e13cf
    ERROR - Track tag failed to match module hash at Line 16: #Track : 00000002 | StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf | ff6b70a361fb8eef8e9ad638e93dab4d | 2023-02-14T23-00-07 | 45b2886c1f0d56d32b0b048494e4e9c2b4f88671
    ERROR - Override processing error MISMATCH in file/dir MmSupervisorPkg/Library/StandaloneMmHobLibSyscall/StandaloneMmHobLibSyscall.inf
    INFO - Override diff since last update at commit 078e685aa7aa900ea15cdf41ffe4e42bc97474d2
    INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-09-02T01-34-33 | 078e685aa7aa900ea15cdf41ffe4e42bc97474d2
    INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - At Line 14: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - Override diff since last update at commit 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a
    INFO - At Line 21: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 363e254ecb2e8334d7efdbe363172897 | 2022-05-13T05-08-11 | 1fe56ccdeb39aa2fb6b85a37f4fb3225f4fa2e2a
    INFO - Override diff since last update at commit 0efbb81c016bad5b824b35713258911bb4dc5c8d
    INFO - At Line 16: #Track : 00000002 | MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf | da7a5b278e02901b4917852ce56899e4 | 2023-05-03T14-04-31 | 0efbb81c016bad5b824b35713258911bb4dc5c8d

    closes #361

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Passing CI

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Initialize Status Variable on Failure Path in LoadUnitTestCache() @TaylorBeebe (#453)
    Change Details
      ## Description

    Set 'Status' variable on early failure path in LoadUnitTestCache ().

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ......
Read more

v2022080002.0.3

06 Jun 16:09
361e20d
Compare
Choose a tag to compare

What's Changed

  • Add a pull request build for basetools pipeline and directory changes by @cfernald in #413
  • CodeQL Fix: Add NULL Check to Generated Filename in UnitTestPersistLibSfs by @TaylorBeebe in #424
  • Don't Create Variable Policy for PlatformRecovery#### if SetVariable Failed by @TaylorBeebe in #440
  • [CHERRY-PICK] Introduce notification callbacks for the Policy Service (#433) by @cfernald in #441

Full Changelog: v2022080002.0.2...v2022080002.0.3

v2023020001.0.0

05 Jun 23:28
943be63
Compare
Choose a tag to compare

What's Changed

  • Integrate PrEval Policy 5 @Javagedes (#423)
    Change Details
      ## Description

    Integrates edk2-pytool-extension's PrEval's Policy 5 that runs whenever a INF has been changed. It will parse each package's dsc (as defined in <pkg>.ci.yaml::PrEval.DscPath) and mark it to be build if that package has a dependency on the changed INF.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    N/A

    Integration Instructions

    N/A




  • Remove passing print from Char Encoding Check Plugin @os-d (#435)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This removes a noisy print from Char Encoding Check Plugin that prints every passing file (which scales with the size of a package). Closes #434 .

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    Tested running the CI build.

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    
  • Onboarding ARM64 builds on selfhosted Azure pipeline agents @kuqin12 (#404)
    Change Details
      # Preface

    Please ensure you have read the contribution docs prior
    to submitting the pull request. In particular,
    pull request guidelines.

    Description

    This change added a few new matrix entries to support building mu_tiano_platforms on native ARM64 systems. The PR will cover both #369 and #305.

    The PR should also be incorporated with mu_devops change.

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    This was tested on selfhost-agents and existing agents.

    Integration Instructions

    Pipeline changes, N/A for integration.

      </blockquote>
      <hr>
    </details>
    
  • CryptoPkg: remove unnecessary auto gen MODULE\_TYPE @Javagedes (#428)
    Change Details
      ## Description

    generate_cryptodriver.py unnecessarily included the MODULE_TYPE in the component section (i.e. [Components.$(ARCH).$(MODULE_TYPE)] instead of [Components.$(ARCH)]). Per the DSC specification, MODULE_TYPE is not a supported value to set in the components section. This is set in the component INF file.

    Additionally an issue with auto-generated functions in CryptLib.c was noted such that an incorrect parameter list could be generated. This was due to an attempt to call .strip(" OPTIONAL") in get_params_tuple. This call does not strip " OPTIONAL", but will strip a single character contained in the list [" ", "O", "P", "T", "I", "N", "A", "L"]. Updating this function to use .replace(" OPTIONAL", "") has resolved the bug.

    Additionally an issue with auto-generated _EDKII_CRYPTO_PROTOCOL struct was found causing it to fail uncrustify check. Spacing was updated in generate_cryptodriver.py to correct alignment.

    Core Changes to review are at CryptoPkg/Driver/Packaging/generate_cryptodriver.py

    For each item, place an "x" in between [ and ] if true. Example: [x].
    (you can also check items in the GitHub UI)

    • Impacts functionality?
      • Functionality - Does the change ultimately impact how firmware functions?
      • Examples: Add a new library, publish a new PPI, update an algorithm, ...
    • Impacts security?
      • Security - Does the change have a direct security impact on an application,
        flow, or firmware?
      • Examples: Crypto algorithm change, buffer overflow fix, parameter
        validation improvement, ...
    • Breaking change?
      • Breaking change - Will anyone consuming this change experience a break
        in build or boot behavior?
      • Examples: Add a new library class, move a module to a different repo, call
        a function in a new library class in a pre-existing module, ...
    • Includes tests?
      • Tests - Does the change include any explicit test code?
      • Examples: Unit tests, integration tests, robot tests, ...
    • Includes documentation?
      • Documentation - Does the change contain explicit documentation additions
        outside direct code modifications (and comments)?
      • Examples: Update readme file, add feature readme file, link to documentation
        on an a separate Web page, ...

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Update basetools for 202302 using the github release. @cfernald (#418)
    Change Details
      ## Description
    • Updates the basetools extdep for 2302 using the first 2302 github release.

    • Switch the basetools extdep to use zip from github release instead of nuget. This is to further align is avoiding nuget for the MU core projects.

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    Locally built basecore.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • ...
Read more