220220 < li >
221221 < a href ="https://spike.ist/tracking/changelog/#recent "> Recent</ a >
222222 </ li >
223+ < li >
224+ < a href ="https://spike.ist/tracking/changelog/#0-4-3-2025-08-16-prerelease "> [0.4.3] - 2025-08-16 (prerelease)</ a >
225+ </ li >
226+ < li >
227+ < a href ="https://spike.ist/tracking/changelog/#changed "> Changed</ a >
228+ </ li >
223229 < li >
224230 < a href ="https://spike.ist/tracking/changelog/#0-4-2-2025-07-19 "> [0.4.2] - 2025-07-19</ a >
225231 </ li >
774780
775781 < h1 id ="spike-changelog "> SPIKE Changelog</ h1 >
776782< h2 id ="recent "> Recent</ h2 >
783+ < p > TBD</ p >
784+ < h2 id ="0-4-3-2025-08-16-prerelease "> [0.4.3] - 2025-08-16 (< em > prerelease</ em > )</ h2 >
785+ < p > This is a “< em > prerelease</ em > ” version to enable upstream SPIFFE Helm Charts
786+ integration initiatives. The most significant change is the introduction of a
787+ < a href ="https://github.com/spiffe/spike/blob/main/app/bootstrap/README.md " title ="SPIKE Bootstrap "> < strong > SPIKE Bootstrap</ strong > app</ a > that is responsible for initializing
788+ < strong > SPIKE Nexus</ strong > . This new approach separates the bootstrapping workflow that
789+ had been inside < strong > SPIKE Nexus</ strong > ’ initialization workflow before. And that
790+ enables us an opportunity to run < strong > SPIKE Nexus</ strong > in HA mode without designing
791+ elaborate, and potentially error-prone, consensus algorithms.</ p >
792+ < h3 id ="added "> Added</ h3 >
793+ < ul >
794+ < li > < strong > FIPS 140.3 Compliance</ strong > : FIPS is now enabled at < strong > build time</ strong > , and it’s
795+ enforced everywhere. We are using < code > GOFIPS140=v1.0.0</ code > , the modern way of
796+ enabling FIPS, retiring our older < code > boringcrypto</ code > implementation.</ li >
797+ < li > < code > spike policy list</ code > command can now filter by SPIFFE ID pattern and path
798+ pattern.</ li >
799+ < li > < code > spike policy</ code > command cano now accept a YAML file as input, instead of
800+ requiring command-line parameters.</ li >
801+ < li > SPIKE Go SDK now has a generator that creates pattern-based, secure,
802+ randomized secrets.</ li >
803+ < li > Implemented a (currently experimental) “SPIKE Lite” mode where SPIKE Nexus
804+ would not need a backing store, or policies, and can leverage the storage
805+ and policy mechanism of S3-compatible object stores (such as Minio). Once
806+ we fully implement and polish SPIKE Lite, we will also update documentation
807+ and use cases to allow users to understand the benefits and liabilities of
808+ SPIKE Lite and why they might want to use one over the other.</ li >
809+ </ ul >
810+ < h2 id ="changed "> Changed</ h2 >
811+ < ul >
812+ < li > Better alignment with idiomatic Go practices. SPIKE and SPIKE Go SDK code
813+ has been refactored to better align with common Go idioms and conventions.
814+ We also created a < code > make audit</ code > target to run style checks and linters that
815+ enforce a consistent code style and some of these guidelines. < code > make audit</ code >
816+ is also a part of the CI pipeline to ensure that the code is always compliant
817+ at every commit. In addition < code > make audit</ code > also does vulnerability checks.</ li >
818+ < li > < strong > BREAKING</ strong > : SPIKE Nexus now requires a separate initializer (SPIKE Bootstrap)
819+ to begin its lifecycle. The user guides and relevant documentation have been
820+ updated to reflect this change.</ li >
821+ < li > Updated Go to the latest version (< code > 1.24.6</ code > ).</ li >
822+ </ ul >
823+ < h3 id ="fixed "> Fixed</ h3 >
777824< ul >
778- < li > SPIKE Nexus, SPIKE Pilot, and SPIKE Keeper can now be built as Windows
779- binaries too.</ li >
780- < li > SPIKE and SPIKE Go SDK code has been refactored to better align with common
781- Go idioms and conventions.</ li >
782- < li > Added stricter linting.</ li >
783- < li > Added vulnerability checks to SPIKE and SPIKE Go SDK.</ li >
784- < li > enabled < code > GOFIPS140=v1.0.0</ code > , the modern way of enabling FIPS. We
785- are not using < code > boringcrypto</ code > anymore.</ li >
786- < li > Separated bootstrap logic into its own app to enable a more deterministic
787- initialization flow. This change will also unlock the ability to run SPIKE
788- Nexus in HA mode.</ li >
789- < li > < strong > BREAKING</ strong > : SPIKE now requires a separate initializer to begin its lifecycle.</ li >
790- < li > FIPS 140.3 is enabled and enforced everywhere.</ li >
825+ < li > Fixed a bug related to Windows builds. SPIKE Nexus, SPIKE Pilot, and SPIKE
826+ Keeper can now be built as Windows binaries too.</ li >
827+ < li > Various refactorings, improvements, code cleanup, and bug fixes.</ li >
791828</ ul >
792829< h2 id ="0-4-2-2025-07-19 "> [0.4.2] - 2025-07-19</ h2 >
793- < h3 id ="added "> Added</ h3 >
830+ < h3 id ="added-1 "> Added</ h3 >
794831< ul >
795832< li > Ability to configure to not how SPIKE banner on startup.</ li >
796833< li > Ability to configure to show a warning if memory locking is not
797834available on the system.</ li >
798835< li > SPIKE can now be deployed from SPIFFE helm charts. Tested and verified!</ li >
799836< li > Documentation updates.</ li >
800- < li > SPIKE can be now be installed from < a href ="https://github.com/spiffe/helm-charts-hardened "> SPIFFE Helm
837+ < li > SPIKE can now be installed from < a href ="https://github.com/spiffe/helm-charts-hardened "> SPIFFE Helm
801838Charts</ a > and can
802839< a href ="https://vimeo.com/v0lkan/spike-federation "> federate secrets across clusters</ a > </ li >
803840</ ul >
804- < h3 id ="changed "> Changed</ h3 >
841+ < h3 id ="changed-1 "> Changed</ h3 >
805842< ul >
806843< li > Moved logging to SPIKE SDK. VSecM v2 will share the same logging setup.</ li >
807844< li > < code > spike policy</ code > command now accepts file input; you can design your policies
@@ -814,7 +851,7 @@ <h3 id="security">Security</h3>
814851Data</ a > </ li >
815852</ ul >
816853< h2 id ="0-4-1-2025-06-01-prerelease "> [0.4.1] - 2025-06-01 (< em > prerelease</ em > )</ h2 >
817- < h3 id ="added-1 "> Added</ h3 >
854+ < h3 id ="added-2 "> Added</ h3 >
818855< ul >
819856< li > Initial support for Kubernetes deployments.</ li >
820857< li > Better shard sanitization during recovery procedures.</ li >
@@ -823,7 +860,7 @@ <h3 id="added-1">Added</h3>
823860< li > Added the ability to optionally skip database schema creation during SPIKE
824861initialization.</ li >
825862</ ul >
826- < h3 id ="changed-1 "> Changed</ h3 >
863+ < h3 id ="changed-2 "> Changed</ h3 >
827864< ul >
828865< li > < strong > BREAKING</ strong > : SDK validation methods now take trust root as an argument.</ li >
829866< li > < strong > BREAKING</ strong > : < code > SPIKE_NEXUS_KEEPER_URL</ code > is now a comma-delimited list of URLs
@@ -834,21 +871,21 @@ <h3 id="changed-1">Changed</h3>
834871< li > SPIKE now uses GitHub Container Registry to store its container image
835872(instead of Docker Hub).</ li >
836873</ ul >
837- < h3 id ="fixed "> Fixed</ h3 >
874+ < h3 id ="fixed-1 "> Fixed</ h3 >
838875< ul >
839876< li > Fixed a bug where the doomsday recovery procedure was not immediately
840877restoring the data.</ li >
841878</ ul >
842879< h2 id ="0-4-0-2025-04-16 "> [0.4.0] - 2025-04-16</ h2 >
843- < h3 id ="added-2 "> Added</ h3 >
880+ < h3 id ="added-3 "> Added</ h3 >
844881< ul >
845882< li > Added more configuration options to SPIKE Nexus.</ li >
846883< li > Updated documentation around security and production hardening.</ li >
847884< li > Updated release instructions, added a series of tests to follow and cutting
848885a release only after all tests pass. These tests are manual for now but
849886can be automated later down the line.</ li >
850887</ ul >
851- < h3 id ="fixed-1 "> Fixed</ h3 >
888+ < h3 id ="fixed-2 "> Fixed</ h3 >
852889< ul >
853890< li > Fixed a bug related to policies not recovering after a SPIKE Nexus crash.
854891Now, both secrets and policies recover without an issue.</ li >
@@ -860,7 +897,7 @@ <h3 id="fixed-1">Fixed</h3>
860897up when no longer needed (but not before).</ li >
861898< li > Various bug fixes and improvements.</ li >
862899</ ul >
863- < h3 id ="changed-2 "> Changed</ h3 >
900+ < h3 id ="changed-3 "> Changed</ h3 >
864901< ul >
865902< li > Moved some common reusable code to < code > spike-sdk-go</ code > .</ li >
866903< li > Various changes and improvements in SPIKE Go SDK.</ li >
@@ -881,7 +918,7 @@ <h3 id="security-1">Security</h3>
881918< li > < a href ="https://github.com/spiffe/spike/security/dependabot/4 "> Fixed < code > CVE-2025-22870</ code > : HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net</ a > </ li >
882919</ ul >
883920< h2 id ="0-3-1-2025-03-04 "> [0.3.1] - 2025-03-04</ h2 >
884- < h3 id ="added-3 "> Added</ h3 >
921+ < h3 id ="added-4 "> Added</ h3 >
885922< ul >
886923< li > SPIKE Nexus now accepts a dynamic number of SPIKE Keepers and Shamir share
887924threshold (defaults to 3 keepers, and minimum 2 shares (out of 3) to
@@ -891,7 +928,7 @@ <h3 id="added-3">Added</h3>
891928< li > Various documentation updates.</ li >
892929< li > Minor bug fixes in initialization scripts.</ li >
893930</ ul >
894- < h3 id ="changed-3 "> Changed</ h3 >
931+ < h3 id ="changed-4 "> Changed</ h3 >
895932< ul >
896933< li > Secrets now rehydrate from the backing store immediately after SPIKE
897934Nexus crashes. Former implementation was using an optimistic algorithm
@@ -911,7 +948,7 @@ <h3 id="security-2">Security</h3>
911948< h2 id ="0-3-0-2025-02-20 "> [0.3.0] - 2025-02-20</ h2 >
912949< p > This release was focused around bugfixes, stability, documentation, and
913950disaster recovery.</ p >
914- < h3 id ="added-4 "> Added</ h3 >
951+ < h3 id ="added-5 "> Added</ h3 >
915952< ul >
916953< li > Documentation: SPIKE Production Hardening Guide is complete and ready for
917954consumption (< em > it was in draft mode before</ em > ).</ li >
@@ -926,7 +963,7 @@ <h3 id="added-4">Added</h3>
926963and design decisions transparently.</ li >
927964< li > Started working on containerization (< em > though it’s still a work in progress</ em > ).</ li >
928965</ ul >
929- < h3 id ="changed-4 "> Changed</ h3 >
966+ < h3 id ="changed-5 "> Changed</ h3 >
930967< ul >
931968< li > SPIKE Website has undergone a major overhaul.</ li >
932969< li > Documentation updates, especially around security and disaster recovery.</ li >
@@ -937,7 +974,7 @@ <h3 id="changed-4">Changed</h3>
937974< li > Significant updates in < a href ="https://github.com/spiffe/spike-sdk-go "> SPIKE go SDK</ a > .</ li >
938975</ ul >
939976< h2 id ="0-2-1-2025-01-23 "> [0.2.1] - 2025-01-23</ h2 >
940- < h3 id ="added-5 "> Added</ h3 >
977+ < h3 id ="added-6 "> Added</ h3 >
941978< ul >
942979< li > Enabled policy-based access control.</ li >
943980< li > The root key that SPIKE Nexus generates is now split into several Shamir
@@ -955,7 +992,7 @@ <h3 id="added-5">Added</h3>
955992< li > Implemented a Secret Metadata API.</ li >
956993< li > Implemented exponential retries across several API-consuming methods.</ li >
957994</ ul >
958- < h3 id ="changed-5 "> Changed</ h3 >
995+ < h3 id ="changed-6 "> Changed</ h3 >
959996< ul >
960997< li > < strong > BREAKING</ strong > : changed the CLI usage. Instead of < code > spike get</ code > , for example, we
961998now use < code > spike secret get</ code > . The reason for this change is that we introduced
@@ -969,7 +1006,7 @@ <h3 id="security-3">Security</h3>
9691006< code > golang.org/x/net/htm</ code > </ a > </ li >
9701007</ ul >
9711008< h2 id ="0-2-0-2024-11-22 "> [0.2.0] - 2024-11-22</ h2 >
972- < h3 id ="added-6 "> Added</ h3 >
1009+ < h3 id ="added-7 "> Added</ h3 >
9731010< ul >
9741011< li > Added configuration options for SPIKE Nexus and SPIKE Keeper.</ li >
9751012< li > Documentation updates.</ li >
@@ -981,15 +1018,15 @@ <h3 id="added-6">Added</h3>
9811018< li > Created initial smoke/integration tests.</ li >
9821019< li > Stability improvements.</ li >
9831020</ ul >
984- < h3 id ="changed-6 "> Changed</ h3 >
1021+ < h3 id ="changed-7 "> Changed</ h3 >
9851022< ul >
9861023< li > Removed password authentication for admin users. Admin users’ SVIDs
9871024are good enough to authenticate them.</ li >
9881025< li > Implemented passwordless admin login flow
9891026(< em > the neat thing about passwords is: you don’t need them</ em > ).</ li >
9901027</ ul >
9911028< h2 id ="0-1-0-2024-11-06 "> [0.1.0] - 2024-11-06</ h2 >
992- < h3 id ="added-7 "> Added</ h3 >
1029+ < h3 id ="added-8 "> Added</ h3 >
9931030< ul >
9941031< li > Implemented < code > put</ code > , < code > read</ code > , < code > delete</ code > , < code > undelete</ code > , and < code > list</ code > functionalities.</ li >
9951032< li > Created initial documentation, README, and related files.</ li >
0 commit comments