1.24 க்குச் செல்லவும்

1.24 க்குச் செல்லவும்

ஆறு மாதங்களுக்குப் பிறகு, கோ மொழியின் புதிய வெளியீடு, பதிப்பு 1.24 வருகிறது. 1.23 க்குச் செல்லவும். பெரும்பாலான மாற்றங்கள் கருவிச்சங்கிலி, இயக்க நேரம் மற்றும் நூலகங்களை செயல்படுத்துவதில் உள்ளன. எப்போதும் போல, வெளியீடு வழங்குகிறது பொருந்தக்கூடிய வாக்குறுதி கோ 1. மொழி வடிவமைப்பாளர்கள் கிட்டத்தட்ட அனைத்து கோ நிரல்களும் முன்பு போலவே தொகுத்து இயங்கும் என்று எதிர்பார்க்கிறார்கள்.

மொழியில் மாற்றங்கள்

கோ 1.24 இப்போது முழுமையாக ஆதரிக்கிறது பொதுவான வகை மாற்றுப்பெயர்கள்: ஒரு வகை மாற்றுப்பெயரை அறிவிக்கப்பட்ட வகையாக அளவுருவாக்கலாம். விவரங்கள் மொழி விவரக்குறிப்புகள். இப்போதைக்கு, இந்த அம்சத்தை GOEXPERIMENT=noaliastypeparams அமைப்பதன் மூலம் முடக்கலாம்; இருப்பினும், aliastypeparams விருப்பம் Go 1.25 இல் நீக்கப்படும்.

கருவிகள்

கோ கட்டளை

go.mod இல் உள்ள கருவி கட்டளையைப் பயன்படுத்தி Go தொகுதிகள் இப்போது செயல்படுத்தக்கூடிய சார்புகளைக் கண்காணிக்க முடியும். இது "tools.go" என்று பொதுவாக அழைக்கப்படும் ஒரு கோப்பில் வெற்று இறக்குமதிகளாக கருவிகளைச் சேர்ப்பதற்கான முந்தைய தீர்வின் தேவையை நீக்குகிறது. Go கருவி கட்டளை இப்போது Go உடன் வரும் கருவிகளுடன் கூடுதலாக இந்தக் கருவிகளையும் இயக்க முடியும். மேலும் தகவல்களை இங்கே காணலாம் ஆவணங்கள்.

go get க்கான புதிய -tool கொடி, require directives ஐச் சேர்ப்பதோடு கூடுதலாக, குறிப்பிட்ட தொகுப்புகளுக்கான தற்போதைய தொகுதியில் tool directives ஐச் சேர்க்க காரணமாகிறது.

புதிய மெட்டா-வடிவக் கருவி தற்போதைய தொகுதியில் உள்ள அனைத்து கருவிகளையும் குறிக்கிறது. இதைப் பயன்படுத்தி, go get கருவி வழியாக அவற்றைப் புதுப்பிக்கலாம் அல்லது go install கருவி வழியாக உங்கள் GOBIN கோப்பகத்தில் நிறுவலாம்.

go run வழியாக உருவாக்கப்பட்ட இயக்கக்கூடியவை மற்றும் புதிய go கருவி நடத்தை இப்போது Go build cache இல் தற்காலிகமாக சேமிக்கப்படுகின்றன. அதிகரித்த தற்காலிக சேமிப்பு காரணமாக இது மீண்டும் மீண்டும் தொடங்குவதை சாத்தியமாக்குகிறது. #69290.

go build மற்றும் go install கட்டளைகள் இப்போது -json கொடியை ஏற்றுக்கொள்கின்றன, இது நிலையான வெளியீட்டில் கட்டமைக்கப்பட்ட JSON வெளியீடாக உருவாக்க வெளியீடு மற்றும் பிழைகளைப் புகாரளிக்கிறது. வடிவமைப்பு விவரங்களை go help buildjson இல் காணலாம்.

மேலும், go test -json இப்போது JSON இல் வெளியீட்டைப் புகாரளித்து, JSON சோதனை முடிவுடன் கலந்த பிழைகளை உருவாக்குகிறது. புதிய செயல் வகைகளால் அவற்றை வேறுபடுத்தி அறியலாம், ஆனால் அவை சோதனை ஒருங்கிணைப்பு அமைப்பில் சிக்கல்களை ஏற்படுத்தினால், நீங்கள் கட்டமைப்பின் உரை வெளியீட்டிற்குத் திரும்பலாம். GODEBUG அமைப்பு உரையை உருவாக்கு = 1.

புதிய GOAUTH சூழல் மாறி, தனியார் தொகுதி இழுப்புகளை அங்கீகரிக்க ஒரு நெகிழ்வான வழியை வழங்குகிறது. go help goauth இல் விவரங்களைக் காணலாம்.

go build கட்டளை இப்போது நிறுவப்பட்டுள்ளது. பிரதான தொகுதியின் பதிப்பு தொகுக்கப்பட்ட பைனரியில், ஒரு டேக் மற்றும்/அல்லது ஒரு பதிப்பு கட்டுப்பாட்டு உறுதிப்பாட்டின் அடிப்படையில். செய்யப்படாத மாற்றங்கள் இருந்தால் +dirty என்ற பின்னொட்டு சேர்க்கப்படும். பைனரியிலிருந்து பதிப்பு கட்டுப்பாட்டுத் தகவலைத் தவிர்க்க -buildvcs=false கொடியைப் பயன்படுத்தலாம்.

புதிய GODEBUG அமைப்பு கருவிச்சங்கிலித் தடயம்=1 இப்போது go கட்டளையில் toolchain தேர்வு செயல்முறையைக் கண்காணிக்கப் பயன்படுத்தலாம்.

Cgo

இயக்க நேர செயல்திறனை மேம்படுத்த C செயல்பாடுகளுக்கான புதிய குறிப்புகளை Cgo ஆதரிக்கிறது. #cgo noescape cFunctionName, C செயல்பாட்டிற்கு அனுப்பப்பட்ட நினைவகம் cFunctionName தப்பிக்கவில்லை என்று தொகுப்பாளரிடம் கூறுகிறது. #cgo nocallback cFunctionName, C செயல்பாடு cFunctionName எந்த Go செயல்பாடுகளையும் திரும்ப அழைக்காது என்று தொகுப்பிக்குச் சொல்கிறது. மேலும் தகவல்களை இங்கே காணலாம் cgo ஆவணங்கள்.

Cgo தற்போது பல பொருந்தாத அறிவிப்புகளைக் கொண்ட C செயல்பாட்டிற்கு அழைப்புகளைத் தொகுக்க மறுக்கிறது. உதாரணமாக, f என்பது void f(int) மற்றும் void f(double) என அறிவிக்கப்பட்டால், cgo என்பது ஒரு தவறான அழைப்பு வரிசை f(0) ஐ உருவாக்குவதற்குப் பதிலாக ஒரு பிழையைப் புகாரளிக்கும். இந்த வெளியீட்டில் புதியது, வெவ்வேறு கோப்புகளில் பொருந்தாத அறிவிப்புகள் தோன்றும்போது இந்தப் பிழை நிலையைக் கண்டறிவதை மேம்படுத்துவதாகும். #67699.

பொருள் டம்ப்

objdump கருவி இப்போது 64-பிட் LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), மற்றும் S390X (GOARCH=s390x) ஆகியவற்றில் பிரித்தெடுப்பதை ஆதரிக்கிறது.

வெட்

