1 पॉइंट द्वारा GN⁺ 2025-02-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • भाषा में बदलाव
    • Go 1.24 अब generic type aliases को पूरी तरह सपोर्ट करता है। Type aliases अब defined types की तरह parameters ले सकते हैं।
  • परफ़ॉर्मेंस सुधार
    • runtime में कई performance improvements किए गए हैं, जिससे प्रतिनिधि benchmarks में औसतन 2-3% CPU overhead कम हुआ है।
    • इसमें नया built-in map implementation, छोटे objects के लिए memory allocation efficiency में सुधार, और runtime के अंदर नए mutex implementation शामिल हैं।
  • टूलिंग सुधार
    • go command अब module की tool dependencies को track करने का mechanism देता है। go get -tool का उपयोग करके मौजूदा module में tool directives जोड़े जा सकते हैं।
    • go vet subcommand का नया test analyzer test package के tests, fuzzers, benchmarks, और example declarations में होने वाली आम गलतियों की रिपोर्ट करता है।
  • standard library में जोड़
    • standard library में अब FIPS 140-3 compliance के लिए नया mechanism शामिल है, और approved algorithms का उपयोग करने के लिए source code changes की ज़रूरत नहीं है।
    • पहले x/crypto module में मौजूद कई packages अब standard library में उपलब्ध हैं।
    • benchmarks अब अधिक तेज़ और कम error-prone testing.B.Loop method का उपयोग कर सकते हैं।
    • नया os.Root type किसी विशेष directory के नीचे file system operations करने की क्षमता देता है।
    • runtime अब runtime.AddCleanup नाम का नया cleanup mechanism देता है, जो runtime.SetFinalizer की तुलना में अधिक flexible, efficient, और कम error-prone है।
  • WebAssembly सपोर्ट में सुधार
    • Go 1.24 में go:wasmexport directive जोड़ा गया है, जिससे Go programs WebAssembly host को functions export कर सकते हैं, और यह Go programs को WASI reactor/library के रूप में build करने का भी समर्थन करता है।

1 टिप्पणियां

 
GN⁺ 2025-02-15
Hacker News राय
  • खास तौर पर तेज़ map implementation और text/template में अब function types के support से संतुष्ट हूँ
  • Go 1.23 में function types पर range पेश किया गया था, लेकिन अब जाकर यह Go templates में काम करने लगा है
  • सोच रहा हूँ कि क्या tool directives से निर्दिष्ट tools install करते समय इस्तेमाल होने वाले tags तय किए जा सकते हैं
    • मैंने कोशिश की, लेकिन यह काम नहीं किया (tags के बिना install हो गया)
    • go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest इस्तेमाल किया
  • सोच रहा हूँ कि os.Root का use case क्या है
    • मेरी समझ से इसका संबंध security से है
    • क्योंकि अंदरूनी तौर पर यह Chroot का इस्तेमाल नहीं करता, इसलिए लगता है कि आखिरकार कोई न कोई Root से बाहर निकलने का तरीका ढूंढ़ सकता है
  • उबाऊ है, लेकिन पसंद आया
  • नए tool flags को लेकर सबसे ज़्यादा उत्साहित हूँ
    • इससे बदसूरत tools.go हटाया जा सकेगा
  • GODEBUG=fips140=only इस्तेमाल करने पर, जो cryptographic algorithms FIPS 140-3 के अनुरूप नहीं हैं वे error या panic लौटाते हैं
    • standard library का जानबूझकर panic कराना मुझे पसंद नहीं है
    • मैंने code नहीं देखा, लेकिन सोच रहा हूँ कि क्या यह सिर्फ उन्हीं functions में होता है जो अभी error return नहीं करते
  • आखिरकार generic type aliases आ गए, इसका लंबे समय से इंतज़ार था
  • अच्छा है! मैं इस release का इंतज़ार खास तौर पर GOAUTH की वजह से कर रहा था
    • उम्मीद है कि private git repositories के साथ काम करना कम झंझट वाला होगा
    • go help goauth देखकर बहुत ज़्यादा उम्मीद नहीं बंधती