Skip to content

patina-v4.0.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 16:13
· 903 commits to refs/heads/main since this release
72bc8b4

What's Changed

  • .github: Provide ability to skip cargo release dry run @makubacki (#529)
    Change Details
      ## Description

    By adding "(skip cargo release dry run)" in a PR description, cargo release dry run will not be run in the CI workflow in the PR gate. Also, the "Publish Release" workflow will not run the dry run if that text is in the release description (the PR description is rolled into the release notes automatically). This means adding "(skip cargo release dry run)" to the PR description will skip cargo release dry run in both workflows and make it auditable that was done per the descriptions.

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

    How This Was Tested

    Verified the cargo release dry run step is not in the CI and release workflows when the text is present.

    Integration Instructions

    N/A




  • chore: Release v3.1.0 @os-d (#509)
    Change Details
      ## Description

    Release v3.1.0

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

    How This Was Tested

    N/A.

    Integration Instructions

    N/A.

      </blockquote>
      <hr>
    </details>
    

⚠️ Breaking Changes

  • patina\_sdk: Make patina tests(`#[patina_test]`) an opt-in feature @vineelko (#527)
    Change Details
      ## Description
    • The Patina SDK test infrastructure relies on the linkme crate.
      • linkme: Safe cross-platform linker shenanigans
    • One requirement of the crate is that the distributed_slice we use to collocate all Patina tests must contain at least one element. This means any external utility (e.g., a platform validation tool) that depends on patina_sdk will encounter a linker crash (not just an error) if it does not provide at least one #[patina_test] test.
    • The current feature flag off is misleading, as opting out of this functionality requires opting in to a feature called off
    • Rename the current feature flag (off) to enable_patina_tests.
    • Invert the logic for processing the feature flag to make it opt-in as enabling this functionality by default can trip the consumers.

    Linker Crash when building platform validation tool:
    image

    (skip cargo release dry run)

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

    How This Was Tested

    Verified by integrating it with platform validation tool and cargo make all works

    Integration Instructions

    Any crate trying to use this functionality should opt-in to the feature "enable_patina_tests" feature as shown below
    patina_sdk = { ...., features = ["enable_patina_tests",...] }

      </blockquote>
      <hr>
    </details>
    

🚀 Features & ✨ Enhancements

  • patina\_sdk: Make patina tests(`#[patina_test]`) an opt-in feature @vineelko (#527)
    Change Details
      ## Description
    • The Patina SDK test infrastructure relies on the linkme crate.
      • linkme: Safe cross-platform linker shenanigans
    • One requirement of the crate is that the distributed_slice we use to collocate all Patina tests must contain at least one element. This means any external utility (e.g., a platform validation tool) that depends on patina_sdk will encounter a linker crash (not just an error) if it does not provide at least one #[patina_test] test.
    • The current feature flag off is misleading, as opting out of this functionality requires opting in to a feature called off
    • Rename the current feature flag (off) to enable_patina_tests.
    • Invert the logic for processing the feature flag to make it opt-in as enabling this functionality by default can trip the consumers.

    Linker Crash when building platform validation tool:
    image

    (skip cargo release dry run)

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

    How This Was Tested

    Verified by integrating it with platform validation tool and cargo make all works

    Integration Instructions

    Any crate trying to use this functionality should opt-in to the feature "enable_patina_tests" feature as shown below
    patina_sdk = { ...., features = ["enable_patina_tests",...] }

      </blockquote>
      <hr>
    </details>
    

📖 Documentation Updates

  • Performance Doc @magravel (#498)
    Change Details
      ## Description

    Add documentation for Performance Component.

    Fix #70

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Unstable Feature Issue Template @magravel (#486)
    Change Details
      ## Description

    This PR adds the unstable issue template introduced by the RFC: Unstable Feature.

    RFC PR: #406

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

    How This Was Tested

    Verify that the template was rendering properly in GitHub.

    Integration Instructions

    N/A




  • [REBASE \& FF] AdvLogger: Add Theory of Operation @cfernald (#507)
    Change Details
      ## Description

    Adds the initial theory of implementation for advanced logger as well as some minor interfaces improvements.

    Not marking breaking as none of the removed public APIs were intended and were unused.

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

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • [REBASE\&FF] Require all public objects be inline-documented @Javagedes (#506)
    Change Details
      ## Description

    This commit change requires all public objects be inline-documented and adds documentation where missing in this repository.

    I ask that any writers of any of the code I documented validate my documentation additions.

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

    How This Was Tested

    CI

    Integration Instructions

    N/A




Full Changelog: patina-v3.1.0...v4.0.0