புதிய சோதனை பகுப்பாய்வி, சோதனைத் தொகுப்புகளில் உள்ள சோதனை, ஃபஸ்ஸர், பெஞ்ச்மார்க் மற்றும் எடுத்துக்காட்டு அறிவிப்புகளில் பொதுவான பிழைகளைப் புகாரளிக்கிறது, அதாவது தவறான பெயர்கள், செல்லாத கையொப்பங்கள் அல்லது இல்லாத அடையாளங்காட்டிகளை ஆவணப்படுத்தும் எடுத்துக்காட்டுகள். இந்தப் பிழைகளில் சில சோதனைகள் தோல்வியடையக் காரணமாக இருக்கலாம்.

தற்போதுள்ள printf பாகுபடுத்தி, fmt.Printf(s) வடிவத்தின் அழைப்புகளுக்கான கண்டறிதல்களைப் புகாரளிக்கிறது, இங்கு s என்பது வேறு எந்த வாதங்களும் இல்லாத ஒரு நிலையான வடிவமைப்பு சரமாகும். s இன் மதிப்பில் % எழுத்து இருக்கலாம் என்பதால், இதுபோன்ற அழைப்புகள் எப்போதும் பிழையாகவே இருக்கும்; அதற்கு பதிலாக fmt.Print ஐப் பயன்படுத்தவும். 60529. இந்தச் சரிபார்ப்பு ஏற்கனவே உள்ள குறியீட்டில் உள்ள விஷயங்களைக் கண்டறிய முனைகிறது, எனவே மொழிப் பதிப்பு (go.mod கோப்பின் go உத்தரவு அல்லது `//go:build` கருத்துகளால் குறிப்பிடப்பட்டுள்ளபடி) குறைந்தபட்சம் Go 1.24 ஆக இருக்கும்போது மட்டுமே பயன்படுத்தப்படும், இது Go 1.24 கருவித்தொகுப்புக்கு மேம்படுத்தும்போது நீண்ட ஒருங்கிணைப்பு முறிவுகளை ஏற்படுத்துவதைத் தவிர்க்கும்.

தவறான பில்ட் டேக் இருக்கும்போது, ​​தற்போதுள்ள பில்ட் டேக் பகுப்பாய்வி இப்போது நோயறிதலைப் புகாரளிக்கிறது. பழைய பதிப்பு உருவாக்க வரம்பு //go:build directive-க்குள் செல்லவும். உதாரணமாக, //go:build go1.23.1 என்பது ஒரு புள்ளி வெளியீட்டைக் குறிக்கிறது; அதற்கு பதிலாக //go:build go1.23 ஐப் பயன்படுத்தவும். #64127.

i := iter() போன்ற மூன்று "for" லூப்பில் ஒரு மாறி அறிவிக்கப்படும்போது, ​​தற்போதுள்ள copylock பகுப்பாய்வி இப்போது ஒரு நோயறிதலைப் புகாரளிக்கிறது; முடிந்தது(i); i = அடுத்த(i) { … }, sync.Mutex போன்ற sync.Locker ஐக் கொண்டுள்ளது. 1.22 க்குச் செல்லவும் ஒவ்வொரு மறு செய்கைக்கும் ஒரு புதிய மாறியை உருவாக்க, முந்தைய மறு செய்கையிலிருந்து மதிப்புகளை நகலெடுக்க, அத்தகைய சுழல்களின் நடத்தையை மாற்றியது; இந்த நகலெடுப்பது பூட்டுகளுக்கு பாதுகாப்பானது அல்ல. #66387.

கோகாசெப்ராக்

cmd/go கருவிக்கும் GOCACHEPROG சூழல் மாறியால் பெயரிடப்பட்ட குழந்தை செயல்முறைக்கும் இடையில் ஒரு JSON நெறிமுறையை செயல்படுத்தும் குழந்தை செயல்முறைகள் மூலம் உள் cmd/go பைனரி மற்றும் சோதனை கேச்சிங் பொறிமுறையை இப்போது செயல்படுத்த முடியும். முன்பு இது GOEXPERIMENT-க்காக இருந்தது. நெறிமுறையின் விவரங்களை இங்கே காணலாம் ஆவணங்கள்.

நிறைவு நேரம்

பல இயக்க நேர செயல்திறன் மேம்பாடுகள், பிரதிநிதித்துவ அளவுகோல்களின் தொகுப்பில் சராசரியாக CPU மேல்நிலையை 2-3% குறைத்தன. பயன்பாட்டைப் பொறுத்து முடிவுகள் மாறுபடலாம். இந்த மேம்பாடுகளில் ஒரு புதிய உள்ளமைக்கப்பட்ட வரைபட செயல்படுத்தல் அடங்கும், இதன் அடிப்படையில் ஸ்வீடிஷ் மேசைகள், சிறிய பொருள் நினைவகத்தின் மிகவும் திறமையான ஒதுக்கீடு மற்றும் மியூடெக்ஸின் புதிய உள் இயக்க நேர செயல்படுத்தல்.

புதிய உள்ளமைக்கப்பட்ட வரைபட செயல்படுத்தல் மற்றும் புதிய உள் இயக்க நேர மியூடெக்ஸை உருவாக்க நேரத்தில் முறையே GOEXPERIMENT=noswissmap மற்றும் GOEXPERIMENT=nospinbitmutex என அமைப்பதன் மூலம் முடக்கலாம்.

தொகுப்பாளர்

cgo ஆல் உருவாக்கப்பட்ட ரிசீவர் வகைகளுடன் புதிய முறைகளை வரையறுப்பதை தொகுப்பி ஏற்கனவே தடைசெய்திருந்தது, ஆனால் ஒரு வகை மாற்றுப்பெயர் மூலம் இந்தக் கட்டுப்பாட்டைச் சுற்றி வேலை செய்வது சாத்தியமானது. நேரடியாகவோ அல்லது மறைமுகமாகவோ (வகை மாற்றுப்பெயர் வழியாக) cgo-உருவாக்கப்பட்ட வகையை ரிசீவர் குறித்தால், Go 1.24 இப்போது எப்போதும் ஒரு பிழையைப் புகாரளிக்கிறது.

இணைப்பான்

இணைப்பான் இப்போது ELF தளங்களில் ஒரு GNU கட்டமைப்பு அடையாளங்காட்டியை (ELF உள்ளீடு NT_GNU_BUILD_ID) உருவாக்குகிறது மற்றும் முன்னிருப்பாக macOS இல் ஒரு UUID (Mach-O சுமை கட்டளை LC_UUID) ஐ உருவாக்குகிறது. பில்ட் ஐடி அல்லது UUID, கோ பில்ட் ஐடியிலிருந்து பெறப்பட்டது. இதை -B none இணைப்பான் கொடியுடன் அணைக்கலாம் அல்லது பயனர் குறிப்பிட்ட பதினாறு தசம மதிப்புடன் -B 0xNNNN இணைப்பான் கொடியுடன் மேலெழுதலாம்.

பதவி உயர்வு

இல் கூறப்பட்டுள்ளபடி கோ 1.22 வெளியீட்டு குறிப்புகள், Go 1.24 இப்போது Go 1.22.6 அல்லது அதற்குப் பிந்தைய பதிப்பை நிறுவ வேண்டும். Go 1.26 வெளியிடப்படுவதற்கு Go 1.24 அல்லது அதற்குப் பிந்தைய புள்ளி வெளியீடு தேவைப்படும் என்று டெவலப்பர்கள் எதிர்பார்க்கிறார்கள்.

நிலையான நூலகம்

கோப்பகத்தால் கட்டுப்படுத்தப்பட்ட கோப்பு முறைமை அணுகல்

