Releases: dotnet/fsharp
Releases · dotnet/fsharp
.NET 10.0 Preview 2
What's Changed
- Tests: Fix flaky
AssemblyVersion
tests by @majocha in #18268 - Replace internal option–voption conversions with FSharp.Core funcs by @brianrourkeboll in #18269
- Add reminder to check
/.dotnet
dir when tests fail to find SDK by @brianrourkeboll in #18271 - Add GH action to manage servicing branch codeflow. by @JoeRobich in #18267
- Add ILVerification to test framework by @KevinRansom in #18255
- Remove redundant ifdef by @majocha in #18284
- Cancellable: only cancel on OCE with own token by @auduchinok in #18277
- Bugfix :: Fix optimizer bug where field.Index included compiler generated static fields by @T-Gro in #18280
- Bugfix :: Support for 'use' on a nullable IDisposable by @T-Gro in #18262
- Cancellable: set token in more places by @auduchinok in #18283
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #18281
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #18282
- Bugfix: Warn when upcast drops nullness via FindUniqueFeasibleSupertype by @T-Gro in #18261
- Cancellable: remove UsingToken usages in tests by @auduchinok in #18276
- Bugfix :: Flexible types should subsume nullable version of equivalent CoarcesTo constraints by @T-Gro in #18266
- Bugfix:: Add missing codegen for mapping of overlapped struct DU fields and read it in fslib reflection by @T-Gro in #18274
- Add missing project reference from FSharpSuite to fsc project by @T-Gro in #18291
- Symbols: Add FSharpAssembly.IsFSharp by @auduchinok in #18290
- Bugfix :: Nullness in signature file is not considered by implementation and vice versa by @T-Gro in #18186
- Handle |null types when optimizing away equals/hash/compare from LanguagePrimitves into instance method calls by @T-Gro in #18296
- Only build the Microsoft.FSharp.Compiler.sln solution in the VMR by @jkoritzinsky in #18299
- Consolidate
.Using
and |null in builders by @T-Gro in #18292 - Add support for C#
Experimental
attribute by @edgarfgp in #18253 - React to NuGet package pruning warnings by @ViktorHofer in #18304
- More OpenTelemetry changes by @majocha in #18246
- Cancellable: fix leaking cancellation token by @auduchinok in #18295
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #18310
- Classify
nameof<'T>
&match … with nameof ident -> …
correctly by @brianrourkeboll in #18300 - Cancellable: hide UsingToken and simplify inlined run by @majocha in #18309
- React to NuGet package pruning warnings by @ViktorHofer in #18318
- Fix flaky tokenizer tests by @majocha in #18326
- [automated] Merge branch 'main' => 'release/dev17.14' by @github-actions in #18272
- Bugfix :: Nullness :: Allow nullable return type for first branches of match and ifthenelse expressions by @T-Gro in #18322
- Bugfix for breaking change when using Option.ofObj :: Type parameter constraint
null
impliesnot struct
by @T-Gro in #18323 - [automated] Merge branch 'main' => 'release/dev17.14' by @github-actions in #18332
New Contributors
- @JoeRobich made their first contribution in #18267
- @jkoritzinsky made their first contribution in #18299
Full Changelog: v13.9.300-beta.25079.4...v13.9.300-beta.25124.4
.NET 10.0 Preview 1
What's Changed
- Handle some flaky
ProjectAnalysisTests
cases by @majocha in #18200 - Improve directory attribute refactor - Break up PR #18161 - Part 1 by @KevinRansom in #18195
- src/Compiler/TypedTree/TypedTreePickle.fs and refactored. by @progressive-galib in #18203
- Improve directory attribute refactor - Break up PR #18161 - Part 2 by @KevinRansom in #18196
- Improve directory attribute refactor - Break up PR #18161 - Part 3 by @KevinRansom in #18197
- Remove unnecessary overrides in TestConsole by @majocha in #18208
- Show obsolete warnings/errors when used with unit of measure by @edgarfgp in #18182
- Merge release/dev17.13 to main by @dotnet-bot in #18214
- Versioning for 17.14 and 9.0.300 by @vzarytovskii in #18222
- Fix AsyncLazy cancellation by @majocha in #18211
- OpenTelemetry instrumentation for xUnit tests by @majocha in #18230
- Make nullness equivalent warning message clearer. by @isaacabraham in #18172
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #18226
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #18227
- Fix
fsi
auto-loading of script file inside NuGet package. by @teo-tsirpanis in #18177 - Fix #17797 -- Realsig+ generates nested closures with incorrect Generic arguments by @KevinRansom in #17877
- "#if" directive around nullness removed fromsrc/Compiler/DependencyManager/DependencyProvider.fs and refactored. by @progressive-galib in #18207
- Enable OpenTelemetry for Desktop target in xUnit tests by @majocha in #18233
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #18240
- Set Cancellable.token from async computation by @majocha in #18238
- Simplify Dependencies a tad by @KevinRansom in #18236
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #18242
- Added missing type constraints in FCS by @ncave in #18241
- Merge main to release/dev17.14 by @dotnet-bot in #18244
- Fix internal error when missing measure attribute in an unsolved measure typar by @edgarfgp in #18234
- Update
Obsolete
attribute checking to account fordiagnosticId
andurlFormat
properties by @edgarfgp in #18224 - Merge main to release/dev17.14 by @dotnet-bot in #18249
- Merge release/dev17.13 to main by @dotnet-bot in #18248
- Merge main to release/dev17.14 by @dotnet-bot in #18251
- Remove FSharpProjectOptions from Transparent Compiler check results by @0101 in #18205
- Update devcontainer .NET version + bump to latest fscore version by @vzarytovskii in #18257
- Merge main to release/dev17.14 by @dotnet-bot in #18258
- Took some fixes from FSharp.TypeProvider.SDK to TestTP. by @Thorium in #18252
- Pass restore config file arg to bootstrap build by @mmitche in #18260
- Merge main to release/dev17.14 by @dotnet-bot in #18264
Full Changelog: v13.9.201...v13.9.300-beta.25079.4
.NET 9.0.2
What's Changed
- Switch to new VMR control set by @mmitche in #17703
- Fix docs for F# language by @nojaf in #17750
- Fix17713 - Reverting PR - 17649 - Make the interaction between #line and #nowarn directives consistent by @KevinRansom in #17724
- ExcludeFromSourceBuild->ExcludeFromSourceOnlyBuild by @mmitche in #17754
- Make ILTypeDef interface calculation lazy by @DedSec256 in #17392
- FSI: make scripting temp directory one per session instead of global by @majocha in #17760
- Update Versions.props by @vzarytovskii in #17764
- reenable attribute usage in F# 9.0 by @KevinRansom in #17763
- Better ranges for CE
let!
anduse!
error reporting. by @edgarfgp in #17712 - Migrate VisualFSharp tests to Xunit by @psfinaki in #17751
- Removing Nunit from utils by @psfinaki in #17770
- Better error reporting for
CE
do!
by @edgarfgp in #17779 - Clean up FsUnit by @psfinaki in #17781
- Eradicate Nunit by @psfinaki in #17782
- Remove a bunch of dead test data by @psfinaki in #17771
- Ensure
frameworkTcImportsCache
mutations are threadsafe by @majocha in #17795 - Turn off realsig when building product and proto by @vzarytovskii in #17798
- Bugfix for extension methods: Treat System.Private.CoreLib as a system lib for extension method search by @T-Gro in #17799
- Better error reporting for
CE
match!
by @edgarfgp in #17789 - Fix 17786 - CompileBefore/CompileAfter is lost due to the FSharpSourceCodeCompileOrder target by @KevinRansom in #17791
- Respect generic arity in method uniqueness by @T-Gro in #17804
- Remove unused
useSyntaxTreeCache
option by @majocha in #17768 - Improve StartWithContinuations test in AsyncType tests by @majocha in #17767
- Rendering AllowsRefStruct for type parameters by @T-Gro in #17706
- Enable policheck and TSA by @vzarytovskii in #17818
- Fix concurrency issue in
ILPreTypeDefImpl
by @majocha in #17812 - Tests: remove dependency on CurrentDirectory ("test.ok" files) by @majocha in #17815
- CompilerOrder: set metadata for CompileFirst items by @auduchinok in #17820
- Nullness bugfix - change isObjTy early returns in ConstraintSolver by @T-Gro in #17757
- Allow decimal constants by @esbenbjerre in #17769
- Better error reporting for
return, yield, return! and yield!
by @edgarfgp in #17792 - Merge release/dev17.12 to main by @dotnet-bot in #17842
- 17.13 versioning by @vzarytovskii in #17844
- fix parsing table cache bug by @Martin521 in #17816
- Regression test for #14304 by @edgarfgp in #17839
- Merge release/dev17.12 to main by @dotnet-bot in #17851
- Merge release/dev17.12 to release/dev17.13 by @dotnet-bot in #17850
- Merge main to release/dev17.13 by @dotnet-bot in #17852
- Better error reporting for
use
by @edgarfgp in #17811 - make Assertions.withExitCode work by @Martin521 in #17830
- Localized file check-in by OneLocBuild Task: Build definition ID 499: Build ID 2555417 by @dotnet-bot in #17854
- Merge main to release/dev17.13 by @dotnet-bot in #17855
- Revamp decimal literal tests by @esbenbjerre in #17836
- Merge main to release/dev17.13 by @dotnet-bot in #17861
- Readability of lex.fsl by @Martin521 in #17817
- .NET 9rc2 by @vzarytovskii in #17860
- Merge release/dev17.12 to release/dev17.13 by @dotnet-bot in #17862
- Merge main to release/dev17.13 by @dotnet-bot in #17869
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17758
- Merge main to release/dev17.13 by @dotnet-bot in #17873
- Fix a link in release notes by @psfinaki in #17883
- Nullness bugfix :: could not assign null to member val property by @T-Gro in #17845
- Better
inherit
error reporting by @edgarfgp in #17879 - Asorted tests improvements by @majocha in #17840
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17875
- Merge main to release/dev17.13 by @dotnet-bot in #17885
- Better error range for
struct
and restricted super typesinherit
by @edgarfgp in #17886 - Update tools to latest versions by @vzarytovskii in #17889
- Merge main to release/dev17.13 by @dotnet-bot in #17890
- Update source-build team references by @MichaelSimons in #17894
- Merge main to release/dev17.13 by @dotnet-bot in #17892
- RFC FS-1033: Deprecate places where
seq
can be omitted by @edgarfgp in #17772 - Merge main to release/dev17.13 by @dotnet-bot in #17895
- Rename SourceBuildUseMonoRuntime property, which is not SB specific by @directhex in #17778
- Merge release/dev17.12 to release/dev17.13 by @dotnet-bot in #17910
- Merge main to release/dev17.13 by @dotnet-bot in #17908
- Convert OCE to empty value on certain VS operations by @0101 in #17906
- Merge release/dev17.12 to main by @dotnet-bot in #17863
- [main] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro in #17891
- Localized file check-in by OneLocBuild Task: Build definition ID 499: Build ID 2567162 by @dotnet-bot in #17912
- Merge release/dev17.12 to main by @dotnet-bot in #17913
- Preserve console encoding when using --utf8output switch without swapping console streams by @majocha in #17761
- Fix Internal error when analysing incomplete inherit member by @edgarfgp in #17905
- Disallow abstract member with access modifiers in sig file by @ijklam in #17802
- Restore AwaitTaskCancellationAfterAsyncTokenCancellation test to original shape by @majocha in #17923
- Better ranges for implicit
inherit
error reporting. by @edgarfgp in #17893 - Fix potential OCE in graph processing by @majocha in #17921
- Merge main to release/dev17.13 by @dotnet-bot in #17914
- [main] Update dependencies from dnceng/internal/dotnet-optimization by @dotnet-maestro in #17919
- Merge main to release/dev17.13 by @dotnet-bot in #17926
- Fix missing TailCall warning in Sequential in use scope, #17897 by @dawedawe in #17927
- Merge main to release/dev17.13 by @dotnet-bot in #17936
- Fix Post on disposed mailbox (#17849) by @majocha in #17922
- Fix #17501 by @vzarytovskii in #17668
- simplify the code for diagnostics severity adjustment by @Martin521 in #17896
- Merge main to release/dev17.13 by @dotnet-bot in #17941
- Merge main to release/dev17.13 by @dotnet-bot in #17947
- fix OriginalLine processing in lexing by @Martin521 in #17949
- Merge main to release/dev17.13 by @dotnet-bot in #17954
- Warnings for invalid #nowarn arguments by @Martin521 in #17871
- Warn on uppercase identifiers in patterns. by @edgarfgp in #15816
- Enable parallel compilation features for users of LangVersion=preview by @t...
.NET 9.0.1
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# - <N...
.NET 9.0.0
What's Changed
- 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
Full Changelog: v12.9.100-beta.24466.6...v12.9.100-beta.24522.2