by ankraft on 8/13/24, 5:37 PM with 97 comments
by hu3 on 8/13/24, 6:21 PM
Not even Mozilla does that with Firefox [1].
> Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry.
> Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the toolchain programs collect statistics in counter files that can be inspected locally but are otherwise unused (go telemetry local).
> To help us keep Go working well and understand Go usage, please consider opting in to Go telemetry by running go telemetry on. In that mode, anonymous counter reports are uploaded to telemetry.go.dev weekly, where they are aggregated into graphs and also made available for download by any Go contributors or users wanting to analyze the data. See “Go Telemetry” for more details about the Go Telemetry system.
[1] "Firefox collects telemetry data by default. We collect this data to help improve the performance and stability of Firefox. Telemetry data is made up of two data sets: interaction data and technical data." - https://support.mozilla.org/en-US/kb/telemetry-clientid
by nalgeon on 8/13/24, 7:36 PM
- Iterators (range / types / pull / slices / maps).
- Timer changes (garbage collection and reset/stop behavior).
- Canonical values with the `unique` package.
- HTTP cookie handling.
- Copying directories.
- Slices and atomics changes.
by epage on 8/13/24, 6:59 PM
> The go vet subcommand now includes the stdversion analyzer, which flags references to symbols that are too new for the version of Go in effect in the referring file. (The effective version is determined by the go directive in the file’s enclosing go.mod file, and by any //go:build constraints in the file.) > > For example, it will report a diagnostic for a reference to the reflect.TypeFor function (introduced in go1.22) from a file in a module whose go.mod file specifies go 1.21.
by fourseventy on 8/13/24, 6:57 PM
by minkles on 8/13/24, 7:11 PM
Great job Go. Hat tip and respect for this. Unlike .Net. I will enable this where it is appropriate.
by rkharsan64 on 8/13/24, 7:39 PM
> For backward compatibility, existing usages of //go:linkname found in a large open-source code corpus remain supported. Any new references to standard library internal symbols will be disallowed.
How does this work? Does the compiler have a whitelist of allowed uses?
by scotthew1 on 8/13/24, 6:00 PM
by divan on 8/13/24, 6:38 PM
by ronsor on 8/13/24, 6:55 PM
by euroderf on 8/14/24, 6:02 AM
by 38 on 8/13/24, 8:26 PM
by ffpip on 8/13/24, 7:14 PM
Has anyone had any luck with the YT videos or courses way?