புதிய வகை os.ரூட் ஒரு குறிப்பிட்ட கோப்பகத்திற்குள் கோப்பு முறைமை செயல்பாடுகளைச் செய்யும் திறனை வழங்குகிறது.

செயல்பாடு os.ஓபன்ரூட் கோப்பகத்தைத் திறந்து திரும்புகிறது. os.ரூட். முறைகள் os.ரூட் அந்த கோப்பகத்தில் இயங்குகின்றன, மேலும் கோப்பகத்திற்கு வெளியே உள்ள குறியீட்டு இணைப்புகளைப் பின்தொடர்பவை உட்பட, கோப்பகத்திற்கு வெளியே உள்ள இடங்களைக் குறிக்க பாதைகளை அனுமதிக்காது. os.Root இல் உள்ள முறைகள், os தொகுப்பில் கிடைக்கும் பெரும்பாலான கோப்பு முறைமை செயல்பாடுகளை பிரதிபலிக்கின்றன, எடுத்துக்காட்டாக, os.Root.திற, os.ரூட்.உருவாக்கு, os.Root.Mkdir и os.Root.Stat (ஆங்கிலம்).

புதிய பெஞ்ச்மார்க் அம்சம்

வரையறைகள் இப்போது வேகமான, குறைவான பிழை ஏற்படக்கூடிய முறையைப் பயன்படுத்தலாம். சோதனை.பி.லூப் bN வரம்பிற்கான bN போன்ற வழக்கமான லூப் கட்டமைப்புகளுக்குப் பதிலாக b.Loop() { … } போன்ற ஒரு அளவுகோலை மீண்டும் செய்யவும் இது இரண்டு குறிப்பிடத்தக்க நன்மைகளை வழங்குகிறது:

  • பெஞ்ச்மார்க் செயல்பாடு -எண்ணிக்கைக்கு சரியாக ஒரு முறை செயல்படுத்தப்படுகிறது, எனவே விலையுயர்ந்த அமைப்பு மற்றும் சுத்தம் செய்யும் படிகள் ஒரு முறை மட்டுமே செயல்படுத்தப்படும்.
  • செயல்பாட்டு அழைப்பு அளவுருக்கள் மற்றும் முடிவுகள் தொடர்ந்து செயல்படுகின்றன, இதனால் தொகுப்பி லூப் பாடியை முழுமையாக மேம்படுத்துவதைத் தடுக்கிறது.

மேம்படுத்தப்பட்ட இறுதிப்படுத்திகள்

புதிய அம்சம் இயக்க நேரம்.சேர் சுத்தம் செய் இது ஒரு நிறைவு பொறிமுறையாகும், இது மிகவும் நெகிழ்வானது, திறமையானது மற்றும் குறைவான பிழை ஏற்படக்கூடியது இயக்க நேரம். அமை இறுதிப்படுத்தி. AddCleanup ஒரு பொருளுடன் ஒரு தூய்மைப்படுத்தும் செயல்பாட்டை இணைக்கிறது, அந்த பொருள் கிடைக்காதவுடன் அது இயக்கப்படும். இருப்பினும், SetFinalizer போலல்லாமல், பல சுத்தம் செய்தல்களை ஒரு பொருளுடன் இணைக்க முடியும், சுத்தம் செய்தல்களை உள் சுட்டிகளுடன் இணைக்க முடியும், பொருட்கள் ஒரு சுழற்சியை உருவாக்கும்போது சுத்தம் செய்தல் பொதுவாக கசிவுகளை ஏற்படுத்தாது, மேலும் சுத்தம் செய்தல் பொருள் அல்லது அது சுட்டிக்காட்டும் பொருட்களின் இடமாற்றத்தை தாமதப்படுத்தாது. புதிய குறியீடு SetFinalizer ஐ விட AddCleanup ஐ விரும்ப வேண்டும்.

புதிய பலவீனமான தொகுப்பு

புதிய தொகுப்பு பலவீனமான பலவீனமான குறிப்புகளை வழங்குகிறது.

பலவீனமான சுட்டிகள் என்பது நினைவக-திறமையான கட்டமைப்புகளை உருவாக்குவதற்காக வழங்கப்பட்ட ஒரு குறைந்த-நிலை பழமையானவை, அதாவது மதிப்புகளை மேப்பிங் செய்வதற்கான பலவீனமான அகராதிகள், ஒரு தொகுப்பால் உள்ளடக்கப்படாத எதற்கும் நியமனமாக்கல் அகராதிகள். தனிப்பட்ட, மற்றும் பல்வேறு வகையான தற்காலிக சேமிப்புகள். இந்த பயன்பாட்டு நிகழ்வுகளை ஆதரிக்க, இந்த வெளியீடு மேலும் வழங்குகிறது இயக்க நேரம்.சேர் சுத்தம் செய் и maphash.ஒப்பிடத்தக்கது.

புதிய கிரிப்டோ/எம்எல்கேம் தொகுப்பு

புதிய தொகுப்பு கிரிப்டோ/எம்எல்கேம் ML-KEM-768 மற்றும் ML-KEM-1024 ஐ செயல்படுத்துகிறது.

ML-KEM என்பது ஒரு பிந்தைய குவாண்டம் விசை பரிமாற்ற பொறிமுறையாகும், இது முன்னர் கைபர் என்று அழைக்கப்பட்டது மற்றும் குறிப்பிடப்பட்டுள்ளது FIPS 203.

புதிய தொகுப்புகள் crypto/hkdf, crypto/pbkdf2 மற்றும் crypto/sha3

புதிய தொகுப்பு கிரிப்டோ/எச்.கே.டி.எஃப் வரையறுக்கப்பட்டுள்ளபடி HMAC-அடிப்படையிலான “பிரித்தெடுத்து விரிவாக்கு” ​​விசை வழித்தோன்றல் செயல்பாட்டை HKDF செயல்படுத்துகிறது. RFC 5869.

புதிய தொகுப்பு கிரிப்டோ/பிபிகேடிஎஃப்2 வரையறுக்கப்பட்டுள்ளபடி கடவுச்சொல் அடிப்படையிலான விசை வழித்தோன்றல் செயல்பாட்டை PBKDF2 செயல்படுத்துகிறது. RFC 8018.

புதிய தொகுப்பு கிரிப்டோ/ஷா3 இல் வரையறுக்கப்பட்டுள்ளபடி SHA-3 ஹாஷ் செயல்பாடு மற்றும் SHAKE மற்றும் cSHAKE நீட்டிக்கக்கூடிய வெளியீட்டு செயல்பாடுகளை செயல்படுத்துகிறது. FIPS 202.

மூன்று தொகுப்புகளும் தற்போதுள்ள golang.org/x/crypto/… தொகுப்புகளை அடிப்படையாகக் கொண்டவை.

FIPS 140-3 இணக்கம்

இந்த வெளியீட்டில் அடங்கும் FIPS 140-3 இணக்கத்தை உறுதி செய்வதற்கான புதிய வழிமுறைகளின் தொகுப்பு..

கோ கிரிப்டோ தொகுதி என்பது FIPS 140-3 அங்கீகரிக்கப்பட்ட வழிமுறைகளை செயல்படுத்த வெளிப்படையாகப் பயன்படுத்தப்படும் உள் நிலையான நூலக தொகுப்புகளின் தொகுப்பாகும். அங்கீகரிக்கப்பட்ட வழிமுறைகளுக்கு Go கிரிப்டோ தொகுதியைப் பயன்படுத்த பயன்பாடுகளுக்கு மாற்றங்கள் தேவையில்லை.

