go/doc/next/9-todo.md

11 KiB

TODO

Please turn these into proper release notes

cmd/link/internal/ld: introduce -funcalign=N option
This patch adds linker option -funcalign=N that allows to set alignment for function entries.
For #72130.

cmd/fix: automate migrations for simple deprecations

cmd/go: allow serving module under the subdirectory of git repository
cmd/go: add subdirectory support to go-import meta tag
This CL adds ability to specify a subdirectory in the go-import meta tag. A go-import meta tag now will support: <meta name="go-import" content="root-path vcs repo-url subdir">
Fixes: #34055

cmd/go: add global ignore mechanism for Go tooling ecosystem

cmd/cover: extend coverage testing to include applications

all: add GOARM64=v8.1 and so on
runtime: check LSE support on ARM64 at runtime init
Check presence of LSE support on ARM64 chip if we targeted it at compile time.
Related to #69124
Updates #60905
Fixes #71411

all: add GORISCV64 environment variable
cmd/go: add rva23u64 as a valid value for GORISCV64
The RVA23 profile was ratified on the 21st of October 2024. https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/ Now that it's ratified we can add rva23u64 as a valid value for the GORISCV64 environment variable. This will allow the compiler and assembler to generate instructions made mandatory by the new profile without a runtime check. Examples of such instructions include those introduced by the Vector and Zicond extensions. Setting GORISCV64=rva23u64 defines the riscv64.rva20u64, riscv64.rva22u64 and riscv64.rva23u64 build tags, sets the internal variable buildcfg.GORISCV64 to 23 and defines the macros GORISCV64_rva23u64, hasV, hasZba, hasZbb, hasZbs, hasZfa, and hasZicond for use in assembly language code.
Updates #61476

math/rand/v2: revised API for math/rand
rand: deprecate in favor of math/rand/v2
For golang/go#61716
Fixes golang/go#71373

cmd/go: enable GOCACHEPROG by default
cmd/go/internal/cacheprog: drop Request.ObjectID
ObjectID was a misnaming of OutputID from cacheprog's initial implementation. It was maintained for compatibility with existing cacheprog users in 1.24 but can be removed in 1.25.

cmd/go: doc -http should start a pkgsite instance and open a browser

cmd/go: -json flag for go version -m
cmd/go: support -json flag in go version
It supports features described in the issue:

  • add -json flag for 'go version -m' to print json encoding of runtime/debug.BuildSetting to standard output.
  • report an error when specifying -json flag without -m.
  • print build settings on seperated line for each binary
    Fixes #69712

crypto: mechanism to enable FIPS mode

spec: remove notion of core types

cmd/go: add fips140 module selection mechanism
lib/fips140: set inprocess.txt to v1.0.0

testing: panic in AllocsPerRun during parallel test
testing: panic in AllocsPerRun if parallel tests are running
If other tests are running, AllocsPerRun's result will be inherently flaky. Saw this with CL 630136 and #70327.
Proposed in #70464.
Fixes #70464.

encoding/json/v2: add new JSON API behind a GOEXPERIMENT=jsonv2 guard

cmd/go, cmd/distpack: build and run tools that are not necessary for builds as needed and don't include in binary distribution