Releases: microsoft/mu_feature_config
v6.0.3
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
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
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 HeaderAfter:
#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 HeaderIntegration 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
- Run regular tests to generate Config XML files on several platforms
- 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
- Tried to select one .inf file as usual and checked the output.xml works as well as before
- Tried to select multiple .inf file in GUI and verify the content of output.xml with corresponding .vfr files
- Tried to select multiple .inf file in CLI mode and compare the output.xml content with 2. above
- 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
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
- Execute ConfigEditor.py.
- Load a Config XML containing a struct with more than 500 members, so the pagination control buttons appear on the right grid.
- Modify combo box values and dropdown list selections.
- 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]
-
#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. -
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 -
disp_list[0] and disp_list[1] seems to have duplicate names always
=> We can just display one of them as header -
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
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.

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 #438Integration 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
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.

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
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.pyscript in PR #413For 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.-
Calc all xml node hash during bios build and put the hash/guid/var_name in generated header.
-
BIOS can uses this guid and hash saves to a varialbe call
-
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.
-
if the hash in bios and loaded xml is different, it will show a warning message to user

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
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
- UI menu to read/write variable from SUT in runtime
- UI menu to delete variable listed in platformcfg.xml on SUT in runtime
- UI to show, admin mode, manufacturing mode and mfci policy on the lower right side
- Status box show log output from config editor so that user can know what vl or xml file is loaded

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
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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
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> - Impacts functionality?
-
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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Integration Instructions
N/A
- Impacts functionality?
-
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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Local CI.
Integration Instructions
N/A
- Impacts functionality?
-
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
What's Changed
🐛 Bug Fixes
-
UpdateConfigHdr: Gracefully exit when filepath is `None` @Javagedes (#378)
Change Details
## Description
GetAbsolutePathOnThisSystemFromEdk2RelativePathwill log an error message and returnNoneif absolute path could not be determined. Due to this, file should be checked againstNone, notos.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:

- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
N/A
Integration Instructions
N/A
- Impacts functionality?
Full Changelog: v2.0.12...v2.0.13