புதிய சூழல் மாறி GOFIPS140, ஒரு கட்டமைப்பில் பயன்படுத்த Go கிரிப்டோ தொகுதியின் பதிப்பைத் தேர்ந்தெடுக்கப் பயன்படுகிறது. புதியது GODEBUG அமைப்பு இயக்க நேரத்தில் FIPS 140-140 பயன்முறையை இயக்க fips3 ஐப் பயன்படுத்தலாம்.

Go 1.24 இல் Go கிரிப்டோ தொகுதி v1.0.0 உள்ளது, இது தற்போது CMVP-அங்கீகாரம் பெற்ற ஆய்வகத்துடன் சோதிக்கப்படுகிறது.

புதிய சோதனை தொகுப்பு சோதனை/ஒத்திசைவு

புதிய பரிசோதனை தொகுப்பு சோதனை/ஒத்திசைவு ஒரே நேரத்தில் குறியீட்டைச் சோதிப்பதற்கான ஆதரவை வழங்குகிறது.

  • செயல்பாடு synctest.run (சின்க்டெஸ்ட்.ரன்) ஒரு தனிமைப்படுத்தப்பட்ட "குமிழியில்" கோரூட்டின்களின் குழுவை இயக்குகிறது. தொகுப்பு செயல்பாட்டின் குமிழியில் நேரம் தவறான கடிகாரங்களில் இயங்குகின்றன.
  • செயல்பாடுகளை ஒத்திசைவு.காத்திருப்பு தற்போதைய குமிழியில் அனைத்து கோருட்டின்களும் தடுக்கப்படும் வரை காத்திருங்கள்.

விவரங்களை தொகுப்பு ஆவணத்தில் காணலாம்.

ஒத்திசைவு தொகுப்பு சோதனைக்குரியது மற்றும் GOEXPERIMENT=synctest என அமைப்பதன் மூலம் இயக்கப்பட வேண்டும். எதிர்கால வெளியீடுகளில் தொகுப்பு API மாறக்கூடும். உள்ள #67434 நீங்கள் கூடுதல் விவரங்களைப் பார்த்து கருத்துகளை வழங்கலாம்.

நூலகத்தில் சிறிய மாற்றங்கள்

காப்பகத்தை

காப்பகம்/ஜிப் மற்றும் காப்பகம்/டார் ஆகியவற்றில் உள்ள (*Writer.AddFS) செயல்படுத்தல்கள் இப்போது காலியான கோப்பகத்திற்கான கோப்பக தலைப்பை எழுதுகின்றன.

பைட்டுகள்

தொகுப்பு பைட்டுகள் மறு செய்கையாளர்களுடன் பணிபுரியும் பல செயல்பாடுகளைச் சேர்க்கிறது:

  • கோடுகள் ஒரு பைட் ஸ்லைஸில் புதிய வரியால் பிரிக்கப்பட்ட சரங்களின் மீது ஒரு இட்டரேட்டரை வழங்குகிறது.
  • ஸ்பிளிட்செக் ஒரு பிரிப்பானால் பிரிக்கப்பட்ட ஒரு பைட் துண்டின் அனைத்து துணைத் துண்டுகளின் மீதும் ஒரு மறு செய்கையை வழங்குகிறது.
  • பிரித்த பிறகுசெக் பிரிப்பான் ஒவ்வொரு முறை நிகழும் போதும் பிரிக்கப்பட்ட ஒரு பைட் துண்டின் துணைத் துண்டுகளின் மீது ஒரு இட்டரேட்டரைத் திருப்பி அனுப்புகிறது.
  • புலங்கள் பிரிவு வரையறுக்கப்பட்டபடி, இடைவெளி எழுத்துக்களின் வரிசைகளைச் சுற்றி ஒரு பைட் துண்டின் துணைத் துண்டுகளின் மீது ஒரு மறு செய்கையைத் திருப்பி அனுப்புகிறது. யூனிகோட்.ஐஎஸ்ஸ்பேஸ்
  • புலங்கள்செக் ஒரு பயனிலையை திருப்திப்படுத்தும் யூனிகோட் குறியீடு புள்ளிகளின் வரிசைகளைச் சுற்றி ஒரு பைட் துண்டின் துணைத் துண்டுகளின் மீது ஒரு மறு செய்கையை வழங்குகிறது.

கிரிப்டோ/ஏஇஎஸ்

திரும்பும் மதிப்பு நியூசிஃபர் இனி NewCTR, NewGCM, NewCBCEncrypter மற்றும் NewCBCDecrypter முறைகளை செயல்படுத்தாது. இந்த முறைகள் ஆவணப்படுத்தப்படாதவை மற்றும் அனைத்து கட்டமைப்புகளிலும் கிடைக்கவில்லை. இப்போது அர்த்தம் பிளாக் பொருத்தமான செயல்பாடுகளுக்கு நேரடியாக அனுப்பப்பட வேண்டும். கிரிப்டோ/சைஃபர். தற்போது, ​​கிரிப்டோ/சைஃபர் இந்த முறைகளை தொகுதி மதிப்புகளில் சரிபார்க்கிறது, இருப்பினும் அவை நிலையான நூலகத்தால் இனி ஆதரிக்கப்படவில்லை.

கிரிப்டோ/சைஃபர்

புதிய அம்சம் நியூஜிசிஎம்வித்ரேண்டம்நான்ஸ் திரும்புகிறது AEAD, இது சீல் செய்யும் போது ஒரு சீரற்ற nonce ஐ உருவாக்கி அதை சைஃபர்டெக்ஸ்டுக்கு முன் சேர்ப்பதன் மூலம் AES-GCM ஐ செயல்படுத்துகிறது.

Реализация ஸ்ட்ரீம், திரும்பினார் புதியCTR உடன் பயன்படுத்தும்போது கிரிப்டோ/ஏஇஎஸ் இப்போது amd64 மற்றும் arm64 இல் பல மடங்கு வேகமாக உள்ளது.

புதியOFB, புதியCFBencrypter и புதியCFBடிக்ரிப்டர் இப்போது வழக்கற்றுப் போனதாக அறிவிக்கப்பட்டுள்ளன. OFB மற்றும் CFB முறைகள் அங்கீகரிக்கப்படாதவை, இது பொதுவாக செயலில் உள்ள தாக்குதல்களை எளிய உரையை கையாளவும் மீட்டெடுக்கவும் அனுமதிக்கிறது. பயன்பாடுகளைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது AEAD பதிலுக்கு. அங்கீகரிக்கப்படாத பயன்முறையில் இருந்தால் ஸ்ட்ரீம் அவசியம், பயன்படுத்தலாம் புதியCTR பதிலுக்கு.

கிரிப்டோ/ஈசிடிஎஸ்ஏ

பிரைவேட் கீ.சைன் இப்போது ஒரு நிர்ணயிக்கும் கையொப்பத்தை உருவாக்குகிறது படி RFC 6979, சீரற்ற தன்மை மூலம் பூஜ்ஜியமாக இருந்தால்.

கிரிப்டோ/எம்டி5

திரும்பும் மதிப்பு md5.புதிய, இப்போது இடைமுகத்தையும் செயல்படுத்துகிறது என்கோடிங்.பைனரிஅப்பெண்டர்.

கிரிப்டோ/ரேண்ட்

