Skip to content

Releases: microsoft/mu_feature_config

v6.0.3

09 Oct 16:29
74da092

Choose a tag to compare

What's Changed

  • KnobService: improvement type casting @Irene-IY (#514)
    Change Details
      ## Description

    Update type casting for .cpp build.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Test on CI test

    Integration Instructions

    N/A




  • VfrToXmlConverter: Using random and unique identifier @AmiVincentKe (#515)
    Change Details
      ## Description

    VfrToXmlConverter: Using random and unique identifier

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Pipeline test pass

    Integration Instructions

    N/A




🐛 Bug Fixes

  • Add variable init in write\_detailed\_csv() @nancykhoury (#517)
    Change Details
      ## Description

    In VariableList.py, variable 'subknob_values_str' was not properly initialized in the write_csv_detailed() function causing runtime errors. This has no impact to any other functions within this python script.

    • Impacts functionality? No
    • Impacts security? No
    • Breaking change? No
    • Includes tests? No. Tested separately.
    • Includes documentation? Yes

    How This Was Tested

    Tested locally. Function call passed with no errors after variable initialization was added to code confirming that this change fixes the issues.

    Integration Instructions

    N/A




  • SetupDataPkg: ConfApp fix size comparison mismatch. @apop5 (#500)
    Change Details
      ## Description

    When compiling with clangdwarf, a build error is throw because a UINT32 variable is being compared against a MAX_UINTN.

    This works fine for IA32 builds, but fails for x64.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Compiling with clangdwarf, encountered an error. After fix, compilation is successful.

    Integration Instructions

    No integration necessary.




Full Changelog: v6.0.2...v6.0.3

v6.0.2

29 Aug 15:20
71f71cb

Choose a tag to compare

What's Changed

  • SetupDataPkg: Fix clangpdb errors for uninitialized variables. @apop5 (#498)
    Change Details
      ## Description

    ClangPdb reported some build errors about use without initializing variables. Fixed the variables to be initialized, so that code paths can rely on initial error values.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Local CI builds with ClangPdb.

    Integration Instructions

    No integration necessary.




Full Changelog: v6.0.1...v6.0.2

v6.0.1

12 Aug 20:09
d963011

Choose a tag to compare

What's Changed

  • Include PcdLib and BaseMemoryLib since in the autogen header since it invokes PcdGetPtr() and CopyMem() @v-yuanhengwu (#493)
    Change Details
      ## Description

    In the autogen service header (e.g. ConfigServiceGenerated.h), PcdGetPtr() and CopyMem() are invoked, but it does not include corresponding PcdLib.h and BaseMemoryLib.h.

    Currently when we include ConfigServiceGenerated.h in another .c file, we usually get build errors and realize that we also need to include PcdLib.h and BaseMemoryLib.h.

    It would be better if we could have the right inclusion in the autogen header, as well as ConfigClientGenerated.h includes Uefi.h.

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • Built and Booted System UEFI with .c files which include ConfigServiceGenerated.h.

    • Built and Booted System UEFI with .c filfes which include ConfigServiceGenerated.h and also include PcdLib.h and BaseMemoryLib.h as before.

    • Compared and verified the AutoGen headers before and after this code diff
      Before:

    #ifndef CONFIGSERVICEGENERATED_H
    #define CONFIGSERVICEGENERATED_H
    // The config public header must be included prior to this file
    // Generated Header
    

    After:

    #ifndef CONFIGSERVICEGENERATED_H
    #define CONFIGSERVICEGENERATED_H
    #include <Library/PcdLib.h>
    #include <Library/BaseMemoryLib.h>
    // The config public header must be included prior to this file
    // Generated Header
    

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • VfrToXmlConverter Version 0.5: Support Multi-XML @v-yuanhengwu (#491)
    Change Details
      ## Description

    VfrToXmlConverter Version 0.5: Support Multi-XML

    • Add --check_all to check all checkboxes

    • Add --cfg_xml argument to support loading Config XML from files

    • Add --merge_xml argument in CLI mode to merge multiple XML files

    • Add "File -> Open Config XML File(s)..." to load Config XML files in GUI

    • Avoid unnecessary empty lines generated by xml_root_to_string()

    • Wrap xml verification logic into a function xml_verify() for better maintenance

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    1. Run regular tests to generate Config XML files on several platforms
    2. Try to split PlatformCfgData.xml by export function, and then:
    • Merge the xml files back by -cli --merge_xml
    • Load and merge xml files by selecting multiple XML files in GUI
    • Compare those XML files by --compare_xml function
    • Compare those XML files with Beyond Compare to check if they are identical
    • Check whether --verify_xml still works after merging in build plugins

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Modified ConfApp reset mechanism from ResetCold() to ResetSystemWithSubtype() @v-bhavanisu (#488)
    Change Details
      ## Description

    Modified ConfApp reset mechanism from ResetCold() to ResetSystemWithSubtype()

    In some platform, silicon specific operation need to be triggered before system go for reset to avoid switching of bank. The silicon code base take care of calling the required APIs before triggering the reset. But any reset from MU code base need to be handled differently as silicon specific code can't be added in generic code.

    For reset from ConfApp, pass a unique GUID in reset so that platform reset hook (registered using gEdkiiPlatformSpecificResetFilterProtocolGuid) can identify the reset from ConfApp and trigger the silicon specific APIs to prevent switching of bank.

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Included this change on to a platform repo and tested that Cold Reset happens without issues

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • VfrToXmlConverter Version 0.4: Support creating output.xml from multiple INF files @v-yuanhengwu (#477)
    Change Details
      ## Description

    VfrToXmlConverter Version 0.4: Support creating output.xml from multiple INF files

    • Handle --inf_file inputs as a list of files

    • Support multiple selections in GUI open_inf_file()

    • Update --help

    • Wrap xml verification code into a function xml_verify() for better maintenance

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    1. Tried to select one .inf file as usual and checked the output.xml works as well as before
    2. Tried to select multiple .inf file in GUI and verify the content of output.xml with corresponding .vfr files
    3. Tried to select multiple .inf file in CLI mode and compare the output.xml content with 2. above
    4. Tested verify function (-cli -vx) and checked the diff count and output prints are the same as before

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v6.0.0...v6.0.1

v6.0.0

30 Apr 23:15
5b59fd3

Choose a tag to compare

What's Changed

  • CI: Change to 202502 Branches. @apop5 (#470)
    Change Details
      ## Description

    Change to using 202502 Branches.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Ran CI build.

    Integration Instructions

    No integration necessary.




  • VfrToXmlConverter Version 0.3: Support Linux Build Container with GCC in CLI mode @v-yuanhengwu (#463)
    Change Details
      ## Description VfrToXmlConverter Version 0.3: Support Linux Build Container with GCC in CLI mode - Improve string format compatibility - Improve search path compatibility for Linux - Import tkinter only in GUI mode - Add gcc preprocess function as well as cl.exe - Debug log enhancements
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • Run this tool -cli mode in several pipelines with windows/linux build containers
    • Manually tried to generate and compare XML files in:
      • Windows: GUI/CLI
      • WSL(Ubuntu): CLI

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • CI: Limit CI runs to AARCH64, IA32, X64. @apop5 (#456)
    Change Details
      ## Description Remove ARM as a target for CI runs.

    Only target AARCH64, IA32, X64 for GCC CI.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?
    • Backport to release branch?

    How This Was Tested

    Local CI builds.

    Integration Instructions

    Not Applicable since it is a CI change.




  • [ConfigEditor] Update config data before leaving the page @v-yuanhengwu (#457)
    Change Details
      ## Description

    If users modify some values in combo boxes without clicking the left tree and then click the pagination control buttons, the modified values may not take effect. We may need to ensure that the changes take effect in the config data before leaving the page, just like many other buttons do.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    1. Execute ConfigEditor.py.
    2. Load a Config XML containing a struct with more than 500 members, so the pagination control buttons appear on the right grid.
    3. Modify combo box values and dropdown list selections.
    4. Navigate back and forth using the pagination control to verify whether the modified values persist.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [Feature]: A Tool to Generate PlatformCfgData.xml from Project Files @v-yuanhengwu (#444)
    Change Details
      ## Description

    [Feature]: A Tool to Generate PlatformCfgData.xml from Project Files #434

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    We have tried VfrToXmlConverter.py on several project source codes to generate XML files.

    • Execute VfrToXmlConverter.py
    • Load INF file which includes VFR file(s) in [Sources]
    • Load additional files if necessary (e.g. PlatformBuild.py, vfrpp_resp.txt)
    • Process INF File
    • Select and edit items in GUI
    • Export config to XML

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [ConfigEditor] Add pagination control to fix UI issues @v-yuanhengwu (#447)
    Change Details
      ## Description

    <Include a description of the change and why this change was made.>

    Add pagination control to self.right_grid, which improves performance and also fix some known UI issues

    [Known UI Issues]

    1. #426
      => self.page_size = 500 can avoid this
      In the current ConfigEditor layout, having more than 532 items causes self.conf_canvas scroll region to
      exceed 32768 pixels, resulting in improper UI display.

    2. row out of bounds when row >= 9997 in add_config_item()
      => self.page_size = 500 can avoid this, since the max row = 500 * 2 + 2(header) - 1(0-based) = 1001
      Exception in Tkinter callback
      Traceback (most recent call last):
      File "C:\Program Files\Python312\Lib\tkinter_init_.py", line 1968, in call
      return self.func(*args)
      ^^^^^^^^^^^^^^^^
      File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 893, in on_config_page_select_change
      self.build_config_data_page(page_id)
      File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 973, in build_config_data_page
      self.add_config_item(item, row, self.page_cfg_map[page_id])
      File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 1655, in add_config_item
      widget.grid(
      File "C:\Program Files\Python312\Lib\tkinter_init_.py", line 2580, in grid_configure
      self.tk.call(
      _tkinter.TclError: row out of bounds

    3. disp_list[0] and disp_list[1] seems to have duplicate names always
      => We can just display one of them as header

    4. UI response is sometimes quite slow since build_config_data_page() might be invoked frequently by:

    • Search

    • Select trees on the left
      => This does not decrease the number of times build_config_data_page() is called.
      But it improves the execution speed on big files if build_config_data_page() only loads 500 items at a time

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    • Execute ConfigEditor.py and loads a Config XML file with more than 500 members in a struct

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

⚠️ Breaking Changes

  • Add MODCONFIG/DELVAR cmd line interface to modify config variables @kanechen66 (#473)
    Change Details
      ## Description The current config editor tool requires UI interface to modify config variables. Although, we can use multiple GenNCCfgData.py cmd lines/config.xml tweak to achieve same functions, but it's not convenient to use This PR adds a ModConfig.py cmd line interface to modify config variables.

    Usage:
    $ python GenNCCfgData.py MODCONFIG --xml_file config.xml --var knob1 --var knob2 --val knob_val1 --val knob_val2 [--output_file out.vl]

    modify int config var
    $ python GenNCCfgData.py MODCONFIG --xml_file config.xml --var "NetworkBootOrder" --val "[1,3,2,4]"

    Delete all config var
    $ python GenNCCfgData.py DELVAR --xml_file config.xml

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested on SUT and make sure the config variables can be modified or deleted
    Old function GENBIN and GENCSV are also working like before.

    Integration Instructions

    N/A




Full Changelog: v5.0.0...v6.0.0

v5.0.0

15 Feb 00:48
646bbcb

Choose a tag to compare

What's Changed

  • Search function improvement @ray007330 (#441)
    Change Details
      ## Description

    Improve the code for search function. Now the search function is more generic and the input field would be selected when enumerating search items.
    image

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Ensure the code change does not break the existing functionality.
    The search function can work normally.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • ConfigEditor: Large Enum Value Support (#438) @v-yuanhengwu (#440)
    Change Details
      ## Description

    Use <I instead of <i for EnumFormat in order to support UINT32 enum

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Execute ConfigEditor.py and loads a config xml file with UINT32 enum values.
    A sample xml has been attached in #438

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • Removal of SecureBoot options from ConfApp @apop5 (#432)
    Change Details
      ## Description

    ConfApp's secure boot menu allows the user the illusion of being able to configure the setup boot options.

    The reality is that secure boot is configured by the system prior to ConfApp, and that changes made in ConfApp are not honored on the next boot.

    Removing the Secure Boot menu, associated tests and reduce the libraries needed.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    CI Build.
    Boot on Qemu to verify functionality.

    Integration Instructions

    No Changes required.




Full Changelog: v4.1.0...v5.0.0

v4.1.0

18 Dec 02:26
ad2d487

Choose a tag to compare

What's Changed

🚀 Features & ✨ Enhancements

  • Add search function for Config Editor @ray007330 (#424)
    Change Details
      ## Description

    We add search button on the user interface to enhance the usability.
    image
    It would be helpful when the number of knobs is large.

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Open a config xml file and then search for the key words you want

    Integration Instructions

    None

      </blockquote>
      <hr>
    </details>
    

🐛 Bug Fixes

  • Correct the ESC behavior in ConfigApp @ScottieKuo (#429)
    Change Details
      ## Description

    The ESC behavior is not correct in ConfigApp.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Boot to ConfigApp and observe ESC help string.

    Integration Instructions

    N/A




Full Changelog: v4.0.0...v4.1.0

v4.0.0

03 Dec 16:43
ef26461

Choose a tag to compare

What's Changed

  • Add missing gSchemaXmlHash in PlatformConfigDataLibNull.c @kanechen66 (#425)
    Change Details
      ## Description

    Add missing gSchemaXmlHash in PlatformConfigDataLibNull.c for stuart_ci_build test

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    stuart_ci_build pipeline test pass

    Integration Instructions

      </blockquote>
      <hr>
    </details>
    
  • Remove xml\_file args from WriteConfVarListToUefiVars.py @kanechen66 (#420)
    Change Details
      ## Description

    There is an unnecessary argument -x in the WriteConfVarListToUefiVars.py script in PR #413

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    python WriteConfVarListToUefiVars.py -l test.vl and it doesn't require -x arg

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • Support xml hash check @kanechen66 (#421)
    Change Details
      ## Description

    Currently, there is no version check btwn loaded xml and bios.
    To prevent user loading the wrong xml for BIOS running on SUT.
    This PR makes the below changes.

    1. Calc all xml node hash during bios build and put the hash/guid/var_name in generated header.

    2. BIOS can uses this guid and hash saves to a varialbe call

    3. When configeditor loads an xml file, it calc the hash of loaded xml file and tries to find the xml hash from bios variable and then compare the hash.

    4. if the hash in bios and loaded xml is different, it will show a warning message to user
      image

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested on BIOS with variable contains hash and make sure the warning msg will pop upt when the hash is different

    Integration Instructions

    To have warning msg for hash mismatch, platform BIOS include SetupDataPkg/SetupDataDxe/SchemaXmlHashDriver/SchemaXmlHash.inf so that it will set variable with xml hash

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v3.0.1...v4.0.0

v3.0.1

05 Nov 04:41
d4dcb4d

Choose a tag to compare

What's Changed

  • Add new features in config editor @kanechen66 (#413)
    Change Details
      ## Description

    In this PR, we added the below new features in config editor

    1. UI menu to read/write variable from SUT in runtime
    2. UI menu to delete variable listed in platformcfg.xml on SUT in runtime
    3. UI to show, admin mode, manufacturing mode and mfci policy on the lower right side
    4. Status box show log output from config editor so that user can know what vl or xml file is loaded
      image

    For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    We tested on real SUT and verify each function we added.
    <Describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>
    N/A




Full Changelog: v3.0.0...v3.0.1

v3.0.0

12 Sep 17:47
4a6d3a3

Choose a tag to compare

What's Changed

  • Update CI branches to release/202405 @apop5 (#394)
    Change Details
      ## Description

    Update the CI branches to release/202405

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    CI

    Integration Instructions

    N/A




  • New write\_csv\_detailed() to dump out data in expanded format @nancykhoury (#365)
    Change Details
      # Preface

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

    Description

    <Please include a description of the change and why this change was made.>

    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

    <Please describe the test(s) that were run to verify the changes.>

    Integration Instructions

    <Describe how these changes should be integrated. Use N/A if nothing is required.>

      </blockquote>
      <hr>
    </details>
    
  • Switch to use edk2-pytool-library UefiVariableSupportLib. @apop5 (#362)
    Change Details
      ## Description

    There are multiple copies of VariableSupportLib floating across repos, mostly only supporting Windows.
    Functionality has been consolidated into edk2-pytool-library version 0.21.7. Support for Linux has been added.

    Switch ReadUefiVarsToConfVarList.py, PyRobotRemote.py, WrapAndSetSvd.py and WriteConfVarListToUefiVars.py to use consolidated version from edk2-pytool-library.

    Removed local copies of VariableSupportLib.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

    Integration Instructions

    N/A




  • Removing script that would create windows executable from a python file. @apop5 (#380)
    Change Details
      ## Description

    A script exists that would create a windows executable from a python script.

    Since the repo is not releasing windows executables, nor does it track them, removing the script from the repo.

    • 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

    Local CI.

    Integration Instructions

    N/A




  • SetupDataPkg/ConfApp: Fix incorrect type used in a GUID print @congmomo (#381)
    Change Details
      ## Description

    The DEBUG message will throughout expectations, due to pass wrong type variable.
    The %g parameter need to pass the GUID pointer not the variable itself. so chang TargetGuids[i] to &TargetGuids[i]

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Test have been run on an Arm based simulator. No exception throughout after adding the &.

    Integration Instructions

    N/A




⚠️ Breaking Changes

  • Remove DFCI Python Scripts @os-d (#397)
    Change Details
      ## Description

    The SettingSupport directory in SetupDataPkg was brought over from mu_feature_dfci to allow reusing the UEFI variable support access from Python. However, this was moved into edk2-pytool-library and none of the other scripts are needed here. Any users of them should use the updated scripts in mu_feature_dfci.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    N/A.

    Integration Instructions

    Any users of the SettingSupport scripts should consume them from mu_feature_dfci.

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v2.0.13...v3.0.0

v2.0.13

16 Jul 14:34
c781a93

Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • UpdateConfigHdr: Gracefully exit when filepath is `None` @Javagedes (#378)
    Change Details
      ## Description

    GetAbsolutePathOnThisSystemFromEdk2RelativePath will log an error message and return None if absolute path could not be determined. Due to this, file should be checked against None, not os.path.isfile.

    You can see that in the GetAbsolutePathOnThisSystemFromEdk2RelativePath that we return a str if the absolute path is found, else None.

    Currently, when a path is not found, you get this exception and trace:
    image

    • 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




Full Changelog: v2.0.12...v2.0.13