{"id":183299,"date":"2025-08-14T22:42:43","date_gmt":"2025-08-14T22:42:43","guid":{"rendered":"https:\/\/linuxiac.com\/?p=183299"},"modified":"2025-08-14T22:59:03","modified_gmt":"2025-08-14T22:59:03","slug":"go-1-25-released-with-experimental-garbage-collector-and-new-json-api","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/go-1-25-released-with-experimental-garbage-collector-and-new-json-api\/","title":{"rendered":"Go 1.25 Released with Experimental Garbage Collector and New JSON API"},"content":{"rendered":"\n<p>The Go team announced the official release of the Go 1.25 programming language, arriving right on schedule six months after <a href=\"https:\/\/linuxiac.com\/go-1-24-released-with-faster-performance-better-tooling\/\">version 1.24<\/a>, packed a lot under the hood, touching nearly every corner of the toolchain, runtime, and standard library.<\/p>\n\n\n\n<p>One of the most striking additions is the new experimental garbage collector, designed to improve performance when handling small objects, potentially cutting GC overhead by 10\u201340% in real-world workloads.<\/p>\n\n\n\n<p>Alongside that comes another experimental feature\u2014the encoding\/json\/v2 package\u2014promising faster decoding and more flexible configuration. Both are opt-in for now, giving developers a chance to try them early and offer feedback before they\u2019re finalized.<\/p>\n\n\n\n<p>Go 1.25 also brings container-aware GOMAXPROCS by default, meaning applications running in environments like Kubernetes can automatically adjust to CPU limits without manual tweaks. On top of that, the compiler gets smarter with faster slice allocations and DWARF5 debug info, reducing binary size and speeding up linking for large projects.<\/p>\n\n\n\n<p>The tooling sees its share of love too, with new <code>go vet<\/code> analyzers catching common pitfalls and several go command enhancements, like the ability to ignore directories in <code>go.mod<\/code> or spin up a local documentation server with <code>go doc -http<\/code>. There\u2019s also a brand-new testing\/synctest package, making it easier to test concurrent code without the usual headaches.<\/p>\n\n\n\n<p>Lastly, as always, there\u2019s a laundry list of standard library improvements\u2014from cryptographic performance boosts to more consistent ASN.1 parsing, plus new networking and TLS features. Support for older macOS versions is dropped, and Go 1.25 marks the last stop for the broken 32-bit Windows\/ARM port before its removal.<\/p>\n\n\n\n<p>Refer to the <a href=\"https:\/\/go.dev\/blog\/go1.25\" target=\"_blank\" rel=\"noreferrer noopener\">announcement<\/a> or check the <a href=\"https:\/\/go.dev\/doc\/go1.25\" target=\"_blank\" rel=\"noreferrer noopener\">release notes<\/a> for a deep dive into all changes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go 1.25 lands with major toolchain and runtime enhancements, including experimental GC, encoding\/json v2, and new testing\/synctest support.<\/p>\n","protected":false},"author":10,"featured_media":183302,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[3748,4661,5933],"class_list":["post-183299","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-news","tag-development","tag-go","tag-programming-language"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/183299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=183299"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/183299\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/183302"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=183299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=183299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=183299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}