Open
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Prepares the wolfTPM v4.0.0 release by updating project/library version metadata, adding 4.0.0 release notes, and refreshing copyright headers across the codebase.
Changes:
- Bump wolfTPM version references to 4.0.0 (headers, Autotools, CMake, libtool versioning).
- Add v4.0.0 entry to
ChangeLog.md. - Update copyright notices from 2006–2025 to 2006–2026 across many files.
Reviewed changes
Copilot reviewed 170 out of 170 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| zephyr/user_settings.h | Update copyright year to 2006–2026. |
| wrapper/CSharp/wolfTPM.cs | Update copyright year to 2006–2026. |
| wrapper/CSharp/wolfTPM-tests.cs | Update copyright year to 2006–2026. |
| wolftpm/visibility.h | Update copyright year to 2006–2026. |
| wolftpm/version.h.in | Update copyright year to 2006–2026. |
| wolftpm/version.h | Update copyright year and bump version macros to 4.0.0. |
| wolftpm/tpm2_wrap.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_winapi.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_types.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_tis.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_swtpm.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_spdm.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_socket.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_param_enc.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_packet.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_linux.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_crypto.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2_asn.h | Update copyright year to 2006–2026. |
| wolftpm/tpm2.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm_types.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm_tcg.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm_psk.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm_nuvoton.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm_nations.h | Update copyright year to 2006–2026. |
| wolftpm/spdm/spdm.h | Update copyright year to 2006–2026. |
| wolftpm/options.h.in | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm_tis.h | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm_nv.h | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm_io.h | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm_crypto.h | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm_command.h | Update copyright year to 2006–2026. |
| wolftpm/fwtpm/fwtpm.h | Update copyright year to 2006–2026. |
| tests/unit_tests.c | Update copyright year to 2006–2026. |
| tests/fwtpm_unit_tests.c | Update copyright year to 2006–2026. |
| tests/fuzz/fwtpm_fuzz.c | Update copyright year to 2006–2026. |
| src/tpm2_wrap.c | Update copyright year to 2006–2026. |
| src/tpm2_winapi.c | Update copyright year to 2006–2026. |
| src/tpm2_util.c | Update copyright year to 2006–2026. |
| src/tpm2_tis.c | Update copyright year to 2006–2026. |
| src/tpm2_swtpm.c | Update copyright year to 2006–2026. |
| src/tpm2_spdm.c | Update copyright year to 2006–2026. |
| src/tpm2_param_enc.c | Update copyright year to 2006–2026. |
| src/tpm2_packet.c | Update copyright year to 2006–2026. |
| src/tpm2_linux.c | Update copyright year to 2006–2026. |
| src/tpm2_cryptocb.c | Update copyright year to 2006–2026. |
| src/tpm2_crypto.c | Update copyright year to 2006–2026. |
| src/tpm2_asn.c | Update copyright year to 2006–2026. |
| src/tpm2.c | Update copyright year to 2006–2026. |
| src/spdm/unit_test.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_transcript.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_tcg.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_session.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_secured.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_psk.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_nuvoton.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_nations.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_msg.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_kdf.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_internal.h | Update copyright year to 2006–2026. |
| src/spdm/spdm_crypto.c | Update copyright year to 2006–2026. |
| src/spdm/spdm_context.c | Update copyright year to 2006–2026. |
| src/spdm/README.md | Update copyright year in licensing text to 2006–2026. |
| src/fwtpm/fwtpm_tis_shm.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_tis.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_nv.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_main.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_io.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_crypto.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm_command.c | Update copyright year to 2006–2026. |
| src/fwtpm/fwtpm.c | Update copyright year to 2006–2026. |
| hal/tpm_io_zephyr.c | Update copyright year to 2006–2026. |
| hal/tpm_io_xilinx.c | Update copyright year to 2006–2026. |
| hal/tpm_io_uboot.c | Update copyright year to 2006–2026. |
| hal/tpm_io_st.c | Update copyright year to 2006–2026. |
| hal/tpm_io_qnx.c | Update copyright year to 2006–2026. |
| hal/tpm_io_mmio.c | Update copyright year to 2006–2026. |
| hal/tpm_io_microchip.c | Update copyright year to 2006–2026. |
| hal/tpm_io_linux.c | Update copyright year to 2006–2026. |
| hal/tpm_io_infineon.c | Update copyright year to 2006–2026. |
| hal/tpm_io_fwtpm.c | Update copyright year to 2006–2026. |
| hal/tpm_io_espressif.c | Update copyright year to 2006–2026. |
| hal/tpm_io_barebox.c | Update copyright year to 2006–2026. |
| hal/tpm_io_atmel.c | Update copyright year to 2006–2026. |
| hal/tpm_io.h | Update copyright year to 2006–2026. |
| hal/tpm_io.c | Update copyright year to 2006–2026. |
| examples/wrap/wrap_test.h | Update copyright year to 2006–2026. |
| examples/wrap/wrap_test.c | Update copyright year to 2006–2026. |
| examples/wrap/hmac.c | Update copyright year to 2006–2026. |
| examples/wrap/caps.c | Update copyright year to 2006–2026. |
| examples/tpm_test_keys.h | Update copyright year to 2006–2026. |
| examples/tpm_test_keys.c | Update copyright year to 2006–2026. |
| examples/tpm_test.h | Update copyright year to 2006–2026. |
| examples/tls/tls_server.h | Update copyright year to 2006–2026. |
| examples/tls/tls_server.c | Update copyright year to 2006–2026. |
| examples/tls/tls_common.h | Update copyright year to 2006–2026. |
| examples/tls/tls_client_notpm.c | Update copyright year to 2006–2026. |
| examples/tls/tls_client.h | Update copyright year to 2006–2026. |
| examples/tls/tls_client.c | Update copyright year to 2006–2026. |
| examples/timestamp/signed_timestamp.h | Update copyright year to 2006–2026. |
| examples/timestamp/signed_timestamp.c | Update copyright year to 2006–2026. |
| examples/timestamp/clock_set.h | Update copyright year to 2006–2026. |
| examples/timestamp/clock_set.c | Update copyright year to 2006–2026. |
| examples/spdm/spdm_test.sh | Update copyright year to 2006–2026. |
| examples/spdm/spdm_ctrl.c | Update copyright year to 2006–2026. |
| examples/seal/unseal.c | Update copyright year to 2006–2026. |
| examples/seal/seal_policy_auth.c | Update copyright year to 2006–2026. |
| examples/seal/seal_pcr.c | Update copyright year to 2006–2026. |
| examples/seal/seal.h | Update copyright year to 2006–2026. |
| examples/seal/seal.c | Update copyright year to 2006–2026. |
| examples/pkcs7/pkcs7.h | Update copyright year to 2006–2026. |
| examples/pkcs7/pkcs7.c | Update copyright year to 2006–2026. |
| examples/pcr/reset.c | Update copyright year to 2006–2026. |
| examples/pcr/read_pcr.c | Update copyright year to 2006–2026. |
| examples/pcr/quote.h | Update copyright year to 2006–2026. |
| examples/pcr/quote.c | Update copyright year to 2006–2026. |
| examples/pcr/policy_sign.c | Update copyright year to 2006–2026. |
| examples/pcr/policy.c | Update copyright year to 2006–2026. |
| examples/pcr/pcr.h | Update copyright year to 2006–2026. |
| examples/pcr/extend.c | Update copyright year to 2006–2026. |
| examples/nvram/store.c | Update copyright year to 2006–2026. |
| examples/nvram/seal_nv.c | Update copyright year to 2006–2026. |
| examples/nvram/read.c | Update copyright year to 2006–2026. |
| examples/nvram/policy_nv.c | Update copyright year to 2006–2026. |
| examples/nvram/nvram.h | Update copyright year to 2006–2026. |
| examples/nvram/extend.c | Update copyright year to 2006–2026. |
| examples/nvram/counter.c | Update copyright year to 2006–2026. |
| examples/native/native_test.h | Update copyright year to 2006–2026. |
| examples/native/native_test.c | Update copyright year to 2006–2026. |
| examples/management/tpmclear.c | Update copyright year to 2006–2026. |
| examples/management/management.h | Update copyright year to 2006–2026. |
| examples/management/flush.c | Update copyright year to 2006–2026. |
| examples/keygen/keyload.c | Update copyright year to 2006–2026. |
| examples/keygen/keyimport.c | Update copyright year to 2006–2026. |
| examples/keygen/keygen.h | Update copyright year to 2006–2026. |
| examples/keygen/keygen.c | Update copyright year to 2006–2026. |
| examples/keygen/external_import.c | Update copyright year to 2006–2026. |
| examples/keygen/create_primary.c | Update copyright year to 2006–2026. |
| examples/gpio/gpio_set.c | Update copyright year to 2006–2026. |
| examples/gpio/gpio_read.c | Update copyright year to 2006–2026. |
| examples/gpio/gpio_config.c | Update copyright year to 2006–2026. |
| examples/gpio/gpio.h | Update copyright year to 2006–2026. |
| examples/firmware/st33_fw_update.c | Update copyright year to 2006–2026. |
| examples/firmware/ifx_fw_update.h | Update copyright year to 2006–2026. |
| examples/firmware/ifx_fw_update.c | Update copyright year to 2006–2026. |
| examples/firmware/ifx_fw_extract.c | Update copyright year to 2006–2026. |
| examples/endorsement/verify_ek_cert.c | Update copyright year to 2006–2026. |
| examples/endorsement/get_ek_certs.c | Update copyright year to 2006–2026. |
| examples/endorsement/endorsement.h | Update copyright year to 2006–2026. |
| examples/csr/csr.h | Update copyright year to 2006–2026. |
| examples/csr/csr.c | Update copyright year to 2006–2026. |
| examples/boot/secure_rot.c | Update copyright year to 2006–2026. |
| examples/boot/secret_unseal.c | Update copyright year to 2006–2026. |
| examples/boot/secret_seal.c | Update copyright year to 2006–2026. |
| examples/boot/boot.h | Update copyright year to 2006–2026. |
| examples/bench/bench.h | Update copyright year to 2006–2026. |
| examples/bench/bench.c | Update copyright year to 2006–2026. |
| examples/attestation/make_credential.c | Update copyright year to 2006–2026. |
| examples/attestation/certify.c | Update copyright year to 2006–2026. |
| examples/attestation/attestation.h | Update copyright year to 2006–2026. |
| examples/attestation/activate_credential.c | Update copyright year to 2006–2026. |
| configure.ac | Bump package version to 4.0.0 and libtool versioning; update generated options header copyright. |
| README.md | Replace em dashes with hyphen-minus in two bullet lines. |
| IDE/VisualStudio/user_settings.h | Update copyright year to 2006–2026. |
| IDE/Espressif/main/main.c | Update copyright year to 2006–2026. |
| IDE/Espressif/main/include/main.h | Update copyright year to 2006–2026. |
| IDE/Espressif/components/wolftpm/CMakeLists.txt | Update copyright year to 2006–2026. |
| IDE/Espressif/components/wolfssl/include/user_settings.h | Update copyright year to 2006–2026. |
| IDE/Espressif/components/wolfssl/CMakeLists.txt | Update copyright year to 2006–2026. |
| ChangeLog.md | Add v4.0.0 release notes section (dated) above v3.10.0. |
| CMakeLists.txt | Bump project version to 4.0.0 and update generated options header copyright. |
Comments suppressed due to low confidence (1)
wolftpm/version.h:1
wolftpm/version.h.inwas not updated in this PR (only the copyright line changed), butwolftpm/version.hnow reports 4.0.0. Ifversion.his generated fromversion.h.induring configure/build, the generated header may revert to the old version. Update the version macros inwolftpm/version.h.in(or ensure generation uses a single source of truth) so build-time and source-controlled version headers stay consistent.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1e19f91 to
878bfd2
Compare
878bfd2 to
f3fd746
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prep branch for the v4.0.0 release. Bumps the version everywhere,
updates
ChangeLog.mdwith the themed release notes, adds release-gateCI coverage, and fixes a small set of issues uncovered while running the
full release build matrix against the new fwTPM and SPDM subsystems.
Libtool soname:
WOLFTPM_LIBRARY_VERSION=17:0:0(interfaces removed orchanged since v3.10.0).
Version bumps
configure.acAC_INIT3.10.0 -> 4.0.0WOLFTPM_LIBRARY_VERSION16:x:x -> 17:0:0CMakeLists.txtproject(wolfTPM VERSION 4.0.0 ...)wolftpm/version.hLIBWOLFTPM_VERSION_STRING "4.0.0",LIBWOLFTPM_VERSION_HEX 0x04000000ChangeLog.md
New v4.0.0 entry (Apr 22, 2026) highlighting the three v4 major
features: fwTPM, SPDM secured transport for Nuvoton/Nations, and
ST33KTPM2X firmware update (Gen 1 non-LMS + Gen 2 LMS, auto-detect).
Themed Detail sections cover platform/HAL, crypto callbacks, security
hardening, Coverity, CI, marshaling, bug fixes, and deprecations.
ASCII-only.
Build/portability fixes found by the release build matrix
configure.ac: auto-disable fwTPM when--disable-wolfcryptispassed (fwTPM requires wolfCrypt, so the default-on fwTPM previously
made plain
./configure --disable-wolfcryptfail).configure.ac: replaceAC_CHECK_LIB([wolfssl],[wolfCrypt_Init])with
AC_LINK_IFELSEthat includes wolfSSL headers so the linkprobe works under both C and C++ (
CC=g++).AC_CHECK_LIBsynthesizes a bare declaration that C++ name-mangles and fails to
link against libwolfssl's C symbols.
wolftpm/fwtpm/fwtpm.h: movestruct FWTPM_NV_HAL_Sandstruct FWTPM_CLOCK_HAL_Sout ofFWTPM_CTXto file scope. Cmerges nested struct tags into the outer scope; C++ treats them as
nested types, which broke external uses of the
FWTPM_NV_HALtypedef under C++.
src/fwtpm/fwtpm_command.c,src/fwtpm/fwtpm_crypto.c: explicitcasts for enum/non-enum ternaries and
int->enum wc_HashTypeconversions flagged by g++
-Werror=extra/-fpermissive.scan-build cleanups (8 dead stores -> 0)
examples/endorsement/get_ek_certs.c- removed deadindexTypefallback init
examples/endorsement/verify_ek_cert.c- restructuredcurveNameinit with
#if/#elseexamples/native/native_test.c- removed deadrc = TPM_RC_SUCCESSresets (rc reassigned downstream)src/fwtpm/fwtpm_command.c- removed deadhashAlginitializersrc/tpm2_wrap.c- movedrc = TPM_RC_SUCCESSinto#elseofWOLFTPM_MICROCHIP/WOLFTPM_PERFORM_SELFTESTblocktests/fwtpm_unit_tests.c- usecmdSzinFWTPM_ProcessCommandcall (was hardcoded
14)CI additions
.github/workflows/release-checks.yml- release-gate workflowrun on every PR and push:
./configure CC=g++ && makein default and--enable-fwtpmconfigs.scan-build --status-bugs ./configurescan-build --status-bugs makein default and--enable-fwtpmconfigs. Uploads report artifacts on failure.
make-test-swtpm.yml:no-examples(--enable-swtpm --disable-examples --disable-fwtpm)st33ktpm2-i2c(--enable-st33 --enable-i2c --disable-fwtpm)README.md
Replaced two em-dashes (U+2014) with ASCII
-for strict ASCII.Verification performed locally
./configure && make && make check- PASS (2/2)./configure CC=g++ && make- PASS./configure --disable-wolfcrypt && make- PASS (fwTPM auto-disabled)./configure --enable-fwtpm && make && make check- PASS./configure --enable-fwtpm-only && make- PASS./configure --enable-swtpm --disable-examples --disable-fwtpm && make- PASS./configure --enable-st33 --enable-i2c --disable-fwtpm && make- PASSscan-build --status-bugs make- PASS (0 bugs)grep -P "[^\x00-\x7F]" ChangeLog.md- empty (ASCII)