የGo ቋንቋ አዲስ ልቀት ስሪት 1.24 ከስድስት ወራት በኋላ ይመጣል ሂድ 1.23. አብዛኛዎቹ ለውጦች የመሳሪያ ሰንሰለት፣ የሩጫ ጊዜ እና ቤተ-መጻሕፍት አተገባበር ላይ ናቸው። እንደ ሁልጊዜው, መለቀቅ ያቀርባል የተኳኋኝነት ቃል Go 1. የቋንቋ ዲዛይነሮች ሁሉም ማለት ይቻላል Go ፕሮግራሞች እንደበፊቱ ማጠናቀር እና መስራታቸውን እንደሚቀጥሉ ይጠብቃሉ።
የቋንቋ ለውጦች
Go 1.24 አሁን ሙሉ በሙሉ ይደግፋል አጠቃላይ ዓይነት ተለዋጭ ስሞች: ተለዋጭ ስም እንደ ተገለጸ ዓይነት ሊገለጽ ይችላል። ዝርዝሮች በ የቋንቋ ዝርዝሮች. ለአሁን ይህ ባህሪ GOEXPERIMENT=noaliastypeparams በማቀናበር ሊሰናከል ይችላል; ሆኖም ግን፣ በGo 1.25 ውስጥ የአሊያስታይፕፓራምስ አማራጭ ይወገዳል።
መሳሪያዎች
ትእዛዝ ይሂዱ
Go ሞጁሎች አሁን በgo.mod ውስጥ ያለውን የመሳሪያ መመሪያ በመጠቀም ሊተገበሩ የሚችሉ ጥገኞችን መከታተል ይችላሉ። ይህ በተለምዶ "tools.go" ተብሎ በሚጠራው ፋይል ውስጥ እንደ ባዶ ማስመጣት መሳሪያዎችን የመጨመር የቀደመውን መፍትሄ አስፈላጊነት ያስወግዳል። የ go tool ትእዛዝ አሁን ከ Go ጋር ከሚመጡት መሳሪያዎች በተጨማሪ እነዚህን መሳሪያዎች ማስኬድ ይችላል። ተጨማሪ መረጃ በ ላይ ይገኛል። ሰነድ.
የአዲሱ መሣሪያ ባንዲራ ለ go get ፍላጐት መመሪያዎችን ከመጨመር በተጨማሪ ለተጠቀሱት ጥቅሎች አሁን ባለው ሞጁል ውስጥ የመሳሪያ መመሪያዎች እንዲጨመሩ አድርጓል።
አዲስ የሜታ-ንድፍ መሳሪያ አሁን ባለው ሞጁል ውስጥ ያሉትን ሁሉንም መሳሪያዎች ያመለክታል. ይህ ሁሉንም በ go get tool በኩል ለማዘመን ወይም በGOBIN ማውጫዎ ውስጥ በ go install tool ላይ ለመጫን ሊያገለግል ይችላል።
በ go run በኩል የተፈጠሩ ተፈፃሚዎች እና አዲሱ የ go መሳሪያ ባህሪ አሁን በGo build cache ውስጥ ተደብቀዋል። ይህ በተጨመረው መሸጎጫ ምክንያት ተደጋጋሚ ማስጀመር እንዲቻል ያደርገዋል። #69290.
የ go build and go install ትዕዛዞችን አሁን -json ባንዲራ ተቀበሉ፣ ይህም የውጤት ግንባታን እና ስህተቶችን በመደበኛ ውፅዓት ላይ እንደ የተዋቀረ የJSON ውፅዓት ሪፖርት ያደርጋል። የቅርጸት ዝርዝሮች በ go help buildjson ውስጥ ሊታዩ ይችላሉ።
በተጨማሪም go test -json አሁን ውጤቱን ሪፖርት ያደርጋል እና በJSON ውስጥ ስህተቶችን ይገንቡ፣ ከ JSON ውጤቱ ጋር ተደባልቆ። በአዲሶቹ የድርጊት አይነቶች ሊለዩ ይችላሉ፣ ነገር ግን በሙከራ ውህደት ስርዓት ላይ ችግር ካጋጠሙ፣ ወደ ግንባታው የጽሁፍ ውጤት መመለስ ይችላሉ GODEBUG ማዋቀር getestjsonbuildtext=1
አዲሱ የGOAUTH አካባቢ ተለዋዋጭ የግል ሞጁል መጎተትን ለመፍቀድ ተለዋዋጭ መንገድ ይሰጣል። በ go help gouth ውስጥ ዝርዝሮችን ማየት ይችላሉ።
የ go build ትዕዛዝ አሁን ተጭኗል የዋናው ሞጁል ስሪት በመለያ እና/ወይም በስሪት ቁጥጥር ቃል ላይ በመመስረት በተቀናበረው ሁለትዮሽ ውስጥ። ያልተደረጉ ለውጦች ካሉ የ+ቆሻሻ ቅጥያ ይታከላል። የ -buildvcs=የውሸት ባንዲራ የስሪት መቆጣጠሪያ መረጃን ከሁለትዮሽ ለመተው ጥቅም ላይ ሊውል ይችላል።
አዲሱ GODEBUG ማዋቀር toolchaintrace=1 አሁን በ go ትእዛዝ ውስጥ የመሳሪያ ሰንሰለት ምርጫ ሂደትን ለመከታተል ጥቅም ላይ ሊውል ይችላል።
ሲጎ
የአሂድ ጊዜ አፈጻጸምን ለማሻሻል Cgo ለ C ተግባራት አዲስ ማብራሪያዎችን ይደግፋል። #cgo noescape cFunctionName ወደ ሲ ተግባር cFunctionName የተላለፈው ማህደረ ትውስታ አላመለጠም ሲል ለአቀናባሪው ይነግረዋል። #cgo nocallback cFunctionName ለአቀናባሪው የC ተግባር cFunctionName ምንም የ Go ተግባራትን እንደማይጠራ ይነግረዋል። ተጨማሪ መረጃ በ ላይ ይገኛል። cgo ሰነድ.
Cgo በአሁኑ ጊዜ ብዙ ተኳሃኝ ያልሆኑ መግለጫዎች ወዳለው የC ተግባር ጥሪዎችን ለመሰብሰብ ፈቃደኛ አይደለም። ለምሳሌ፣ f እንደ ሁለቱም ባዶ f(int) እና ባዶ f(ድርብ) ከተገለጸ cgo ምናልባት ልክ ያልሆነ የጥሪ ቅደም ተከተል f(0) ከማመንጨት ይልቅ ስህተትን ሪፖርት ያደርጋል። በዚህ ልቀት ውስጥ አዲስ ተኳኋኝ ያልሆኑ መግለጫዎች በተለያዩ ፋይሎች ውስጥ ሲታዩ የዚህን የስህተት ሁኔታ ማወቁ ተሻሽሏል። #67699.
Objdump
የ objdump መሣሪያ አሁን በ64-ቢት LoongArch (GOARCH=loong64)፣ RISC-V (GOARCH=riscv64) እና S390X (GOARCH=s390x) ላይ መፈታትን ይደግፋል።
ቨስት
አዲሱ የፈተና ተንታኝ በፈተና፣ ፉዘር፣ ቤንችማርክ እና በሙከራ ስብስቦች ውስጥ ያሉ የተለመዱ ስህተቶችን፣ እንደ የተበላሹ ስሞች፣ ልክ ያልሆኑ ፊርማዎች፣ ወይም ነባር ያልሆኑ መለያዎችን የሚመዘግቡ ምሳሌዎችን ያሳያል። ከእነዚህ ስህተቶች መካከል አንዳንዶቹ ፈተናዎች እንዳይሳኩ ሊያደርጉ ይችላሉ።
ነባሩ የህትመት ተንታኝ አሁን fmt.Printf(ዎች) የጥሪ ምርመራን ሪፖርት ያደርጋል፣ s ሌላ ነጋሪ እሴት የሌለው ቋሚ ያልሆነ ቅርጸት ሕብረቁምፊ ነው። የ s ዋጋ % ቁምፊን ሊይዝ ስለሚችል እንደዚህ ያሉ ጥሪዎች ሁልጊዜ ማለት ይቻላል ስህተት ናቸው; በምትኩ fmt.Print ይጠቀሙ። 60529. ይህ ቼክ በነባር ኮድ ውስጥ ነገሮችን የማግኘት አዝማሚያ አለው፣ እና ስለዚህ የሚተገበረው የቋንቋው ስሪት (በ go.mod ፋይል go መመሪያው ወይም `//go:build` አስተያየቶች እንደተገለፀው) ቢያንስ Go 1.24 ሲሆን ወደ Go 1.24 የመሳሪያ ሰንሰለት ሲያሻሽል ረጅም የውህደት እረፍቶችን እንዳያመጣ።
አሁን ያለው የሕንፃ ታግ ተንታኝ አሁን የተሳሳተ የሕንፃ ታግ ሲኖር ምርመራዎችን ሪፖርት ያደርጋል የድሮው ስሪት ግንባታ ገደብ በ //go:build መመሪያ ውስጥ ይሂዱ። ለምሳሌ, //go:buil go1.23.1 ነጥብ መለቀቅን ያመለክታል; በምትኩ መጠቀም //ሂድ: መገንባት go1.23. #64127.
አሁን ያለው የኮፒ መቆለፊያ ተንታኝ አሁን አንድ ተለዋዋጭ በሶስት እጥፍ “ለ” loop ሲገለጽ ምርመራን ሪፖርት ያደርጋል ፣ ለምሳሌ i:= iter(); ተከናውኗል (i); i = ቀጣይ(i) {… }፣ ማመሳሰልን ይዟል።ሎከር፣ እንደ ማመሳሰል.Mutex። ሂድ 1.22 ለእያንዳንዱ ድግግሞሽ አዲስ ተለዋዋጭ ለመፍጠር የእንደዚህ አይነት loops ባህሪን ቀይሯል ፣ እሴቶቹን ከቀደመው ድግግሞሽ መገልበጥ ፣ ይህ መቅዳት ለቁልፍ አስተማማኝ አይደለም። #66387.
GOCACHEPROG
የውስጥ cmd/go ባለ ሁለትዮሽ እና የሙከራ መሸጎጫ ዘዴ አሁን በ GOCACHEPROG አካባቢ ተለዋዋጭ በተሰየመው የልጆች ሂደት መካከል የJSON ፕሮቶኮልን በመተግበር ሂደት ሊተገበር ይችላል። ከዚህ ቀደም ለGOEXPERIMENT ነበር። የፕሮቶኮሉ ዝርዝሮች በ ውስጥ ይታያሉ ሰነድ.
የማጠናቀቂያ ጊዜ
በርካታ የሩጫ ጊዜ አፈጻጸም ማሻሻያዎች በተወካይ መለኪያዎች ስብስብ ላይ በአማካይ ከ2-3% የሲፒዩ ትርፍ ቀንሰዋል። ውጤቶቹ እንደ ማመልከቻው ሊለያዩ ይችላሉ። እነዚህ ማሻሻያዎች ላይ የተመሰረተ አዲስ አብሮ የተሰራ የካርታ ትግበራን ያካትታሉ የስዊድን ጠረጴዛዎች፣ የትንሽ ነገር ማህደረ ትውስታ የበለጠ ቀልጣፋ ምደባ ፣ እና አዲስ የውስጥ የሩጫ ጊዜ ትግበራ።
አዲሱ አብሮ የተሰራ የካርታ አተገባበር እና አዲሱ የውስጥ Runtime mutex እንደቅደም ተከተላቸው GOEXPERIMENT=noswissmap እና GOEXPERIMENT=nospinbitmutexን በግንባታ ጊዜ በማዘጋጀት ማሰናከል ይቻላል።
አቀናባሪ
አቀናባሪው አዳዲስ ዘዴዎችን በ cgo በተፈጠሩ የመቀበያ ዓይነቶች መግለጽ ከልክሏል፣ ነገር ግን በዚህ ክልከላ ዙሪያ በአይነት ተለዋጭ ስም መስራት ተችሏል። Go 1.24 አሁኑኑ ተቀባዩ በቀጥታም ሆነ በተዘዋዋሪ (በአሊያስ ዓይነት) የሚያመለክት ከሆነ ሁልጊዜ ስህተትን ሪፖርት ያደርጋል።
ሊንከር
ማገናኛው አሁን የጂኤንዩ ግንባታ ለዪ (ELF ግቤት NT_GNU_BUILD_ID) በELF መድረኮች ላይ እና UUID (Mach-O load order LC_UUID) በነባሪ macOS ላይ ያመነጫል። የግንባታ መታወቂያው ወይም UUID ከ Go build መታወቂያ የተወሰደ ነው። ይህ በ -B none linker ባንዲራ ሊጠፋ ወይም በ -B 0xNNNN አገናኝ ባንዲራ በተጠቃሚ የተገለጸ ሄክሳዴሲማል እሴት ሊሻር ይችላል።
ማስተዋወቅ
ውስጥ እንደተገለጸው 1.22 የመልቀቂያ ማስታወሻዎች ይሂዱ, Go 1.24 አሁን Go 1.22.6 ወይም ከዚያ በኋላ ለመጫን ይፈልጋል። ገንቢዎቹ Go 1.26 ነጥብ ለመልቀቅ Go 1.24 ወይም ከዚያ በኋላ እንዲለቀቅ ይጠብቃሉ።
መደበኛ ቤተ መጻሕፍት
በማውጫ የተገደበ የፋይል ስርዓት መዳረሻ
አዲስ ዓይነት os.root በአንድ የተወሰነ ማውጫ ውስጥ የፋይል ስርዓት ስራዎችን የማከናወን ችሎታ ያቀርባል.
ሥራ os.OpenRoot ማውጫውን ከፍቶ ይመለሳል os.root. ዘዴዎች በርቷል os.root በዚያ ማውጫ ውስጥ መሥራት እና ዱካዎች ከማውጫው ውጭ ያሉትን ቦታዎች፣ ከማውጫው ውጭ ተምሳሌታዊ አገናኞችን የሚከተሉትን ጨምሮ እንዲያመለክቱ አይፍቀዱ። በ os.Root ላይ ያሉት ዘዴዎች በOS ጥቅል ውስጥ የሚገኙትን አብዛኛዎቹን የፋይል ሲስተም ኦፕሬሽኖች ያንፀባርቃሉ፣ ለምሳሌ፣ os.Root.ክፈት።, os.Root.ፍጠር, os.Root.Mkdir и os.Root.Stat.
አዲስ የቤንችማርክ ባህሪ
ካስማዎች አሁን ፈጣን፣ ትንሽ ስህተት-የተጋለጠ ዘዴን መጠቀም ይችላሉ። ሙከራ.B. Loop እንደ b.Loop() { … } ከተለመዱት የሉፕ አወቃቀሮች ይልቅ bN like ለክልል bN ን በማካተት እንደ ቤንችማርክ ለመድገም ይህ ሁለት ጉልህ ጥቅሞችን ይሰጣል።
- የቤንችማርክ ተግባር በቁጥር አንድ ጊዜ በትክክል ይፈጸማል፣ ስለዚህ ውድ የሆነው የማዋቀር እና የማጽዳት እርምጃዎች አንድ ጊዜ ብቻ ነው የሚከናወኑት።
- የተግባር ጥሪ ግቤቶች እና ውጤቶቹ በቀጥታ ይኖራሉ፣ አቀናባሪው የሉፕ አካሉን ሙሉ በሙሉ እንዳያሻሽል ይከላከላል።
የተሻሻሉ ማጠናቀቂያዎች
አዲስ ባህሪ አሂድ ጊዜ.አክል ማጽጃ የበለጠ ተለዋዋጭ፣ የበለጠ ቀልጣፋ እና ከስህተት ያነሰ የማጠናቀቂያ ዘዴ ነው። Runtime.SetFinalizer. AddCleanup የማጽዳት ተግባር ነገሩ የማይገኝ ሲሆን ወዲያውኑ ከሚሰራ ነገር ጋር ያያይዘዋል። ነገር ግን፣ እንደ SetFinalizer በተለየ፣ ብዙ ማጽጃዎች ከአንድ ነገር ጋር ሊጣበቁ ይችላሉ፣ ማጽጃዎች ከውስጥ ጠቋሚዎች ጋር ሊጣበቁ ይችላሉ፣ ጽዳት ነገሮች ነገሮች ዑደት በሚፈጥሩበት ጊዜ ፍሳሾችን አያደርጉም እና ጽዳት የነገሩን ወይም የሚጠቆምባቸውን እቃዎች ቦታ አያዘገዩም። አዲስ ኮድ ከ SetFinalizer ይልቅ AddCleanupን ይመርጣል።
አዲስ ደካማ ጥቅል
አዲስ ጥቅል ደካማ ደካማ ጠቋሚዎችን ያቀርባል.
ደካማ ጠቋሚዎች የማህደረ ትውስታ ቆጣቢ አወቃቀሮችን ለመፍጠር እንደ ደካማ መዝገበ-ቃላት ለካርታ እሴቶች፣ በጥቅል ላልተሸፈነ ማንኛውም ነገር ቀኖናዊ መዝገበ-ቃላትን ለመፍጠር የቀረበ ዝቅተኛ ደረጃ ጥንታዊ ናቸው። የተለየ, እና የተለያዩ አይነት መሸጎጫዎች. እነዚህን የአጠቃቀም ጉዳዮች ለመደገፍ ይህ ልቀት እንዲሁ ያቀርባል አሂድ ጊዜ.አክል ማጽጃ и maphash.ተነጻጻሪ.
አዲስ የ crypto/mlkem ጥቅል
አዲስ ጥቅል crypto/mlkem ML-KEM-768 እና ML-KEM-1024 ን ተግባራዊ ያደርጋል።
ML-KEM ቀደም ሲል Kyber በመባል የሚታወቀው እና በ ውስጥ የተገለጸ የድህረ-ኳንተም ቁልፍ ልውውጥ ዘዴ ነው። ፊፕስ 203.
አዲስ ጥቅሎች crypto/hkdf፣ crypto/pbkdf2 እና crypto/sha3
አዲስ ጥቅል crypto/hkdf HMAC ላይ የተመሰረተውን የ"ማውጣት-እና-ዘርጋ" ቁልፍ የመነሻ ተግባር ኤች.ዲ.ዲ.ኤፍ በተገለጸው መሰረት ተግባራዊ ያደርጋል። RFC 5869.
አዲስ ጥቅል crypto/pbkdf2 በይለፍ ቃል ላይ የተመሰረተ ቁልፍ የማውጣት ተግባር PBKDF2 በ ውስጥ እንደተገለጸው ተግባራዊ ያደርጋል RFC 8018.
አዲስ ጥቅል crypto/sha3 በ ውስጥ እንደተገለጸው የSHA-3 hash ተግባርን እና SHAKE እና cSHAKE extensible ውፅዓት ተግባራትን ይተገብራል። ፊፕስ 202.
ሦስቱም ጥቅሎች አሁን ባለው golang.org/x/crypto/… ጥቅሎች ላይ የተመሰረቱ ናቸው።
FIPS 140-3 ተገዢነት
ይህ ልቀት ያካትታል FIPS 140-3 ተገዢነትን ለማረጋገጥ አዲስ የአሠራር ዘዴዎች ስብስብ.
የ Go crypto ሞጁል FIPS 140-3 የጸደቁ ስልተ ቀመሮችን ለመተግበር በግልፅ ጥቅም ላይ የሚውሉ የውስጥ መደበኛ ቤተ-መጽሐፍት ጥቅሎች ስብስብ ነው። አፕሊኬሽኖች የ Go crypto ሞጁሉን ለጸደቁ ስልተ ቀመሮች ለመጠቀም ለውጦች አያስፈልጋቸውም።
አዲሱ የአካባቢ ተለዋዋጭ GOFIPS140 በግንባታ ውስጥ የሚጠቀመውን የ Go crypto ሞጁሉን ስሪት ለመምረጥ ሊያገለግል ይችላል። አዲስ GODEBUG ማዋቀር fips140 FIPS 140-3 ሁነታን በስራ ሰዓት ለማንቃት ስራ ላይ ሊውል ይችላል።
Go 1.24 Go crypto module v1.0.0 ያካትታል፣ እሱም በአሁኑ ጊዜ በCMVP እውቅና ባለው ቤተ ሙከራ እየተሞከረ ነው።
አዲስ የሙከራ ጥቅል ሙከራ/ማመሳሰል
አዲስ የሙከራ ጥቅል ሙከራ / ማመሳሰል ለተመሳሳይ ኮድ ለሙከራ ድጋፍ ይሰጣል።
- ሥራ synctest.run በገለልተኛ "አረፋ" ውስጥ የጉሮቲን ቡድን ያካሂዳል። በጥቅሉ ተግባር አረፋ ውስጥ ጊዜ በሐሰት ሰዓቶች ላይ መሥራት.
- ተግባሮች syncest.ቆይ አሁን ባለው አረፋ ውስጥ ሁሉም ጎሮቲኖች እስኪታገዱ ድረስ ይጠብቁ።
ዝርዝሮች በጥቅል ሰነዶች ውስጥ ይገኛሉ.
የማመሳሰል ጥቅል የሙከራ ነው እና GOEXPERIMENT=synctest በማቀናበር መንቃት አለበት። የጥቅል ኤፒአይ ለወደፊት ልቀቶች ሊቀየር ይችላል። ውስጥ #67434 ተጨማሪ ዝርዝሮችን ማየት እና አስተያየት መስጠት ይችላሉ.
በቤተ-መጽሐፍት ውስጥ ትንሽ ለውጦች
ማህደር
በማህደር/ዚፕ እና ማህደር/ታር ውስጥ ያሉት (*Writer.AddFS) ትግበራዎች የማውጫውን አርዕስት በባዶ ማውጫ ይጽፋሉ።
ባይቶች
ጥቅል ባይቶች ከድግግሞሾች ጋር የሚሰሩ በርካታ ተግባራትን ያክላል-
- መስመሮች በባይት ቁራጭ ውስጥ በአዲስ መስመር የተለዩ ሕብረቁምፊዎች ላይ ተደጋጋሚ ይመልሳል።
- SplitSeq በሁሉም የባይት ቁርጥራጭ ክፍልፋዮች ላይ ተደጋጋሚ ምላሽ ይሰጣል።
- SplitAfterSeq የባይት ቁራጭ ንዑስ ክፍልፋዮች ላይ ተደጋጋሚ ይመልሳል፣ ከእያንዳንዱ የመለያያ ክስተት በኋላ የተከፈለ።
- FieldsSeq እንደተገለጸው በተከታታይ የጠፈር ቁምፊዎች ዙሪያ ባለው የባይት ቁራጭ ንዑስ ክፍል ላይ ተደጋጋሚ መልስ ይሰጣል። ዩኒኮድ.IsSpace
- መስኮችFuncSeq ተሳቢውን በሚያረካ ተከታታይ የዩኒኮድ ኮድ ነጥቦች ዙሪያ ባለው የባይት ቁራጭ ንዑስ ክፍል ላይ ተደጋጋሚ መልስ ይሰጣል።
crypto/aes
ዋጋ መመለስ አዲስ ቺፈር ከአሁን በኋላ NewCTRን፣ NewGCMን፣ NewCBCEን እና ኒውሲቢሲዲክሪፕተር ዘዴዎችን አይተገበርም። እነዚህ ዘዴዎች ሰነድ የሌላቸው እና በሁሉም አርክቴክቸር ላይ አይገኙም። አሁን ትርጉሙ አግድ በቀጥታ ወደ ተገቢ ተግባራት መተላለፍ አለበት ክሪፕቶ/ምስጢር. በአሁኑ ጊዜ፣ crypto/cipher እነዚህን ዘዴዎች በመደበኛው ቤተ-መጽሐፍት ባይደገፉም አሁንም በብሎክ እሴቶች ላይ ይፈትሻል።
ክሪፕቶ/ምስጢር
አዲስ ባህሪ NewGCMበRandomNonce ይመለሳል መኢአድ፣በማህተም ጊዜ የዘፈቀደ ኖንስ በማመንጨት እና ወደ ምስጥር ጽሁፍ በማዘጋጀት AES-GCMን ተግባራዊ ያደርጋል።
ትግበራ ዥረት፣ ተመለሱ ኒውሲቲር ጋር ጥቅም ላይ ሲውል crypto/aes አሁን በ amd64 እና arm64 ላይ ብዙ ጊዜ ፈጣን።
NewOFB, ኒውሲኤፍቢኢንክሪፕተር и ኒውሲኤፍቢዲክሪፕተር አሁን ጊዜ ያለፈባቸው ናቸው ተብሏል። የOFB እና CFB ሁነታዎች ያልተረጋገጡ ናቸው፣ ይህም በአጠቃላይ ገባሪ ጥቃቶች ግልጽ ጽሑፍን እንዲቆጣጠሩ እና እንዲያገግሙ ያስችላቸዋል። ትግበራዎች እንዲጠቀሙ ይመከራሉ መኢአድ በምላሹ። ያልተረጋገጠ ሁነታ ከሆነ ዥረት አስፈላጊ, ጥቅም ላይ ሊውል ይችላል ኒውሲቲር በምላሹ።
crypto/ecdsa
የግል ቁልፍ.ምልክት አሁን የሚወስነው ፊርማ ይፈጥራል RFC 6979የዘፈቀደ ምንጭ ዜሮ ከሆነ።
crypto/md5
ዋጋ መመለስ md5.አዲስ, አሁን ደግሞ በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender.
ክሪፕቶ/ራንድ
ሥራ አነበበ አሁን ምንም ውድቀቶች ዋስትና አይሰጥም. ማንበብ በማንበብ ጊዜ ስህተት ካጋጠመው አንባቢ, ፕሮግራሙ በቋሚነት ይቋረጣል. ነባሪው አንባቢ ሁል ጊዜ በተሳካ ሁኔታ እንዲሠራ መዝግቧል፣ ስለዚህ ይህ ለውጥ የአንባቢውን ተለዋዋጭ የሚሽሩ ፕሮግራሞችን ብቻ ነው የሚነካው። አንድ ለየት ያለ ከ3.17 በፊት የሊኑክስ ከርነል ነው፣ ነባሪ አንባቢ አሁንም /dev/urandom የሚከፍት እና ሊሳካ ይችላል።
በሊኑክስ 6.11 እና ከዚያ በኋላ፣ አንባቢ አሁን በvDSO በኩል የጌራንደም ሲስተም ጥሪን ይጠቀማል። ይህ ብዙ ጊዜ ፈጣን ነው፣ ብዙ ጊዜ ለአነስተኛ ንባብ።
በOpenBSD Reader ላይ አሁን arc4random_buf(3) ይጠቀማል።
አዲስ ባህሪ ጽሑፍ አሁን ምስጢራዊ በሆነ መልኩ ደህንነቱ የተጠበቀ የዘፈቀደ የጽሑፍ ሕብረቁምፊዎችን መፍጠር ይችላል።
crypto/rsa
GenerateKey አሁን ከ1024 ቢት ያነሰ ቁልፍ ርዝመት ከተጠየቀ ስህተት ይመልሳል። ሁሉም ፊርማ፣ አረጋግጥ፣ ኢንክሪፕት እና ዲክሪፕት የማድረግ ዘዴዎች አሁን ከ1024 ቢት ባነሰ ቁልፍ መጠን ጥቅም ላይ ከዋሉ ስህተታቸውን ይመልሳሉ። እንደዚህ ያሉ ቁልፎች ደህንነታቸው ያልተጠበቁ ናቸው እና ጥቅም ላይ መዋል የለባቸውም. GODEBUGን በማዋቀር ላይ rsa1024min=0 የድሮውን ባህሪ ወደነበረበት ይመልሳል፣ነገር ግን የGo ገንቢዎች ይህንን እንዲያደርጉ የሚመክሩት አስፈላጊ ሲሆን እና በፈተናዎች ውስጥ ብቻ ነው፣ለምሳሌ መስመር //go:debug rsa1024min=0 ወደ የሙከራ ፋይል በማከል። አዲስ ምሳሌ GenerateKey መደበኛ 2024-ቢት የሙከራ ቁልፍ ለመጠቀም ቀላል ነው።
አሁን ለመደወል የበለጠ ደህንነቱ የተጠበቀ እና የበለጠ ቀልጣፋ ነው። PrivateKey.ቅድመ-መቁጠር ወደ የግል ቁልፍ። አረጋግጥ. በከፊል ተሞልቶ በሚኖርበት ጊዜ ቅድመ ስሌት አሁን ፈጣን ነው። ቀድሞ የተቆጠሩ እሴቶችለምሳሌ ከJSON ቁልፍ ሲያወጡ።
ጥቅሉ አሁን ማረጋገጫ ባይጠራም እንኳ ተጨማሪ ልክ ያልሆኑ ቁልፎችን ውድቅ ያደርጋል፣ እና GenerateKey አሁን ለተበላሹ የዘፈቀደ ምንጮች አዲስ ስህተቶችን መመለስ ይችላል። መስኮች ፕራይምስ። и አስቀድሞ የተሰላ መዋቅሮች የግል ቁልፍ አሁን ጥቅም ላይ የዋሉ እና አንዳንድ እሴቶች በሚጠፉበት ጊዜ እንኳን የተረጋገጡ ናቸው. ከዚህ በታች የተገለጹትን የRSA ቁልፎችን ለመተንተን እና ለማውጣት በ crypto/x509 ላይ ለውጦችም አሉ።
ይመዝገቡPKCS1v15 и ፒኬሲኤስ1v15 አረጋግጥ አሁን SHA-512/224፣ SHA-512/256 እና SHA-3ን ይደግፉ።
GenerateKey አሁን የግል አርቢውን ለማመንጨት ትንሽ ለየት ያለ ዘዴ ይጠቀማል (ከኡለር ተግባር ይልቅ የካርሚኬል ተግባር)። ከዋና ቁጥሮች ብቻ ቁልፎችን በውጪ የሚያድሱ ብርቅዬ አፕሊኬሽኖች የተለያዩ ግን ተኳሃኝ ውጤቶችን ሊያመጡ ይችላሉ።
በሕዝብ እና በግል ቁልፎች ላይ የሚሰሩ ስራዎች አሁን በ wasm ላይ እስከ ሁለት እጥፍ ፈጣን ናቸው።
ክሪፕቶ/ሻ*
- crypto/sha1: የመመለሻ ዋጋ sha1.አዲስ አሁን ደግሞ በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender.
- crypto/sha256: እሴቶች ተመልሰዋል sha256.አዲስ и sha256.አዲስ224 አሁን ደግሞ በይነገጹን ይተግብሩ ኢንኮዲንግ.binaryappender.
- crypto/sha512: እሴቶች ተመልሰዋል sha512.አዲስ, sha512.አዲስ384, sha512.አዲስ512_224 и sha512.አዲስ512_256, አሁን ደግሞ በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.binaryappender.
ክሪፕቶ/ስውር
አዲስ ባህሪ በDataIndependentTiming አንዳንድ መመሪያዎች ከውሂቡ ዋጋ ጊዜ አንጻር አለመቀየሩን የሚያረጋግጡ በሥነ ሕንፃ-ተኮር ባህሪያት ተጠቃሚው አንድን ተግባር እንዲፈጽም ያስችለዋል። ይህ በቋሚ ጊዜ እንዲሰራ የተፃፈው ኮድ በተለዋዋጭ ጊዜ እንዲሰራ በአቀነባባሪ ደረጃ ተግባራት እንዳልተሻሻለ ለማረጋገጥ ሊያገለግል ይችላል። በአሁኑ ጊዜ WithDataIndependentTiming በ arm64 ላይ PSTATE.DIT ቢት ይጠቀማል እና በሁሉም ሌሎች አርክቴክቸር ላይ ምንም አይሰራም። GODEBUGን በማዋቀር ላይ datataindependenttiming=1 ለጠቅላላው የ Go ፕሮግራም የ DIT ሁነታን ያስችላል።
መደምደሚያ XORBytes ከግብአት ጋር ሙሉ በሙሉ መደራረብ አለበት ወይም ጨርሶ መሆን የለበትም። ከዚህ ቀደም ባህሪው ያለበለዚያ አልተገለጸም ነበር፣ አሁን ግን XORBytes ይደነግጣሉ።
crypto/tls
የTLS አገልጋይ አሁን ኢንክሪፕትድድ ደንበኛ ሄሎ (ኢ.ሲ.ኤች.) ይደግፋል። ይህ ባህሪ መስኩን በመሙላት ሊነቃ ይችላል። ማዋቀር.የተመሰጠረ ደንበኛHello ቁልፎች.
አዲስ የድህረ-ኳንተም ቁልፍ ልውውጥ ዘዴ X25519MLKEM768 አሁን የሚደገፍ እና በነባሪ ጊዜ የነቃ Config.CurvePreferences አይደለም. GODEBUGን በማዋቀር ላይ tlsmlkem=0 ነባሪ ይመልሳል።
ለሙከራ X25519Kyber768Draft00 ቁልፍ ልውውጥ ድጋፍ ተወግዷል።
የቁልፍ ልውውጡ ትዕዛዝ አሁን ሙሉ በሙሉ በ crypto/tls ጥቅል ነው የሚስተናገደው። ማዘዝ Config.CurvePreferences አሁን ችላ ይባላል እና ይዘቱ ጥቅም ላይ የሚውለው መስኩ በሚሞላበት ጊዜ የትኞቹ የቁልፍ ልውውጦች እንደሚካተቱ ለመወሰን ብቻ ነው.
አዲስ መስክ ClientHelloInfo.ቅጥያዎች በ Client Hello መልእክት ውስጥ የተቀበሉትን የኤክስቴንሽን መለያዎች ዝርዝር ይዘረዝራል። ይህ የTLS ደንበኞችን አሻራ ለማተም ጠቃሚ ሊሆን ይችላል።
crypto/x509
GODEBUGን በማዋቀር ላይ x509sha1 ተወግዷል። ማረጋገጫ። አረጋግጥ ከእንግዲህ በSHA-1 ላይ የተመሰረቱ ፊርማዎችን አይደግፍም።
ኦይድ አሁን በይነገጾችን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender и ኢንኮዲንግ.TextAppender.
የነባሪ የምስክር ወረቀት ፖሊሲ መስክ ተቀይሯል። ሰርተፍኬት.የፖሊሲ መለያዎች ላይ የምስክር ወረቀት.መመሪያዎች. የምስክር ወረቀቶችን በሚተነተንበት ጊዜ ሁለቱም መስኮች ይሞላሉ ነገር ግን የምስክር ወረቀት ፖሊሲ ሲፈጥሩ ከሰርቲፊኬት ይወሰዳሉ.PolicyIdentifiers ከማለት ይልቅ የፖሊሲዎች መስክ. ይህ ለውጥ ሊመለስ ይችላል። GODEBUG ማዋቀር x509የአጠቃቀም ፖሊሲዎች=0።
ሰርተፍኬት ይፍጠሩ የአብነት መስክ ሲያልፉ አሁን RFC 5280 ታዛዥ ዘዴን በመጠቀም የመለያ ቁጥር ያመነጫል። ሰርተፍኬት.ተከታታይ ቁጥር ኒል, ከመጋጨት ይልቅ.
ሰርተፍኬት።አረጋግጥ አሁን በ RFC 5280 እና RFC 9618 እንደተገለጸው የፖሊሲ ማረጋገጫን ይደግፋል። አዲስ መስክ አማራጮችን ያረጋግጡ።የሰርቲፊኬት ፖሊሲዎች ተቀባይነት ወዳለው የፖሊሲዎች ስብስብ ሊዋቀር ይችላል። ኦአይዲዎች. ትክክለኛ የመመሪያ ግራፎች ያሏቸው የምስክር ወረቀቶች ብቻ ይመለሳሉ ሰርተፍኬት።አረጋግጥ.
ማርሻልPKCS8የግል ቁልፍ አሁን የተሳሳተ የRSA ቁልፍ ከማንሳት ይልቅ ስህተት ይመልሳል። (ማርሻልPKCS1የግል ቁልፍ የስህተት መመለስ የለውም እና ልክ ያልሆኑ ቁልፎች ሲቀርቡ ባህሪው ሳይገለጽ ይቆያል።)
ParsePKCS1PrivateKey и ParsePKCS8PrivateKey አሁን የተመሰጠሩ የCRT እሴቶችን ተጠቀም እና አረጋግጥ፣ ስለዚህ ከዚህ ቀደም ተቀባይነት ያላቸውን ልክ ያልሆኑ የRSA ቁልፎችን አለመቀበል ትችላለህ። አጠቃቀም GODEBUG ቅንብሮች x509rsacrt=0 የCRT እሴቶችን እንደገና ለማስላት ይመለሳል።
ማረም/elf
ጥቅል ማረም/elf በተለዋዋጭ ELF (ተፈፃሚ እና ሊገናኝ የሚችል ቅርጸት) ፋይሎች ውስጥ የምልክት ስሪቶችን ለማስተናገድ ድጋፍን ይጨምራል። አዲስ ዘዴ ፋይል.ተለዋዋጭ ስሪቶች በELF ፋይል ውስጥ የተገለጹ የተለዋዋጭ ስሪቶች ዝርዝር ያወጣል። አዲስ ዘዴ File.DynamicVersionNeeds በዚህ ELF ፋይል የሚፈለጉትን ተለዋዋጭ ስሪቶች ዝርዝር ይመልሳል በሌሎች የELF ነገሮች ውስጥ የተገለጹ። በመጨረሻም, አዳዲስ መስኮች ምልክት.HasVersion и ምልክት.ስሪት ኢንዴክስ የምልክቱን ስሪት አመልክት.
ምስጠራ
ሁለት አዳዲስ በይነገጾች TextAppender и BinaryAppender የአንድ ነገር ጽሑፍ ወይም ሁለትዮሽ ውክልና ወደ ባይት ቁራጭ ለመጨመር አስተዋውቀዋል። እነዚህ በይነገጾች ተመሳሳይ ተግባር ይሰጣሉ ጽሑፍማርሻለር и BinaryMarshalerነገር ግን በእያንዳንዱ ጊዜ አዲስ ቁራጭ ከመመደብ ይልቅ ውሂብን በቀጥታ ወደ ነባር ቁራጭ ያክላሉ። እነዚህ በይነገጾች በአሁኑ ጊዜ TextMarshalerን እና/ወይም BinaryMarshalerን በሚተገበሩ መደበኛ የቤተ-መጻህፍት ዓይነቶች ይተገበራሉ።
ኢንኮዲንግ/json
በሚገነቡበት ጊዜ፣ በመዋቅር መስክ መለያው ውስጥ ያለው አዲሱ omitzero አማራጭ ያለው የመዋቅር መስክ ዋጋው ዜሮ ከሆነ ይጠፋል። የመስክ አይነት የ IsZero() bool ዘዴ ካለው እሴቱ ዜሮ መሆኑን ለመወሰን ይጠቅማል። አለበለዚያ ዋጋው ዜሮ ከሆነ ለእሱ ዓይነት ባዶ እሴት. የ omitzero መስክ መለያው ዓላማው ባዶ እሴቶችን ለመተው ሲችል ከመጥፎነት የበለጠ ንጹህ እና ለስህተት የተጋለጠ ነው። በተለይም እንደ መዘናጋት በተቃራኒ ኦቲሴሮ ዜሮዎችን ይተዋል ጊዜ.ጊዜ የተለመዱ የችግሮች ምንጭ የሆኑ እሴቶች.
ሁለቱም omitempty እና omitzero ከተገለጹ እሴቱ ባዶ ወይም ዜሮ (ወይም ሁለቱም) ከሆነ መስኩ ይቀራል።
UnmarshalType ስህተት.መስክ አሁን የበለጠ ዝርዝር የስህተት መልዕክቶችን ለማቅረብ አብሮ የተሰሩ መዋቅሮችን ያካትታል።
ሂድ/አይነቶች
እንደ Len() int እና At(int)T ያሉ የጥምር ዘዴዎችን ቅደም ተከተሎች የሚያጋልጡ ሁሉም go/አይነቶች የውሂብ አወቃቀሮች፣ አሁን ደግሞ ተደጋጋሚ የሚመልሱ ዘዴዎች አሏቸው፣ ይህም ቀላል ኮድ እንደዚህ ይመስላል።
params := fn.Type.(*ዓይነቶች.ፊርማ)።ፓራም() ለ i:= 0; እኔ < params. Len (); i++ {ተጠቀም(params.At(i)))}
በዚህ ላይ፡-
ለፓራም፡= ክልል fn.ፊርማ()ፓራምስ()።ተለዋዋጮች() {አጠቃቀም(param)}
ዘዴዎች፡- በይነገጽ.የተከተተ አይነቶች በይነገጽ.ግልጽ ዘዴዎች በይነገጽ. ዘዴዎች MethodSet.ዘዴዎች የተሰየሙ. ዘዴዎች ወሰን.ልጆች መዋቅር.መስኮች Tuple.ተለዋዋጮች የዝርዝር ዓይነት.አይነቶች ፓራም ዝርዝር.TypeParams ህብረት. ውሎች
ሃሽ/*
- hash/adler32: የመመለሻ ዋጋ አዲስ, አሁን ደግሞ በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender
- hash/crc32: እሴቶች ተመልሰዋል አዲስ и NewIEEE, አሁን ደግሞ በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.binaryappender
- hash/crc64: የመመለሻ ዋጋ አዲስ, አሁን ደግሞ በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender
- hash/fnv: እሴቶች ተመልሰዋል New32 አዲስ32 ሀ New64 አዲስ64 ሀ New128 и አዲስ128 ሀ, አሁን ደግሞ በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.binaryappender
- hash/maphashአዲስ ባህሪያት ተመጣጣኝ и ሊወዳደር የሚችል ፃፍ ሊነፃፀር የሚችለውን ማንኛውንም እሴት ሃሽ ማስላት ይችላል። ይህ እንደ Go መዝገበ-ቃላት ቁልፍ ሊያገለግል የሚችል ማንኛውንም ነገር ሃሽ እንድታደርግ ያስችልሃል።
log/slog
አዲስ አስወግድ ሃንደርለር በጭራሽ ያልነቃ እና ሁልጊዜ ውጤቱን የሚጥስ ተቆጣጣሪ ነው።
ደረጃ и ደረጃቫር አሁን በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.TextAppender.
ሂሳብ/*
- ሒሳብ / ትልቅ: ተንሳፋፊ, int и አይጥ አሁን በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.TextAppender.
- ሒሳብ / ራንድየተቋረጡ የከፍተኛ ደረጃ የተግባር ጥሪዎች ዘር ከአሁን በኋላ ምንም ውጤት አይኖረውም. የድሮውን ባህሪ ለመመለስ, መጠቀም ይችላሉ GODEBUG ማዋቀር randseednop=0 ተጨማሪ አውድ በ 67273 አቅርቧል.
- ሒሳብ/ራንድ/v2: ChaCha8 и PCG አሁን በይነገጹን ተግባራዊ ያድርጉ ኢንኮዲንግ.binaryappender.
የተጣራ
ListenCondig አሁን MPTCP በነባሪ በሚደገፍባቸው ስርዓቶች ላይ ይጠቀማል (በአሁኑ ጊዜ ሊኑክስ ብቻ)።
IP አሁን በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.TextAppender.
net/http
እገዳው ተቀይሯል። ትራንስፖርት ለጥያቄው ምላሽ ለተቀበሉት 1xx መረጃ ምላሾች። ከዚህ ቀደም ይህ ጥያቄውን ያቆመው እና ከ 5 1xx ምላሾች ከተቀበለ በኋላ ስህተትን ይመልሳል. ይህ አሁን ስህተትን ይመልሳል የሁሉም 1xx ምላሾች አጠቃላይ መጠን ከማዋቀር ቅንብሩ በላይ ከሆነ ብቻ ነው። ትራንስፖርት.MaxResponseHeaderBytes.
እንዲሁም፣ ጥያቄ የመከታተያ መንጠቆ ሲኖረው net/http/httptrace.ClientTrace.Got1xxResponse, አሁን በጠቅላላው የመልሶች ቁጥር 1xx ላይ ምንም ገደብ የለም. የGot1xxResponse መንጠቆው ጥያቄውን ለማስቆም ስህተትን ሊመልስ ይችላል።
ትራንስፖርት и አገልጋይ አሁን የኤችቲቲፒ/2 ፕሮቶኮል ቅንብሮችን ማዋቀር የሚያስችል የኤችቲቲፒ2 መስክ አለዎት።
አዳዲስ መስኮች አገልጋይ.ፕሮቶኮሎች и ትራንስፖርት.ፕሮቶኮሎች አገልጋዩ ወይም ደንበኛው የሚጠቀምባቸውን HTTP ፕሮቶኮሎች ለማዋቀር ቀላል መንገድ ያቅርቡ።
አገልጋዩ እና ደንበኛው ያልተመሰጠሩ HTTP/2 ግንኙነቶችን ለመደገፍ መዋቀር ይችላሉ።
መቼ አገልጋይ.ፕሮቶኮሎች UnencrypterHTTP2 ይዟል፣ አገልጋዩ HTTP/2 ግንኙነቶችን ባልተመሰጠሩ ወደቦች ይቀበላል። አገልጋዩ ሁለቱንም HTTP/1 እና ያልተመሰጠረ HTTP/2 መቀበል ይችላል።
መቼ ትራንስፖርት.ፕሮቶኮሎች ያልተመሰጠረ ኤችቲቲፒ2 ይዟል እና HTTP1 አልያዘም፣ መጓጓዣው ያልተመሰጠረ HTTP/2 ለአድራሻዎች ይጠቀማል። http://. ትራንስፖርት ሁለቱንም HTTP/1 እና ያልተመሰጠረ HTTP/2 ለመጠቀም ከተዋቀረ HTTP/1 ይጠቀማል።
ላልተመሰጠረ HTTP/2 ድጋፍ "HTTP/2 with Forward-Learning" (RFC 9113፣ ክፍል 3.3) ይጠቀማል። የተቋረጠው ራስጌ "Upgrade: h2c" አይደገፍም።
የተጣራ / ኔትፕ
ጨማሪ, አድርፖርት и ቅድመ ቅጥያ አሁን መገናኛዎችን ተግብር ኢንኮዲንግ.binaryappender и ኢንኮዲንግ.TextAppender.
net/url
ዩ አር ኤል አሁን ደግሞ በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender.
os/ተጠቃሚ
በዊንዶው ላይ የአሁኑ አሁን በዊንዶውስ ናኖ አገልጋይ ውስጥ መጠቀም ይቻላል. ከናኖ አገልጋይ ከጠፋው ከNetApi32 ቤተ-መጽሐፍት የሚመጡ ተግባራትን ላለመጠቀም አተገባበሩ ተዘምኗል።
በዊንዶው ላይ የአሁኑ, ፈልግ и LookupId አሁን የሚከተሉትን አብሮገነብ የተጠቃሚ አገልግሎት መለያዎችን ይደግፋል።
- የአዲስ ኪዳን ባለሥልጣን
- NT ባለስልጣን የአካባቢ አገልግሎት
- የአዲሲቷሪቲኔት አገልግሎት
በዊንዶው ላይ የአሁኑ የአሁን ተጠቃሚ ወደ ቀርፋፋ ጎራ ሲቀላቀል በከፍተኛ ሁኔታ ፍጥነቱን አሳይቷል፣ ይህ ለብዙ የድርጅት ተጠቃሚዎች የተለመደ ጉዳይ ነው። የአዲሱ ትግበራ አፈፃፀሙ አሁን ካለፈው አተገባበር ጋር ሲነፃፀር በሚሊሰከንዶች ደረጃ ላይ ይገኛል፣ይህም ለመጠናቀቅ ብዙ ሰከንድ እና ደቂቃዎችን ሊወስድ ይችላል።
በዊንዶው ላይ የአሁኑ የአሁኑ ተከታታይ ሌላ ተጠቃሚን ሲያስመስል አሁን የሂደቱን ባለቤት ተጠቃሚ ይመልሳል። ከዚህ ቀደም ይህ ስህተት መለሰ።
regexp
Regexp አሁን በይነገጹን ተግባራዊ ያደርጋል ኢንኮዲንግ.TextAdapter.
አሂድ
ሥራ ጎርዖት አሁን ተቋርጧል። በአዲስ አከባቢዎች የ"go" ሁለትዮሽ ለመወሰን የስርዓት ዱካውን መጠቀም መምረጥ አለቦት እና GOROOTን ለመወሰን go env GOROOT ይጠቀሙ።
ሕብረቁምፊዎች
ጥቅል ሕብረቁምፊዎች ከድግግሞሾች ጋር ለመስራት ብዙ ተግባራትን ያክላል-
- መስመሮች በሕብረቁምፊ ውስጥ በአዲስ መስመር የተለዩ መስመሮች ላይ አንድ ተደጋጋሚ ይመልሳል።
- SplitSeq በሁሉም የሕብረቁምፊ ንኡስ ሕብረቁምፊዎች ላይ በመለያ ተለያይቷል።
- SplitAfterSeq ከሕብረቁምፊው ንዑስ ሕብረቁምፊዎች በላይ ድግግሞሽ ይመልሳል፣ ከያንዳንዱ የመለያያ ክስተት በኋላ ይከፈላል።
- FieldsSeq እንደተገለጸው በተከታታይ የነጭ ቦታ ቁምፊዎች ዙሪያ ባለ ሕብረቁምፊ ንዑስ ሕብረቁምፊዎች ላይ ድግግሞሽ ይመልሳልዩኒኮድ.IsSpace
- መስኮችFuncSeq ተሳቢን በሚያረኩ የዩኒኮድ ነጥቦች ቅደም ተከተል ዙሪያ በሕብረቁምፊ ንዑስ ሕብረቁምፊዎች ላይ አንድ ተደጋጋሚ ያወጣል።
ሥምሪያ
ትግበራ ማመሳሰል.ካርታ አፈጻጸምን ለማሻሻል በተለይም ለመዝገበ-ቃላት ለውጦች ተለውጧል። ለምሳሌ፣ የተከፋፈለ ስብስብ ለውጥ ውዝግብ በትልልቅ መዝገበ-ቃላቶች ላይ ያነሰ ነው፣ እና ዝቅተኛ የክርክር መዝገበ-ቃላት ጭነትን ለማግኘት የመገንባት ጊዜ አይፈልግም።
ምንም አይነት ችግር ካጋጠመዎት በግንባታው ወቅት ወደ ቀድሞው ትግበራ ለመመለስ GOEXPERIMENT=nosynchashtriemap ያቀናብሩ እና እባክዎን የችግር ቅጹን ይሙሉ.
ሙከራ
አዳዲስ ዘዴዎች ቲ. አውድ и ቢ.አውድ ፈተናው ካለቀ በኋላ እና የሙከራ ማጽጃ ተግባራት ከመፈጸሙ በፊት የተጣለ አውድ ይመልሱ።
አዳዲስ ዘዴዎች T.Chdir и B.Chdir ለሙከራ ወይም ለቤንችማርክ ጊዜ የሥራ ማውጫውን ለመቀየር ሊያገለግል ይችላል።
ጽሑፍ / አብነት
አብነቶች አሁን ክልል-over-func እና ክልል-over-intን ይደግፋሉ።
ጊዜ
ጊዜ አሁን በይነገጾችን ተግባራዊ ያደርጋል ኢንኮዲንግ.binaryappender и ኢንኮዲንግ.TextAppender.
በወደቦች
ሊኑክስ
እንደነበረው አስታወቀ በ Go 1.23 የመልቀቂያ ማስታወሻዎች መሰረት፣ Go 1.24 የሊኑክስ ከርነል ስሪት 3.2 ወይም ከዚያ በላይ ያስፈልገዋል።
ዳርዊን
Go 1.24 በ macOS 11 Big Sur ላይ የሚሰራው የመጨረሻው ልቀት ነው። Go 1.25 macOS 12 Monterey ወይም ከዚያ በኋላ ያስፈልገዋል።
WebAssembly
ተግባራትን ወደ WebAssembly አስተናጋጅ ለመላክ የ go:wasmexport የማጠናከሪያ መመሪያ ወደ Go ፕሮግራሞች ተጨምሯል።
በWebAssembly System Interface Preview 1 (GOOS=wasip1 GOARCH=wasm) Go 1.24 የ Go ፕሮግራም መገንባትን ይደግፋል። ሬአክተር/ላይብረሪ የግንባታ ባንዲራ -buildmode=c-sharedን በመግለጽ።
ተጨማሪ አይነቶች አሁን እንደ ክርክር ወይም የውጤት አይነቶች ለ go:wasmimport ተግባራት ተፈቅደዋል። በተለይ ቡል፣ string፣ uintptr እና ጠቋሚዎች ለተወሰኑ አይነቶች ተፈቅደዋል (ዝርዝሩን ይመልከቱ ሰነድ), ከ 32-ቢት እና 64-ቢት ኢንቲጀር እና ተንሳፋፊ-ነጥብ ዓይነቶች ጋር, እና ደህንነቱ ያልተጠበቀ. ጠቋሚ, አስቀድሞ የተፈቀዱ. እነዚህ ዓይነቶች እንደ ክርክር ወይም የውጤት አይነቶች ለ go:wasmexport ተግባራት ተፈቅደዋል።
ለWebAssembly የድጋፍ ፋይሎች ወደ lib/wasm ከ misc/wasm ተወስደዋል።
በተለይ ለአነስተኛ WebAssembly አፕሊኬሽኖች የመነሻ ማህደረ ትውስታ አሻራ በከፍተኛ ሁኔታ ቀንሷል።
የ Windows
ባለ 32-ቢት መስኮቶች/ክንድ ወደብ (GOOS=መስኮቶች GOARCH=ክንድ) የተሰበረ ምልክት ተደርጎበታል። ዝርዝሮች በ #70705
ምንጭ: linux.org.ru