செயல்பாடு படிக்க இப்போது எந்த தோல்விகளுக்கும் உத்தரவாதம் அளிக்காது. படிக்கும்போது Read பிழையை எதிர்கொண்டால் ரீடர், நிரல் நிரந்தரமாக நிறுத்தப்படும். இயல்புநிலை ரீடர் எப்போதும் வெற்றிகரமாக வேலை செய்யும் வகையில் ஆவணப்படுத்தப்பட்டுள்ளது என்பதை நினைவில் கொள்ளவும், எனவே இந்த மாற்றம் ரீடர் மாறியை மீறும் நிரல்களை மட்டுமே பாதிக்கும். ஒரு விதிவிலக்கு 3.17 க்கு முந்தைய லினக்ஸ் கர்னல்கள் ஆகும், அங்கு இயல்புநிலை ரீடர் இன்னும் /dev/urandom ஐத் திறந்து தோல்வியடையக்கூடும்.

லினக்ஸ் 6.11 மற்றும் அதற்குப் பிந்தைய பதிப்புகளில், ரீடர் இப்போது vDSO வழியாக getrandom சிஸ்டம் அழைப்பைப் பயன்படுத்துகிறது. இது பல மடங்கு வேகமானது, பொதுவாக சிறிய வாசிப்புகளுக்கு.

OpenBSD Reader இல் இப்போது arc4random_buf(3) ஐப் பயன்படுத்துகிறது.

புதிய அம்சம் உரை இப்போது குறியாக்கவியல் ரீதியாக பாதுகாப்பான சீரற்ற உரை சரங்களை உருவாக்க முடியும்.

கிரிப்டோ/ஆர்எஸ்ஏ

ஜெனரேட் கீ இப்போது 1024 பிட்களுக்குக் குறைவான விசை நீளம் கோரப்பட்டால் பிழையைத் தருகிறது. 1024 பிட்டுகளுக்குக் குறைவான விசை அளவுடன் பயன்படுத்தப்பட்டால், அனைத்து கையொப்பமிடுதல், சரிபார்த்தல், குறியாக்கம் மற்றும் மறைகுறியாக்க முறைகளும் இப்போது பிழையைத் தருகின்றன. அத்தகைய சாவிகள் பாதுகாப்பற்றவை மற்றும் பயன்படுத்தக்கூடாது. GODEBUG ஐ அமைத்தல் rsa1024min=0 பழைய நடத்தையை மீட்டெடுக்கிறது, ஆனால் Go டெவலப்பர்கள் தேவைப்படும்போது மட்டுமே இதைச் செய்ய பரிந்துரைக்கின்றனர், மேலும் சோதனைகளில் மட்டுமே இதைச் செய்கிறார்கள், எடுத்துக்காட்டாக சோதனைக் கோப்பில் //go:debug rsa1024min=0 என்ற வரியைச் சேர்ப்பதன் மூலம். புதியது உதாரணமாக GenerateKey பயன்படுத்த எளிதான நிலையான 2024-பிட் சோதனை விசையை வழங்குகிறது.

இப்போது அழைப்பது பாதுகாப்பானது மற்றும் திறமையானது. பிரைவேட் கீ.ப்ரீகம்ப்யூட் செய்ய பிரைவேட் கீ.சரிபார்க்கவும். பகுதியளவு நிரப்பப்பட்டிருந்தால், முன்கணிப்பு இப்போது வேகமாக இருக்கும். முன் கணக்கிடப்பட்ட மதிப்புகள், எடுத்துக்காட்டாக JSON இலிருந்து ஒரு விசையைப் பிரித்தெடுக்கும் போது.

Validate அழைக்கப்படாவிட்டாலும் கூட, தொகுப்பு இப்போது அதிக செல்லாத விசைகளை நிராகரிக்கிறது, மேலும் ஜெனரேட் கீ இப்போது உடைந்த சீரற்ற தன்மை மூலங்களுக்கு புதிய பிழைகளைத் தர முடியும். புலங்கள் பிரைம்ஸ் и முன்கூட்டியே கணக்கிடப்பட்டது அமைப்பு பிரைவேட் கீ சில மதிப்புகள் இல்லாதபோதும் கூட இப்போது பயன்படுத்தப்பட்டு சரிபார்க்கப்படுகின்றன. கீழே விவரிக்கப்பட்டுள்ள RSA விசைகளைப் பாகுபடுத்துவதற்கும் பிரித்தெடுப்பதற்கும் crypto/x509 இல் மாற்றங்களும் உள்ளன.

சைகைPKCS1v15 и சரிபார்க்கவும்PKCS1v15 இப்போது SHA-512/224, SHA-512/256 மற்றும் SHA-3 ஐ ஆதரிக்கிறது.

ஜெனரேட் கீ இப்போது தனியார் அடுக்கு (யூலர் செயல்பாட்டிற்கு பதிலாக கார்மைக்கேல் செயல்பாடு) உருவாக்க சற்று மாறுபட்ட முறையைப் பயன்படுத்துகிறது. பகா எண்களிலிருந்து மட்டுமே விசைகளை வெளிப்புறமாக மீண்டும் உருவாக்கும் அரிய பயன்பாடுகள் வேறுபட்ட ஆனால் இணக்கமான முடிவுகளை உருவாக்கக்கூடும்.

பொது மற்றும் தனியார் விசைகளின் செயல்பாடுகள் இப்போது WASM இல் இரண்டு மடங்கு வேகமாக உள்ளன.

கிரிப்டோ/ஷா*

கிரிப்டோ/நுட்பமானது

புதிய அம்சம் டேட்டாஇன்டிபென்டன்ட் டைமிங் மூலம் தரவு மதிப்பின் நேரத்துடன் தொடர்புடைய சில வழிமுறைகள் மாற்றப்படவில்லை என்பதை உறுதிசெய்யும் கட்டமைப்பு-குறிப்பிட்ட அம்சங்கள் இயக்கப்பட்ட ஒரு செயல்பாட்டை இயக்க பயனரை அனுமதிக்கிறது. நிலையான நேரத்தில் இயங்க எழுதப்பட்ட குறியீடு, மாறி நேரத்தில் இயங்கும் வகையில் செயலி-நிலை செயல்பாடுகளால் மேம்படுத்தப்படவில்லை என்பதை உறுதிப்படுத்த இதைப் பயன்படுத்தலாம். தற்போது WithDataIndependentTiming arm64 இல் PSTATE.DIT பிட்டைப் பயன்படுத்துகிறது மற்றும் மற்ற எல்லா கட்டமைப்புகளிலும் எதுவும் செய்யாது. GODEBUG ஐ அமைத்தல் dataindependentiming=1 முழு Go நிரலுக்கும் DIT பயன்முறையை செயல்படுத்துகிறது.

முடிவுக்கு XORபைட்டுகள் உள்ளீட்டுடன் முழுமையாகவோ அல்லது இல்லாமலோ இருக்க வேண்டும். முன்பு நடத்தை வேறுவிதமாக வரையறுக்கப்படவில்லை, ஆனால் இப்போது XORBytes பீதியடையும்.

crypto/tls

TLS சேவையகம் இப்போது மறைகுறியாக்கப்பட்ட கிளையன்ட் ஹலோவை (ECH) ஆதரிக்கிறது. புலத்தை நிரப்புவதன் மூலம் இந்த அம்சத்தை இயக்கலாம். Config.EncryptedClientHelloKeys.

ஒரு புதிய பிந்தைய குவாண்டம் விசை பரிமாற்ற வழிமுறை X25519MLKEM768 அறிமுகம் இப்போது ஆதரிக்கப்பட்டு இயல்புநிலையாக இயக்கப்படும் போது வளைவு விருப்பத்தேர்வுகள் இல்லை. GODEBUG ஐ அமைத்தல் tlsmlkem=0 இயல்புநிலையை வழங்குகிறது.

