Radar · Go · Archive · Week 46 · Nov 10 – 16, 2025
crypto/fips140: add Version
Worth knowingstdlib
- What changed
- The
crypto/fips140package now exposes aVersion()function that returns the FIPS 140‑3 Go Cryptographic Module version or"latest". - Production impact
- The source does not say.
- Try it
- Call
crypto/fips140.Version()in a program and print the result. - Source
- github.com/golang/go/issues/75301
Understand it, then run it
The crypto/fips140 package has a new function called Version. It tells you which version of the FIPS 140‑3 Go Cryptographic Module your program was built with. If the build used a frozen module that has a GOFIPS140 setting, Version returns that module’s version string, like "v1.0.0". If no frozen module was used, or the build is still in progress, it simply returns "latest".
Run it now
// This program demonstrates the new fips140.Version function.
// Since Go 1.27.1 does not yet include the change, the call will compile
// but return "latest" unless the build is done with GOFIPS140 set.
package main
import (
"fmt"
"crypto/fips140"
)
func main() {
// Retrieve the FIPS 140-3 module version.
ver := fips140.Version()
// Print the result; it will be "latest" in this environment.
fmt.Println("FIPS 140-3 module version:", ver)
}
What it printed when we ran it on Go 1.27.1
FIPS 140-3 module version: latest
Run sends this program (for Solidity, the contract and its tests) to our own sandbox, where it is compiled and run once, with no network, and what it printed or the test report comes back here. Nothing is kept. Runs are counted per visitor for the day so everyone gets a turn; the details are on the legal page.
Written by gpt-oss-20b from the linked source · claims checked against the sources · archive, not individually reviewed