Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package go1.27 for openSUSE:Factory checked in at 2026-08-21 16:49:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/go1.27 (Old) and /work/SRC/openSUSE:Factory/.go1.27.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.27" Fri Aug 21 16:49:52 2026 rev:3 rq:1372060 version:1.27.0 Changes: -------- --- /work/SRC/openSUSE:Factory/go1.27/go1.27.changes 2026-08-18 16:36:07.152147063 +0200 +++ /work/SRC/openSUSE:Factory/.go1.27.new.1258/go1.27.changes 2026-08-21 16:50:19.925576963 +0200 @@ -1,0 +2,372 @@ +Wed Aug 19 16:45:14 UTC 2026 - Jeff Kowalczyk <[email protected]> + +- go1.27.0 (released 2026-08-19) is a major release of Go. + go1.27.x minor releases will be provided through August 2027. + https://github.com/golang/go/wiki/Go-Release-Cycle + go1.27 arrives six months after Go 1.26. Most of its changes are + in the implementation of the toolchain, runtime, and + libraries. As always, the release maintains the Go 1 promise of + compatibility. We expect almost all Go programs to continue to + compile and run as before. + Refs boo#1272545 go1.27 release tracking + * Language change: Go 1.27 now supports generic methods: a method + declaration may declare its own type parameters. This widely + anticipated change allows adding generic functions within the + namespace of a particular data type where before one had to + declare such functions with a scope of the entire package. + * Language change: A key in a struct literal may now be any valid + field selector for the struct type, not just a (top-level) + field name of the struct. + * Language change: Function type inference has been generalized + to apply in all contexts where a generic function is assigned + to a variable of (or converted to) a matching function type. + * Tools: Response file (@file) parsing is now supported for the + compile, link, asm, cgo, cover, and pack tools. The response + file contains whitespace-separated arguments with support for + single-quoted and double-quoted strings, escape sequences, and + backslash-newline line continuation. The format is compatible + with GCC’s response file implementation to ensure + interoperability with existing build systems. + * go command: The go command no longer has support for the bzr + version control system. It will no longer be able to directly + fetch modules hosted on bzr servers. + * godebug: Starting with Go 1.27, the go command now recognizes a + GODEBUG setting for which support was removed (such as + asynctimerchan, see below) if it appears in go.mod files + (godebug entries) and .go source files (//go:debug + comments). It accepts these settings if they are set to the + final default value established before the setting was + removed. If they are set to an old value, the go command will + fail. This change is in the spirit of the Go 1 compatibility + guarantee and allows existing programs that set supported + GODEBUG settings to continue to build and run without changes + even when the respective setting support has been removed. + * go test: go test now invokes the stdversion vet check by + default. This reports the use of standard library symbols that + are too new for the Go version in force in the referring file, + as determined by go directive in go.mod and build tags on the + file. + * go test: go test -json now annotates "Action":"output" lines + with an optional new field "OutputType", specifying the type of + output. Currently, the possible values include “error”, + “error-continue”, and “frame”. See cmd/test2json help for + details. + * go doc: The go doc command now supports package@version syntax, + such as go doc example.com/[email protected]. + * go doc: The go doc command now accepts the -ex command-line + option to list executable examples of the given package or + symbol. When an example name is passed on the command line + (such as go doc bytes.ExampleBuffer), go doc now prints the + example source code along with comments. + * go fix: The go fix command contains several new modernizers + (atomictypes, embedlit, slicesbackward, and unsafefuncs). + * go fix: The existing fmtappendf analyzer was removed due to + stylistic concerns. + * go fix: The existing waitgroup analyzer was renamed to + waitgroupgo to avoid ambiguity. + * go mod tidy: For modules specifying go 1.27 or later in their + go.mod file, go mod tidy now automatically merges duplicate + require blocks. This ensures the file maintains a clean, + standard structure containing at most two require blocks: one + for direct dependencies and one for indirect dependencies. + * go mod fix: Existing comment blocks attached to dependencies + are preserved during this consolidation. If a comment block is + associated with a mixed set of directives (containing both + direct and indirect dependencies), the comment block is merged + and attached to the new direct dependency block. + * go mod fix: Previously, if a go.mod file accumulated multiple + disjoint require blocks (often due to manual edits, unresolved + Git merge conflicts, or legacy upgrades) go mod tidy would + leave the extra blocks intact or inadvertently create new + ones. The tool now strictly enforces the two-block layout, + consolidating disparate requirements into their respective + blocks and cleaning up the structure of the module file + automatically. + * go tool trace: go tool trace’s -http command-line option now + restricts the listen address to localhost when passed only a + port (e.g., -http=:6060). This change makes go tool trace + consistent with the behavior of go tool pprof’s -http flag. To + listen on all addresses, explicitly include the specified + address (e.g., -http=0.0.0.0:6060). + * runtime: Tracebacks for modules with go directives configuring + Go 1.27 or later will now include runtime/pprof goroutine + labels in the header line. This behavior can be disabled with + tracebacklabels=0 GODEBUG setting (added in Go 1.26). This + opt-out is expected to be kept indefinitely in case goroutine + labels acquire sensitive information that shouldn’t be made + available in tracebacks. + * runtime: The asynctimerchan GODEBUG setting (added in Go 1.23) + has been removed permanently. Channels created by package time + are now always unbuffered (synchronous), irrespective of + GODEBUG settings. + * runtime: Faster memory allocation. The compiler now generates + calls to size-specialized memory allocation routines, reducing + the cost of some small (<80 byte) memory allocations by up to + 30%. Improvements vary depending on the workload, but the + overall improvement is expected to be ~1% in real + allocation-heavy programs. This causes the binary size to + increase by about 60 KB (independent of the workload). Please + file an issue if you notice any regressions. You may set + GOEXPERIMENT=nosizespecializedmalloc at build time to disable + it. This opt-out setting is expected to be removed in Go 1.28. + * runtime: Goroutine leak profile. A new profile type that + reports leaked goroutines, previously available as an + experiment in Go 1.26, is now generally available. The new + profile type, named goroutineleak, is supported in the + runtime/pprof package. It is also available as the + net/http/pprof endpoint /debug/pprof/goroutineleak. A leaked + goroutine is a goroutine blocked on some concurrency primitive + (channels, sync.Mutex, sync.Cond, etc) that cannot possibly + become unblocked. The runtime detects leaked goroutines using + the garbage collector: if a goroutine G is blocked on + concurrency primitive P, and P is unreachable from any runnable + goroutine or any goroutine that those could unblock, then P + cannot be unblocked, so goroutine G can never wake up. While it + is impossible to detect permanently blocked goroutines in all + cases, this approach detects a large class of such + leaks. Because this technique builds on reachability, the + runtime may fail to identify leaks caused by blocking on + concurrency primitives reachable through global variables or + the local variables of runnable goroutines. Special thanks to + Vlad Saioc at Uber for contributing this work. The + goroutineleakprofile GOEXPERIMENT setting is now deleted. + * compiler: The compiler now resolves a relative filename in a + //line or /*line*/ directive against the directory of the file + containing the directive, matching the behavior of + go/scanner. Absolute filenames are unaffected. See #70478. + * compiler: The compiler now generates simpler names for function + literals (closures). Previously, when the containing function + is inlined, the function literal’s name can get quite long. Now + the compiler chooses the same name for the function literal + regardless of inlining. It may also combine multiple instances + of the same function literal (as its containing function is + inlined) to share the same code in the compiled binary. This + change does not affect the functionality of Go code. Tests that + check symbol names may need update, although it is recommended + to not depend on the names of function literals. For programs + that incorrectly compare function code pointer for equality, + the issue may be more exposed with Go 1.27, as function + literals with different captured closure data may have equal + code pointers in more cases. + * linker: When targeting macOS, the linker now accepts -macos and + -macsdk command-line options, which specify the OS and SDK + versions in the LC_BUILD_VERSION load command. By default, it + selects the oldest supported macOS version (currently 13.0.0) + and a recent SDK version (currently 26.2.0). + * Standard library: New encoding/json/v2 and + encoding/json/jsontext packages + * Standard library: The encoding/json/v2 package is a major + revision of encoding/json. It provides Marshal, MarshalWrite, + MarshalEncode, Unmarshal, UnmarshalRead, and UnmarshalDecode, + all of which accept variadic Options arguments to configure + marshaling and unmarshaling behavior. The v2 package chooses + stricter, more interoperable defaults than v1: it rejects + invalid UTF-8 in JSON strings and rejects duplicate names + within a JSON object. See the v1 encoding/json package + documentation for the complete set of behavioral differences + and the options available to adjust them. Marshal performance + is broadly at parity with the previous implementation, while + unmarshal performance is significantly faster. Users who + encounter compatibility problems with the new implementation + may disable it by setting GOEXPERIMENT=nojsonv2 at build time, + restoring the original v1 implementation. This opt-out is + expected to be removed in a future release. + * Standard library: The encoding/json/jsontext package provides + lower-level syntactic processing of JSON. The Encoder and + Decoder types operate on JSON as a sequence of Token and Value, + maintaining a state machine to ensure the produced or consumed + sequence is valid JSON text. The encoding/json package is now + backed by the v2 implementation. Marshaling and unmarshaling + behavior is preserved, but the exact text of error messages may + differ. The package also gains a number of new Options that can + configure v2 to operate with v1 semantics to avoid requiring a + full migration to the new API. The v1 API will continue to be + supported and users are not required to migrate. Marshal + performance is broadly at parity with the previous + implementation, while unmarshal performance is significantly + faster. + * crypto: The new crypto/mldsa package implements the + post-quantum ML-DSA signature scheme specified in FIPS 204. + * crypto: crypto/x509 now supports ML-DSA private keys, + public keys, and signatures. + * crypto: crypto/tls now supports ML-DSA signatures in + TLS 1.3, with the new MLDSA44, MLDSA65, and MLDSA87 + SignatureScheme values. + * uuid: The new uuid package generates and parses UUIDs. + * simd (experimental): New experimental simd package. Go 1.27 + introduces a new experimental simd package that provides + portable and vector-size-agnostic SIMD support. It will make + use of the hardware instructions if they are available. This + package is enabled by setting the environment variable + GOEXPERIMENT=simd at build time. The simd package is available + on all architectures, and provides vector types of unspecified + size such as Int8s and Float32s. It supports a “scalable” + subset of the operations present in the simd/archsimd package + that are hardware-supported or easily emulated across + architectures and vector widths. + * simd/archsimd (experimental): Go 1.27 continues the + experimental support for SIMD operations in the simd/archsimd + package that began in Go 1.26. This release revises the amd64 + API and adds support for arm64 “Neon” 128-bit SIMD and + WebAssembly 128-bit SIMD. The simd/archsimd package is enabled + by setting the environment variable GOEXPERIMENT=simd at build + time. This package provides access to architecture-specific + SIMD operations. It supports 128-bit vector types on wasm, + arm64, and amd64, and 256-bit and 512-bit vector types on some + amd64 processors. The API is not yet considered stable. We + intend to provide support for additional architectures in + future versions, but the API is intentionally + architecture-specific and thus non-portable. + * bytes: The new CutLast function slices a []byte around the last + occurrence of a separator. It can replace and simplify some + common uses of LastIndex. + * compress/flate: Compression speed is improved in Go 1.27. The + exact encoded output from Writer may be different from Go 1.26 + as a result of the encoder implementation change. Since DEFLATE + is the underlying compression used in archive/zip, + compress/gzip, compress/zlib, and image/png, the outputs from + those packages may also have changed. + * crypto: The new MLDSAMu Hash value is added for use as a + signaling mechanism for External mu ML-DSA signing. + * crypto/ecdsa: PrivateKey.Sign now checks that the length of the + hash is correct, if a non-nil SignerOpts is provided. + * crypto/tls: The new QUICConfig.ClientHelloInfoConn field + specifies the net.Conn to use for the ClientHelloInfo.Conn + field during QUIC server handshakes. + * crypto/tls: The MLKEM1024 key exchange is now supported. It can + be enabled by adding it to Config.CurvePreferences. + * crypto/tls: Config.Rand is now deprecated. For deterministic + testing, use testing/cryptotest.SetGlobalRandom. + * crypto/tls: Post-quantum hybrid key exchanges can now be + explicitly enabled in Config.CurvePreferences even if the + tlsmlkem=0 or tlssecpmlkem=0 GODEBUG options are used. Those + options were always meant to only apply to the default set used + when Config.CurvePreferences is nil. + * crypto/tls: The new ConnectionState.LocalCertificate field + contains the certificate chain presented to the connection peer + during the handshake. + * crypto/tls: The tlsunsafeekm (added in Go 1.22), tlsrsakex + (added in Go 1.22), tls3des (added in Go 1.23), tls10server + (added in Go 1.22), and x509keypairleaf (added in Go 1.23) + GODEBUG settings have been removed permanently. + * crypto/x509: When parsing into pkix.Name fields, a wider range + of pkix.AttributeTypeAndValue.Value types is now supported, and + unknown types are parsed into asn1.RawValue. + * crypto/x509: The new Certificate.RawSignatureAlgorithm, + CertificateRequest.RawSignatureAlgorithm, and + RevocationList.RawSignatureAlgorithm fields expose the + DER-encoded AlgorithmIdentifier of the signature algorithm, + including when the SignatureAlgorithm field is + UnknownSignatureAlgorithm. + * crypto/x509: SystemCertPool now respects SSL_CERT_FILE and + SSL_CERT_DIR on Windows and Darwin. When these environment + variables are set, roots are loaded from disk and instead of + using the platform certificate verification APIs, the native Go + verifier is used. This behavior can be disabled with + GODEBUG=x509sslcertoverrideplatform=0. + * crypto/x509/pkix: RDNSequence.String (and therefore + Name.String) now renders string-typed attribute values as + strings even when the attribute’s OID is + unrecognized. Previously such values were always hex-encoded in + their DER form. See #33093. + * database/sql: The new ConvertAssign function gives database + drivers access to the type conversions performed by Rows.Scan. + * database/sql/driver: Drivers may implement the new + RowsColumnScanner interface to scan directly into user-provided + destinations. + * go/constant: The new StringLen function returns the length of a + string Value without fully constructing the Value. + * go/scanner: The scanner now allows retrieving the end position + of a token via the new Scanner.End method. + * go/token: File now has a String method. + * go/types: The Hasher type is an implementation of + maphash.Hasher for Types that respects the Identical + equivalence relation, allowing Types to be used in hash tables + and similar data structures. HasherIgnoreTags is the analogous + hasher for IdenticalIgnoreTags. + * go/types: The gotypesalias GODEBUG setting (added in Go 1.22) + has been removed permanently and the package go/types now + always produces an Alias type node for alias declarations + irrespective of GODEBUG settings. + * hash/maphash: The Hasher interface type defines the contract + between values of a particular type and future hash-based data + structures such as hash tables and Bloom filters; see #70471. + * hash/maphash: The ComparableHasher type provides a convenient + implementation of Hasher for comparable types where the Equal + method is defined as ==. + * math/big: Int now has a Divide method to compute quotient and ++++ 75 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/go1.27/go1.27.changes ++++ and /work/SRC/openSUSE:Factory/.go1.27.new.1258/go1.27.changes Old: ---- go1.27rc3.src.tar.gz New: ---- go1.27.0.src.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ go1.27.spec ++++++ --- /var/tmp/diff_new_pack.GJNxUu/_old 2026-08-21 16:50:20.923612394 +0200 +++ /var/tmp/diff_new_pack.GJNxUu/_new 2026-08-21 16:50:20.926612500 +0200 @@ -96,7 +96,7 @@ %endif Name: go1.27 -Version: 1.27rc3 +Version: 1.27.0 Release: 0 Summary: A compiled, garbage-collected, concurrent programming language License: BSD-3-Clause ++++++ go1.27rc3.src.tar.gz -> go1.27.0.src.tar.gz ++++++ /work/SRC/openSUSE:Factory/go1.27/go1.27rc3.src.tar.gz /work/SRC/openSUSE:Factory/.go1.27.new.1258/go1.27.0.src.tar.gz differ: char 13, line 1