சோதனை X25519Kyber768Draft00 விசை பரிமாற்றத்திற்கான ஆதரவு நீக்கப்பட்டது.

முக்கிய பரிமாற்ற ஆர்டர் இப்போது முழுவதுமாக crypto/tls தொகுப்பால் கையாளப்படுகிறது. ஆர்டர் வளைவு விருப்பத்தேர்வுகள் இப்போது புறக்கணிக்கப்பட்டுள்ளது, மேலும் புலம் நிரப்பப்படும்போது எந்த விசைப் பரிமாற்றங்களைச் சேர்க்க வேண்டும் என்பதைத் தீர்மானிக்க மட்டுமே உள்ளடக்கங்கள் பயன்படுத்தப்படுகின்றன.

புதிய புலம் கிளையன்ட்ஹலோஇன்ஃபோ.நீட்டிப்புகள் கிளையன்ட் ஹலோ செய்தியில் பெறப்பட்ட நீட்டிப்பு அடையாளங்காட்டிகளின் பட்டியலைப் பட்டியலிடுகிறது. இது TLS வாடிக்கையாளர்களின் கைரேகையைப் பதிவு செய்வதற்கு பயனுள்ளதாக இருக்கும்.

கிரிப்டோ/x509

GODEBUG ஐ அமைத்தல் x509sha1 அகற்றப்பட்டது. சான்றிதழ். சரிபார்க்கவும் இனி SHA-1 அடிப்படையிலான கையொப்பங்களை ஆதரிக்காது.

OID இப்போது இடைமுகங்களை செயல்படுத்துகிறது. என்கோடிங்.பைனரிஅப்பெண்டர் и குறியாக்கம். உரை அப்பெண்டர்.

இயல்புநிலை சான்றிதழ் கொள்கை புலம் இதிலிருந்து மாற்றப்பட்டுள்ளது சான்றிதழ்.கொள்கை அடையாளங்காட்டிகள் மீது சான்றிதழ்.கொள்கைகள். சான்றிதழ்களைப் பாகுபடுத்தும்போது, ​​இரண்டு புலங்களும் நிரப்பப்படும், ஆனால் சான்றிதழ் கொள்கையை உருவாக்கும் போது, ​​அவை Certificate.PolicyIdentifiers என்பதற்குப் பதிலாக Certificate.Policies புலத்திலிருந்து எடுக்கப்படும். இந்த மாற்றத்தை திரும்பப் பெறலாம். GODEBUG அமைப்பு x509 பயன்பாட்டு கொள்கைகள்=0.

சான்றிதழை உருவாக்கு இப்போது ஒரு டெம்ப்ளேட் புலத்தை அனுப்பும்போது RFC 5280 இணக்க முறையைப் பயன்படுத்தி ஒரு தொடர் எண்ணை உருவாக்கும். சான்றிதழ்.தொடர் எண் இல்லை, நொறுங்குவதற்கு பதிலாக.

சான்றிதழ்.சரிபார்க்கவும் இப்போது RFC 5280 மற்றும் RFC 9618 இல் வரையறுக்கப்பட்டுள்ளபடி கொள்கை சரிபார்ப்பை ஆதரிக்கிறது. புதிய புலம் சரிபார்ப்பு விருப்பங்கள்.சான்றிதழ் கொள்கைகள் ஏற்றுக்கொள்ளக்கூடிய கொள்கைகளின் தொகுப்பிற்கு அமைக்கப்படலாம். OIDகள். செல்லுபடியாகும் கொள்கை வரைபடங்களைக் கொண்ட சான்றிதழ் சங்கிலிகள் மட்டுமே இதிலிருந்து திரும்பப் பெறப்படும் சான்றிதழ்.சரிபார்க்கவும்.

