Language Feature Status
This document reflects the status, and planned work in progress, for the compiler team. It is a live document
and will be updated as work progresses, features are added / removed, and as work on feature progresses.
This is not an exhaustive list of our features but rather the ones which have active development
efforts behind them.
C# Next
Feature
Branch
State
Developer
Reviewer
LDM Champ
DIM for Static Members
DefaultInterfaceImplementation
Merged into 17.3p2
AlekseyTs
333fred , jcouv
MadsTorgersen
Numeric IntPtr
numeric-intptr
Merged into 17.3p2
jcouv
cston , 333fred
jcouv
Unsigned Right Shift
UnsignedRightShift
Merged into 17.3p1
AlekseyTs
333fred , jcouv
AlekseyTs
Utf8 String Literals
Utf8StringLiterals
Merged into 17.3p1
AlekseyTs
cston , RikkiGibson
MadsTorgersen
Pattern matching on ReadOnlySpan<char>
patterns-span-char
Merged into 17.3p1
YairHalberstadt
cston , RikkiGibson
jcouv
Checked Operators
CheckedUserDefinedOperators
Merged into 17.3p1
AlekseyTs
333fred , chsienki
AlekseyTs
auto-default structs
main
Merged into 17.3p1
RikkiGibson
cston , jcouv
Newlines in interpolations
main
Merged in 17.1p1
CyrusNajmabadi
jcouv , chsienki
CyrusNajmabadi
List patterns
list-patterns
Merged in 17.1p2
alrz
jcouv , 333fred
333fred
Raw string literals
RawStringLiterals
Merged into 17.2
CyrusNajmabadi
jcouv
CyrusNajmabadi
Cache delegates for static method group
main
Merged into 17.2
pawchen
AlekseyTs , jcouv
AlekseyTs
nameof(parameter)
main
Merged into 17.3p2
jcouv
AlekseyTs , RikkiGibson
jcouv
Relaxing Shift Operator
main
Merged into 17.3p2
AlekseyTs
333fred , jcouv
MadsTorgersen
Relax ordering of ref
and partial
modifiers
ref-partial
In Progress
alrz
gafter
jcouv
Generic attributes
generic-attributes
Merged into 17.0p4 (preview langver)
AviAvni
RikkiGibson , jcouv
mattwar
Default in deconstruction
decon-default
Implemented
jcouv
gafter
jcouv
Semi-auto-properties
semi-auto-props
In Progress
Youssef1313
333fred , RikkiGibson
CyrusNajmabadi
Required members
main
Merged into 17.3p2
333fred
jcouv , RikkiGibson
333fred
Top Level statement attribute specifiers
main-attributes
In Progress
chsienki
cston , 333fred
jaredpar
Primary Constructors
primary-constructors
In Progress
TBD
TBD
MadsTorgersen
Params Span<T> + Stackalloc any array type
params-span
In Progress
cston
TBD
jaredpar
nameof accessing instance members
main
In Progress
YairHalberstadt
333fred , AlekseyTs
333fred
ref fields
ref-fields
Merged into 17.3p3
cston
RikkiGibson , AlekseyTs
jaredpar
File types
file-types
In Progress
RikkiGibson
jcouv , cston
stephentoub
C# 10.0
Feature
Branch
State
Developer
Reviewer
LDM Champ
Record structs
record-structs
Merged into 16.11
jcouv
AlekseyTs , RikkiGibson
jcouv
Global Using Directive
GlobalUsingDirective
Merged into 16.11
AlekseyTs
333fred , cston
AlekseyTs
Improved Definite Assignment
improved-definite-assignment
Merged into 17.0
RikkiGibson
jcouv
jaredpar
Constant Interpolated Strings
main
Merged into 16.9p3
kevinsun-dev
333fred
jaredar , agocke
Extended property patterns
extended-property-patterns
Merged into 17.0
alrz
jcouv , 333fred
333fred
Sealed record ToString
main
Merged
thomaslevesque
jcouv
333fred
Source Generator V2 APIs
features/source-generators
Merged into 17.0p2
chsienki
rikkigibson , jaredpar , cston
N/A
Mix declarations and variables in deconstruction
main
Merged into 16.10
YairHalberstadt
jcouv
MadsTorgersen
Async method builder override
main
Merged into 17.0p2
jcouv
cston , RikkiGibson
stephentoub
Enhanced #line
directive
main
Merged into 17.0p2
cston
jcouv , RikkiGibson
MadsTorgersen
Lambda improvements
main
Merged into 17.0p2
cston
333fred , jcouv
jaredpar
Static Abstract Members In Interfaces C# 10 Preview
main
Merged into 17.0p2
AlekseyTs
333fred , RikkiGibson
MadsTorgersen
Interpolated string improvements
main
Merged into 17.0p3
333fred
AlekseyTs , chsienki
jaredpar
File-scoped namespace
main
Merged into 17.0p3
RikkiGibson
jcouv , chsienki
CyrusNajmabadi
Parameterless struct constructors
struct-ctors
Merged into 17.0p3
cston
jcouv , 333fred
jcouv
Caller expression attribute
main
Merged into 17.0p3
Youssef1313
333fred ,AlekseyTs
jcouv
VB 17.0
VB 16.9
C# 9
C# 8.0
VB 16.0
C# 7.3
C# 7.2 fixes
C# 7.2
C# 7.1
FAQ
Is target version a guarantee? : No. It's explicitly not a guarantee. This is just the planned and ongoing work to the best of our knowledge at this time.
Where are these State values defined? : Take a look at the Developing a Language Feature document.