Releases: microsoft/mu_basecore
v2022080001.2.2
What's Changed
-
Removing BASECORE overrides for unit test include file @kuqin12 (#370)
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 reverts the override added in the
UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
from #354 and impacted package from #357. The impacted consumer should have included their own fixes, thus removing this change to prevent more debts collected in BASECORE.Fixes #356
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
This is unit test include file change. Tested on proprietary consumer packages.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
🐛 Bug Fixes
-
Handling the continue cases for BDS retry @kuqin12 (#367)
Change Details
## Description
The original change (#347) will not handle the use case when the last entry in the BootOptions being inactive, and the loop will break in one of the "continue" cases.
This change will ensure that continue statements redirect control to logic for handling infinite retry attempt support.
Fixes #368.
- 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
This is tested on FVP based virtual platform.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
🔐 Security Impacting
-
Additional CodeQL Fixes @TaylorBeebe (#358)
Change Details
## Description
Various fixes
- 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, ...
- Examples: Crypto algorithm change, buffer overflow fix, parameter
- 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
Build and boot changes on QemuQ35Pkg to EFI shell.
Integration Instructions
N/A
Full Changelog: v2022080001.2.1...v2022080001.2.2
v2022080001.2.1
What's Changed
-
pip: update edk2-pytool-extensions requirement from ~=0.22.2 to ~=0.23.0 @dependabot (#359)
Change Details
Updates the requirements on [edk2-pytool-extensions](https://github.com/tianocore/edk2-pytool-extensions) to permit the latest version.
Release notes
Sourced from edk2-pytool-extensions's releases.
v0.23.0
What's Changed
- repo_resolver: add git version Check by
@Javagedes
in tianocore/edk2-pytool-extensions#486 - Remove z flag for git worktree list porcelain by
@Javagedes
in tianocore/edk2-pytool-extensions#497 - repo_resolver.py:
repo_details()
to use first remote if origin does not exist by@Javagedes
in tianocore/edk2-pytool-extensions#490
Other Changes
- Update Ubuntu and git documentation by
@Javagedes
in tianocore/edk2-pytool-extensions#460 - Add edk2_setup tests by
@Javagedes
in tianocore/edk2-pytool-extensions#467
Breaking Changes
repo_resolver.repo_details()
will no longer support worktree paths that contain a newline character due to the removal of the-z
flag. This is to reduce the necessary git version for stuart tools to work.Full Changelog: tianocore/edk2-pytool-extensions@v0.22.2...v0.23.0
Commits
87f0c44
repo_resolver.py:repo_details()
to use first remote if origin does not exi...cb6bcb5
Bump mkdocs-awesome-pages-plugin from 2.8.0 to 2.9.0 in /docs/user (#496)45a1bfb
Remove z flag for git worktree list porcelain (#497)d2a8bbe
Bump pytest from 7.2.2 to 7.3.0 (#494)a22102b
Bump mkdocs-material from 9.1.5 to 9.1.6 in /docs/user (#495)ec51636
Bump mkdocstrings-python from 0.8.3 to 0.9.0 in /docs/user (#487)4773b82
Bump mkdocstrings[python] from 0.20.0 to 0.21.2 in /docs/user (#493)0eaca88
Bump coverage from 7.2.2 to 7.2.3 (#492)c76e21e
repo_resolver: add git version Check (#486)7d9add4
Bump mkdocs-material from 9.1.4 to 9.1.5 in /docs/user (#485)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- repo_resolver: add git version Check by
🐛 Bug Fixes
-
Plugin/CodeQL: Linux fixes @makubacki (#364)
Change Details
## Description
Fixes #363
- Removes assignment to
suffix
(which does not have a setter) - Adds owner execution permission to files in the CodeQL CLI ext dep
- 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
Test in TianoCore Fedora 37 Dev container
3b3eb8f
.Integration Instructions
Use this change if using the CodeQL plugin on Linux hosts.
Signed-off-by: Michael Kubacki [email protected]
- Removes assignment to
Full Changelog: v2022080001.2.0...v2022080001.2.1
v2022080001.2.0
What's Changed
🚀 Features & ✨ Enhancements
-
Infinite boot retries @apop5 (#347)
Change Details
## Description
This is a draft of infinite boot retries based on a newly created PCD. When true, the system will never stop retrying the boot options.
PCD default is FALSE to match existing functionality.
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?
Full Changelog: v2022080001.1.0...v2022080001.2.0
v2022080001.1.0
What's Changed
-
Fix MdeModulePkg host test @kuqin12 (#357)
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 fixed a host unit test break introduced in #354.
It should be removed when resolving this issue #356.
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
This was tested on the pipeline.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Remove UefiBootServicesTableLib from inclusion file @kuqin12 (#354)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
The inclusion file change will potentially change the library linkage of
UefiBootServicesTableLib
, which could be an incompatible instance compared to the existing consumers.This change temporarily removes this inclusion until all unit tests from the consumers migrated their unit tests to the common implementation.
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
This was tested on consumer packages that uses
UefiBootServicesTableLib
.Integration Instructions
For packages uses
UefiBootServicesTableLib|UnitTestFrameworkPkg/Library/UnitTestUefiBootServicesTableLib/UnitTestUefiBootServicesTableLib.inf
for unit tests, one needs to update the host test dsc to include the entry. Otherwise, no changes needed.
- Impacts functionality?
🚀 Features & ✨ Enhancements
-
[CHERRY-PICK] Google Mock Support [Rebase \& FF] @makubacki (#350)
Change Details
## Description
Extend the GooggleTestLib in the UnitTestFrameworkPkg to support
gmock. gmock is for C++ code, so some extensions are required
to make it work for C code. These extensions include SubhookLib
and FunctionMockLib.https://bugzilla.tianocore.org/show_bug.cgi?id=4389
- 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
CI including execution of Google Test examples.
Integration Instructions
Use Google Mock support if applicable. See UnitTestFrameworkPkg ReadMe.md for
more details.Signed-off-by: Michael Kubacki [email protected]
- Impacts functionality?
Full Changelog: v2022080001.0.0...v2022080001.1.0
v2022080001.0.0
About This Release
This is the first Mu Basecore release 🎉
Moving forward this repository will be following semantic versioning and regularly making
releases. You will always be able to find the latest release on the repo landing page under
the "Releases" section on the right side.
It is recommended to consume code from the code in this repo (outside of development purposes)
through a versioned release.
The release notes will categorize changes to make it easy to see what's changed since the
last release and the source code will be tagged with the release version.
A semantic versioning process (version is <major.minor.patch>
) is followed with the following rules:
-
Major Version
-
A major version change indicates a breaking change. This means that the release is not backward
compatible with the previous release. This is typically a change to the API or ABI of a component. -
The major version in Mu Basecore is broken down into the following components:
<Mu Release Version><Major Version>
Mu Release Version
is 6 digits and corresponds to the edk2 stable tag the Mu release branch is based on.Major Version
is 4 digits and tracks the monotonically incrementing major version within the branch.- For example,
2022080001
would be the first major version value in therelease/202208
branch.
-
-
Minor Version
- A minor version change indicates a new feature or enhancement. This means that the release is backward
compatible with the previous release but includes new functionality or a major rework of existing functionality.
- A minor version change indicates a new feature or enhancement. This means that the release is backward
-
Patch Version
- A patch version change indicates a bug fix or any other change. This means that the release is backward compatible
with the previous release and contains no new functionality.
- A patch version change indicates a bug fix or any other change. This means that the release is backward compatible
Note that the release notes for this first release are not categorized due to the large number of changes included.
What's Changed
- [Cherry-pick] Add ExceptionPersistenceLib by @kenlautner in #120
- [Cherry-pick] Cherry-picked all the commits that went in after the rebase to 202208 started. by @kenlautner in #121
- Updated the BaseCryptoDriver binaries to the newly built ones by @kenlautner in #122
- [Cherry-pick] Include recent changes from release/202202 by @kenlautner in #124
- Updated pipelines to only run CI and PR gates on release/202208 and r… by @kenlautner in #131
- Use Mu DevOps by @makubacki in #139
- Fixing bug in GuidCheck plugin + cleanup by @bkarstens in #147
- Fixing local build for PolicyDxe by @kuqin12 in #150
- Update Stack Cookie Conditionals for VS2022 by @TaylorBeebe in #156
- Add Stack Cookie Failure to ExceptionPersistenceLib by @TaylorBeebe in #157
- Update __security_check_cookie_Failure to Emit 0x40 Interrupt by @TaylorBeebe in #159
- Add Stack Cookie Support to the Memory Protection Policy by @TaylorBeebe in #158
- Include Stack Cookie Support Libs on Release Builds by @TaylorBeebe in #161
- [REBASE && FF] Cherry-pick Memory Protection Init Updates by @TaylorBeebe in #155
- [REBASE && FF] Improve Security of MP Buffers and MMIO Ranges by @TaylorBeebe in #164
- Fix buffer overflow when merging guard pages in MergeMemoryMap by @cfernald in #126
- Update Stack Cookie Vector to Fixed PCD by @TaylorBeebe in #165
- Add CodeQL support by @makubacki in #163
- .github/dependabot.yml: Enable dependabot by @makubacki in #169
- .github/dependabot.yml: Remove submodules by @makubacki in #178
- CodeQlBuildPlugin: More selectively clean build output trees by @makubacki in #180
- UefiBootManagerLib: Update assert condition in BmFindBootOptionInVariable() by @makubacki in #182
- pip: bump antlr4-python3-runtime from 4.7.1 to 4.11.1 by @dependabot in #174
- Enable stale bot GitHub Action by @makubacki in #186
- Enable Label Sync GitHub Action by @makubacki in #187
- Add support for HTTP error 429 by @mikeytdisco in #190
- pull_request_template.md: Remove since file is in .github now by @makubacki in #189
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #191
- Create memory bin override library to allow for more extensive platform customization by @cfernald in #194
- [Rebase & FF] Introducing MP services test application by @kuqin12 in #196
- Set EFI_MEMORY_XP as a required capability for PciHostBridge by @os-d in #198
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #197
- Add logic for container build to Matrix-Build-Job.yml by @cfernald in #199
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #201
- Fix missing logs from GenMake.py by @antklein in #195
- Update FillInMemoryMap() to Ignore Regions of GCD Memory Type Non-Existent by @TaylorBeebe in #200
- Add debug messages for DHCP state changes, Tftp progress, and PxeBc progress. by @mikeytdisco in #188
- .sync/workflows: Add file sync notice to some files (#67) by @uefibot in #202
- Update CryptoPkg binary generation to always include EC by @kenlautner in #203
- Plugin/CodeQL: Fix query specifier assignment by @makubacki in #204
- Plugin/CodeQL: Skip CodeQlBuildPlugin if --skipbuild is given by @makubacki in #205
- Plugin/CodeQL: Add an integration file by @makubacki in #206
- CodeQL plugin filter support [Rebase & FF] by @makubacki in #207
- pip: update edk2-pytool-extensions requirement from ~=0.20.0 to ~=0.20.1 by @dependabot in #210
- Increase Temp Buffer Size in FillMemoryMap() Routine by @TaylorBeebe in #213
- [bug] Absolute path support for DscCompleteCheck by @bkarstens in #212
- Improve log messages for DependencyCheck, UncrustifyCheck, and SpellCheck (#115) by @makubacki in #215
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #214
- HostUnitTestCompilerPlugin: enable single module build test execution by @Javagedes in #219
- Add a PCD to allow the AP wakeup buffer to be reserved by @cfernald in #209
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #221
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #222
- Add Readme Section on Memory Protection Special Regions by @TaylorBeebe in #208
- Update the FillMemoryMap() Routine to Calculate the Required Buffer Size Before Allocation by @TaylorBeebe in #218
- Set MMIO NX Based on Memory Protection Policy by @TaylorBeebe in #211
- Add CpuMpDebugProtocol for Debug Reporting AP Stack Buffers by @TaylorBeebe in #216
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #223
- pip: update edk2-pytool-extensions requirement from ~=0.20.1 to ~=0.21.0 by @dependabot in #220
- Restore BSP Exception Stack Initialization by @TaylorBeebe in #225
- Convert files from LF to CRLF and update LineEndingCheck CI plugin [Rebase & FF] by @makubacki in #226
- Add ability to request maintainer feedback in issues (#90) by @uefibot in #228
- Add scheduled maintenance workflow (#92) by @uefibot in #232
- Updated readme to include changes of note that happened with the 202208 transition. by @kenlautner in #227
- pip: update edk2-pytool-extensions requirement from ~=0.21.0 to ~=0.21.2...
2019-03 Stable release candidate 1
1903_RC1 Finalize release notes for 1903_RC1.