மார்ஷல்பிகேசிஎஸ்8பிரைவேட் கீ இப்போது தவறான RSA விசையை மீட்டெடுப்பதற்கு பதிலாக ஒரு பிழையை வழங்குகிறது. (மார்ஷல்பிகேசிஎஸ்1பிரைவேட் கீ (எந்தப் பிழைத் திரும்புதலும் இல்லை, தவறான விசைகள் வழங்கப்படும்போது அதன் நடத்தை வரையறுக்கப்படவில்லை.)

ParsePKCS1PrivateKey и ParsePKCS8PrivateKey இப்போது குறியிடப்பட்ட CRT மதிப்புகளைப் பயன்படுத்தி சரிபார்க்கிறது, எனவே முன்னர் ஏற்றுக்கொள்ளப்பட்ட செல்லாத RSA விசைகளை நிராகரிக்க முடியும். பயன்பாடு GODEBUG அமைப்புகள் x509rsacrt=0 CRT மதிப்புகளை மீண்டும் கணக்கிடுவதற்குத் திரும்புகிறது.

பிழைத்திருத்தம்/எல்ஃப்

தொகுப்பு பிழைத்திருத்தம்/எல்ஃப் டைனமிக் ELF (Executable and Linkable Format) கோப்புகளில் குறியீட்டு பதிப்புகளைக் கையாள்வதற்கான ஆதரவைச் சேர்க்கிறது. புதிய முறை கோப்பு. டைனமிக் பதிப்புகள் ELF கோப்பில் வரையறுக்கப்பட்ட டைனமிக் பதிப்புகளின் பட்டியலை வழங்குகிறது. புதிய முறை கோப்பு. டைனமிக் பதிப்பு தேவைகள் இந்த ELF கோப்பிற்குத் தேவையான, பிற ELF பொருட்களில் வரையறுக்கப்பட்ட டைனமிக் பதிப்புகளின் பட்டியலை வழங்குகிறது. இறுதியாக, புதிய துறைகள் சின்னம். பதிப்பு உள்ளது и சின்னம்.பதிப்பு அட்டவணை சின்னத்தின் பதிப்பைக் குறிக்கவும்.

குறியீட்டு

இரண்டு புதிய இடைமுகங்கள் உரைப்பெண்டர் и பைனரி அப்பெண்டர் ஒரு பைட் துண்டில் ஒரு பொருளின் உரை அல்லது பைனரி பிரதிநிதித்துவத்தைச் சேர்க்க அறிமுகப்படுத்தப்பட்டன. இந்த இடைமுகங்கள் அதே செயல்பாட்டை வழங்குகின்றன உரைமார்ஷலர் и பைனரி மார்ஷலர், ஆனால் ஒவ்வொரு முறையும் ஒரு புதிய ஸ்லைஸை ஒதுக்குவதற்குப் பதிலாக, அவை ஏற்கனவே உள்ள ஸ்லைஸில் தரவை நேரடியாகச் சேர்க்கின்றன. இந்த இடைமுகங்கள் தற்போது TextMarshaler மற்றும்/அல்லது BinaryMarshaler ஐ ஏற்கனவே செயல்படுத்தும் நிலையான நூலக வகைகளால் செயல்படுத்தப்படுகின்றன.

குறியாக்கம்/json

கட்டமைக்கும்போது, ​​கட்டமைப்பு புல குறிச்சொல்லில் புதிய omitzero விருப்பத்துடன் கூடிய கட்டமைப்பு புலம் அதன் மதிப்பு பூஜ்ஜியமாக இருந்தால் தவிர்க்கப்படும். புல வகை IsZero() bool முறையைக் கொண்டிருந்தால், மதிப்பு பூஜ்ஜியமா என்பதைத் தீர்மானிக்க அது பயன்படுத்தப்படும். இல்லையெனில் மதிப்பு பூஜ்ஜியமாக இருக்கும், அது அதன் வகைக்கான பூஜ்ய மதிப்பு. omitzero புலக் குறிச்சொல், null மதிப்புகளைத் தவிர்ப்பதே நோக்கமாக இருக்கும்போது, ​​omitempty ஐ விட தூய்மையானது மற்றும் குறைவான பிழை-சாத்தியமானது. குறிப்பாக, omitempty போலல்லாமல், omitzero பூஜ்ஜியங்களைத் தவிர்க்கிறது. நேரம்.நேரம் மதிப்புகள், இது பிரச்சனைகளுக்கு பொதுவான ஆதாரமாகும்.

omitempty மற்றும் omitzero இரண்டும் குறிப்பிடப்பட்டால், மதிப்பு காலியாகவோ அல்லது பூஜ்ஜியமாகவோ (அல்லது இரண்டும்) இருந்தால் புலம் தவிர்க்கப்படும்.

மார்ஷல் அல்லாத வகை பிழை.புலம் இப்போது விரிவான பிழை செய்திகளை வழங்க உள்ளமைக்கப்பட்ட கட்டமைப்புகளை உள்ளடக்கியது.

செல்/வகைகள்

Len() int மற்றும் At(int) T போன்ற முறைகளின் ஜோடிகளின் வரிசைகளை வெளிப்படுத்தும் அனைத்து go/types தரவு கட்டமைப்புகளும் இப்போது மறு செய்கைகளைத் திருப்பி அனுப்பும் முறைகளையும் கொண்டுள்ளன, இது போன்ற எளிய குறியீட்டை அனுமதிக்கிறது:

i := 0 க்கான அளவுருக்கள் := fn.Type.(*types.Signature).Params(); i <params.Len(); i++ { use(params.At(i)) }

இதில்:

அளவுருவிற்கு := வரம்பு fn.Signature().Params().Variables() { use(param) }

முறைகள்: இடைமுகம்.உட்பொதிக்கப்பட்ட வகைகள் இடைமுகம்.வெளிப்படையான முறைகள் இடைமுகம். முறைகள் முறைத்தொகுப்பு.முறைகள் பெயரிடப்பட்டது. முறைகள் நோக்கம். குழந்தைகள் அமைப்பு.புலங்கள் டூப்பிள்.மாறிகள் வகைப்பட்டியல்.வகைகள் வகைபரம்பரை பட்டியல்.வகைபரம்பரைகள் ஒன்றிய விதிமுறைகள்

ஹாஷ்/*

பதிவு/வேகக்குறைவு

புதிய கையாண்டவரை நிராகரிக்கவும் என்பது ஒருபோதும் இயக்கப்படாத ஒரு கையாளுபவராகும், மேலும் அதன் வெளியீட்டை எப்போதும் நிராகரிக்கும்.

நிலை и லெவல்வர் இப்போது இடைமுகத்தை செயல்படுத்தவும். குறியாக்கம். உரை அப்பெண்டர்.

கணிதம்/*

நிகர

லிசன்காண்டிக் இப்போது MPTCP ஆதரிக்கப்படும் கணினிகளில் முன்னிருப்பாகப் பயன்படுத்துகிறது (தற்போது Linux மட்டும்).

IP இப்போது இடைமுகத்தை செயல்படுத்துகிறது. குறியாக்கம். உரை அப்பெண்டர்.

நிகர/http

கட்டுப்பாடு மாறிவிட்டது. போக்குவரத்து கோரிக்கைக்கு பதிலளிக்கும் விதமாக பெறப்பட்ட 1xx தகவல் பதில்களுக்கு. முன்பு இது கோரிக்கையை நிறுத்தி, 5 1xx பதில்களுக்கு மேல் பெற்ற பிறகு பிழையைத் தரும். அனைத்து 1xx பதில்களின் மொத்த அளவும் config அமைப்பை மீறினால் மட்டுமே இது இப்போது பிழையைத் தரும். Transport.MaxResponseHeaderBytes.

மேலும், ஒரு கோரிக்கையில் கண்காணிப்பு ஹூக் இருக்கும்போது net/http/httptrace.ClientTrace.Got1xxபதில், இப்போது 1xx பதில்களின் மொத்த எண்ணிக்கையில் வரம்பு இல்லை. Got1xxResponse ஹூக் கோரிக்கையை நிறுத்த ஒரு பிழையை வழங்க முடியும்.

போக்குவரத்து и சர்வர் இப்போது HTTP/2 நெறிமுறை அமைப்புகளை உள்ளமைக்க அனுமதிக்கும் HTTP2 புலம் உள்ளது.

புதிய துறைகள் சேவையகம். நெறிமுறைகள் и போக்குவரத்து. நெறிமுறைகள் சேவையகம் அல்லது கிளையன்ட் பயன்படுத்தும் HTTP நெறிமுறைகளை உள்ளமைக்க ஒரு எளிய வழியை வழங்கவும்.

மறைகுறியாக்கப்படாத HTTP/2 இணைப்புகளை ஆதரிக்க சேவையகத்தையும் கிளையண்டையும் உள்ளமைக்க முடியும்.

போது சேவையகம். நெறிமுறைகள் மறைகுறியாக்கப்படாத HTTP2 ஐக் கொண்டுள்ளது, சேவையகம் மறைகுறியாக்கப்படாத போர்ட்களில் HTTP/2 இணைப்புகளை ஏற்றுக்கொள்ளும். சேவையகம் ஒரே போர்ட்டில் HTTP/1 மற்றும் மறைகுறியாக்கப்படாத HTTP/2 இரண்டையும் ஏற்றுக்கொள்ள முடியும்.

போது போக்குவரத்து. நெறிமுறைகள் மறைகுறியாக்கப்படாத HTTP2 ஐக் கொண்டுள்ளது மற்றும் HTTP1 ஐக் கொண்டிருக்கவில்லை, போக்குவரத்து முகவரிகளுக்கு மறைகுறியாக்கப்படாத HTTP/2 ஐப் பயன்படுத்தும். http://. ஒரு போக்குவரத்து HTTP/1 மற்றும் மறைகுறியாக்கப்பட்ட HTTP/2 இரண்டையும் பயன்படுத்த கட்டமைக்கப்பட்டால், அது HTTP/1 ஐப் பயன்படுத்தும்.

மறைகுறியாக்கப்படாத HTTP/2 க்கான ஆதரவு "HTTP/2 with Forward-Learning" (RFC 9113, பிரிவு 3.3) ஐப் பயன்படுத்துகிறது. "மேம்படுத்தல்: h2c" என்ற காலாவதியான தலைப்பு ஆதரிக்கப்படவில்லை.

நெட்/நெட்டிப்

முகவ, அட்ர்போர்ட் и முன்னொட்டு இப்போது இடைமுகங்களை செயல்படுத்தவும். என்கோடிங்.பைனரிஅப்பெண்டர் и குறியாக்கம். உரை அப்பெண்டர்.

இணையம்/url

URL ஐ இப்போது இடைமுகத்தையும் செயல்படுத்துகிறது என்கோடிங்.பைனரிஅப்பெண்டர்.

OS/பயனர்

விண்டோஸில் தற்போதைய இப்போது விண்டோஸ் நானோ சர்வரில் பயன்படுத்தலாம். நானோ சர்வரில் இல்லாத NetApi32 நூலகத்திலிருந்து செயல்பாடுகளைப் பயன்படுத்துவதைத் தவிர்க்க செயல்படுத்தல் புதுப்பிக்கப்பட்டுள்ளது.

விண்டோஸில் தற்போதைய, தேடல் и லுக்அப் ஐடி இப்போது பின்வரும் உள்ளமைக்கப்பட்ட பயனர் சேவை கணக்குகளை ஆதரிக்கிறது:

  • என்டி அங்கீகார அமைப்பு
  • NT அதிகாரசபை உள்ளூர் சேவை
  • NT அங்கீகார நெட்வொர்க் சேவை

விண்டோஸில் தற்போதைய தற்போதைய பயனர் மெதுவான டொமைனில் இணைக்கப்படும்போது கணிசமாக வேகப்படுத்தப்பட்டது, இது பல நிறுவன பயனர்களுக்கு பொதுவான நிகழ்வாகும். புதிய செயல்படுத்தலின் செயல்திறன் இப்போது மில்லி விநாடிகளின் வரிசையில் உள்ளது, முந்தைய செயல்படுத்தலுடன் ஒப்பிடும்போது, ​​இது முடிவடைய பல வினாடிகள், நிமிடங்கள் கூட ஆகலாம்.

விண்டோஸில் தற்போதைய தற்போதைய த்ரெட் வேறொரு பயனரைப் போல ஆள்மாறாட்டம் செய்யும்போது, ​​இப்போது செயல்முறை உரிமையாளர் பயனரைத் திருப்பி அனுப்புகிறது. முன்பு இது ஒரு பிழையை அளித்தது.

regexp

Regexp இப்போது இடைமுகத்தை செயல்படுத்துகிறது. குறியாக்கம்.உரை அடாப்டர்.

இயக்க

செயல்பாடு கோரூட் இப்போது நிராகரிக்கப்பட்டது. புதிய சூழல்களில், "go" பைனரியை தீர்மானிக்க கணினி பாதையைப் பயன்படுத்துவதை நீங்கள் விரும்ப வேண்டும், மேலும் GOROOT ஐ தீர்மானிக்க go env GOROOT ஐப் பயன்படுத்த வேண்டும்.

சரங்களை

தொகுப்பு சரங்களை மறு செய்கையாளர்களுடன் பணிபுரிய பல செயல்பாடுகளைச் சேர்க்கிறது:

  • கோடுகள் ஒரு சரத்தில் புதிய வரியால் பிரிக்கப்பட்ட வரிகளின் மீது ஒரு மறு செய்கையை வழங்குகிறது.
  • ஸ்பிளிட்செக் பிரிப்பானால் பிரிக்கப்பட்ட ஒரு சரத்தின் அனைத்து துணை சரங்களின் மீதும் ஒரு இட்டரேட்டரை வழங்குகிறது.
  • பிரித்த பிறகுசெக் ஒரு சரத்தின் துணை சரங்களின் மீது ஒரு இட்டரேட்டரைத் திருப்பி அனுப்புகிறது, பிரிப்பான் ஒவ்வொரு முறை நிகழ்ந்த பிறகும் பிரிக்கப்படுகிறது.
  • புலங்கள் பிரிவு வரையறுக்கப்பட்டபடி, இடைவெளி எழுத்துகளின் வரிசைகளைச் சுற்றி ஒரு சரத்தின் துணை சரங்களின் மீது ஒரு மறு செய்கையை வழங்குகிறது.யூனிகோட்.ஐஎஸ்ஸ்பேஸ்
  • புலங்கள்செக் ஒரு பயனிலையை பூர்த்தி செய்யும் யூனிகோட் குறியீடு புள்ளிகளின் வரிசைகளைச் சுற்றியுள்ள சரத்தின் துணை சரங்களின் மீது ஒரு மறு செய்கையை வழங்குகிறது.

ஒத்திசைக்க

Реализация ஒத்திசைவு.வரைபடம் செயல்திறனை மேம்படுத்த, குறிப்பாக அகராதி மாற்றங்களுக்காக மாற்றப்பட்டுள்ளது. எடுத்துக்காட்டாக, பெரிய அகராதிகளில் இணைப்புத் தொகுப்பு மாற்ற சர்ச்சை குறைவாகவே இருக்கும், மேலும் குறைந்த அளவிலான அகராதி சுமையை அடைய அதற்கு இனி உருவாக்க நேரம் தேவையில்லை.

ஏதேனும் சிக்கல்களை எதிர்கொண்டால், பழைய செயல்படுத்தலுக்குத் திரும்ப GOEXPERIMENT=nosynchashtriemap ஐ உருவாக்கி, தயவுசெய்து பிரச்சனை படிவத்தை நிரப்பவும்..

சோதனை

புதிய முறைகள் டி.சூழல் и ஆ.சூழல் சோதனை முடிந்ததும், சோதனை சுத்தம் செய்யும் செயல்பாடுகள் செயல்படுத்தப்படுவதற்கு முன்பும் நிராகரிக்கப்பட்ட ஒரு சூழலைத் திருப்பி அனுப்பும்.

புதிய முறைகள் டி.சிதிர் и பி.சிதிர் ஒரு சோதனை அல்லது அளவுகோலின் காலத்திற்கு வேலை செய்யும் கோப்பகத்தை மாற்றப் பயன்படுத்தலாம்.

உரை/வார்ப்புரு

டெம்ப்ளேட்கள் இப்போது range-over-func மற்றும் range-over-int ஐ ஆதரிக்கின்றன.

நேரம்

நேரம் இப்போது இடைமுகங்களை செயல்படுத்துகிறது. என்கோடிங்.பைனரிஅப்பெண்டர் и குறியாக்கம். உரை அப்பெண்டர்.

துறைமுகங்கள்

லினக்ஸ்

அப்படியே இருந்தது அறிவித்தது கோ 1.23 வெளியீட்டுக் குறிப்புகளின்படி, கோ 1.24 க்கு லினக்ஸ் கர்னல் பதிப்பு 3.2 அல்லது அதற்குப் பிந்தையது தேவைப்படுகிறது.

டார்வின்

கோ 1.24 என்பது மேகோஸ் 11 பிக் சுரில் இயங்கும் கடைசி வெளியீடாகும். 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 செயல்பாடுகளுக்கு இப்போது கூடுதல் வகைகள் வாதமாகவோ அல்லது முடிவு வகைகளாகவோ அனுமதிக்கப்படுகின்றன. குறிப்பாக, bool, string, uintptr மற்றும் சில வகைகளுக்கான சுட்டிகள் அனுமதிக்கப்படுகின்றன (விவரங்களைப் பார்க்கவும் ஆவணங்கள்), ஏற்கனவே அனுமதிக்கப்பட்ட 32-பிட் மற்றும் 64-பிட் முழு எண் மற்றும் மிதக்கும் புள்ளி வகைகள் மற்றும் unsafe.Pointer ஆகியவற்றுடன். இந்த வகைகள் go:wasmexport செயல்பாடுகளுக்கான வாதமாகவோ அல்லது முடிவு வகைகளாகவோ அனுமதிக்கப்படுகின்றன.

WebAssembly-க்கான ஆதரவு கோப்புகள் misc/wasm இலிருந்து lib/wasm-க்கு நகர்த்தப்பட்டுள்ளன.

ஆரம்ப நினைவக தடம் கணிசமாகக் குறைக்கப்பட்டுள்ளது, குறிப்பாக சிறிய WebAssembly பயன்பாடுகளுக்கு.

விண்டோஸ்

32-பிட் விண்டோஸ்/ஆர்ம் போர்ட் (GOOS=windows GOARCH=arm) உடைந்ததாகக் குறிக்கப்பட்டுள்ளது. விவரங்கள் #70705

ஆதாரம்: linux.org.ru

கருத்தைச் சேர்