<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs" -->

---
title: Announcing New Features in F# 10 and C# 14 with .NET 10
description: F# 10 ships with .NET 10, bringing ergonomic improvements and performance optimizations without major breaking changes. Key enhancements include scoped warning...
canonical: https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Announcing New Features in F# 10 and C# 14 with .NET 10 | daily.dev
og:description: F# 10 ships with .NET 10, bringing ergonomic improvements and performance optimizations without major breaking changes. Key enhancements include scoped warning...
og:url: https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs
og:image: https://api.daily.dev/og/posts/sGvS6HcGS.png
og:image:alt: Announcing New Features in F# 10 and C# 14 with .NET 10
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Announcing New Features in F# 10 and C# 14 with .NET 10

**[Collections](https://daily.dev/sources/collections)** · 2 min read · 10 upvotes · 0 comments

## Summary

F# 10 ships with .NET 10, bringing ergonomic improvements and performance optimizations without major breaking changes. Key enhancements include scoped warning suppression, auto property access modifiers, ValueOption for optional parameters to reduce heap allocations, tail-call optimization for computation expressions, concurrent awaiting in task expressions with the and! keyword, improved compiler performance through type subsumption caching, parallel compilation in preview mode, and better trimming support for smaller assemblies.

## Content

# Introducing F# 10 with .NET 10 Enhancements

F# 10, shipping alongside .NET 10, focuses on refining performance and developer experience enhancements without introducing major new features. The update presents several ergonomic improvements, significantly improving development workflows.

## Key Features and Improvements

### Scoped Warning Suppression
F# 10 introduces scoped warning suppression using the `#warnon` and `#nowarn` directives. This feature provides developers with more control over warning visibility, allowing them to manage warnings at a finer level.

### Auto Property Access Modifiers
The language extension allows for distinct access modifiers on auto property accessors, giving developers greater flexibility in encapsulating and managing their code.

### ValueOption for Optional Parameters
F# 10 introduces `ValueOption` as a struct-based solution for optional parameters. This reduces heap allocations, improving runtime performance and efficiency.

### Tail-Call Optimization
Computation expressions in F# now benefit from tail-call optimization, enabling more efficient recursion patterns and reducing function call overheads.

### Task Computation Expressions
Task computation expressions now support concurrent awaiting with the `and!` keyword, facilitating more efficient asynchronous operations.

### Improved Syntax and Compilation
There are several improvements in syntax and compilation processes:
- Cleaner syntax for type annotations in computation expressions.
- Enhanced compiler performance through a new type subsumption cache, speeding up compilation times and improving IDE responsiveness.
- Parallel compilation features are now grouped under a single property and are available in preview mode by default.

### Better Trimming and Assembly Management
Improved trimming support allows for smaller, more efficient published output assemblies.

## Conclusion
F# 10 emphasizes performance enhancements and developer-friendly features, focusing on ergonomic improvements and minimal breaking changes. The integration of efficient compilation and runtime optimizations ensures that F# remains a competitive and productive choice within the .NET ecosystem.

---

Tags: [#c#](https://daily.dev/tags/c#), [#fsharp](https://daily.dev/tags/fsharp), [#.net](https://daily.dev/tags/.net), [#performance](https://daily.dev/tags/performance)

[View this post on daily.dev](https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Announcing New Features in F# 10 and C# 14 with .NET 10","url":"https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs"},"datePublished":"2025-11-17T18:06:19.122Z","dateModified":"2026-05-14T02:14:29.089Z","description":"F# 10 ships with .NET 10, bringing ergonomic improvements and performance optimizations without major breaking changes. Key enhancements include scoped warning...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2d0ee4bc57d947b936a78e9ecb7e7b18?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2d0ee4bc57d947b936a78e9ecb7e7b18?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Collections","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collections","logo":"https://media.daily.dev/image/upload/s--fk_6ycEi--/f_auto,q_auto/v1780996001/logos/collections?_a=BAMAMiWQ0","url":"https://daily.dev/sources/collections"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/announcing-new-features-in-f-10-and-c-14-with-net-10-sgvs6hcgs","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":10},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"c#,fsharp,.net,performance","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collections","item":"https://daily.dev/sources/collections"},{"@type":"ListItem","position":3,"name":"Announcing New Features in F# 10 and C# 14 with .NET 10"}]}
```

