Releases: dotnet/runtime
.NET 10.0 Preview 6
What's Changed
- Reapply "Create a single copy of stub templates by @davidwrighton in #115749
- Correct XML doc of Volatile.WriteBarrier() by @tfenise in #115803
- JIT: Don't clone or unroll cold loops by @amanasifkhalid in #115744
- Do not shortcut
CompilerComparer
by @MichalStrehovsky in #115807 - [LoongArch64] Fix the pointer load in asmhelper.S:
ThisPtrRetBufPrecodeWorker
with PR#112548. by @LuckyXu-HF in #115814 - JIT: Fix handling for SIMD types in async transformation by @jakobbotsch in #115652
- JIT: Spill value before byref address in stsfld by @jakobbotsch in #115772
- [browser] don't set js_handle for js prototypes by @pavelsavara in #115773
- Don't include LICENSE.TXT in nuget packages by @ViktorHofer in #115518
- JIT: Remove early
fgOptimizeBranch
pass by @amanasifkhalid in #115734 - Update area owners by @VSadov in #115751
- Move FLS init before EventPipeAdapter::FinishInitialize and the first SetupThread() by @VSadov in #115546
- JIT: arrays are now not always TYP_REF by @AndyAyersMS in #115801
- JIT: another bit of refactoring in escape analysis by @AndyAyersMS in #115812
- Bump main to .NET 10 Preview 6 by @jozkee in #115808
- Add a helper utility to clear the environment variables for tests by @AndyAyersMS in #115752
- Implement SVE2 ShiftLeftAndInsert by @snickolls-arm in #115776
- Refactor Sequential/Explicit layout to happen in the same phase where we do Auto layout by @jkoritzinsky in #113454
- Add targeted regression test for #115442 by @MichalStrehovsky in #115817
- JIT: Don't reverse copied condition in fgOptimizeBranch by @amanasifkhalid in #115842
- Update Linux versions in build pipeline by @richlander in #115784
- [Android] Run CoreCLR library tests on Android by @kotlarmilos in #114148
- Allow using flat layout for component assemblies of composite R2R by @elinor-fung in #115631
- Consolidate QueryPerformanceCounter/GetTickCount usages to minipal/time.h by @huoyaoyuan in #115408
- Implement ldtoken in the interpreter by @kg in #115723
- [minipal] Don't assert when writing empty string by @BrzVlad in #115824
- Revert "Pin web assembly server 2025 docker image" by @akoeplinger in #115830
- JIT: Copy
BBF_ASYNC_RESUMPTION
when splitting edges in LSRA by @jakobbotsch in #115836 - JIT: Fix SysV first/second return register GC info mismatch when generating calls by @jakobbotsch in #115827
- Create copilot-setup-steps.yml by @CarnaViire in #115834
- Decrease number of allocations in new test by @jakobbotsch in #115887
- [browser] Remove rest of StartupMemoryCache by @Copilot in #115878
- JIT: also check gc-ness of layout for GT_BLK during escape analysis by @AndyAyersMS in #115844
- JIT: update layout of BLK nodes during escape analysis by @AndyAyersMS in #115845
- Use new TypeName methods in runtime tools by @Copilot in #115857
- Fix build break for paltests by @huoyaoyuan in #115877
- Add long/ulong->float cast helpers by @saucecontrol in #114597
- Convert sln to slnx by @kasperk81 in #115818
- Intrinsic support for transient codegen. by @AaronRobinsonMSFT in #115639
- Remove always searching executable directory for native libraries in single-file applications by @elinor-fung in #115236
- Implement SVE2 BitwiseSelect, BitwiseSelectLeftInverted, BitwiseSelectRightInverted by @snickolls-arm in #115775
- [browser] EP profiler - identify top frame, positive PID by @pavelsavara in #115825
- Implement CEE_LDOBJ and CEE_STOBJ in the interpreter by @kg in #115900
- Update WebAssembly image to Ubuntu 24.04 by @richlander in #115901
- Debugger fixes for the Windows X86 EH Funclets model by @davidwrighton in #115630
- JIT: Unprotect handler entry after finally removal by @amanasifkhalid in #115907
- [crossgen2] Prevent inlining of PInvoke marshalling accross version bubbles by @jkotas in #115277
- JIT: Remove overzealous async assert by @jakobbotsch in #115883
- JIT: Avoid implicit byref retbufs in async calls by @jakobbotsch in #115888
- Use sln format for coreclr and corehost by @ViktorHofer in #115935
- Make HttpStress fail on unobserved exceptions by @antonfirsov in #115849
- Add dotnet to the path for copilot agent by @ericstj in #115912
- When cloning method descs be careful with fields that have different offsets between the source and destination. by @VSadov in #115798
- [NativeAOT] Fix: Prevent EETypeKindMask invalidation from uint16_t cast by @TickThunder in #115925
- x86/funclets: Handle longjmp by @filipnavara in #115932
- Add missing null check for SlhDsa's constructor by @vcsjones in #115944
- Simplify findvcvarsall.bat by @jkotas in #115951
- Added an override for IsCollectible in RuntimeType to fix inconsistency between Mono and CoreCLR by @Venkad000 in #115785
- Disable Android tests in default CI set for now by @jkotas in #115956
- JIT: Disallow forward substitution of async calls by @jakobbotsch in #115936
- Disable Android tests in default CI set for now by @jkotas in #115973
- [wasm] Bump chrome for testing - linux: 136.0.7103.113, windows: 137.0.7151.41 by @github-actions[bot] in #115969
- Fix Creating Undermined Culture by @tarekgh in #115919
- Fix intermittent failures in PAL tests by @jkotas in #115958
- Support out of proc Histogram Base 2 Exponential aggregation by @tarekgh in #115852
- Enable new exception handling on win-x86 by @filipnavara in #115957
- Rename collectPerfCounters to collectMetrics in browser runtime by @Copilot in #115926
- [wasm coreclr] Make clr.runtime+libs build on Windows by @radekdoulik in #115058
- Delete FEATURE_DOUBLE_ALIGNMENT_HINT for GC heap allocations by @jkotas in #115985
- add HttpMethod.Query by @WeihanLi in #115934
- [RuntimeAsync] ilasm/ildasm support for the MethodImpl.Async (Take 2) by @hez2010 in #115658
- Create copilot-instructions.md by @CarnaViire in #115917
- Cleanup some PAL items by @AaronRobinsonMSFT in #115986
- Added another case in the switch block to handle the object returned by Mono which differs from the object returned by CoreCLR by @Venkad000 in #115885
- [wasm][coreclr] Interpret everything on wasm by @radekdoulik in #115788
- Remove bounds check for arr1[arr2.Length] pattern by @EgorBo in #115980
- Add a copilot prompt file for JIT-EE interface modifications by @EgorBo in #115889
- Skip static fields in FieldLayoutIntervalCalculator by @MichalStrehovsky in #115987
- Replace use of DAMT.All in ComponentModel with a more restricted set by @MichalStrehovsky in #114126
- Enable AVX2 optimistically with AVX on NAOT by @saucecontrol in #114575
- Fix conditions mismatch for gc-sections with lld by @illnyang in #115964
- Fix cmake warning by @radekdoulik in #116000
- ...
.NET 9.0.7
What's Changed
- [release/9.0-staging] Fix crash during Async Break when APC and CET are enabled by @thaystg in #114932
- [release/9.0-staging] [STJ] Account for F# CompilationMappingAttribute now supporting multiple declarations. by @github-actions in #115076
- [release/9.0-staging][wasm][interpreter] Fix PackedSimd interpreter intrinsics by @lewing in #114218
- [release/9.0-staging] JIT: Fix invalid removal of explicit zeroing in methods without .localsinit by @jakobbotsch in #115568
- [release/9.0-staging] throw an exception instead of infinite loop in
sort_mark_list
by @github-actions in #115529 - [release/9.0-staging] [DNS] Ignore ObjectDisposedException on CancellationToken Callback by @github-actions in #115840
- Revert "[release/9.0-staging] Fix crash during Async Break when APC and CET are enabled" by @thaystg in #116015
- [release/9.0-staging] Fix SysV first/second return register GC info mismatch by @jakobbotsch in #116206
- [release/9.0-staging] Fix PipeStream leak on Windows when pipe is disposed with a pending operation by @github-actions in #116188
- [release/9.0] Fix edge cases in Tarjan GC bridge (Android) by @filipnavara in #114682
- [release/9.0-staging] Revert change to follow symlinks of dotnet host by @github-actions in #116244
- Update branding to 9.0.7 by @vseanreesermsft in #116312
- [release/9.0-staging] Fix generation of minidump by @github-actions in #115738
- [release/9.0-staging] fix: in rsa signatures, configure digest before padding mode by @github-actions in #115695
- [release/9.0-staging] JIT: Fix possible heap corruption in outlined composite SSA storage by @github-actions in #116132
- [release/9.0-staging] Update dependencies from dotnet/roslyn by @dotnet-maestro in #115984
- [release/9.0-staging] Update dependencies from dotnet/arcade by @dotnet-maestro in #115855
- [release/9.0-staging] Update dependencies from dotnet/icu by @dotnet-maestro in #115597
- [release/9.0-staging] Update dependencies from dotnet/sdk by @dotnet-maestro in #115710
- [release/9.0-staging] Update dependencies from dotnet/cecil by @dotnet-maestro in #115504
- [release/9.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #115589
- [release/9.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #115537
- Bump SDK version used by WASM since it was broken by dotnet/arcade codeflow by @jozkee in #116450
- [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by @github-actions in #115576
- [release/9.0-staging] Link peer's X509 stack handle to parent SSL safe handle by @github-actions in #115380
- [release/9.0-staging] [mono][interp] Minor SSA fixes by @BrzVlad in #116428
- [release/9.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #115677
- [release/9.0-staging] Disable the UTFStringConversionFailures test on CI runs by @github-actions in #116460
- [manual] Merge release/9.0-staging into release/9.0 by @jozkee in #116459
- Merging internal commits for release/9.0 by @vseanreesermsft in #116499
- [release/9.0] Delete s390x and ppc64le helix queues by @github-actions in #116537
Full Changelog: v9.0.6...v9.0.7
.NET 8.0.18
What's Changed
- [release/8.0-staging] [STJ] Account for F# CompilationMappingAttribute now supporting multiple declarations. by @github-actions in #115077
- [release/8.0-staging] throw an exception instead of infinite loop in
sort_mark_list
by @github-actions in #115528 - [release/8.0-staging] [DNS] Ignore ObjectDisposedException on CancellationToken Callback by @github-actions in #115841
- [release/8.0-staging] Fix SysV first/second return register GC info mismatch by @jakobbotsch in #116208
- [release/8.0-staging] Add a parent check to the forward substitution tree walk by @github-actions in #116240
- [release/8.0-staging] Fix shutdown on foreign thread by @github-actions in #116233
- [release/8.0-staging] fix: in rsa signatures, configure digest before padding mode by @github-actions in #115696
- [release/8.0-staging] Fix PipeStream leak on Windows when pipe is disposed with a pending operation by @github-actions in #116189
- Update branding to 8.0.18 by @vseanreesermsft in #116311
- [release/8.0-staging] Fix generation of minidump by @github-actions in #115739
- [release/8.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #115676
- [release/8.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #115623
- [release/8.0-staging] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #115586
- [release/8.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #115655
- [release/8.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #115585
- [release/8.0-staging] Link peer's X509 stack handle to parent SSL safe handle by @github-actions in #115379
- [release/8.0-staging] Update dependencies from dotnet/arcade by @dotnet-maestro in #115587
- [manual] Merge release/8.0-staging into release/8.0 by @jozkee in #116458
- Merging internal commits for release/8.0 by @vseanreesermsft in #116498
- Revert "Merging internal commits for release/8.0" by @hoyosjs in #116553
- Merging internal commits for release/8.0 by @hoyosjs in #116554
Full Changelog: v8.0.17...v8.0.18
v10.0.0-preview.5.25277.114
What's Changed
- Add NIST ACVP 3rd Party Notice by @bartonjs in #114931
- Bump main to .NET 10 Preview 5 by @carlossanlop in #114938
- JIT: Do not report duplicate EH clauses to VM by @filipnavara in #114895
- [browser] Use OverrideHtmlAssetPlaceholders=true in browser template by @maraf in #113654
- Delete dead code in the interpreter by @MichalStrehovsky in #114890
- JIT: Avoid overriding argument register with 'jmp' epilog by @jakobbotsch in #114899
- [browser] Use regex to match boot config placeholder by @maraf in #114897
- [main] Update dependencies from dotnet/hotreload-utils, dotnet/icu, dotnet/runtime-assets, dotnet/sdk by @dotnet-maestro in #114852
- Remove
WasmFingerprintDotnetJs
tests and addOverrideHtmlAssetPlaceholders
tests by @ilonatommy in #112859 - [cDAC] Handle non-mapped images correctly by @max-charlamb in #114688
- [browser] Ensure compression targets run after preloading by @maraf in #114953
- Fix non-portable CI builds. by @tmds in #114949
- Fix SPMI realworld collection output file naming by @BruceForstall in #114937
- Fix side effect handling for certain TernaryLogic cases by @BruceForstall in #114848
- JIT: Optimize bit-wise and operation and compare with same constant value by @varelen in #111933
- WebSocket: observe exceptions in WaitForServerToCloseConnectionAsync by @antonfirsov in #114689
- [main] Update dependencies from dotnet/command-line-api by @dotnet-maestro in #114947
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #114857
- Enlarge stack overflow handling stack by @janvorli in #114956
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #114853
- Document NDK upgrade process by @jkurdek in #112885
- Remove unreliable check in Rate Limiting test by @tarekgh in #114963
- Report error if dotnet-pgo trace contains multiple processes by @MichalStrehovsky in #114962
- Delete emit breaks from R2R helper node by @am11 in #114920
- Rewrite of System.Numerics.Tensors to allow for more code sharing, various correctness fixes, and stability improvements by @tannergooding in #114927
- Fix the amd64 cross-DAC stack unwinding by @mikem8361 in #114836
- Added missing clearing of pooled arrays by @hendriklhf in #114545
- Make specifying just
DllImportSearchPath.AssemblyDirectory
only search in assembly directory by @elinor-fung in #114756 - Fix several messages mistreated as format strings by @jakobbotsch in #114970
- Don't expose TrustedCertificatesDirectory() and StartNewTlsSessionContext() to NetFx by @steveharter in #113963
- Tar: Adjust the way we write GNU longlink and longpath metadata by @carlossanlop in #114940
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro in #114990
- Run outerloop pipeline only for release branches, not staging/preview by @akoeplinger in #114971
- [wasm] Try out a PackedSimd WideningLoader by @lewing in #114811
- Add support of System.Uri to UrlAttribute by @Maximys in #114992
- Fix some static analysis errors by @ericstj in #114997
- JIT: revised fix for fp division issue in profile synthesis by @AndyAyersMS in #115005
- JIT: boost inlining for methods that may return small arrays by @AndyAyersMS in #114806
- Refactor SLH-DSA tests by @PranavSenthilnathan in #114981
- Add language slug by @gewarren in #114984
- ML-KEM: Change parameter from ReadOnlySpan to array by @vcsjones in #115016
- Prepend SysRoot to lib search path on freebsd by @am11 in #115035
- [wasm][coreclr] Make libs subset build by @radekdoulik in #114548
- Fix minidump generation - missing IP for exception stack frames by @mikem8361 in #115025
- [browser] disable Wasm.Browser.EventPipe.Sample by @pavelsavara in #115000
- HTTP/3: Eliminate near-zero "wait for connection" telemetry signals by @antonfirsov in #114083
- [cdac] Create transport package and rename the cdac reader by @steveisok in #114812
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro in #115034
- Do not rethrow from SocketsTestServerAPM.OnAccept by @rzikm in #114964
- JIT: fix issues in field-wise escape analysis by @AndyAyersMS in #114974
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro in #115044
- [wasm] Fix MT build by @radekdoulik in #115050
- Cleanup Microsoft.DotNet.VersionTools.Tasks, it got removed from arcade by @akoeplinger in #115046
- Fix Idn failing tests by @tarekgh in #115018
- Fix AnyKey query when there are duplicates and multiple service types by @steveharter in #114972
- [cdac] Nits follow up from transport package PR by @steveisok in #115047
- [wasm coreclr] Keep primary flavor mono for browser builds by @radekdoulik in #115059
- Sve: Fix Gather/Scatter tests by @kunalspathak in #115036
- JIT: fix ACD EH region removal updates for filters by @AndyAyersMS in #115054
- Add link to Android doc by @richlander in #114977
- spmi collect/jitrollingbuild: Replace DefaultAzureCredential => AzureCliCredential by @kunalspathak in #115067
- Interpreter GC info stage 2: Generate empty GC info and add baseline implementation of EnumGcRefs by @kg in #113948
- [X86/Funclets] Fix uninitalized values in SoftwareExceptionFrame::UpdateContextFromTransitionBlock by @filipnavara in #115065
- Fix typing of BlendVariableMask condition when optimizing TernaryLogic by @BruceForstall in #114837
- Delete redundant gcc-toolchain flag by @am11 in #115073
- Fix last issue with GC bridge comparison and enable all tests by @filipnavara in #115049
- Disable ctor calls on classes marked with
ComImport
when COM interop feature isn't enabled. by @AaronRobinsonMSFT in #115009 - [STJ] Account for F# CompilationMappingAttribute now supporting multiple declarations. by @eiriktsarpalis in #114961
- [main] Source code updates from dotnet/dotnet by @dotnet-maestro in #115072
- Cleanup some unused code and signature by @huoyaoyuan in #112905
- JIT: revise may/must point to stack analysis by @AndyAyersMS in #115080
- [RISC-V] Extend register for slti by @tomeksowi in #114900
- [wasm] Bump chrome for testing - linux: 135.0.7049.114, windows: 136.0.7103.48 by @github-actions in #115084
- Test /etc/os-release existence before grepping by @am11 in #115086
- [NativeAOT] Add linux-arm64 pri1 runtime tests to outerloop run by @jkotas in #114948
- [main] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #115105
- [RuntimeAsync] Merge from labs, all except JIT by @VSadov in #114675
- Add null check for EnumerationOptions by @huoyaoyuan in #114672
- [browser] Consider WasmSDK projects RID agnostic by @maraf in #114429
- Simplify conditional operator by @xtqqczze in #112074
- Remove redundant 'freeList' field from HashLookup class by @rameel in #114914
- Add single-file host tests for native library load by @elinor-fung in #115061
- [cDAC] Fix method table slot lookup by @max-charlamb in https://gi...
v9.0.6
Bug Fixes
-
Read messages from binlog if process output is missing build finished message (#114676)
Improves reliability of the WebAssembly build process by reading messages from the binlog when the process output does not contain the expected build finished message, preventing build failures in certain scenarios. -
Fix debugger app hangs related to thread exit (#114917)
Resolves an issue where applications could hang during debugging when threads exit, ensuring smoother debugging experiences and preventing deadlocks. -
[Mono] Workaround MSVC miscompiling sgen_clz (#114903)
Addresses a compiler miscompilation issue in MSVC affecting the Mono garbage collector, improving runtime stability and correctness on affected platforms. -
Do not set the salt or info if they are NULL for OpenSSL HKDF (#114877)
Fixes a cryptographic issue by ensuring that the salt or info parameters are not set when they are NULL in OpenSSL HKDF, preventing potential errors or unexpected behavior in key derivation. -
[Test Only] Fix Idn tests (#115032)
Corrects issues in Internationalized Domain Name (Idn) tests, ensuring accurate and reliable test results for domain name handling. -
JIT: revised fix for fp division issue in profile synthesis (#115026)
Provides a more robust fix for floating-point division issues in JIT profile synthesis, improving numerical accuracy and preventing incorrect calculations. -
Handle OSSL 3.4 change to SAN:othername formatting (#115361)
Updates certificate handling to accommodate changes in Subject Alternative Name (SAN) formatting introduced in OpenSSL 3.4, ensuring compatibility and correct parsing of certificates. -
[Mono] Fix c11 ARM64 atomics to issue full memory barrier (#115635)
Fixes atomic operations on ARM64 in Mono to issue a full memory barrier, ensuring correct synchronization and preventing subtle concurrency bugs.
Performance Improvements
-
[WinHTTP] Certificate caching on WinHttpHandler to eliminate extra call to Custom Certificate Validation (#114678)
Improves HTTP performance by caching certificates in WinHttpHandler, reducing redundant calls to custom certificate validation and speeding up secure connections. -
Improve distribute_free_regions (#115167)
Optimizes memory management by enhancing the algorithm for distributing free memory regions, leading to better memory utilization and potentially improved application performance.
Technical Improvements
-
Strip trailing slash from source dir for cmake4 (#114905)
Refines build scripts by removing trailing slashes from source directories when using CMake 4, preventing potential build path issues and improving build reliability. -
Don't expose TrustedCertificatesDirectory() and StartNewTlsSessionContext() to NetFx (#114995)
Restricts certain internal APIs from being exposed to .NET Framework, reducing surface area and preventing unintended usage. -
Add support for more libicu versions (#115376)
Expands compatibility by supporting additional versions of the International Components for Unicode (ICU) library, enhanc F438 ing globalization features across more environments.
Infrastructure
-
Run outerloop pipeline only for release branches, not staging/preview (#115011)
Optimizes CI/CD resources by limiting the outerloop pipeline to run only on release branches, reducing unnecessary test runs and speeding up development workflows. -
Update CentOS Stream, Debian, OpenSUSE (#115027)
Updates build and test infrastructure to use newer versions of CentOS Stream, Debian, and OpenSUSE, ensuring ongoing compatibility and security with supported Linux distributions. -
Update MacOS signing to use PME (#115634)
Switches MacOS code signing to use PME, improving the security and reliability of the signing process for MacOS releases.
Dependency Updates
-
Update dependencies from dotnet/roslyn (#115353)
Integrates the latest updates from the Roslyn compiler, bringing in bug fixes, performance improvements, and new language features. -
Update dependencies from dotnet/arcade (#115085)
Updates the Arcade build infrastructure dependency, ensuring the latest build tools and scripts are used. -
Update dependencies from dotnet/sdk (#114856, #115466)
Brings in the latest changes from the .NET SDK, improving build reliability and incorporating upstream fixes. -
Update dependencies from dotnet/icu (#114762, #115440)
Updates the ICU library dependency, enhancing globalization support and fixing related issues. -
Update dependencies from dotnet/cecil (#114670)
Incorporates the latest Mono.Cecil updates, improving assembly manipulation and metadata handling. -
Update dependencies from dotnet/emsdk (#114702)
Updates the Emscripten SDK dependency, ensuring up-to-date WebAssembly toolchain support. -
Update dependencies from dotnet/xharness (#114855)
Brings in the latest XHarness test runner updates, improving test automation and reliability.
Miscellaneous
-
Update branding to 9.0.6 (#115385)
Updates version branding throughout the repository to reflect the 9.0.6 release. -
Fix line endings (#115413)
Standardizes line endings across the codebase, improving cross-platform consistency and reducing merge conflicts. -
[automated] Merge branch 'release/9.0' => 'release/9.0-staging' (#114700)
Automated merge to synchronize changes between release branches, ensuring consistency across development streams. -
Merging internal commits for release/9.0 (#115535)
Integrates internal commits into the release/9.0 branch, consolidating changes for the release. -
[manual] Merge release/9.0-staging into release/9.0 (#115497)
Manually merges staging changes into the main release branch, preparing for the official release.
This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests.
Full Changelog: v9.0.5...v9.0.6
v8.0.17
Bug Fixes
-
Work around MSVC miscompiling sgen_clz (#114904)
Addresses an issue where the Microsoft Visual C++ (MSVC) compiler was miscompiling thesgen_clz
function in Mono. This workaround ensures correct behavior and stability for affected builds. -
Fix Idn tests (#115030)
Resolves issues in the Internationalized Domain Name (Idn) tests, improving test reliability and ensuring accurate validation of related functionality. -
Handle OSSL 3.4 change to SAN:othername formatting (#115367)
Updates the handling of Subject Alternative Name (SAN) formatting to accommodate changes introduced in OpenSSL 3.4. This ensures compatibility and correct certificate processing. -
Don't expose TrustedCertificatesDirectory() and StartNewTlsSessionContext() to NetFx (#115008)
Prevents certain internal APIs from being exposed to .NET Framework (NetFx), reducing the risk of unintended usage and improving API surface consistency. -
Fix line endings (#115414)
Corrects line ending inconsistencies in the codebase, which helps prevent cross-platform issues and improves code readability.
Performance Improvements
- Improve distribute_free_regions (#115023)
Optimizes the algorithm for distributing free memory regions, leading to better memory management and potentially improved application performance.
Technical Improvements
-
Strip trailing slash from source dir for cmake4 (#114906)
Refines the build process by removing unnecessary trailing slashes from source directory paths when using CMake 4, reducing potential build errors and improving consistency. -
Add support for more libicu versions (#115378)
Expands compatibility by supporting additional versions of the International Components for Unicode (ICU) library, enhancing globalization features across more environments.
Infrastructure
-
Update dependencies from dotnet/arcade (#114441)
Refreshes build and engineering dependencies from the Arcade repository, ensuring the latest tooling and infrastructure improvements are incorporated. -
Migrate MacCatalyst and iOS/tvOS simulator jobs to new queues (#114633)
Moves MacCatalyst and iOS/tvOS simulator jobs to updated build queues (osx.14.arm64.open
andosx.15.amd64.open
), improving build reliability and aligning with current infrastructure standards. -
Run outerloop pipeline only for release branches (#115012)
Adjusts CI pipeline triggers so that the outerloop pipeline runs only for release branches, reducing unnecessary builds and streamlining the development workflow. -
Update OpenSUSE (#115028)
Updates support for the OpenSUSE Linux distribution, ensuring compatibility and up-to-date platform support. -
Update dependencies from dotnet/emsdk (#114830)
Updates the Emscripten SDK dependencies, improving WebAssembly build support and incorporating the latest fixes and features. -
Update MacOS signing to use PME (#115633)
Switches MacOS code signing to use PME (Public Managed Environment), enhancing security and compliance for MacOS builds.
Miscellaneous
-
Automated merge: 'release/8.0' into 'release/8.0-staging' (#114668, #115410)
Merges changes from the main release branch into the staging branch, ensuring all updates are synchronized for the next release cycle. -
Update branding to 8.0.17 (#115384)
Updates version branding throughout the repository to reflect the new 8.0.17 release. -
Merging internal commits for release/8.0 (#115534)
Integrates various internal commits into the release branch, consolidating recent changes and improvements. -
Manual merge: release/8.0-staging into release/8.0 (#115498)
Manually merges the staging branch back into the main release branch, finalizing the release preparation process.
This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests.
Full Changelog: v8.0.16...v8.0.17
.NET 10.0 Preview 3
What's Changed
- Implement ExportPkcs12 by @vcsjones in #112569
- Bump main to preview3 by @carlossanlop in #112718
- JIT: Replace
fgMoveHotJumps
with 3-opt utility by @amanasifkhalid in #112016 - JIT: Clean up and optimize
StackLevelSetter
by @jakobbotsch in #112561 - Don't emit unchecked write barrier for stack-allocated arrays by @EgorBo in #112711
- JIT: Delete old
GenTreeCall
ABI information by @jakobbotsch in #112665 - [browser] single threaded diagnostic server by @pavelsavara in #111910
- [browser] remove EXPORT_EXCEPTION_HANDLING_HELPERS by @pavelsavara in #111033
- Fix flags in EarlyProp after nullcheck is removed by @EgorBo in #112717
- Reapply "[browser][MT] move wasm MT CI legs to extra-platforms (#112712)" by @akoeplinger in #112716
- Handle overlapped groups of bounds checks by @EgorBo in #112660
- Specialize Contains for Iterators in LINQ by @stephentoub in #112684
- [WinHTTP] Remove unnecessary recursion by @ManickaP in #112698
- M.E.C.M. Add TryGetValue(ReadOnlySpan) API by @mgravell in #112695
- Flow DotNetBuildTests by @ViktorHofer in #112732
- Host: log exception if a service factory fails by @mus65 in #112534
- Update HelloAndroid App output path and PerfBDN dotnet-install.sh url. by @LoopedBard3 in #112720
- Fix winarm64 crossdac build by @steveisok in #112594
- Clean up our runtime-deps packages and enable ARM64 Debs by @jkoritzinsky in #112671
- Bump the minimum ICU version to 60 by @jkoritzinsky in #112713
- Relax encrypted cert requirement for Windows with Pkcs12Export tests by @vcsjones in #112741
- Fix exception handling in the prestub worker - take 2 by @janvorli in #112666 10000 a>
- Change the Unix cert store to store certificates with AES256+SHA256 PBES2 by @vcsjones in #112749
- [android][coreclr] Make coreclr build specify
HOST_ANDROID
and include Android logging APIs by @elinor-fung in #112677 - Clarify comments for
ClrRestoreNonvolatileContextWorker
. by @anthonycanino in #112758 - Implement 'ConditionalWeakTable<TKey,TValue>.Remove' API by @Sergio0694 in #112263
- Add Random.Get{Hex}String by @stephentoub in #112162
- Fix stack overflow condition when appending modifiers to resolver chains. by @eiriktsarpalis in #112737
- Coretestlib: Add information of parent process id during test failure for Windows by @kunalspathak in #112724
- JIT: Keep small-typedness information for return temps introduced by GDV by @jakobbotsch in #112733
- Use pooled Utf8JsonWriter when doing sync streaming serialization. by @eiriktsarpalis in #112745
- [main] Update dependencies from dotnet/cecil, dotnet/hotreload-utils, dotnet/icu, dotnet/runtime-assets by @dotnet-maestro in #112624
- [main] Update dependencies from dotnet/emsdk by @dotnet-maestro in #112682
- Support generic type parameter when created with TypeBuilder by @steveharter in #112372
- fixed the clang-20 issue for ppc64le by @ashutoshjadhav9 in #112777
- JIT: Run profile repair after frontend phases by @amanasifkhalid in #111915
- JIT: Read back parameter register replacements eagerly by @jakobbotsch in #112501
- CoreCLR interpreter basic compilation and execution by @BrzVlad in #112369
- Fix JsonNode.DeepEquals by @eiriktsarpalis in #112800
- MemoryCache: use net9.cs file rather than #if for TFM limits by @mgravell in #112786
- Ensure 3DES Exports are actually 3DES on all versions of Windows by @vcsjones in #112806
- Fix the unwind opcode for new APX registers by @kunalspathak in #112799
- SPMI: Record and replay
notifyInstructionSetUsage
properly by @jakobbotsch in #112764 - Use rangecheck in assertprop by @EgorBo in #112766
- Fix remarks formatting by @gewarren in #112808
- SPMI: Include JIT-EE GUID changes in JIT baseline detection by @jakobbotsch in #112820
- JIT: Don't show code bytes for loongarch64 disasm unless it was told to do so by @hez2010 in #112486
- Fixed typos in Native AOT optimizing document by @HotCakeX in #112812
- Use a unified cache for SSL_CTX objects by @rzikm in #112567
- JIT: Check ISA directly when printing
JitDisasm
by @jakobbotsch in #112828 - [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #112513
- JIT: Remove uses of old ABI information by @jakobbotsch in #112818
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #112834
- Remove thread pointer from AwareLock by @eduardo-vp in #112715
- Reformat
ZLibNative
comments by @edwardneal in #112585 - Fix HttpHandlerDiagnosticListenerTests.TestW3CHeadersTraceStateAndCorrelationContext by @antonfirsov in #112753
- Narrow AddressFamily passed to getaddrinfo when IPv6 is unsupported by @antonfirsov in #112642
- Disable interpreter test on native AOT by @MichalStrehovsky in #112857
- Fix getting resource when
ResourceResolve
returns assembly with resource that is an assembly ref by @elinor-fung in #112810 - Revert "Use rangecheck in assertprop (#112766)" by @AndyAyersMS in #112872
- Use certificate thumbprints from entire chain in SSL_CTX cache by @rzikm in #112858
- [Android] Add callback to host-runtime contract for getting assembly data by @grendello in #112705
- JIT: Use precise multireg arg check for old promotion by @jakobbotsch in #112883
- JIT: Introduce O1K_VN by @EgorBo in #112889
- [browser] samplepoint instrumentation into Mono profiler by @pavelsavara in #112352
- Fix doc typo by @steveharter in #112875
- JIT: fix missing morphed flag by @AndyAyersMS in #112888
- Remove useless complementary assertions by @EgorBo in #110171
- Make CPU utilization checks in the thread pool configurable by @kouvel in #112789
- [main] Update dependencies from dotnet/emsdk by @dotnet-maestro in #112895
- [PERF] Disable PerfBDN tests. by @LoopedBard3 in #112886
- JIT: Fix small->uint->float casts with AVX-512 by @saucecontrol in #112892
- JIT: Handle
FIELD_LIST
as a user of calls in lowering by @jakobbotsch in #112904 - Instructions for adding a native external library dependency by @carlossanlop in #105045
- Revert "version needed to extract" fix by @carlossanlop in #112922
- Revert gen-buildsys.sh cmake command echo by @steveisok in #112929
- Use FLS detach callback as a thread termination notification. Another try. by @VSadov in #112809
- Consolidate guid definitions by @am11 in #112826
- SPMI: Add fallback for
notifyInstructionSetUsage
by @jakobbotsch in #112925 - Temporary hotfix for interpreter crash by @janvorli in #112920
- Pass SourceBuiltPdbArtifactsDir parameteres to runtime build by @mmitche in #112788
- Disable GC stress tests for the interpreter test by @janvorli in #112906
- JIT: Delete old parameter ABI classification by @jakobbotsch in #112884
- Only count DwarfDump errors produced by managed code by @filipnavara in h...
.NET 9.0.5
What's Changed
- [release/9.0-staging] [HttpStress] [SslStress] Run stress tests nightly against staging branches by @github-actions in #113476
- [release/9.0] [browser][http] mute JS exceptions about network errors + HEAD verb by @github-actions in #113261
- [release/9.0-staging] Fix double dispose of GCHandle in BrowserWebSocket by @github-actions in #113541
- [release/9.0-staging] [HttpStress] Fix Linux HttpStress build by @antonfirsov in #113617
- [release/9.0-staging] Use minipal_getcpufeatures to detect for AVX (#113032) by @cshung in #113489
- [release/9.0-staging] Backport "Use FLS detach callback as a thread termination notification. Another try." by @VSadov in #113055
- [release/9.0-staging] [Json] Avoid writing to PipeWriter if IAsyncEnumerable throws before first item by @github-actions in #113699
- [browser] Remove experimental args from NodeJS WBT runner (part2) by @maraf in #113753
- [9.0] Update openssl dependency for openSUSE by @NikolaMilosavljevic in #113548
- [release/9.0-staging] JIT: avoid fp divide by zero in profile synthesis by @github-actions in #113418
- [release/9.0-staging] Do not substitute return values of constrained calls by @github-actions in #113462
- [release/9.0] Test failure - SendAsync_RequestVersion20_ResponseVersion20 by @github-actions in #113649
- [release/9.0-staging] [mono] Missing memory barrier leads to crash in multi-threaded scenarios by @github-actions in #113740
- [release/9.0] Move DAC signing identity to PME by @hoyosjs in #114031
- [release/9.0-staging] Update dependencies from dotnet/icu by @dotnet-maestro in #113460
- [release/9.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #113483
- [release/9.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #113516
- [release/9.0-staging] Update dependencies from dotnet/cecil by @dotnet-maestro in #113461
- [release/9.0-staging] Update dependencies from dotnet/arcade by @dotnet-maestro in #113561
- [release/9.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #113595
- [release/9.0-staging] Update dependencies from dotnet/roslyn by @dotnet-maestro in #113821
- [9.0] libnethost no LTCG by @jkoritzinsky in #113893
- [9.0] Bring back yml necessary change types in label checkers by @carlossanlop in #114166
- [release/9.0-staging] [Apple mobile] Enable trimming on build machines to match ILLink features by @kotlarmilos in #113466
- [release/9.0-staging] Fix VS div-by-0 in DacEnumerableHashTable code by @github-actions in #113892
- [release/9.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #113517
- [release/9.0-staging] Update dependencies from dotnet/roslyn-analyzers by @dotnet-maestro in #113822
- [release/9.0-staging] Update dependencies from dotnet/sdk by @dotnet-maestro in #113596
- Update branding to 9.0.5 by @vseanreesermsft in #114162
- [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by @github-actions in #113449
- [release/9.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #114185
- [release/9.0-staging] Revert disabling of tests for HTTP servers by @github-actions in #114207
- [release/9.0-staging] Fix build break with cmake 4.0 by @github-actions in #114278
- [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by @github-actions in #114224
- [release/9.0-staging] Fix inadvertently upgrading compiler warnings to errors by @akoeplinger in #114331
- Merging internal commits for release/9.0 by @vseanreesermsft in #114396
- [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by @github-actions in #114415
- [release/9.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #114299
- [release/9.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #114473
- [release/9.0-staging][mono][hotreload]Adjust row_size and size_bitfield from the baseline based on the delta sizes by @thaystg in #114119
- [release/9.0-staging] Update dependencies from dotnet/arcade by @dotnet-maestro in #114296
- [release/9.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #114318
- [release/9.0-staging] Update dependencies from dotnet/cecil by @dotnet-maestro in #114364
- [release/9.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #114474
- [release/9.0] Fix edge cases in Tarjan GC bridge (Android) by @filipnavara in #114391
- [release/9.0-staging] [debugger] Fix debugging a x86 app in mixed mode by @github-actions in #114077
- [release/9.0-staging] [infra][apple-mobile] Migrate MacCatalyst and iOS/tvOS simulator jobs to
osx.14.arm64.open
andosx.15.amd64.open
queues by @github-actions in #114617 - [release/9.0-staging] Update dependencies from dotnet/cecil by @dotnet-maestro in #114615
- [release/9.0-staging] Update dependencies from dotnet/sdk by @dotnet-maestro in #114613
- [release/9.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #114589
- [release/9.0-staging] Update dependencies from dotnet/icu by @dotnet-maestro in #114254
- [release/9.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #114576
- [release/9.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #114612
- [release/9.0-staging] Moved a static field initialization from Thread to ProcessorIdCache by @github-actions in #114273
- Revert "[release/9.0] Fix edge cases in Tarjan GC bridge (Android)" by @steveisok in #114641
- [manual] Merge release/9.0-staging to release/9.0 by @jozkee in #114662
Full Changelog: v9.0.4...v9.0.5
.NET 8.0.16
What's Changed
- [release/8.0-staging] [HttpStress] [SslStress] Run stress tests nightly against staging branches by @antonfirsov in #113479
- [release/8.0][browser][http] mute JS exceptions about network errors + HEAD verb by @pavelsavara in #113271
- [8.0] Update Ubuntu pipelines from 18.04 to 22.04 by @carlossanlop in #113441
- [release/8.0-staging] Support setting ACLs on file paths longer than
MAX_PATH
by @github-actions in #113801 - [release/8.0-staging] remove extra assert from WinHttp handler by @github-actions in #112861
- [release/8.0-staging] Send connection WINDOW_UPDATE before RTT PING by @antonfirsov in #113702
- [release/8.0] Test failure - SendAsync_RequestVersion20_ResponseVersion20 by @github-actions in #113648
- [release/8.0] Turn off packages for April by @carlossanlop in #113718
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #113448
- [release/8.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #113445
- [8.0] Bring back yml necessary change types in label checkers by @carlossanlop in #114167
- [release/8.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #113475
- [release/8.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #113515
- Update branding to 8.0.16 by @vseanreesermsft in #114161
- [release/8.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #113481
- [release/8.0] Revert disabling of tests for HTTP servers by @rzikm in #114209
- [release/8.0-staging] Fix build break with cmake 4.0 by @akoeplinger in #114279
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #114223
- [release/8.0-staging] Fix inadvertently upgrading compiler warnings to errors by @akoeplinger in #114335
- Merging internal commits for release/8.0 by @vseanreesermsft in #114398
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #114414
- [release/8.0-staging] Remove reference / redistribution of externally provided packages in MSBuild tasks by @ericstj in #113404
- [release/8.0] Move DAC signing identity to PME by @github-actions in #114032
- [release/8.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #114439
- [release/8.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #114472
- [release/8.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #114330
- [release/8.0-staging] JIT: Fix loop recognition bug in .NET 8 by @AndyAyersMS in #114457
- [release/8.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #114588
- [release/8.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #114577
- [release/8.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #114454
- [manual] Merge release/8.0-staging into release/8.0 by @carlossanlop in #114661
- [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in #114667
Full Changelog: v8.0.15...v8.0.16
.NET 8.0.15
What's Changed
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #112437
- [release/8.0] Fix init race in mono_class_try_get_[shortname]_class. by @github-actions in #112297
- [release/8.0] Internal monitor impl not using coop mutex causing deadlocks on Android. by @github-actions in #112374
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #112467
- [release/8.0] Skip NegotiateStream_StreamToStream_Authentication_EmptyCredentials_Fails on WinSrv 2025 by @rzikm in #112472
- [release/8.0-staging] Move generation of SuggestedBindingRedirects.targets to inner build by @ericstj in #112494
- [release/8.0-staging] [mono][interp] Fix execution of delegate invoke wrapper with interpreter by @BrzVlad in #112008
- [release/8.0-staging] Add support for LDAPTLS_CACERTDIR \ TrustedCertificateDirectory by @steveharter in #112530
- [8.0] Make CPU utilization checks in the thread pool configurable by @kouvel in #112790
- [release/8.0-staging] Use invariant culture when formatting transfer capture in regex source generator by @stephentoub in #113151
- [release/8.0-staging] Include PDB for all TfmRuntimeSpecificPackageFile by @github-actions in #112140
- Update branding to 8.0.15 by @vseanreesermsft in #113225
- [8.0] Make counting of IO completion work items more precise on Windows by @kouvel in #112795
- [release/8.0-staging] Remove --no-lock brew flag by @akoeplinger in #113282
- [release/8.0-staging] [QUIC] Update MsQuic library version by @ManickaP in #113206
- [release/8.0-staging] Change assembler to clang in android MonoAOT by @github-actions in #111666
- [release/8.0-staging] [browser] Remove experimental args from NodeJS WBT runner by @github-actions in #113008
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #113263
- [release/8.0-staging] Update dependencies from dotnet/xharness by @dotnet-maestro in #112503
- [release/8.0-staging] Update dependencies from dotnet/runtime-assets by @dotnet-maestro in #112551
- [release/8.0] Update dependencies from dotnet/emsdk by @dotnet-maestro in #112516
- [release/8.0-staging] Update dependencies from dotnet/arcade by @dotnet-maestro in #112504
- [release/8.0-staging] Update dependencies from dotnet/hotreload-utils by @dotnet-maestro in #112520
- [release/8.0-staging] Back port logical equivalent of #102838 by @vcsjones in #113230
- [manual] Merge release/8.0-staging into release/8.0 by @carlossanlop in #113349
- Merging internal commits for release/8.0 by @vseanreesermsft in #113388
- [release/8.0-staging] Fix HttpHandlerDiagnosticListenerTests.TestW3CHeadersTraceStateAndCorrelationContext by @github-actions in #112881
- [automated] Merge branch 'release/8.0' => 'release/8.0-staging' by @github-actions in #113328
- [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in #113446
- [release/8.0] produce SBOM after signing artifacts by @haruna99 in #113504
- [release/8.0] Remove unnecessary parameter for SBOM generation by @hoyosjs in #113544
- [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in #113551
Full Changelog: v8.0.14...v8.0.15