What's Changed
- Update microsoft.build for dev17.4 branch by @KevinRansom in #16902
- Update Microsoft.Build dependency for Dev17.5 by @KevinRansom in #16897
- Localized file check-in by OneLocBuild Task: Build definition ID 499: Build ID 2409578 by @dotnet-bot in #16910
- signing fix for Update to17.4 by @KevinRansom in #16917
- Revert 17.4 by @KevinRansom in #16925
- revert Update17.5 by @KevinRansom in #16926
- Merge release/dev17.4 to release/dev17.5 by @dotnet-bot in #16928
- Merge release/dev17.5 to release/dev17.6 by @dotnet-bot in #16932
- Support empty-bodied computation expressions by @brianrourkeboll in #17352
- Merge release/dev17.11 to main by @dotnet-bot in #17380
- Attribute targets on records by @edgarfgp in #17207
- Merge release/dev17.11 to main by @dotnet-bot in #17390
- Change default compression setting for compiler + bump versions by @KevinRansom in #17383
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17199
- Defaultrealsig by @KevinRansom in #17385
- New issue template for bugs related to Nullable Reference Types by @T-Gro in #17357
- Fixes #17376 - Compiler hangs when compiling inline recursive invocation #17376 by @KevinRansom in #17394
- Update to latest released SDK and fslib by @vzarytovskii in #17406
- Merge main to feature/nullness by @dotnet-bot in #17399
- Create UseLocalCompiler.Directory.Build.props by @vzarytovskii in #17396
- C# collection expression support for F# lists & sets by @brianrourkeboll in #17359
- Merge main to feature/nullness by @dotnet-bot in #17413
- [RFC FS-1060] Nullness checking by @dsyme in #15181
- Slight cleanup of dead and repeated code by @KevinRansom in #17412
- Attribute targets on unions by @edgarfgp in #17389
- Default to .NET9 by @vzarytovskii in #17426
- Merge main to release/dev17.12 by @dotnet-bot in #17434
- Minor feature cleanup by @brianrourkeboll in #17421
- Skip a flaky test by @psfinaki in #17431
- Merge main to release/dev17.12 by @dotnet-bot in #17437
- Fix reporting IsFromComputationExpression for inappropriate symbols by @DedSec256 in #17375
- Merge main to release/dev17.12 by @dotnet-bot in #17443
- Module functions for
'T option
↔'T voption
by @brianrourkeboll in #17436 - Make loading of
FSharp.Build
optional inUseLocalCompiler.Directory.Build.props
by @vzarytovskii in #17417 - Remove xliff-tasks from Version.Details.xml by @ViktorHofer in #17430
- Update docs for an operator by @psfinaki in #17427
- Optimize simple mappings with binds and/or sequentials before single yield by @brianrourkeboll in #17419
- Prefix-to-infix code fix: don't throw if error range extends to EOF by @brianrourkeboll in #17448
- Skip another flaky test by @psfinaki in #17441
- Optimize metadata members and custom attributes reading by @DedSec256 in #17364
- Merge main to release/dev17.12 by @dotnet-bot in #17450
- Treat
{ new Foo() }
asSynExpr.ObjExpr
by @edgarfgp in #17388 - Merge main to release/dev17.12 by @dotnet-bot in #17458
- Merge main to release/dev17.12 by @dotnet-bot in #17461
- Fixes #17438 - Ensure that isinteractive multi-emit backing fields are not public by @KevinRansom in #17439
- Refactor expression checking by @vzarytovskii in #17456
- Change constraint mismatch for 'supports null' from warning to error by @T-Gro in #17462
- Merge main to release/dev17.12 by @dotnet-bot in #17463
- C# protected property can be assigned in a F# inherit constructor call by @edgarfgp in #17391
- Merge main to release/dev17.12 by @dotnet-bot in #17466
- Fixes #17447 -MethodAccessException on equality comparison of a record with private fields by @KevinRansom in #17467
- Remove unused values from TcGlobals by @KevinRansom in #17422
- Sink: report function domain type by @auduchinok in #17470
- Parser: recover on missing union case fields by @auduchinok in #17452
- Parser: recover on missing union case field types by @auduchinok in #17455
- Fix incorrect example result in list module documentation for 'fold2'. by @hampussle in #17475
- Merge main to release/dev17.12 by @dotnet-bot in #17469
- Nullness - prevent duplicate warnings coming from speculative method resolution by @T-Gro in #17477
- Merge main to release/dev17.12 by @dotnet-bot in #17489
- Refactor CE checking by @vzarytovskii in #17464
- Merge main to release/dev17.12 by @dotnet-bot in #17491
- Merge main to release/dev17.12 by @dotnet-bot in #17493
- Merge main to release/dev17.12 by @dotnet-bot in #17498
- Tests the scenario when calling protected static base member from
static do
by @edgarfgp in #17484 - Fix object-expr untested cases by @edgarfgp in #17476
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17429
- C# params interop tests by @psfinaki in #17495
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17435
- Update DefaultAugmentationAttribute by @KevinRansom in #17502
- Pass SynPat.Typed nodes to original continuation. by @nojaf in #17510
- Merge main to release/dev17.12 by @dotnet-bot in #17506
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17511
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17515
- Enable F# 9.0 by @KevinRansom in #17500
- Reduce allocations in some
Array.Parallel
funcs by @brianrourkeboll in #17505 - Fix missing message with type error (FS0001) by @edgarfgp in #17516
function
implicit conversion the same way asfun x
by @edgarfgp in #17487- Nullness :: Render C# code analysis attributes in tooltips by @T-Gro in #17485
- Merge main to release/dev17.12 by @dotnet-bot in #17520
- Allow access modifiers to auto properties getters and setters by @ijklam in #16861
Nullable<'T>.Value
→Nullable<'T>.GetValueOrDefault
by @brianrourkeboll in #17504- Update DEVGUIDE.md by @smoothdeveloper in #16197
- Change the conflicted error number of
Access-modifies-to-auto-properties
by @ijklam in #17522 - Merge main to release/dev17.12 by @dotnet-bot in #17523
- Better error reporting for unions duplicated fields by @edgarfgp in #17521
- Merge main to release/dev17.12 by @dotnet-bot in #17525
- [RFC FS-1060] Nullness checking (applied to codebase) by @dsyme in #15310
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17526
- Merge main to release/dev17.12 by @dotnet-bot in #17533
- VS plugin Bugfix :: Defensive checks added to prevent TaskListService crashes by @T-Gro in #17411
- Nullness - SDK prop alignment with C# - by @T-Gro in #17486
- Revert ILTypeDef custom attributes changes by @auduchinok in #17503
- Improve handling of line directives by @Martin521 in #17536
- Merge main to release/dev17.12 by @dotnet-bot in #17550
- Account for
CLIMutableAttribute
when checking attribute targets by @edgarfgp in #17559 - fixes #17541 - Equals visibility for DU's by @KevinRansom in #17548
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17546
- Merge main to release/dev17.12 by @dotnet-bot in #17560
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17545
- Nullness - option<> must be indicated as nullable in IL for C# consumers by @T-Gro in #17528
- Graph typechecking issue fix when using
global
namespace. by @vzarytovskii in #17553 - cherrypick #17561 - FS0243 - Unrecognized option: '--realsig- #17562 by @KevinRansom in #17563
- Fix 17561 - FS0243 - Unrecognized option: '--realsig- by @KevinRansom in #17562
- Use concurrent dictionary in NameMultiMap for CE yield cache by @vzarytovskii in #17565
- Fix #15867, #15868, #15869: Add missing byte chars notations, enforce limits in decimal notation in byte char & string by @Booksbaum in #15898
- Allow object expression without overrides by @edgarfgp in #17387
- Use concurrent dictionary in NMM - 17.11 backport by @vzarytovskii in #17571
- Merge main to release/dev17.12 by @dotnet-bot in #17568
- Merge release/dev17.11 to release/dev17.12 by @dotnet-bot in #17566
- Merge release/dev17.11 to main by @dotnet-bot in #17567
- Merge main to release/dev17.12 by @dotnet-bot in #17575
- Merge release/dev17.11 to release/dev17.12 by @dotnet-bot in #17573
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17569
- Merge release/dev17.11 to main by @dotnet-bot in #17574
- Fix 17572 by @KevinRansom in #17577
- Merge main to release/dev17.12 by @dotnet-bot in #17578
- Spelling by @jsoref in #16212
- Merge main to release/dev17.12 by @dotnet-bot in #17580
- Merge release/dev17.11 to release/dev17.12 by @dotnet-bot in #17586
- Merge release/dev17.11 to main by @dotnet-bot in #17587
- Enable EnforceAttributeTargets for F# 9.0 by @KevinRansom in #17558
- Merge main to release/dev17.12 by @dotnet-bot in #17584
- Update to .NET9p7 SDK by @vzarytovskii in #17537
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17581
- Merge main to release/dev17.12 by @dotnet-bot in #17591
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17589
- Account for
AllowNullLiteralAttribute
when checking attribute targets by @edgarfgp in #17583 - Merge main to release/dev17.12 by @dotnet-bot in #17594
- Merge main to release/dev17.12 by @dotnet-bot in #17596
- Disable UpdateXlfOnBuild for VMR builds by @T-Gro in #17585
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17600
- Merge main to release/dev17.12 by @dotnet-bot in #17603
- VS: fix unwanted navigation on hover by @majocha in #17592
- Account for
VolatileAttribute
when checking attribute targets by @edgarfgp in #17595 - Merge main to release/dev17.12 by @dotnet-bot in #17606
- Pack MIBC files by @psfinaki in #17513
- Localized file check-in by OneLocBuild Task: Build definition ID 499: Build ID 2524346 by @dotnet-bot in #17610
- Diagnostics: Clearer information style by @muqiuhan in #17488
- Update
.git-blame-ignore-revs
by @jsoref in #17582 - Account for
Sealed
andStructLayout
attributes when checking attribute targets by @edgarfgp in #17609 - Merge main to release/dev17.12 by @dotnet-bot in #17617
- Change format + fix for
--richerrors
by @vzarytovskii in #17614 - Move test delaying startup code to the test it belongs to by @Martin521 in #17612
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17616
- Merge release/dev17.6 to release/dev17.7 by @dotnet-bot in #17579
- Keep extra parens around unit & tuples in arg pats by @brianrourkeboll in #17618
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17615
- Merge release/dev17.7 to release/dev17.8 by @dotnet-bot in #17625
- Increase Linux and macOS timeouts by @vzarytovskii in #17627
- Optimize type interfaces reading from metadata by @DedSec256 in #17382
- Fix UseLocalCompiler.Directory.Build.props to invoke dotnet.exe by @T-Gro in #17542
- Change realSig to be
false
by default by @T-Gro in #17631 - Merge main to release/dev17.12 by @dotnet-bot in #17636
- Merge release/dev17.8 to release/dev17.9 by @dotnet-bot in #17626
- Fix wrong [] warning with unit-returning match expression by @dawedawe in #17637
- Detect
open type
use correctly for enums by @brianrourkeboll in #17628 - [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17633
- Merge release/dev17.9 to release/dev17.10 by @dotnet-bot in #17638
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17639
- Merge release/dev17.10 to release/dev17.11 by @dotnet-bot in #17642
- Do not throw from IsUnionCaseTester and handle a case where symbol is not considered a method/property by @abonie in #17634
- Merge main to release/dev17.12 by @dotnet-bot in #17643
- Merge release/dev17.11 to release/dev17.12 by @dotnet-bot in #17644
- Merge release/dev17.11 to main by @dotnet-bot in #17645
- Merge main to release/dev17.12 by @dotnet-bot in #17646
- Merge main to release/dev17.12 by @dotnet-bot in #17647
- Remove old error bsl in component tests to avoid confusion by @psfinaki in #17653
- Update Xunit version, migrate FSharpSuite.Tests to Xunit by @majocha in #17652
- Nullness - generated ToString() members should override object and return string WithoutNull by @T-Gro in #17547
- Support consuming IL(C#)-defined generic T with AllowByRefLike anti-constraint by @T-Gro in #17597
- Fix FSharpSuite net472 xUnit migration by @majocha in #17660
- Parser: recover on unfinished isConst patterns by @auduchinok in #17232
- Better error reporting for let bindings. by @edgarfgp in #17601
- Address StackOverflowExceptions in typechecking by @T-Gro in #17654
- Improve active pattern error reporting by @edgarfgp in #17666
- Update failing QuickInfo test by @T-Gro in #17672
- Update TESTGUIDE.md by @psfinaki in #17663
- Better fix for core/quotes tests that broke after xUnit by @majocha in #17665
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17648
- Merge main to release/dev17.12 by @dotnet-bot in #17677
- Make the interaction between #line and #nowarn directives consistent by @Martin521 in #17649
- Better
CE
error reporting when usinguse!
withand!
by @edgarfgp in #17671 - Merge main to release/dev17.12 by @dotnet-bot in #17688
- Housekeeping: move language version, fix links to release notes for nugets. by @vzarytovskii in #17687
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #17684
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17685
- Fix quickinfo text by @KevinRansom in #17682
- Run version check on all branches by @vzarytovskii in #17686
- Merge main to release/dev17.12 by @dotnet-bot in #17690
- Run more tests in temporary directory by @majocha in #17683
- Merge main to release/dev17.12 by @dotnet-bot in #17697
- Add conditional null guards to autogenerated code, so it can be used with any shipped FSharp.Core by @vzarytovskii in #17700
- Merge main to release/dev17.12 by @dotnet-bot in #17702
- Remove non-existing file from a project by @psfinaki in #17689
- Merge main to release/dev17.12 by @dotnet-bot in #17707
- Update to .NET 9 rc1 by @vzarytovskii in #17698
- Update arcade by @vzarytovskii in #17714
- Merge main to release/dev17.12 by @dotnet-bot in #17717
- Simple mapping optimization fixes by @brianrourkeboll in #17711
- Fix #17719 by @vzarytovskii in #17722
- Merge main to release/dev17.12 by @dotnet-bot in #17723
- Nullness :: Bugfix for internal error when processing System.Nullable with nesting in C# by @T-Gro in #17736
- Move attribute enforcement from v9 to preview by @T-Gro in #17739
- Merge main to release/dev17.12 by @dotnet-bot in #17740
- Merge main to release/dev17.12 by @dotnet-bot in #17744
- Bugfix : make sure nullness does not break XmlDoc info import for methods and types by @T-Gro in #17741
- Add trivia to Nullness nodes in SyntaxTree. by @nojaf in #17745
- Fix 17731 - Regression, F# 9 compiler cannot find constructor for attribute by @KevinRansom in #17746
- Merge main to release/dev17.12 by @dotnet-bot in #17749
- Requires tactics approval - Fix17773 - cherry pick optimized equals bug fixes to 8.0.4* by @KevinRansom in #17783
- Switch to new VMR control set (#17703) (port from main) by @mmitche in #17788
- [release/dev17.12] Respect generic arity in method uniqueness by @github-actions in #17805
- [17.12] Turn off realsig when building product and proto by @vzarytovskii in #17808
- Merge release/dev17.11 to release/dev17.12 by @dotnet-bot in #17784
- Revert PR - Make the interaction between #line and #nowarn directives consistent by @KevinRansom in #17859
- Tactics approval Required: cherry pick -- compile order changes by @KevinRansom in #17907
- Backport :: Bugfix :: Support
ldelem.u8
,ldelem.u
opcode aliases (#18081) by @T-Gro in #18096
New Contributors
- @hampussle made their first contribution in #17475
- @muqiuhan made their first contribution in #17488
Full Changelog: v12.8.400...v12.9.101